espial/static/js/app.min.js.map
2024-02-09 23:44:06 +01:00

8 lines
2 MiB

{
"version": 3,
"sources": ["../node_modules/moment/moment.js", "../node_modules/dompurify/src/utils.js", "../node_modules/dompurify/src/tags.js", "../node_modules/dompurify/src/attrs.js", "../node_modules/dompurify/src/regexp.js", "../node_modules/dompurify/src/purify.js", "../output/Main/index.js", "../output/Affjax/foreign.js", "../output/Data.Functor/foreign.js", "../output/Control.Semigroupoid/index.js", "../output/Control.Category/index.js", "../output/Data.Boolean/index.js", "../output/Data.Function/index.js", "../output/Type.Proxy/index.js", "../output/Data.Functor/index.js", "../output/Data.Semigroup/foreign.js", "../output/Data.Symbol/index.js", "../output/Data.Void/index.js", "../output/Record.Unsafe/foreign.js", "../output/Data.Semigroup/index.js", "../output/Control.Alt/index.js", "../output/Control.Apply/foreign.js", "../output/Control.Apply/index.js", "../output/Control.Applicative/index.js", "../output/Data.Bounded/foreign.js", "../output/Data.Ord/foreign.js", "../output/Data.Eq/foreign.js", "../output/Data.Eq/index.js", "../output/Data.Ordering/index.js", "../output/Data.Ring/foreign.js", "../output/Data.Semiring/foreign.js", "../output/Data.Semiring/index.js", "../output/Data.Ring/index.js", "../output/Data.Ord/index.js", "../output/Data.Bounded/index.js", "../output/Data.Show/foreign.js", "../output/Data.Show/index.js", "../output/Data.Maybe/index.js", "../output/Data.MediaType.Common/index.js", "../output/Affjax.RequestBody/index.js", "../output/Unsafe.Coerce/foreign.js", "../output/Safe.Coerce/index.js", "../output/Data.Newtype/index.js", "../output/Affjax.RequestHeader/index.js", "../output/Affjax.ResponseFormat/index.js", "../output/Affjax.ResponseHeader/index.js", "../output/Control.Bind/foreign.js", "../output/Control.Bind/index.js", "../output/Data.Either/index.js", "../output/Effect/foreign.js", "../output/Control.Monad/index.js", "../output/Data.EuclideanRing/foreign.js", "../output/Data.CommutativeRing/index.js", "../output/Data.EuclideanRing/index.js", "../output/Data.Monoid/index.js", "../output/Effect/index.js", "../output/Effect.Exception/foreign.js", "../output/Effect.Exception/index.js", "../output/Control.Monad.Error.Class/index.js", "../output/Data.Identity/index.js", "../output/Effect.Ref/foreign.js", "../output/Effect.Ref/index.js", "../output/Control.Monad.Rec.Class/index.js", "../output/Data.HeytingAlgebra/foreign.js", "../output/Data.HeytingAlgebra/index.js", "../output/Data.Tuple/index.js", "../output/Control.Monad.State.Class/index.js", "../output/Effect.Class/index.js", "../output/Control.Monad.Except.Trans/index.js", "../output/Control.Monad.Except/index.js", "../output/Data.Argonaut.Core/foreign.js", "../output/Foreign.Object/foreign.js", "../output/Data.Array/foreign.js", "../output/Data.Array.ST/foreign.js", "../output/Data.Array.ST/index.js", "../output/Data.Foldable/foreign.js", "../output/Control.Plus/index.js", "../output/Data.Bifunctor/index.js", "../output/Data.Monoid.Disj/index.js", "../output/Data.Foldable/index.js", "../output/Data.Traversable/foreign.js", "../output/Data.Traversable/index.js", "../output/Data.Unfoldable/foreign.js", "../output/Data.Unfoldable1/foreign.js", "../output/Data.Unfoldable1/index.js", "../output/Data.Unfoldable/index.js", "../output/Data.Array/index.js", "../output/Data.Function.Uncurried/foreign.js", "../output/Data.TraversableWithIndex/index.js", "../output/Foreign.Object.ST/foreign.js", "../output/Foreign.Object/index.js", "../output/Data.Argonaut.Core/index.js", "../output/Data.Argonaut.Parser/foreign.js", "../output/Data.Argonaut.Parser/index.js", "../output/Data.String.Common/foreign.js", "../output/Data.String.Common/index.js", "../output/JSURI/foreign.js", "../output/JSURI/index.js", "../output/Data.FormURLEncoded/index.js", "../output/Data.HTTP.Method/index.js", "../output/Data.NonEmpty/index.js", "../output/Data.List.Types/index.js", "../output/Data.List/index.js", "../output/Partial.Unsafe/foreign.js", "../output/Partial/foreign.js", "../output/Partial/index.js", "../output/Partial.Unsafe/index.js", "../output/Data.List.NonEmpty/index.js", "../output/Data.Nullable/foreign.js", "../output/Data.Nullable/index.js", "../output/Effect.Aff/foreign.js", "../output/Data.Profunctor/index.js", "../output/Control.Parallel.Class/index.js", "../output/Control.Parallel/index.js", "../output/Effect.Unsafe/foreign.js", "../output/Effect.Aff/index.js", "../output/Effect.Aff.Compat/index.js", "../output/Foreign/foreign.js", "../output/Data.Int/foreign.js", "../output/Data.Number/foreign.js", "../output/Data.Int/index.js", "../output/Data.String.CodeUnits/foreign.js", "../output/Data.String.Unsafe/foreign.js", "../output/Data.String.CodeUnits/index.js", "../output/Foreign/index.js", "../output/Affjax/index.js", "../output/Affjax.StatusCode/index.js", "../output/Affjax.Web/foreign.js", "../output/Affjax.Web/index.js", "../output/Data.Argonaut.Decode.Error/index.js", "../output/Data.Array.NonEmpty.Internal/foreign.js", "../output/Data.Map.Internal/index.js", "../output/Data.String.CodePoints/foreign.js", "../output/Data.Enum/foreign.js", "../output/Data.Enum/index.js", "../output/Data.String.CodePoints/index.js", "../output/Data.Argonaut.Decode.Decoders/index.js", "../output/Record/index.js", "../output/Data.Argonaut.Decode.Class/index.js", "../output/Globals/foreign.js", "../output/Globals/index.js", "../output/Simple.JSON/foreign.js", "../output/Foreign.Index/foreign.js", "../output/Foreign.Index/index.js", "../output/Record.Builder/foreign.js", "../output/Record.Builder/index.js", "../output/Simple.JSON/index.js", "../output/Model/index.js", "../output/Web.HTML/foreign.js", "../output/Web.HTML.Common/index.js", "../output/Web.HTML.HTMLDocument/foreign.js", "../output/Web.HTML.HTMLDocument/index.js", "../output/Web.HTML.HTMLElement/foreign.js", "../output/Web.HTML.HTMLElement/index.js", "../output/Web.HTML.Location/foreign.js", "../output/Web.HTML.Window/foreign.js", "../output/App/index.js", "../output/DOM.HTML.Indexed.InputType/index.js", "../output/Data.Lens.Internal.Forget/index.js", "../output/Data.Profunctor.Strong/index.js", "../output/Data.Lens.Getter/index.js", "../output/Data.Lens.Lens/index.js", "../output/Data.Lens.Setter/index.js", "../output/Effect.Aff.Class/index.js", "../output/Data.Exists/index.js", "../output/Data.Coyoneda/index.js", "../output/Halogen.Data.OrdBox/index.js", "../output/Halogen.Data.Slot/index.js", "../output/DOM.HTML.Indexed.AutocompleteType/index.js", "../output/DOM.HTML.Indexed.ButtonType/index.js", "../output/Halogen.Query.Input/index.js", "../output/Halogen.VDom.Machine/index.js", "../output/Halogen.VDom.Types/index.js", "../output/Halogen.VDom.Util/foreign.js", "../output/Halogen.VDom.Util/index.js", "../output/Web.DOM.Element/foreign.js", "../output/Web.DOM.ParentNode/foreign.js", "../output/Web.DOM.ParentNode/index.js", "../output/Web.DOM.Element/index.js", "../output/Halogen.VDom.DOM/index.js", "../output/Web.Event.EventTarget/foreign.js", "../output/Halogen.VDom.DOM.Prop/index.js", "../output/Halogen.HTML.Core/index.js", "../output/Control.Applicative.Free/index.js", "../output/Data.CatQueue/index.js", "../output/Data.CatList/index.js", "../output/Control.Monad.Free/index.js", "../output/Halogen.Query.ChildQuery/index.js", "../output/Unsafe.Reference/foreign.js", "../output/Unsafe.Reference/index.js", "../output/Halogen.Subscription/index.js", "../output/Halogen.Query.HalogenM/index.js", "../output/Halogen.Query.HalogenQ/index.js", "../output/Halogen.VDom.Thunk/index.js", "../output/Halogen.Component/index.js", "../output/Halogen.HTML.Elements/index.js", "../output/Web.Event.Event/foreign.js", "../output/Web.Event.Event/index.js", "../output/Web.HTML.Event.EventTypes/index.js", "../output/Web.UIEvent.MouseEvent.EventTypes/index.js", "../output/Halogen.HTML.Events/index.js", "../output/Halogen.HTML.Properties/index.js", "../output/Web.DOM.Document/foreign.js", "../output/Util/index.js", "../output/Component.AccountSettings/index.js", "../output/Effect.Console/foreign.js", "../output/Component.Add/index.js", "../output/Component.RawHtml/foreign.js", "../output/Halogen.Query/index.js", "../output/Component.RawHtml/index.js", "../node_modules/marked/lib/marked.esm.js", "../output/Foreign.Marked/foreign.js", "../output/Foreign.Marked/index.js", "../output/Component.Markdown/index.js", "../output/Effect.Class.Console/index.js", "../output/Halogen.HTML/index.js", "../output/Component.BMark/index.js", "../output/Component.BList/index.js", "../output/Component.NList/index.js", "../output/Component.NNote/index.js", "../output/Component.TagCloud/index.js", "../output/Halogen.Aff.Util/index.js", "../output/Control.Monad.Fork.Class/index.js", "../output/Halogen.Aff.Driver.State/index.js", "../output/Halogen.Aff.Driver.Eval/index.js", "../output/Halogen.Aff.Driver/index.js", "../output/Web.DOM.Node/foreign.js", "../output/Web.DOM.Node/index.js", "../output/Halogen.VDom.Driver/index.js"],
"sourcesContent": ["//! moment.js\n//! version : 2.29.3\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m),\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n }),\n isNowValid =\n !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n return mom.isValid()\n ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()\n : NaN;\n }\n\n function set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (\n unit === 'FullYear' &&\n isLeapYear(mom.year()) &&\n mom.month() === 1 &&\n mom.date() === 29\n ) {\n value = toInt(value);\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](\n value,\n mom.month(),\n daysInMonth(value, mom.month())\n );\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n );\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n return name.match('^[^/\\\\\\\\]*$') != null;\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^)]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n namePieces.push(regexEscape(eras[i].name));\n abbrPieces.push(regexEscape(eras[i].abbr));\n narrowPieces.push(regexEscape(eras[i].narrow));\n\n mixedPieces.push(regexEscape(eras[i].name));\n mixedPieces.push(regexEscape(eras[i].abbr));\n mixedPieces.push(regexEscape(eras[i].narrow));\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n );\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y');\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.29.3';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type=\"datetime-local\" />\n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type=\"datetime-local\" step=\"1\" />\n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type=\"datetime-local\" step=\"0.001\" />\n DATE: 'YYYY-MM-DD', // <input type=\"date\" />\n TIME: 'HH:mm', // <input type=\"time\" />\n TIME_SECONDS: 'HH:mm:ss', // <input type=\"time\" step=\"1\" />\n TIME_MS: 'HH:mm:ss.SSS', // <input type=\"time\" step=\"0.001\" />\n WEEK: 'GGGG-[W]WW', // <input type=\"week\" />\n MONTH: 'YYYY-MM', // <input type=\"month\" />\n };\n\n return hooks;\n\n})));\n", "const {\n hasOwnProperty,\n setPrototypeOf,\n isFrozen,\n getPrototypeOf,\n getOwnPropertyDescriptor,\n} = Object;\n\nlet { freeze, seal, create } = Object; // eslint-disable-line import/no-mutable-exports\nlet { apply, construct } = typeof Reflect !== 'undefined' && Reflect;\n\nif (!apply) {\n apply = function (fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n}\n\nif (!freeze) {\n freeze = function (x) {\n return x;\n };\n}\n\nif (!seal) {\n seal = function (x) {\n return x;\n };\n}\n\nif (!construct) {\n construct = function (Func, args) {\n return new Func(...args);\n };\n}\n\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayIndexOf = unapply(Array.prototype.indexOf);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nconst arraySlice = unapply(Array.prototype.slice);\n\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\n\nconst regExpTest = unapply(RegExp.prototype.test);\n\nconst typeErrorCreate = unconstruct(TypeError);\n\nexport function unapply(func) {\n return (thisArg, ...args) => apply(func, thisArg, args);\n}\n\nexport function unconstruct(func) {\n return (...args) => construct(func, args);\n}\n\n/* Add properties to a lookup table */\nexport function addToSet(set, array) {\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n\n let l = array.length;\n while (l--) {\n let element = array[l];\n if (typeof element === 'string') {\n const lcElement = stringToLowerCase(element);\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n\n element = lcElement;\n }\n }\n\n set[element] = true;\n }\n\n return set;\n}\n\n/* Shallow clone an object */\nexport function clone(object) {\n const newObject = create(null);\n\n let property;\n for (property in object) {\n if (apply(hasOwnProperty, object, [property])) {\n newObject[property] = object[property];\n }\n }\n\n return newObject;\n}\n\n/* IE10 doesn't support __lookupGetter__ so lets'\n * simulate it. It also automatically checks\n * if the prop is function or getter and behaves\n * accordingly. */\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n const desc = getOwnPropertyDescriptor(object, prop);\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n\n object = getPrototypeOf(object);\n }\n\n function fallbackValue(element) {\n console.warn('fallback value for', element);\n return null;\n }\n\n return fallbackValue;\n}\n\nexport {\n // Array\n arrayForEach,\n arrayIndexOf,\n arrayPop,\n arrayPush,\n arraySlice,\n // Object\n freeze,\n getPrototypeOf,\n getOwnPropertyDescriptor,\n hasOwnProperty,\n isFrozen,\n setPrototypeOf,\n seal,\n // RegExp\n regExpTest,\n // String\n stringIndexOf,\n stringMatch,\n stringReplace,\n stringToLowerCase,\n stringTrim,\n // Errors\n typeErrorCreate,\n // Other\n lookupGetter,\n};\n", "import { freeze } from './utils.js';\n\nexport const html = freeze([\n 'a',\n 'abbr',\n 'acronym',\n 'address',\n 'area',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'bdi',\n 'bdo',\n 'big',\n 'blink',\n 'blockquote',\n 'body',\n 'br',\n 'button',\n 'canvas',\n 'caption',\n 'center',\n 'cite',\n 'code',\n 'col',\n 'colgroup',\n 'content',\n 'data',\n 'datalist',\n 'dd',\n 'decorator',\n 'del',\n 'details',\n 'dfn',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'element',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'font',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hgroup',\n 'hr',\n 'html',\n 'i',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'main',\n 'map',\n 'mark',\n 'marquee',\n 'menu',\n 'menuitem',\n 'meter',\n 'nav',\n 'nobr',\n 'ol',\n 'optgroup',\n 'option',\n 'output',\n 'p',\n 'picture',\n 'pre',\n 'progress',\n 'q',\n 'rp',\n 'rt',\n 'ruby',\n 's',\n 'samp',\n 'section',\n 'select',\n 'shadow',\n 'small',\n 'source',\n 'spacer',\n 'span',\n 'strike',\n 'strong',\n 'style',\n 'sub',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'template',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'track',\n 'tt',\n 'u',\n 'ul',\n 'var',\n 'video',\n 'wbr',\n]);\n\n// SVG\nexport const svg = freeze([\n 'svg',\n 'a',\n 'altglyph',\n 'altglyphdef',\n 'altglyphitem',\n 'animatecolor',\n 'animatemotion',\n 'animatetransform',\n 'circle',\n 'clippath',\n 'defs',\n 'desc',\n 'ellipse',\n 'filter',\n 'font',\n 'g',\n 'glyph',\n 'glyphref',\n 'hkern',\n 'image',\n 'line',\n 'lineargradient',\n 'marker',\n 'mask',\n 'metadata',\n 'mpath',\n 'path',\n 'pattern',\n 'polygon',\n 'polyline',\n 'radialgradient',\n 'rect',\n 'stop',\n 'style',\n 'switch',\n 'symbol',\n 'text',\n 'textpath',\n 'title',\n 'tref',\n 'tspan',\n 'view',\n 'vkern',\n]);\n\nexport const svgFilters = freeze([\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feDistantLight',\n 'feFlood',\n 'feFuncA',\n 'feFuncB',\n 'feFuncG',\n 'feFuncR',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMergeNode',\n 'feMorphology',\n 'feOffset',\n 'fePointLight',\n 'feSpecularLighting',\n 'feSpotLight',\n 'feTile',\n 'feTurbulence',\n]);\n\n// List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\nexport const svgDisallowed = freeze([\n 'animate',\n 'color-profile',\n 'cursor',\n 'discard',\n 'fedropshadow',\n 'font-face',\n 'font-face-format',\n 'font-face-name',\n 'font-face-src',\n 'font-face-uri',\n 'foreignobject',\n 'hatch',\n 'hatchpath',\n 'mesh',\n 'meshgradient',\n 'meshpatch',\n 'meshrow',\n 'missing-glyph',\n 'script',\n 'set',\n 'solidcolor',\n 'unknown',\n 'use',\n]);\n\nexport const mathMl = freeze([\n 'math',\n 'menclose',\n 'merror',\n 'mfenced',\n 'mfrac',\n 'mglyph',\n 'mi',\n 'mlabeledtr',\n 'mmultiscripts',\n 'mn',\n 'mo',\n 'mover',\n 'mpadded',\n 'mphantom',\n 'mroot',\n 'mrow',\n 'ms',\n 'mspace',\n 'msqrt',\n 'mstyle',\n 'msub',\n 'msup',\n 'msubsup',\n 'mtable',\n 'mtd',\n 'mtext',\n 'mtr',\n 'munder',\n 'munderover',\n]);\n\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nexport const mathMlDisallowed = freeze([\n 'maction',\n 'maligngroup',\n 'malignmark',\n 'mlongdiv',\n 'mscarries',\n 'mscarry',\n 'msgroup',\n 'mstack',\n 'msline',\n 'msrow',\n 'semantics',\n 'annotation',\n 'annotation-xml',\n 'mprescripts',\n 'none',\n]);\n\nexport const text = freeze(['#text']);\n", "import { freeze } from './utils.js';\n\nexport const html = freeze([\n 'accept',\n 'action',\n 'align',\n 'alt',\n 'autocapitalize',\n 'autocomplete',\n 'autopictureinpicture',\n 'autoplay',\n 'background',\n 'bgcolor',\n 'border',\n 'capture',\n 'cellpadding',\n 'cellspacing',\n 'checked',\n 'cite',\n 'class',\n 'clear',\n 'color',\n 'cols',\n 'colspan',\n 'controls',\n 'controlslist',\n 'coords',\n 'crossorigin',\n 'datetime',\n 'decoding',\n 'default',\n 'dir',\n 'disabled',\n 'disablepictureinpicture',\n 'disableremoteplayback',\n 'download',\n 'draggable',\n 'enctype',\n 'enterkeyhint',\n 'face',\n 'for',\n 'headers',\n 'height',\n 'hidden',\n 'high',\n 'href',\n 'hreflang',\n 'id',\n 'inputmode',\n 'integrity',\n 'ismap',\n 'kind',\n 'label',\n 'lang',\n 'list',\n 'loading',\n 'loop',\n 'low',\n 'max',\n 'maxlength',\n 'media',\n 'method',\n 'min',\n 'minlength',\n 'multiple',\n 'muted',\n 'name',\n 'nonce',\n 'noshade',\n 'novalidate',\n 'nowrap',\n 'open',\n 'optimum',\n 'pattern',\n 'placeholder',\n 'playsinline',\n 'poster',\n 'preload',\n 'pubdate',\n 'radiogroup',\n 'readonly',\n 'rel',\n 'required',\n 'rev',\n 'reversed',\n 'role',\n 'rows',\n 'rowspan',\n 'spellcheck',\n 'scope',\n 'selected',\n 'shape',\n 'size',\n 'sizes',\n 'span',\n 'srclang',\n 'start',\n 'src',\n 'srcset',\n 'step',\n 'style',\n 'summary',\n 'tabindex',\n 'title',\n 'translate',\n 'type',\n 'usemap',\n 'valign',\n 'value',\n 'width',\n 'xmlns',\n 'slot',\n]);\n\nexport const svg = freeze([\n 'accent-height',\n 'accumulate',\n 'additive',\n 'alignment-baseline',\n 'ascent',\n 'attributename',\n 'attributetype',\n 'azimuth',\n 'basefrequency',\n 'baseline-shift',\n 'begin',\n 'bias',\n 'by',\n 'class',\n 'clip',\n 'clippathunits',\n 'clip-path',\n 'clip-rule',\n 'color',\n 'color-interpolation',\n 'color-interpolation-filters',\n 'color-profile',\n 'color-rendering',\n 'cx',\n 'cy',\n 'd',\n 'dx',\n 'dy',\n 'diffuseconstant',\n 'direction',\n 'display',\n 'divisor',\n 'dur',\n 'edgemode',\n 'elevation',\n 'end',\n 'fill',\n 'fill-opacity',\n 'fill-rule',\n 'filter',\n 'filterunits',\n 'flood-color',\n 'flood-opacity',\n 'font-family',\n 'font-size',\n 'font-size-adjust',\n 'font-stretch',\n 'font-style',\n 'font-variant',\n 'font-weight',\n 'fx',\n 'fy',\n 'g1',\n 'g2',\n 'glyph-name',\n 'glyphref',\n 'gradientunits',\n 'gradienttransform',\n 'height',\n 'href',\n 'id',\n 'image-rendering',\n 'in',\n 'in2',\n 'k',\n 'k1',\n 'k2',\n 'k3',\n 'k4',\n 'kerning',\n 'keypoints',\n 'keysplines',\n 'keytimes',\n 'lang',\n 'lengthadjust',\n 'letter-spacing',\n 'kernelmatrix',\n 'kernelunitlength',\n 'lighting-color',\n 'local',\n 'marker-end',\n 'marker-mid',\n 'marker-start',\n 'markerheight',\n 'markerunits',\n 'markerwidth',\n 'maskcontentunits',\n 'maskunits',\n 'max',\n 'mask',\n 'media',\n 'method',\n 'mode',\n 'min',\n 'name',\n 'numoctaves',\n 'offset',\n 'operator',\n 'opacity',\n 'order',\n 'orient',\n 'orientation',\n 'origin',\n 'overflow',\n 'paint-order',\n 'path',\n 'pathlength',\n 'patterncontentunits',\n 'patterntransform',\n 'patternunits',\n 'points',\n 'preservealpha',\n 'preserveaspectratio',\n 'primitiveunits',\n 'r',\n 'rx',\n 'ry',\n 'radius',\n 'refx',\n 'refy',\n 'repeatcount',\n 'repeatdur',\n 'restart',\n 'result',\n 'rotate',\n 'scale',\n 'seed',\n 'shape-rendering',\n 'specularconstant',\n 'specularexponent',\n 'spreadmethod',\n 'startoffset',\n 'stddeviation',\n 'stitchtiles',\n 'stop-color',\n 'stop-opacity',\n 'stroke-dasharray',\n 'stroke-dashoffset',\n 'stroke-linecap',\n 'stroke-linejoin',\n 'stroke-miterlimit',\n 'stroke-opacity',\n 'stroke',\n 'stroke-width',\n 'style',\n 'surfacescale',\n 'systemlanguage',\n 'tabindex',\n 'targetx',\n 'targety',\n 'transform',\n 'transform-origin',\n 'text-anchor',\n 'text-decoration',\n 'text-rendering',\n 'textlength',\n 'type',\n 'u1',\n 'u2',\n 'unicode',\n 'values',\n 'viewbox',\n 'visibility',\n 'version',\n 'vert-adv-y',\n 'vert-origin-x',\n 'vert-origin-y',\n 'width',\n 'word-spacing',\n 'wrap',\n 'writing-mode',\n 'xchannelselector',\n 'ychannelselector',\n 'x',\n 'x1',\n 'x2',\n 'xmlns',\n 'y',\n 'y1',\n 'y2',\n 'z',\n 'zoomandpan',\n]);\n\nexport const mathMl = freeze([\n 'accent',\n 'accentunder',\n 'align',\n 'bevelled',\n 'close',\n 'columnsalign',\n 'columnlines',\n 'columnspan',\n 'denomalign',\n 'depth',\n 'dir',\n 'display',\n 'displaystyle',\n 'encoding',\n 'fence',\n 'frame',\n 'height',\n 'href',\n 'id',\n 'largeop',\n 'length',\n 'linethickness',\n 'lspace',\n 'lquote',\n 'mathbackground',\n 'mathcolor',\n 'mathsize',\n 'mathvariant',\n 'maxsize',\n 'minsize',\n 'movablelimits',\n 'notation',\n 'numalign',\n 'open',\n 'rowalign',\n 'rowlines',\n 'rowspacing',\n 'rowspan',\n 'rspace',\n 'rquote',\n 'scriptlevel',\n 'scriptminsize',\n 'scriptsizemultiplier',\n 'selection',\n 'separator',\n 'separators',\n 'stretchy',\n 'subscriptshift',\n 'supscriptshift',\n 'symmetric',\n 'voffset',\n 'width',\n 'xmlns',\n]);\n\nexport const xml = freeze([\n 'xlink:href',\n 'xml:id',\n 'xlink:title',\n 'xml:space',\n 'xmlns:xlink',\n]);\n", "import { seal } from './utils.js';\n\n// eslint-disable-next-line unicorn/better-regex\nexport const MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\nexport const ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\nexport const DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/); // eslint-disable-line no-useless-escape\nexport const ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nexport const IS_ALLOWED_URI = seal(\n /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nexport const IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nexport const ATTR_WHITESPACE = seal(\n /[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nexport const DOCTYPE_NAME = seal(/^html$/i);\n", "import * as TAGS from './tags.js';\nimport * as ATTRS from './attrs.js';\nimport * as EXPRESSIONS from './regexp.js';\nimport {\n addToSet,\n clone,\n freeze,\n arrayForEach,\n arrayPop,\n arrayPush,\n stringMatch,\n stringReplace,\n stringToLowerCase,\n stringIndexOf,\n stringTrim,\n regExpTest,\n typeErrorCreate,\n lookupGetter,\n} from './utils.js';\n\nconst getGlobal = () => (typeof window === 'undefined' ? null : window);\n\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param {?TrustedTypePolicyFactory} trustedTypes The policy factory.\n * @param {Document} document The document object (to determine policy name suffix)\n * @return {?TrustedTypePolicy} The policy created (or null, if Trusted Types\n * are not supported).\n */\nconst _createTrustedTypesPolicy = function (trustedTypes, document) {\n if (\n typeof trustedTypes !== 'object' ||\n typeof trustedTypes.createPolicy !== 'function'\n ) {\n return null;\n }\n\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n let suffix = null;\n const ATTR_NAME = 'data-tt-policy-suffix';\n if (\n document.currentScript &&\n document.currentScript.hasAttribute(ATTR_NAME)\n ) {\n suffix = document.currentScript.getAttribute(ATTR_NAME);\n }\n\n const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML(html) {\n return html;\n },\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn(\n 'TrustedTypes policy ' + policyName + ' could not be created.'\n );\n return null;\n }\n};\n\nfunction createDOMPurify(window = getGlobal()) {\n const DOMPurify = (root) => createDOMPurify(root);\n\n /**\n * Version label, exposed for easier checks\n * if DOMPurify is up to date or not\n */\n DOMPurify.version = VERSION;\n\n /**\n * Array of elements that DOMPurify removed during sanitation.\n * Empty if nothing was removed.\n */\n DOMPurify.removed = [];\n\n if (!window || !window.document || window.document.nodeType !== 9) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n\n return DOMPurify;\n }\n\n const originalDocument = window.document;\n\n let { document } = window;\n const {\n DocumentFragment,\n HTMLTemplateElement,\n Node,\n Element,\n NodeFilter,\n NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,\n HTMLFormElement,\n DOMParser,\n trustedTypes,\n } = window;\n\n const ElementPrototype = Element.prototype;\n\n const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n const template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n\n const trustedTypesPolicy = _createTrustedTypesPolicy(\n trustedTypes,\n originalDocument\n );\n const emptyHTML = trustedTypesPolicy ? trustedTypesPolicy.createHTML('') : '';\n\n const {\n implementation,\n createNodeIterator,\n createDocumentFragment,\n getElementsByTagName,\n } = document;\n const { importNode } = originalDocument;\n\n let documentMode = {};\n try {\n documentMode = clone(document).documentMode ? document.documentMode : {};\n } catch (_) {}\n\n let hooks = {};\n\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported =\n typeof getParentNode === 'function' &&\n implementation &&\n typeof implementation.createHTMLDocument !== 'undefined' &&\n documentMode !== 9;\n\n const {\n MUSTACHE_EXPR,\n ERB_EXPR,\n DATA_ATTR,\n ARIA_ATTR,\n IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE,\n } = EXPRESSIONS;\n\n let { IS_ALLOWED_URI } = EXPRESSIONS;\n\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n\n /* allowed element names */\n let ALLOWED_TAGS = null;\n const DEFAULT_ALLOWED_TAGS = addToSet({}, [\n ...TAGS.html,\n ...TAGS.svg,\n ...TAGS.svgFilters,\n ...TAGS.mathMl,\n ...TAGS.text,\n ]);\n\n /* Allowed attribute names */\n let ALLOWED_ATTR = null;\n const DEFAULT_ALLOWED_ATTR = addToSet({}, [\n ...ATTRS.html,\n ...ATTRS.svg,\n ...ATTRS.mathMl,\n ...ATTRS.xml,\n ]);\n\n /*\n * Configure how DOMPUrify should handle custom elements and their attributes as well as customized built-in elements.\n * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n */\n const CUSTOM_ELEMENT_HANDLING = Object.seal(\n Object.create(null, {\n tagNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null,\n },\n attributeNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null,\n },\n allowCustomizedBuiltInElements: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: false,\n },\n })\n );\n\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n let FORBID_TAGS = null;\n\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n let FORBID_ATTR = null;\n\n /* Decide if ARIA attributes are okay */\n let ALLOW_ARIA_ATTR = true;\n\n /* Decide if custom data attributes are okay */\n let ALLOW_DATA_ATTR = true;\n\n /* Decide if unknown protocols are okay */\n let ALLOW_UNKNOWN_PROTOCOLS = false;\n\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n let SAFE_FOR_TEMPLATES = false;\n\n /* Decide if document with <html>... should be returned */\n let WHOLE_DOCUMENT = false;\n\n /* Track whether config is already set on this instance of DOMPurify. */\n let SET_CONFIG = false;\n\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n let FORCE_BODY = false;\n\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n let RETURN_DOM = false;\n\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n let RETURN_DOM_FRAGMENT = false;\n\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n let RETURN_TRUSTED_TYPE = false;\n\n /* Output should be free from DOM clobbering attacks? */\n let SANITIZE_DOM = true;\n\n /* Keep element content when removing element? */\n let KEEP_CONTENT = true;\n\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n let IN_PLACE = false;\n\n /* Allow usage of profiles like html, svg and mathMl */\n let USE_PROFILES = {};\n\n /* Tags to ignore content of when KEEP_CONTENT is true */\n let FORBID_CONTENTS = null;\n const DEFAULT_FORBID_CONTENTS = addToSet({}, [\n 'annotation-xml',\n 'audio',\n 'colgroup',\n 'desc',\n 'foreignobject',\n 'head',\n 'iframe',\n 'math',\n 'mi',\n 'mn',\n 'mo',\n 'ms',\n 'mtext',\n 'noembed',\n 'noframes',\n 'noscript',\n 'plaintext',\n 'script',\n 'style',\n 'svg',\n 'template',\n 'thead',\n 'title',\n 'video',\n 'xmp',\n ]);\n\n /* Tags that are safe for data: URIs */\n let DATA_URI_TAGS = null;\n const DEFAULT_DATA_URI_TAGS = addToSet({}, [\n 'audio',\n 'video',\n 'img',\n 'source',\n 'image',\n 'track',\n ]);\n\n /* Attributes safe for values like \"javascript:\" */\n let URI_SAFE_ATTRIBUTES = null;\n const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, [\n 'alt',\n 'class',\n 'for',\n 'id',\n 'label',\n 'name',\n 'pattern',\n 'placeholder',\n 'role',\n 'summary',\n 'title',\n 'value',\n 'style',\n 'xmlns',\n ]);\n\n const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n let NAMESPACE = HTML_NAMESPACE;\n let IS_EMPTY_INPUT = false;\n\n /* Parsing of strict XHTML documents */\n let PARSER_MEDIA_TYPE;\n const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n let transformCaseFunc;\n\n /* Keep a reference to config to pass to hooks */\n let CONFIG = null;\n\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n\n const formElement = document.createElement('form');\n\n const isRegexOrFunction = function (testValue) {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n\n /**\n * _parseConfig\n *\n * @param {Object} cfg optional config literal\n */\n // eslint-disable-next-line complexity\n const _parseConfig = function (cfg) {\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n\n /* Shield configuration object from tampering */\n if (!cfg || typeof cfg !== 'object') {\n cfg = {};\n }\n\n /* Shield configuration object from prototype pollution */\n cfg = clone(cfg);\n\n /* Set configuration parameters */\n ALLOWED_TAGS =\n 'ALLOWED_TAGS' in cfg\n ? addToSet({}, cfg.ALLOWED_TAGS)\n : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR =\n 'ALLOWED_ATTR' in cfg\n ? addToSet({}, cfg.ALLOWED_ATTR)\n : DEFAULT_ALLOWED_ATTR;\n URI_SAFE_ATTRIBUTES =\n 'ADD_URI_SAFE_ATTR' in cfg\n ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR)\n : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS =\n 'ADD_DATA_URI_TAGS' in cfg\n ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS)\n : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS =\n 'FORBID_CONTENTS' in cfg\n ? addToSet({}, cfg.FORBID_CONTENTS)\n : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS = 'FORBID_TAGS' in cfg ? addToSet({}, cfg.FORBID_TAGS) : {};\n FORBID_ATTR = 'FORBID_ATTR' in cfg ? addToSet({}, cfg.FORBID_ATTR) : {};\n USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n if (\n cfg.CUSTOM_ELEMENT_HANDLING &&\n isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)\n ) {\n CUSTOM_ELEMENT_HANDLING.tagNameCheck =\n cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n }\n\n if (\n cfg.CUSTOM_ELEMENT_HANDLING &&\n isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)\n ) {\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck =\n cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n }\n\n if (\n cfg.CUSTOM_ELEMENT_HANDLING &&\n typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements ===\n 'boolean'\n ) {\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements =\n cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n }\n\n PARSER_MEDIA_TYPE =\n // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1\n ? (PARSER_MEDIA_TYPE = DEFAULT_PARSER_MEDIA_TYPE)\n : (PARSER_MEDIA_TYPE = cfg.PARSER_MEDIA_TYPE);\n\n // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n transformCaseFunc =\n PARSER_MEDIA_TYPE === 'application/xhtml+xml'\n ? (x) => x\n : stringToLowerCase;\n\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, [...TAGS.text]);\n ALLOWED_ATTR = [];\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, TAGS.html);\n addToSet(ALLOWED_ATTR, ATTRS.html);\n }\n\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, TAGS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, TAGS.svgFilters);\n addToSet(ALLOWED_ATTR, ATTRS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, TAGS.mathMl);\n addToSet(ALLOWED_ATTR, ATTRS.mathMl);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n }\n\n /* Merge configuration parameters */\n if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS);\n }\n\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR);\n }\n\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR);\n }\n\n if (cfg.FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS);\n }\n\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n\n CONFIG = cfg;\n };\n\n const MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, [\n 'mi',\n 'mo',\n 'mn',\n 'ms',\n 'mtext',\n ]);\n\n const HTML_INTEGRATION_POINTS = addToSet({}, [\n 'foreignobject',\n 'desc',\n 'title',\n 'annotation-xml',\n ]);\n\n // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erroneously deleted from\n // HTML namespace.\n const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, [\n 'title',\n 'style',\n 'font',\n 'a',\n 'script',\n ]);\n\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n const ALL_SVG_TAGS = addToSet({}, TAGS.svg);\n addToSet(ALL_SVG_TAGS, TAGS.svgFilters);\n addToSet(ALL_SVG_TAGS, TAGS.svgDisallowed);\n\n const ALL_MATHML_TAGS = addToSet({}, TAGS.mathMl);\n addToSet(ALL_MATHML_TAGS, TAGS.mathMlDisallowed);\n\n /**\n *\n *\n * @param {Element} element a DOM element whose namespace is being checked\n * @returns {boolean} Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n const _checkValidNamespace = function (element) {\n let parent = getParentNode(element);\n\n // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: HTML_NAMESPACE,\n tagName: 'template',\n };\n }\n\n const tagName = stringToLowerCase(element.tagName);\n const parentTagName = stringToLowerCase(parent.tagName);\n\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via <svg>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n }\n\n // The only way to switch from MathML to SVG is via\n // svg if parent is either <annotation-xml> or MathML\n // text integration points.\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return (\n tagName === 'svg' &&\n (parentTagName === 'annotation-xml' ||\n MATHML_TEXT_INTEGRATION_POINTS[parentTagName])\n );\n }\n\n // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via <math>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n }\n\n // The only way to switch from SVG to MathML is via\n // <math> and HTML integration points\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n }\n\n // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (\n parent.namespaceURI === SVG_NAMESPACE &&\n !HTML_INTEGRATION_POINTS[parentTagName]\n ) {\n return false;\n }\n\n if (\n parent.namespaceURI === MATHML_NAMESPACE &&\n !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]\n ) {\n return false;\n }\n\n // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n return (\n !ALL_MATHML_TAGS[tagName] &&\n (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName])\n );\n }\n\n // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG or MathML). Return false just in case.\n return false;\n };\n\n /**\n * _forceRemove\n *\n * @param {Node} node a DOM node\n */\n const _forceRemove = function (node) {\n arrayPush(DOMPurify.removed, { element: node });\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n node.parentNode.removeChild(node);\n } catch (_) {\n try {\n node.outerHTML = emptyHTML;\n } catch (_) {\n node.remove();\n }\n }\n };\n\n /**\n * _removeAttribute\n *\n * @param {String} name an Attribute name\n * @param {Node} node a DOM node\n */\n const _removeAttribute = function (name, node) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: node.getAttributeNode(name),\n from: node,\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: node,\n });\n }\n\n node.removeAttribute(name);\n\n // We void attribute values for unremovable \"is\"\" attributes\n if (name === 'is' && !ALLOWED_ATTR[name]) {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(node);\n } catch (_) {}\n } else {\n try {\n node.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n\n /**\n * _initDocument\n *\n * @param {String} dirty a string of dirty markup\n * @return {Document} a DOM, filled with the dirty markup\n */\n const _initDocument = function (dirty) {\n /* Create a HTML document */\n let doc;\n let leadingWhitespace;\n\n if (FORCE_BODY) {\n dirty = '<remove></remove>' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml') {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty =\n '<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>' +\n dirty +\n '</body></html>';\n }\n\n const dirtyPayload = trustedTypesPolicy\n ? trustedTypesPolicy.createHTML(dirty)\n : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n\n /* Use createHTMLDocument in case DOMParser is not available */\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT ? '' : dirtyPayload;\n } catch (_) {\n // Syntax error if dirtyPayload is invalid xml\n }\n }\n\n const body = doc.body || doc.documentElement;\n\n if (dirty && leadingWhitespace) {\n body.insertBefore(\n document.createTextNode(leadingWhitespace),\n body.childNodes[0] || null\n );\n }\n\n /* Work on whole document or just its body */\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(\n doc,\n WHOLE_DOCUMENT ? 'html' : 'body'\n )[0];\n }\n\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n\n /**\n * _createIterator\n *\n * @param {Document} root document/fragment to create iterator for\n * @return {Iterator} iterator instance\n */\n const _createIterator = function (root) {\n return createNodeIterator.call(\n root.ownerDocument || root,\n root,\n // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT,\n null,\n false\n );\n };\n\n /**\n * _isClobbered\n *\n * @param {Node} elm element to check for clobbering attacks\n * @return {Boolean} true if clobbered, false if safe\n */\n const _isClobbered = function (elm) {\n return (\n elm instanceof HTMLFormElement &&\n (typeof elm.nodeName !== 'string' ||\n typeof elm.textContent !== 'string' ||\n typeof elm.removeChild !== 'function' ||\n !(elm.attributes instanceof NamedNodeMap) ||\n typeof elm.removeAttribute !== 'function' ||\n typeof elm.setAttribute !== 'function' ||\n typeof elm.namespaceURI !== 'string' ||\n typeof elm.insertBefore !== 'function')\n );\n };\n\n /**\n * _isNode\n *\n * @param {Node} obj object to check whether it's a DOM node\n * @return {Boolean} true is object is a DOM node\n */\n const _isNode = function (object) {\n return typeof Node === 'object'\n ? object instanceof Node\n : object &&\n typeof object === 'object' &&\n typeof object.nodeType === 'number' &&\n typeof object.nodeName === 'string';\n };\n\n /**\n * _executeHook\n * Execute user configurable hooks\n *\n * @param {String} entryPoint Name of the hook's entry point\n * @param {Node} currentNode node to work on with the hook\n * @param {Object} data additional hook parameters\n */\n const _executeHook = function (entryPoint, currentNode, data) {\n if (!hooks[entryPoint]) {\n return;\n }\n\n arrayForEach(hooks[entryPoint], (hook) => {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n };\n\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n *\n * @param {Node} currentNode to check for permission to exist\n * @return {Boolean} true if node was killed, false if left alive\n */\n const _sanitizeElements = function (currentNode) {\n let content;\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeElements', currentNode, null);\n\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Check if tagname contains Unicode */\n if (regExpTest(/[\\u0080-\\uFFFF]/, currentNode.nodeName)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Now let's check the element's type and name */\n const tagName = transformCaseFunc(currentNode.nodeName);\n\n /* Execute a hook if present */\n _executeHook('uponSanitizeElement', currentNode, {\n tagName,\n allowedTags: ALLOWED_TAGS,\n });\n\n /* Detect mXSS attempts abusing namespace confusion */\n if (\n currentNode.hasChildNodes() &&\n !_isNode(currentNode.firstElementChild) &&\n (!_isNode(currentNode.content) ||\n !_isNode(currentNode.content.firstElementChild)) &&\n regExpTest(/<[/\\w]/g, currentNode.innerHTML) &&\n regExpTest(/<[/\\w]/g, currentNode.textContent)\n ) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Mitigate a problem with templates inside select */\n if (\n tagName === 'select' &&\n regExpTest(/<template/i, currentNode.innerHTML)\n ) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Remove element if anything forbids its presence */\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n /* Check if we have a custom element to handle */\n if (!FORBID_TAGS[tagName] && _basicCustomElementTest(tagName)) {\n if (\n CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp &&\n regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)\n )\n return false;\n if (\n CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function &&\n CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)\n )\n return false;\n }\n\n /* Keep content except for bad-listed elements */\n if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n const parentNode = getParentNode(currentNode) || currentNode.parentNode;\n const childNodes = getChildNodes(currentNode) || currentNode.childNodes;\n\n if (childNodes && parentNode) {\n const childCount = childNodes.length;\n\n for (let i = childCount - 1; i >= 0; --i) {\n parentNode.insertBefore(\n cloneNode(childNodes[i], true),\n getNextSibling(currentNode)\n );\n }\n }\n }\n\n _forceRemove(currentNode);\n return true;\n }\n\n /* Check whether element has a valid namespace */\n if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n if (\n (tagName === 'noscript' || tagName === 'noembed') &&\n regExpTest(/<\\/no(script|embed)/i, currentNode.innerHTML)\n ) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Sanitize element content to be template-safe */\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === 3) {\n /* Get the element's text content */\n content = currentNode.textContent;\n content = stringReplace(content, MUSTACHE_EXPR, ' ');\n content = stringReplace(content, ERB_EXPR, ' ');\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, { element: currentNode.cloneNode() });\n currentNode.textContent = content;\n }\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeElements', currentNode, null);\n\n return false;\n };\n\n /**\n * _isValidAttribute\n *\n * @param {string} lcTag Lowercase tag name of containing element.\n * @param {string} lcName Lowercase attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n const _isValidAttribute = function (lcTag, lcName, value) {\n /* Make sure attribute cannot clobber */\n if (\n SANITIZE_DOM &&\n (lcName === 'id' || lcName === 'name') &&\n (value in document || value in formElement)\n ) {\n return false;\n }\n\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n if (\n ALLOW_DATA_ATTR &&\n !FORBID_ATTR[lcName] &&\n regExpTest(DATA_ATTR, lcName)\n ) {\n // This attribute is safe\n } else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) {\n // This attribute is safe\n /* Otherwise, check the name is permitted */\n } else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n if (\n // First condition does a very basic check if a) it's basically a valid custom element tagname AND\n // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck\n (_basicCustomElementTest(lcTag) &&\n ((CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp &&\n regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag)) ||\n (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function &&\n CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag))) &&\n ((CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp &&\n regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName)) ||\n (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function &&\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)))) ||\n // Alternative, second condition checks if it's an `is`-attribute, AND\n // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n (lcName === 'is' &&\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements &&\n ((CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp &&\n regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value)) ||\n (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function &&\n CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))))\n ) {\n // If user has supplied a regexp or function in CUSTOM_ELEMENT_HANDLING.tagNameCheck, we need to also allow derived custom elements using the same tagName test.\n // Additionally, we need to allow attributes passing the CUSTOM_ELEMENT_HANDLING.attributeNameCheck user has configured, as custom elements can define these at their own discretion.\n } else {\n return false;\n }\n /* Check value is safe. First, is attr inert? If so, is safe */\n } else if (URI_SAFE_ATTRIBUTES[lcName]) {\n // This attribute is safe\n /* Check no script, data or unknown possibly unsafe URI\n unless we know URI values are safe for that attribute */\n } else if (\n regExpTest(IS_ALLOWED_URI, stringReplace(value, ATTR_WHITESPACE, ''))\n ) {\n // This attribute is safe\n /* Keep image data URIs alive if src/xlink:href is allowed */\n /* Further prevent gadget XSS for dynamically built script tags */\n } else if (\n (lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') &&\n lcTag !== 'script' &&\n stringIndexOf(value, 'data:') === 0 &&\n DATA_URI_TAGS[lcTag]\n ) {\n // This attribute is safe\n /* Allow unknown protocols: This provides support for links that\n are handled by protocol handlers which may be unknown ahead of\n time, e.g. fb:, spotify: */\n } else if (\n ALLOW_UNKNOWN_PROTOCOLS &&\n !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))\n ) {\n // This attribute is safe\n /* Check for binary attributes */\n // eslint-disable-next-line no-negated-condition\n } else if (!value) {\n // Binary attributes are safe at this point\n /* Anything else, presume unsafe, do not add it back */\n } else {\n return false;\n }\n\n return true;\n };\n\n /**\n * _basicCustomElementCheck\n * checks if at least one dash is included in tagName, and it's not the first char\n * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n * @param {string} tagName name of the tag of the node to sanitize\n */\n const _basicCustomElementTest = function (tagName) {\n return tagName.indexOf('-') > 0;\n };\n\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param {Node} currentNode to sanitize\n */\n const _sanitizeAttributes = function (currentNode) {\n let attr;\n let value;\n let lcName;\n let l;\n /* Execute a hook if present */\n _executeHook('beforeSanitizeAttributes', currentNode, null);\n\n const { attributes } = currentNode;\n\n /* Check if we have attributes; if not we might have a text node */\n if (!attributes) {\n return;\n }\n\n const hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR,\n };\n l = attributes.length;\n\n /* Go backwards over all attributes; safely remove bad ones */\n while (l--) {\n attr = attributes[l];\n const { name, namespaceURI } = attr;\n value = name === 'value' ? attr.value : stringTrim(attr.value);\n lcName = transformCaseFunc(name);\n\n /* Execute a hook if present */\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n _executeHook('uponSanitizeAttribute', currentNode, hookEvent);\n value = hookEvent.attrValue;\n /* Did the hooks approve of the attribute? */\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n\n /* Remove attribute */\n _removeAttribute(name, currentNode);\n\n /* Did the hooks approve of the attribute? */\n if (!hookEvent.keepAttr) {\n continue;\n }\n\n /* Work around a security issue in jQuery 3.0 */\n if (regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n\n /* Sanitize attribute content to be template-safe */\n if (SAFE_FOR_TEMPLATES) {\n value = stringReplace(value, MUSTACHE_EXPR, ' ');\n value = stringReplace(value, ERB_EXPR, ' ');\n }\n\n /* Is `value` valid for this attribute? */\n const lcTag = transformCaseFunc(currentNode.nodeName);\n if (!_isValidAttribute(lcTag, lcName, value)) {\n continue;\n }\n\n /* Handle invalid data-* attribute set by try-catching it */\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n\n arrayPop(DOMPurify.removed);\n } catch (_) {}\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeAttributes', currentNode, null);\n };\n\n /**\n * _sanitizeShadowDOM\n *\n * @param {DocumentFragment} fragment to iterate over recursively\n */\n const _sanitizeShadowDOM = function (fragment) {\n let shadowNode;\n const shadowIterator = _createIterator(fragment);\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeShadowDOM', fragment, null);\n\n while ((shadowNode = shadowIterator.nextNode())) {\n /* Execute a hook if present */\n _executeHook('uponSanitizeShadowNode', shadowNode, null);\n\n /* Sanitize tags and elements */\n if (_sanitizeElements(shadowNode)) {\n continue;\n }\n\n /* Deep shadow DOM detected */\n if (shadowNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(shadowNode.content);\n }\n\n /* Check attributes, sanitize if necessary */\n _sanitizeAttributes(shadowNode);\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeShadowDOM', fragment, null);\n };\n\n /**\n * Sanitize\n * Public method providing core sanitation functionality\n *\n * @param {String|Node} dirty string or DOM node\n * @param {Object} configuration object\n */\n // eslint-disable-next-line complexity\n DOMPurify.sanitize = function (dirty, cfg) {\n let body;\n let importedNode;\n let currentNode;\n let oldNode;\n let returnNode;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n IS_EMPTY_INPUT = !dirty;\n if (IS_EMPTY_INPUT) {\n dirty = '<!-->';\n }\n\n /* Stringify, in case dirty is an object */\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n // eslint-disable-next-line no-negated-condition\n if (typeof dirty.toString !== 'function') {\n throw typeErrorCreate('toString is not a function');\n } else {\n dirty = dirty.toString();\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n }\n }\n\n /* Check we can run. Otherwise fall back or ignore */\n if (!DOMPurify.isSupported) {\n if (\n typeof window.toStaticHTML === 'object' ||\n typeof window.toStaticHTML === 'function'\n ) {\n if (typeof dirty === 'string') {\n return window.toStaticHTML(dirty);\n }\n\n if (_isNode(dirty)) {\n return window.toStaticHTML(dirty.outerHTML);\n }\n }\n\n return dirty;\n }\n\n /* Assign config vars */\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n\n /* Clean up removed elements */\n DOMPurify.removed = [];\n\n /* Check if dirty is correctly typed for IN_PLACE */\n if (typeof dirty === 'string') {\n IN_PLACE = false;\n }\n\n if (IN_PLACE) {\n /* Do some early pre-sanitization to avoid unsafe root nodes */\n if (dirty.nodeName) {\n const tagName = transformCaseFunc(dirty.nodeName);\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n throw typeErrorCreate(\n 'root node is forbidden and cannot be sanitized in-place'\n );\n }\n }\n } else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('<!---->');\n importedNode = body.ownerDocument.importNode(dirty, true);\n if (importedNode.nodeType === 1 && importedNode.nodeName === 'BODY') {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (\n !RETURN_DOM &&\n !SAFE_FOR_TEMPLATES &&\n !WHOLE_DOCUMENT &&\n // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1\n ) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE\n ? trustedTypesPolicy.createHTML(dirty)\n : dirty;\n }\n\n /* Initialize the document to work on */\n body = _initDocument(dirty);\n\n /* Check we have a DOM node from the data */\n if (!body) {\n return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n }\n }\n\n /* Remove first element node (ours) if FORCE_BODY is set */\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n\n /* Get node iterator */\n const nodeIterator = _createIterator(IN_PLACE ? dirty : body);\n\n /* Now start iterating over the created document */\n while ((currentNode = nodeIterator.nextNode())) {\n /* Fix IE's strange behavior with manipulated textNodes #89 */\n if (currentNode.nodeType === 3 && currentNode === oldNode) {\n continue;\n }\n\n /* Sanitize tags and elements */\n if (_sanitizeElements(currentNode)) {\n continue;\n }\n\n /* Shadow DOM detected, sanitize it */\n if (currentNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(currentNode.content);\n }\n\n /* Check attributes, sanitize if necessary */\n _sanitizeAttributes(currentNode);\n\n oldNode = currentNode;\n }\n\n oldNode = null;\n\n /* If we sanitized `dirty` in-place, return it. */\n if (IN_PLACE) {\n return dirty;\n }\n\n /* Return sanitized string or DOM */\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n\n if (ALLOWED_ATTR.shadowroot) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n\n return returnNode;\n }\n\n let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n\n /* Serialize doctype if allowed */\n if (\n WHOLE_DOCUMENT &&\n ALLOWED_TAGS['!doctype'] &&\n body.ownerDocument &&\n body.ownerDocument.doctype &&\n body.ownerDocument.doctype.name &&\n regExpTest(EXPRESSIONS.DOCTYPE_NAME, body.ownerDocument.doctype.name)\n ) {\n serializedHTML =\n '<!DOCTYPE ' + body.ownerDocument.doctype.name + '>\\n' + serializedHTML;\n }\n\n /* Sanitize final string template-safe */\n if (SAFE_FOR_TEMPLATES) {\n serializedHTML = stringReplace(serializedHTML, MUSTACHE_EXPR, ' ');\n serializedHTML = stringReplace(serializedHTML, ERB_EXPR, ' ');\n }\n\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE\n ? trustedTypesPolicy.createHTML(serializedHTML)\n : serializedHTML;\n };\n\n /**\n * Public method to set the configuration once\n * setConfig\n *\n * @param {Object} cfg configuration object\n */\n DOMPurify.setConfig = function (cfg) {\n _parseConfig(cfg);\n SET_CONFIG = true;\n };\n\n /**\n * Public method to remove the configuration\n * clearConfig\n *\n */\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n\n /**\n * Public method to check if an attribute value is valid.\n * Uses last set config, if any. Otherwise, uses config defaults.\n * isValidAttribute\n *\n * @param {string} tag Tag name of containing element.\n * @param {string} attr Attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.\n */\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n\n const lcTag = transformCaseFunc(tag);\n const lcName = transformCaseFunc(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n\n /**\n * AddHook\n * Public method to add DOMPurify hooks\n *\n * @param {String} entryPoint entry point for the hook to add\n * @param {Function} hookFunction function to execute\n */\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n\n hooks[entryPoint] = hooks[entryPoint] || [];\n arrayPush(hooks[entryPoint], hookFunction);\n };\n\n /**\n * RemoveHook\n * Public method to remove a DOMPurify hook at a given entryPoint\n * (pops it from the stack of hooks if more are present)\n *\n * @param {String} entryPoint entry point for the hook to remove\n * @return {Function} removed(popped) hook\n */\n DOMPurify.removeHook = function (entryPoint) {\n if (hooks[entryPoint]) {\n return arrayPop(hooks[entryPoint]);\n }\n };\n\n /**\n * RemoveHooks\n * Public method to remove all DOMPurify hooks at a given entryPoint\n *\n * @param {String} entryPoint entry point for the hooks to remove\n */\n DOMPurify.removeHooks = function (entryPoint) {\n if (hooks[entryPoint]) {\n hooks[entryPoint] = [];\n }\n };\n\n /**\n * RemoveAllHooks\n * Public method to remove all DOMPurify hooks\n *\n */\n DOMPurify.removeAllHooks = function () {\n hooks = {};\n };\n\n return DOMPurify;\n}\n\nexport default createDOMPurify();\n", "// Generated by purs version 0.15.2\nimport * as App from \"../App/index.js\";\nimport * as Component_AccountSettings from \"../Component.AccountSettings/index.js\";\nimport * as Component_Add from \"../Component.Add/index.js\";\nimport * as Component_BList from \"../Component.BList/index.js\";\nimport * as Component_NList from \"../Component.NList/index.js\";\nimport * as Component_NNote from \"../Component.NNote/index.js\";\nimport * as Component_TagCloud from \"../Component.TagCloud/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Data_Foldable from \"../Data.Foldable/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Effect from \"../Effect/index.js\";\nimport * as Effect_Aff from \"../Effect.Aff/index.js\";\nimport * as Effect_Class from \"../Effect.Class/index.js\";\nimport * as Halogen_Aff_Util from \"../Halogen.Aff.Util/index.js\";\nimport * as Halogen_VDom_Driver from \"../Halogen.VDom.Driver/index.js\";\nimport * as Model from \"../Model/index.js\";\nimport * as Web_DOM_Element from \"../Web.DOM.Element/index.js\";\nimport * as Web_Event_Event from \"../Web.Event.Event/index.js\";\nimport * as Web_HTML_HTMLElement from \"../Web.HTML.HTMLElement/index.js\";\nvar viewRendered = /* #__PURE__ */ Control_Bind.bind(Effect_Aff.bindAff)(/* #__PURE__ */ Halogen_Aff_Util.selectElement(\"#content\"))(/* #__PURE__ */ Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Web_DOM_Element.setAttribute(\"view-rendered\")(\"\")(Web_HTML_HTMLElement.toElement(el)));\n}));\nvar renderTagCloud = function (renderElSelector) {\n return function (tagCloudMode) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_TagCloud.tagcloudcomponent(Model.tagCloudModeToF(tagCloudMode)))(Data_Unit.unit)(el));\n })));\n };\n};\nvar renderNotes = function (renderElSelector) {\n return function (notes) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NList.nlist(notes))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n};\nvar renderNote = function (renderElSelector) {\n return function (note) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NNote.nnote(note))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n};\nvar renderBookmarks = function (renderElSelector) {\n return function (bmarks) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_BList.blist(bmarks))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n};\nvar renderAddForm = function (renderElSelector) {\n return function (bmark) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_Add.addbmark(bmark))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n};\nvar renderAccountSettings = function (renderElSelector) {\n return function (accountSettings) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_AccountSettings.usetting(accountSettings))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n};\nvar logoutE = function (e) {\n return Control_Bind.bindFlipped(Effect.bindEffect)((function () {\n var $0 = Data_Functor[\"void\"](Effect.functorEffect);\n return function ($1) {\n return $0(Effect_Aff.launchAff(App.logout($1)));\n };\n })())(Web_Event_Event.preventDefault(e));\n};\nexport {\n logoutE,\n renderBookmarks,\n renderTagCloud,\n renderAddForm,\n renderNotes,\n renderNote,\n renderAccountSettings,\n viewRendered\n};\n", "export function _ajax(platformSpecificDriver, timeoutErrorMessageIdent, requestFailedMessageIdent, mkHeader, options) {\n return function (errback, callback) {\n var xhr = platformSpecificDriver.newXHR();\n var fixedUrl = platformSpecificDriver.fixupUrl(options.url, xhr);\n xhr.open(options.method || \"GET\", fixedUrl, true, options.username, options.password);\n if (options.headers) {\n try {\n // eslint-disable-next-line no-eq-null,eqeqeq\n for (var i = 0, header; (header = options.headers[i]) != null; i++) {\n xhr.setRequestHeader(header.field, header.value);\n }\n } catch (e) {\n errback(e);\n }\n }\n var onerror = function (msgIdent) {\n return function () {\n errback(new Error(msgIdent));\n };\n };\n xhr.onerror = onerror(requestFailedMessageIdent);\n xhr.ontimeout = onerror(timeoutErrorMessageIdent);\n xhr.onload = function () {\n callback({\n status: xhr.status,\n statusText: xhr.statusText,\n headers: xhr.getAllResponseHeaders().split(\"\\r\\n\")\n .filter(function (header) {\n return header.length > 0;\n })\n .map(function (header) {\n var i = header.indexOf(\":\");\n return mkHeader(header.substring(0, i))(header.substring(i + 2));\n }),\n body: xhr.response\n });\n };\n xhr.responseType = options.responseType;\n xhr.withCredentials = options.withCredentials;\n xhr.timeout = options.timeout;\n xhr.send(options.content);\n\n return function (error, cancelErrback, cancelCallback) {\n try {\n xhr.abort();\n } catch (e) {\n return cancelErrback(e);\n }\n return cancelCallback();\n };\n };\n}\n", "export const arrayMap = function (f) {\n return function (arr) {\n var l = arr.length;\n var result = new Array(l);\n for (var i = 0; i < l; i++) {\n result[i] = f(arr[i]);\n }\n return result;\n };\n};\n", "// Generated by purs version 0.15.2\nvar semigroupoidFn = {\n compose: function (f) {\n return function (g) {\n return function (x) {\n return f(g(x));\n };\n };\n }\n};\nvar compose = function (dict) {\n return dict.compose;\n};\nvar composeFlipped = function (dictSemigroupoid) {\n return function (f) {\n return function (g) {\n return compose(dictSemigroupoid)(g)(f);\n };\n };\n};\nexport {\n compose,\n composeFlipped,\n semigroupoidFn\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Semigroupoid from \"../Control.Semigroupoid/index.js\";\nvar identity = function (dict) {\n return dict.identity;\n};\nvar categoryFn = {\n identity: function (x) {\n return x;\n },\n Semigroupoid0: function () {\n return Control_Semigroupoid.semigroupoidFn;\n }\n};\nexport {\n identity,\n categoryFn\n};\nexport {\n compose\n} from \"../Control.Semigroupoid/index.js\";\n", "// Generated by purs version 0.15.2\nvar otherwise = true;\nexport {\n otherwise\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Data_Boolean from \"../Data.Boolean/index.js\";\nvar on = function (f) {\n return function (g) {\n return function (x) {\n return function (y) {\n return f(g(x))(g(y));\n };\n };\n };\n};\nvar flip = function (f) {\n return function (b) {\n return function (a) {\n return f(a)(b);\n };\n };\n};\nvar $$const = function (a) {\n return function (v) {\n return a;\n };\n};\nvar applyN = function (f) {\n var go = function ($copy_n) {\n return function ($copy_acc) {\n var $tco_var_n = $copy_n;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(n, acc) {\n if (n <= 0) {\n $tco_done = true;\n return acc;\n };\n if (Data_Boolean.otherwise) {\n $tco_var_n = n - 1 | 0;\n $copy_acc = f(acc);\n return;\n };\n throw new Error(\"Failed pattern match at Data.Function (line 107, column 3 - line 109, column 37): \" + [ n.constructor.name, acc.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_n, $copy_acc);\n };\n return $tco_result;\n };\n };\n return go;\n};\nvar applyFlipped = function (x) {\n return function (f) {\n return f(x);\n };\n};\nvar apply = function (f) {\n return function (x) {\n return f(x);\n };\n};\nexport {\n flip,\n $$const as const,\n apply,\n applyFlipped,\n applyN,\n on\n};\nexport {\n compose,\n identity\n} from \"../Control.Category/index.js\";\n", "// Generated by purs version 0.15.2\nvar $$Proxy = /* #__PURE__ */ (function () {\n function $$Proxy() {\n\n };\n $$Proxy.value = new $$Proxy();\n return $$Proxy;\n})();\nexport {\n $$Proxy as Proxy\n};\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Control_Semigroupoid from \"../Control.Semigroupoid/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Type_Proxy from \"../Type.Proxy/index.js\";\nvar map = function (dict) {\n return dict.map;\n};\nvar mapFlipped = function (dictFunctor) {\n return function (fa) {\n return function (f) {\n return map(dictFunctor)(f)(fa);\n };\n };\n};\nvar $$void = function (dictFunctor) {\n return map(dictFunctor)(Data_Function[\"const\"](Data_Unit.unit));\n};\nvar voidLeft = function (dictFunctor) {\n return function (f) {\n return function (x) {\n return map(dictFunctor)(Data_Function[\"const\"](x))(f);\n };\n };\n};\nvar voidRight = function (dictFunctor) {\n return function (x) {\n return map(dictFunctor)(Data_Function[\"const\"](x));\n };\n};\nvar functorProxy = {\n map: function (v) {\n return function (v1) {\n return Type_Proxy[\"Proxy\"].value;\n };\n }\n};\nvar functorFn = {\n map: /* #__PURE__ */ Control_Semigroupoid.compose(Control_Semigroupoid.semigroupoidFn)\n};\nvar functorArray = {\n map: $foreign.arrayMap\n};\nvar flap = function (dictFunctor) {\n return function (ff) {\n return function (x) {\n return map(dictFunctor)(function (f) {\n return f(x);\n })(ff);\n };\n };\n};\nexport {\n map,\n mapFlipped,\n $$void as void,\n voidRight,\n voidLeft,\n flap,\n functorFn,\n functorArray,\n functorProxy\n};\n", "export const concatString = function (s1) {\n return function (s2) {\n return s1 + s2;\n };\n};\n\nexport const concatArray = function (xs) {\n return function (ys) {\n if (xs.length === 0) return ys;\n if (ys.length === 0) return xs;\n return xs.concat(ys);\n };\n};\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Type_Proxy from \"../Type.Proxy/index.js\";\nvar reifySymbol = function (s) {\n return function (f) {\n return $foreign.unsafeCoerce(function (dictIsSymbol) {\n return f(dictIsSymbol);\n })({\n reflectSymbol: function (v) {\n return s;\n }\n })(Type_Proxy[\"Proxy\"].value);\n };\n};\nvar reflectSymbol = function (dict) {\n return dict.reflectSymbol;\n};\nexport {\n reflectSymbol,\n reifySymbol\n};\n", "// Generated by purs version 0.15.2\nvar Void = function (x) {\n return x;\n};\nvar absurd = function (a) {\n var spin = function ($copy_v) {\n var $tco_result;\n function $tco_loop(v) {\n $copy_v = v;\n return;\n };\n while (!false) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return spin(a);\n};\nvar showVoid = {\n show: absurd\n};\nexport {\n absurd,\n showVoid\n};\n", "export const unsafeHas = function (label) {\n return function (rec) {\n return {}.hasOwnProperty.call(rec, label);\n };\n};\n\nexport const unsafeGet = function (label) {\n return function (rec) {\n return rec[label];\n };\n};\n\nexport const unsafeSet = function (label) {\n return function (value) {\n return function (rec) {\n var copy = {};\n for (var key in rec) {\n if ({}.hasOwnProperty.call(rec, key)) {\n copy[key] = rec[key];\n }\n }\n copy[label] = value;\n return copy;\n };\n };\n};\n\nexport const unsafeDelete = function (label) {\n return function (rec) {\n var copy = {};\n for (var key in rec) {\n if (key !== label && {}.hasOwnProperty.call(rec, key)) {\n copy[key] = rec[key];\n }\n }\n return copy;\n };\n};\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Data_Symbol from \"../Data.Symbol/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Data_Void from \"../Data.Void/index.js\";\nimport * as Record_Unsafe from \"../Record.Unsafe/index.js\";\nimport * as Type_Proxy from \"../Type.Proxy/index.js\";\nvar semigroupVoid = {\n append: function (v) {\n return Data_Void.absurd;\n }\n};\nvar semigroupUnit = {\n append: function (v) {\n return function (v1) {\n return Data_Unit.unit;\n };\n }\n};\nvar semigroupString = {\n append: $foreign.concatString\n};\nvar semigroupRecordNil = {\n appendRecord: function (v) {\n return function (v1) {\n return function (v2) {\n return {};\n };\n };\n }\n};\nvar semigroupProxy = {\n append: function (v) {\n return function (v1) {\n return Type_Proxy[\"Proxy\"].value;\n };\n }\n};\nvar semigroupArray = {\n append: $foreign.concatArray\n};\nvar appendRecord = function (dict) {\n return dict.appendRecord;\n};\nvar semigroupRecord = function () {\n return function (dictSemigroupRecord) {\n return {\n append: appendRecord(dictSemigroupRecord)(Type_Proxy[\"Proxy\"].value)\n };\n };\n};\nvar append = function (dict) {\n return dict.append;\n};\nvar semigroupFn = function (dictSemigroup) {\n return {\n append: function (f) {\n return function (g) {\n return function (x) {\n return append(dictSemigroup)(f(x))(g(x));\n };\n };\n }\n };\n};\nvar semigroupRecordCons = function (dictIsSymbol) {\n return function () {\n return function (dictSemigroupRecord) {\n return function (dictSemigroup) {\n return {\n appendRecord: function (v) {\n return function (ra) {\n return function (rb) {\n var tail = appendRecord(dictSemigroupRecord)(Type_Proxy[\"Proxy\"].value)(ra)(rb);\n var key = Data_Symbol.reflectSymbol(dictIsSymbol)(Type_Proxy[\"Proxy\"].value);\n var insert = Record_Unsafe.unsafeSet(key);\n var get = Record_Unsafe.unsafeGet(key);\n return insert(append(dictSemigroup)(get(ra))(get(rb)))(tail);\n };\n };\n }\n };\n };\n };\n };\n};\nexport {\n append,\n appendRecord,\n semigroupString,\n semigroupUnit,\n semigroupVoid,\n semigroupFn,\n semigroupArray,\n semigroupProxy,\n semigroupRecord,\n semigroupRecordNil,\n semigroupRecordCons\n};\n", "// Generated by purs version 0.15.2\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Semigroup from \"../Data.Semigroup/index.js\";\nvar altArray = {\n alt: /* #__PURE__ */ Data_Semigroup.append(Data_Semigroup.semigroupArray),\n Functor0: function () {\n return Data_Functor.functorArray;\n }\n};\nvar alt = function (dict) {\n return dict.alt;\n};\nexport {\n alt,\n altArray\n};\nexport {\n map,\n void\n} from \"../Data.Functor/index.js\";\n", "export const arrayApply = function (fs) {\n return function (xs) {\n var l = fs.length;\n var k = xs.length;\n var result = new Array(l*k);\n var n = 0;\n for (var i = 0; i < l; i++) {\n var f = fs[i];\n for (var j = 0; j < k; j++) {\n result[n++] = f(xs[j]);\n }\n }\n return result;\n };\n};\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Type_Proxy from \"../Type.Proxy/index.js\";\nvar applyProxy = {\n apply: function (v) {\n return function (v1) {\n return Type_Proxy[\"Proxy\"].value;\n };\n },\n Functor0: function () {\n return Data_Functor.functorProxy;\n }\n};\nvar applyFn = {\n apply: function (f) {\n return function (g) {\n return function (x) {\n return f(x)(g(x));\n };\n };\n },\n Functor0: function () {\n return Data_Functor.functorFn;\n }\n};\nvar applyArray = {\n apply: $foreign.arrayApply,\n Functor0: function () {\n return Data_Functor.functorArray;\n }\n};\nvar apply = function (dict) {\n return dict.apply;\n};\nvar applyFirst = function (dictApply) {\n return function (a) {\n return function (b) {\n return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(Data_Function[\"const\"])(a))(b);\n };\n };\n};\nvar applySecond = function (dictApply) {\n return function (a) {\n return function (b) {\n return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(Data_Function[\"const\"](Control_Category.identity(Control_Category.categoryFn)))(a))(b);\n };\n };\n};\nvar lift2 = function (dictApply) {\n return function (f) {\n return function (a) {\n return function (b) {\n return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(f)(a))(b);\n };\n };\n };\n};\nvar lift3 = function (dictApply) {\n return function (f) {\n return function (a) {\n return function (b) {\n return function (c) {\n return apply(dictApply)(apply(dictApply)(Data_Functor.map(dictApply.Functor0())(f)(a))(b))(c);\n };\n };\n };\n };\n};\nvar lift4 = function (dictApply) {\n return function (f) {\n return function (a) {\n return function (b) {\n return function (c) {\n return function (d) {\n return apply(dictApply)(apply(dictApply)(apply(dictApply)(Data_Functor.map(dictApply.Functor0())(f)(a))(b))(c))(d);\n };\n };\n };\n };\n };\n};\nvar lift5 = function (dictApply) {\n return function (f) {\n return function (a) {\n return function (b) {\n return function (c) {\n return function (d) {\n return function (e) {\n return apply(dictApply)(apply(dictApply)(apply(dictApply)(apply(dictApply)(Data_Functor.map(dictApply.Functor0())(f)(a))(b))(c))(d))(e);\n };\n };\n };\n };\n };\n };\n};\nexport {\n apply,\n applyFirst,\n applySecond,\n lift2,\n lift3,\n lift4,\n lift5,\n applyFn,\n applyArray,\n applyProxy\n};\nexport {\n map,\n void\n} from \"../Data.Functor/index.js\";\n", "// Generated by purs version 0.15.2\nimport * as Control_Apply from \"../Control.Apply/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Type_Proxy from \"../Type.Proxy/index.js\";\nvar pure = function (dict) {\n return dict.pure;\n};\nvar unless = function (dictApplicative) {\n return function (v) {\n return function (v1) {\n if (!v) {\n return v1;\n };\n if (v) {\n return pure(dictApplicative)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Control.Applicative (line 68, column 1 - line 68, column 65): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n};\nvar when = function (dictApplicative) {\n return function (v) {\n return function (v1) {\n if (v) {\n return v1;\n };\n if (!v) {\n return pure(dictApplicative)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Control.Applicative (line 63, column 1 - line 63, column 63): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n};\nvar liftA1 = function (dictApplicative) {\n return function (f) {\n return function (a) {\n return Control_Apply.apply(dictApplicative.Apply0())(pure(dictApplicative)(f))(a);\n };\n };\n};\nvar applicativeProxy = {\n pure: function (v) {\n return Type_Proxy[\"Proxy\"].value;\n },\n Apply0: function () {\n return Control_Apply.applyProxy;\n }\n};\nvar applicativeFn = {\n pure: function (x) {\n return function (v) {\n return x;\n };\n },\n Apply0: function () {\n return Control_Apply.applyFn;\n }\n};\nvar applicativeArray = {\n pure: function (x) {\n return [ x ];\n },\n Apply0: function () {\n return Control_Apply.applyArray;\n }\n};\nexport {\n pure,\n liftA1,\n unless,\n when,\n applicativeFn,\n applicativeArray,\n applicativeProxy\n};\nexport {\n apply\n} from \"../Control.Apply/index.js\";\nexport {\n map,\n void\n} from \"../Data.Functor/index.js\";\n", "export const topInt = 2147483647;\nexport const bottomInt = -2147483648;\n\nexport const topChar = String.fromCharCode(65535);\nexport const bottomChar = String.fromCharCode(0);\n\nexport const topNumber = Number.POSITIVE_INFINITY;\nexport const bottomNumber = Number.NEGATIVE_INFINITY;\n", "var unsafeCompareImpl = function (lt) {\n return function (eq) {\n return function (gt) {\n return function (x) {\n return function (y) {\n return x < y ? lt : x === y ? eq : gt;\n };\n };\n };\n };\n};\n\nexport const ordBooleanImpl = unsafeCompareImpl;\nexport const ordIntImpl = unsafeCompareImpl;\nexport const ordNumberImpl = unsafeCompareImpl;\nexport const ordStringImpl = unsafeCompareImpl;\nexport const ordCharImpl = unsafeCompareImpl;\n\nexport const ordArrayImpl = function (f) {\n return function (xs) {\n return function (ys) {\n var i = 0;\n var xlen = xs.length;\n var ylen = ys.length;\n while (i < xlen && i < ylen) {\n var x = xs[i];\n var y = ys[i];\n var o = f(x)(y);\n if (o !== 0) {\n return o;\n }\n i++;\n }\n if (xlen === ylen) {\n return 0;\n } else if (xlen > ylen) {\n return -1;\n } else {\n return 1;\n }\n };\n };\n};\n", "var refEq = function (r1) {\n return function (r2) {\n return r1 === r2;\n };\n};\n\nexport const eqBooleanImpl = refEq;\nexport const eqIntImpl = refEq;\nexport const eqNumberImpl = refEq;\nexport const eqCharImpl = refEq;\nexport const eqStringImpl = refEq;\n\nexport const eqArrayImpl = function (f) {\n return function (xs) {\n return function (ys) {\n if (xs.length !== ys.length) return false;\n for (var i = 0; i < xs.length; i++) {\n if (!f(xs[i])(ys[i])) return false;\n }\n return true;\n };\n };\n};\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Data_Symbol from \"../Data.Symbol/index.js\";\nimport * as Record_Unsafe from \"../Record.Unsafe/index.js\";\nimport * as Type_Proxy from \"../Type.Proxy/index.js\";\nvar eqVoid = {\n eq: function (v) {\n return function (v1) {\n return true;\n };\n }\n};\nvar eqUnit = {\n eq: function (v) {\n return function (v1) {\n return true;\n };\n }\n};\nvar eqString = {\n eq: $foreign.eqStringImpl\n};\nvar eqRowNil = {\n eqRecord: function (v) {\n return function (v1) {\n return function (v2) {\n return true;\n };\n };\n }\n};\nvar eqRecord = function (dict) {\n return dict.eqRecord;\n};\nvar eqRec = function () {\n return function (dictEqRecord) {\n return {\n eq: eqRecord(dictEqRecord)(Type_Proxy[\"Proxy\"].value)\n };\n };\n};\nvar eqProxy = {\n eq: function (v) {\n return function (v1) {\n return true;\n };\n }\n};\nvar eqNumber = {\n eq: $foreign.eqNumberImpl\n};\nvar eqInt = {\n eq: $foreign.eqIntImpl\n};\nvar eqChar = {\n eq: $foreign.eqCharImpl\n};\nvar eqBoolean = {\n eq: $foreign.eqBooleanImpl\n};\nvar eq1 = function (dict) {\n return dict.eq1;\n};\nvar eq = function (dict) {\n return dict.eq;\n};\nvar eqArray = function (dictEq) {\n return {\n eq: $foreign.eqArrayImpl(eq(dictEq))\n };\n};\nvar eq1Array = {\n eq1: function (dictEq) {\n return eq(eqArray(dictEq));\n }\n};\nvar eqRowCons = function (dictEqRecord) {\n return function () {\n return function (dictIsSymbol) {\n return function (dictEq) {\n return {\n eqRecord: function (v) {\n return function (ra) {\n return function (rb) {\n var tail = eqRecord(dictEqRecord)(Type_Proxy[\"Proxy\"].value)(ra)(rb);\n var key = Data_Symbol.reflectSymbol(dictIsSymbol)(Type_Proxy[\"Proxy\"].value);\n var get = Record_Unsafe.unsafeGet(key);\n return eq(dictEq)(get(ra))(get(rb)) && tail;\n };\n };\n }\n };\n };\n };\n };\n};\nvar notEq = function (dictEq) {\n return function (x) {\n return function (y) {\n return eq(eqBoolean)(eq(dictEq)(x)(y))(false);\n };\n };\n};\nvar notEq1 = function (dictEq1) {\n return function (dictEq) {\n return function (x) {\n return function (y) {\n return eq(eqBoolean)(eq1(dictEq1)(dictEq)(x)(y))(false);\n };\n };\n };\n};\nexport {\n eq,\n notEq,\n eq1,\n notEq1,\n eqRecord,\n eqBoolean,\n eqInt,\n eqNumber,\n eqChar,\n eqString,\n eqUnit,\n eqVoid,\n eqArray,\n eqRec,\n eqProxy,\n eq1Array,\n eqRowNil,\n eqRowCons\n};\n", "// Generated by purs version 0.15.2\nvar LT = /* #__PURE__ */ (function () {\n function LT() {\n\n };\n LT.value = new LT();\n return LT;\n})();\nvar GT = /* #__PURE__ */ (function () {\n function GT() {\n\n };\n GT.value = new GT();\n return GT;\n})();\nvar EQ = /* #__PURE__ */ (function () {\n function EQ() {\n\n };\n EQ.value = new EQ();\n return EQ;\n})();\nvar showOrdering = {\n show: function (v) {\n if (v instanceof LT) {\n return \"LT\";\n };\n if (v instanceof GT) {\n return \"GT\";\n };\n if (v instanceof EQ) {\n return \"EQ\";\n };\n throw new Error(\"Failed pattern match at Data.Ordering (line 26, column 1 - line 29, column 17): \" + [ v.constructor.name ]);\n }\n};\nvar semigroupOrdering = {\n append: function (v) {\n return function (v1) {\n if (v instanceof LT) {\n return LT.value;\n };\n if (v instanceof GT) {\n return GT.value;\n };\n if (v instanceof EQ) {\n return v1;\n };\n throw new Error(\"Failed pattern match at Data.Ordering (line 21, column 1 - line 24, column 18): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n }\n};\nvar invert = function (v) {\n if (v instanceof GT) {\n return LT.value;\n };\n if (v instanceof EQ) {\n return EQ.value;\n };\n if (v instanceof LT) {\n return GT.value;\n };\n throw new Error(\"Failed pattern match at Data.Ordering (line 33, column 1 - line 33, column 31): \" + [ v.constructor.name ]);\n};\nvar eqOrdering = {\n eq: function (v) {\n return function (v1) {\n if (v instanceof LT && v1 instanceof LT) {\n return true;\n };\n if (v instanceof GT && v1 instanceof GT) {\n return true;\n };\n if (v instanceof EQ && v1 instanceof EQ) {\n return true;\n };\n return false;\n };\n }\n};\nexport {\n LT,\n GT,\n EQ,\n invert,\n eqOrdering,\n semigroupOrdering,\n showOrdering\n};\n", "export const intSub = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x - y | 0;\n };\n};\n\nexport const numSub = function (n1) {\n return function (n2) {\n return n1 - n2;\n };\n};\n", "export const intAdd = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x + y | 0;\n };\n};\n\nexport const intMul = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x * y | 0;\n };\n};\n\nexport const numAdd = function (n1) {\n return function (n2) {\n return n1 + n2;\n };\n};\n\nexport const numMul = function (n1) {\n return function (n2) {\n return n1 * n2;\n };\n};\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Data_Symbol from \"../Data.Symbol/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Record_Unsafe from \"../Record.Unsafe/index.js\";\nimport * as Type_Proxy from \"../Type.Proxy/index.js\";\nvar zeroRecord = function (dict) {\n return dict.zeroRecord;\n};\nvar zero = function (dict) {\n return dict.zero;\n};\nvar semiringUnit = {\n add: function (v) {\n return function (v1) {\n return Data_Unit.unit;\n };\n },\n zero: Data_Unit.unit,\n mul: function (v) {\n return function (v1) {\n return Data_Unit.unit;\n };\n },\n one: Data_Unit.unit\n};\nvar semiringRecordNil = {\n addRecord: function (v) {\n return function (v1) {\n return function (v2) {\n return {};\n };\n };\n },\n mulRecord: function (v) {\n return function (v1) {\n return function (v2) {\n return {};\n };\n };\n },\n oneRecord: function (v) {\n return function (v1) {\n return {};\n };\n },\n zeroRecord: function (v) {\n return function (v1) {\n return {};\n };\n }\n};\nvar semiringProxy = /* #__PURE__ */ (function () {\n return {\n add: function (v) {\n return function (v1) {\n return Type_Proxy[\"Proxy\"].value;\n };\n },\n mul: function (v) {\n return function (v1) {\n return Type_Proxy[\"Proxy\"].value;\n };\n },\n one: Type_Proxy[\"Proxy\"].value,\n zero: Type_Proxy[\"Proxy\"].value\n };\n})();\nvar semiringNumber = {\n add: $foreign.numAdd,\n zero: 0.0,\n mul: $foreign.numMul,\n one: 1.0\n};\nvar semiringInt = {\n add: $foreign.intAdd,\n zero: 0,\n mul: $foreign.intMul,\n one: 1\n};\nvar oneRecord = function (dict) {\n return dict.oneRecord;\n};\nvar one = function (dict) {\n return dict.one;\n};\nvar mulRecord = function (dict) {\n return dict.mulRecord;\n};\nvar mul = function (dict) {\n return dict.mul;\n};\nvar addRecord = function (dict) {\n return dict.addRecord;\n};\nvar semiringRecord = function () {\n return function (dictSemiringRecord) {\n return {\n add: addRecord(dictSemiringRecord)(Type_Proxy[\"Proxy\"].value),\n mul: mulRecord(dictSemiringRecord)(Type_Proxy[\"Proxy\"].value),\n one: oneRecord(dictSemiringRecord)(Type_Proxy[\"Proxy\"].value)(Type_Proxy[\"Proxy\"].value),\n zero: zeroRecord(dictSemiringRecord)(Type_Proxy[\"Proxy\"].value)(Type_Proxy[\"Proxy\"].value)\n };\n };\n};\nvar add = function (dict) {\n return dict.add;\n};\nvar semiringFn = function (dictSemiring) {\n return {\n add: function (f) {\n return function (g) {\n return function (x) {\n return add(dictSemiring)(f(x))(g(x));\n };\n };\n },\n zero: function (v) {\n return zero(dictSemiring);\n },\n mul: function (f) {\n return function (g) {\n return function (x) {\n return mul(dictSemiring)(f(x))(g(x));\n };\n };\n },\n one: function (v) {\n return one(dictSemiring);\n }\n };\n};\nvar semiringRecordCons = function (dictIsSymbol) {\n return function () {\n return function (dictSemiringRecord) {\n return function (dictSemiring) {\n return {\n addRecord: function (v) {\n return function (ra) {\n return function (rb) {\n var tail = addRecord(dictSemiringRecord)(Type_Proxy[\"Proxy\"].value)(ra)(rb);\n var key = Data_Symbol.reflectSymbol(dictIsSymbol)(Type_Proxy[\"Proxy\"].value);\n var insert = Record_Unsafe.unsafeSet(key);\n var get = Record_Unsafe.unsafeGet(key);\n return insert(add(dictSemiring)(get(ra))(get(rb)))(tail);\n };\n };\n },\n mulRecord: function (v) {\n return function (ra) {\n return function (rb) {\n var tail = mulRecord(dictSemiringRecord)(Type_Proxy[\"Proxy\"].value)(ra)(rb);\n var key = Data_Symbol.reflectSymbol(dictIsSymbol)(Type_Proxy[\"Proxy\"].value);\n var insert = Record_Unsafe.unsafeSet(key);\n var get = Record_Unsafe.unsafeGet(key);\n return insert(mul(dictSemiring)(get(ra))(get(rb)))(tail);\n };\n };\n },\n oneRecord: function (v) {\n return function (v1) {\n var tail = oneRecord(dictSemiringRecord)(Type_Proxy[\"Proxy\"].value)(Type_Proxy[\"Proxy\"].value);\n var key = Data_Symbol.reflectSymbol(dictIsSymbol)(Type_Proxy[\"Proxy\"].value);\n var insert = Record_Unsafe.unsafeSet(key);\n return insert(one(dictSemiring))(tail);\n };\n },\n zeroRecord: function (v) {\n return function (v1) {\n var tail = zeroRecord(dictSemiringRecord)(Type_Proxy[\"Proxy\"].value)(Type_Proxy[\"Proxy\"].value);\n var key = Data_Symbol.reflectSymbol(dictIsSymbol)(Type_Proxy[\"Proxy\"].value);\n var insert = Record_Unsafe.unsafeSet(key);\n return insert(zero(dictSemiring))(tail);\n };\n }\n };\n };\n };\n };\n};\nexport {\n add,\n zero,\n mul,\n one,\n addRecord,\n mulRecord,\n oneRecord,\n zeroRecord,\n semiringInt,\n semiringNumber,\n semiringFn,\n semiringUnit,\n semiringProxy,\n semiringRecord,\n semiringRecordNil,\n semiringRecordCons\n};\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Data_Semiring from \"../Data.Semiring/index.js\";\nimport * as Data_Symbol from \"../Data.Symbol/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Record_Unsafe from \"../Record.Unsafe/index.js\";\nimport * as Type_Proxy from \"../Type.Proxy/index.js\";\nvar subRecord = function (dict) {\n return dict.subRecord;\n};\nvar sub = function (dict) {\n return dict.sub;\n};\nvar ringUnit = {\n sub: function (v) {\n return function (v1) {\n return Data_Unit.unit;\n };\n },\n Semiring0: function () {\n return Data_Semiring.semiringUnit;\n }\n};\nvar ringRecordNil = {\n subRecord: function (v) {\n return function (v1) {\n return function (v2) {\n return {};\n };\n };\n },\n SemiringRecord0: function () {\n return Data_Semiring.semiringRecordNil;\n }\n};\nvar ringRecordCons = function (dictIsSymbol) {\n return function () {\n return function (dictRingRecord) {\n return function (dictRing) {\n return {\n subRecord: function (v) {\n return function (ra) {\n return function (rb) {\n var tail = subRecord(dictRingRecord)(Type_Proxy[\"Proxy\"].value)(ra)(rb);\n var key = Data_Symbol.reflectSymbol(dictIsSymbol)(Type_Proxy[\"Proxy\"].value);\n var insert = Record_Unsafe.unsafeSet(key);\n var get = Record_Unsafe.unsafeGet(key);\n return insert(sub(dictRing)(get(ra))(get(rb)))(tail);\n };\n };\n },\n SemiringRecord0: function () {\n return Data_Semiring.semiringRecordCons(dictIsSymbol)()(dictRingRecord.SemiringRecord0())(dictRing.Semiring0());\n }\n };\n };\n };\n };\n};\nvar ringRecord = function () {\n return function (dictRingRecord) {\n return {\n sub: subRecord(dictRingRecord)(Type_Proxy[\"Proxy\"].value),\n Semiring0: function () {\n return Data_Semiring.semiringRecord()(dictRingRecord.SemiringRecord0());\n }\n };\n };\n};\nvar ringProxy = {\n sub: function (v) {\n return function (v1) {\n return Type_Proxy[\"Proxy\"].value;\n };\n },\n Semiring0: function () {\n return Data_Semiring.semiringProxy;\n }\n};\nvar ringNumber = {\n sub: $foreign.numSub,\n Semiring0: function () {\n return Data_Semiring.semiringNumber;\n }\n};\nvar ringInt = {\n sub: $foreign.intSub,\n Semiring0: function () {\n return Data_Semiring.semiringInt;\n }\n};\nvar ringFn = function (dictRing) {\n return {\n sub: function (f) {\n return function (g) {\n return function (x) {\n return sub(dictRing)(f(x))(g(x));\n };\n };\n },\n Semiring0: function () {\n return Data_Semiring.semiringFn(dictRing.Semiring0());\n }\n };\n};\nvar negate = function (dictRing) {\n return function (a) {\n return sub(dictRing)(Data_Semiring.zero(dictRing.Semiring0()))(a);\n };\n};\nexport {\n sub,\n negate,\n subRecord,\n ringInt,\n ringNumber,\n ringUnit,\n ringFn,\n ringProxy,\n ringRecord,\n ringRecordNil,\n ringRecordCons\n};\nexport {\n add,\n mul,\n one,\n zero\n} from \"../Data.Semiring/index.js\";\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Ordering from \"../Data.Ordering/index.js\";\nimport * as Data_Ring from \"../Data.Ring/index.js\";\nimport * as Data_Semiring from \"../Data.Semiring/index.js\";\nimport * as Data_Symbol from \"../Data.Symbol/index.js\";\nimport * as Record_Unsafe from \"../Record.Unsafe/index.js\";\nimport * as Type_Proxy from \"../Type.Proxy/index.js\";\nvar ordVoid = {\n compare: function (v) {\n return function (v1) {\n return Data_Ordering.EQ.value;\n };\n },\n Eq0: function () {\n return Data_Eq.eqVoid;\n }\n};\nvar ordUnit = {\n compare: function (v) {\n return function (v1) {\n return Data_Ordering.EQ.value;\n };\n },\n Eq0: function () {\n return Data_Eq.eqUnit;\n }\n};\nvar ordString = /* #__PURE__ */ (function () {\n return {\n compare: $foreign.ordStringImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value),\n Eq0: function () {\n return Data_Eq.eqString;\n }\n };\n})();\nvar ordRecordNil = {\n compareRecord: function (v) {\n return function (v1) {\n return function (v2) {\n return Data_Ordering.EQ.value;\n };\n };\n },\n EqRecord0: function () {\n return Data_Eq.eqRowNil;\n }\n};\nvar ordProxy = {\n compare: function (v) {\n return function (v1) {\n return Data_Ordering.EQ.value;\n };\n },\n Eq0: function () {\n return Data_Eq.eqProxy;\n }\n};\nvar ordOrdering = {\n compare: function (v) {\n return function (v1) {\n if (v instanceof Data_Ordering.LT && v1 instanceof Data_Ordering.LT) {\n return Data_Ordering.EQ.value;\n };\n if (v instanceof Data_Ordering.EQ && v1 instanceof Data_Ordering.EQ) {\n return Data_Ordering.EQ.value;\n };\n if (v instanceof Data_Ordering.GT && v1 instanceof Data_Ordering.GT) {\n return Data_Ordering.EQ.value;\n };\n if (v instanceof Data_Ordering.LT) {\n return Data_Ordering.LT.value;\n };\n if (v instanceof Data_Ordering.EQ && v1 instanceof Data_Ordering.LT) {\n return Data_Ordering.GT.value;\n };\n if (v instanceof Data_Ordering.EQ && v1 instanceof Data_Ordering.GT) {\n return Data_Ordering.LT.value;\n };\n if (v instanceof Data_Ordering.GT) {\n return Data_Ordering.GT.value;\n };\n throw new Error(\"Failed pattern match at Data.Ord (line 126, column 1 - line 133, column 20): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n },\n Eq0: function () {\n return Data_Ordering.eqOrdering;\n }\n};\nvar ordNumber = /* #__PURE__ */ (function () {\n return {\n compare: $foreign.ordNumberImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value),\n Eq0: function () {\n return Data_Eq.eqNumber;\n }\n };\n})();\nvar ordInt = /* #__PURE__ */ (function () {\n return {\n compare: $foreign.ordIntImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value),\n Eq0: function () {\n return Data_Eq.eqInt;\n }\n };\n})();\nvar ordChar = /* #__PURE__ */ (function () {\n return {\n compare: $foreign.ordCharImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value),\n Eq0: function () {\n return Data_Eq.eqChar;\n }\n };\n})();\nvar ordBoolean = /* #__PURE__ */ (function () {\n return {\n compare: $foreign.ordBooleanImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value),\n Eq0: function () {\n return Data_Eq.eqBoolean;\n }\n };\n})();\nvar compareRecord = function (dict) {\n return dict.compareRecord;\n};\nvar ordRecord = function () {\n return function (dictOrdRecord) {\n return {\n compare: compareRecord(dictOrdRecord)(Type_Proxy[\"Proxy\"].value),\n Eq0: function () {\n return Data_Eq.eqRec()(dictOrdRecord.EqRecord0());\n }\n };\n };\n};\nvar compare1 = function (dict) {\n return dict.compare1;\n};\nvar compare = function (dict) {\n return dict.compare;\n};\nvar comparing = function (dictOrd) {\n return function (f) {\n return function (x) {\n return function (y) {\n return compare(dictOrd)(f(x))(f(y));\n };\n };\n };\n};\nvar greaterThan = function (dictOrd) {\n return function (a1) {\n return function (a2) {\n var v = compare(dictOrd)(a1)(a2);\n if (v instanceof Data_Ordering.GT) {\n return true;\n };\n return false;\n };\n };\n};\nvar greaterThanOrEq = function (dictOrd) {\n return function (a1) {\n return function (a2) {\n var v = compare(dictOrd)(a1)(a2);\n if (v instanceof Data_Ordering.LT) {\n return false;\n };\n return true;\n };\n };\n};\nvar lessThan = function (dictOrd) {\n return function (a1) {\n return function (a2) {\n var v = compare(dictOrd)(a1)(a2);\n if (v instanceof Data_Ordering.LT) {\n return true;\n };\n return false;\n };\n };\n};\nvar signum = function (dictOrd) {\n return function (dictRing) {\n return function (x) {\n var $47 = lessThan(dictOrd)(x)(Data_Semiring.zero(dictRing.Semiring0()));\n if ($47) {\n return Data_Ring.negate(dictRing)(Data_Semiring.one(dictRing.Semiring0()));\n };\n var $48 = greaterThan(dictOrd)(x)(Data_Semiring.zero(dictRing.Semiring0()));\n if ($48) {\n return Data_Semiring.one(dictRing.Semiring0());\n };\n return x;\n };\n };\n};\nvar lessThanOrEq = function (dictOrd) {\n return function (a1) {\n return function (a2) {\n var v = compare(dictOrd)(a1)(a2);\n if (v instanceof Data_Ordering.GT) {\n return false;\n };\n return true;\n };\n };\n};\nvar max = function (dictOrd) {\n return function (x) {\n return function (y) {\n var v = compare(dictOrd)(x)(y);\n if (v instanceof Data_Ordering.LT) {\n return y;\n };\n if (v instanceof Data_Ordering.EQ) {\n return x;\n };\n if (v instanceof Data_Ordering.GT) {\n return x;\n };\n throw new Error(\"Failed pattern match at Data.Ord (line 181, column 3 - line 184, column 12): \" + [ v.constructor.name ]);\n };\n };\n};\nvar min = function (dictOrd) {\n return function (x) {\n return function (y) {\n var v = compare(dictOrd)(x)(y);\n if (v instanceof Data_Ordering.LT) {\n return x;\n };\n if (v instanceof Data_Ordering.EQ) {\n return x;\n };\n if (v instanceof Data_Ordering.GT) {\n return y;\n };\n throw new Error(\"Failed pattern match at Data.Ord (line 172, column 3 - line 175, column 12): \" + [ v.constructor.name ]);\n };\n };\n};\nvar ordArray = function (dictOrd) {\n return {\n compare: (function () {\n var toDelta = function (x) {\n return function (y) {\n var v = compare(dictOrd)(x)(y);\n if (v instanceof Data_Ordering.EQ) {\n return 0;\n };\n if (v instanceof Data_Ordering.LT) {\n return 1;\n };\n if (v instanceof Data_Ordering.GT) {\n return -1 | 0;\n };\n throw new Error(\"Failed pattern match at Data.Ord (line 79, column 7 - line 82, column 17): \" + [ v.constructor.name ]);\n };\n };\n return function (xs) {\n return function (ys) {\n return compare(ordInt)(0)($foreign.ordArrayImpl(toDelta)(xs)(ys));\n };\n };\n })(),\n Eq0: function () {\n return Data_Eq.eqArray(dictOrd.Eq0());\n }\n };\n};\nvar ord1Array = {\n compare1: function (dictOrd) {\n return compare(ordArray(dictOrd));\n },\n Eq10: function () {\n return Data_Eq.eq1Array;\n }\n};\nvar ordRecordCons = function (dictOrdRecord) {\n return function () {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return {\n compareRecord: function (v) {\n return function (ra) {\n return function (rb) {\n var key = Data_Symbol.reflectSymbol(dictIsSymbol)(Type_Proxy[\"Proxy\"].value);\n var left = compare(dictOrd)(Record_Unsafe.unsafeGet(key)(ra))(Record_Unsafe.unsafeGet(key)(rb));\n var $53 = Data_Eq.notEq(Data_Ordering.eqOrdering)(left)(Data_Ordering.EQ.value);\n if ($53) {\n return left;\n };\n return compareRecord(dictOrdRecord)(Type_Proxy[\"Proxy\"].value)(ra)(rb);\n };\n };\n },\n EqRecord0: function () {\n return Data_Eq.eqRowCons(dictOrdRecord.EqRecord0())()(dictIsSymbol)(dictOrd.Eq0());\n }\n };\n };\n };\n };\n};\nvar clamp = function (dictOrd) {\n return function (low) {\n return function (hi) {\n return function (x) {\n return min(dictOrd)(hi)(max(dictOrd)(low)(x));\n };\n };\n };\n};\nvar between = function (dictOrd) {\n return function (low) {\n return function (hi) {\n return function (x) {\n if (lessThan(dictOrd)(x)(low)) {\n return false;\n };\n if (greaterThan(dictOrd)(x)(hi)) {\n return false;\n };\n return true;\n };\n };\n };\n};\nvar abs = function (dictOrd) {\n return function (dictRing) {\n return function (x) {\n var $57 = greaterThanOrEq(dictOrd)(x)(Data_Semiring.zero(dictRing.Semiring0()));\n if ($57) {\n return x;\n };\n return Data_Ring.negate(dictRing)(x);\n };\n };\n};\nexport {\n compare,\n compare1,\n lessThan,\n lessThanOrEq,\n greaterThan,\n greaterThanOrEq,\n comparing,\n min,\n max,\n clamp,\n between,\n abs,\n signum,\n compareRecord,\n ordBoolean,\n ordInt,\n ordNumber,\n ordString,\n ordChar,\n ordUnit,\n ordVoid,\n ordProxy,\n ordArray,\n ordOrdering,\n ord1Array,\n ordRecordNil,\n ordRecordCons,\n ordRecord\n};\nexport {\n EQ,\n GT,\n LT\n} from \"../Data.Ordering/index.js\";\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Ordering from \"../Data.Ordering/index.js\";\nimport * as Data_Symbol from \"../Data.Symbol/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Record_Unsafe from \"../Record.Unsafe/index.js\";\nimport * as Type_Proxy from \"../Type.Proxy/index.js\";\nvar topRecord = function (dict) {\n return dict.topRecord;\n};\nvar top = function (dict) {\n return dict.top;\n};\nvar boundedUnit = {\n top: Data_Unit.unit,\n bottom: Data_Unit.unit,\n Ord0: function () {\n return Data_Ord.ordUnit;\n }\n};\nvar boundedRecordNil = {\n topRecord: function (v) {\n return function (v1) {\n return {};\n };\n },\n bottomRecord: function (v) {\n return function (v1) {\n return {};\n };\n },\n OrdRecord0: function () {\n return Data_Ord.ordRecordNil;\n }\n};\nvar boundedProxy = /* #__PURE__ */ (function () {\n return {\n bottom: Type_Proxy[\"Proxy\"].value,\n top: Type_Proxy[\"Proxy\"].value,\n Ord0: function () {\n return Data_Ord.ordProxy;\n }\n };\n})();\nvar boundedOrdering = /* #__PURE__ */ (function () {\n return {\n top: Data_Ordering.GT.value,\n bottom: Data_Ordering.LT.value,\n Ord0: function () {\n return Data_Ord.ordOrdering;\n }\n };\n})();\nvar boundedNumber = {\n top: $foreign.topNumber,\n bottom: $foreign.bottomNumber,\n Ord0: function () {\n return Data_Ord.ordNumber;\n }\n};\nvar boundedInt = {\n top: $foreign.topInt,\n bottom: $foreign.bottomInt,\n Ord0: function () {\n return Data_Ord.ordInt;\n }\n};\nvar boundedChar = {\n top: $foreign.topChar,\n bottom: $foreign.bottomChar,\n Ord0: function () {\n return Data_Ord.ordChar;\n }\n};\nvar boundedBoolean = {\n top: true,\n bottom: false,\n Ord0: function () {\n return Data_Ord.ordBoolean;\n }\n};\nvar bottomRecord = function (dict) {\n return dict.bottomRecord;\n};\nvar boundedRecord = function () {\n return function (dictBoundedRecord) {\n return {\n top: topRecord(dictBoundedRecord)(Type_Proxy[\"Proxy\"].value)(Type_Proxy[\"Proxy\"].value),\n bottom: bottomRecord(dictBoundedRecord)(Type_Proxy[\"Proxy\"].value)(Type_Proxy[\"Proxy\"].value),\n Ord0: function () {\n return Data_Ord.ordRecord()(dictBoundedRecord.OrdRecord0());\n }\n };\n };\n};\nvar bottom = function (dict) {\n return dict.bottom;\n};\nvar boundedRecordCons = function (dictIsSymbol) {\n return function (dictBounded) {\n return function () {\n return function () {\n return function (dictBoundedRecord) {\n return {\n topRecord: function (v) {\n return function (rowProxy) {\n var tail = topRecord(dictBoundedRecord)(Type_Proxy[\"Proxy\"].value)(rowProxy);\n var key = Data_Symbol.reflectSymbol(dictIsSymbol)(Type_Proxy[\"Proxy\"].value);\n var insert = Record_Unsafe.unsafeSet(key);\n return insert(top(dictBounded))(tail);\n };\n },\n bottomRecord: function (v) {\n return function (rowProxy) {\n var tail = bottomRecord(dictBoundedRecord)(Type_Proxy[\"Proxy\"].value)(rowProxy);\n var key = Data_Symbol.reflectSymbol(dictIsSymbol)(Type_Proxy[\"Proxy\"].value);\n var insert = Record_Unsafe.unsafeSet(key);\n return insert(bottom(dictBounded))(tail);\n };\n },\n OrdRecord0: function () {\n return Data_Ord.ordRecordCons(dictBoundedRecord.OrdRecord0())()(dictIsSymbol)(dictBounded.Ord0());\n }\n };\n };\n };\n };\n };\n};\nexport {\n bottom,\n top,\n bottomRecord,\n topRecord,\n boundedBoolean,\n boundedInt,\n boundedChar,\n boundedOrdering,\n boundedUnit,\n boundedNumber,\n boundedProxy,\n boundedRecordNil,\n boundedRecordCons,\n boundedRecord\n};\nexport {\n EQ,\n GT,\n LT,\n compare\n} from \"../Data.Ord/index.js\";\n", "export const showIntImpl = function (n) {\n return n.toString();\n};\n\nexport const showNumberImpl = function (n) {\n var str = n.toString();\n return isNaN(str + \".0\") ? str : str + \".0\";\n};\n\nexport const showCharImpl = function (c) {\n var code = c.charCodeAt(0);\n if (code < 0x20 || code === 0x7F) {\n switch (c) {\n case \"\\x07\": return \"'\\\\a'\";\n case \"\\b\": return \"'\\\\b'\";\n case \"\\f\": return \"'\\\\f'\";\n case \"\\n\": return \"'\\\\n'\";\n case \"\\r\": return \"'\\\\r'\";\n case \"\\t\": return \"'\\\\t'\";\n case \"\\v\": return \"'\\\\v'\";\n }\n return \"'\\\\\" + code.toString(10) + \"'\";\n }\n return c === \"'\" || c === \"\\\\\" ? \"'\\\\\" + c + \"'\" : \"'\" + c + \"'\";\n};\n\nexport const showStringImpl = function (s) {\n var l = s.length;\n return \"\\\"\" + s.replace(\n /[\\0-\\x1F\\x7F\"\\\\]/g, // eslint-disable-line no-control-regex\n function (c, i) {\n switch (c) {\n case \"\\\"\":\n case \"\\\\\":\n return \"\\\\\" + c;\n case \"\\x07\": return \"\\\\a\";\n case \"\\b\": return \"\\\\b\";\n case \"\\f\": return \"\\\\f\";\n case \"\\n\": return \"\\\\n\";\n case \"\\r\": return \"\\\\r\";\n case \"\\t\": return \"\\\\t\";\n case \"\\v\": return \"\\\\v\";\n }\n var k = i + 1;\n var empty = k < l && s[k] >= \"0\" && s[k] <= \"9\" ? \"\\\\&\" : \"\";\n return \"\\\\\" + c.charCodeAt(0).toString(10) + empty;\n }\n ) + \"\\\"\";\n};\n\nexport const showArrayImpl = function (f) {\n return function (xs) {\n var ss = [];\n for (var i = 0, l = xs.length; i < l; i++) {\n ss[i] = f(xs[i]);\n }\n return \"[\" + ss.join(\",\") + \"]\";\n };\n};\n\nexport const cons = function (head) {\n return function (tail) {\n return [head].concat(tail);\n };\n};\n\nexport const intercalate = function (separator) {\n return function (xs) {\n return xs.join(separator);\n };\n};\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Data_Symbol from \"../Data.Symbol/index.js\";\nimport * as Record_Unsafe from \"../Record.Unsafe/index.js\";\nimport * as Type_Proxy from \"../Type.Proxy/index.js\";\nvar showString = {\n show: $foreign.showStringImpl\n};\nvar showRecordFieldsNil = {\n showRecordFields: function (v) {\n return function (v1) {\n return [ ];\n };\n }\n};\nvar showRecordFields = function (dict) {\n return dict.showRecordFields;\n};\nvar showRecord = function () {\n return function () {\n return function (dictShowRecordFields) {\n return {\n show: function (record) {\n var v = showRecordFields(dictShowRecordFields)(Type_Proxy[\"Proxy\"].value)(record);\n if (v.length === 0) {\n return \"{}\";\n };\n return $foreign.intercalate(\" \")([ \"{\", $foreign.intercalate(\", \")(v), \"}\" ]);\n }\n };\n };\n };\n};\nvar showProxy = {\n show: function (v) {\n return \"Proxy\";\n }\n};\nvar showNumber = {\n show: $foreign.showNumberImpl\n};\nvar showInt = {\n show: $foreign.showIntImpl\n};\nvar showChar = {\n show: $foreign.showCharImpl\n};\nvar showBoolean = {\n show: function (v) {\n if (v) {\n return \"true\";\n };\n if (!v) {\n return \"false\";\n };\n throw new Error(\"Failed pattern match at Data.Show (line 23, column 1 - line 25, column 23): \" + [ v.constructor.name ]);\n }\n};\nvar show = function (dict) {\n return dict.show;\n};\nvar showArray = function (dictShow) {\n return {\n show: $foreign.showArrayImpl(show(dictShow))\n };\n};\nvar showRecordFieldsCons = function (dictIsSymbol) {\n return function (dictShowRecordFields) {\n return function (dictShow) {\n return {\n showRecordFields: function (v) {\n return function (record) {\n var tail = showRecordFields(dictShowRecordFields)(Type_Proxy[\"Proxy\"].value)(record);\n var key = Data_Symbol.reflectSymbol(dictIsSymbol)(Type_Proxy[\"Proxy\"].value);\n var focus = Record_Unsafe.unsafeGet(key)(record);\n return $foreign.cons($foreign.intercalate(\": \")([ key, show(dictShow)(focus) ]))(tail);\n };\n }\n };\n };\n };\n};\nexport {\n show,\n showRecordFields,\n showBoolean,\n showInt,\n showNumber,\n showChar,\n showString,\n showArray,\n showProxy,\n showRecord,\n showRecordFieldsNil,\n showRecordFieldsCons\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Alt from \"../Control.Alt/index.js\";\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Apply from \"../Control.Apply/index.js\";\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Data_Bounded from \"../Data.Bounded/index.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Functor_Invariant from \"../Data.Functor.Invariant/index.js\";\nimport * as Data_Generic_Rep from \"../Data.Generic.Rep/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Ordering from \"../Data.Ordering/index.js\";\nimport * as Data_Semigroup from \"../Data.Semigroup/index.js\";\nimport * as Data_Semiring from \"../Data.Semiring/index.js\";\nimport * as Data_Show from \"../Data.Show/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nvar Nothing = /* #__PURE__ */ (function () {\n function Nothing() {\n\n };\n Nothing.value = new Nothing();\n return Nothing;\n})();\nvar Just = /* #__PURE__ */ (function () {\n function Just(value0) {\n this.value0 = value0;\n };\n Just.create = function (value0) {\n return new Just(value0);\n };\n return Just;\n})();\nvar showMaybe = function (dictShow) {\n return {\n show: function (v) {\n if (v instanceof Just) {\n return \"(Just \" + (Data_Show.show(dictShow)(v.value0) + \")\");\n };\n if (v instanceof Nothing) {\n return \"Nothing\";\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 223, column 1 - line 225, column 28): \" + [ v.constructor.name ]);\n }\n };\n};\nvar semigroupMaybe = function (dictSemigroup) {\n return {\n append: function (v) {\n return function (v1) {\n if (v instanceof Nothing) {\n return v1;\n };\n if (v1 instanceof Nothing) {\n return v;\n };\n if (v instanceof Just && v1 instanceof Just) {\n return new Just(Data_Semigroup.append(dictSemigroup)(v.value0)(v1.value0));\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 182, column 1 - line 185, column 43): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n }\n };\n};\nvar optional = function (dictAlt) {\n return function (dictApplicative) {\n return function (a) {\n return Control_Alt.alt(dictAlt)(Data_Functor.map(dictAlt.Functor0())(Just.create)(a))(Control_Applicative.pure(dictApplicative)(Nothing.value));\n };\n };\n};\nvar monoidMaybe = function (dictSemigroup) {\n return {\n mempty: Nothing.value,\n Semigroup0: function () {\n return semigroupMaybe(dictSemigroup);\n }\n };\n};\nvar maybe$prime = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Nothing) {\n return v(Data_Unit.unit);\n };\n if (v2 instanceof Just) {\n return v1(v2.value0);\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 250, column 1 - line 250, column 62): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n};\nvar maybe = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Nothing) {\n return v;\n };\n if (v2 instanceof Just) {\n return v1(v2.value0);\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 237, column 1 - line 237, column 51): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n};\nvar isNothing = /* #__PURE__ */ maybe(true)(/* #__PURE__ */ Data_Function[\"const\"](false));\nvar isJust = /* #__PURE__ */ maybe(false)(/* #__PURE__ */ Data_Function[\"const\"](true));\nvar genericMaybe = {\n to: function (x) {\n if (x instanceof Data_Generic_Rep.Inl) {\n return Nothing.value;\n };\n if (x instanceof Data_Generic_Rep.Inr) {\n return new Just(x.value0);\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 227, column 1 - line 227, column 52): \" + [ x.constructor.name ]);\n },\n from: function (x) {\n if (x instanceof Nothing) {\n return new Data_Generic_Rep.Inl(Data_Generic_Rep.NoArguments.value);\n };\n if (x instanceof Just) {\n return new Data_Generic_Rep.Inr(x.value0);\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 227, column 1 - line 227, column 52): \" + [ x.constructor.name ]);\n }\n};\nvar functorMaybe = {\n map: function (v) {\n return function (v1) {\n if (v1 instanceof Just) {\n return new Just(v(v1.value0));\n };\n return Nothing.value;\n };\n }\n};\nvar invariantMaybe = {\n imap: /* #__PURE__ */ Data_Functor_Invariant.imapF(functorMaybe)\n};\nvar fromMaybe$prime = function (a) {\n return maybe$prime(a)(Control_Category.identity(Control_Category.categoryFn));\n};\nvar fromMaybe = function (a) {\n return maybe(a)(Control_Category.identity(Control_Category.categoryFn));\n};\nvar fromJust = function () {\n return function (v) {\n if (v instanceof Just) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 288, column 1 - line 288, column 46): \" + [ v.constructor.name ]);\n };\n};\nvar extendMaybe = {\n extend: function (v) {\n return function (v1) {\n if (v1 instanceof Nothing) {\n return Nothing.value;\n };\n return new Just(v(v1));\n };\n },\n Functor0: function () {\n return functorMaybe;\n }\n};\nvar eqMaybe = function (dictEq) {\n return {\n eq: function (x) {\n return function (y) {\n if (x instanceof Nothing && y instanceof Nothing) {\n return true;\n };\n if (x instanceof Just && y instanceof Just) {\n return Data_Eq.eq(dictEq)(x.value0)(y.value0);\n };\n return false;\n };\n }\n };\n};\nvar ordMaybe = function (dictOrd) {\n return {\n compare: function (x) {\n return function (y) {\n if (x instanceof Nothing && y instanceof Nothing) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof Nothing) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof Nothing) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof Just && y instanceof Just) {\n return Data_Ord.compare(dictOrd)(x.value0)(y.value0);\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 0, column 0 - line 0, column 0): \" + [ x.constructor.name, y.constructor.name ]);\n };\n },\n Eq0: function () {\n return eqMaybe(dictOrd.Eq0());\n }\n };\n};\nvar eq1Maybe = {\n eq1: function (dictEq) {\n return Data_Eq.eq(eqMaybe(dictEq));\n }\n};\nvar ord1Maybe = {\n compare1: function (dictOrd) {\n return Data_Ord.compare(ordMaybe(dictOrd));\n },\n Eq10: function () {\n return eq1Maybe;\n }\n};\nvar boundedMaybe = function (dictBounded) {\n return {\n top: new Just(Data_Bounded.top(dictBounded)),\n bottom: Nothing.value,\n Ord0: function () {\n return ordMaybe(dictBounded.Ord0());\n }\n };\n};\nvar applyMaybe = {\n apply: function (v) {\n return function (v1) {\n if (v instanceof Just) {\n return Data_Functor.map(functorMaybe)(v.value0)(v1);\n };\n if (v instanceof Nothing) {\n return Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 67, column 1 - line 69, column 30): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n },\n Functor0: function () {\n return functorMaybe;\n }\n};\nvar bindMaybe = {\n bind: function (v) {\n return function (v1) {\n if (v instanceof Just) {\n return v1(v.value0);\n };\n if (v instanceof Nothing) {\n return Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 125, column 1 - line 127, column 28): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n },\n Apply0: function () {\n return applyMaybe;\n }\n};\nvar semiringMaybe = function (dictSemiring) {\n return {\n zero: Nothing.value,\n one: new Just(Data_Semiring.one(dictSemiring)),\n add: function (v) {\n return function (v1) {\n if (v instanceof Nothing) {\n return v1;\n };\n if (v1 instanceof Nothing) {\n return v;\n };\n if (v instanceof Just && v1 instanceof Just) {\n return new Just(Data_Semiring.add(dictSemiring)(v.value0)(v1.value0));\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 190, column 1 - line 198, column 28): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n },\n mul: function (x) {\n return function (y) {\n return Control_Apply.apply(applyMaybe)(Data_Functor.map(functorMaybe)(Data_Semiring.mul(dictSemiring))(x))(y);\n };\n }\n };\n};\nvar applicativeMaybe = /* #__PURE__ */ (function () {\n return {\n pure: Just.create,\n Apply0: function () {\n return applyMaybe;\n }\n };\n})();\nvar monadMaybe = {\n Applicative0: function () {\n return applicativeMaybe;\n },\n Bind1: function () {\n return bindMaybe;\n }\n};\nvar altMaybe = {\n alt: function (v) {\n return function (v1) {\n if (v instanceof Nothing) {\n return v1;\n };\n return v;\n };\n },\n Functor0: function () {\n return functorMaybe;\n }\n};\nvar plusMaybe = /* #__PURE__ */ (function () {\n return {\n empty: Nothing.value,\n Alt0: function () {\n return altMaybe;\n }\n };\n})();\nvar alternativeMaybe = {\n Applicative0: function () {\n return applicativeMaybe;\n },\n Plus1: function () {\n return plusMaybe;\n }\n};\nexport {\n Nothing,\n Just,\n maybe,\n maybe$prime,\n fromMaybe,\n fromMaybe$prime,\n isJust,\n isNothing,\n fromJust,\n optional,\n functorMaybe,\n applyMaybe,\n applicativeMaybe,\n altMaybe,\n plusMaybe,\n alternativeMaybe,\n bindMaybe,\n monadMaybe,\n extendMaybe,\n invariantMaybe,\n semigroupMaybe,\n monoidMaybe,\n semiringMaybe,\n eqMaybe,\n eq1Maybe,\n ordMaybe,\n ord1Maybe,\n boundedMaybe,\n showMaybe,\n genericMaybe\n};\n", "// Generated by purs version 0.15.2\nvar textXML = \"text/xml\";\nvar textPlain = \"text/plain\";\nvar textHTML = \"text/html\";\nvar textCSV = \"text/csv\";\nvar textCSS = \"text/css\";\nvar multipartFormData = \"multipart/form-data\";\nvar imagePNG = \"image/png\";\nvar imageJPEG = \"image/jpeg\";\nvar imageGIF = \"image/gif\";\nvar applicationXML = \"application/xml\";\nvar applicationOctetStream = \"application/octet-stream\";\nvar applicationJavascript = \"application/javascript\";\nvar applicationJSON = \"application/json\";\nvar applicationFormURLEncoded = \"application/x-www-form-urlencoded\";\nexport {\n applicationFormURLEncoded,\n applicationJSON,\n applicationJavascript,\n applicationOctetStream,\n applicationXML,\n imageGIF,\n imageJPEG,\n imagePNG,\n multipartFormData,\n textCSV,\n textHTML,\n textPlain,\n textXML,\n textCSS\n};\n", "// Generated by purs version 0.15.2\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_MediaType_Common from \"../Data.MediaType.Common/index.js\";\nvar ArrayView = /* #__PURE__ */ (function () {\n function ArrayView(value0) {\n this.value0 = value0;\n };\n ArrayView.create = function (value0) {\n return new ArrayView(value0);\n };\n return ArrayView;\n})();\nvar Blob = /* #__PURE__ */ (function () {\n function Blob(value0) {\n this.value0 = value0;\n };\n Blob.create = function (value0) {\n return new Blob(value0);\n };\n return Blob;\n})();\nvar Document = /* #__PURE__ */ (function () {\n function Document(value0) {\n this.value0 = value0;\n };\n Document.create = function (value0) {\n return new Document(value0);\n };\n return Document;\n})();\nvar $$String = /* #__PURE__ */ (function () {\n function $$String(value0) {\n this.value0 = value0;\n };\n $$String.create = function (value0) {\n return new $$String(value0);\n };\n return $$String;\n})();\nvar FormData = /* #__PURE__ */ (function () {\n function FormData(value0) {\n this.value0 = value0;\n };\n FormData.create = function (value0) {\n return new FormData(value0);\n };\n return FormData;\n})();\nvar FormURLEncoded = /* #__PURE__ */ (function () {\n function FormURLEncoded(value0) {\n this.value0 = value0;\n };\n FormURLEncoded.create = function (value0) {\n return new FormURLEncoded(value0);\n };\n return FormURLEncoded;\n})();\nvar Json = /* #__PURE__ */ (function () {\n function Json(value0) {\n this.value0 = value0;\n };\n Json.create = function (value0) {\n return new Json(value0);\n };\n return Json;\n})();\nvar toMediaType = function (v) {\n if (v instanceof FormURLEncoded) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationFormURLEncoded);\n };\n if (v instanceof Json) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);\n };\n return Data_Maybe.Nothing.value;\n};\nvar string = /* #__PURE__ */ (function () {\n return $$String.create;\n})();\nvar json = /* #__PURE__ */ (function () {\n return Json.create;\n})();\nvar formURLEncoded = /* #__PURE__ */ (function () {\n return FormURLEncoded.create;\n})();\nvar formData = /* #__PURE__ */ (function () {\n return FormData.create;\n})();\nvar document = /* #__PURE__ */ (function () {\n return Document.create;\n})();\nvar blob = /* #__PURE__ */ (function () {\n return Blob.create;\n})();\nvar arrayView = function (av) {\n return new ArrayView(function (f) {\n return f(av);\n });\n};\nexport {\n ArrayView,\n Blob,\n Document,\n $$String as String,\n FormData,\n FormURLEncoded,\n Json,\n arrayView,\n blob,\n document,\n string,\n formData,\n formURLEncoded,\n json,\n toMediaType\n};\n", "// module Unsafe.Coerce\n\nexport const unsafeCoerce = function (x) {\n return x;\n};\n", "// Generated by purs version 0.15.2\nimport * as Unsafe_Coerce from \"../Unsafe.Coerce/index.js\";\nvar coerce = function () {\n return Unsafe_Coerce.unsafeCoerce;\n};\nexport {\n coerce\n};\n", "// Generated by purs version 0.15.2\nimport * as Safe_Coerce from \"../Safe.Coerce/index.js\";\nvar wrap = Safe_Coerce.coerce;\nvar unwrap = Safe_Coerce.coerce;\nvar underF2 = function () {\n return function () {\n return function () {\n return function () {\n return function (v) {\n return Safe_Coerce.coerce();\n };\n };\n };\n };\n};\nvar underF = function () {\n return function () {\n return function () {\n return function () {\n return function (v) {\n return Safe_Coerce.coerce();\n };\n };\n };\n };\n};\nvar under2 = function () {\n return function () {\n return function (v) {\n return Safe_Coerce.coerce();\n };\n };\n};\nvar under = function () {\n return function () {\n return function (v) {\n return Safe_Coerce.coerce();\n };\n };\n};\nvar un = function () {\n return function (v) {\n return unwrap();\n };\n};\nvar traverse = function () {\n return function () {\n return function (v) {\n return Safe_Coerce.coerce();\n };\n };\n};\nvar overF2 = function () {\n return function () {\n return function () {\n return function () {\n return function (v) {\n return Safe_Coerce.coerce();\n };\n };\n };\n };\n};\nvar overF = function () {\n return function () {\n return function () {\n return function () {\n return function (v) {\n return Safe_Coerce.coerce();\n };\n };\n };\n };\n};\nvar over2 = function () {\n return function () {\n return function (v) {\n return Safe_Coerce.coerce();\n };\n };\n};\nvar over = function () {\n return function () {\n return function (v) {\n return Safe_Coerce.coerce();\n };\n };\n};\nvar newtypeMultiplicative = {\n Coercible0: function () {\n return undefined;\n }\n};\nvar newtypeLast = {\n Coercible0: function () {\n return undefined;\n }\n};\nvar newtypeFirst = {\n Coercible0: function () {\n return undefined;\n }\n};\nvar newtypeEndo = {\n Coercible0: function () {\n return undefined;\n }\n};\nvar newtypeDual = {\n Coercible0: function () {\n return undefined;\n }\n};\nvar newtypeDisj = {\n Coercible0: function () {\n return undefined;\n }\n};\nvar newtypeConj = {\n Coercible0: function () {\n return undefined;\n }\n};\nvar newtypeAdditive = {\n Coercible0: function () {\n return undefined;\n }\n};\nvar modify = function () {\n return function (fn) {\n return function (t) {\n return wrap()(fn(unwrap()(t)));\n };\n };\n};\nvar collect = function () {\n return function () {\n return function (v) {\n return Safe_Coerce.coerce();\n };\n };\n};\nvar alaF = function () {\n return function () {\n return function () {\n return function () {\n return function (v) {\n return Safe_Coerce.coerce();\n };\n };\n };\n };\n};\nvar ala = function () {\n return function () {\n return function () {\n return function (v) {\n return function (f) {\n return Safe_Coerce.coerce()(f(wrap()));\n };\n };\n };\n };\n};\nexport {\n wrap,\n unwrap,\n un,\n modify,\n ala,\n alaF,\n over,\n overF,\n under,\n underF,\n over2,\n overF2,\n under2,\n underF2,\n traverse,\n collect,\n newtypeAdditive,\n newtypeMultiplicative,\n newtypeConj,\n newtypeDisj,\n newtypeDual,\n newtypeEndo,\n newtypeFirst,\n newtypeLast\n};\n", "// Generated by purs version 0.15.2\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_MediaType from \"../Data.MediaType/index.js\";\nimport * as Data_Newtype from \"../Data.Newtype/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Ordering from \"../Data.Ordering/index.js\";\nimport * as Data_Show from \"../Data.Show/index.js\";\nvar Accept = /* #__PURE__ */ (function () {\n function Accept(value0) {\n this.value0 = value0;\n };\n Accept.create = function (value0) {\n return new Accept(value0);\n };\n return Accept;\n})();\nvar ContentType = /* #__PURE__ */ (function () {\n function ContentType(value0) {\n this.value0 = value0;\n };\n ContentType.create = function (value0) {\n return new ContentType(value0);\n };\n return ContentType;\n})();\nvar RequestHeader = /* #__PURE__ */ (function () {\n function RequestHeader(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n RequestHeader.create = function (value0) {\n return function (value1) {\n return new RequestHeader(value0, value1);\n };\n };\n return RequestHeader;\n})();\nvar value = function (v) {\n if (v instanceof Accept) {\n return Data_Newtype.unwrap()(v.value0);\n };\n if (v instanceof ContentType) {\n return Data_Newtype.unwrap()(v.value0);\n };\n if (v instanceof RequestHeader) {\n return v.value1;\n };\n throw new Error(\"Failed pattern match at Affjax.RequestHeader (line 26, column 1 - line 26, column 33): \" + [ v.constructor.name ]);\n};\nvar showRequestHeader = {\n show: function (v) {\n if (v instanceof Accept) {\n return \"(Accept \" + (Data_Show.show(Data_MediaType.showMediaType)(v.value0) + \")\");\n };\n if (v instanceof ContentType) {\n return \"(ContentType \" + (Data_Show.show(Data_MediaType.showMediaType)(v.value0) + \")\");\n };\n if (v instanceof RequestHeader) {\n return \"(RequestHeader \" + (Data_Show.show(Data_Show.showString)(v.value0) + (\" \" + (Data_Show.show(Data_Show.showString)(v.value1) + \")\")));\n };\n throw new Error(\"Failed pattern match at Affjax.RequestHeader (line 16, column 1 - line 19, column 81): \" + [ v.constructor.name ]);\n }\n};\nvar name = function (v) {\n if (v instanceof Accept) {\n return \"Accept\";\n };\n if (v instanceof ContentType) {\n return \"Content-Type\";\n };\n if (v instanceof RequestHeader) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Affjax.RequestHeader (line 21, column 1 - line 21, column 32): \" + [ v.constructor.name ]);\n};\nvar eqRequestHeader = {\n eq: function (x) {\n return function (y) {\n if (x instanceof Accept && y instanceof Accept) {\n return Data_Eq.eq(Data_MediaType.eqMediaType)(x.value0)(y.value0);\n };\n if (x instanceof ContentType && y instanceof ContentType) {\n return Data_Eq.eq(Data_MediaType.eqMediaType)(x.value0)(y.value0);\n };\n if (x instanceof RequestHeader && y instanceof RequestHeader) {\n return x.value0 === y.value0 && x.value1 === y.value1;\n };\n return false;\n };\n }\n};\nvar ordRequestHeader = {\n compare: function (x) {\n return function (y) {\n if (x instanceof Accept && y instanceof Accept) {\n return Data_Ord.compare(Data_MediaType.ordMediaType)(x.value0)(y.value0);\n };\n if (x instanceof Accept) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof Accept) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof ContentType && y instanceof ContentType) {\n return Data_Ord.compare(Data_MediaType.ordMediaType)(x.value0)(y.value0);\n };\n if (x instanceof ContentType) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof ContentType) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof RequestHeader && y instanceof RequestHeader) {\n var v = Data_Ord.compare(Data_Ord.ordString)(x.value0)(y.value0);\n if (v instanceof Data_Ordering.LT) {\n return Data_Ordering.LT.value;\n };\n if (v instanceof Data_Ordering.GT) {\n return Data_Ordering.GT.value;\n };\n return Data_Ord.compare(Data_Ord.ordString)(x.value1)(y.value1);\n };\n throw new Error(\"Failed pattern match at Affjax.RequestHeader (line 0, column 0 - line 0, column 0): \" + [ x.constructor.name, y.constructor.name ]);\n };\n },\n Eq0: function () {\n return eqRequestHeader;\n }\n};\nexport {\n Accept,\n ContentType,\n RequestHeader,\n name,\n value,\n eqRequestHeader,\n ordRequestHeader,\n showRequestHeader\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_MediaType_Common from \"../Data.MediaType.Common/index.js\";\nvar $$ArrayBuffer = /* #__PURE__ */ (function () {\n function $$ArrayBuffer(value0) {\n this.value0 = value0;\n };\n $$ArrayBuffer.create = function (value0) {\n return new $$ArrayBuffer(value0);\n };\n return $$ArrayBuffer;\n})();\nvar Blob = /* #__PURE__ */ (function () {\n function Blob(value0) {\n this.value0 = value0;\n };\n Blob.create = function (value0) {\n return new Blob(value0);\n };\n return Blob;\n})();\nvar Document = /* #__PURE__ */ (function () {\n function Document(value0) {\n this.value0 = value0;\n };\n Document.create = function (value0) {\n return new Document(value0);\n };\n return Document;\n})();\nvar Json = /* #__PURE__ */ (function () {\n function Json(value0) {\n this.value0 = value0;\n };\n Json.create = function (value0) {\n return new Json(value0);\n };\n return Json;\n})();\nvar $$String = /* #__PURE__ */ (function () {\n function $$String(value0) {\n this.value0 = value0;\n };\n $$String.create = function (value0) {\n return new $$String(value0);\n };\n return $$String;\n})();\nvar Ignore = /* #__PURE__ */ (function () {\n function Ignore(value0) {\n this.value0 = value0;\n };\n Ignore.create = function (value0) {\n return new Ignore(value0);\n };\n return Ignore;\n})();\nvar toResponseType = function (v) {\n if (v instanceof $$ArrayBuffer) {\n return \"arraybuffer\";\n };\n if (v instanceof Blob) {\n return \"blob\";\n };\n if (v instanceof Document) {\n return \"document\";\n };\n if (v instanceof Json) {\n return \"text\";\n };\n if (v instanceof $$String) {\n return \"text\";\n };\n if (v instanceof Ignore) {\n return \"\";\n };\n throw new Error(\"Failed pattern match at Affjax.ResponseFormat (line 44, column 3 - line 50, column 19): \" + [ v.constructor.name ]);\n};\nvar toMediaType = function (v) {\n if (v instanceof Json) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);\n };\n return Data_Maybe.Nothing.value;\n};\nvar string = /* #__PURE__ */ (function () {\n return new $$String(Control_Category.identity(Control_Category.categoryFn));\n})();\nvar json = /* #__PURE__ */ (function () {\n return new Json(Control_Category.identity(Control_Category.categoryFn));\n})();\nvar ignore = /* #__PURE__ */ (function () {\n return new Ignore(Control_Category.identity(Control_Category.categoryFn));\n})();\nvar document = /* #__PURE__ */ (function () {\n return new Document(Control_Category.identity(Control_Category.categoryFn));\n})();\nvar blob = /* #__PURE__ */ (function () {\n return new Blob(Control_Category.identity(Control_Category.categoryFn));\n})();\nvar arrayBuffer = /* #__PURE__ */ (function () {\n return new $$ArrayBuffer(Control_Category.identity(Control_Category.categoryFn));\n})();\nexport {\n $$ArrayBuffer as ArrayBuffer,\n Blob,\n Document,\n Json,\n $$String as String,\n Ignore,\n arrayBuffer,\n blob,\n document,\n json,\n string,\n ignore,\n toResponseType,\n toMediaType\n};\n", "// Generated by purs version 0.15.2\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Ordering from \"../Data.Ordering/index.js\";\nimport * as Data_Show from \"../Data.Show/index.js\";\nvar ResponseHeader = /* #__PURE__ */ (function () {\n function ResponseHeader(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ResponseHeader.create = function (value0) {\n return function (value1) {\n return new ResponseHeader(value0, value1);\n };\n };\n return ResponseHeader;\n})();\nvar value = function (v) {\n return v.value1;\n};\nvar showResponseHeader = {\n show: function (v) {\n return \"(ResponseHeader \" + (Data_Show.show(Data_Show.showString)(v.value0) + (\" \" + (Data_Show.show(Data_Show.showString)(v.value1) + \")\")));\n }\n};\nvar name = function (v) {\n return v.value0;\n};\nvar eqResponseHeader = {\n eq: function (x) {\n return function (y) {\n return x.value0 === y.value0 && x.value1 === y.value1;\n };\n }\n};\nvar ordResponseHeader = {\n compare: function (x) {\n return function (y) {\n var v = Data_Ord.compare(Data_Ord.ordString)(x.value0)(y.value0);\n if (v instanceof Data_Ordering.LT) {\n return Data_Ordering.LT.value;\n };\n if (v instanceof Data_Ordering.GT) {\n return Data_Ordering.GT.value;\n };\n return Data_Ord.compare(Data_Ord.ordString)(x.value1)(y.value1);\n };\n },\n Eq0: function () {\n return eqResponseHeader;\n }\n};\nexport {\n ResponseHeader,\n name,\n value,\n eqResponseHeader,\n ordResponseHeader,\n showResponseHeader\n};\n", "export const arrayBind = function (arr) {\n return function (f) {\n var result = [];\n for (var i = 0, l = arr.length; i < l; i++) {\n Array.prototype.push.apply(result, f(arr[i]));\n }\n return result;\n };\n};\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Apply from \"../Control.Apply/index.js\";\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Type_Proxy from \"../Type.Proxy/index.js\";\nvar discard = function (dict) {\n return dict.discard;\n};\nvar bindProxy = {\n bind: function (v) {\n return function (v1) {\n return Type_Proxy[\"Proxy\"].value;\n };\n },\n Apply0: function () {\n return Control_Apply.applyProxy;\n }\n};\nvar bindFn = {\n bind: function (m) {\n return function (f) {\n return function (x) {\n return f(m(x))(x);\n };\n };\n },\n Apply0: function () {\n return Control_Apply.applyFn;\n }\n};\nvar bindArray = {\n bind: $foreign.arrayBind,\n Apply0: function () {\n return Control_Apply.applyArray;\n }\n};\nvar bind = function (dict) {\n return dict.bind;\n};\nvar bindFlipped = function (dictBind) {\n return Data_Function.flip(bind(dictBind));\n};\nvar composeKleisliFlipped = function (dictBind) {\n return function (f) {\n return function (g) {\n return function (a) {\n return bindFlipped(dictBind)(f)(g(a));\n };\n };\n };\n};\nvar composeKleisli = function (dictBind) {\n return function (f) {\n return function (g) {\n return function (a) {\n return bind(dictBind)(f(a))(g);\n };\n };\n };\n};\nvar discardProxy = {\n discard: function (dictBind) {\n return bind(dictBind);\n }\n};\nvar discardUnit = {\n discard: function (dictBind) {\n return bind(dictBind);\n }\n};\nvar ifM = function (dictBind) {\n return function (cond) {\n return function (t) {\n return function (f) {\n return bind(dictBind)(cond)(function (cond$prime) {\n if (cond$prime) {\n return t;\n };\n return f;\n });\n };\n };\n };\n};\nvar join = function (dictBind) {\n return function (m) {\n return bind(dictBind)(m)(Control_Category.identity(Control_Category.categoryFn));\n };\n};\nexport {\n bind,\n bindFlipped,\n discard,\n join,\n composeKleisli,\n composeKleisliFlipped,\n ifM,\n bindFn,\n bindArray,\n bindProxy,\n discardUnit,\n discardProxy\n};\nexport {\n liftA1,\n pure,\n unless,\n when\n} from \"../Control.Applicative/index.js\";\nexport {\n apply\n} from \"../Control.Apply/index.js\";\nexport {\n map,\n void\n} from \"../Data.Functor/index.js\";\n", "// Generated by purs version 0.15.2\nimport * as Control_Alt from \"../Control.Alt/index.js\";\nimport * as Control_Apply from \"../Control.Apply/index.js\";\nimport * as Data_Bounded from \"../Data.Bounded/index.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Functor_Invariant from \"../Data.Functor.Invariant/index.js\";\nimport * as Data_Generic_Rep from \"../Data.Generic.Rep/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Ordering from \"../Data.Ordering/index.js\";\nimport * as Data_Semigroup from \"../Data.Semigroup/index.js\";\nimport * as Data_Show from \"../Data.Show/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nvar Left = /* #__PURE__ */ (function () {\n function Left(value0) {\n this.value0 = value0;\n };\n Left.create = function (value0) {\n return new Left(value0);\n };\n return Left;\n})();\nvar Right = /* #__PURE__ */ (function () {\n function Right(value0) {\n this.value0 = value0;\n };\n Right.create = function (value0) {\n return new Right(value0);\n };\n return Right;\n})();\nvar showEither = function (dictShow) {\n return function (dictShow1) {\n return {\n show: function (v) {\n if (v instanceof Left) {\n return \"(Left \" + (Data_Show.show(dictShow)(v.value0) + \")\");\n };\n if (v instanceof Right) {\n return \"(Right \" + (Data_Show.show(dictShow1)(v.value0) + \")\");\n };\n throw new Error(\"Failed pattern match at Data.Either (line 173, column 1 - line 175, column 46): \" + [ v.constructor.name ]);\n }\n };\n };\n};\nvar note$prime = function (f) {\n return Data_Maybe[\"maybe$prime\"](function ($105) {\n return Left.create(f($105));\n })(Right.create);\n};\nvar note = function (a) {\n return Data_Maybe.maybe(new Left(a))(Right.create);\n};\nvar genericEither = {\n to: function (x) {\n if (x instanceof Data_Generic_Rep.Inl) {\n return new Left(x.value0);\n };\n if (x instanceof Data_Generic_Rep.Inr) {\n return new Right(x.value0);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 33, column 1 - line 33, column 56): \" + [ x.constructor.name ]);\n },\n from: function (x) {\n if (x instanceof Left) {\n return new Data_Generic_Rep.Inl(x.value0);\n };\n if (x instanceof Right) {\n return new Data_Generic_Rep.Inr(x.value0);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 33, column 1 - line 33, column 56): \" + [ x.constructor.name ]);\n }\n};\nvar functorEither = {\n map: function (f) {\n return function (m) {\n if (m instanceof Left) {\n return new Left(m.value0);\n };\n if (m instanceof Right) {\n return new Right(f(m.value0));\n };\n throw new Error(\"Failed pattern match at Data.Either (line 0, column 0 - line 0, column 0): \" + [ m.constructor.name ]);\n };\n }\n};\nvar invariantEither = {\n imap: /* #__PURE__ */ Data_Functor_Invariant.imapF(functorEither)\n};\nvar fromRight$prime = function (v) {\n return function (v1) {\n if (v1 instanceof Right) {\n return v1.value0;\n };\n return v(Data_Unit.unit);\n };\n};\nvar fromRight = function (v) {\n return function (v1) {\n if (v1 instanceof Right) {\n return v1.value0;\n };\n return v;\n };\n};\nvar fromLeft$prime = function (v) {\n return function (v1) {\n if (v1 instanceof Left) {\n return v1.value0;\n };\n return v(Data_Unit.unit);\n };\n};\nvar fromLeft = function (v) {\n return function (v1) {\n if (v1 instanceof Left) {\n return v1.value0;\n };\n return v;\n };\n};\nvar extendEither = {\n extend: function (v) {\n return function (v1) {\n if (v1 instanceof Left) {\n return new Left(v1.value0);\n };\n return new Right(v(v1));\n };\n },\n Functor0: function () {\n return functorEither;\n }\n};\nvar eqEither = function (dictEq) {\n return function (dictEq1) {\n return {\n eq: function (x) {\n return function (y) {\n if (x instanceof Left && y instanceof Left) {\n return Data_Eq.eq(dictEq)(x.value0)(y.value0);\n };\n if (x instanceof Right && y instanceof Right) {\n return Data_Eq.eq(dictEq1)(x.value0)(y.value0);\n };\n return false;\n };\n }\n };\n };\n};\nvar ordEither = function (dictOrd) {\n return function (dictOrd1) {\n return {\n compare: function (x) {\n return function (y) {\n if (x instanceof Left && y instanceof Left) {\n return Data_Ord.compare(dictOrd)(x.value0)(y.value0);\n };\n if (x instanceof Left) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof Left) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof Right && y instanceof Right) {\n return Data_Ord.compare(dictOrd1)(x.value0)(y.value0);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 0, column 0 - line 0, column 0): \" + [ x.constructor.name, y.constructor.name ]);\n };\n },\n Eq0: function () {\n return eqEither(dictOrd.Eq0())(dictOrd1.Eq0());\n }\n };\n };\n};\nvar eq1Either = function (dictEq) {\n return {\n eq1: function (dictEq1) {\n return Data_Eq.eq(eqEither(dictEq)(dictEq1));\n }\n };\n};\nvar ord1Either = function (dictOrd) {\n return {\n compare1: function (dictOrd1) {\n return Data_Ord.compare(ordEither(dictOrd)(dictOrd1));\n },\n Eq10: function () {\n return eq1Either(dictOrd.Eq0());\n }\n };\n};\nvar either = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Left) {\n return v(v2.value0);\n };\n if (v2 instanceof Right) {\n return v1(v2.value0);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 208, column 1 - line 208, column 64): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n};\nvar hush = /* #__PURE__ */ (function () {\n return either(Data_Function[\"const\"](Data_Maybe.Nothing.value))(Data_Maybe.Just.create);\n})();\nvar isLeft = /* #__PURE__ */ either(/* #__PURE__ */ Data_Function[\"const\"](true))(/* #__PURE__ */ Data_Function[\"const\"](false));\nvar isRight = /* #__PURE__ */ either(/* #__PURE__ */ Data_Function[\"const\"](false))(/* #__PURE__ */ Data_Function[\"const\"](true));\nvar choose = function (dictAlt) {\n return function (a) {\n return function (b) {\n return Control_Alt.alt(dictAlt)(Data_Functor.map(dictAlt.Functor0())(Left.create)(a))(Data_Functor.map(dictAlt.Functor0())(Right.create)(b));\n };\n };\n};\nvar boundedEither = function (dictBounded) {\n return function (dictBounded1) {\n return {\n top: new Right(Data_Bounded.top(dictBounded1)),\n bottom: new Left(Data_Bounded.bottom(dictBounded)),\n Ord0: function () {\n return ordEither(dictBounded.Ord0())(dictBounded1.Ord0());\n }\n };\n };\n};\nvar blush = /* #__PURE__ */ (function () {\n return either(Data_Maybe.Just.create)(Data_Function[\"const\"](Data_Maybe.Nothing.value));\n})();\nvar applyEither = {\n apply: function (v) {\n return function (v1) {\n if (v instanceof Left) {\n return new Left(v.value0);\n };\n if (v instanceof Right) {\n return Data_Functor.map(functorEither)(v.value0)(v1);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 70, column 1 - line 72, column 30): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n },\n Functor0: function () {\n return functorEither;\n }\n};\nvar bindEither = {\n bind: /* #__PURE__ */ either(function (e) {\n return function (v) {\n return new Left(e);\n };\n })(function (a) {\n return function (f) {\n return f(a);\n };\n }),\n Apply0: function () {\n return applyEither;\n }\n};\nvar semigroupEither = function (dictSemigroup) {\n return {\n append: function (x) {\n return function (y) {\n return Control_Apply.apply(applyEither)(Data_Functor.map(functorEither)(Data_Semigroup.append(dictSemigroup))(x))(y);\n };\n }\n };\n};\nvar applicativeEither = /* #__PURE__ */ (function () {\n return {\n pure: Right.create,\n Apply0: function () {\n return applyEither;\n }\n };\n})();\nvar monadEither = {\n Applicative0: function () {\n return applicativeEither;\n },\n Bind1: function () {\n return bindEither;\n }\n};\nvar altEither = {\n alt: function (v) {\n return function (v1) {\n if (v instanceof Left) {\n return v1;\n };\n return v;\n };\n },\n Functor0: function () {\n return functorEither;\n }\n};\nexport {\n Left,\n Right,\n either,\n choose,\n isLeft,\n isRight,\n fromLeft,\n fromLeft$prime,\n fromRight,\n fromRight$prime,\n note,\n note$prime,\n hush,\n blush,\n functorEither,\n genericEither,\n invariantEither,\n applyEither,\n applicativeEither,\n altEither,\n bindEither,\n monadEither,\n extendEither,\n showEither,\n eqEither,\n eq1Either,\n ordEither,\n ord1Either,\n boundedEither,\n semigroupEither\n};\n", "export const pureE = function (a) {\n return function () {\n return a;\n };\n};\n\nexport const bindE = function (a) {\n return function (f) {\n return function () {\n return f(a())();\n };\n };\n};\n\nexport const untilE = function (f) {\n return function () {\n while (!f());\n };\n};\n\nexport const whileE = function (f) {\n return function (a) {\n return function () {\n while (f()) {\n a();\n }\n };\n };\n};\n\nexport const forE = function (lo) {\n return function (hi) {\n return function (f) {\n return function () {\n for (var i = lo; i < hi; i++) {\n f(i)();\n }\n };\n };\n };\n};\n\nexport const foreachE = function (as) {\n return function (f) {\n return function () {\n for (var i = 0, l = as.length; i < l; i++) {\n f(as[i])();\n }\n };\n };\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Apply from \"../Control.Apply/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nvar whenM = function (dictMonad) {\n return function (mb) {\n return function (m) {\n return Control_Bind.bind(dictMonad.Bind1())(mb)(function (b) {\n return Control_Applicative.when(dictMonad.Applicative0())(b)(m);\n });\n };\n };\n};\nvar unlessM = function (dictMonad) {\n return function (mb) {\n return function (m) {\n return Control_Bind.bind(dictMonad.Bind1())(mb)(function (b) {\n return Control_Applicative.unless(dictMonad.Applicative0())(b)(m);\n });\n };\n };\n};\nvar monadProxy = {\n Applicative0: function () {\n return Control_Applicative.applicativeProxy;\n },\n Bind1: function () {\n return Control_Bind.bindProxy;\n }\n};\nvar monadFn = {\n Applicative0: function () {\n return Control_Applicative.applicativeFn;\n },\n Bind1: function () {\n return Control_Bind.bindFn;\n }\n};\nvar monadArray = {\n Applicative0: function () {\n return Control_Applicative.applicativeArray;\n },\n Bind1: function () {\n return Control_Bind.bindArray;\n }\n};\nvar liftM1 = function (dictMonad) {\n return function (f) {\n return function (a) {\n return Control_Bind.bind(dictMonad.Bind1())(a)(function (a$prime) {\n return Control_Applicative.pure(dictMonad.Applicative0())(f(a$prime));\n });\n };\n };\n};\nvar ap = function (dictMonad) {\n return function (f) {\n return function (a) {\n return Control_Bind.bind(dictMonad.Bind1())(f)(function (f$prime) {\n return Control_Bind.bind(dictMonad.Bind1())(a)(function (a$prime) {\n return Control_Applicative.pure(dictMonad.Applicative0())(f$prime(a$prime));\n });\n });\n };\n };\n};\nexport {\n liftM1,\n whenM,\n unlessM,\n ap,\n monadFn,\n monadArray,\n monadProxy\n};\nexport {\n liftA1,\n pure,\n unless,\n when\n} from \"../Control.Applicative/index.js\";\nexport {\n apply\n} from \"../Control.Apply/index.js\";\nexport {\n bind,\n ifM,\n join\n} from \"../Control.Bind/index.js\";\nexport {\n map,\n void\n} from \"../Data.Functor/index.js\";\n", "export const intDegree = function (x) {\n return Math.min(Math.abs(x), 2147483647);\n};\n\n// See the Euclidean definition in\n// https://en.m.wikipedia.org/wiki/Modulo_operation.\nexport const intDiv = function (x) {\n return function (y) {\n if (y === 0) return 0;\n return y > 0 ? Math.floor(x / y) : -Math.floor(x / -y);\n };\n};\n\nexport const intMod = function (x) {\n return function (y) {\n if (y === 0) return 0;\n var yy = Math.abs(y);\n return ((x % yy) + yy) % yy;\n };\n};\n\nexport const numDiv = function (n1) {\n return function (n2) {\n return n1 / n2;\n };\n};\n", "// Generated by purs version 0.15.2\nimport * as Data_Ring from \"../Data.Ring/index.js\";\nimport * as Data_Semiring from \"../Data.Semiring/index.js\";\nvar commutativeRingUnit = {\n Ring0: function () {\n return Data_Ring.ringUnit;\n }\n};\nvar commutativeRingRecordNil = {\n RingRecord0: function () {\n return Data_Ring.ringRecordNil;\n }\n};\nvar commutativeRingRecordCons = function (dictIsSymbol) {\n return function () {\n return function (dictCommutativeRingRecord) {\n return function (dictCommutativeRing) {\n return {\n RingRecord0: function () {\n return Data_Ring.ringRecordCons(dictIsSymbol)()(dictCommutativeRingRecord.RingRecord0())(dictCommutativeRing.Ring0());\n }\n };\n };\n };\n };\n};\nvar commutativeRingRecord = function () {\n return function (dictCommutativeRingRecord) {\n return {\n Ring0: function () {\n return Data_Ring.ringRecord()(dictCommutativeRingRecord.RingRecord0());\n }\n };\n };\n};\nvar commutativeRingProxy = {\n Ring0: function () {\n return Data_Ring.ringProxy;\n }\n};\nvar commutativeRingNumber = {\n Ring0: function () {\n return Data_Ring.ringNumber;\n }\n};\nvar commutativeRingInt = {\n Ring0: function () {\n return Data_Ring.ringInt;\n }\n};\nvar commutativeRingFn = function (dictCommutativeRing) {\n return {\n Ring0: function () {\n return Data_Ring.ringFn(dictCommutativeRing.Ring0());\n }\n };\n};\nexport {\n commutativeRingInt,\n commutativeRingNumber,\n commutativeRingUnit,\n commutativeRingFn,\n commutativeRingRecord,\n commutativeRingProxy,\n commutativeRingRecordNil,\n commutativeRingRecordCons\n};\nexport {\n add,\n mul,\n one,\n zero\n} from \"../Data.Semiring/index.js\";\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Data_CommutativeRing from \"../Data.CommutativeRing/index.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Ring from \"../Data.Ring/index.js\";\nimport * as Data_Semiring from \"../Data.Semiring/index.js\";\nvar mod = function (dict) {\n return dict.mod;\n};\nvar gcd = function ($copy_dictEq) {\n return function ($copy_dictEuclideanRing) {\n return function ($copy_a) {\n return function ($copy_b) {\n var $tco_var_dictEq = $copy_dictEq;\n var $tco_var_dictEuclideanRing = $copy_dictEuclideanRing;\n var $tco_var_a = $copy_a;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictEq, dictEuclideanRing, a, b) {\n var $8 = Data_Eq.eq(dictEq)(b)(Data_Semiring.zero(((dictEuclideanRing.CommutativeRing0()).Ring0()).Semiring0()));\n if ($8) {\n $tco_done = true;\n return a;\n };\n $tco_var_dictEq = dictEq;\n $tco_var_dictEuclideanRing = dictEuclideanRing;\n $tco_var_a = b;\n $copy_b = mod(dictEuclideanRing)(a)(b);\n return;\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictEq, $tco_var_dictEuclideanRing, $tco_var_a, $copy_b);\n };\n return $tco_result;\n };\n };\n };\n};\nvar euclideanRingNumber = {\n degree: function (v) {\n return 1;\n },\n div: $foreign.numDiv,\n mod: function (v) {\n return function (v1) {\n return 0.0;\n };\n },\n CommutativeRing0: function () {\n return Data_CommutativeRing.commutativeRingNumber;\n }\n};\nvar euclideanRingInt = {\n degree: $foreign.intDegree,\n div: $foreign.intDiv,\n mod: $foreign.intMod,\n CommutativeRing0: function () {\n return Data_CommutativeRing.commutativeRingInt;\n }\n};\nvar div = function (dict) {\n return dict.div;\n};\nvar lcm = function (dictEq) {\n return function (dictEuclideanRing) {\n return function (a) {\n return function (b) {\n var $10 = Data_Eq.eq(dictEq)(a)(Data_Semiring.zero(((dictEuclideanRing.CommutativeRing0()).Ring0()).Semiring0())) || Data_Eq.eq(dictEq)(b)(Data_Semiring.zero(((dictEuclideanRing.CommutativeRing0()).Ring0()).Semiring0()));\n if ($10) {\n return Data_Semiring.zero(((dictEuclideanRing.CommutativeRing0()).Ring0()).Semiring0());\n };\n return div(dictEuclideanRing)(Data_Semiring.mul(((dictEuclideanRing.CommutativeRing0()).Ring0()).Semiring0())(a)(b))(gcd(dictEq)(dictEuclideanRing)(a)(b));\n };\n };\n };\n};\nvar degree = function (dict) {\n return dict.degree;\n};\nexport {\n degree,\n div,\n mod,\n gcd,\n lcm,\n euclideanRingInt,\n euclideanRingNumber\n};\nexport {\n sub\n} from \"../Data.Ring/index.js\";\nexport {\n add,\n mul,\n one,\n zero\n} from \"../Data.Semiring/index.js\";\n", "// Generated by purs version 0.15.2\nimport * as Data_Boolean from \"../Data.Boolean/index.js\";\nimport * as Data_EuclideanRing from \"../Data.EuclideanRing/index.js\";\nimport * as Data_Ordering from \"../Data.Ordering/index.js\";\nimport * as Data_Semigroup from \"../Data.Semigroup/index.js\";\nimport * as Data_Symbol from \"../Data.Symbol/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Record_Unsafe from \"../Record.Unsafe/index.js\";\nimport * as Type_Proxy from \"../Type.Proxy/index.js\";\nvar monoidUnit = {\n mempty: Data_Unit.unit,\n Semigroup0: function () {\n return Data_Semigroup.semigroupUnit;\n }\n};\nvar monoidString = {\n mempty: \"\",\n Semigroup0: function () {\n return Data_Semigroup.semigroupString;\n }\n};\nvar monoidRecordNil = {\n memptyRecord: function (v) {\n return {};\n },\n SemigroupRecord0: function () {\n return Data_Semigroup.semigroupRecordNil;\n }\n};\nvar monoidOrdering = /* #__PURE__ */ (function () {\n return {\n mempty: Data_Ordering.EQ.value,\n Semigroup0: function () {\n return Data_Ordering.semigroupOrdering;\n }\n };\n})();\nvar monoidArray = {\n mempty: [ ],\n Semigroup0: function () {\n return Data_Semigroup.semigroupArray;\n }\n};\nvar memptyRecord = function (dict) {\n return dict.memptyRecord;\n};\nvar monoidRecord = function () {\n return function (dictMonoidRecord) {\n return {\n mempty: memptyRecord(dictMonoidRecord)(Type_Proxy[\"Proxy\"].value),\n Semigroup0: function () {\n return Data_Semigroup.semigroupRecord()(dictMonoidRecord.SemigroupRecord0());\n }\n };\n };\n};\nvar mempty = function (dict) {\n return dict.mempty;\n};\nvar monoidFn = function (dictMonoid) {\n return {\n mempty: function (v) {\n return mempty(dictMonoid);\n },\n Semigroup0: function () {\n return Data_Semigroup.semigroupFn(dictMonoid.Semigroup0());\n }\n };\n};\nvar monoidRecordCons = function (dictIsSymbol) {\n return function (dictMonoid) {\n return function () {\n return function (dictMonoidRecord) {\n return {\n memptyRecord: function (v) {\n var tail = memptyRecord(dictMonoidRecord)(Type_Proxy[\"Proxy\"].value);\n var key = Data_Symbol.reflectSymbol(dictIsSymbol)(Type_Proxy[\"Proxy\"].value);\n var insert = Record_Unsafe.unsafeSet(key);\n return insert(mempty(dictMonoid))(tail);\n },\n SemigroupRecord0: function () {\n return Data_Semigroup.semigroupRecordCons(dictIsSymbol)()(dictMonoidRecord.SemigroupRecord0())(dictMonoid.Semigroup0());\n }\n };\n };\n };\n };\n};\nvar power = function (dictMonoid) {\n return function (x) {\n var go = function (p) {\n if (p <= 0) {\n return mempty(dictMonoid);\n };\n if (p === 1) {\n return x;\n };\n if (Data_EuclideanRing.mod(Data_EuclideanRing.euclideanRingInt)(p)(2) === 0) {\n var x$prime = go(Data_EuclideanRing.div(Data_EuclideanRing.euclideanRingInt)(p)(2));\n return Data_Semigroup.append(dictMonoid.Semigroup0())(x$prime)(x$prime);\n };\n if (Data_Boolean.otherwise) {\n var x$prime = go(Data_EuclideanRing.div(Data_EuclideanRing.euclideanRingInt)(p)(2));\n return Data_Semigroup.append(dictMonoid.Semigroup0())(x$prime)(Data_Semigroup.append(dictMonoid.Semigroup0())(x$prime)(x));\n };\n throw new Error(\"Failed pattern match at Data.Monoid (line 88, column 3 - line 88, column 17): \" + [ p.constructor.name ]);\n };\n return go;\n };\n};\nvar guard = function (dictMonoid) {\n return function (v) {\n return function (v1) {\n if (v) {\n return v1;\n };\n if (!v) {\n return mempty(dictMonoid);\n };\n throw new Error(\"Failed pattern match at Data.Monoid (line 96, column 1 - line 96, column 49): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n};\nexport {\n mempty,\n power,\n guard,\n memptyRecord,\n monoidUnit,\n monoidOrdering,\n monoidFn,\n monoidString,\n monoidArray,\n monoidRecord,\n monoidRecordNil,\n monoidRecordCons\n};\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Apply from \"../Control.Apply/index.js\";\nimport * as Control_Monad from \"../Control.Monad/index.js\";\nimport * as Data_Monoid from \"../Data.Monoid/index.js\";\nimport * as Data_Semigroup from \"../Data.Semigroup/index.js\";\nvar $runtime_lazy = function (name, moduleName, init) {\n var state = 0;\n var val;\n return function (lineNumber) {\n if (state === 2) return val;\n if (state === 1) throw new ReferenceError(name + \" was needed before it finished initializing (module \" + moduleName + \", line \" + lineNumber + \")\", moduleName, lineNumber);\n state = 1;\n val = init();\n state = 2;\n return val;\n };\n};\nvar monadEffect = {\n Applicative0: function () {\n return applicativeEffect;\n },\n Bind1: function () {\n return bindEffect;\n }\n};\nvar bindEffect = {\n bind: $foreign.bindE,\n Apply0: function () {\n return $lazy_applyEffect(0);\n }\n};\nvar applicativeEffect = {\n pure: $foreign.pureE,\n Apply0: function () {\n return $lazy_applyEffect(0);\n }\n};\nvar $lazy_functorEffect = /* #__PURE__ */ $runtime_lazy(\"functorEffect\", \"Effect\", function () {\n return {\n map: Control_Applicative.liftA1(applicativeEffect)\n };\n});\nvar $lazy_applyEffect = /* #__PURE__ */ $runtime_lazy(\"applyEffect\", \"Effect\", function () {\n return {\n apply: Control_Monad.ap(monadEffect),\n Functor0: function () {\n return $lazy_functorEffect(0);\n }\n };\n});\nvar functorEffect = /* #__PURE__ */ $lazy_functorEffect(20);\nvar applyEffect = /* #__PURE__ */ $lazy_applyEffect(23);\nvar semigroupEffect = function (dictSemigroup) {\n return {\n append: Control_Apply.lift2(applyEffect)(Data_Semigroup.append(dictSemigroup))\n };\n};\nvar monoidEffect = function (dictMonoid) {\n return {\n mempty: $foreign.pureE(Data_Monoid.mempty(dictMonoid)),\n Semigroup0: function () {\n return semigroupEffect(dictMonoid.Semigroup0());\n }\n };\n};\nexport {\n untilE,\n whileE,\n forE,\n foreachE\n} from \"./foreign.js\";\nexport {\n functorEffect,\n applyEffect,\n applicativeEffect,\n bindEffect,\n monadEffect,\n semigroupEffect,\n monoidEffect\n};\n", "export function showErrorImpl(err) {\n return err.stack || err.toString();\n}\n\nexport function error(msg) {\n return new Error(msg);\n}\n\nexport function message(e) {\n return e.message;\n}\n\nexport function name(e) {\n return e.name || \"Error\";\n}\n\nexport function stackImpl(just) {\n return function (nothing) {\n return function (e) {\n return e.stack ? just(e.stack) : nothing;\n };\n };\n}\n\nexport function throwException(e) {\n return function () {\n throw e;\n };\n}\n\nexport function catchException(c) {\n return function (t) {\n return function () {\n try {\n return t();\n } catch (e) {\n if (e instanceof Error || Object.prototype.toString.call(e) === \"[object Error]\") {\n return c(e)();\n } else {\n return c(new Error(e.toString()))();\n }\n }\n };\n };\n}\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Data_Either from \"../Data.Either/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Effect from \"../Effect/index.js\";\nvar $$try = function (action) {\n return $foreign.catchException((function () {\n var $0 = Control_Applicative.pure(Effect.applicativeEffect);\n return function ($1) {\n return $0(Data_Either.Left.create($1));\n };\n })())(Data_Functor.map(Effect.functorEffect)(Data_Either.Right.create)(action));\n};\nvar $$throw = function ($2) {\n return $foreign.throwException($foreign.error($2));\n};\nvar stack = /* #__PURE__ */ (function () {\n return $foreign.stackImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n})();\nvar showError = {\n show: $foreign.showErrorImpl\n};\nexport {\n error,\n message,\n name,\n throwException,\n catchException\n} from \"./foreign.js\";\nexport {\n stack,\n $$throw as throw,\n $$try as try,\n showError\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Data_Either from \"../Data.Either/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Effect from \"../Effect/index.js\";\nimport * as Effect_Exception from \"../Effect.Exception/index.js\";\nvar throwError = function (dict) {\n return dict.throwError;\n};\nvar monadThrowMaybe = /* #__PURE__ */ (function () {\n return {\n throwError: Data_Function[\"const\"](Data_Maybe.Nothing.value),\n Monad0: function () {\n return Data_Maybe.monadMaybe;\n }\n };\n})();\nvar monadThrowEither = /* #__PURE__ */ (function () {\n return {\n throwError: Data_Either.Left.create,\n Monad0: function () {\n return Data_Either.monadEither;\n }\n };\n})();\nvar monadThrowEffect = {\n throwError: Effect_Exception.throwException,\n Monad0: function () {\n return Effect.monadEffect;\n }\n};\nvar monadErrorMaybe = {\n catchError: function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing) {\n return v1(Data_Unit.unit);\n };\n if (v instanceof Data_Maybe.Just) {\n return new Data_Maybe.Just(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Error.Class (line 79, column 1 - line 81, column 33): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n },\n MonadThrow0: function () {\n return monadThrowMaybe;\n }\n};\nvar monadErrorEither = {\n catchError: function (v) {\n return function (v1) {\n if (v instanceof Data_Either.Left) {\n return v1(v.value0);\n };\n if (v instanceof Data_Either.Right) {\n return new Data_Either.Right(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Error.Class (line 72, column 1 - line 74, column 35): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n },\n MonadThrow0: function () {\n return monadThrowEither;\n }\n};\nvar monadErrorEffect = {\n catchError: /* #__PURE__ */ Data_Function.flip(Effect_Exception.catchException),\n MonadThrow0: function () {\n return monadThrowEffect;\n }\n};\nvar liftMaybe = function (dictMonadThrow) {\n return function (error) {\n return Data_Maybe.maybe(throwError(dictMonadThrow)(error))(Control_Applicative.pure((dictMonadThrow.Monad0()).Applicative0()));\n };\n};\nvar liftEither = function (dictMonadThrow) {\n return Data_Either.either(throwError(dictMonadThrow))(Control_Applicative.pure((dictMonadThrow.Monad0()).Applicative0()));\n};\nvar catchError = function (dict) {\n return dict.catchError;\n};\nvar catchJust = function (dictMonadError) {\n return function (p) {\n return function (act) {\n return function (handler) {\n var handle = function (e) {\n var v = p(e);\n if (v instanceof Data_Maybe.Nothing) {\n return throwError(dictMonadError.MonadThrow0())(e);\n };\n if (v instanceof Data_Maybe.Just) {\n return handler(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Error.Class (line 57, column 5 - line 59, column 26): \" + [ v.constructor.name ]);\n };\n return catchError(dictMonadError)(act)(handle);\n };\n };\n };\n};\nvar $$try = function (dictMonadError) {\n return function (a) {\n return catchError(dictMonadError)(Data_Functor.map(((((dictMonadError.MonadThrow0()).Monad0()).Bind1()).Apply0()).Functor0())(Data_Either.Right.create)(a))((function () {\n var $21 = Control_Applicative.pure(((dictMonadError.MonadThrow0()).Monad0()).Applicative0());\n return function ($22) {\n return $21(Data_Either.Left.create($22));\n };\n })());\n };\n};\nvar withResource = function (dictMonadError) {\n return function (acquire) {\n return function (release) {\n return function (kleisli) {\n return Control_Bind.bind(((dictMonadError.MonadThrow0()).Monad0()).Bind1())(acquire)(function (resource) {\n return Control_Bind.bind(((dictMonadError.MonadThrow0()).Monad0()).Bind1())($$try(dictMonadError)(kleisli(resource)))(function (result) {\n return Control_Bind.discard(Control_Bind.discardUnit)(((dictMonadError.MonadThrow0()).Monad0()).Bind1())(release(resource))(function () {\n return Data_Either.either(throwError(dictMonadError.MonadThrow0()))(Control_Applicative.pure(((dictMonadError.MonadThrow0()).Monad0()).Applicative0()))(result);\n });\n });\n });\n };\n };\n };\n};\nexport {\n catchError,\n throwError,\n catchJust,\n $$try as try,\n withResource,\n liftMaybe,\n liftEither,\n monadThrowEither,\n monadErrorEither,\n monadThrowMaybe,\n monadErrorMaybe,\n monadThrowEffect,\n monadErrorEffect\n};\n", "// Generated by purs version 0.15.2\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Functor_Invariant from \"../Data.Functor.Invariant/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Show from \"../Data.Show/index.js\";\nvar Identity = function (x) {\n return x;\n};\nvar showIdentity = function (dictShow) {\n return {\n show: function (v) {\n return \"(Identity \" + (Data_Show.show(dictShow)(v) + \")\");\n }\n };\n};\nvar semiringIdentity = function (dictSemiring) {\n return dictSemiring;\n};\nvar semigroupIdentity = function (dictSemigroup) {\n return dictSemigroup;\n};\nvar ringIdentity = function (dictRing) {\n return dictRing;\n};\nvar ordIdentity = function (dictOrd) {\n return dictOrd;\n};\nvar newtypeIdentity = {\n Coercible0: function () {\n return undefined;\n }\n};\nvar monoidIdentity = function (dictMonoid) {\n return dictMonoid;\n};\nvar lazyIdentity = function (dictLazy) {\n return dictLazy;\n};\nvar heytingAlgebraIdentity = function (dictHeytingAlgebra) {\n return dictHeytingAlgebra;\n};\nvar functorIdentity = {\n map: function (f) {\n return function (m) {\n return f(m);\n };\n }\n};\nvar invariantIdentity = {\n imap: /* #__PURE__ */ Data_Functor_Invariant.imapF(functorIdentity)\n};\nvar extendIdentity = {\n extend: function (f) {\n return function (m) {\n return f(m);\n };\n },\n Functor0: function () {\n return functorIdentity;\n }\n};\nvar euclideanRingIdentity = function (dictEuclideanRing) {\n return dictEuclideanRing;\n};\nvar eqIdentity = function (dictEq) {\n return dictEq;\n};\nvar eq1Identity = {\n eq1: function (dictEq) {\n return Data_Eq.eq(eqIdentity(dictEq));\n }\n};\nvar ord1Identity = {\n compare1: function (dictOrd) {\n return Data_Ord.compare(ordIdentity(dictOrd));\n },\n Eq10: function () {\n return eq1Identity;\n }\n};\nvar comonadIdentity = {\n extract: function (v) {\n return v;\n },\n Extend0: function () {\n return extendIdentity;\n }\n};\nvar commutativeRingIdentity = function (dictCommutativeRing) {\n return dictCommutativeRing;\n};\nvar boundedIdentity = function (dictBounded) {\n return dictBounded;\n};\nvar booleanAlgebraIdentity = function (dictBooleanAlgebra) {\n return dictBooleanAlgebra;\n};\nvar applyIdentity = {\n apply: function (v) {\n return function (v1) {\n return v(v1);\n };\n },\n Functor0: function () {\n return functorIdentity;\n }\n};\nvar bindIdentity = {\n bind: function (v) {\n return function (f) {\n return f(v);\n };\n },\n Apply0: function () {\n return applyIdentity;\n }\n};\nvar applicativeIdentity = {\n pure: Identity,\n Apply0: function () {\n return applyIdentity;\n }\n};\nvar monadIdentity = {\n Applicative0: function () {\n return applicativeIdentity;\n },\n Bind1: function () {\n return bindIdentity;\n }\n};\nvar altIdentity = {\n alt: function (x) {\n return function (v) {\n return x;\n };\n },\n Functor0: function () {\n return functorIdentity;\n }\n};\nexport {\n Identity,\n newtypeIdentity,\n eqIdentity,\n ordIdentity,\n boundedIdentity,\n heytingAlgebraIdentity,\n booleanAlgebraIdentity,\n semigroupIdentity,\n monoidIdentity,\n semiringIdentity,\n euclideanRingIdentity,\n ringIdentity,\n commutativeRingIdentity,\n lazyIdentity,\n showIdentity,\n eq1Identity,\n ord1Identity,\n functorIdentity,\n invariantIdentity,\n altIdentity,\n applyIdentity,\n applicativeIdentity,\n bindIdentity,\n monadIdentity,\n extendIdentity,\n comonadIdentity\n};\n", "export const _new = function (val) {\n return function () {\n return { value: val };\n };\n};\n\nexport const newWithSelf = function (f) {\n return function () {\n var ref = { value: null };\n ref.value = f(ref);\n return ref;\n };\n};\n\nexport const read = function (ref) {\n return function () {\n return ref.value;\n };\n};\n\nexport const modifyImpl = function (f) {\n return function (ref) {\n return function () {\n var t = f(ref.value);\n ref.value = t.state;\n return t.value;\n };\n };\n};\n\nexport const write = function (val) {\n return function (ref) {\n return function () {\n ref.value = val;\n };\n };\n};\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Effect from \"../Effect/index.js\";\nvar $$new = $foreign[\"_new\"];\nvar modify$prime = $foreign.modifyImpl;\nvar modify = function (f) {\n return modify$prime(function (s) {\n var s$prime = f(s);\n return {\n state: s$prime,\n value: s$prime\n };\n });\n};\nvar modify_ = function (f) {\n return function (s) {\n return Data_Functor[\"void\"](Effect.functorEffect)(modify(f)(s));\n };\n};\nexport {\n newWithSelf,\n read,\n write\n} from \"./foreign.js\";\nexport {\n $$new as new,\n modify$prime,\n modify,\n modify_\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Control_Monad from \"../Control.Monad/index.js\";\nimport * as Data_Either from \"../Data.Either/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Identity from \"../Data.Identity/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Monoid from \"../Data.Monoid/index.js\";\nimport * as Data_Semigroup from \"../Data.Semigroup/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Effect from \"../Effect/index.js\";\nimport * as Effect_Ref from \"../Effect.Ref/index.js\";\nvar Loop = /* #__PURE__ */ (function () {\n function Loop(value0) {\n this.value0 = value0;\n };\n Loop.create = function (value0) {\n return new Loop(value0);\n };\n return Loop;\n})();\nvar Done = /* #__PURE__ */ (function () {\n function Done(value0) {\n this.value0 = value0;\n };\n Done.create = function (value0) {\n return new Done(value0);\n };\n return Done;\n})();\nvar tailRecM = function (dict) {\n return dict.tailRecM;\n};\nvar tailRecM2 = function (dictMonadRec) {\n return function (f) {\n return function (a) {\n return function (b) {\n return tailRecM(dictMonadRec)(function (o) {\n return f(o.a)(o.b);\n })({\n a: a,\n b: b\n });\n };\n };\n };\n};\nvar tailRecM3 = function (dictMonadRec) {\n return function (f) {\n return function (a) {\n return function (b) {\n return function (c) {\n return tailRecM(dictMonadRec)(function (o) {\n return f(o.a)(o.b)(o.c);\n })({\n a: a,\n b: b,\n c: c\n });\n };\n };\n };\n };\n};\nvar untilJust = function (dictMonadRec) {\n return function (m) {\n return tailRecM(dictMonadRec)(function (v) {\n return Data_Functor.mapFlipped((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(m)(function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return new Loop(Data_Unit.unit);\n };\n if (v1 instanceof Data_Maybe.Just) {\n return new Done(v1.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 155, column 43 - line 157, column 19): \" + [ v1.constructor.name ]);\n });\n })(Data_Unit.unit);\n };\n};\nvar whileJust = function (dictMonoid) {\n return function (dictMonadRec) {\n return function (m) {\n return tailRecM(dictMonadRec)(function (v) {\n return Data_Functor.mapFlipped((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(m)(function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return new Done(v);\n };\n if (v1 instanceof Data_Maybe.Just) {\n return new Loop(Data_Semigroup.append(dictMonoid.Semigroup0())(v)(v1.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 148, column 45 - line 150, column 26): \" + [ v1.constructor.name ]);\n });\n })(Data_Monoid.mempty(dictMonoid));\n };\n };\n};\nvar tailRec = function (f) {\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v instanceof Loop) {\n $copy_v = f(v.value0);\n return;\n };\n if (v instanceof Done) {\n $tco_done = true;\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 93, column 3 - line 93, column 25): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return function ($55) {\n return go(f($55));\n };\n};\nvar monadRecMaybe = {\n tailRecM: function (f) {\n return function (a0) {\n var g = function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return new Done(Data_Maybe.Nothing.value);\n };\n if (v instanceof Data_Maybe.Just && v.value0 instanceof Loop) {\n return new Loop(f(v.value0.value0));\n };\n if (v instanceof Data_Maybe.Just && v.value0 instanceof Done) {\n return new Done(new Data_Maybe.Just(v.value0.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 129, column 7 - line 129, column 31): \" + [ v.constructor.name ]);\n };\n return tailRec(g)(f(a0));\n };\n },\n Monad0: function () {\n return Data_Maybe.monadMaybe;\n }\n};\nvar monadRecIdentity = {\n tailRecM: function (f) {\n var runIdentity = function (v) {\n return v;\n };\n var $56 = tailRec(function ($58) {\n return runIdentity(f($58));\n });\n return function ($57) {\n return Data_Identity.Identity($56($57));\n };\n },\n Monad0: function () {\n return Data_Identity.monadIdentity;\n }\n};\nvar monadRecFunction = {\n tailRecM: function (f) {\n return function (a0) {\n return function (e) {\n return tailRec(function (a) {\n return f(a)(e);\n })(a0);\n };\n };\n },\n Monad0: function () {\n return Control_Monad.monadFn;\n }\n};\nvar monadRecEither = {\n tailRecM: function (f) {\n return function (a0) {\n var g = function (v) {\n if (v instanceof Data_Either.Left) {\n return new Done(new Data_Either.Left(v.value0));\n };\n if (v instanceof Data_Either.Right && v.value0 instanceof Loop) {\n return new Loop(f(v.value0.value0));\n };\n if (v instanceof Data_Either.Right && v.value0 instanceof Done) {\n return new Done(new Data_Either.Right(v.value0.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 121, column 7 - line 121, column 33): \" + [ v.constructor.name ]);\n };\n return tailRec(g)(f(a0));\n };\n },\n Monad0: function () {\n return Data_Either.monadEither;\n }\n};\nvar monadRecEffect = {\n tailRecM: function (f) {\n return function (a) {\n var fromDone = function (v) {\n if (v instanceof Done) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 113, column 30 - line 113, column 44): \" + [ v.constructor.name ]);\n };\n return function __do() {\n var r = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref[\"new\"])(f(a))();\n (function () {\n while (!(function __do() {\n var v = Effect_Ref.read(r)();\n if (v instanceof Loop) {\n var e = f(v.value0)();\n Effect_Ref.write(e)(r)();\n return false;\n };\n if (v instanceof Done) {\n return true;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 104, column 22 - line 109, column 28): \" + [ v.constructor.name ]);\n })()) {\n\n };\n return {};\n })();\n return Data_Functor.map(Effect.functorEffect)(fromDone)(Effect_Ref.read(r))();\n };\n };\n },\n Monad0: function () {\n return Effect.monadEffect;\n }\n};\nvar functorStep = {\n map: function (f) {\n return function (m) {\n if (m instanceof Loop) {\n return new Loop(m.value0);\n };\n if (m instanceof Done) {\n return new Done(f(m.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 0, column 0 - line 0, column 0): \" + [ m.constructor.name ]);\n };\n }\n};\nvar forever = function (dictMonadRec) {\n return function (ma) {\n return tailRecM(dictMonadRec)(function (u) {\n return Data_Functor.voidRight((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(new Loop(u))(ma);\n })(Data_Unit.unit);\n };\n};\nvar bifunctorStep = {\n bimap: function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Loop) {\n return new Loop(v(v2.value0));\n };\n if (v2 instanceof Done) {\n return new Done(v1(v2.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 29, column 1 - line 31, column 34): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n }\n};\nexport {\n Loop,\n Done,\n tailRec,\n tailRecM,\n tailRecM2,\n tailRecM3,\n forever,\n whileJust,\n untilJust,\n functorStep,\n bifunctorStep,\n monadRecIdentity,\n monadRecEffect,\n monadRecFunction,\n monadRecEither,\n monadRecMaybe\n};\n", "export const boolConj = function (b1) {\n return function (b2) {\n return b1 && b2;\n };\n};\n\nexport const boolDisj = function (b1) {\n return function (b2) {\n return b1 || b2;\n };\n};\n\nexport const boolNot = function (b) {\n return !b;\n};\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Data_Symbol from \"../Data.Symbol/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Record_Unsafe from \"../Record.Unsafe/index.js\";\nimport * as Type_Proxy from \"../Type.Proxy/index.js\";\nvar ttRecord = function (dict) {\n return dict.ttRecord;\n};\nvar tt = function (dict) {\n return dict.tt;\n};\nvar notRecord = function (dict) {\n return dict.notRecord;\n};\nvar not = function (dict) {\n return dict.not;\n};\nvar impliesRecord = function (dict) {\n return dict.impliesRecord;\n};\nvar implies = function (dict) {\n return dict.implies;\n};\nvar heytingAlgebraUnit = {\n ff: Data_Unit.unit,\n tt: Data_Unit.unit,\n implies: function (v) {\n return function (v1) {\n return Data_Unit.unit;\n };\n },\n conj: function (v) {\n return function (v1) {\n return Data_Unit.unit;\n };\n },\n disj: function (v) {\n return function (v1) {\n return Data_Unit.unit;\n };\n },\n not: function (v) {\n return Data_Unit.unit;\n }\n};\nvar heytingAlgebraRecordNil = {\n conjRecord: function (v) {\n return function (v1) {\n return function (v2) {\n return {};\n };\n };\n },\n disjRecord: function (v) {\n return function (v1) {\n return function (v2) {\n return {};\n };\n };\n },\n ffRecord: function (v) {\n return function (v1) {\n return {};\n };\n },\n impliesRecord: function (v) {\n return function (v1) {\n return function (v2) {\n return {};\n };\n };\n },\n notRecord: function (v) {\n return function (v1) {\n return {};\n };\n },\n ttRecord: function (v) {\n return function (v1) {\n return {};\n };\n }\n};\nvar heytingAlgebraProxy = /* #__PURE__ */ (function () {\n return {\n conj: function (v) {\n return function (v1) {\n return Type_Proxy[\"Proxy\"].value;\n };\n },\n disj: function (v) {\n return function (v1) {\n return Type_Proxy[\"Proxy\"].value;\n };\n },\n implies: function (v) {\n return function (v1) {\n return Type_Proxy[\"Proxy\"].value;\n };\n },\n ff: Type_Proxy[\"Proxy\"].value,\n not: function (v) {\n return Type_Proxy[\"Proxy\"].value;\n },\n tt: Type_Proxy[\"Proxy\"].value\n };\n})();\nvar ffRecord = function (dict) {\n return dict.ffRecord;\n};\nvar ff = function (dict) {\n return dict.ff;\n};\nvar disjRecord = function (dict) {\n return dict.disjRecord;\n};\nvar disj = function (dict) {\n return dict.disj;\n};\nvar heytingAlgebraBoolean = {\n ff: false,\n tt: true,\n implies: function (a) {\n return function (b) {\n return disj(heytingAlgebraBoolean)(not(heytingAlgebraBoolean)(a))(b);\n };\n },\n conj: $foreign.boolConj,\n disj: $foreign.boolDisj,\n not: $foreign.boolNot\n};\nvar conjRecord = function (dict) {\n return dict.conjRecord;\n};\nvar heytingAlgebraRecord = function () {\n return function (dictHeytingAlgebraRecord) {\n return {\n ff: ffRecord(dictHeytingAlgebraRecord)(Type_Proxy[\"Proxy\"].value)(Type_Proxy[\"Proxy\"].value),\n tt: ttRecord(dictHeytingAlgebraRecord)(Type_Proxy[\"Proxy\"].value)(Type_Proxy[\"Proxy\"].value),\n conj: conjRecord(dictHeytingAlgebraRecord)(Type_Proxy[\"Proxy\"].value),\n disj: disjRecord(dictHeytingAlgebraRecord)(Type_Proxy[\"Proxy\"].value),\n implies: impliesRecord(dictHeytingAlgebraRecord)(Type_Proxy[\"Proxy\"].value),\n not: notRecord(dictHeytingAlgebraRecord)(Type_Proxy[\"Proxy\"].value)\n };\n };\n};\nvar conj = function (dict) {\n return dict.conj;\n};\nvar heytingAlgebraFunction = function (dictHeytingAlgebra) {\n return {\n ff: function (v) {\n return ff(dictHeytingAlgebra);\n },\n tt: function (v) {\n return tt(dictHeytingAlgebra);\n },\n implies: function (f) {\n return function (g) {\n return function (a) {\n return implies(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n },\n conj: function (f) {\n return function (g) {\n return function (a) {\n return conj(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n },\n disj: function (f) {\n return function (g) {\n return function (a) {\n return disj(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n },\n not: function (f) {\n return function (a) {\n return not(dictHeytingAlgebra)(f(a));\n };\n }\n };\n};\nvar heytingAlgebraRecordCons = function (dictIsSymbol) {\n return function () {\n return function (dictHeytingAlgebraRecord) {\n return function (dictHeytingAlgebra) {\n return {\n conjRecord: function (v) {\n return function (ra) {\n return function (rb) {\n var tail = conjRecord(dictHeytingAlgebraRecord)(Type_Proxy[\"Proxy\"].value)(ra)(rb);\n var key = Data_Symbol.reflectSymbol(dictIsSymbol)(Type_Proxy[\"Proxy\"].value);\n var insert = Record_Unsafe.unsafeSet(key);\n var get = Record_Unsafe.unsafeGet(key);\n return insert(conj(dictHeytingAlgebra)(get(ra))(get(rb)))(tail);\n };\n };\n },\n disjRecord: function (v) {\n return function (ra) {\n return function (rb) {\n var tail = disjRecord(dictHeytingAlgebraRecord)(Type_Proxy[\"Proxy\"].value)(ra)(rb);\n var key = Data_Symbol.reflectSymbol(dictIsSymbol)(Type_Proxy[\"Proxy\"].value);\n var insert = Record_Unsafe.unsafeSet(key);\n var get = Record_Unsafe.unsafeGet(key);\n return insert(disj(dictHeytingAlgebra)(get(ra))(get(rb)))(tail);\n };\n };\n },\n impliesRecord: function (v) {\n return function (ra) {\n return function (rb) {\n var tail = impliesRecord(dictHeytingAlgebraRecord)(Type_Proxy[\"Proxy\"].value)(ra)(rb);\n var key = Data_Symbol.reflectSymbol(dictIsSymbol)(Type_Proxy[\"Proxy\"].value);\n var insert = Record_Unsafe.unsafeSet(key);\n var get = Record_Unsafe.unsafeGet(key);\n return insert(implies(dictHeytingAlgebra)(get(ra))(get(rb)))(tail);\n };\n };\n },\n ffRecord: function (v) {\n return function (row) {\n var tail = ffRecord(dictHeytingAlgebraRecord)(Type_Proxy[\"Proxy\"].value)(row);\n var key = Data_Symbol.reflectSymbol(dictIsSymbol)(Type_Proxy[\"Proxy\"].value);\n var insert = Record_Unsafe.unsafeSet(key);\n return insert(ff(dictHeytingAlgebra))(tail);\n };\n },\n notRecord: function (v) {\n return function (row) {\n var tail = notRecord(dictHeytingAlgebraRecord)(Type_Proxy[\"Proxy\"].value)(row);\n var key = Data_Symbol.reflectSymbol(dictIsSymbol)(Type_Proxy[\"Proxy\"].value);\n var insert = Record_Unsafe.unsafeSet(key);\n var get = Record_Unsafe.unsafeGet(key);\n return insert(not(dictHeytingAlgebra)(get(row)))(tail);\n };\n },\n ttRecord: function (v) {\n return function (row) {\n var tail = ttRecord(dictHeytingAlgebraRecord)(Type_Proxy[\"Proxy\"].value)(row);\n var key = Data_Symbol.reflectSymbol(dictIsSymbol)(Type_Proxy[\"Proxy\"].value);\n var insert = Record_Unsafe.unsafeSet(key);\n return insert(tt(dictHeytingAlgebra))(tail);\n };\n }\n };\n };\n };\n };\n};\nexport {\n tt,\n ff,\n implies,\n conj,\n disj,\n not,\n ffRecord,\n ttRecord,\n impliesRecord,\n conjRecord,\n disjRecord,\n notRecord,\n heytingAlgebraBoolean,\n heytingAlgebraUnit,\n heytingAlgebraFunction,\n heytingAlgebraProxy,\n heytingAlgebraRecord,\n heytingAlgebraRecordNil,\n heytingAlgebraRecordCons\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Lazy from \"../Control.Lazy/index.js\";\nimport * as Data_Bounded from \"../Data.Bounded/index.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Functor_Invariant from \"../Data.Functor.Invariant/index.js\";\nimport * as Data_Generic_Rep from \"../Data.Generic.Rep/index.js\";\nimport * as Data_HeytingAlgebra from \"../Data.HeytingAlgebra/index.js\";\nimport * as Data_Monoid from \"../Data.Monoid/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Ordering from \"../Data.Ordering/index.js\";\nimport * as Data_Ring from \"../Data.Ring/index.js\";\nimport * as Data_Semigroup from \"../Data.Semigroup/index.js\";\nimport * as Data_Semiring from \"../Data.Semiring/index.js\";\nimport * as Data_Show from \"../Data.Show/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nvar Tuple = /* #__PURE__ */ (function () {\n function Tuple(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Tuple.create = function (value0) {\n return function (value1) {\n return new Tuple(value0, value1);\n };\n };\n return Tuple;\n})();\nvar uncurry = function (f) {\n return function (v) {\n return f(v.value0)(v.value1);\n };\n};\nvar swap = function (v) {\n return new Tuple(v.value1, v.value0);\n};\nvar snd = function (v) {\n return v.value1;\n};\nvar showTuple = function (dictShow) {\n return function (dictShow1) {\n return {\n show: function (v) {\n return \"(Tuple \" + (Data_Show.show(dictShow)(v.value0) + (\" \" + (Data_Show.show(dictShow1)(v.value1) + \")\")));\n }\n };\n };\n};\nvar semiringTuple = function (dictSemiring) {\n return function (dictSemiring1) {\n return {\n add: function (v) {\n return function (v1) {\n return new Tuple(Data_Semiring.add(dictSemiring)(v.value0)(v1.value0), Data_Semiring.add(dictSemiring1)(v.value1)(v1.value1));\n };\n },\n one: new Tuple(Data_Semiring.one(dictSemiring), Data_Semiring.one(dictSemiring1)),\n mul: function (v) {\n return function (v1) {\n return new Tuple(Data_Semiring.mul(dictSemiring)(v.value0)(v1.value0), Data_Semiring.mul(dictSemiring1)(v.value1)(v1.value1));\n };\n },\n zero: new Tuple(Data_Semiring.zero(dictSemiring), Data_Semiring.zero(dictSemiring1))\n };\n };\n};\nvar semigroupoidTuple = {\n compose: function (v) {\n return function (v1) {\n return new Tuple(v1.value0, v.value1);\n };\n }\n};\nvar semigroupTuple = function (dictSemigroup) {\n return function (dictSemigroup1) {\n return {\n append: function (v) {\n return function (v1) {\n return new Tuple(Data_Semigroup.append(dictSemigroup)(v.value0)(v1.value0), Data_Semigroup.append(dictSemigroup1)(v.value1)(v1.value1));\n };\n }\n };\n };\n};\nvar ringTuple = function (dictRing) {\n return function (dictRing1) {\n return {\n sub: function (v) {\n return function (v1) {\n return new Tuple(Data_Ring.sub(dictRing)(v.value0)(v1.value0), Data_Ring.sub(dictRing1)(v.value1)(v1.value1));\n };\n },\n Semiring0: function () {\n return semiringTuple(dictRing.Semiring0())(dictRing1.Semiring0());\n }\n };\n };\n};\nvar monoidTuple = function (dictMonoid) {\n return function (dictMonoid1) {\n return {\n mempty: new Tuple(Data_Monoid.mempty(dictMonoid), Data_Monoid.mempty(dictMonoid1)),\n Semigroup0: function () {\n return semigroupTuple(dictMonoid.Semigroup0())(dictMonoid1.Semigroup0());\n }\n };\n };\n};\nvar heytingAlgebraTuple = function (dictHeytingAlgebra) {\n return function (dictHeytingAlgebra1) {\n return {\n tt: new Tuple(Data_HeytingAlgebra.tt(dictHeytingAlgebra), Data_HeytingAlgebra.tt(dictHeytingAlgebra1)),\n ff: new Tuple(Data_HeytingAlgebra.ff(dictHeytingAlgebra), Data_HeytingAlgebra.ff(dictHeytingAlgebra1)),\n implies: function (v) {\n return function (v1) {\n return new Tuple(Data_HeytingAlgebra.implies(dictHeytingAlgebra)(v.value0)(v1.value0), Data_HeytingAlgebra.implies(dictHeytingAlgebra1)(v.value1)(v1.value1));\n };\n },\n conj: function (v) {\n return function (v1) {\n return new Tuple(Data_HeytingAlgebra.conj(dictHeytingAlgebra)(v.value0)(v1.value0), Data_HeytingAlgebra.conj(dictHeytingAlgebra1)(v.value1)(v1.value1));\n };\n },\n disj: function (v) {\n return function (v1) {\n return new Tuple(Data_HeytingAlgebra.disj(dictHeytingAlgebra)(v.value0)(v1.value0), Data_HeytingAlgebra.disj(dictHeytingAlgebra1)(v.value1)(v1.value1));\n };\n },\n not: function (v) {\n return new Tuple(Data_HeytingAlgebra.not(dictHeytingAlgebra)(v.value0), Data_HeytingAlgebra.not(dictHeytingAlgebra1)(v.value1));\n }\n };\n };\n};\nvar genericTuple = {\n to: function (x) {\n return new Tuple(x.value0, x.value1);\n },\n from: function (x) {\n return new Data_Generic_Rep.Product(x.value0, x.value1);\n }\n};\nvar functorTuple = {\n map: function (f) {\n return function (m) {\n return new Tuple(m.value0, f(m.value1));\n };\n }\n};\nvar invariantTuple = {\n imap: /* #__PURE__ */ Data_Functor_Invariant.imapF(functorTuple)\n};\nvar fst = function (v) {\n return v.value0;\n};\nvar lazyTuple = function (dictLazy) {\n return function (dictLazy1) {\n return {\n defer: function (f) {\n return new Tuple(Control_Lazy.defer(dictLazy)(function (v) {\n return fst(f(Data_Unit.unit));\n }), Control_Lazy.defer(dictLazy1)(function (v) {\n return snd(f(Data_Unit.unit));\n }));\n }\n };\n };\n};\nvar extendTuple = {\n extend: function (f) {\n return function (v) {\n return new Tuple(v.value0, f(v));\n };\n },\n Functor0: function () {\n return functorTuple;\n }\n};\nvar eqTuple = function (dictEq) {\n return function (dictEq1) {\n return {\n eq: function (x) {\n return function (y) {\n return Data_Eq.eq(dictEq)(x.value0)(y.value0) && Data_Eq.eq(dictEq1)(x.value1)(y.value1);\n };\n }\n };\n };\n};\nvar ordTuple = function (dictOrd) {\n return function (dictOrd1) {\n return {\n compare: function (x) {\n return function (y) {\n var v = Data_Ord.compare(dictOrd)(x.value0)(y.value0);\n if (v instanceof Data_Ordering.LT) {\n return Data_Ordering.LT.value;\n };\n if (v instanceof Data_Ordering.GT) {\n return Data_Ordering.GT.value;\n };\n return Data_Ord.compare(dictOrd1)(x.value1)(y.value1);\n };\n },\n Eq0: function () {\n return eqTuple(dictOrd.Eq0())(dictOrd1.Eq0());\n }\n };\n };\n};\nvar eq1Tuple = function (dictEq) {\n return {\n eq1: function (dictEq1) {\n return Data_Eq.eq(eqTuple(dictEq)(dictEq1));\n }\n };\n};\nvar ord1Tuple = function (dictOrd) {\n return {\n compare1: function (dictOrd1) {\n return Data_Ord.compare(ordTuple(dictOrd)(dictOrd1));\n },\n Eq10: function () {\n return eq1Tuple(dictOrd.Eq0());\n }\n };\n};\nvar curry = function (f) {\n return function (a) {\n return function (b) {\n return f(new Tuple(a, b));\n };\n };\n};\nvar comonadTuple = {\n extract: snd,\n Extend0: function () {\n return extendTuple;\n }\n};\nvar commutativeRingTuple = function (dictCommutativeRing) {\n return function (dictCommutativeRing1) {\n return {\n Ring0: function () {\n return ringTuple(dictCommutativeRing.Ring0())(dictCommutativeRing1.Ring0());\n }\n };\n };\n};\nvar boundedTuple = function (dictBounded) {\n return function (dictBounded1) {\n return {\n top: new Tuple(Data_Bounded.top(dictBounded), Data_Bounded.top(dictBounded1)),\n bottom: new Tuple(Data_Bounded.bottom(dictBounded), Data_Bounded.bottom(dictBounded1)),\n Ord0: function () {\n return ordTuple(dictBounded.Ord0())(dictBounded1.Ord0());\n }\n };\n };\n};\nvar booleanAlgebraTuple = function (dictBooleanAlgebra) {\n return function (dictBooleanAlgebra1) {\n return {\n HeytingAlgebra0: function () {\n return heytingAlgebraTuple(dictBooleanAlgebra.HeytingAlgebra0())(dictBooleanAlgebra1.HeytingAlgebra0());\n }\n };\n };\n};\nvar applyTuple = function (dictSemigroup) {\n return {\n apply: function (v) {\n return function (v1) {\n return new Tuple(Data_Semigroup.append(dictSemigroup)(v.value0)(v1.value0), v.value1(v1.value1));\n };\n },\n Functor0: function () {\n return functorTuple;\n }\n };\n};\nvar bindTuple = function (dictSemigroup) {\n return {\n bind: function (v) {\n return function (f) {\n var v1 = f(v.value1);\n return new Tuple(Data_Semigroup.append(dictSemigroup)(v.value0)(v1.value0), v1.value1);\n };\n },\n Apply0: function () {\n return applyTuple(dictSemigroup);\n }\n };\n};\nvar applicativeTuple = function (dictMonoid) {\n return {\n pure: Tuple.create(Data_Monoid.mempty(dictMonoid)),\n Apply0: function () {\n return applyTuple(dictMonoid.Semigroup0());\n }\n };\n};\nvar monadTuple = function (dictMonoid) {\n return {\n Applicative0: function () {\n return applicativeTuple(dictMonoid);\n },\n Bind1: function () {\n return bindTuple(dictMonoid.Semigroup0());\n }\n };\n};\nexport {\n Tuple,\n fst,\n snd,\n curry,\n uncurry,\n swap,\n showTuple,\n eqTuple,\n eq1Tuple,\n ordTuple,\n ord1Tuple,\n boundedTuple,\n semigroupoidTuple,\n semigroupTuple,\n monoidTuple,\n semiringTuple,\n ringTuple,\n commutativeRingTuple,\n heytingAlgebraTuple,\n booleanAlgebraTuple,\n functorTuple,\n genericTuple,\n invariantTuple,\n applyTuple,\n applicativeTuple,\n bindTuple,\n monadTuple,\n extendTuple,\n comonadTuple,\n lazyTuple\n};\n", "// Generated by purs version 0.15.2\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nvar state = function (dict) {\n return dict.state;\n};\nvar put = function (dictMonadState) {\n return function (s) {\n return state(dictMonadState)(function (v) {\n return new Data_Tuple.Tuple(Data_Unit.unit, s);\n });\n };\n};\nvar modify_ = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(Data_Unit.unit, f(s));\n });\n };\n};\nvar modify = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n var s$prime = f(s);\n return new Data_Tuple.Tuple(s$prime, s$prime);\n });\n };\n};\nvar gets = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(f(s), s);\n });\n };\n};\nvar get = function (dictMonadState) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(s, s);\n });\n};\nexport {\n state,\n get,\n gets,\n put,\n modify,\n modify_\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Effect from \"../Effect/index.js\";\nvar monadEffectEffect = {\n liftEffect: /* #__PURE__ */ Control_Category.identity(Control_Category.categoryFn),\n Monad0: function () {\n return Effect.monadEffect;\n }\n};\nvar liftEffect = function (dict) {\n return dict.liftEffect;\n};\nexport {\n liftEffect,\n monadEffectEffect\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Apply from \"../Control.Apply/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Control_Monad from \"../Control.Monad/index.js\";\nimport * as Control_Monad_Cont_Class from \"../Control.Monad.Cont.Class/index.js\";\nimport * as Control_Monad_Error_Class from \"../Control.Monad.Error.Class/index.js\";\nimport * as Control_Monad_Reader_Class from \"../Control.Monad.Reader.Class/index.js\";\nimport * as Control_Monad_Rec_Class from \"../Control.Monad.Rec.Class/index.js\";\nimport * as Control_Monad_State_Class from \"../Control.Monad.State.Class/index.js\";\nimport * as Control_Monad_Trans_Class from \"../Control.Monad.Trans.Class/index.js\";\nimport * as Control_Monad_Writer_Class from \"../Control.Monad.Writer.Class/index.js\";\nimport * as Data_Either from \"../Data.Either/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Monoid from \"../Data.Monoid/index.js\";\nimport * as Data_Semigroup from \"../Data.Semigroup/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nimport * as Effect_Class from \"../Effect.Class/index.js\";\nvar ExceptT = function (x) {\n return x;\n};\nvar withExceptT = function (dictFunctor) {\n return function (f) {\n return function (v) {\n var mapLeft = function (v1) {\n return function (v2) {\n if (v2 instanceof Data_Either.Right) {\n return new Data_Either.Right(v2.value0);\n };\n if (v2 instanceof Data_Either.Left) {\n return new Data_Either.Left(v1(v2.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Except.Trans (line 42, column 3 - line 42, column 32): \" + [ v1.constructor.name, v2.constructor.name ]);\n };\n };\n return Data_Functor.map(dictFunctor)(mapLeft(f))(v);\n };\n };\n};\nvar runExceptT = function (v) {\n return v;\n};\nvar newtypeExceptT = {\n Coercible0: function () {\n return undefined;\n }\n};\nvar monadTransExceptT = {\n lift: function (dictMonad) {\n return function (m) {\n return Control_Bind.bind(dictMonad.Bind1())(m)(function (a) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Right(a));\n });\n };\n }\n};\nvar mapExceptT = function (f) {\n return function (v) {\n return f(v);\n };\n};\nvar functorExceptT = function (dictFunctor) {\n return {\n map: function (f) {\n return mapExceptT(Data_Functor.map(dictFunctor)(Data_Functor.map(Data_Either.functorEither)(f)));\n }\n };\n};\nvar except = function (dictApplicative) {\n var $87 = Control_Applicative.pure(dictApplicative);\n return function ($88) {\n return ExceptT($87($88));\n };\n};\nvar monadExceptT = function (dictMonad) {\n return {\n Applicative0: function () {\n return applicativeExceptT(dictMonad);\n },\n Bind1: function () {\n return bindExceptT(dictMonad);\n }\n };\n};\nvar bindExceptT = function (dictMonad) {\n return {\n bind: function (v) {\n return function (k) {\n return Control_Bind.bind(dictMonad.Bind1())(v)(Data_Either.either((function () {\n var $89 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($90) {\n return $89(Data_Either.Left.create($90));\n };\n })())(function (a) {\n var v1 = k(a);\n return v1;\n }));\n };\n },\n Apply0: function () {\n return applyExceptT(dictMonad);\n }\n };\n};\nvar applyExceptT = function (dictMonad) {\n return {\n apply: Control_Monad.ap(monadExceptT(dictMonad)),\n Functor0: function () {\n return functorExceptT(((dictMonad.Bind1()).Apply0()).Functor0());\n }\n };\n};\nvar applicativeExceptT = function (dictMonad) {\n return {\n pure: (function () {\n var $91 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($92) {\n return ExceptT($91(Data_Either.Right.create($92)));\n };\n })(),\n Apply0: function () {\n return applyExceptT(dictMonad);\n }\n };\n};\nvar semigroupExceptT = function (dictMonad) {\n return function (dictSemigroup) {\n return {\n append: Control_Apply.lift2(applyExceptT(dictMonad))(Data_Semigroup.append(dictSemigroup))\n };\n };\n};\nvar monadAskExceptT = function (dictMonadAsk) {\n return {\n ask: Control_Monad_Trans_Class.lift(monadTransExceptT)(dictMonadAsk.Monad0())(Control_Monad_Reader_Class.ask(dictMonadAsk)),\n Monad0: function () {\n return monadExceptT(dictMonadAsk.Monad0());\n }\n };\n};\nvar monadReaderExceptT = function (dictMonadReader) {\n return {\n local: function (f) {\n return mapExceptT(Control_Monad_Reader_Class.local(dictMonadReader)(f));\n },\n MonadAsk0: function () {\n return monadAskExceptT(dictMonadReader.MonadAsk0());\n }\n };\n};\nvar monadContExceptT = function (dictMonadCont) {\n return {\n callCC: function (f) {\n return Control_Monad_Cont_Class.callCC(dictMonadCont)(function (c) {\n var v = f(function (a) {\n return c(new Data_Either.Right(a));\n });\n return v;\n });\n },\n Monad0: function () {\n return monadExceptT(dictMonadCont.Monad0());\n }\n };\n};\nvar monadEffectExceptT = function (dictMonadEffect) {\n return {\n liftEffect: (function () {\n var $93 = Control_Monad_Trans_Class.lift(monadTransExceptT)(dictMonadEffect.Monad0());\n var $94 = Effect_Class.liftEffect(dictMonadEffect);\n return function ($95) {\n return $93($94($95));\n };\n })(),\n Monad0: function () {\n return monadExceptT(dictMonadEffect.Monad0());\n }\n };\n};\nvar monadRecExceptT = function (dictMonadRec) {\n return {\n tailRecM: function (f) {\n var $96 = Control_Monad_Rec_Class.tailRecM(dictMonadRec)(function (a) {\n var v = f(a);\n return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(v)(function (m$prime) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())((function () {\n if (m$prime instanceof Data_Either.Left) {\n return new Control_Monad_Rec_Class.Done(new Data_Either.Left(m$prime.value0));\n };\n if (m$prime instanceof Data_Either.Right && m$prime.value0 instanceof Control_Monad_Rec_Class.Loop) {\n return new Control_Monad_Rec_Class.Loop(m$prime.value0.value0);\n };\n if (m$prime instanceof Data_Either.Right && m$prime.value0 instanceof Control_Monad_Rec_Class.Done) {\n return new Control_Monad_Rec_Class.Done(new Data_Either.Right(m$prime.value0.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Except.Trans (line 74, column 14 - line 77, column 43): \" + [ m$prime.constructor.name ]);\n })());\n });\n });\n return function ($97) {\n return ExceptT($96($97));\n };\n },\n Monad0: function () {\n return monadExceptT(dictMonadRec.Monad0());\n }\n };\n};\nvar monadStateExceptT = function (dictMonadState) {\n return {\n state: function (f) {\n return Control_Monad_Trans_Class.lift(monadTransExceptT)(dictMonadState.Monad0())(Control_Monad_State_Class.state(dictMonadState)(f));\n },\n Monad0: function () {\n return monadExceptT(dictMonadState.Monad0());\n }\n };\n};\nvar monadTellExceptT = function (dictMonadTell) {\n return {\n tell: (function () {\n var $98 = Control_Monad_Trans_Class.lift(monadTransExceptT)(dictMonadTell.Monad1());\n var $99 = Control_Monad_Writer_Class.tell(dictMonadTell);\n return function ($100) {\n return $98($99($100));\n };\n })(),\n Semigroup0: dictMonadTell.Semigroup0,\n Monad1: function () {\n return monadExceptT(dictMonadTell.Monad1());\n }\n };\n};\nvar monadWriterExceptT = function (dictMonadWriter) {\n return {\n listen: mapExceptT(function (m) {\n return Control_Bind.bind(((dictMonadWriter.MonadTell1()).Monad1()).Bind1())(Control_Monad_Writer_Class.listen(dictMonadWriter)(m))(function (v) {\n return Control_Applicative.pure(((dictMonadWriter.MonadTell1()).Monad1()).Applicative0())(Data_Functor.map(Data_Either.functorEither)(function (r) {\n return new Data_Tuple.Tuple(r, v.value1);\n })(v.value0));\n });\n }),\n pass: mapExceptT(function (m) {\n return Control_Monad_Writer_Class.pass(dictMonadWriter)(Control_Bind.bind(((dictMonadWriter.MonadTell1()).Monad1()).Bind1())(m)(function (a) {\n return Control_Applicative.pure(((dictMonadWriter.MonadTell1()).Monad1()).Applicative0())((function () {\n if (a instanceof Data_Either.Left) {\n return new Data_Tuple.Tuple(new Data_Either.Left(a.value0), Control_Category.identity(Control_Category.categoryFn));\n };\n if (a instanceof Data_Either.Right) {\n return new Data_Tuple.Tuple(new Data_Either.Right(a.value0.value0), a.value0.value1);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Except.Trans (line 134, column 10 - line 136, column 45): \" + [ a.constructor.name ]);\n })());\n }));\n }),\n Monoid0: dictMonadWriter.Monoid0,\n MonadTell1: function () {\n return monadTellExceptT(dictMonadWriter.MonadTell1());\n }\n };\n};\nvar monadThrowExceptT = function (dictMonad) {\n return {\n throwError: (function () {\n var $101 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($102) {\n return ExceptT($101(Data_Either.Left.create($102)));\n };\n })(),\n Monad0: function () {\n return monadExceptT(dictMonad);\n }\n };\n};\nvar monadErrorExceptT = function (dictMonad) {\n return {\n catchError: function (v) {\n return function (k) {\n return Control_Bind.bind(dictMonad.Bind1())(v)(Data_Either.either(function (a) {\n var v1 = k(a);\n return v1;\n })((function () {\n var $103 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($104) {\n return $103(Data_Either.Right.create($104));\n };\n })()));\n };\n },\n MonadThrow0: function () {\n return monadThrowExceptT(dictMonad);\n }\n };\n};\nvar monoidExceptT = function (dictMonad) {\n return function (dictMonoid) {\n return {\n mempty: Control_Applicative.pure(applicativeExceptT(dictMonad))(Data_Monoid.mempty(dictMonoid)),\n Semigroup0: function () {\n return semigroupExceptT(dictMonad)(dictMonoid.Semigroup0());\n }\n };\n };\n};\nvar altExceptT = function (dictSemigroup) {\n return function (dictMonad) {\n return {\n alt: function (v) {\n return function (v1) {\n return Control_Bind.bind(dictMonad.Bind1())(v)(function (rm) {\n if (rm instanceof Data_Either.Right) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Right(rm.value0));\n };\n if (rm instanceof Data_Either.Left) {\n return Control_Bind.bind(dictMonad.Bind1())(v1)(function (rn) {\n if (rn instanceof Data_Either.Right) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Right(rn.value0));\n };\n if (rn instanceof Data_Either.Left) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Left(Data_Semigroup.append(dictSemigroup)(rm.value0)(rn.value0)));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Except.Trans (line 86, column 9 - line 88, column 49): \" + [ rn.constructor.name ]);\n });\n };\n throw new Error(\"Failed pattern match at Control.Monad.Except.Trans (line 82, column 5 - line 88, column 49): \" + [ rm.constructor.name ]);\n });\n };\n },\n Functor0: function () {\n return functorExceptT(((dictMonad.Bind1()).Apply0()).Functor0());\n }\n };\n };\n};\nvar plusExceptT = function (dictMonoid) {\n return function (dictMonad) {\n return {\n empty: Control_Monad_Error_Class.throwError(monadThrowExceptT(dictMonad))(Data_Monoid.mempty(dictMonoid)),\n Alt0: function () {\n return altExceptT(dictMonoid.Semigroup0())(dictMonad);\n }\n };\n };\n};\nvar alternativeExceptT = function (dictMonoid) {\n return function (dictMonad) {\n return {\n Applicative0: function () {\n return applicativeExceptT(dictMonad);\n },\n Plus1: function () {\n return plusExceptT(dictMonoid)(dictMonad);\n }\n };\n };\n};\nvar monadPlusExceptT = function (dictMonoid) {\n return function (dictMonad) {\n return {\n Monad0: function () {\n return monadExceptT(dictMonad);\n },\n Alternative1: function () {\n return alternativeExceptT(dictMonoid)(dictMonad);\n }\n };\n };\n};\nexport {\n ExceptT,\n runExceptT,\n withExceptT,\n mapExceptT,\n except,\n newtypeExceptT,\n functorExceptT,\n applyExceptT,\n applicativeExceptT,\n bindExceptT,\n monadExceptT,\n monadRecExceptT,\n altExceptT,\n plusExceptT,\n alternativeExceptT,\n monadPlusExceptT,\n monadTransExceptT,\n monadEffectExceptT,\n monadContExceptT,\n monadThrowExceptT,\n monadErrorExceptT,\n monadAskExceptT,\n monadReaderExceptT,\n monadStateExceptT,\n monadTellExceptT,\n monadWriterExceptT,\n semigroupExceptT,\n monoidExceptT\n};\nexport {\n catchError,\n throwError\n} from \"../Control.Monad.Error.Class/index.js\";\nexport {\n lift\n} from \"../Control.Monad.Trans.Class/index.js\";\n", "// Generated by purs version 0.15.2\nimport * as Control_Monad_Error_Class from \"../Control.Monad.Error.Class/index.js\";\nimport * as Control_Monad_Except_Trans from \"../Control.Monad.Except.Trans/index.js\";\nimport * as Data_Identity from \"../Data.Identity/index.js\";\nimport * as Data_Newtype from \"../Data.Newtype/index.js\";\nvar withExcept = /* #__PURE__ */ Control_Monad_Except_Trans.withExceptT(Data_Identity.functorIdentity);\nvar runExcept = /* #__PURE__ */ (function () {\n var $0 = Data_Newtype.unwrap();\n return function ($1) {\n return $0(Control_Monad_Except_Trans.runExceptT($1));\n };\n})();\nvar mapExcept = function (f) {\n return Control_Monad_Except_Trans.mapExceptT((function () {\n var $2 = Data_Newtype.unwrap();\n return function ($3) {\n return Data_Identity.Identity(f($2($3)));\n };\n })());\n};\nexport {\n runExcept,\n mapExcept,\n withExcept\n};\nexport {\n catchError,\n catchJust,\n throwError\n} from \"../Control.Monad.Error.Class/index.js\";\nexport {\n ExceptT,\n except,\n lift,\n mapExceptT,\n runExceptT,\n withExceptT\n} from \"../Control.Monad.Except.Trans/index.js\";\n", "/* eslint-disable no-eq-null, eqeqeq */\nfunction id(x) {\n return x;\n}\n\nexport {id as fromBoolean};\nexport {id as fromNumber};\nexport {id as fromString};\nexport {id as fromArray};\nexport {id as fromObject};\nexport const jsonNull = null;\n\nexport function stringify(j) {\n return JSON.stringify(j);\n}\n\nexport function stringifyWithIndent(i) {\n return function (j) {\n return JSON.stringify(j, null, i);\n };\n}\n\nfunction isArray(a) {\n return Object.prototype.toString.call(a) === \"[object Array]\";\n}\n\nexport function _caseJson(isNull, isBool, isNum, isStr, isArr, isObj, j) {\n if (j == null) return isNull();\n else if (typeof j === \"boolean\") return isBool(j);\n else if (typeof j === \"number\") return isNum(j);\n else if (typeof j === \"string\") return isStr(j);\n else if (Object.prototype.toString.call(j) === \"[object Array]\")\n return isArr(j);\n else return isObj(j);\n}\n\nexport function _compare(EQ, GT, LT, a, b) {\n if (a == null) {\n if (b == null) return EQ;\n else return LT;\n } else if (typeof a === \"boolean\") {\n if (typeof b === \"boolean\") {\n // boolean / boolean\n if (a === b) return EQ;\n else if (a === false) return LT;\n else return GT;\n } else if (b == null) return GT;\n else return LT;\n } else if (typeof a === \"number\") {\n if (typeof b === \"number\") {\n if (a === b) return EQ;\n else if (a < b) return LT;\n else return GT;\n } else if (b == null) return GT;\n else if (typeof b === \"boolean\") return GT;\n else return LT;\n } else if (typeof a === \"string\") {\n if (typeof b === \"string\") {\n if (a === b) return EQ;\n else if (a < b) return LT;\n else return GT;\n } else if (b == null) return GT;\n else if (typeof b === \"boolean\") return GT;\n else if (typeof b === \"number\") return GT;\n else return LT;\n } else if (isArray(a)) {\n if (isArray(b)) {\n for (var i = 0; i < Math.min(a.length, b.length); i++) {\n var ca = _compare(EQ, GT, LT, a[i], b[i]);\n if (ca !== EQ) return ca;\n }\n if (a.length === b.length) return EQ;\n else if (a.length < b.length) return LT;\n else return GT;\n } else if (b == null) return GT;\n else if (typeof b === \"boolean\") return GT;\n else if (typeof b === \"number\") return GT;\n else if (typeof b === \"string\") return GT;\n else return LT;\n } else {\n if (b == null) return GT;\n else if (typeof b === \"boolean\") return GT;\n else if (typeof b === \"number\") return GT;\n else if (typeof b === \"string\") return GT;\n else if (isArray(b)) return GT;\n else {\n var akeys = Object.keys(a);\n var bkeys = Object.keys(b);\n if (akeys.length < bkeys.length) return LT;\n else if (akeys.length > bkeys.length) return GT;\n var keys = akeys.concat(bkeys).sort();\n for (var j = 0; j < keys.length; j++) {\n var k = keys[j];\n if (a[k] === undefined) return LT;\n else if (b[k] === undefined) return GT;\n var ck = _compare(EQ, GT, LT, a[k], b[k]);\n if (ck !== EQ) return ck;\n }\n return EQ;\n }\n }\n}\n", "export function _copyST(m) {\n return function () {\n var r = {};\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n r[k] = m[k];\n }\n }\n return r;\n };\n}\n\nexport const empty = {};\n\nexport function runST(f) {\n return f();\n}\n\nexport function _fmapObject(m0, f) {\n var m = {};\n for (var k in m0) {\n if (hasOwnProperty.call(m0, k)) {\n m[k] = f(m0[k]);\n }\n }\n return m;\n}\n\nexport function _mapWithKey(m0, f) {\n var m = {};\n for (var k in m0) {\n if (hasOwnProperty.call(m0, k)) {\n m[k] = f(k)(m0[k]);\n }\n }\n return m;\n}\n\nexport function _foldM(bind) {\n return function (f) {\n return function (mz) {\n return function (m) {\n var acc = mz;\n function g(k) {\n return function (z) {\n return f(z)(k)(m[k]);\n };\n }\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n acc = bind(acc)(g(k));\n }\n }\n return acc;\n };\n };\n };\n}\n\nexport function _foldSCObject(m, z, f, fromMaybe) {\n var acc = z;\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n var maybeR = f(acc)(k)(m[k]);\n var r = fromMaybe(null)(maybeR);\n if (r === null) return acc;\n else acc = r;\n }\n }\n return acc;\n}\n\nexport function all(f) {\n return function (m) {\n for (var k in m) {\n if (hasOwnProperty.call(m, k) && !f(k)(m[k])) return false;\n }\n return true;\n };\n}\n\nexport function size(m) {\n var s = 0;\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n ++s;\n }\n }\n return s;\n}\n\nexport function _lookup(no, yes, k, m) {\n return k in m ? yes(m[k]) : no;\n}\n\nexport function _lookupST(no, yes, k, m) {\n return function () {\n return k in m ? yes(m[k]) : no;\n };\n}\n\nexport function toArrayWithKey(f) {\n return function (m) {\n var r = [];\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n r.push(f(k)(m[k]));\n }\n }\n return r;\n };\n}\n\nexport const keys = Object.keys || toArrayWithKey(function (k) {\n return function () { return k; };\n});\n", "//------------------------------------------------------------------------------\n// Array creation --------------------------------------------------------------\n//------------------------------------------------------------------------------\n\nexport const range = function (start) {\n return function (end) {\n var step = start > end ? -1 : 1;\n var result = new Array(step * (end - start) + 1);\n var i = start, n = 0;\n while (i !== end) {\n result[n++] = i;\n i += step;\n }\n result[n] = i;\n return result;\n };\n};\n\nvar replicateFill = function (count) {\n return function (value) {\n if (count < 1) {\n return [];\n }\n var result = new Array(count);\n return result.fill(value);\n };\n};\n\nvar replicatePolyfill = function (count) {\n return function (value) {\n var result = [];\n var n = 0;\n for (var i = 0; i < count; i++) {\n result[n++] = value;\n }\n return result;\n };\n};\n\n// In browsers that have Array.prototype.fill we use it, as it's faster.\nexport const replicate = typeof Array.prototype.fill === \"function\" ? replicateFill : replicatePolyfill;\n\nexport const fromFoldableImpl = (function () {\n function Cons(head, tail) {\n this.head = head;\n this.tail = tail;\n }\n var emptyList = {};\n\n function curryCons(head) {\n return function (tail) {\n return new Cons(head, tail);\n };\n }\n\n function listToArray(list) {\n var result = [];\n var count = 0;\n var xs = list;\n while (xs !== emptyList) {\n result[count++] = xs.head;\n xs = xs.tail;\n }\n return result;\n }\n\n return function (foldr) {\n return function (xs) {\n return listToArray(foldr(curryCons)(emptyList)(xs));\n };\n };\n})();\n\n//------------------------------------------------------------------------------\n// Array size ------------------------------------------------------------------\n//------------------------------------------------------------------------------\n\nexport const length = function (xs) {\n return xs.length;\n};\n\n//------------------------------------------------------------------------------\n// Non-indexed reads -----------------------------------------------------------\n//------------------------------------------------------------------------------\n\nexport const unconsImpl = function (empty) {\n return function (next) {\n return function (xs) {\n return xs.length === 0 ? empty({}) : next(xs[0])(xs.slice(1));\n };\n };\n};\n\n//------------------------------------------------------------------------------\n// Indexed operations ----------------------------------------------------------\n//------------------------------------------------------------------------------\n\nexport const indexImpl = function (just) {\n return function (nothing) {\n return function (xs) {\n return function (i) {\n return i < 0 || i >= xs.length ? nothing : just(xs[i]);\n };\n };\n };\n};\n\nexport const findMapImpl = function (nothing) {\n return function (isJust) {\n return function (f) {\n return function (xs) {\n for (var i = 0; i < xs.length; i++) {\n var result = f(xs[i]);\n if (isJust(result)) return result;\n }\n return nothing;\n };\n };\n };\n};\n\nexport const findIndexImpl = function (just) {\n return function (nothing) {\n return function (f) {\n return function (xs) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (f(xs[i])) return just(i);\n }\n return nothing;\n };\n };\n };\n};\n\nexport const findLastIndexImpl = function (just) {\n return function (nothing) {\n return function (f) {\n return function (xs) {\n for (var i = xs.length - 1; i >= 0; i--) {\n if (f(xs[i])) return just(i);\n }\n return nothing;\n };\n };\n };\n};\n\nexport const _insertAt = function (just) {\n return function (nothing) {\n return function (i) {\n return function (a) {\n return function (l) {\n if (i < 0 || i > l.length) return nothing;\n var l1 = l.slice();\n l1.splice(i, 0, a);\n return just(l1);\n };\n };\n };\n };\n};\n\nexport const _deleteAt = function (just) {\n return function (nothing) {\n return function (i) {\n return function (l) {\n if (i < 0 || i >= l.length) return nothing;\n var l1 = l.slice();\n l1.splice(i, 1);\n return just(l1);\n };\n };\n };\n};\n\nexport const _updateAt = function (just) {\n return function (nothing) {\n return function (i) {\n return function (a) {\n return function (l) {\n if (i < 0 || i >= l.length) return nothing;\n var l1 = l.slice();\n l1[i] = a;\n return just(l1);\n };\n };\n };\n };\n};\n\n//------------------------------------------------------------------------------\n// Transformations -------------------------------------------------------------\n//------------------------------------------------------------------------------\n\nexport const reverse = function (l) {\n return l.slice().reverse();\n};\n\nexport const concat = function (xss) {\n if (xss.length <= 10000) {\n // This method is faster, but it crashes on big arrays.\n // So we use it when can and fallback to simple variant otherwise.\n return Array.prototype.concat.apply([], xss);\n }\n\n var result = [];\n for (var i = 0, l = xss.length; i < l; i++) {\n var xs = xss[i];\n for (var j = 0, m = xs.length; j < m; j++) {\n result.push(xs[j]);\n }\n }\n return result;\n};\n\nexport const filter = function (f) {\n return function (xs) {\n return xs.filter(f);\n };\n};\n\nexport const partition = function (f) {\n return function (xs) {\n var yes = [];\n var no = [];\n for (var i = 0; i < xs.length; i++) {\n var x = xs[i];\n if (f(x))\n yes.push(x);\n else\n no.push(x);\n }\n return { yes: yes, no: no };\n };\n};\n\nexport const scanl = function (f) {\n return function (b) {\n return function (xs) {\n var len = xs.length;\n var acc = b;\n var out = new Array(len);\n for (var i = 0; i < len; i++) {\n acc = f(acc)(xs[i]);\n out[i] = acc;\n }\n return out;\n };\n };\n};\n\nexport const scanr = function (f) {\n return function (b) {\n return function (xs) {\n var len = xs.length;\n var acc = b;\n var out = new Array(len);\n for (var i = len - 1; i >= 0; i--) {\n acc = f(xs[i])(acc);\n out[i] = acc;\n }\n return out;\n };\n };\n};\n\n//------------------------------------------------------------------------------\n// Sorting ---------------------------------------------------------------------\n//------------------------------------------------------------------------------\n\nexport const sortByImpl = (function () {\n function mergeFromTo(compare, fromOrdering, xs1, xs2, from, to) {\n var mid;\n var i;\n var j;\n var k;\n var x;\n var y;\n var c;\n\n mid = from + ((to - from) >> 1);\n if (mid - from > 1) mergeFromTo(compare, fromOrdering, xs2, xs1, from, mid);\n if (to - mid > 1) mergeFromTo(compare, fromOrdering, xs2, xs1, mid, to);\n\n i = from;\n j = mid;\n k = from;\n while (i < mid && j < to) {\n x = xs2[i];\n y = xs2[j];\n c = fromOrdering(compare(x)(y));\n if (c > 0) {\n xs1[k++] = y;\n ++j;\n }\n else {\n xs1[k++] = x;\n ++i;\n }\n }\n while (i < mid) {\n xs1[k++] = xs2[i++];\n }\n while (j < to) {\n xs1[k++] = xs2[j++];\n }\n }\n\n return function (compare) {\n return function (fromOrdering) {\n return function (xs) {\n var out;\n\n if (xs.length < 2) return xs;\n\n out = xs.slice(0);\n mergeFromTo(compare, fromOrdering, out, xs.slice(0), 0, xs.length);\n\n return out;\n };\n };\n };\n})();\n\n//------------------------------------------------------------------------------\n// Subarrays -------------------------------------------------------------------\n//------------------------------------------------------------------------------\n\nexport const slice = function (s) {\n return function (e) {\n return function (l) {\n return l.slice(s, e);\n };\n };\n};\n\n//------------------------------------------------------------------------------\n// Zipping ---------------------------------------------------------------------\n//------------------------------------------------------------------------------\n\nexport const zipWith = function (f) {\n return function (xs) {\n return function (ys) {\n var l = xs.length < ys.length ? xs.length : ys.length;\n var result = new Array(l);\n for (var i = 0; i < l; i++) {\n result[i] = f(xs[i])(ys[i]);\n }\n return result;\n };\n };\n};\n\n//------------------------------------------------------------------------------\n// Folding ---------------------------------------------------------------------\n//------------------------------------------------------------------------------\n\nexport const any = function (p) {\n return function (xs) {\n var len = xs.length;\n for (var i = 0; i < len; i++) {\n if (p(xs[i])) return true;\n }\n return false;\n };\n};\n\nexport const all = function (p) {\n return function (xs) {\n var len = xs.length;\n for (var i = 0; i < len; i++) {\n if (!p(xs[i])) return false;\n }\n return true;\n };\n};\n\n//------------------------------------------------------------------------------\n// Partial ---------------------------------------------------------------------\n//------------------------------------------------------------------------------\n\nexport const unsafeIndexImpl = function (xs) {\n return function (n) {\n return xs[n];\n };\n};\n", "function newSTArray () {\n return [];\n}\nexport { newSTArray as new };\n\nexport const peekImpl = function (just) {\n return function (nothing) {\n return function (i) {\n return function (xs) {\n return function () {\n return i >= 0 && i < xs.length ? just(xs[i]) : nothing;\n };\n };\n };\n };\n};\n\nexport const poke = function (i) {\n return function (a) {\n return function (xs) {\n return function () {\n var ret = i >= 0 && i < xs.length;\n if (ret) xs[i] = a;\n return ret;\n };\n };\n };\n};\n\nexport const popImpl = function (just) {\n return function (nothing) {\n return function (xs) {\n return function () {\n return xs.length > 0 ? just(xs.pop()) : nothing;\n };\n };\n };\n};\n\nexport const pushAll = function (as) {\n return function (xs) {\n return function () {\n return xs.push.apply(xs, as);\n };\n };\n};\n\nexport const shiftImpl = function (just) {\n return function (nothing) {\n return function (xs) {\n return function () {\n return xs.length > 0 ? just(xs.shift()) : nothing;\n };\n };\n };\n};\n\nexport const unshiftAll = function (as) {\n return function (xs) {\n return function () {\n return xs.unshift.apply(xs, as);\n };\n };\n};\n\nexport const splice = function (i) {\n return function (howMany) {\n return function (bs) {\n return function (xs) {\n return function () {\n return xs.splice.apply(xs, [i, howMany].concat(bs));\n };\n };\n };\n };\n};\n\nexport const unsafeFreeze = function (xs) {\n return function () {\n return xs;\n };\n};\n\nexport const unsafeThaw = function (xs) {\n return function () {\n return xs;\n };\n};\n\nfunction copyImpl(xs) {\n return function () {\n return xs.slice();\n };\n}\n\nexport const freeze = copyImpl;\n\nexport const thaw = copyImpl;\n\nexport const sortByImpl = (function () {\n function mergeFromTo(compare, fromOrdering, xs1, xs2, from, to) {\n var mid;\n var i;\n var j;\n var k;\n var x;\n var y;\n var c;\n\n mid = from + ((to - from) >> 1);\n if (mid - from > 1) mergeFromTo(compare, fromOrdering, xs2, xs1, from, mid);\n if (to - mid > 1) mergeFromTo(compare, fromOrdering, xs2, xs1, mid, to);\n\n i = from;\n j = mid;\n k = from;\n while (i < mid && j < to) {\n x = xs2[i];\n y = xs2[j];\n c = fromOrdering(compare(x)(y));\n if (c > 0) {\n xs1[k++] = y;\n ++j;\n }\n else {\n xs1[k++] = x;\n ++i;\n }\n }\n while (i < mid) {\n xs1[k++] = xs2[i++];\n }\n while (j < to) {\n xs1[k++] = xs2[j++];\n }\n }\n\n return function (compare) {\n return function (fromOrdering) {\n return function (xs) {\n return function () {\n if (xs.length < 2) return xs;\n\n mergeFromTo(compare, fromOrdering, xs, xs.slice(0), 0, xs.length);\n\n return xs;\n };\n };\n };\n };\n})();\n\nexport const toAssocArray = function (xs) {\n return function () {\n var n = xs.length;\n var as = new Array(n);\n for (var i = 0; i < n; i++) as[i] = { value: xs[i], index: i };\n return as;\n };\n};\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Control_Monad_ST_Internal from \"../Control.Monad.ST.Internal/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Ordering from \"../Data.Ordering/index.js\";\nvar withArray = function (f) {\n return function (xs) {\n return function __do() {\n var result = $foreign.thaw(xs)();\n f(result)();\n return $foreign.unsafeFreeze(result)();\n };\n };\n};\nvar unshift = function (a) {\n return $foreign.unshiftAll([ a ]);\n};\nvar sortBy = function (comp) {\n return $foreign.sortByImpl(comp)(function (v) {\n if (v instanceof Data_Ordering.GT) {\n return 1;\n };\n if (v instanceof Data_Ordering.EQ) {\n return 0;\n };\n if (v instanceof Data_Ordering.LT) {\n return -1 | 0;\n };\n throw new Error(\"Failed pattern match at Data.Array.ST (line 108, column 31 - line 111, column 11): \" + [ v.constructor.name ]);\n });\n};\nvar sortWith = function (dictOrd) {\n return function (f) {\n return sortBy(Data_Ord.comparing(dictOrd)(f));\n };\n};\nvar sort = function (dictOrd) {\n return sortBy(Data_Ord.compare(dictOrd));\n};\nvar shift = /* #__PURE__ */ (function () {\n return $foreign.shiftImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n})();\nvar run = function (st) {\n return Control_Bind.bind(Control_Monad_ST_Internal.bindST)(st)($foreign.unsafeFreeze)();\n};\nvar push = function (a) {\n return $foreign.pushAll([ a ]);\n};\nvar pop = /* #__PURE__ */ (function () {\n return $foreign.popImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n})();\nvar peek = /* #__PURE__ */ (function () {\n return $foreign.peekImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n})();\nvar modify = function (i) {\n return function (f) {\n return function (xs) {\n return function __do() {\n var entry = peek(i)(xs)();\n if (entry instanceof Data_Maybe.Just) {\n return $foreign.poke(i)(f(entry.value0))(xs)();\n };\n if (entry instanceof Data_Maybe.Nothing) {\n return false;\n };\n throw new Error(\"Failed pattern match at Data.Array.ST (line 193, column 3 - line 195, column 26): \" + [ entry.constructor.name ]);\n };\n };\n };\n};\nexport {\n new,\n poke,\n pushAll,\n unshiftAll,\n splice,\n freeze,\n thaw,\n unsafeFreeze,\n unsafeThaw,\n toAssocArray\n} from \"./foreign.js\";\nexport {\n run,\n withArray,\n peek,\n modify,\n pop,\n push,\n shift,\n unshift,\n sort,\n sortBy,\n sortWith\n};\n", "export const foldrArray = function (f) {\n return function (init) {\n return function (xs) {\n var acc = init;\n var len = xs.length;\n for (var i = len - 1; i >= 0; i--) {\n acc = f(xs[i])(acc);\n }\n return acc;\n };\n };\n};\n\nexport const foldlArray = function (f) {\n return function (init) {\n return function (xs) {\n var acc = init;\n var len = xs.length;\n for (var i = 0; i < len; i++) {\n acc = f(acc)(xs[i]);\n }\n return acc;\n };\n };\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Alt from \"../Control.Alt/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nvar plusArray = {\n empty: [ ],\n Alt0: function () {\n return Control_Alt.altArray;\n }\n};\nvar empty = function (dict) {\n return dict.empty;\n};\nexport {\n empty,\n plusArray\n};\nexport {\n alt\n} from \"../Control.Alt/index.js\";\nexport {\n map,\n void\n} from \"../Data.Functor/index.js\";\n", "// Generated by purs version 0.15.2\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Data_Either from \"../Data.Either/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nvar bimap = function (dict) {\n return dict.bimap;\n};\nvar lmap = function (dictBifunctor) {\n return function (f) {\n return bimap(dictBifunctor)(f)(Control_Category.identity(Control_Category.categoryFn));\n };\n};\nvar rmap = function (dictBifunctor) {\n return bimap(dictBifunctor)(Control_Category.identity(Control_Category.categoryFn));\n};\nvar bifunctorTuple = {\n bimap: function (f) {\n return function (g) {\n return function (v) {\n return new Data_Tuple.Tuple(f(v.value0), g(v.value1));\n };\n };\n }\n};\nvar bifunctorEither = {\n bimap: function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Data_Either.Left) {\n return new Data_Either.Left(v(v2.value0));\n };\n if (v2 instanceof Data_Either.Right) {\n return new Data_Either.Right(v1(v2.value0));\n };\n throw new Error(\"Failed pattern match at Data.Bifunctor (line 32, column 1 - line 34, column 36): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n }\n};\nvar bifunctorConst = {\n bimap: function (f) {\n return function (v) {\n return function (v1) {\n return f(v1);\n };\n };\n }\n};\nexport {\n bimap,\n lmap,\n rmap,\n bifunctorEither,\n bifunctorTuple,\n bifunctorConst\n};\n", "// Generated by purs version 0.15.2\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_HeytingAlgebra from \"../Data.HeytingAlgebra/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Show from \"../Data.Show/index.js\";\nvar Disj = function (x) {\n return x;\n};\nvar showDisj = function (dictShow) {\n return {\n show: function (v) {\n return \"(Disj \" + (Data_Show.show(dictShow)(v) + \")\");\n }\n };\n};\nvar semiringDisj = function (dictHeytingAlgebra) {\n return {\n zero: Data_HeytingAlgebra.ff(dictHeytingAlgebra),\n one: Data_HeytingAlgebra.tt(dictHeytingAlgebra),\n add: function (v) {\n return function (v1) {\n return Data_HeytingAlgebra.disj(dictHeytingAlgebra)(v)(v1);\n };\n },\n mul: function (v) {\n return function (v1) {\n return Data_HeytingAlgebra.conj(dictHeytingAlgebra)(v)(v1);\n };\n }\n };\n};\nvar semigroupDisj = function (dictHeytingAlgebra) {\n return {\n append: function (v) {\n return function (v1) {\n return Data_HeytingAlgebra.disj(dictHeytingAlgebra)(v)(v1);\n };\n }\n };\n};\nvar ordDisj = function (dictOrd) {\n return dictOrd;\n};\nvar monoidDisj = function (dictHeytingAlgebra) {\n return {\n mempty: Data_HeytingAlgebra.ff(dictHeytingAlgebra),\n Semigroup0: function () {\n return semigroupDisj(dictHeytingAlgebra);\n }\n };\n};\nvar functorDisj = {\n map: function (f) {\n return function (m) {\n return f(m);\n };\n }\n};\nvar eqDisj = function (dictEq) {\n return dictEq;\n};\nvar eq1Disj = {\n eq1: function (dictEq) {\n return Data_Eq.eq(eqDisj(dictEq));\n }\n};\nvar ord1Disj = {\n compare1: function (dictOrd) {\n return Data_Ord.compare(ordDisj(dictOrd));\n },\n Eq10: function () {\n return eq1Disj;\n }\n};\nvar boundedDisj = function (dictBounded) {\n return dictBounded;\n};\nvar applyDisj = {\n apply: function (v) {\n return function (v1) {\n return v(v1);\n };\n },\n Functor0: function () {\n return functorDisj;\n }\n};\nvar bindDisj = {\n bind: function (v) {\n return function (f) {\n return f(v);\n };\n },\n Apply0: function () {\n return applyDisj;\n }\n};\nvar applicativeDisj = {\n pure: Disj,\n Apply0: function () {\n return applyDisj;\n }\n};\nvar monadDisj = {\n Applicative0: function () {\n return applicativeDisj;\n },\n Bind1: function () {\n return bindDisj;\n }\n};\nexport {\n Disj,\n eqDisj,\n eq1Disj,\n ordDisj,\n ord1Disj,\n boundedDisj,\n showDisj,\n functorDisj,\n applyDisj,\n applicativeDisj,\n bindDisj,\n monadDisj,\n semigroupDisj,\n monoidDisj,\n semiringDisj\n};\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Control_Alt from \"../Control.Alt/index.js\";\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Apply from \"../Control.Apply/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Control_Plus from \"../Control.Plus/index.js\";\nimport * as Data_Either from \"../Data.Either/index.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor_Coproduct from \"../Data.Functor.Coproduct/index.js\";\nimport * as Data_HeytingAlgebra from \"../Data.HeytingAlgebra/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Maybe_First from \"../Data.Maybe.First/index.js\";\nimport * as Data_Monoid from \"../Data.Monoid/index.js\";\nimport * as Data_Monoid_Conj from \"../Data.Monoid.Conj/index.js\";\nimport * as Data_Monoid_Disj from \"../Data.Monoid.Disj/index.js\";\nimport * as Data_Monoid_Dual from \"../Data.Monoid.Dual/index.js\";\nimport * as Data_Monoid_Endo from \"../Data.Monoid.Endo/index.js\";\nimport * as Data_Newtype from \"../Data.Newtype/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Ordering from \"../Data.Ordering/index.js\";\nimport * as Data_Semigroup from \"../Data.Semigroup/index.js\";\nimport * as Data_Semiring from \"../Data.Semiring/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nvar foldr = function (dict) {\n return dict.foldr;\n};\nvar indexr = function (dictFoldable) {\n return function (idx) {\n var go = function (a) {\n return function (cursor) {\n if (cursor.elem instanceof Data_Maybe.Just) {\n return cursor;\n };\n var $153 = cursor.pos === idx;\n if ($153) {\n return {\n elem: new Data_Maybe.Just(a),\n pos: cursor.pos\n };\n };\n return {\n pos: cursor.pos + 1 | 0,\n elem: cursor.elem\n };\n };\n };\n var $312 = foldr(dictFoldable)(go)({\n elem: Data_Maybe.Nothing.value,\n pos: 0\n });\n return function ($313) {\n return (function (v) {\n return v.elem;\n })($312($313));\n };\n };\n};\nvar $$null = function (dictFoldable) {\n return foldr(dictFoldable)(function (v) {\n return function (v1) {\n return false;\n };\n })(true);\n};\nvar oneOf = function (dictFoldable) {\n return function (dictPlus) {\n return foldr(dictFoldable)(Control_Alt.alt(dictPlus.Alt0()))(Control_Plus.empty(dictPlus));\n };\n};\nvar oneOfMap = function (dictFoldable) {\n return function (dictPlus) {\n return function (f) {\n return foldr(dictFoldable)((function () {\n var $314 = Control_Alt.alt(dictPlus.Alt0());\n return function ($315) {\n return $314(f($315));\n };\n })())(Control_Plus.empty(dictPlus));\n };\n };\n};\nvar traverse_ = function (dictApplicative) {\n return function (dictFoldable) {\n return function (f) {\n return foldr(dictFoldable)((function () {\n var $316 = Control_Apply.applySecond(dictApplicative.Apply0());\n return function ($317) {\n return $316(f($317));\n };\n })())(Control_Applicative.pure(dictApplicative)(Data_Unit.unit));\n };\n };\n};\nvar for_ = function (dictApplicative) {\n return function (dictFoldable) {\n return Data_Function.flip(traverse_(dictApplicative)(dictFoldable));\n };\n};\nvar sequence_ = function (dictApplicative) {\n return function (dictFoldable) {\n return traverse_(dictApplicative)(dictFoldable)(Control_Category.identity(Control_Category.categoryFn));\n };\n};\nvar foldl = function (dict) {\n return dict.foldl;\n};\nvar indexl = function (dictFoldable) {\n return function (idx) {\n var go = function (cursor) {\n return function (a) {\n if (cursor.elem instanceof Data_Maybe.Just) {\n return cursor;\n };\n var $157 = cursor.pos === idx;\n if ($157) {\n return {\n elem: new Data_Maybe.Just(a),\n pos: cursor.pos\n };\n };\n return {\n pos: cursor.pos + 1 | 0,\n elem: cursor.elem\n };\n };\n };\n var $318 = foldl(dictFoldable)(go)({\n elem: Data_Maybe.Nothing.value,\n pos: 0\n });\n return function ($319) {\n return (function (v) {\n return v.elem;\n })($318($319));\n };\n };\n};\nvar intercalate = function (dictFoldable) {\n return function (dictMonoid) {\n return function (sep) {\n return function (xs) {\n var go = function (v) {\n return function (x) {\n if (v.init) {\n return {\n init: false,\n acc: x\n };\n };\n return {\n init: false,\n acc: Data_Semigroup.append(dictMonoid.Semigroup0())(v.acc)(Data_Semigroup.append(dictMonoid.Semigroup0())(sep)(x))\n };\n };\n };\n return (foldl(dictFoldable)(go)({\n init: true,\n acc: Data_Monoid.mempty(dictMonoid)\n })(xs)).acc;\n };\n };\n };\n};\nvar length = function (dictFoldable) {\n return function (dictSemiring) {\n return foldl(dictFoldable)(function (c) {\n return function (v) {\n return Data_Semiring.add(dictSemiring)(Data_Semiring.one(dictSemiring))(c);\n };\n })(Data_Semiring.zero(dictSemiring));\n };\n};\nvar maximumBy = function (dictFoldable) {\n return function (cmp) {\n var max$prime = function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing) {\n return new Data_Maybe.Just(v1);\n };\n if (v instanceof Data_Maybe.Just) {\n return new Data_Maybe.Just((function () {\n var $164 = Data_Eq.eq(Data_Ordering.eqOrdering)(cmp(v.value0)(v1))(Data_Ordering.GT.value);\n if ($164) {\n return v.value0;\n };\n return v1;\n })());\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 441, column 3 - line 441, column 27): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n return foldl(dictFoldable)(max$prime)(Data_Maybe.Nothing.value);\n };\n};\nvar maximum = function (dictOrd) {\n return function (dictFoldable) {\n return maximumBy(dictFoldable)(Data_Ord.compare(dictOrd));\n };\n};\nvar minimumBy = function (dictFoldable) {\n return function (cmp) {\n var min$prime = function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing) {\n return new Data_Maybe.Just(v1);\n };\n if (v instanceof Data_Maybe.Just) {\n return new Data_Maybe.Just((function () {\n var $168 = Data_Eq.eq(Data_Ordering.eqOrdering)(cmp(v.value0)(v1))(Data_Ordering.LT.value);\n if ($168) {\n return v.value0;\n };\n return v1;\n })());\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 454, column 3 - line 454, column 27): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n return foldl(dictFoldable)(min$prime)(Data_Maybe.Nothing.value);\n };\n};\nvar minimum = function (dictOrd) {\n return function (dictFoldable) {\n return minimumBy(dictFoldable)(Data_Ord.compare(dictOrd));\n };\n};\nvar product = function (dictFoldable) {\n return function (dictSemiring) {\n return foldl(dictFoldable)(Data_Semiring.mul(dictSemiring))(Data_Semiring.one(dictSemiring));\n };\n};\nvar sum = function (dictFoldable) {\n return function (dictSemiring) {\n return foldl(dictFoldable)(Data_Semiring.add(dictSemiring))(Data_Semiring.zero(dictSemiring));\n };\n};\nvar foldableTuple = {\n foldr: function (f) {\n return function (z) {\n return function (v) {\n return f(v.value1)(z);\n };\n };\n },\n foldl: function (f) {\n return function (z) {\n return function (v) {\n return f(z)(v.value1);\n };\n };\n },\n foldMap: function (dictMonoid) {\n return function (f) {\n return function (v) {\n return f(v.value1);\n };\n };\n }\n};\nvar foldableMultiplicative = {\n foldr: function (f) {\n return function (z) {\n return function (v) {\n return f(v)(z);\n };\n };\n },\n foldl: function (f) {\n return function (z) {\n return function (v) {\n return f(z)(v);\n };\n };\n },\n foldMap: function (dictMonoid) {\n return function (f) {\n return function (v) {\n return f(v);\n };\n };\n }\n};\nvar foldableMaybe = {\n foldr: function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(v1.value0)(z);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 138, column 1 - line 144, column 27): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n },\n foldl: function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(z)(v1.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 138, column 1 - line 144, column 27): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n },\n foldMap: function (dictMonoid) {\n return function (v) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return Data_Monoid.mempty(dictMonoid);\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(v1.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 138, column 1 - line 144, column 27): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n }\n};\nvar foldableIdentity = {\n foldr: function (f) {\n return function (z) {\n return function (v) {\n return f(v)(z);\n };\n };\n },\n foldl: function (f) {\n return function (z) {\n return function (v) {\n return f(z)(v);\n };\n };\n },\n foldMap: function (dictMonoid) {\n return function (f) {\n return function (v) {\n return f(v);\n };\n };\n }\n};\nvar foldableEither = {\n foldr: function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Either.Left) {\n return z;\n };\n if (v1 instanceof Data_Either.Right) {\n return v(v1.value0)(z);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 181, column 1 - line 187, column 28): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n },\n foldl: function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Either.Left) {\n return z;\n };\n if (v1 instanceof Data_Either.Right) {\n return v(z)(v1.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 181, column 1 - line 187, column 28): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n },\n foldMap: function (dictMonoid) {\n return function (v) {\n return function (v1) {\n if (v1 instanceof Data_Either.Left) {\n return Data_Monoid.mempty(dictMonoid);\n };\n if (v1 instanceof Data_Either.Right) {\n return v(v1.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 181, column 1 - line 187, column 28): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n }\n};\nvar foldableDual = {\n foldr: function (f) {\n return function (z) {\n return function (v) {\n return f(v)(z);\n };\n };\n },\n foldl: function (f) {\n return function (z) {\n return function (v) {\n return f(z)(v);\n };\n };\n },\n foldMap: function (dictMonoid) {\n return function (f) {\n return function (v) {\n return f(v);\n };\n };\n }\n};\nvar foldableDisj = {\n foldr: function (f) {\n return function (z) {\n return function (v) {\n return f(v)(z);\n };\n };\n },\n foldl: function (f) {\n return function (z) {\n return function (v) {\n return f(z)(v);\n };\n };\n },\n foldMap: function (dictMonoid) {\n return function (f) {\n return function (v) {\n return f(v);\n };\n };\n }\n};\nvar foldableConst = {\n foldr: function (v) {\n return function (z) {\n return function (v1) {\n return z;\n };\n };\n },\n foldl: function (v) {\n return function (z) {\n return function (v1) {\n return z;\n };\n };\n },\n foldMap: function (dictMonoid) {\n return function (v) {\n return function (v1) {\n return Data_Monoid.mempty(dictMonoid);\n };\n };\n }\n};\nvar foldableConj = {\n foldr: function (f) {\n return function (z) {\n return function (v) {\n return f(v)(z);\n };\n };\n },\n foldl: function (f) {\n return function (z) {\n return function (v) {\n return f(z)(v);\n };\n };\n },\n foldMap: function (dictMonoid) {\n return function (f) {\n return function (v) {\n return f(v);\n };\n };\n }\n};\nvar foldableAdditive = {\n foldr: function (f) {\n return function (z) {\n return function (v) {\n return f(v)(z);\n };\n };\n },\n foldl: function (f) {\n return function (z) {\n return function (v) {\n return f(z)(v);\n };\n };\n },\n foldMap: function (dictMonoid) {\n return function (f) {\n return function (v) {\n return f(v);\n };\n };\n }\n};\nvar foldMapDefaultR = function (dictFoldable) {\n return function (dictMonoid) {\n return function (f) {\n return foldr(dictFoldable)(function (x) {\n return function (acc) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(f(x))(acc);\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n };\n};\nvar foldableArray = {\n foldr: $foreign.foldrArray,\n foldl: $foreign.foldlArray,\n foldMap: function (dictMonoid) {\n return foldMapDefaultR(foldableArray)(dictMonoid);\n }\n};\nvar foldMapDefaultL = function (dictFoldable) {\n return function (dictMonoid) {\n return function (f) {\n return foldl(dictFoldable)(function (acc) {\n return function (x) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(acc)(f(x));\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n };\n};\nvar foldMap = function (dict) {\n return dict.foldMap;\n};\nvar foldableApp = function (dictFoldable) {\n return {\n foldr: function (f) {\n return function (i) {\n return function (v) {\n return foldr(dictFoldable)(f)(i)(v);\n };\n };\n },\n foldl: function (f) {\n return function (i) {\n return function (v) {\n return foldl(dictFoldable)(f)(i)(v);\n };\n };\n },\n foldMap: function (dictMonoid) {\n return function (f) {\n return function (v) {\n return foldMap(dictFoldable)(dictMonoid)(f)(v);\n };\n };\n }\n };\n};\nvar foldableCompose = function (dictFoldable) {\n return function (dictFoldable1) {\n return {\n foldr: function (f) {\n return function (i) {\n return function (v) {\n return foldr(dictFoldable)(Data_Function.flip(foldr(dictFoldable1)(f)))(i)(v);\n };\n };\n },\n foldl: function (f) {\n return function (i) {\n return function (v) {\n return foldl(dictFoldable)(foldl(dictFoldable1)(f))(i)(v);\n };\n };\n },\n foldMap: function (dictMonoid) {\n return function (f) {\n return function (v) {\n return foldMap(dictFoldable)(dictMonoid)(foldMap(dictFoldable1)(dictMonoid)(f))(v);\n };\n };\n }\n };\n };\n};\nvar foldableCoproduct = function (dictFoldable) {\n return function (dictFoldable1) {\n return {\n foldr: function (f) {\n return function (z) {\n return Data_Functor_Coproduct.coproduct(foldr(dictFoldable)(f)(z))(foldr(dictFoldable1)(f)(z));\n };\n },\n foldl: function (f) {\n return function (z) {\n return Data_Functor_Coproduct.coproduct(foldl(dictFoldable)(f)(z))(foldl(dictFoldable1)(f)(z));\n };\n },\n foldMap: function (dictMonoid) {\n return function (f) {\n return Data_Functor_Coproduct.coproduct(foldMap(dictFoldable)(dictMonoid)(f))(foldMap(dictFoldable1)(dictMonoid)(f));\n };\n }\n };\n };\n};\nvar foldableFirst = {\n foldr: function (f) {\n return function (z) {\n return function (v) {\n return foldr(foldableMaybe)(f)(z)(v);\n };\n };\n },\n foldl: function (f) {\n return function (z) {\n return function (v) {\n return foldl(foldableMaybe)(f)(z)(v);\n };\n };\n },\n foldMap: function (dictMonoid) {\n return function (f) {\n return function (v) {\n return foldMap(foldableMaybe)(dictMonoid)(f)(v);\n };\n };\n }\n};\nvar foldableLast = {\n foldr: function (f) {\n return function (z) {\n return function (v) {\n return foldr(foldableMaybe)(f)(z)(v);\n };\n };\n },\n foldl: function (f) {\n return function (z) {\n return function (v) {\n return foldl(foldableMaybe)(f)(z)(v);\n };\n };\n },\n foldMap: function (dictMonoid) {\n return function (f) {\n return function (v) {\n return foldMap(foldableMaybe)(dictMonoid)(f)(v);\n };\n };\n }\n};\nvar foldableProduct = function (dictFoldable) {\n return function (dictFoldable1) {\n return {\n foldr: function (f) {\n return function (z) {\n return function (v) {\n return foldr(dictFoldable)(f)(foldr(dictFoldable1)(f)(z)(v.value1))(v.value0);\n };\n };\n },\n foldl: function (f) {\n return function (z) {\n return function (v) {\n return foldl(dictFoldable1)(f)(foldl(dictFoldable)(f)(z)(v.value0))(v.value1);\n };\n };\n },\n foldMap: function (dictMonoid) {\n return function (f) {\n return function (v) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(foldMap(dictFoldable)(dictMonoid)(f)(v.value0))(foldMap(dictFoldable1)(dictMonoid)(f)(v.value1));\n };\n };\n }\n };\n };\n};\nvar foldlDefault = function (dictFoldable) {\n return function (c) {\n return function (u) {\n return function (xs) {\n return Data_Newtype.unwrap()(Data_Newtype.unwrap()(foldMap(dictFoldable)(Data_Monoid_Dual.monoidDual(Data_Monoid_Endo.monoidEndo(Control_Category.categoryFn)))((function () {\n var $320 = Data_Function.flip(c);\n return function ($321) {\n return Data_Monoid_Dual.Dual(Data_Monoid_Endo.Endo($320($321)));\n };\n })())(xs)))(u);\n };\n };\n };\n};\nvar foldrDefault = function (dictFoldable) {\n return function (c) {\n return function (u) {\n return function (xs) {\n return Data_Newtype.unwrap()(foldMap(dictFoldable)(Data_Monoid_Endo.monoidEndo(Control_Category.categoryFn))(function ($322) {\n return Data_Monoid_Endo.Endo(c($322));\n })(xs))(u);\n };\n };\n };\n};\nvar lookup = function (dictFoldable) {\n return function (dictEq) {\n return function (a) {\n var $323 = Data_Newtype.unwrap();\n var $324 = foldMap(dictFoldable)(Data_Maybe_First.monoidFirst)(function (v) {\n var $305 = Data_Eq.eq(dictEq)(a)(v.value0);\n if ($305) {\n return new Data_Maybe.Just(v.value1);\n };\n return Data_Maybe.Nothing.value;\n });\n return function ($325) {\n return $323($324($325));\n };\n };\n };\n};\nvar surroundMap = function (dictFoldable) {\n return function (dictSemigroup) {\n return function (d) {\n return function (t) {\n return function (f) {\n var joined = function (a) {\n return function (m) {\n return Data_Semigroup.append(dictSemigroup)(d)(Data_Semigroup.append(dictSemigroup)(t(a))(m));\n };\n };\n return Data_Newtype.unwrap()(foldMap(dictFoldable)(Data_Monoid_Endo.monoidEndo(Control_Category.categoryFn))(joined)(f))(d);\n };\n };\n };\n };\n};\nvar surround = function (dictFoldable) {\n return function (dictSemigroup) {\n return function (d) {\n return surroundMap(dictFoldable)(dictSemigroup)(d)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n};\nvar foldM = function (dictFoldable) {\n return function (dictMonad) {\n return function (f) {\n return function (b0) {\n return foldl(dictFoldable)(function (b) {\n return function (a) {\n return Control_Bind.bind(dictMonad.Bind1())(b)(Data_Function.flip(f)(a));\n };\n })(Control_Applicative.pure(dictMonad.Applicative0())(b0));\n };\n };\n };\n};\nvar fold = function (dictFoldable) {\n return function (dictMonoid) {\n return foldMap(dictFoldable)(dictMonoid)(Control_Category.identity(Control_Category.categoryFn));\n };\n};\nvar findMap = function (dictFoldable) {\n return function (p) {\n var go = function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing) {\n return p(v1);\n };\n return v;\n };\n };\n return foldl(dictFoldable)(go)(Data_Maybe.Nothing.value);\n };\n};\nvar find = function (dictFoldable) {\n return function (p) {\n var go = function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing && p(v1)) {\n return new Data_Maybe.Just(v1);\n };\n return v;\n };\n };\n return foldl(dictFoldable)(go)(Data_Maybe.Nothing.value);\n };\n};\nvar any = function (dictFoldable) {\n return function (dictHeytingAlgebra) {\n return Data_Newtype.alaF()()()()(Data_Monoid_Disj.Disj)(foldMap(dictFoldable)(Data_Monoid_Disj.monoidDisj(dictHeytingAlgebra)));\n };\n};\nvar elem = function (dictFoldable) {\n return function (dictEq) {\n var $326 = any(dictFoldable)(Data_HeytingAlgebra.heytingAlgebraBoolean);\n var $327 = Data_Eq.eq(dictEq);\n return function ($328) {\n return $326($327($328));\n };\n };\n};\nvar notElem = function (dictFoldable) {\n return function (dictEq) {\n return function (x) {\n var $329 = Data_HeytingAlgebra.not(Data_HeytingAlgebra.heytingAlgebraBoolean);\n var $330 = elem(dictFoldable)(dictEq)(x);\n return function ($331) {\n return $329($330($331));\n };\n };\n };\n};\nvar or = function (dictFoldable) {\n return function (dictHeytingAlgebra) {\n return any(dictFoldable)(dictHeytingAlgebra)(Control_Category.identity(Control_Category.categoryFn));\n };\n};\nvar all = function (dictFoldable) {\n return function (dictHeytingAlgebra) {\n return Data_Newtype.alaF()()()()(Data_Monoid_Conj.Conj)(foldMap(dictFoldable)(Data_Monoid_Conj.monoidConj(dictHeytingAlgebra)));\n };\n};\nvar and = function (dictFoldable) {\n return function (dictHeytingAlgebra) {\n return all(dictFoldable)(dictHeytingAlgebra)(Control_Category.identity(Control_Category.categoryFn));\n };\n};\nexport {\n foldr,\n foldl,\n foldMap,\n foldrDefault,\n foldlDefault,\n foldMapDefaultL,\n foldMapDefaultR,\n fold,\n foldM,\n traverse_,\n for_,\n sequence_,\n oneOf,\n oneOfMap,\n intercalate,\n surroundMap,\n surround,\n and,\n or,\n all,\n any,\n sum,\n product,\n elem,\n notElem,\n indexl,\n indexr,\n find,\n findMap,\n maximum,\n maximumBy,\n minimum,\n minimumBy,\n $$null as null,\n length,\n lookup,\n foldableArray,\n foldableMaybe,\n foldableFirst,\n foldableLast,\n foldableAdditive,\n foldableDual,\n foldableDisj,\n foldableConj,\n foldableMultiplicative,\n foldableEither,\n foldableTuple,\n foldableIdentity,\n foldableConst,\n foldableProduct,\n foldableCoproduct,\n foldableCompose,\n foldableApp\n};\n", "// jshint maxparams: 3\n\nexport const traverseArrayImpl = (function () {\n function array1(a) {\n return [a];\n }\n\n function array2(a) {\n return function (b) {\n return [a, b];\n };\n }\n\n function array3(a) {\n return function (b) {\n return function (c) {\n return [a, b, c];\n };\n };\n }\n\n function concat2(xs) {\n return function (ys) {\n return xs.concat(ys);\n };\n }\n\n return function (apply) {\n return function (map) {\n return function (pure) {\n return function (f) {\n return function (array) {\n function go(bot, top) {\n switch (top - bot) {\n case 0: return pure([]);\n case 1: return map(array1)(f(array[bot]));\n case 2: return apply(map(array2)(f(array[bot])))(f(array[bot + 1]));\n case 3: return apply(apply(map(array3)(f(array[bot])))(f(array[bot + 1])))(f(array[bot + 2]));\n default:\n // This slightly tricky pivot selection aims to produce two\n // even-length partitions where possible.\n var pivot = bot + Math.floor((top - bot) / 4) * 2;\n return apply(map(concat2)(go(bot, pivot)))(go(pivot, top));\n }\n }\n return go(0, array.length);\n };\n };\n };\n };\n };\n})();\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Apply from \"../Control.Apply/index.js\";\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Data_Const from \"../Data.Const/index.js\";\nimport * as Data_Either from \"../Data.Either/index.js\";\nimport * as Data_Foldable from \"../Data.Foldable/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Functor_App from \"../Data.Functor.App/index.js\";\nimport * as Data_Functor_Compose from \"../Data.Functor.Compose/index.js\";\nimport * as Data_Functor_Coproduct from \"../Data.Functor.Coproduct/index.js\";\nimport * as Data_Functor_Product from \"../Data.Functor.Product/index.js\";\nimport * as Data_Identity from \"../Data.Identity/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Maybe_First from \"../Data.Maybe.First/index.js\";\nimport * as Data_Maybe_Last from \"../Data.Maybe.Last/index.js\";\nimport * as Data_Monoid_Additive from \"../Data.Monoid.Additive/index.js\";\nimport * as Data_Monoid_Conj from \"../Data.Monoid.Conj/index.js\";\nimport * as Data_Monoid_Disj from \"../Data.Monoid.Disj/index.js\";\nimport * as Data_Monoid_Dual from \"../Data.Monoid.Dual/index.js\";\nimport * as Data_Monoid_Multiplicative from \"../Data.Monoid.Multiplicative/index.js\";\nimport * as Data_Traversable_Accum from \"../Data.Traversable.Accum/index.js\";\nimport * as Data_Traversable_Accum_Internal from \"../Data.Traversable.Accum.Internal/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nvar traverse = function (dict) {\n return dict.traverse;\n};\nvar traversableTuple = {\n traverse: function (dictApplicative) {\n return function (f) {\n return function (v) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Tuple.Tuple.create(v.value0))(f(v.value1));\n };\n };\n },\n sequence: function (dictApplicative) {\n return function (v) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Tuple.Tuple.create(v.value0))(v.value1);\n };\n },\n Functor0: function () {\n return Data_Tuple.functorTuple;\n },\n Foldable1: function () {\n return Data_Foldable.foldableTuple;\n }\n};\nvar traversableMultiplicative = {\n traverse: function (dictApplicative) {\n return function (f) {\n return function (v) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Monoid_Multiplicative.Multiplicative)(f(v));\n };\n };\n },\n sequence: function (dictApplicative) {\n return function (v) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Monoid_Multiplicative.Multiplicative)(v);\n };\n },\n Functor0: function () {\n return Data_Monoid_Multiplicative.functorMultiplicative;\n },\n Foldable1: function () {\n return Data_Foldable.foldableMultiplicative;\n }\n};\nvar traversableMaybe = {\n traverse: function (dictApplicative) {\n return function (v) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return Control_Applicative.pure(dictApplicative)(Data_Maybe.Nothing.value);\n };\n if (v1 instanceof Data_Maybe.Just) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Maybe.Just.create)(v(v1.value0));\n };\n throw new Error(\"Failed pattern match at Data.Traversable (line 115, column 1 - line 119, column 33): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n },\n sequence: function (dictApplicative) {\n return function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return Control_Applicative.pure(dictApplicative)(Data_Maybe.Nothing.value);\n };\n if (v instanceof Data_Maybe.Just) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Maybe.Just.create)(v.value0);\n };\n throw new Error(\"Failed pattern match at Data.Traversable (line 115, column 1 - line 119, column 33): \" + [ v.constructor.name ]);\n };\n },\n Functor0: function () {\n return Data_Maybe.functorMaybe;\n },\n Foldable1: function () {\n return Data_Foldable.foldableMaybe;\n }\n};\nvar traversableIdentity = {\n traverse: function (dictApplicative) {\n return function (f) {\n return function (v) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Identity.Identity)(f(v));\n };\n };\n },\n sequence: function (dictApplicative) {\n return function (v) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Identity.Identity)(v);\n };\n },\n Functor0: function () {\n return Data_Identity.functorIdentity;\n },\n Foldable1: function () {\n return Data_Foldable.foldableIdentity;\n }\n};\nvar traversableEither = {\n traverse: function (dictApplicative) {\n return function (v) {\n return function (v1) {\n if (v1 instanceof Data_Either.Left) {\n return Control_Applicative.pure(dictApplicative)(new Data_Either.Left(v1.value0));\n };\n if (v1 instanceof Data_Either.Right) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Either.Right.create)(v(v1.value0));\n };\n throw new Error(\"Failed pattern match at Data.Traversable (line 149, column 1 - line 153, column 36): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n },\n sequence: function (dictApplicative) {\n return function (v) {\n if (v instanceof Data_Either.Left) {\n return Control_Applicative.pure(dictApplicative)(new Data_Either.Left(v.value0));\n };\n if (v instanceof Data_Either.Right) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Either.Right.create)(v.value0);\n };\n throw new Error(\"Failed pattern match at Data.Traversable (line 149, column 1 - line 153, column 36): \" + [ v.constructor.name ]);\n };\n },\n Functor0: function () {\n return Data_Either.functorEither;\n },\n Foldable1: function () {\n return Data_Foldable.foldableEither;\n }\n};\nvar traversableDual = {\n traverse: function (dictApplicative) {\n return function (f) {\n return function (v) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Monoid_Dual.Dual)(f(v));\n };\n };\n },\n sequence: function (dictApplicative) {\n return function (v) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Monoid_Dual.Dual)(v);\n };\n },\n Functor0: function () {\n return Data_Monoid_Dual.functorDual;\n },\n Foldable1: function () {\n return Data_Foldable.foldableDual;\n }\n};\nvar traversableDisj = {\n traverse: function (dictApplicative) {\n return function (f) {\n return function (v) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Monoid_Disj.Disj)(f(v));\n };\n };\n },\n sequence: function (dictApplicative) {\n return function (v) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Monoid_Disj.Disj)(v);\n };\n },\n Functor0: function () {\n return Data_Monoid_Disj.functorDisj;\n },\n Foldable1: function () {\n return Data_Foldable.foldableDisj;\n }\n};\nvar traversableConst = {\n traverse: function (dictApplicative) {\n return function (v) {\n return function (v1) {\n return Control_Applicative.pure(dictApplicative)(v1);\n };\n };\n },\n sequence: function (dictApplicative) {\n return function (v) {\n return Control_Applicative.pure(dictApplicative)(v);\n };\n },\n Functor0: function () {\n return Data_Const.functorConst;\n },\n Foldable1: function () {\n return Data_Foldable.foldableConst;\n }\n};\nvar traversableConj = {\n traverse: function (dictApplicative) {\n return function (f) {\n return function (v) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Monoid_Conj.Conj)(f(v));\n };\n };\n },\n sequence: function (dictApplicative) {\n return function (v) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Monoid_Conj.Conj)(v);\n };\n },\n Functor0: function () {\n return Data_Monoid_Conj.functorConj;\n },\n Foldable1: function () {\n return Data_Foldable.foldableConj;\n }\n};\nvar traversableCompose = function (dictTraversable) {\n return function (dictTraversable1) {\n return {\n traverse: function (dictApplicative) {\n return function (f) {\n return function (v) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Functor_Compose.Compose)(traverse(dictTraversable)(dictApplicative)(traverse(dictTraversable1)(dictApplicative)(f))(v));\n };\n };\n },\n sequence: function (dictApplicative) {\n return traverse(traversableCompose(dictTraversable)(dictTraversable1))(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n },\n Functor0: function () {\n return Data_Functor_Compose.functorCompose(dictTraversable.Functor0())(dictTraversable1.Functor0());\n },\n Foldable1: function () {\n return Data_Foldable.foldableCompose(dictTraversable.Foldable1())(dictTraversable1.Foldable1());\n }\n };\n };\n};\nvar traversableAdditive = {\n traverse: function (dictApplicative) {\n return function (f) {\n return function (v) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Monoid_Additive.Additive)(f(v));\n };\n };\n },\n sequence: function (dictApplicative) {\n return function (v) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Monoid_Additive.Additive)(v);\n };\n },\n Functor0: function () {\n return Data_Monoid_Additive.functorAdditive;\n },\n Foldable1: function () {\n return Data_Foldable.foldableAdditive;\n }\n};\nvar sequenceDefault = function (dictTraversable) {\n return function (dictApplicative) {\n return traverse(dictTraversable)(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n };\n};\nvar traversableArray = {\n traverse: function (dictApplicative) {\n return $foreign.traverseArrayImpl(Control_Apply.apply(dictApplicative.Apply0()))(Data_Functor.map((dictApplicative.Apply0()).Functor0()))(Control_Applicative.pure(dictApplicative));\n },\n sequence: function (dictApplicative) {\n return sequenceDefault(traversableArray)(dictApplicative);\n },\n Functor0: function () {\n return Data_Functor.functorArray;\n },\n Foldable1: function () {\n return Data_Foldable.foldableArray;\n }\n};\nvar sequence = function (dict) {\n return dict.sequence;\n};\nvar traversableApp = function (dictTraversable) {\n return {\n traverse: function (dictApplicative) {\n return function (f) {\n return function (v) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Functor_App.App)(traverse(dictTraversable)(dictApplicative)(f)(v));\n };\n };\n },\n sequence: function (dictApplicative) {\n return function (v) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Functor_App.App)(sequence(dictTraversable)(dictApplicative)(v));\n };\n },\n Functor0: function () {\n return Data_Functor_App.functorApp(dictTraversable.Functor0());\n },\n Foldable1: function () {\n return Data_Foldable.foldableApp(dictTraversable.Foldable1());\n }\n };\n};\nvar traversableCoproduct = function (dictTraversable) {\n return function (dictTraversable1) {\n return {\n traverse: function (dictApplicative) {\n return function (f) {\n return Data_Functor_Coproduct.coproduct((function () {\n var $143 = Data_Functor.map((dictApplicative.Apply0()).Functor0())(function ($146) {\n return Data_Functor_Coproduct.Coproduct(Data_Either.Left.create($146));\n });\n var $144 = traverse(dictTraversable)(dictApplicative)(f);\n return function ($145) {\n return $143($144($145));\n };\n })())((function () {\n var $147 = Data_Functor.map((dictApplicative.Apply0()).Functor0())(function ($150) {\n return Data_Functor_Coproduct.Coproduct(Data_Either.Right.create($150));\n });\n var $148 = traverse(dictTraversable1)(dictApplicative)(f);\n return function ($149) {\n return $147($148($149));\n };\n })());\n };\n },\n sequence: function (dictApplicative) {\n return Data_Functor_Coproduct.coproduct((function () {\n var $151 = Data_Functor.map((dictApplicative.Apply0()).Functor0())(function ($154) {\n return Data_Functor_Coproduct.Coproduct(Data_Either.Left.create($154));\n });\n var $152 = sequence(dictTraversable)(dictApplicative);\n return function ($153) {\n return $151($152($153));\n };\n })())((function () {\n var $155 = Data_Functor.map((dictApplicative.Apply0()).Functor0())(function ($158) {\n return Data_Functor_Coproduct.Coproduct(Data_Either.Right.create($158));\n });\n var $156 = sequence(dictTraversable1)(dictApplicative);\n return function ($157) {\n return $155($156($157));\n };\n })());\n },\n Functor0: function () {\n return Data_Functor_Coproduct.functorCoproduct(dictTraversable.Functor0())(dictTraversable1.Functor0());\n },\n Foldable1: function () {\n return Data_Foldable.foldableCoproduct(dictTraversable.Foldable1())(dictTraversable1.Foldable1());\n }\n };\n };\n};\nvar traversableFirst = {\n traverse: function (dictApplicative) {\n return function (f) {\n return function (v) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Maybe_First.First)(traverse(traversableMaybe)(dictApplicative)(f)(v));\n };\n };\n },\n sequence: function (dictApplicative) {\n return function (v) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Maybe_First.First)(sequence(traversableMaybe)(dictApplicative)(v));\n };\n },\n Functor0: function () {\n return Data_Maybe_First.functorFirst;\n },\n Foldable1: function () {\n return Data_Foldable.foldableFirst;\n }\n};\nvar traversableLast = {\n traverse: function (dictApplicative) {\n return function (f) {\n return function (v) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Maybe_Last.Last)(traverse(traversableMaybe)(dictApplicative)(f)(v));\n };\n };\n },\n sequence: function (dictApplicative) {\n return function (v) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Maybe_Last.Last)(sequence(traversableMaybe)(dictApplicative)(v));\n };\n },\n Functor0: function () {\n return Data_Maybe_Last.functorLast;\n },\n Foldable1: function () {\n return Data_Foldable.foldableLast;\n }\n};\nvar traversableProduct = function (dictTraversable) {\n return function (dictTraversable1) {\n return {\n traverse: function (dictApplicative) {\n return function (f) {\n return function (v) {\n return Control_Apply.lift2(dictApplicative.Apply0())(Data_Functor_Product.product)(traverse(dictTraversable)(dictApplicative)(f)(v.value0))(traverse(dictTraversable1)(dictApplicative)(f)(v.value1));\n };\n };\n },\n sequence: function (dictApplicative) {\n return function (v) {\n return Control_Apply.lift2(dictApplicative.Apply0())(Data_Functor_Product.product)(sequence(dictTraversable)(dictApplicative)(v.value0))(sequence(dictTraversable1)(dictApplicative)(v.value1));\n };\n },\n Functor0: function () {\n return Data_Functor_Product.functorProduct(dictTraversable.Functor0())(dictTraversable1.Functor0());\n },\n Foldable1: function () {\n return Data_Foldable.foldableProduct(dictTraversable.Foldable1())(dictTraversable1.Foldable1());\n }\n };\n };\n};\nvar traverseDefault = function (dictTraversable) {\n return function (dictApplicative) {\n return function (f) {\n return function (ta) {\n return sequence(dictTraversable)(dictApplicative)(Data_Functor.map(dictTraversable.Functor0())(f)(ta));\n };\n };\n };\n};\nvar mapAccumR = function (dictTraversable) {\n return function (f) {\n return function (s0) {\n return function (xs) {\n return Data_Traversable_Accum_Internal.stateR(traverse(dictTraversable)(Data_Traversable_Accum_Internal.applicativeStateR)(function (a) {\n return function (s) {\n return f(s)(a);\n };\n })(xs))(s0);\n };\n };\n };\n};\nvar scanr = function (dictTraversable) {\n return function (f) {\n return function (b0) {\n return function (xs) {\n return (mapAccumR(dictTraversable)(function (b) {\n return function (a) {\n var b$prime = f(a)(b);\n return {\n accum: b$prime,\n value: b$prime\n };\n };\n })(b0)(xs)).value;\n };\n };\n };\n};\nvar mapAccumL = function (dictTraversable) {\n return function (f) {\n return function (s0) {\n return function (xs) {\n return Data_Traversable_Accum_Internal.stateL(traverse(dictTraversable)(Data_Traversable_Accum_Internal.applicativeStateL)(function (a) {\n return function (s) {\n return f(s)(a);\n };\n })(xs))(s0);\n };\n };\n };\n};\nvar scanl = function (dictTraversable) {\n return function (f) {\n return function (b0) {\n return function (xs) {\n return (mapAccumL(dictTraversable)(function (b) {\n return function (a) {\n var b$prime = f(b)(a);\n return {\n accum: b$prime,\n value: b$prime\n };\n };\n })(b0)(xs)).value;\n };\n };\n };\n};\nvar $$for = function (dictApplicative) {\n return function (dictTraversable) {\n return function (x) {\n return function (f) {\n return traverse(dictTraversable)(dictApplicative)(f)(x);\n };\n };\n };\n};\nexport {\n traverse,\n sequence,\n traverseDefault,\n sequenceDefault,\n $$for as for,\n scanl,\n scanr,\n mapAccumL,\n mapAccumR,\n traversableArray,\n traversableMaybe,\n traversableFirst,\n traversableLast,\n traversableAdditive,\n traversableDual,\n traversableConj,\n traversableDisj,\n traversableMultiplicative,\n traversableEither,\n traversableTuple,\n traversableIdentity,\n traversableConst,\n traversableProduct,\n traversableCoproduct,\n traversableCompose,\n traversableApp\n};\nexport {\n all,\n and,\n any,\n elem,\n find,\n fold,\n foldMap,\n foldMapDefaultL,\n foldMapDefaultR,\n foldl,\n foldlDefault,\n foldr,\n foldrDefault,\n for_,\n intercalate,\n maximum,\n maximumBy,\n minimum,\n minimumBy,\n notElem,\n oneOf,\n or,\n sequence_,\n sum,\n traverse_\n} from \"../Data.Foldable/index.js\";\n", "export const unfoldrArrayImpl = function (isNothing) {\n return function (fromJust) {\n return function (fst) {\n return function (snd) {\n return function (f) {\n return function (b) {\n var result = [];\n var value = b;\n while (true) { // eslint-disable-line no-constant-condition\n var maybe = f(value);\n if (isNothing(maybe)) return result;\n var tuple = fromJust(maybe);\n result.push(fst(tuple));\n value = snd(tuple);\n }\n };\n };\n };\n };\n };\n};\n", "export const unfoldr1ArrayImpl = function (isNothing) {\n return function (fromJust) {\n return function (fst) {\n return function (snd) {\n return function (f) {\n return function (b) {\n var result = [];\n var value = b;\n while (true) { // eslint-disable-line no-constant-condition\n var tuple = f(value);\n result.push(fst(tuple));\n var maybe = snd(tuple);\n if (isNothing(maybe)) return result;\n value = fromJust(maybe);\n }\n };\n };\n };\n };\n };\n};\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Data_Boolean from \"../Data.Boolean/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Semigroup_Traversable from \"../Data.Semigroup.Traversable/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nvar unfoldr1 = function (dict) {\n return dict.unfoldr1;\n};\nvar unfoldable1Maybe = {\n unfoldr1: function (f) {\n return function (b) {\n return new Data_Maybe.Just(Data_Tuple.fst(f(b)));\n };\n }\n};\nvar unfoldable1Array = {\n unfoldr1: /* #__PURE__ */ $foreign.unfoldr1ArrayImpl(Data_Maybe.isNothing)(/* #__PURE__ */ Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd)\n};\nvar replicate1 = function (dictUnfoldable1) {\n return function (n) {\n return function (v) {\n var step = function (i) {\n if (i <= 0) {\n return new Data_Tuple.Tuple(v, Data_Maybe.Nothing.value);\n };\n if (Data_Boolean.otherwise) {\n return new Data_Tuple.Tuple(v, new Data_Maybe.Just(i - 1 | 0));\n };\n throw new Error(\"Failed pattern match at Data.Unfoldable1 (line 68, column 5 - line 68, column 39): \" + [ i.constructor.name ]);\n };\n return unfoldr1(dictUnfoldable1)(step)(n - 1 | 0);\n };\n };\n};\nvar replicate1A = function (dictApply) {\n return function (dictUnfoldable1) {\n return function (dictTraversable1) {\n return function (n) {\n return function (m) {\n return Data_Semigroup_Traversable.sequence1(dictTraversable1)(dictApply)(replicate1(dictUnfoldable1)(n)(m));\n };\n };\n };\n };\n};\nvar singleton = function (dictUnfoldable1) {\n return replicate1(dictUnfoldable1)(1);\n};\nvar range = function (dictUnfoldable1) {\n return function (start) {\n return function (end) {\n var go = function (delta) {\n return function (i) {\n var i$prime = i + delta | 0;\n return new Data_Tuple.Tuple(i, (function () {\n var $10 = i === end;\n if ($10) {\n return Data_Maybe.Nothing.value;\n };\n return new Data_Maybe.Just(i$prime);\n })());\n };\n };\n var delta = (function () {\n var $11 = end >= start;\n if ($11) {\n return 1;\n };\n return -1 | 0;\n })();\n return unfoldr1(dictUnfoldable1)(go(delta))(start);\n };\n };\n};\nvar iterateN = function (dictUnfoldable1) {\n return function (n) {\n return function (f) {\n return function (s) {\n var go = function (v) {\n return new Data_Tuple.Tuple(v.value0, (function () {\n var $13 = v.value1 > 0;\n if ($13) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(f(v.value0), v.value1 - 1 | 0));\n };\n return Data_Maybe.Nothing.value;\n })());\n };\n return unfoldr1(dictUnfoldable1)(go)(new Data_Tuple.Tuple(s, n - 1 | 0));\n };\n };\n };\n};\nexport {\n unfoldr1,\n replicate1,\n replicate1A,\n singleton,\n range,\n iterateN,\n unfoldable1Array,\n unfoldable1Maybe\n};\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Traversable from \"../Data.Traversable/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nimport * as Data_Unfoldable1 from \"../Data.Unfoldable1/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nvar unfoldr = function (dict) {\n return dict.unfoldr;\n};\nvar unfoldableMaybe = {\n unfoldr: function (f) {\n return function (b) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(Data_Tuple.fst)(f(b));\n };\n },\n Unfoldable10: function () {\n return Data_Unfoldable1.unfoldable1Maybe;\n }\n};\nvar unfoldableArray = {\n unfoldr: /* #__PURE__ */ $foreign.unfoldrArrayImpl(Data_Maybe.isNothing)(/* #__PURE__ */ Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd),\n Unfoldable10: function () {\n return Data_Unfoldable1.unfoldable1Array;\n }\n};\nvar replicate = function (dictUnfoldable) {\n return function (n) {\n return function (v) {\n var step = function (i) {\n var $7 = i <= 0;\n if ($7) {\n return Data_Maybe.Nothing.value;\n };\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v, i - 1 | 0));\n };\n return unfoldr(dictUnfoldable)(step)(n);\n };\n };\n};\nvar replicateA = function (dictApplicative) {\n return function (dictUnfoldable) {\n return function (dictTraversable) {\n return function (n) {\n return function (m) {\n return Data_Traversable.sequence(dictTraversable)(dictApplicative)(replicate(dictUnfoldable)(n)(m));\n };\n };\n };\n };\n};\nvar none = function (dictUnfoldable) {\n return unfoldr(dictUnfoldable)(Data_Function[\"const\"](Data_Maybe.Nothing.value))(Data_Unit.unit);\n};\nvar fromMaybe = function (dictUnfoldable) {\n return unfoldr(dictUnfoldable)(function (b) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(Data_Function.flip(Data_Tuple.Tuple.create)(Data_Maybe.Nothing.value))(b);\n });\n};\nexport {\n unfoldr,\n replicate,\n replicateA,\n none,\n fromMaybe,\n unfoldableArray,\n unfoldableMaybe\n};\nexport {\n iterateN,\n range,\n replicate1,\n replicate1A,\n singleton,\n unfoldr1\n} from \"../Data.Unfoldable1/index.js\";\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Control_Alt from \"../Control.Alt/index.js\";\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Apply from \"../Control.Apply/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Control_Lazy from \"../Control.Lazy/index.js\";\nimport * as Control_Monad_Rec_Class from \"../Control.Monad.Rec.Class/index.js\";\nimport * as Control_Monad_ST_Internal from \"../Control.Monad.ST.Internal/index.js\";\nimport * as Data_Array_ST from \"../Data.Array.ST/index.js\";\nimport * as Data_Array_ST_Iterator from \"../Data.Array.ST.Iterator/index.js\";\nimport * as Data_Boolean from \"../Data.Boolean/index.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Foldable from \"../Data.Foldable/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_HeytingAlgebra from \"../Data.HeytingAlgebra/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Ordering from \"../Data.Ordering/index.js\";\nimport * as Data_Semigroup from \"../Data.Semigroup/index.js\";\nimport * as Data_Traversable from \"../Data.Traversable/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nimport * as Data_Unfoldable from \"../Data.Unfoldable/index.js\";\nvar zipWithA = function (dictApplicative) {\n return function (f) {\n return function (xs) {\n return function (ys) {\n return Data_Traversable.sequence(Data_Traversable.traversableArray)(dictApplicative)($foreign.zipWith(f)(xs)(ys));\n };\n };\n };\n};\nvar zip = /* #__PURE__ */ (function () {\n return $foreign.zipWith(Data_Tuple.Tuple.create);\n})();\nvar updateAtIndices = function (dictFoldable) {\n return function (us) {\n return function (xs) {\n return Data_Array_ST.withArray(function (res) {\n return Data_Foldable.traverse_(Control_Monad_ST_Internal.applicativeST)(dictFoldable)(function (v) {\n return Data_Array_ST.poke(v.value0)(v.value1)(res);\n })(us);\n })(xs)();\n };\n };\n};\nvar updateAt = /* #__PURE__ */ (function () {\n return $foreign[\"_updateAt\"](Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n})();\nvar unsafeIndex = function () {\n return $foreign.unsafeIndexImpl;\n};\nvar uncons = /* #__PURE__ */ (function () {\n return $foreign.unconsImpl(Data_Function[\"const\"](Data_Maybe.Nothing.value))(function (x) {\n return function (xs) {\n return new Data_Maybe.Just({\n head: x,\n tail: xs\n });\n };\n });\n})();\nvar toUnfoldable = function (dictUnfoldable) {\n return function (xs) {\n var len = $foreign.length(xs);\n var f = function (i) {\n if (i < len) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(unsafeIndex()(xs)(i), i + 1 | 0));\n };\n if (Data_Boolean.otherwise) {\n return Data_Maybe.Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Array (line 156, column 3 - line 158, column 26): \" + [ i.constructor.name ]);\n };\n return Data_Unfoldable.unfoldr(dictUnfoldable)(f)(0);\n };\n};\nvar take = function (n) {\n return function (xs) {\n var $57 = n < 1;\n if ($57) {\n return [ ];\n };\n return $foreign.slice(0)(n)(xs);\n };\n};\nvar tail = /* #__PURE__ */ (function () {\n return $foreign.unconsImpl(Data_Function[\"const\"](Data_Maybe.Nothing.value))(function (v) {\n return function (xs) {\n return new Data_Maybe.Just(xs);\n };\n });\n})();\nvar splitAt = function (i) {\n return function (xs) {\n if (i <= 0) {\n return {\n before: [ ],\n after: xs\n };\n };\n return {\n before: $foreign.slice(0)(i)(xs),\n after: $foreign.slice(i)($foreign.length(xs))(xs)\n };\n };\n};\nvar sortBy = function (comp) {\n return $foreign.sortByImpl(comp)(function (v) {\n if (v instanceof Data_Ordering.GT) {\n return 1;\n };\n if (v instanceof Data_Ordering.EQ) {\n return 0;\n };\n if (v instanceof Data_Ordering.LT) {\n return -1 | 0;\n };\n throw new Error(\"Failed pattern match at Data.Array (line 829, column 31 - line 832, column 11): \" + [ v.constructor.name ]);\n });\n};\nvar sortWith = function (dictOrd) {\n return function (f) {\n return sortBy(Data_Ord.comparing(dictOrd)(f));\n };\n};\nvar sort = function (dictOrd) {\n return function (xs) {\n return sortBy(Data_Ord.compare(dictOrd))(xs);\n };\n};\nvar snoc = function (xs) {\n return function (x) {\n return Data_Array_ST.withArray(Data_Array_ST.push(x))(xs)();\n };\n};\nvar singleton = function (a) {\n return [ a ];\n};\nvar $$null = function (xs) {\n return $foreign.length(xs) === 0;\n};\nvar nubByEq = function (eq) {\n return function (xs) {\n return (function __do() {\n var arr = Data_Array_ST[\"new\"]();\n Control_Monad_ST_Internal.foreach(xs)(function (x) {\n return function __do() {\n var e = Data_Functor.map(Control_Monad_ST_Internal.functorST)((function () {\n var $89 = Data_HeytingAlgebra.not(Data_HeytingAlgebra.heytingAlgebraBoolean);\n var $90 = $foreign.any(function (v) {\n return eq(v)(x);\n });\n return function ($91) {\n return $89($90($91));\n };\n })())(Data_Array_ST.unsafeFreeze(arr))();\n return Control_Applicative.when(Control_Monad_ST_Internal.applicativeST)(e)(Data_Functor[\"void\"](Control_Monad_ST_Internal.functorST)(Data_Array_ST.push(x)(arr)))();\n };\n })();\n return Data_Array_ST.unsafeFreeze(arr)();\n })();\n };\n};\nvar nubEq = function (dictEq) {\n return nubByEq(Data_Eq.eq(dictEq));\n};\nvar modifyAtIndices = function (dictFoldable) {\n return function (is) {\n return function (f) {\n return function (xs) {\n return Data_Array_ST.withArray(function (res) {\n return Data_Foldable.traverse_(Control_Monad_ST_Internal.applicativeST)(dictFoldable)(function (i) {\n return Data_Array_ST.modify(i)(f)(res);\n })(is);\n })(xs)();\n };\n };\n };\n};\nvar mapWithIndex = function (f) {\n return function (xs) {\n return $foreign.zipWith(f)($foreign.range(0)($foreign.length(xs) - 1 | 0))(xs);\n };\n};\nvar intersperse = function (a) {\n return function (arr) {\n var v = $foreign.length(arr);\n if (v < 2) {\n return arr;\n };\n if (Data_Boolean.otherwise) {\n return Data_Array_ST.run((function () {\n var unsafeGetElem = function (idx) {\n return unsafeIndex()(arr)(idx);\n };\n return function __do() {\n var out = Data_Array_ST[\"new\"]();\n Data_Array_ST.push(unsafeGetElem(0))(out)();\n Control_Monad_ST_Internal[\"for\"](1)(v)(function (idx) {\n return function __do() {\n Data_Array_ST.push(a)(out)();\n return Data_Functor[\"void\"](Control_Monad_ST_Internal.functorST)(Data_Array_ST.push(unsafeGetElem(idx))(out))();\n };\n })();\n return out;\n };\n })());\n };\n throw new Error(\"Failed pattern match at Data.Array (line 611, column 21 - line 620, column 19): \" + [ v.constructor.name ]);\n };\n};\nvar intercalate = function (dictMonoid) {\n return Data_Foldable.intercalate(Data_Foldable.foldableArray)(dictMonoid);\n};\nvar insertAt = /* #__PURE__ */ (function () {\n return $foreign[\"_insertAt\"](Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n})();\nvar init = function (xs) {\n if ($$null(xs)) {\n return Data_Maybe.Nothing.value;\n };\n if (Data_Boolean.otherwise) {\n return new Data_Maybe.Just($foreign.slice(0)($foreign.length(xs) - 1 | 0)(xs));\n };\n throw new Error(\"Failed pattern match at Data.Array (line 338, column 1 - line 338, column 45): \" + [ xs.constructor.name ]);\n};\nvar index = /* #__PURE__ */ (function () {\n return $foreign.indexImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n})();\nvar last = function (xs) {\n return index(xs)($foreign.length(xs) - 1 | 0);\n};\nvar unsnoc = function (xs) {\n return Control_Apply.apply(Data_Maybe.applyMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(function (v) {\n return function (v1) {\n return {\n init: v,\n last: v1\n };\n };\n })(init(xs)))(last(xs));\n};\nvar modifyAt = function (i) {\n return function (f) {\n return function (xs) {\n var go = function (x) {\n return updateAt(i)(f(x))(xs);\n };\n return Data_Maybe.maybe(Data_Maybe.Nothing.value)(go)(index(xs)(i));\n };\n };\n};\nvar span = function (p) {\n return function (arr) {\n var go = function ($copy_i) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(i) {\n var v = index(arr)(i);\n if (v instanceof Data_Maybe.Just) {\n var $64 = p(v.value0);\n if ($64) {\n $copy_i = i + 1 | 0;\n return;\n };\n $tco_done = true;\n return new Data_Maybe.Just(i);\n };\n if (v instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Array (line 964, column 5 - line 966, column 25): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_i);\n };\n return $tco_result;\n };\n var breakIndex = go(0);\n if (breakIndex instanceof Data_Maybe.Just && breakIndex.value0 === 0) {\n return {\n init: [ ],\n rest: arr\n };\n };\n if (breakIndex instanceof Data_Maybe.Just) {\n return {\n init: $foreign.slice(0)(breakIndex.value0)(arr),\n rest: $foreign.slice(breakIndex.value0)($foreign.length(arr))(arr)\n };\n };\n if (breakIndex instanceof Data_Maybe.Nothing) {\n return {\n init: arr,\n rest: [ ]\n };\n };\n throw new Error(\"Failed pattern match at Data.Array (line 951, column 3 - line 957, column 30): \" + [ breakIndex.constructor.name ]);\n };\n};\nvar takeWhile = function (p) {\n return function (xs) {\n return (span(p)(xs)).init;\n };\n};\nvar unzip = function (xs) {\n return (function __do() {\n var fsts = Data_Array_ST[\"new\"]();\n var snds = Data_Array_ST[\"new\"]();\n var iter = Data_Array_ST_Iterator.iterator(function (v) {\n return index(xs)(v);\n })();\n Data_Array_ST_Iterator.iterate(iter)(function (v) {\n return function __do() {\n Data_Functor[\"void\"](Control_Monad_ST_Internal.functorST)(Data_Array_ST.push(v.value0)(fsts))();\n return Data_Functor[\"void\"](Control_Monad_ST_Internal.functorST)(Data_Array_ST.push(v.value1)(snds))();\n };\n })();\n var fsts$prime = Data_Array_ST.unsafeFreeze(fsts)();\n var snds$prime = Data_Array_ST.unsafeFreeze(snds)();\n return new Data_Tuple.Tuple(fsts$prime, snds$prime);\n })();\n};\nvar head = function (xs) {\n return index(xs)(0);\n};\nvar nubBy = function (comp) {\n return function (xs) {\n var indexedAndSorted = sortBy(function (x) {\n return function (y) {\n return comp(Data_Tuple.snd(x))(Data_Tuple.snd(y));\n };\n })(mapWithIndex(Data_Tuple.Tuple.create)(xs));\n var v = head(indexedAndSorted);\n if (v instanceof Data_Maybe.Nothing) {\n return [ ];\n };\n if (v instanceof Data_Maybe.Just) {\n return Data_Functor.map(Data_Functor.functorArray)(Data_Tuple.snd)(sortWith(Data_Ord.ordInt)(Data_Tuple.fst)((function __do() {\n var result = Data_Array_ST.unsafeThaw(singleton(v.value0))();\n Control_Monad_ST_Internal.foreach(indexedAndSorted)(function (v1) {\n return function __do() {\n var lst = Data_Functor.map(Control_Monad_ST_Internal.functorST)((function () {\n var $92 = (function () {\n var $94 = Data_Maybe.fromJust();\n return function ($95) {\n return $94(last($95));\n };\n })();\n return function ($93) {\n return Data_Tuple.snd($92($93));\n };\n })())(Data_Array_ST.unsafeFreeze(result))();\n return Control_Applicative.when(Control_Monad_ST_Internal.applicativeST)(Data_Eq.notEq(Data_Ordering.eqOrdering)(comp(lst)(v1.value1))(Data_Ordering.EQ.value))(Data_Functor[\"void\"](Control_Monad_ST_Internal.functorST)(Data_Array_ST.push(v1)(result)))();\n };\n })();\n return Data_Array_ST.unsafeFreeze(result)();\n })()));\n };\n throw new Error(\"Failed pattern match at Data.Array (line 1044, column 17 - line 1052, column 29): \" + [ v.constructor.name ]);\n };\n};\nvar nub = function (dictOrd) {\n return nubBy(Data_Ord.compare(dictOrd));\n};\nvar groupBy = function (op) {\n return function (xs) {\n return (function __do() {\n var result = Data_Array_ST[\"new\"]();\n var iter = Data_Array_ST_Iterator.iterator(function (v) {\n return index(xs)(v);\n })();\n Data_Array_ST_Iterator.iterate(iter)(function (x) {\n return Data_Functor[\"void\"](Control_Monad_ST_Internal.functorST)(function __do() {\n var sub = Data_Array_ST[\"new\"]();\n Data_Array_ST.push(x)(sub)();\n Data_Array_ST_Iterator.pushWhile(op(x))(iter)(sub)();\n var grp = Data_Array_ST.unsafeFreeze(sub)();\n return Data_Array_ST.push(grp)(result)();\n });\n })();\n return Data_Array_ST.unsafeFreeze(result)();\n })();\n };\n};\nvar groupAllBy = function (cmp) {\n var $96 = groupBy(function (x) {\n return function (y) {\n return Data_Eq.eq(Data_Ordering.eqOrdering)(cmp(x)(y))(Data_Ordering.EQ.value);\n };\n });\n var $97 = sortBy(cmp);\n return function ($98) {\n return $96($97($98));\n };\n};\nvar groupAll = function (dictOrd) {\n return groupAllBy(Data_Ord.compare(dictOrd));\n};\nvar group = function (dictEq) {\n return function (xs) {\n return groupBy(Data_Eq.eq(dictEq))(xs);\n };\n};\nvar fromFoldable = function (dictFoldable) {\n return $foreign.fromFoldableImpl(Data_Foldable.foldr(dictFoldable));\n};\nvar foldr = /* #__PURE__ */ Data_Foldable.foldr(Data_Foldable.foldableArray);\nvar foldl = /* #__PURE__ */ Data_Foldable.foldl(Data_Foldable.foldableArray);\nvar foldRecM = function (dictMonadRec) {\n return function (f) {\n return function (b) {\n return function (array) {\n var go = function (res) {\n return function (i) {\n if (i >= $foreign.length(array)) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(res));\n };\n if (Data_Boolean.otherwise) {\n return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(f(res)(unsafeIndex()(array)(i)))(function (res$prime) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop({\n a: res$prime,\n b: i + 1 | 0\n }));\n });\n };\n throw new Error(\"Failed pattern match at Data.Array (line 1263, column 3 - line 1267, column 42): \" + [ res.constructor.name, i.constructor.name ]);\n };\n };\n return Control_Monad_Rec_Class.tailRecM2(dictMonadRec)(go)(b)(0);\n };\n };\n };\n};\nvar foldMap = function (dictMonoid) {\n return Data_Foldable.foldMap(Data_Foldable.foldableArray)(dictMonoid);\n};\nvar foldM = function (dictMonad) {\n return function (f) {\n return function (b) {\n return $foreign.unconsImpl(function (v) {\n return Control_Applicative.pure(dictMonad.Applicative0())(b);\n })(function (a) {\n return function (as) {\n return Control_Bind.bind(dictMonad.Bind1())(f(b)(a))(function (b$prime) {\n return foldM(dictMonad)(f)(b$prime)(as);\n });\n };\n });\n };\n };\n};\nvar fold = function (dictMonoid) {\n return Data_Foldable.fold(Data_Foldable.foldableArray)(dictMonoid);\n};\nvar findMap = /* #__PURE__ */ (function () {\n return $foreign.findMapImpl(Data_Maybe.Nothing.value)(Data_Maybe.isJust);\n})();\nvar findLastIndex = /* #__PURE__ */ (function () {\n return $foreign.findLastIndexImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n})();\nvar insertBy = function (cmp) {\n return function (x) {\n return function (ys) {\n var i = Data_Maybe.maybe(0)(function (v) {\n return v + 1 | 0;\n })(findLastIndex(function (y) {\n return Data_Eq.eq(Data_Ordering.eqOrdering)(cmp(x)(y))(Data_Ordering.GT.value);\n })(ys));\n return Data_Maybe.fromJust()(insertAt(i)(x)(ys));\n };\n };\n};\nvar insert = function (dictOrd) {\n return insertBy(Data_Ord.compare(dictOrd));\n};\nvar findIndex = /* #__PURE__ */ (function () {\n return $foreign.findIndexImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n})();\nvar intersectBy = function (eq) {\n return function (xs) {\n return function (ys) {\n return $foreign.filter(function (x) {\n return Data_Maybe.isJust(findIndex(eq(x))(ys));\n })(xs);\n };\n };\n};\nvar intersect = function (dictEq) {\n return intersectBy(Data_Eq.eq(dictEq));\n};\nvar find = function (f) {\n return function (xs) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(unsafeIndex()(xs))(findIndex(f)(xs));\n };\n};\nvar elemLastIndex = function (dictEq) {\n return function (x) {\n return findLastIndex(function (v) {\n return Data_Eq.eq(dictEq)(v)(x);\n });\n };\n};\nvar elemIndex = function (dictEq) {\n return function (x) {\n return findIndex(function (v) {\n return Data_Eq.eq(dictEq)(v)(x);\n });\n };\n};\nvar notElem = function (dictEq) {\n return function (a) {\n return function (arr) {\n return Data_Maybe.isNothing(elemIndex(dictEq)(a)(arr));\n };\n };\n};\nvar elem = function (dictEq) {\n return function (a) {\n return function (arr) {\n return Data_Maybe.isJust(elemIndex(dictEq)(a)(arr));\n };\n };\n};\nvar dropWhile = function (p) {\n return function (xs) {\n return (span(p)(xs)).rest;\n };\n};\nvar dropEnd = function (n) {\n return function (xs) {\n return take($foreign.length(xs) - n | 0)(xs);\n };\n};\nvar drop = function (n) {\n return function (xs) {\n var $79 = n < 1;\n if ($79) {\n return xs;\n };\n return $foreign.slice(n)($foreign.length(xs))(xs);\n };\n};\nvar takeEnd = function (n) {\n return function (xs) {\n return drop($foreign.length(xs) - n | 0)(xs);\n };\n};\nvar deleteAt = /* #__PURE__ */ (function () {\n return $foreign[\"_deleteAt\"](Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n})();\nvar deleteBy = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2.length === 0) {\n return [ ];\n };\n return Data_Maybe.maybe(v2)(function (i) {\n return Data_Maybe.fromJust()(deleteAt(i)(v2));\n })(findIndex(v(v1))(v2));\n };\n };\n};\nvar unionBy = function (eq) {\n return function (xs) {\n return function (ys) {\n return Data_Semigroup.append(Data_Semigroup.semigroupArray)(xs)(foldl(Data_Function.flip(deleteBy(eq)))(nubByEq(eq)(ys))(xs));\n };\n };\n};\nvar union = function (dictEq) {\n return unionBy(Data_Eq.eq(dictEq));\n};\nvar $$delete = function (dictEq) {\n return deleteBy(Data_Eq.eq(dictEq));\n};\nvar difference = function (dictEq) {\n return foldr($$delete(dictEq));\n};\nvar cons = function (x) {\n return function (xs) {\n return Data_Semigroup.append(Data_Semigroup.semigroupArray)([ x ])(xs);\n };\n};\nvar some = function (dictAlternative) {\n return function (dictLazy) {\n return function (v) {\n return Control_Apply.apply((dictAlternative.Applicative0()).Apply0())(Data_Functor.map(((dictAlternative.Plus1()).Alt0()).Functor0())(cons)(v))(Control_Lazy.defer(dictLazy)(function (v1) {\n return many(dictAlternative)(dictLazy)(v);\n }));\n };\n };\n};\nvar many = function (dictAlternative) {\n return function (dictLazy) {\n return function (v) {\n return Control_Alt.alt((dictAlternative.Plus1()).Alt0())(some(dictAlternative)(dictLazy)(v))(Control_Applicative.pure(dictAlternative.Applicative0())([ ]));\n };\n };\n};\nvar concatMap = /* #__PURE__ */ Data_Function.flip(/* #__PURE__ */ Control_Bind.bind(Control_Bind.bindArray));\nvar mapMaybe = function (f) {\n return concatMap((function () {\n var $99 = Data_Maybe.maybe([ ])(singleton);\n return function ($100) {\n return $99(f($100));\n };\n })());\n};\nvar filterA = function (dictApplicative) {\n return function (p) {\n var $101 = Data_Functor.map((dictApplicative.Apply0()).Functor0())(mapMaybe(function (v) {\n if (v.value1) {\n return new Data_Maybe.Just(v.value0);\n };\n return Data_Maybe.Nothing.value;\n }));\n var $102 = Data_Traversable.traverse(Data_Traversable.traversableArray)(dictApplicative)(function (x) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Tuple.Tuple.create(x))(p(x));\n });\n return function ($103) {\n return $101($102($103));\n };\n };\n};\nvar catMaybes = /* #__PURE__ */ mapMaybe(/* #__PURE__ */ Control_Category.identity(Control_Category.categoryFn));\nvar alterAt = function (i) {\n return function (f) {\n return function (xs) {\n var go = function (x) {\n var v = f(x);\n if (v instanceof Data_Maybe.Nothing) {\n return deleteAt(i)(xs);\n };\n if (v instanceof Data_Maybe.Just) {\n return updateAt(i)(v.value0)(xs);\n };\n throw new Error(\"Failed pattern match at Data.Array (line 589, column 10 - line 591, column 32): \" + [ v.constructor.name ]);\n };\n return Data_Maybe.maybe(Data_Maybe.Nothing.value)(go)(index(xs)(i));\n };\n };\n};\nexport {\n range,\n replicate,\n length,\n reverse,\n concat,\n filter,\n partition,\n scanl,\n scanr,\n slice,\n zipWith,\n any,\n all\n} from \"./foreign.js\";\nexport {\n fromFoldable,\n toUnfoldable,\n singleton,\n some,\n many,\n $$null as null,\n cons,\n snoc,\n insert,\n insertBy,\n head,\n last,\n tail,\n init,\n uncons,\n unsnoc,\n index,\n elem,\n notElem,\n elemIndex,\n elemLastIndex,\n find,\n findMap,\n findIndex,\n findLastIndex,\n insertAt,\n deleteAt,\n updateAt,\n updateAtIndices,\n modifyAt,\n modifyAtIndices,\n alterAt,\n intersperse,\n concatMap,\n splitAt,\n filterA,\n mapMaybe,\n catMaybes,\n mapWithIndex,\n foldl,\n foldr,\n foldMap,\n fold,\n intercalate,\n sort,\n sortBy,\n sortWith,\n take,\n takeEnd,\n takeWhile,\n drop,\n dropEnd,\n dropWhile,\n span,\n group,\n groupAll,\n groupBy,\n groupAllBy,\n nub,\n nubEq,\n nubBy,\n nubByEq,\n union,\n unionBy,\n $$delete as delete,\n deleteBy,\n difference,\n intersect,\n intersectBy,\n zipWithA,\n zip,\n unzip,\n foldM,\n foldRecM,\n unsafeIndex\n};\n", "// module Data.Function.Uncurried\n\nexport const mkFn0 = function (fn) {\n return function () {\n return fn();\n };\n};\n\nexport const mkFn2 = function (fn) {\n /* jshint maxparams: 2 */\n return function (a, b) {\n return fn(a)(b);\n };\n};\n\nexport const mkFn3 = function (fn) {\n /* jshint maxparams: 3 */\n return function (a, b, c) {\n return fn(a)(b)(c);\n };\n};\n\nexport const mkFn4 = function (fn) {\n /* jshint maxparams: 4 */\n return function (a, b, c, d) {\n return fn(a)(b)(c)(d);\n };\n};\n\nexport const mkFn5 = function (fn) {\n /* jshint maxparams: 5 */\n return function (a, b, c, d, e) {\n return fn(a)(b)(c)(d)(e);\n };\n};\n\nexport const mkFn6 = function (fn) {\n /* jshint maxparams: 6 */\n return function (a, b, c, d, e, f) {\n return fn(a)(b)(c)(d)(e)(f);\n };\n};\n\nexport const mkFn7 = function (fn) {\n /* jshint maxparams: 7 */\n return function (a, b, c, d, e, f, g) {\n return fn(a)(b)(c)(d)(e)(f)(g);\n };\n};\n\nexport const mkFn8 = function (fn) {\n /* jshint maxparams: 8 */\n return function (a, b, c, d, e, f, g, h) {\n return fn(a)(b)(c)(d)(e)(f)(g)(h);\n };\n};\n\nexport const mkFn9 = function (fn) {\n /* jshint maxparams: 9 */\n return function (a, b, c, d, e, f, g, h, i) {\n return fn(a)(b)(c)(d)(e)(f)(g)(h)(i);\n };\n};\n\nexport const mkFn10 = function (fn) {\n /* jshint maxparams: 10 */\n return function (a, b, c, d, e, f, g, h, i, j) {\n return fn(a)(b)(c)(d)(e)(f)(g)(h)(i)(j);\n };\n};\n\nexport const runFn0 = function (fn) {\n return fn();\n};\n\nexport const runFn2 = function (fn) {\n return function (a) {\n return function (b) {\n return fn(a, b);\n };\n };\n};\n\nexport const runFn3 = function (fn) {\n return function (a) {\n return function (b) {\n return function (c) {\n return fn(a, b, c);\n };\n };\n };\n};\n\nexport const runFn4 = function (fn) {\n return function (a) {\n return function (b) {\n return function (c) {\n return function (d) {\n return fn(a, b, c, d);\n };\n };\n };\n };\n};\n\nexport const runFn5 = function (fn) {\n return function (a) {\n return function (b) {\n return function (c) {\n return function (d) {\n return function (e) {\n return fn(a, b, c, d, e);\n };\n };\n };\n };\n };\n};\n\nexport const runFn6 = function (fn) {\n return function (a) {\n return function (b) {\n return function (c) {\n return function (d) {\n return function (e) {\n return function (f) {\n return fn(a, b, c, d, e, f);\n };\n };\n };\n };\n };\n };\n};\n\nexport const runFn7 = function (fn) {\n return function (a) {\n return function (b) {\n return function (c) {\n return function (d) {\n return function (e) {\n return function (f) {\n return function (g) {\n return fn(a, b, c, d, e, f, g);\n };\n };\n };\n };\n };\n };\n };\n};\n\nexport const runFn8 = function (fn) {\n return function (a) {\n return function (b) {\n return function (c) {\n return function (d) {\n return function (e) {\n return function (f) {\n return function (g) {\n return function (h) {\n return fn(a, b, c, d, e, f, g, h);\n };\n };\n };\n };\n };\n };\n };\n };\n};\n\nexport const runFn9 = function (fn) {\n return function (a) {\n return function (b) {\n return function (c) {\n return function (d) {\n return function (e) {\n return function (f) {\n return function (g) {\n return function (h) {\n return function (i) {\n return fn(a, b, c, d, e, f, g, h, i);\n };\n };\n };\n };\n };\n };\n };\n };\n };\n};\n\nexport const runFn10 = function (fn) {\n return function (a) {\n return function (b) {\n return function (c) {\n return function (d) {\n return function (e) {\n return function (f) {\n return function (g) {\n return function (h) {\n return function (i) {\n return function (j) {\n return fn(a, b, c, d, e, f, g, h, i, j);\n };\n };\n };\n };\n };\n };\n };\n };\n };\n };\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Apply from \"../Control.Apply/index.js\";\nimport * as Data_Either from \"../Data.Either/index.js\";\nimport * as Data_FoldableWithIndex from \"../Data.FoldableWithIndex/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Functor_App from \"../Data.Functor.App/index.js\";\nimport * as Data_Functor_Compose from \"../Data.Functor.Compose/index.js\";\nimport * as Data_Functor_Coproduct from \"../Data.Functor.Coproduct/index.js\";\nimport * as Data_Functor_Product from \"../Data.Functor.Product/index.js\";\nimport * as Data_FunctorWithIndex from \"../Data.FunctorWithIndex/index.js\";\nimport * as Data_Identity from \"../Data.Identity/index.js\";\nimport * as Data_Traversable from \"../Data.Traversable/index.js\";\nimport * as Data_Traversable_Accum from \"../Data.Traversable.Accum/index.js\";\nimport * as Data_Traversable_Accum_Internal from \"../Data.Traversable.Accum.Internal/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nvar traverseWithIndexDefault = function (dictTraversableWithIndex) {\n return function (dictApplicative) {\n return function (f) {\n var $64 = Data_Traversable.sequence(dictTraversableWithIndex.Traversable2())(dictApplicative);\n var $65 = Data_FunctorWithIndex.mapWithIndex(dictTraversableWithIndex.FunctorWithIndex0())(f);\n return function ($66) {\n return $64($65($66));\n };\n };\n };\n};\nvar traverseWithIndex = function (dict) {\n return dict.traverseWithIndex;\n};\nvar traverseDefault = function (dictTraversableWithIndex) {\n return function (dictApplicative) {\n return function (f) {\n return traverseWithIndex(dictTraversableWithIndex)(dictApplicative)(Data_Function[\"const\"](f));\n };\n };\n};\nvar traversableWithIndexTuple = {\n traverseWithIndex: function (dictApplicative) {\n return function (f) {\n return function (v) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Tuple.Tuple.create(v.value0))(f(Data_Unit.unit)(v.value1));\n };\n };\n },\n FunctorWithIndex0: function () {\n return Data_FunctorWithIndex.functorWithIndexTuple;\n },\n FoldableWithIndex1: function () {\n return Data_FoldableWithIndex.foldableWithIndexTuple;\n },\n Traversable2: function () {\n return Data_Traversable.traversableTuple;\n }\n};\nvar traversableWithIndexProduct = function (dictTraversableWithIndex) {\n return function (dictTraversableWithIndex1) {\n return {\n traverseWithIndex: function (dictApplicative) {\n return function (f) {\n return function (v) {\n return Control_Apply.lift2(dictApplicative.Apply0())(Data_Functor_Product.product)(traverseWithIndex(dictTraversableWithIndex)(dictApplicative)(function ($67) {\n return f(Data_Either.Left.create($67));\n })(v.value0))(traverseWithIndex(dictTraversableWithIndex1)(dictApplicative)(function ($68) {\n return f(Data_Either.Right.create($68));\n })(v.value1));\n };\n };\n },\n FunctorWithIndex0: function () {\n return Data_FunctorWithIndex.functorWithIndexProduct(dictTraversableWithIndex.FunctorWithIndex0())(dictTraversableWithIndex1.FunctorWithIndex0());\n },\n FoldableWithIndex1: function () {\n return Data_FoldableWithIndex.foldableWithIndexProduct(dictTraversableWithIndex.FoldableWithIndex1())(dictTraversableWithIndex1.FoldableWithIndex1());\n },\n Traversable2: function () {\n return Data_Traversable.traversableProduct(dictTraversableWithIndex.Traversable2())(dictTraversableWithIndex1.Traversable2());\n }\n };\n };\n};\nvar traversableWithIndexMultiplicative = {\n traverseWithIndex: function (dictApplicative) {\n return function (f) {\n return Data_Traversable.traverse(Data_Traversable.traversableMultiplicative)(dictApplicative)(f(Data_Unit.unit));\n };\n },\n FunctorWithIndex0: function () {\n return Data_FunctorWithIndex.functorWithIndexMultiplicative;\n },\n FoldableWithIndex1: function () {\n return Data_FoldableWithIndex.foldableWithIndexMultiplicative;\n },\n Traversable2: function () {\n return Data_Traversable.traversableMultiplicative;\n }\n};\nvar traversableWithIndexMaybe = {\n traverseWithIndex: function (dictApplicative) {\n return function (f) {\n return Data_Traversable.traverse(Data_Traversable.traversableMaybe)(dictApplicative)(f(Data_Unit.unit));\n };\n },\n FunctorWithIndex0: function () {\n return Data_FunctorWithIndex.functorWithIndexMaybe;\n },\n FoldableWithIndex1: function () {\n return Data_FoldableWithIndex.foldableWithIndexMaybe;\n },\n Traversable2: function () {\n return Data_Traversable.traversableMaybe;\n }\n};\nvar traversableWithIndexLast = {\n traverseWithIndex: function (dictApplicative) {\n return function (f) {\n return Data_Traversable.traverse(Data_Traversable.traversableLast)(dictApplicative)(f(Data_Unit.unit));\n };\n },\n FunctorWithIndex0: function () {\n return Data_FunctorWithIndex.functorWithIndexLast;\n },\n FoldableWithIndex1: function () {\n return Data_FoldableWithIndex.foldableWithIndexLast;\n },\n Traversable2: function () {\n return Data_Traversable.traversableLast;\n }\n};\nvar traversableWithIndexIdentity = {\n traverseWithIndex: function (dictApplicative) {\n return function (f) {\n return function (v) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Identity.Identity)(f(Data_Unit.unit)(v));\n };\n };\n },\n FunctorWithIndex0: function () {\n return Data_FunctorWithIndex.functorWithIndexIdentity;\n },\n FoldableWithIndex1: function () {\n return Data_FoldableWithIndex.foldableWithIndexIdentity;\n },\n Traversable2: function () {\n return Data_Traversable.traversableIdentity;\n }\n};\nvar traversableWithIndexFirst = {\n traverseWithIndex: function (dictApplicative) {\n return function (f) {\n return Data_Traversable.traverse(Data_Traversable.traversableFirst)(dictApplicative)(f(Data_Unit.unit));\n };\n },\n FunctorWithIndex0: function () {\n return Data_FunctorWithIndex.functorWithIndexFirst;\n },\n FoldableWithIndex1: function () {\n return Data_FoldableWithIndex.foldableWithIndexFirst;\n },\n Traversable2: function () {\n return Data_Traversable.traversableFirst;\n }\n};\nvar traversableWithIndexEither = {\n traverseWithIndex: function (dictApplicative) {\n return function (v) {\n return function (v1) {\n if (v1 instanceof Data_Either.Left) {\n return Control_Applicative.pure(dictApplicative)(new Data_Either.Left(v1.value0));\n };\n if (v1 instanceof Data_Either.Right) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Either.Right.create)(v(Data_Unit.unit)(v1.value0));\n };\n throw new Error(\"Failed pattern match at Data.TraversableWithIndex (line 95, column 1 - line 97, column 53): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n },\n FunctorWithIndex0: function () {\n return Data_FunctorWithIndex.functorWithIndexEither;\n },\n FoldableWithIndex1: function () {\n return Data_FoldableWithIndex.foldableWithIndexEither;\n },\n Traversable2: function () {\n return Data_Traversable.traversableEither;\n }\n};\nvar traversableWithIndexDual = {\n traverseWithIndex: function (dictApplicative) {\n return function (f) {\n return Data_Traversable.traverse(Data_Traversable.traversableDual)(dictApplicative)(f(Data_Unit.unit));\n };\n },\n FunctorWithIndex0: function () {\n return Data_FunctorWithIndex.functorWithIndexDual;\n },\n FoldableWithIndex1: function () {\n return Data_FoldableWithIndex.foldableWithIndexDual;\n },\n Traversable2: function () {\n return Data_Traversable.traversableDual;\n }\n};\nvar traversableWithIndexDisj = {\n traverseWithIndex: function (dictApplicative) {\n return function (f) {\n return Data_Traversable.traverse(Data_Traversable.traversableDisj)(dictApplicative)(f(Data_Unit.unit));\n };\n },\n FunctorWithIndex0: function () {\n return Data_FunctorWithIndex.functorWithIndexDisj;\n },\n FoldableWithIndex1: function () {\n return Data_FoldableWithIndex.foldableWithIndexDisj;\n },\n Traversable2: function () {\n return Data_Traversable.traversableDisj;\n }\n};\nvar traversableWithIndexCoproduct = function (dictTraversableWithIndex) {\n return function (dictTraversableWithIndex1) {\n return {\n traverseWithIndex: function (dictApplicative) {\n return function (f) {\n return Data_Functor_Coproduct.coproduct((function () {\n var $69 = Data_Functor.map((dictApplicative.Apply0()).Functor0())(function ($72) {\n return Data_Functor_Coproduct.Coproduct(Data_Either.Left.create($72));\n });\n var $70 = traverseWithIndex(dictTraversableWithIndex)(dictApplicative)(function ($73) {\n return f(Data_Either.Left.create($73));\n });\n return function ($71) {\n return $69($70($71));\n };\n })())((function () {\n var $74 = Data_Functor.map((dictApplicative.Apply0()).Functor0())(function ($77) {\n return Data_Functor_Coproduct.Coproduct(Data_Either.Right.create($77));\n });\n var $75 = traverseWithIndex(dictTraversableWithIndex1)(dictApplicative)(function ($78) {\n return f(Data_Either.Right.create($78));\n });\n return function ($76) {\n return $74($75($76));\n };\n })());\n };\n },\n FunctorWithIndex0: function () {\n return Data_FunctorWithIndex.functorWithIndexCoproduct(dictTraversableWithIndex.FunctorWithIndex0())(dictTraversableWithIndex1.FunctorWithIndex0());\n },\n FoldableWithIndex1: function () {\n return Data_FoldableWithIndex.foldableWithIndexCoproduct(dictTraversableWithIndex.FoldableWithIndex1())(dictTraversableWithIndex1.FoldableWithIndex1());\n },\n Traversable2: function () {\n return Data_Traversable.traversableCoproduct(dictTraversableWithIndex.Traversable2())(dictTraversableWithIndex1.Traversable2());\n }\n };\n };\n};\nvar traversableWithIndexConst = {\n traverseWithIndex: function (dictApplicative) {\n return function (v) {\n return function (v1) {\n return Control_Applicative.pure(dictApplicative)(v1);\n };\n };\n },\n FunctorWithIndex0: function () {\n return Data_FunctorWithIndex.functorWithIndexConst;\n },\n FoldableWithIndex1: function () {\n return Data_FoldableWithIndex.foldableWithIndexConst;\n },\n Traversable2: function () {\n return Data_Traversable.traversableConst;\n }\n};\nvar traversableWithIndexConj = {\n traverseWithIndex: function (dictApplicative) {\n return function (f) {\n return Data_Traversable.traverse(Data_Traversable.traversableConj)(dictApplicative)(f(Data_Unit.unit));\n };\n },\n FunctorWithIndex0: function () {\n return Data_FunctorWithIndex.functorWithIndexConj;\n },\n FoldableWithIndex1: function () {\n return Data_FoldableWithIndex.foldableWithIndexConj;\n },\n Traversable2: function () {\n return Data_Traversable.traversableConj;\n }\n};\nvar traversableWithIndexCompose = function (dictTraversableWithIndex) {\n return function (dictTraversableWithIndex1) {\n return {\n traverseWithIndex: function (dictApplicative) {\n return function (f) {\n return function (v) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Functor_Compose.Compose)(traverseWithIndex(dictTraversableWithIndex)(dictApplicative)((function () {\n var $79 = traverseWithIndex(dictTraversableWithIndex1)(dictApplicative);\n var $80 = Data_Tuple.curry(f);\n return function ($81) {\n return $79($80($81));\n };\n })())(v));\n };\n };\n },\n FunctorWithIndex0: function () {\n return Data_FunctorWithIndex.functorWithIndexCompose(dictTraversableWithIndex.FunctorWithIndex0())(dictTraversableWithIndex1.FunctorWithIndex0());\n },\n FoldableWithIndex1: function () {\n return Data_FoldableWithIndex.foldableWithIndexCompose(dictTraversableWithIndex.FoldableWithIndex1())(dictTraversableWithIndex1.FoldableWithIndex1());\n },\n Traversable2: function () {\n return Data_Traversable.traversableCompose(dictTraversableWithIndex.Traversable2())(dictTraversableWithIndex1.Traversable2());\n }\n };\n };\n};\nvar traversableWithIndexArray = {\n traverseWithIndex: function (dictApplicative) {\n return traverseWithIndexDefault(traversableWithIndexArray)(dictApplicative);\n },\n FunctorWithIndex0: function () {\n return Data_FunctorWithIndex.functorWithIndexArray;\n },\n FoldableWithIndex1: function () {\n return Data_FoldableWithIndex.foldableWithIndexArray;\n },\n Traversable2: function () {\n return Data_Traversable.traversableArray;\n }\n};\nvar traversableWithIndexApp = function (dictTraversableWithIndex) {\n return {\n traverseWithIndex: function (dictApplicative) {\n return function (f) {\n return function (v) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Functor_App.App)(traverseWithIndex(dictTraversableWithIndex)(dictApplicative)(f)(v));\n };\n };\n },\n FunctorWithIndex0: function () {\n return Data_FunctorWithIndex.functorWithIndexApp(dictTraversableWithIndex.FunctorWithIndex0());\n },\n FoldableWithIndex1: function () {\n return Data_FoldableWithIndex.foldableWithIndexApp(dictTraversableWithIndex.FoldableWithIndex1());\n },\n Traversable2: function () {\n return Data_Traversable.traversableApp(dictTraversableWithIndex.Traversable2());\n }\n };\n};\nvar traversableWithIndexAdditive = {\n traverseWithIndex: function (dictApplicative) {\n return function (f) {\n return Data_Traversable.traverse(Data_Traversable.traversableAdditive)(dictApplicative)(f(Data_Unit.unit));\n };\n },\n FunctorWithIndex0: function () {\n return Data_FunctorWithIndex.functorWithIndexAdditive;\n },\n FoldableWithIndex1: function () {\n return Data_FoldableWithIndex.foldableWithIndexAdditive;\n },\n Traversable2: function () {\n return Data_Traversable.traversableAdditive;\n }\n};\nvar mapAccumRWithIndex = function (dictTraversableWithIndex) {\n return function (f) {\n return function (s0) {\n return function (xs) {\n return Data_Traversable_Accum_Internal.stateR(traverseWithIndex(dictTraversableWithIndex)(Data_Traversable_Accum_Internal.applicativeStateR)(function (i) {\n return function (a) {\n return function (s) {\n return f(i)(s)(a);\n };\n };\n })(xs))(s0);\n };\n };\n };\n};\nvar scanrWithIndex = function (dictTraversableWithIndex) {\n return function (f) {\n return function (b0) {\n return function (xs) {\n return (mapAccumRWithIndex(dictTraversableWithIndex)(function (i) {\n return function (b) {\n return function (a) {\n var b$prime = f(i)(a)(b);\n return {\n accum: b$prime,\n value: b$prime\n };\n };\n };\n })(b0)(xs)).value;\n };\n };\n };\n};\nvar mapAccumLWithIndex = function (dictTraversableWithIndex) {\n return function (f) {\n return function (s0) {\n return function (xs) {\n return Data_Traversable_Accum_Internal.stateL(traverseWithIndex(dictTraversableWithIndex)(Data_Traversable_Accum_Internal.applicativeStateL)(function (i) {\n return function (a) {\n return function (s) {\n return f(i)(s)(a);\n };\n };\n })(xs))(s0);\n };\n };\n };\n};\nvar scanlWithIndex = function (dictTraversableWithIndex) {\n return function (f) {\n return function (b0) {\n return function (xs) {\n return (mapAccumLWithIndex(dictTraversableWithIndex)(function (i) {\n return function (b) {\n return function (a) {\n var b$prime = f(i)(b)(a);\n return {\n accum: b$prime,\n value: b$prime\n };\n };\n };\n })(b0)(xs)).value;\n };\n };\n };\n};\nvar forWithIndex = function (dictApplicative) {\n return function (dictTraversableWithIndex) {\n return Data_Function.flip(traverseWithIndex(dictTraversableWithIndex)(dictApplicative));\n };\n};\nexport {\n traverseWithIndex,\n traverseWithIndexDefault,\n forWithIndex,\n scanlWithIndex,\n mapAccumLWithIndex,\n scanrWithIndex,\n mapAccumRWithIndex,\n traverseDefault,\n traversableWithIndexArray,\n traversableWithIndexMaybe,\n traversableWithIndexFirst,\n traversableWithIndexLast,\n traversableWithIndexAdditive,\n traversableWithIndexDual,\n traversableWithIndexConj,\n traversableWithIndexDisj,\n traversableWithIndexMultiplicative,\n traversableWithIndexEither,\n traversableWithIndexTuple,\n traversableWithIndexIdentity,\n traversableWithIndexConst,\n traversableWithIndexProduct,\n traversableWithIndexCoproduct,\n traversableWithIndexCompose,\n traversableWithIndexApp\n};\n", "const newImpl = function () {\n return {};\n};\nexport { newImpl as new };\n\nexport function peekImpl(just) {\n return function (nothing) {\n return function (k) {\n return function (m) {\n return function () {\n return {}.hasOwnProperty.call(m, k) ? just(m[k]) : nothing;\n };\n };\n };\n };\n}\n\nexport function poke(k) {\n return function (v) {\n return function (m) {\n return function () {\n m[k] = v;\n return m;\n };\n };\n };\n}\n\nconst deleteImpl = function (k) {\n return function (m) {\n return function () {\n delete m[k];\n return m;\n };\n };\n};\nexport { deleteImpl as delete };\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Apply from \"../Control.Apply/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Control_Monad_ST_Internal from \"../Control.Monad.ST.Internal/index.js\";\nimport * as Data_Array from \"../Data.Array/index.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Foldable from \"../Data.Foldable/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Function_Uncurried from \"../Data.Function.Uncurried/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Monoid from \"../Data.Monoid/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Semigroup from \"../Data.Semigroup/index.js\";\nimport * as Data_Show from \"../Data.Show/index.js\";\nimport * as Data_Traversable from \"../Data.Traversable/index.js\";\nimport * as Data_TraversableWithIndex from \"../Data.TraversableWithIndex/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nimport * as Data_Unfoldable from \"../Data.Unfoldable/index.js\";\nimport * as Foreign_Object_ST from \"../Foreign.Object.ST/index.js\";\nimport * as Unsafe_Coerce from \"../Unsafe.Coerce/index.js\";\nvar values = /* #__PURE__ */ $foreign.toArrayWithKey(function (v) {\n return function (v1) {\n return v1;\n };\n});\nvar toUnfoldable = function (dictUnfoldable) {\n var $35 = Data_Array.toUnfoldable(dictUnfoldable);\n var $36 = $foreign.toArrayWithKey(Data_Tuple.Tuple.create);\n return function ($37) {\n return $35($36($37));\n };\n};\nvar toAscUnfoldable = function (dictUnfoldable) {\n var $38 = Data_Array.toUnfoldable(dictUnfoldable);\n var $39 = Data_Array.sortWith(Data_Ord.ordString)(Data_Tuple.fst);\n var $40 = $foreign.toArrayWithKey(Data_Tuple.Tuple.create);\n return function ($41) {\n return $38($39($40($41)));\n };\n};\nvar toAscArray = /* #__PURE__ */ toAscUnfoldable(Data_Unfoldable.unfoldableArray);\nvar toArray = /* #__PURE__ */ (function () {\n return $foreign.toArrayWithKey(Data_Tuple.Tuple.create);\n})();\nvar thawST = $foreign[\"_copyST\"];\nvar singleton = function (k) {\n return function (v) {\n return $foreign.runST(Control_Bind.bindFlipped(Control_Monad_ST_Internal.bindST)(Foreign_Object_ST.poke(k)(v))(Foreign_Object_ST[\"new\"]));\n };\n};\nvar showObject = function (dictShow) {\n return {\n show: function (m) {\n return \"(fromFoldable \" + (Data_Show.show(Data_Show.showArray(Data_Tuple.showTuple(Data_Show.showString)(dictShow)))(toArray(m)) + \")\");\n }\n };\n};\nvar mutate = function (f) {\n return function (m) {\n return $foreign.runST(function __do() {\n var s = thawST(m)();\n f(s)();\n return s;\n });\n };\n};\nvar member = /* #__PURE__ */ Data_Function_Uncurried.runFn4($foreign[\"_lookup\"])(false)(/* #__PURE__ */ Data_Function[\"const\"](true));\nvar mapWithKey = function (f) {\n return function (m) {\n return $foreign[\"_mapWithKey\"](m, f);\n };\n};\nvar lookup = /* #__PURE__ */ (function () {\n return Data_Function_Uncurried.runFn4($foreign[\"_lookup\"])(Data_Maybe.Nothing.value)(Data_Maybe.Just.create);\n})();\nvar isSubmap = function (dictEq) {\n return function (m1) {\n return function (m2) {\n var f = function (k) {\n return function (v) {\n return $foreign[\"_lookup\"](false, Data_Eq.eq(dictEq)(v), k, m2);\n };\n };\n return $foreign.all(f)(m1);\n };\n };\n};\nvar isEmpty = /* #__PURE__ */ $foreign.all(function (v) {\n return function (v1) {\n return false;\n };\n});\nvar insert = function (k) {\n return function (v) {\n return mutate(Foreign_Object_ST.poke(k)(v));\n };\n};\nvar functorObject = {\n map: function (f) {\n return function (m) {\n return $foreign[\"_fmapObject\"](m, f);\n };\n }\n};\nvar functorWithIndexObject = {\n mapWithIndex: mapWithKey,\n Functor0: function () {\n return functorObject;\n }\n};\nvar fromHomogeneous = function () {\n return Unsafe_Coerce.unsafeCoerce;\n};\nvar fromFoldableWith = function (dictFoldable) {\n return function (f) {\n return function (l) {\n return $foreign.runST(function __do() {\n var s = Foreign_Object_ST[\"new\"]();\n Data_Foldable.for_(Control_Monad_ST_Internal.applicativeST)(dictFoldable)(l)(function (v) {\n return function __do() {\n var v$prime = $foreign[\"_lookupST\"](v.value1, f(v.value1), v.value0, s)();\n return Foreign_Object_ST.poke(v.value0)(v$prime)(s)();\n };\n })();\n return s;\n });\n };\n };\n};\nvar fromFoldable = function (dictFoldable) {\n return function (l) {\n return $foreign.runST(function __do() {\n var s = Foreign_Object_ST[\"new\"]();\n Control_Monad_ST_Internal.foreach(Data_Array.fromFoldable(dictFoldable)(l))(function (v) {\n return Data_Functor[\"void\"](Control_Monad_ST_Internal.functorST)(Foreign_Object_ST.poke(v.value0)(v.value1)(s));\n })();\n return s;\n });\n };\n};\nvar freezeST = $foreign[\"_copyST\"];\nvar foldMaybe = function (f) {\n return function (z) {\n return function (m) {\n return $foreign[\"_foldSCObject\"](m, z, f, Data_Maybe.fromMaybe);\n };\n };\n};\nvar foldM = function (dictMonad) {\n return function (f) {\n return function (z) {\n return $foreign[\"_foldM\"](Control_Bind.bind(dictMonad.Bind1()))(f)(Control_Applicative.pure(dictMonad.Applicative0())(z));\n };\n };\n};\nvar union = function (m) {\n return mutate(function (s) {\n return foldM(Control_Monad_ST_Internal.monadST)(function (s$prime) {\n return function (k) {\n return function (v) {\n return Foreign_Object_ST.poke(k)(v)(s$prime);\n };\n };\n })(s)(m);\n });\n};\nvar unions = function (dictFoldable) {\n return Data_Foldable.foldl(dictFoldable)(union)($foreign.empty);\n};\nvar unionWith = function (f) {\n return function (m1) {\n return function (m2) {\n return mutate(function (s1) {\n return foldM(Control_Monad_ST_Internal.monadST)(function (s2) {\n return function (k) {\n return function (v1) {\n return Foreign_Object_ST.poke(k)($foreign[\"_lookup\"](v1, function (v2) {\n return f(v1)(v2);\n }, k, m2))(s2);\n };\n };\n })(s1)(m1);\n })(m2);\n };\n };\n};\nvar semigroupObject = function (dictSemigroup) {\n return {\n append: unionWith(Data_Semigroup.append(dictSemigroup))\n };\n};\nvar monoidObject = function (dictSemigroup) {\n return {\n mempty: $foreign.empty,\n Semigroup0: function () {\n return semigroupObject(dictSemigroup);\n }\n };\n};\nvar fold = /* #__PURE__ */ $foreign[\"_foldM\"](Data_Function.applyFlipped);\nvar foldMap = function (dictMonoid) {\n return function (f) {\n return fold(function (acc) {\n return function (k) {\n return function (v) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(acc)(f(k)(v));\n };\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n};\nvar foldableObject = {\n foldl: function (f) {\n return fold(function (z) {\n return function (v) {\n return f(z);\n };\n });\n },\n foldr: function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldr(Data_Foldable.foldableArray)(f)(z)(values(m));\n };\n };\n },\n foldMap: function (dictMonoid) {\n return function (f) {\n return foldMap(dictMonoid)(Data_Function[\"const\"](f));\n };\n }\n};\nvar foldableWithIndexObject = {\n foldlWithIndex: function (f) {\n return fold(Data_Function.flip(f));\n },\n foldrWithIndex: function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldr(Data_Foldable.foldableArray)(Data_Tuple.uncurry(f))(z)($foreign.toArrayWithKey(Data_Tuple.Tuple.create)(m));\n };\n };\n },\n foldMapWithIndex: function (dictMonoid) {\n return foldMap(dictMonoid);\n },\n Foldable0: function () {\n return foldableObject;\n }\n};\nvar traversableWithIndexObject = {\n traverseWithIndex: function (dictApplicative) {\n return function (f) {\n return function (ms) {\n return fold(function (acc) {\n return function (k) {\n return function (v) {\n return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Function.flip(insert(k)))(acc))(f(k)(v));\n };\n };\n })(Control_Applicative.pure(dictApplicative)($foreign.empty))(ms);\n };\n };\n },\n FunctorWithIndex0: function () {\n return functorWithIndexObject;\n },\n FoldableWithIndex1: function () {\n return foldableWithIndexObject;\n },\n Traversable2: function () {\n return traversableObject;\n }\n};\nvar traversableObject = {\n traverse: function (dictApplicative) {\n var $42 = Data_TraversableWithIndex.traverseWithIndex(traversableWithIndexObject)(dictApplicative);\n return function ($43) {\n return $42(Data_Function[\"const\"]($43));\n };\n },\n sequence: function (dictApplicative) {\n return Data_Traversable.traverse(traversableObject)(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n },\n Functor0: function () {\n return functorObject;\n },\n Foldable1: function () {\n return foldableObject;\n }\n};\nvar filterWithKey = function (predicate) {\n return function (m) {\n var go = (function () {\n var step = function (acc) {\n return function (k) {\n return function (v) {\n var $32 = predicate(k)(v);\n if ($32) {\n return Foreign_Object_ST.poke(k)(v)(acc);\n };\n return Control_Applicative.pure(Control_Monad_ST_Internal.applicativeST)(acc);\n };\n };\n };\n return function __do() {\n var m$prime = Foreign_Object_ST[\"new\"]();\n return foldM(Control_Monad_ST_Internal.monadST)(step)(m$prime)(m)();\n };\n })();\n return $foreign.runST(go);\n };\n};\nvar filterKeys = function (predicate) {\n return filterWithKey(function ($44) {\n return Data_Function[\"const\"](predicate($44));\n });\n};\nvar filter = function (predicate) {\n return filterWithKey(Data_Function[\"const\"](predicate));\n};\nvar eqObject = function (dictEq) {\n return {\n eq: function (m1) {\n return function (m2) {\n return isSubmap(dictEq)(m1)(m2) && isSubmap(dictEq)(m2)(m1);\n };\n }\n };\n};\nvar ordObject = function (dictOrd) {\n return {\n compare: function (m1) {\n return function (m2) {\n return Data_Ord.compare(Data_Ord.ordArray(Data_Tuple.ordTuple(Data_Ord.ordString)(dictOrd)))(toAscArray(m1))(toAscArray(m2));\n };\n },\n Eq0: function () {\n return eqObject(dictOrd.Eq0());\n }\n };\n};\nvar eq1Object = {\n eq1: function (dictEq) {\n return Data_Eq.eq(eqObject(dictEq));\n }\n};\nvar $$delete = function (k) {\n return mutate(Foreign_Object_ST[\"delete\"](k));\n};\nvar pop = function (k) {\n return function (m) {\n return Data_Functor.mapFlipped(Data_Maybe.functorMaybe)(lookup(k)(m))(function (a) {\n return new Data_Tuple.Tuple(a, $$delete(k)(m));\n });\n };\n};\nvar alter = function (f) {\n return function (k) {\n return function (m) {\n var v = f(lookup(k)(m));\n if (v instanceof Data_Maybe.Nothing) {\n return $$delete(k)(m);\n };\n if (v instanceof Data_Maybe.Just) {\n return insert(k)(v.value0)(m);\n };\n throw new Error(\"Failed pattern match at Foreign.Object (line 209, column 15 - line 211, column 25): \" + [ v.constructor.name ]);\n };\n };\n};\nvar update = function (f) {\n return function (k) {\n return function (m) {\n return alter(Data_Maybe.maybe(Data_Maybe.Nothing.value)(f))(k)(m);\n };\n };\n};\nexport {\n empty,\n size,\n keys,\n all,\n runST,\n toArrayWithKey\n} from \"./foreign.js\";\nexport {\n isEmpty,\n singleton,\n insert,\n lookup,\n toUnfoldable,\n toAscUnfoldable,\n fromFoldable,\n fromFoldableWith,\n fromHomogeneous,\n $$delete as delete,\n pop,\n member,\n alter,\n update,\n mapWithKey,\n filterWithKey,\n filterKeys,\n filter,\n values,\n union,\n unionWith,\n unions,\n isSubmap,\n fold,\n foldMap,\n foldM,\n foldMaybe,\n thawST,\n freezeST,\n functorObject,\n functorWithIndexObject,\n foldableObject,\n foldableWithIndexObject,\n traversableObject,\n traversableWithIndexObject,\n eqObject,\n eq1Object,\n ordObject,\n showObject,\n semigroupObject,\n monoidObject\n};\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Ordering from \"../Data.Ordering/index.js\";\nimport * as Foreign_Object from \"../Foreign.Object/index.js\";\nvar verbJsonType = function (def) {\n return function (f) {\n return function (g) {\n return g(def)(f);\n };\n };\n};\nvar toJsonType = /* #__PURE__ */ (function () {\n return verbJsonType(Data_Maybe.Nothing.value)(Data_Maybe.Just.create);\n})();\nvar jsonZero = /* #__PURE__ */ $foreign.fromNumber(0.0);\nvar jsonTrue = /* #__PURE__ */ $foreign.fromBoolean(true);\nvar jsonSingletonObject = function (key) {\n return function (val) {\n return $foreign.fromObject(Foreign_Object.singleton(key)(val));\n };\n};\nvar jsonSingletonArray = function (j) {\n return $foreign.fromArray([ j ]);\n};\nvar jsonFalse = /* #__PURE__ */ $foreign.fromBoolean(false);\nvar jsonEmptyString = /* #__PURE__ */ $foreign.fromString(\"\");\nvar jsonEmptyObject = /* #__PURE__ */ $foreign.fromObject(Foreign_Object.empty);\nvar jsonEmptyArray = /* #__PURE__ */ $foreign.fromArray([ ]);\nvar isJsonType = /* #__PURE__ */ verbJsonType(false)(/* #__PURE__ */ Data_Function[\"const\"](true));\nvar ordJson = {\n compare: function (a) {\n return function (b) {\n return $foreign[\"_compare\"](Data_Ordering.EQ.value, Data_Ordering.GT.value, Data_Ordering.LT.value, a, b);\n };\n },\n Eq0: function () {\n return eqJson;\n }\n};\nvar eqJson = {\n eq: function (j1) {\n return function (j2) {\n return Data_Eq.eq(Data_Ordering.eqOrdering)(Data_Ord.compare(ordJson)(j1)(j2))(Data_Ordering.EQ.value);\n };\n }\n};\nvar eqJNull = {\n eq: function (v) {\n return function (v1) {\n return true;\n };\n }\n};\nvar ordJNull = {\n compare: function (v) {\n return function (v1) {\n return Data_Ordering.EQ.value;\n };\n },\n Eq0: function () {\n return eqJNull;\n }\n};\nvar caseJsonString = function (d) {\n return function (f) {\n return function (j) {\n return $foreign[\"_caseJson\"](Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), f, Data_Function[\"const\"](d), Data_Function[\"const\"](d), j);\n };\n };\n};\nvar isString = /* #__PURE__ */ isJsonType(caseJsonString);\nvar toString = /* #__PURE__ */ toJsonType(caseJsonString);\nvar caseJsonObject = function (d) {\n return function (f) {\n return function (j) {\n return $foreign[\"_caseJson\"](Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), f, j);\n };\n };\n};\nvar isObject = /* #__PURE__ */ isJsonType(caseJsonObject);\nvar toObject = /* #__PURE__ */ toJsonType(caseJsonObject);\nvar caseJsonNumber = function (d) {\n return function (f) {\n return function (j) {\n return $foreign[\"_caseJson\"](Data_Function[\"const\"](d), Data_Function[\"const\"](d), f, Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), j);\n };\n };\n};\nvar isNumber = /* #__PURE__ */ isJsonType(caseJsonNumber);\nvar toNumber = /* #__PURE__ */ toJsonType(caseJsonNumber);\nvar caseJsonNull = function (d) {\n return function (f) {\n return function (j) {\n return $foreign[\"_caseJson\"](f, Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), j);\n };\n };\n};\nvar isNull = /* #__PURE__ */ isJsonType(caseJsonNull);\nvar toNull = /* #__PURE__ */ toJsonType(caseJsonNull);\nvar caseJsonBoolean = function (d) {\n return function (f) {\n return function (j) {\n return $foreign[\"_caseJson\"](Data_Function[\"const\"](d), f, Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), j);\n };\n };\n};\nvar isBoolean = /* #__PURE__ */ isJsonType(caseJsonBoolean);\nvar toBoolean = /* #__PURE__ */ toJsonType(caseJsonBoolean);\nvar caseJsonArray = function (d) {\n return function (f) {\n return function (j) {\n return $foreign[\"_caseJson\"](Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), f, Data_Function[\"const\"](d), j);\n };\n };\n};\nvar isArray = /* #__PURE__ */ isJsonType(caseJsonArray);\nvar toArray = /* #__PURE__ */ toJsonType(caseJsonArray);\nvar caseJson = function (a) {\n return function (b) {\n return function (c) {\n return function (d) {\n return function (e) {\n return function (f) {\n return function (json) {\n return $foreign[\"_caseJson\"](a, b, c, d, e, f, json);\n };\n };\n };\n };\n };\n };\n};\nexport {\n fromBoolean,\n fromNumber,\n fromString,\n fromArray,\n fromObject,\n jsonNull,\n stringify,\n stringifyWithIndent\n} from \"./foreign.js\";\nexport {\n caseJson,\n caseJsonNull,\n caseJsonBoolean,\n caseJsonNumber,\n caseJsonString,\n caseJsonArray,\n caseJsonObject,\n isNull,\n isBoolean,\n isNumber,\n isString,\n isArray,\n isObject,\n toNull,\n toBoolean,\n toNumber,\n toString,\n toArray,\n toObject,\n jsonTrue,\n jsonFalse,\n jsonZero,\n jsonEmptyString,\n jsonEmptyArray,\n jsonSingletonArray,\n jsonEmptyObject,\n jsonSingletonObject,\n eqJson,\n ordJson\n};\n", "export function _jsonParser(fail, succ, s) {\n try {\n return succ(JSON.parse(s));\n }\n catch (e) {\n return fail(e.message);\n }\n}\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Data_Either from \"../Data.Either/index.js\";\nvar jsonParser = function (j) {\n return $foreign[\"_jsonParser\"](Data_Either.Left.create, Data_Either.Right.create, j);\n};\nexport {\n jsonParser\n};\n", "export const _localeCompare = function (lt) {\n return function (eq) {\n return function (gt) {\n return function (s1) {\n return function (s2) {\n var result = s1.localeCompare(s2);\n return result < 0 ? lt : result > 0 ? gt : eq;\n };\n };\n };\n };\n};\n\nexport const replace = function (s1) {\n return function (s2) {\n return function (s3) {\n return s3.replace(s1, s2);\n };\n };\n};\n\nexport const replaceAll = function (s1) {\n return function (s2) {\n return function (s3) {\n return s3.replace(new RegExp(s1.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\"), \"g\"), s2); // eslint-disable-line no-useless-escape\n };\n };\n};\n\nexport const split = function (sep) {\n return function (s) {\n return s.split(sep);\n };\n};\n\nexport const toLower = function (s) {\n return s.toLowerCase();\n};\n\nexport const toUpper = function (s) {\n return s.toUpperCase();\n};\n\nexport const trim = function (s) {\n return s.trim();\n};\n\nexport const joinWith = function (s) {\n return function (xs) {\n return xs.join(s);\n };\n};\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Data_Ordering from \"../Data.Ordering/index.js\";\nvar $$null = function (s) {\n return s === \"\";\n};\nvar localeCompare = /* #__PURE__ */ (function () {\n return $foreign[\"_localeCompare\"](Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value);\n})();\nexport {\n replace,\n replaceAll,\n split,\n toLower,\n toUpper,\n trim,\n joinWith\n} from \"./foreign.js\";\nexport {\n $$null as null,\n localeCompare\n};\n", "// A helper which transforms the result ofencodeURIComponent to be compliant\n// with RFC3896, as described in the MDN documentation here:\n//\n// https://web.archive.org/web/20201206001047/https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent\nfunction toRFC3896(input) {\n return input.replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16);\n });\n}\n\nexport const _encodeURIComponent = function encode(fail, succeed, input) {\n try {\n return succeed(toRFC3896(encodeURIComponent(input)));\n } catch (err) {\n return fail(err);\n }\n};\n\nexport const _encodeFormURLComponent = function encode(fail, succeed, input) {\n try {\n return succeed(toRFC3896(encodeURIComponent(input)).replace(/%20/g, \"+\"));\n } catch (err) {\n return fail(err);\n }\n};\n\nfunction _decodeURIComponent(fail, succeed, input) {\n try {\n return succeed(decodeURIComponent(input));\n } catch (err) {\n return fail(err);\n }\n}\n\nexport {_decodeURIComponent};\n\nexport const _decodeFormURLComponent = function encode(fail, succeed, input) {\n return _decodeURIComponent(fail, succeed, input.replace(/\\+/g, \" \"));\n};\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Function_Uncurried from \"../Data.Function.Uncurried/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nvar $$encodeURIComponent = /* #__PURE__ */ (function () {\n return Data_Function_Uncurried.runFn3($foreign[\"_encodeURIComponent\"])(Data_Function[\"const\"](Data_Maybe.Nothing.value))(Data_Maybe.Just.create);\n})();\nvar encodeFormURLComponent = /* #__PURE__ */ (function () {\n return Data_Function_Uncurried.runFn3($foreign[\"_encodeFormURLComponent\"])(Data_Function[\"const\"](Data_Maybe.Nothing.value))(Data_Maybe.Just.create);\n})();\nvar $$decodeURIComponent = /* #__PURE__ */ (function () {\n return Data_Function_Uncurried.runFn3($foreign[\"_decodeURIComponent\"])(Data_Function[\"const\"](Data_Maybe.Nothing.value))(Data_Maybe.Just.create);\n})();\nvar decodeFormURLComponent = /* #__PURE__ */ (function () {\n return Data_Function_Uncurried.runFn3($foreign[\"_decodeFormURLComponent\"])(Data_Function[\"const\"](Data_Maybe.Nothing.value))(Data_Maybe.Just.create);\n})();\nexport {\n $$encodeURIComponent as encodeURIComponent,\n encodeFormURLComponent,\n $$decodeURIComponent as decodeURIComponent,\n decodeFormURLComponent\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Apply from \"../Control.Apply/index.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Monoid from \"../Data.Monoid/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Semigroup from \"../Data.Semigroup/index.js\";\nimport * as Data_Show from \"../Data.Show/index.js\";\nimport * as Data_String_Common from \"../Data.String.Common/index.js\";\nimport * as Data_Traversable from \"../Data.Traversable/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nimport * as JSURI from \"../JSURI/index.js\";\nvar FormURLEncoded = function (x) {\n return x;\n};\nvar toArray = function (v) {\n return v;\n};\nvar showFormUrlEncoded = {\n show: function (v) {\n return \"(FormURLEncoded \" + (Data_Show.show(Data_Show.showArray(Data_Tuple.showTuple(Data_Show.showString)(Data_Maybe.showMaybe(Data_Show.showString))))(v) + \")\");\n }\n};\nvar semigroupFormUrlEncoded = Data_Semigroup.semigroupArray;\nvar ordFormUrlEncoded = /* #__PURE__ */ Data_Ord.ordArray(/* #__PURE__ */ Data_Tuple.ordTuple(Data_Ord.ordString)(/* #__PURE__ */ Data_Maybe.ordMaybe(Data_Ord.ordString)));\nvar newtypeFormUrlEncoded = {\n Coercible0: function () {\n return undefined;\n }\n};\nvar monoidFormUrlEncoded = Data_Monoid.monoidArray;\nvar fromArray = FormURLEncoded;\nvar eqFormUrlEncoded = /* #__PURE__ */ Data_Eq.eqArray(/* #__PURE__ */ Data_Tuple.eqTuple(Data_Eq.eqString)(/* #__PURE__ */ Data_Maybe.eqMaybe(Data_Eq.eqString)));\nvar encode = /* #__PURE__ */ (function () {\n var encodePart = function (v) {\n if (v.value1 instanceof Data_Maybe.Nothing) {\n return JSURI.encodeFormURLComponent(v.value0);\n };\n if (v.value1 instanceof Data_Maybe.Just) {\n return Control_Apply.apply(Data_Maybe.applyMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(function (key) {\n return function (val) {\n return key + (\"=\" + val);\n };\n })(JSURI.encodeFormURLComponent(v.value0)))(JSURI.encodeFormURLComponent(v.value1.value0));\n };\n throw new Error(\"Failed pattern match at Data.FormURLEncoded (line 37, column 16 - line 39, column 114): \" + [ v.constructor.name ]);\n };\n var $16 = Data_Functor.map(Data_Maybe.functorMaybe)(Data_String_Common.joinWith(\"&\"));\n var $17 = Data_Traversable.traverse(Data_Traversable.traversableArray)(Data_Maybe.applicativeMaybe)(encodePart);\n return function ($18) {\n return $16($17(toArray($18)));\n };\n})();\nvar decode = /* #__PURE__ */ (function () {\n var decodePart = (function () {\n var $19 = Data_String_Common.split(\"=\");\n return function ($20) {\n return (function (v) {\n if (v.length === 2) {\n return Control_Apply.apply(Data_Maybe.applyMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(function (key) {\n return function (val) {\n return new Data_Tuple.Tuple(key, new Data_Maybe.Just(val));\n };\n })(JSURI.decodeFormURLComponent(v[0])))(JSURI.decodeFormURLComponent(v[1]));\n };\n if (v.length === 1) {\n return Control_Apply.apply(Data_Maybe.applyMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Tuple.Tuple.create)(JSURI.decodeFormURLComponent(v[0])))(Control_Applicative.pure(Data_Maybe.applicativeMaybe)(Data_Maybe.Nothing.value));\n };\n return Data_Maybe.Nothing.value;\n })($19($20));\n };\n })();\n var $21 = Data_Functor.map(Data_Maybe.functorMaybe)(FormURLEncoded);\n var $22 = Data_Traversable.traverse(Data_Traversable.traversableArray)(Data_Maybe.applicativeMaybe)(decodePart);\n var $23 = Data_String_Common.split(\"&\");\n return function ($24) {\n return $21($22($23($24)));\n };\n})();\nexport {\n FormURLEncoded,\n fromArray,\n toArray,\n encode,\n decode,\n newtypeFormUrlEncoded,\n eqFormUrlEncoded,\n ordFormUrlEncoded,\n semigroupFormUrlEncoded,\n monoidFormUrlEncoded,\n showFormUrlEncoded\n};\n", "// Generated by purs version 0.15.2\nimport * as Data_Either from \"../Data.Either/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Ordering from \"../Data.Ordering/index.js\";\nimport * as Data_Show from \"../Data.Show/index.js\";\nimport * as Data_String_Common from \"../Data.String.Common/index.js\";\nvar OPTIONS = /* #__PURE__ */ (function () {\n function OPTIONS() {\n\n };\n OPTIONS.value = new OPTIONS();\n return OPTIONS;\n})();\nvar GET = /* #__PURE__ */ (function () {\n function GET() {\n\n };\n GET.value = new GET();\n return GET;\n})();\nvar HEAD = /* #__PURE__ */ (function () {\n function HEAD() {\n\n };\n HEAD.value = new HEAD();\n return HEAD;\n})();\nvar POST = /* #__PURE__ */ (function () {\n function POST() {\n\n };\n POST.value = new POST();\n return POST;\n})();\nvar PUT = /* #__PURE__ */ (function () {\n function PUT() {\n\n };\n PUT.value = new PUT();\n return PUT;\n})();\nvar DELETE = /* #__PURE__ */ (function () {\n function DELETE() {\n\n };\n DELETE.value = new DELETE();\n return DELETE;\n})();\nvar TRACE = /* #__PURE__ */ (function () {\n function TRACE() {\n\n };\n TRACE.value = new TRACE();\n return TRACE;\n})();\nvar CONNECT = /* #__PURE__ */ (function () {\n function CONNECT() {\n\n };\n CONNECT.value = new CONNECT();\n return CONNECT;\n})();\nvar PROPFIND = /* #__PURE__ */ (function () {\n function PROPFIND() {\n\n };\n PROPFIND.value = new PROPFIND();\n return PROPFIND;\n})();\nvar PROPPATCH = /* #__PURE__ */ (function () {\n function PROPPATCH() {\n\n };\n PROPPATCH.value = new PROPPATCH();\n return PROPPATCH;\n})();\nvar MKCOL = /* #__PURE__ */ (function () {\n function MKCOL() {\n\n };\n MKCOL.value = new MKCOL();\n return MKCOL;\n})();\nvar COPY = /* #__PURE__ */ (function () {\n function COPY() {\n\n };\n COPY.value = new COPY();\n return COPY;\n})();\nvar MOVE = /* #__PURE__ */ (function () {\n function MOVE() {\n\n };\n MOVE.value = new MOVE();\n return MOVE;\n})();\nvar LOCK = /* #__PURE__ */ (function () {\n function LOCK() {\n\n };\n LOCK.value = new LOCK();\n return LOCK;\n})();\nvar UNLOCK = /* #__PURE__ */ (function () {\n function UNLOCK() {\n\n };\n UNLOCK.value = new UNLOCK();\n return UNLOCK;\n})();\nvar PATCH = /* #__PURE__ */ (function () {\n function PATCH() {\n\n };\n PATCH.value = new PATCH();\n return PATCH;\n})();\nvar CustomMethod = function (x) {\n return x;\n};\nvar unCustomMethod = function (v) {\n return v;\n};\nvar showMethod = {\n show: function (v) {\n if (v instanceof OPTIONS) {\n return \"OPTIONS\";\n };\n if (v instanceof GET) {\n return \"GET\";\n };\n if (v instanceof HEAD) {\n return \"HEAD\";\n };\n if (v instanceof POST) {\n return \"POST\";\n };\n if (v instanceof PUT) {\n return \"PUT\";\n };\n if (v instanceof DELETE) {\n return \"DELETE\";\n };\n if (v instanceof TRACE) {\n return \"TRACE\";\n };\n if (v instanceof CONNECT) {\n return \"CONNECT\";\n };\n if (v instanceof PROPFIND) {\n return \"PROPFIND\";\n };\n if (v instanceof PROPPATCH) {\n return \"PROPPATCH\";\n };\n if (v instanceof MKCOL) {\n return \"MKCOL\";\n };\n if (v instanceof COPY) {\n return \"COPY\";\n };\n if (v instanceof MOVE) {\n return \"MOVE\";\n };\n if (v instanceof LOCK) {\n return \"LOCK\";\n };\n if (v instanceof UNLOCK) {\n return \"UNLOCK\";\n };\n if (v instanceof PATCH) {\n return \"PATCH\";\n };\n throw new Error(\"Failed pattern match at Data.HTTP.Method (line 43, column 1 - line 59, column 23): \" + [ v.constructor.name ]);\n }\n};\nvar showCustomMethod = {\n show: function (v) {\n return \"(CustomMethod \" + (Data_Show.show(Data_Show.showString)(v) + \")\");\n }\n};\nvar print = /* #__PURE__ */ Data_Either.either(/* #__PURE__ */ Data_Show.show(showMethod))(unCustomMethod);\nvar parse = function (handleMethod) {\n return function (handleUnknown) {\n return function (s) {\n var v = Data_String_Common.toUpper(s);\n if (v === \"OPTIONS\") {\n return handleMethod(OPTIONS.value);\n };\n if (v === \"GET\") {\n return handleMethod(GET.value);\n };\n if (v === \"HEAD\") {\n return handleMethod(HEAD.value);\n };\n if (v === \"POST\") {\n return handleMethod(POST.value);\n };\n if (v === \"PUT\") {\n return handleMethod(PUT.value);\n };\n if (v === \"DELETE\") {\n return handleMethod(DELETE.value);\n };\n if (v === \"TRACE\") {\n return handleMethod(TRACE.value);\n };\n if (v === \"CONNECT\") {\n return handleMethod(CONNECT.value);\n };\n if (v === \"PROPFIND\") {\n return handleMethod(PROPFIND.value);\n };\n if (v === \"PROPPATCH\") {\n return handleMethod(PROPPATCH.value);\n };\n if (v === \"MKCOL\") {\n return handleMethod(MKCOL.value);\n };\n if (v === \"COPY\") {\n return handleMethod(COPY.value);\n };\n if (v === \"MOVE\") {\n return handleMethod(MOVE.value);\n };\n if (v === \"LOCK\") {\n return handleMethod(LOCK.value);\n };\n if (v === \"UNLOCK\") {\n return handleMethod(UNLOCK.value);\n };\n if (v === \"PATCH\") {\n return handleMethod(PATCH.value);\n };\n return handleUnknown(v);\n };\n };\n};\nvar fromString = /* #__PURE__ */ (function () {\n return parse(Data_Either.Left.create)(function ($28) {\n return Data_Either.Right.create(CustomMethod($28));\n });\n})();\nvar eqMethod = {\n eq: function (x) {\n return function (y) {\n if (x instanceof OPTIONS && y instanceof OPTIONS) {\n return true;\n };\n if (x instanceof GET && y instanceof GET) {\n return true;\n };\n if (x instanceof HEAD && y instanceof HEAD) {\n return true;\n };\n if (x instanceof POST && y instanceof POST) {\n return true;\n };\n if (x instanceof PUT && y instanceof PUT) {\n return true;\n };\n if (x instanceof DELETE && y instanceof DELETE) {\n return true;\n };\n if (x instanceof TRACE && y instanceof TRACE) {\n return true;\n };\n if (x instanceof CONNECT && y instanceof CONNECT) {\n return true;\n };\n if (x instanceof PROPFIND && y instanceof PROPFIND) {\n return true;\n };\n if (x instanceof PROPPATCH && y instanceof PROPPATCH) {\n return true;\n };\n if (x instanceof MKCOL && y instanceof MKCOL) {\n return true;\n };\n if (x instanceof COPY && y instanceof COPY) {\n return true;\n };\n if (x instanceof MOVE && y instanceof MOVE) {\n return true;\n };\n if (x instanceof LOCK && y instanceof LOCK) {\n return true;\n };\n if (x instanceof UNLOCK && y instanceof UNLOCK) {\n return true;\n };\n if (x instanceof PATCH && y instanceof PATCH) {\n return true;\n };\n return false;\n };\n }\n};\nvar ordMethod = {\n compare: function (x) {\n return function (y) {\n if (x instanceof OPTIONS && y instanceof OPTIONS) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof OPTIONS) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof OPTIONS) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof GET && y instanceof GET) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof GET) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof GET) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof HEAD && y instanceof HEAD) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof HEAD) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof HEAD) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof POST && y instanceof POST) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof POST) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof POST) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof PUT && y instanceof PUT) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof PUT) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof PUT) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof DELETE && y instanceof DELETE) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof DELETE) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof DELETE) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof TRACE && y instanceof TRACE) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof TRACE) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof TRACE) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof CONNECT && y instanceof CONNECT) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof CONNECT) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof CONNECT) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof PROPFIND && y instanceof PROPFIND) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof PROPFIND) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof PROPFIND) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof PROPPATCH && y instanceof PROPPATCH) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof PROPPATCH) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof PROPPATCH) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof MKCOL && y instanceof MKCOL) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof MKCOL) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof MKCOL) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof COPY && y instanceof COPY) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof COPY) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof COPY) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof MOVE && y instanceof MOVE) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof MOVE) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof MOVE) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof LOCK && y instanceof LOCK) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof LOCK) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof LOCK) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof UNLOCK && y instanceof UNLOCK) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof UNLOCK) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof UNLOCK) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof PATCH && y instanceof PATCH) {\n return Data_Ordering.EQ.value;\n };\n throw new Error(\"Failed pattern match at Data.HTTP.Method (line 0, column 0 - line 0, column 0): \" + [ x.constructor.name, y.constructor.name ]);\n };\n },\n Eq0: function () {\n return eqMethod;\n }\n};\nvar eqCustomMethod = {\n eq: function (x) {\n return function (y) {\n return x === y;\n };\n }\n};\nvar ordCustomMethod = {\n compare: function (x) {\n return function (y) {\n return Data_Ord.compare(Data_Ord.ordString)(x)(y);\n };\n },\n Eq0: function () {\n return eqCustomMethod;\n }\n};\nexport {\n OPTIONS,\n GET,\n HEAD,\n POST,\n PUT,\n DELETE,\n TRACE,\n CONNECT,\n PROPFIND,\n PROPPATCH,\n MKCOL,\n COPY,\n MOVE,\n LOCK,\n UNLOCK,\n PATCH,\n unCustomMethod,\n fromString,\n print,\n eqMethod,\n ordMethod,\n showMethod,\n eqCustomMethod,\n ordCustomMethod,\n showCustomMethod\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Alt from \"../Control.Alt/index.js\";\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Apply from \"../Control.Apply/index.js\";\nimport * as Control_Plus from \"../Control.Plus/index.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Foldable from \"../Data.Foldable/index.js\";\nimport * as Data_FoldableWithIndex from \"../Data.FoldableWithIndex/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_FunctorWithIndex from \"../Data.FunctorWithIndex/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Ordering from \"../Data.Ordering/index.js\";\nimport * as Data_Semigroup from \"../Data.Semigroup/index.js\";\nimport * as Data_Semigroup_Foldable from \"../Data.Semigroup.Foldable/index.js\";\nimport * as Data_Show from \"../Data.Show/index.js\";\nimport * as Data_Traversable from \"../Data.Traversable/index.js\";\nimport * as Data_TraversableWithIndex from \"../Data.TraversableWithIndex/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nimport * as Data_Unfoldable from \"../Data.Unfoldable/index.js\";\nvar NonEmpty = /* #__PURE__ */ (function () {\n function NonEmpty(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NonEmpty.create = function (value0) {\n return function (value1) {\n return new NonEmpty(value0, value1);\n };\n };\n return NonEmpty;\n})();\nvar unfoldable1NonEmpty = function (dictUnfoldable) {\n return {\n unfoldr1: function (f) {\n return function (b) {\n return Data_Tuple.uncurry(NonEmpty.create)(Data_Functor.map(Data_Tuple.functorTuple)(Data_Unfoldable.unfoldr(dictUnfoldable)(Data_Functor.map(Data_Maybe.functorMaybe)(f)))(f(b)));\n };\n }\n };\n};\nvar tail = function (v) {\n return v.value1;\n};\nvar singleton = function (dictPlus) {\n return function (a) {\n return new NonEmpty(a, Control_Plus.empty(dictPlus));\n };\n};\nvar showNonEmpty = function (dictShow) {\n return function (dictShow1) {\n return {\n show: function (v) {\n return \"(NonEmpty \" + (Data_Show.show(dictShow)(v.value0) + (\" \" + (Data_Show.show(dictShow1)(v.value1) + \")\")));\n }\n };\n };\n};\nvar semigroupNonEmpty = function (dictApplicative) {\n return function (dictSemigroup) {\n return {\n append: function (v) {\n return function (v1) {\n return new NonEmpty(v.value0, Data_Semigroup.append(dictSemigroup)(v.value1)(Data_Semigroup.append(dictSemigroup)(Control_Applicative.pure(dictApplicative)(v1.value0))(v1.value1)));\n };\n }\n };\n };\n};\nvar oneOf = function (dictAlternative) {\n return function (v) {\n return Control_Alt.alt((dictAlternative.Plus1()).Alt0())(Control_Applicative.pure(dictAlternative.Applicative0())(v.value0))(v.value1);\n };\n};\nvar head = function (v) {\n return v.value0;\n};\nvar functorNonEmpty = function (dictFunctor) {\n return {\n map: function (f) {\n return function (m) {\n return new NonEmpty(f(m.value0), Data_Functor.map(dictFunctor)(f)(m.value1));\n };\n }\n };\n};\nvar functorWithIndex = function (dictFunctorWithIndex) {\n return {\n mapWithIndex: function (f) {\n return function (v) {\n return new NonEmpty(f(Data_Maybe.Nothing.value)(v.value0), Data_FunctorWithIndex.mapWithIndex(dictFunctorWithIndex)(function ($159) {\n return f(Data_Maybe.Just.create($159));\n })(v.value1));\n };\n },\n Functor0: function () {\n return functorNonEmpty(dictFunctorWithIndex.Functor0());\n }\n };\n};\nvar fromNonEmpty = function (f) {\n return function (v) {\n return f(v.value0)(v.value1);\n };\n};\nvar foldableNonEmpty = function (dictFoldable) {\n return {\n foldMap: function (dictMonoid) {\n return function (f) {\n return function (v) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(f(v.value0))(Data_Foldable.foldMap(dictFoldable)(dictMonoid)(f)(v.value1));\n };\n };\n },\n foldl: function (f) {\n return function (b) {\n return function (v) {\n return Data_Foldable.foldl(dictFoldable)(f)(f(b)(v.value0))(v.value1);\n };\n };\n },\n foldr: function (f) {\n return function (b) {\n return function (v) {\n return f(v.value0)(Data_Foldable.foldr(dictFoldable)(f)(b)(v.value1));\n };\n };\n }\n };\n};\nvar foldableWithIndexNonEmpty = function (dictFoldableWithIndex) {\n return {\n foldMapWithIndex: function (dictMonoid) {\n return function (f) {\n return function (v) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(f(Data_Maybe.Nothing.value)(v.value0))(Data_FoldableWithIndex.foldMapWithIndex(dictFoldableWithIndex)(dictMonoid)(function ($160) {\n return f(Data_Maybe.Just.create($160));\n })(v.value1));\n };\n };\n },\n foldlWithIndex: function (f) {\n return function (b) {\n return function (v) {\n return Data_FoldableWithIndex.foldlWithIndex(dictFoldableWithIndex)(function ($161) {\n return f(Data_Maybe.Just.create($161));\n })(f(Data_Maybe.Nothing.value)(b)(v.value0))(v.value1);\n };\n };\n },\n foldrWithIndex: function (f) {\n return function (b) {\n return function (v) {\n return f(Data_Maybe.Nothing.value)(v.value0)(Data_FoldableWithIndex.foldrWithIndex(dictFoldableWithIndex)(function ($162) {\n return f(Data_Maybe.Just.create($162));\n })(b)(v.value1));\n };\n };\n },\n Foldable0: function () {\n return foldableNonEmpty(dictFoldableWithIndex.Foldable0());\n }\n };\n};\nvar traversableNonEmpty = function (dictTraversable) {\n return {\n sequence: function (dictApplicative) {\n return function (v) {\n return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(NonEmpty.create)(v.value0))(Data_Traversable.sequence(dictTraversable)(dictApplicative)(v.value1));\n };\n },\n traverse: function (dictApplicative) {\n return function (f) {\n return function (v) {\n return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(NonEmpty.create)(f(v.value0)))(Data_Traversable.traverse(dictTraversable)(dictApplicative)(f)(v.value1));\n };\n };\n },\n Functor0: function () {\n return functorNonEmpty(dictTraversable.Functor0());\n },\n Foldable1: function () {\n return foldableNonEmpty(dictTraversable.Foldable1());\n }\n };\n};\nvar traversableWithIndexNonEmpty = function (dictTraversableWithIndex) {\n return {\n traverseWithIndex: function (dictApplicative) {\n return function (f) {\n return function (v) {\n return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(NonEmpty.create)(f(Data_Maybe.Nothing.value)(v.value0)))(Data_TraversableWithIndex.traverseWithIndex(dictTraversableWithIndex)(dictApplicative)(function ($163) {\n return f(Data_Maybe.Just.create($163));\n })(v.value1));\n };\n };\n },\n FunctorWithIndex0: function () {\n return functorWithIndex(dictTraversableWithIndex.FunctorWithIndex0());\n },\n FoldableWithIndex1: function () {\n return foldableWithIndexNonEmpty(dictTraversableWithIndex.FoldableWithIndex1());\n },\n Traversable2: function () {\n return traversableNonEmpty(dictTraversableWithIndex.Traversable2());\n }\n };\n};\nvar foldable1NonEmpty = function (dictFoldable) {\n return {\n foldMap1: function (dictSemigroup) {\n return function (f) {\n return function (v) {\n return Data_Foldable.foldl(dictFoldable)(function (s) {\n return function (a1) {\n return Data_Semigroup.append(dictSemigroup)(s)(f(a1));\n };\n })(f(v.value0))(v.value1);\n };\n };\n },\n foldr1: function (f) {\n return function (v) {\n return Data_Maybe.maybe(v.value0)(f(v.value0))(Data_Foldable.foldr(dictFoldable)(function (a1) {\n var $164 = Data_Maybe.maybe(a1)(f(a1));\n return function ($165) {\n return Data_Maybe.Just.create($164($165));\n };\n })(Data_Maybe.Nothing.value)(v.value1));\n };\n },\n foldl1: function (f) {\n return function (v) {\n return Data_Foldable.foldl(dictFoldable)(f)(v.value0)(v.value1);\n };\n },\n Foldable0: function () {\n return foldableNonEmpty(dictFoldable);\n }\n };\n};\nvar foldl1 = function (dictFoldable) {\n return Data_Semigroup_Foldable.foldl1(foldable1NonEmpty(dictFoldable));\n};\nvar eqNonEmpty = function (dictEq1) {\n return function (dictEq) {\n return {\n eq: function (x) {\n return function (y) {\n return Data_Eq.eq(dictEq)(x.value0)(y.value0) && Data_Eq.eq1(dictEq1)(dictEq)(x.value1)(y.value1);\n };\n }\n };\n };\n};\nvar ordNonEmpty = function (dictOrd1) {\n return function (dictOrd) {\n return {\n compare: function (x) {\n return function (y) {\n var v = Data_Ord.compare(dictOrd)(x.value0)(y.value0);\n if (v instanceof Data_Ordering.LT) {\n return Data_Ordering.LT.value;\n };\n if (v instanceof Data_Ordering.GT) {\n return Data_Ordering.GT.value;\n };\n return Data_Ord.compare1(dictOrd1)(dictOrd)(x.value1)(y.value1);\n };\n },\n Eq0: function () {\n return eqNonEmpty(dictOrd1.Eq10())(dictOrd.Eq0());\n }\n };\n };\n};\nvar eq1NonEmpty = function (dictEq1) {\n return {\n eq1: function (dictEq) {\n return Data_Eq.eq(eqNonEmpty(dictEq1)(dictEq));\n }\n };\n};\nvar ord1NonEmpty = function (dictOrd1) {\n return {\n compare1: function (dictOrd) {\n return Data_Ord.compare(ordNonEmpty(dictOrd1)(dictOrd));\n },\n Eq10: function () {\n return eq1NonEmpty(dictOrd1.Eq10());\n }\n };\n};\nexport {\n NonEmpty,\n singleton,\n foldl1,\n fromNonEmpty,\n oneOf,\n head,\n tail,\n showNonEmpty,\n eqNonEmpty,\n eq1NonEmpty,\n ordNonEmpty,\n ord1NonEmpty,\n functorNonEmpty,\n functorWithIndex,\n foldableNonEmpty,\n foldableWithIndexNonEmpty,\n traversableNonEmpty,\n traversableWithIndexNonEmpty,\n foldable1NonEmpty,\n unfoldable1NonEmpty,\n semigroupNonEmpty\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Apply from \"../Control.Apply/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Foldable from \"../Data.Foldable/index.js\";\nimport * as Data_FoldableWithIndex from \"../Data.FoldableWithIndex/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_FunctorWithIndex from \"../Data.FunctorWithIndex/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Monoid from \"../Data.Monoid/index.js\";\nimport * as Data_NonEmpty from \"../Data.NonEmpty/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Ordering from \"../Data.Ordering/index.js\";\nimport * as Data_Semigroup from \"../Data.Semigroup/index.js\";\nimport * as Data_Semigroup_Traversable from \"../Data.Semigroup.Traversable/index.js\";\nimport * as Data_Semiring from \"../Data.Semiring/index.js\";\nimport * as Data_Show from \"../Data.Show/index.js\";\nimport * as Data_Traversable from \"../Data.Traversable/index.js\";\nimport * as Data_TraversableWithIndex from \"../Data.TraversableWithIndex/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nvar Nil = /* #__PURE__ */ (function () {\n function Nil() {\n\n };\n Nil.value = new Nil();\n return Nil;\n})();\nvar Cons = /* #__PURE__ */ (function () {\n function Cons(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Cons.create = function (value0) {\n return function (value1) {\n return new Cons(value0, value1);\n };\n };\n return Cons;\n})();\nvar NonEmptyList = function (x) {\n return x;\n};\nvar toList = function (v) {\n return new Cons(v.value0, v.value1);\n};\nvar newtypeNonEmptyList = {\n Coercible0: function () {\n return undefined;\n }\n};\nvar nelCons = function (a) {\n return function (v) {\n return new Data_NonEmpty.NonEmpty(a, new Cons(v.value0, v.value1));\n };\n};\nvar listMap = function (f) {\n var chunkedRevMap = function ($copy_chunksAcc) {\n return function ($copy_v) {\n var $tco_var_chunksAcc = $copy_chunksAcc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(chunksAcc, v) {\n if (v instanceof Cons && (v.value1 instanceof Cons && v.value1.value1 instanceof Cons)) {\n $tco_var_chunksAcc = new Cons(v, chunksAcc);\n $copy_v = v.value1.value1.value1;\n return;\n };\n var unrolledMap = function (v1) {\n if (v1 instanceof Cons && (v1.value1 instanceof Cons && v1.value1.value1 instanceof Nil)) {\n return new Cons(f(v1.value0), new Cons(f(v1.value1.value0), Nil.value));\n };\n if (v1 instanceof Cons && v1.value1 instanceof Nil) {\n return new Cons(f(v1.value0), Nil.value);\n };\n return Nil.value;\n };\n var reverseUnrolledMap = function ($copy_v1) {\n return function ($copy_acc) {\n var $tco_var_v1 = $copy_v1;\n var $tco_done1 = false;\n var $tco_result;\n function $tco_loop(v1, acc) {\n if (v1 instanceof Cons && (v1.value0 instanceof Cons && (v1.value0.value1 instanceof Cons && v1.value0.value1.value1 instanceof Cons))) {\n $tco_var_v1 = v1.value1;\n $copy_acc = new Cons(f(v1.value0.value0), new Cons(f(v1.value0.value1.value0), new Cons(f(v1.value0.value1.value1.value0), acc)));\n return;\n };\n $tco_done1 = true;\n return acc;\n };\n while (!$tco_done1) {\n $tco_result = $tco_loop($tco_var_v1, $copy_acc);\n };\n return $tco_result;\n };\n };\n $tco_done = true;\n return reverseUnrolledMap(chunksAcc)(unrolledMap(v));\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_chunksAcc, $copy_v);\n };\n return $tco_result;\n };\n };\n return chunkedRevMap(Nil.value);\n};\nvar functorList = {\n map: listMap\n};\nvar functorNonEmptyList = /* #__PURE__ */ Data_NonEmpty.functorNonEmpty(functorList);\nvar foldableList = {\n foldr: function (f) {\n return function (b) {\n var rev = (function () {\n var go = function ($copy_acc) {\n return function ($copy_v) {\n var $tco_var_acc = $copy_acc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(acc, v) {\n if (v instanceof Nil) {\n $tco_done = true;\n return acc;\n };\n if (v instanceof Cons) {\n $tco_var_acc = new Cons(v.value0, acc);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 107, column 7 - line 107, column 23): \" + [ acc.constructor.name, v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_acc, $copy_v);\n };\n return $tco_result;\n };\n };\n return go(Nil.value);\n })();\n var $205 = Data_Foldable.foldl(foldableList)(Data_Function.flip(f))(b);\n return function ($206) {\n return $205(rev($206));\n };\n };\n },\n foldl: function (f) {\n var go = function ($copy_b) {\n return function ($copy_v) {\n var $tco_var_b = $copy_b;\n var $tco_done1 = false;\n var $tco_result;\n function $tco_loop(b, v) {\n if (v instanceof Nil) {\n $tco_done1 = true;\n return b;\n };\n if (v instanceof Cons) {\n $tco_var_b = f(b)(v.value0);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 111, column 12 - line 113, column 30): \" + [ v.constructor.name ]);\n };\n while (!$tco_done1) {\n $tco_result = $tco_loop($tco_var_b, $copy_v);\n };\n return $tco_result;\n };\n };\n return go;\n },\n foldMap: function (dictMonoid) {\n return function (f) {\n return Data_Foldable.foldl(foldableList)(function (acc) {\n var $207 = Data_Semigroup.append(dictMonoid.Semigroup0())(acc);\n return function ($208) {\n return $207(f($208));\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n }\n};\nvar foldableNonEmptyList = /* #__PURE__ */ Data_NonEmpty.foldableNonEmpty(foldableList);\nvar foldableWithIndexList = {\n foldrWithIndex: function (f) {\n return function (b) {\n return function (xs) {\n var v = (function () {\n var rev = Data_Foldable.foldl(foldableList)(function (v1) {\n return function (a) {\n return new Data_Tuple.Tuple(v1.value0 + 1 | 0, new Cons(a, v1.value1));\n };\n });\n return rev(new Data_Tuple.Tuple(0, Nil.value))(xs);\n })();\n return Data_Tuple.snd(Data_Foldable.foldl(foldableList)(function (v1) {\n return function (a) {\n return new Data_Tuple.Tuple(v1.value0 - 1 | 0, f(v1.value0 - 1 | 0)(a)(v1.value1));\n };\n })(new Data_Tuple.Tuple(v.value0, b))(v.value1));\n };\n };\n },\n foldlWithIndex: function (f) {\n return function (acc) {\n var $209 = Data_Foldable.foldl(foldableList)(function (v) {\n return function (a) {\n return new Data_Tuple.Tuple(v.value0 + 1 | 0, f(v.value0)(v.value1)(a));\n };\n })(new Data_Tuple.Tuple(0, acc));\n return function ($210) {\n return Data_Tuple.snd($209($210));\n };\n };\n },\n foldMapWithIndex: function (dictMonoid) {\n return function (f) {\n return Data_FoldableWithIndex.foldlWithIndex(foldableWithIndexList)(function (i) {\n return function (acc) {\n var $211 = Data_Semigroup.append(dictMonoid.Semigroup0())(acc);\n var $212 = f(i);\n return function ($213) {\n return $211($212($213));\n };\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n },\n Foldable0: function () {\n return foldableList;\n }\n};\nvar foldableWithIndexNonEmptyList = {\n foldMapWithIndex: function (dictMonoid) {\n return function (f) {\n return function (v) {\n return Data_FoldableWithIndex.foldMapWithIndex(Data_NonEmpty.foldableWithIndexNonEmpty(foldableWithIndexList))(dictMonoid)((function () {\n var $214 = Data_Maybe.maybe(0)(Data_Semiring.add(Data_Semiring.semiringInt)(1));\n return function ($215) {\n return f($214($215));\n };\n })())(v);\n };\n };\n },\n foldlWithIndex: function (f) {\n return function (b) {\n return function (v) {\n return Data_FoldableWithIndex.foldlWithIndex(Data_NonEmpty.foldableWithIndexNonEmpty(foldableWithIndexList))((function () {\n var $216 = Data_Maybe.maybe(0)(Data_Semiring.add(Data_Semiring.semiringInt)(1));\n return function ($217) {\n return f($216($217));\n };\n })())(b)(v);\n };\n };\n },\n foldrWithIndex: function (f) {\n return function (b) {\n return function (v) {\n return Data_FoldableWithIndex.foldrWithIndex(Data_NonEmpty.foldableWithIndexNonEmpty(foldableWithIndexList))((function () {\n var $218 = Data_Maybe.maybe(0)(Data_Semiring.add(Data_Semiring.semiringInt)(1));\n return function ($219) {\n return f($218($219));\n };\n })())(b)(v);\n };\n };\n },\n Foldable0: function () {\n return foldableNonEmptyList;\n }\n};\nvar functorWithIndexList = {\n mapWithIndex: function (f) {\n return Data_FoldableWithIndex.foldrWithIndex(foldableWithIndexList)(function (i) {\n return function (x) {\n return function (acc) {\n return new Cons(f(i)(x), acc);\n };\n };\n })(Nil.value);\n },\n Functor0: function () {\n return functorList;\n }\n};\nvar functorWithIndexNonEmptyList = {\n mapWithIndex: function (fn) {\n return function (v) {\n return Data_FunctorWithIndex.mapWithIndex(Data_NonEmpty.functorWithIndex(functorWithIndexList))((function () {\n var $220 = Data_Maybe.maybe(0)(Data_Semiring.add(Data_Semiring.semiringInt)(1));\n return function ($221) {\n return fn($220($221));\n };\n })())(v);\n };\n },\n Functor0: function () {\n return functorNonEmptyList;\n }\n};\nvar semigroupList = {\n append: function (xs) {\n return function (ys) {\n return Data_Foldable.foldr(foldableList)(Cons.create)(ys)(xs);\n };\n }\n};\nvar monoidList = /* #__PURE__ */ (function () {\n return {\n mempty: Nil.value,\n Semigroup0: function () {\n return semigroupList;\n }\n };\n})();\nvar semigroupNonEmptyList = {\n append: function (v) {\n return function (as$prime) {\n return new Data_NonEmpty.NonEmpty(v.value0, Data_Semigroup.append(semigroupList)(v.value1)(toList(as$prime)));\n };\n }\n};\nvar showList = function (dictShow) {\n return {\n show: function (v) {\n if (v instanceof Nil) {\n return \"Nil\";\n };\n return \"(\" + (Data_Foldable.intercalate(foldableList)(Data_Monoid.monoidString)(\" : \")(Data_Functor.map(functorList)(Data_Show.show(dictShow))(v)) + \" : Nil)\");\n }\n };\n};\nvar showNonEmptyList = function (dictShow) {\n return {\n show: function (v) {\n return \"(NonEmptyList \" + (Data_Show.show(Data_NonEmpty.showNonEmpty(dictShow)(showList(dictShow)))(v) + \")\");\n }\n };\n};\nvar traversableList = {\n traverse: function (dictApplicative) {\n return function (f) {\n var $222 = Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Foldable.foldl(foldableList)(Data_Function.flip(Cons.create))(Nil.value));\n var $223 = Data_Foldable.foldl(foldableList)(function (acc) {\n var $225 = Control_Apply.lift2(dictApplicative.Apply0())(Data_Function.flip(Cons.create))(acc);\n return function ($226) {\n return $225(f($226));\n };\n })(Control_Applicative.pure(dictApplicative)(Nil.value));\n return function ($224) {\n return $222($223($224));\n };\n };\n },\n sequence: function (dictApplicative) {\n return Data_Traversable.traverse(traversableList)(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n },\n Functor0: function () {\n return functorList;\n },\n Foldable1: function () {\n return foldableList;\n }\n};\nvar traversableNonEmptyList = /* #__PURE__ */ Data_NonEmpty.traversableNonEmpty(traversableList);\nvar traversableWithIndexList = {\n traverseWithIndex: function (dictApplicative) {\n return function (f) {\n var rev = Data_Foldable.foldl(foldableList)(Data_Function.flip(Cons.create))(Nil.value);\n var $227 = Data_Functor.map((dictApplicative.Apply0()).Functor0())(rev);\n var $228 = Data_FoldableWithIndex.foldlWithIndex(foldableWithIndexList)(function (i) {\n return function (acc) {\n var $230 = Control_Apply.lift2(dictApplicative.Apply0())(Data_Function.flip(Cons.create))(acc);\n var $231 = f(i);\n return function ($232) {\n return $230($231($232));\n };\n };\n })(Control_Applicative.pure(dictApplicative)(Nil.value));\n return function ($229) {\n return $227($228($229));\n };\n };\n },\n FunctorWithIndex0: function () {\n return functorWithIndexList;\n },\n FoldableWithIndex1: function () {\n return foldableWithIndexList;\n },\n Traversable2: function () {\n return traversableList;\n }\n};\nvar traversableWithIndexNonEmptyList = {\n traverseWithIndex: function (dictApplicative) {\n return function (f) {\n return function (v) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(NonEmptyList)(Data_TraversableWithIndex.traverseWithIndex(Data_NonEmpty.traversableWithIndexNonEmpty(traversableWithIndexList))(dictApplicative)((function () {\n var $233 = Data_Maybe.maybe(0)(Data_Semiring.add(Data_Semiring.semiringInt)(1));\n return function ($234) {\n return f($233($234));\n };\n })())(v));\n };\n };\n },\n FunctorWithIndex0: function () {\n return functorWithIndexNonEmptyList;\n },\n FoldableWithIndex1: function () {\n return foldableWithIndexNonEmptyList;\n },\n Traversable2: function () {\n return traversableNonEmptyList;\n }\n};\nvar unfoldable1List = {\n unfoldr1: function (f) {\n return function (b) {\n var go = function ($copy_source) {\n return function ($copy_memo) {\n var $tco_var_source = $copy_source;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(source, memo) {\n var v = f(source);\n if (v.value1 instanceof Data_Maybe.Just) {\n $tco_var_source = v.value1.value0;\n $copy_memo = new Cons(v.value0, memo);\n return;\n };\n if (v.value1 instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return Data_Foldable.foldl(foldableList)(Data_Function.flip(Cons.create))(Nil.value)(new Cons(v.value0, memo));\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 135, column 22 - line 137, column 61): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_source, $copy_memo);\n };\n return $tco_result;\n };\n };\n return go(b)(Nil.value);\n };\n }\n};\nvar unfoldableList = {\n unfoldr: function (f) {\n return function (b) {\n var go = function ($copy_source) {\n return function ($copy_memo) {\n var $tco_var_source = $copy_source;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(source, memo) {\n var v = f(source);\n if (v instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return Data_Foldable.foldl(foldableList)(Data_Function.flip(Cons.create))(Nil.value)(memo);\n };\n if (v instanceof Data_Maybe.Just) {\n $tco_var_source = v.value0.value1;\n $copy_memo = new Cons(v.value0.value0, memo);\n return;\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 142, column 22 - line 144, column 52): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_source, $copy_memo);\n };\n return $tco_result;\n };\n };\n return go(b)(Nil.value);\n };\n },\n Unfoldable10: function () {\n return unfoldable1List;\n }\n};\nvar unfoldable1NonEmptyList = /* #__PURE__ */ Data_NonEmpty.unfoldable1NonEmpty(unfoldableList);\nvar foldable1NonEmptyList = /* #__PURE__ */ Data_NonEmpty.foldable1NonEmpty(foldableList);\nvar extendNonEmptyList = {\n extend: function (f) {\n return function (v) {\n var go = function (a) {\n return function (v1) {\n return {\n val: new Cons(f(new Data_NonEmpty.NonEmpty(a, v1.acc)), v1.val),\n acc: new Cons(a, v1.acc)\n };\n };\n };\n return new Data_NonEmpty.NonEmpty(f(v), (Data_Foldable.foldr(foldableList)(go)({\n val: Nil.value,\n acc: Nil.value\n })(v.value1)).val);\n };\n },\n Functor0: function () {\n return functorNonEmptyList;\n }\n};\nvar extendList = {\n extend: function (v) {\n return function (v1) {\n if (v1 instanceof Nil) {\n return Nil.value;\n };\n if (v1 instanceof Cons) {\n var go = function (a$prime) {\n return function (v2) {\n var acc$prime = new Cons(a$prime, v2.acc);\n return {\n val: new Cons(v(acc$prime), v2.val),\n acc: acc$prime\n };\n };\n };\n return new Cons(v(v1), (Data_Foldable.foldr(foldableList)(go)({\n val: Nil.value,\n acc: Nil.value\n })(v1.value1)).val);\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 180, column 1 - line 187, column 42): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n },\n Functor0: function () {\n return functorList;\n }\n};\nvar eq1List = {\n eq1: function (dictEq) {\n return function (xs) {\n return function (ys) {\n var go = function ($copy_v) {\n return function ($copy_v1) {\n return function ($copy_v2) {\n var $tco_var_v = $copy_v;\n var $tco_var_v1 = $copy_v1;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v, v1, v2) {\n if (!v2) {\n $tco_done = true;\n return false;\n };\n if (v instanceof Nil && v1 instanceof Nil) {\n $tco_done = true;\n return v2;\n };\n if (v instanceof Cons && v1 instanceof Cons) {\n $tco_var_v = v.value1;\n $tco_var_v1 = v1.value1;\n $copy_v2 = v2 && Data_Eq.eq(dictEq)(v1.value0)(v.value0);\n return;\n };\n $tco_done = true;\n return false;\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v, $tco_var_v1, $copy_v2);\n };\n return $tco_result;\n };\n };\n };\n return go(xs)(ys)(true);\n };\n };\n }\n};\nvar eq1NonEmptyList = /* #__PURE__ */ Data_NonEmpty.eq1NonEmpty(eq1List);\nvar eqList = function (dictEq) {\n return {\n eq: Data_Eq.eq1(eq1List)(dictEq)\n };\n};\nvar eqNonEmptyList = function (dictEq) {\n return Data_NonEmpty.eqNonEmpty(eq1List)(dictEq);\n};\nvar ord1List = {\n compare1: function (dictOrd) {\n return function (xs) {\n return function (ys) {\n var go = function ($copy_v) {\n return function ($copy_v1) {\n var $tco_var_v = $copy_v;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v, v1) {\n if (v instanceof Nil && v1 instanceof Nil) {\n $tco_done = true;\n return Data_Ordering.EQ.value;\n };\n if (v instanceof Nil) {\n $tco_done = true;\n return Data_Ordering.LT.value;\n };\n if (v1 instanceof Nil) {\n $tco_done = true;\n return Data_Ordering.GT.value;\n };\n if (v instanceof Cons && v1 instanceof Cons) {\n var v2 = Data_Ord.compare(dictOrd)(v.value0)(v1.value0);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_var_v = v.value1;\n $copy_v1 = v1.value1;\n return;\n };\n $tco_done = true;\n return v2;\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 60, column 5 - line 60, column 20): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v, $copy_v1);\n };\n return $tco_result;\n };\n };\n return go(xs)(ys);\n };\n };\n },\n Eq10: function () {\n return eq1List;\n }\n};\nvar ord1NonEmptyList = /* #__PURE__ */ Data_NonEmpty.ord1NonEmpty(ord1List);\nvar ordList = function (dictOrd) {\n return {\n compare: Data_Ord.compare1(ord1List)(dictOrd),\n Eq0: function () {\n return eqList(dictOrd.Eq0());\n }\n };\n};\nvar ordNonEmptyList = function (dictOrd) {\n return Data_NonEmpty.ordNonEmpty(ord1List)(dictOrd);\n};\nvar comonadNonEmptyList = {\n extract: function (v) {\n return v.value0;\n },\n Extend0: function () {\n return extendNonEmptyList;\n }\n};\nvar applyList = {\n apply: function (v) {\n return function (v1) {\n if (v instanceof Nil) {\n return Nil.value;\n };\n if (v instanceof Cons) {\n return Data_Semigroup.append(semigroupList)(Data_Functor.map(functorList)(v.value0)(v1))(Control_Apply.apply(applyList)(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 157, column 1 - line 159, column 48): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n },\n Functor0: function () {\n return functorList;\n }\n};\nvar applyNonEmptyList = {\n apply: function (v) {\n return function (v1) {\n return new Data_NonEmpty.NonEmpty(v.value0(v1.value0), Data_Semigroup.append(semigroupList)(Control_Apply.apply(applyList)(v.value1)(new Cons(v1.value0, Nil.value)))(Control_Apply.apply(applyList)(new Cons(v.value0, v.value1))(v1.value1)));\n };\n },\n Functor0: function () {\n return functorNonEmptyList;\n }\n};\nvar bindList = {\n bind: function (v) {\n return function (v1) {\n if (v instanceof Nil) {\n return Nil.value;\n };\n if (v instanceof Cons) {\n return Data_Semigroup.append(semigroupList)(v1(v.value0))(Control_Bind.bind(bindList)(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 164, column 1 - line 166, column 37): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n },\n Apply0: function () {\n return applyList;\n }\n};\nvar bindNonEmptyList = {\n bind: function (v) {\n return function (f) {\n var v1 = f(v.value0);\n return new Data_NonEmpty.NonEmpty(v1.value0, Data_Semigroup.append(semigroupList)(v1.value1)(Control_Bind.bind(bindList)(v.value1)(function ($235) {\n return toList(f($235));\n })));\n };\n },\n Apply0: function () {\n return applyNonEmptyList;\n }\n};\nvar applicativeList = {\n pure: function (a) {\n return new Cons(a, Nil.value);\n },\n Apply0: function () {\n return applyList;\n }\n};\nvar monadList = {\n Applicative0: function () {\n return applicativeList;\n },\n Bind1: function () {\n return bindList;\n }\n};\nvar altNonEmptyList = {\n alt: /* #__PURE__ */ Data_Semigroup.append(semigroupNonEmptyList),\n Functor0: function () {\n return functorNonEmptyList;\n }\n};\nvar altList = {\n alt: /* #__PURE__ */ Data_Semigroup.append(semigroupList),\n Functor0: function () {\n return functorList;\n }\n};\nvar plusList = /* #__PURE__ */ (function () {\n return {\n empty: Nil.value,\n Alt0: function () {\n return altList;\n }\n };\n})();\nvar alternativeList = {\n Applicative0: function () {\n return applicativeList;\n },\n Plus1: function () {\n return plusList;\n }\n};\nvar monadPlusList = {\n Monad0: function () {\n return monadList;\n },\n Alternative1: function () {\n return alternativeList;\n }\n};\nvar applicativeNonEmptyList = {\n pure: /* #__PURE__ */ (function () {\n var $236 = Data_NonEmpty.singleton(plusList);\n return function ($237) {\n return NonEmptyList($236($237));\n };\n })(),\n Apply0: function () {\n return applyNonEmptyList;\n }\n};\nvar monadNonEmptyList = {\n Applicative0: function () {\n return applicativeNonEmptyList;\n },\n Bind1: function () {\n return bindNonEmptyList;\n }\n};\nvar traversable1NonEmptyList = {\n traverse1: function (dictApply) {\n return function (f) {\n return function (v) {\n return Data_Functor.mapFlipped(dictApply.Functor0())(Data_Foldable.foldl(foldableList)(function (acc) {\n var $238 = Control_Apply.lift2(dictApply)(Data_Function.flip(nelCons))(acc);\n return function ($239) {\n return $238(f($239));\n };\n })(Data_Functor.map(dictApply.Functor0())(Control_Applicative.pure(applicativeNonEmptyList))(f(v.value0)))(v.value1))(function (v1) {\n return Data_Foldable.foldl(foldableList)(Data_Function.flip(nelCons))(Control_Applicative.pure(applicativeNonEmptyList)(v1.value0))(v1.value1);\n });\n };\n };\n },\n sequence1: function (dictApply) {\n return Data_Semigroup_Traversable.traverse1(traversable1NonEmptyList)(dictApply)(Control_Category.identity(Control_Category.categoryFn));\n },\n Foldable10: function () {\n return foldable1NonEmptyList;\n },\n Traversable1: function () {\n return traversableNonEmptyList;\n }\n};\nexport {\n Nil,\n Cons,\n NonEmptyList,\n toList,\n nelCons,\n showList,\n eqList,\n eq1List,\n ordList,\n ord1List,\n semigroupList,\n monoidList,\n functorList,\n functorWithIndexList,\n foldableList,\n foldableWithIndexList,\n unfoldable1List,\n unfoldableList,\n traversableList,\n traversableWithIndexList,\n applyList,\n applicativeList,\n bindList,\n monadList,\n altList,\n plusList,\n alternativeList,\n monadPlusList,\n extendList,\n newtypeNonEmptyList,\n eqNonEmptyList,\n ordNonEmptyList,\n eq1NonEmptyList,\n ord1NonEmptyList,\n showNonEmptyList,\n functorNonEmptyList,\n applyNonEmptyList,\n applicativeNonEmptyList,\n bindNonEmptyList,\n monadNonEmptyList,\n altNonEmptyList,\n extendNonEmptyList,\n comonadNonEmptyList,\n semigroupNonEmptyList,\n foldableNonEmptyList,\n traversableNonEmptyList,\n foldable1NonEmptyList,\n unfoldable1NonEmptyList,\n functorWithIndexNonEmptyList,\n foldableWithIndexNonEmptyList,\n traversableWithIndexNonEmptyList,\n traversable1NonEmptyList\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Alt from \"../Control.Alt/index.js\";\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Apply from \"../Control.Apply/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Control_Lazy from \"../Control.Lazy/index.js\";\nimport * as Control_Monad_Rec_Class from \"../Control.Monad.Rec.Class/index.js\";\nimport * as Data_Bifunctor from \"../Data.Bifunctor/index.js\";\nimport * as Data_Boolean from \"../Data.Boolean/index.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Foldable from \"../Data.Foldable/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_HeytingAlgebra from \"../Data.HeytingAlgebra/index.js\";\nimport * as Data_List_Internal from \"../Data.List.Internal/index.js\";\nimport * as Data_List_Types from \"../Data.List.Types/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_NonEmpty from \"../Data.NonEmpty/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Ordering from \"../Data.Ordering/index.js\";\nimport * as Data_Semigroup from \"../Data.Semigroup/index.js\";\nimport * as Data_Show from \"../Data.Show/index.js\";\nimport * as Data_Traversable from \"../Data.Traversable/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nimport * as Data_Unfoldable from \"../Data.Unfoldable/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nvar Pattern = function (x) {\n return x;\n};\nvar updateAt = function (v) {\n return function (v1) {\n return function (v2) {\n if (v === 0 && v2 instanceof Data_List_Types.Cons) {\n return new Data_Maybe.Just(new Data_List_Types.Cons(v1, v2.value1));\n };\n if (v2 instanceof Data_List_Types.Cons) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(function (v3) {\n return new Data_List_Types.Cons(v2.value0, v3);\n })(updateAt(v - 1 | 0)(v1)(v2.value1));\n };\n return Data_Maybe.Nothing.value;\n };\n };\n};\nvar unzip = /* #__PURE__ */ (function () {\n return Data_Foldable.foldr(Data_List_Types.foldableList)(function (v) {\n return function (v1) {\n return new Data_Tuple.Tuple(new Data_List_Types.Cons(v.value0, v1.value0), new Data_List_Types.Cons(v.value1, v1.value1));\n };\n })(new Data_Tuple.Tuple(Data_List_Types.Nil.value, Data_List_Types.Nil.value));\n})();\nvar uncons = function (v) {\n if (v instanceof Data_List_Types.Nil) {\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof Data_List_Types.Cons) {\n return new Data_Maybe.Just({\n head: v.value0,\n tail: v.value1\n });\n };\n throw new Error(\"Failed pattern match at Data.List (line 259, column 1 - line 259, column 66): \" + [ v.constructor.name ]);\n};\nvar toUnfoldable = function (dictUnfoldable) {\n return Data_Unfoldable.unfoldr(dictUnfoldable)(function (xs) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(function (rec) {\n return new Data_Tuple.Tuple(rec.head, rec.tail);\n })(uncons(xs));\n });\n};\nvar tail = function (v) {\n if (v instanceof Data_List_Types.Nil) {\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof Data_List_Types.Cons) {\n return new Data_Maybe.Just(v.value1);\n };\n throw new Error(\"Failed pattern match at Data.List (line 245, column 1 - line 245, column 43): \" + [ v.constructor.name ]);\n};\nvar stripPrefix = function (dictEq) {\n return function (v) {\n return function (s) {\n var go = function (prefix) {\n return function (input) {\n if (prefix instanceof Data_List_Types.Cons && (input instanceof Data_List_Types.Cons && Data_Eq.eq(dictEq)(prefix.value0)(input.value0))) {\n return new Data_Maybe.Just(new Control_Monad_Rec_Class.Loop({\n a: prefix.value1,\n b: input.value1\n }));\n };\n if (prefix instanceof Data_List_Types.Nil) {\n return new Data_Maybe.Just(new Control_Monad_Rec_Class.Done(input));\n };\n return Data_Maybe.Nothing.value;\n };\n };\n return Control_Monad_Rec_Class.tailRecM2(Control_Monad_Rec_Class.monadRecMaybe)(go)(v)(s);\n };\n };\n};\nvar span = function (v) {\n return function (v1) {\n if (v1 instanceof Data_List_Types.Cons && v(v1.value0)) {\n var v2 = span(v)(v1.value1);\n return {\n init: new Data_List_Types.Cons(v1.value0, v2.init),\n rest: v2.rest\n };\n };\n return {\n init: Data_List_Types.Nil.value,\n rest: v1\n };\n };\n};\nvar snoc = function (xs) {\n return function (x) {\n return Data_Foldable.foldr(Data_List_Types.foldableList)(Data_List_Types.Cons.create)(new Data_List_Types.Cons(x, Data_List_Types.Nil.value))(xs);\n };\n};\nvar singleton = function (a) {\n return new Data_List_Types.Cons(a, Data_List_Types.Nil.value);\n};\nvar sortBy = function (cmp) {\n var merge = function (v) {\n return function (v1) {\n if (v instanceof Data_List_Types.Cons && v1 instanceof Data_List_Types.Cons) {\n if (Data_Eq.eq(Data_Ordering.eqOrdering)(cmp(v.value0)(v1.value0))(Data_Ordering.GT.value)) {\n return new Data_List_Types.Cons(v1.value0, merge(v)(v1.value1));\n };\n if (Data_Boolean.otherwise) {\n return new Data_List_Types.Cons(v.value0, merge(v.value1)(v1));\n };\n };\n if (v instanceof Data_List_Types.Nil) {\n return v1;\n };\n if (v1 instanceof Data_List_Types.Nil) {\n return v;\n };\n throw new Error(\"Failed pattern match at Data.List (line 466, column 3 - line 466, column 38): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n var mergePairs = function (v) {\n if (v instanceof Data_List_Types.Cons && v.value1 instanceof Data_List_Types.Cons) {\n return new Data_List_Types.Cons(merge(v.value0)(v.value1.value0), mergePairs(v.value1.value1));\n };\n return v;\n };\n var mergeAll = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v instanceof Data_List_Types.Cons && v.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return v.value0;\n };\n $copy_v = mergePairs(v);\n return;\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var sequences = function (v) {\n if (v instanceof Data_List_Types.Cons && v.value1 instanceof Data_List_Types.Cons) {\n if (Data_Eq.eq(Data_Ordering.eqOrdering)(cmp(v.value0)(v.value1.value0))(Data_Ordering.GT.value)) {\n return descending(v.value1.value0)(singleton(v.value0))(v.value1.value1);\n };\n if (Data_Boolean.otherwise) {\n return ascending(v.value1.value0)(function (v1) {\n return new Data_List_Types.Cons(v.value0, v1);\n })(v.value1.value1);\n };\n };\n return singleton(v);\n };\n var descending = function ($copy_a) {\n return function ($copy_as) {\n return function ($copy_v) {\n var $tco_var_a = $copy_a;\n var $tco_var_as = $copy_as;\n var $tco_done1 = false;\n var $tco_result;\n function $tco_loop(a, as, v) {\n if (v instanceof Data_List_Types.Cons && Data_Eq.eq(Data_Ordering.eqOrdering)(cmp(a)(v.value0))(Data_Ordering.GT.value)) {\n $tco_var_a = v.value0;\n $tco_var_as = new Data_List_Types.Cons(a, as);\n $copy_v = v.value1;\n return;\n };\n $tco_done1 = true;\n return new Data_List_Types.Cons(new Data_List_Types.Cons(a, as), sequences(v));\n };\n while (!$tco_done1) {\n $tco_result = $tco_loop($tco_var_a, $tco_var_as, $copy_v);\n };\n return $tco_result;\n };\n };\n };\n var ascending = function ($copy_a) {\n return function ($copy_as) {\n return function ($copy_v) {\n var $tco_var_a = $copy_a;\n var $tco_var_as = $copy_as;\n var $tco_done2 = false;\n var $tco_result;\n function $tco_loop(a, as, v) {\n if (v instanceof Data_List_Types.Cons && Data_Eq.notEq(Data_Ordering.eqOrdering)(cmp(a)(v.value0))(Data_Ordering.GT.value)) {\n $tco_var_a = v.value0;\n $tco_var_as = function (ys) {\n return as(new Data_List_Types.Cons(a, ys));\n };\n $copy_v = v.value1;\n return;\n };\n $tco_done2 = true;\n return new Data_List_Types.Cons(as(singleton(a)), sequences(v));\n };\n while (!$tco_done2) {\n $tco_result = $tco_loop($tco_var_a, $tco_var_as, $copy_v);\n };\n return $tco_result;\n };\n };\n };\n return function ($342) {\n return mergeAll(sequences($342));\n };\n};\nvar sort = function (dictOrd) {\n return function (xs) {\n return sortBy(Data_Ord.compare(dictOrd))(xs);\n };\n};\nvar tails = function (v) {\n if (v instanceof Data_List_Types.Nil) {\n return singleton(Data_List_Types.Nil.value);\n };\n if (v instanceof Data_List_Types.Cons) {\n return new Data_List_Types.Cons(v, tails(v.value1));\n };\n throw new Error(\"Failed pattern match at Data.List (line 641, column 1 - line 641, column 43): \" + [ v.constructor.name ]);\n};\nvar showPattern = function (dictShow) {\n return {\n show: function (v) {\n return \"(Pattern \" + (Data_Show.show(Data_List_Types.showList(dictShow))(v) + \")\");\n }\n };\n};\nvar reverse = /* #__PURE__ */ (function () {\n var go = function ($copy_acc) {\n return function ($copy_v) {\n var $tco_var_acc = $copy_acc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(acc, v) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return acc;\n };\n if (v instanceof Data_List_Types.Cons) {\n $tco_var_acc = new Data_List_Types.Cons(v.value0, acc);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List (line 368, column 3 - line 368, column 19): \" + [ acc.constructor.name, v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_acc, $copy_v);\n };\n return $tco_result;\n };\n };\n return go(Data_List_Types.Nil.value);\n})();\nvar take = /* #__PURE__ */ (function () {\n var go = function ($copy_acc) {\n return function ($copy_v) {\n return function ($copy_v1) {\n var $tco_var_acc = $copy_acc;\n var $tco_var_v = $copy_v;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(acc, v, v1) {\n if (v < 1) {\n $tco_done = true;\n return reverse(acc);\n };\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return reverse(acc);\n };\n if (v1 instanceof Data_List_Types.Cons) {\n $tco_var_acc = new Data_List_Types.Cons(v1.value0, acc);\n $tco_var_v = v - 1 | 0;\n $copy_v1 = v1.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List (line 513, column 3 - line 513, column 35): \" + [ acc.constructor.name, v.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_acc, $tco_var_v, $copy_v1);\n };\n return $tco_result;\n };\n };\n };\n return go(Data_List_Types.Nil.value);\n})();\nvar takeWhile = function (p) {\n var go = function ($copy_acc) {\n return function ($copy_v) {\n var $tco_var_acc = $copy_acc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(acc, v) {\n if (v instanceof Data_List_Types.Cons && p(v.value0)) {\n $tco_var_acc = new Data_List_Types.Cons(v.value0, acc);\n $copy_v = v.value1;\n return;\n };\n $tco_done = true;\n return reverse(acc);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_acc, $copy_v);\n };\n return $tco_result;\n };\n };\n return go(Data_List_Types.Nil.value);\n};\nvar unsnoc = function (lst) {\n var go = function ($copy_v) {\n return function ($copy_v1) {\n var $tco_var_v = $copy_v;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v, v1) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof Data_List_Types.Cons && v.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Maybe.Just({\n revInit: v1,\n last: v.value0\n });\n };\n if (v instanceof Data_List_Types.Cons) {\n $tco_var_v = v.value1;\n $copy_v1 = new Data_List_Types.Cons(v.value0, v1);\n return;\n };\n throw new Error(\"Failed pattern match at Data.List (line 270, column 3 - line 270, column 21): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v, $copy_v1);\n };\n return $tco_result;\n };\n };\n return Data_Functor.map(Data_Maybe.functorMaybe)(function (h) {\n return {\n init: reverse(h.revInit),\n last: h.last\n };\n })(go(lst)(Data_List_Types.Nil.value));\n};\nvar zipWith = function (f) {\n return function (xs) {\n return function (ys) {\n var go = function ($copy_v) {\n return function ($copy_v1) {\n return function ($copy_acc) {\n var $tco_var_v = $copy_v;\n var $tco_var_v1 = $copy_v1;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v, v1, acc) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return acc;\n };\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return acc;\n };\n if (v instanceof Data_List_Types.Cons && v1 instanceof Data_List_Types.Cons) {\n $tco_var_v = v.value1;\n $tco_var_v1 = v1.value1;\n $copy_acc = new Data_List_Types.Cons(f(v.value0)(v1.value0), acc);\n return;\n };\n throw new Error(\"Failed pattern match at Data.List (line 779, column 3 - line 779, column 21): \" + [ v.constructor.name, v1.constructor.name, acc.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v, $tco_var_v1, $copy_acc);\n };\n return $tco_result;\n };\n };\n };\n return reverse(go(xs)(ys)(Data_List_Types.Nil.value));\n };\n };\n};\nvar zip = /* #__PURE__ */ (function () {\n return zipWith(Data_Tuple.Tuple.create);\n})();\nvar zipWithA = function (dictApplicative) {\n return function (f) {\n return function (xs) {\n return function (ys) {\n return Data_Traversable.sequence(Data_List_Types.traversableList)(dictApplicative)(zipWith(f)(xs)(ys));\n };\n };\n };\n};\nvar range = function (start) {\n return function (end) {\n if (start === end) {\n return singleton(start);\n };\n if (Data_Boolean.otherwise) {\n var go = function ($copy_s) {\n return function ($copy_e) {\n return function ($copy_step) {\n return function ($copy_rest) {\n var $tco_var_s = $copy_s;\n var $tco_var_e = $copy_e;\n var $tco_var_step = $copy_step;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(s, e, step, rest) {\n if (s === e) {\n $tco_done = true;\n return new Data_List_Types.Cons(s, rest);\n };\n if (Data_Boolean.otherwise) {\n $tco_var_s = s + step | 0;\n $tco_var_e = e;\n $tco_var_step = step;\n $copy_rest = new Data_List_Types.Cons(s, rest);\n return;\n };\n throw new Error(\"Failed pattern match at Data.List (line 148, column 3 - line 149, column 65): \" + [ s.constructor.name, e.constructor.name, step.constructor.name, rest.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_s, $tco_var_e, $tco_var_step, $copy_rest);\n };\n return $tco_result;\n };\n };\n };\n };\n return go(end)(start)((function () {\n var $223 = start > end;\n if ($223) {\n return 1;\n };\n return -1 | 0;\n })())(Data_List_Types.Nil.value);\n };\n throw new Error(\"Failed pattern match at Data.List (line 144, column 1 - line 144, column 32): \" + [ start.constructor.name, end.constructor.name ]);\n };\n};\nvar partition = function (p) {\n return function (xs) {\n var select = function (x) {\n return function (v) {\n var $226 = p(x);\n if ($226) {\n return {\n no: v.no,\n yes: new Data_List_Types.Cons(x, v.yes)\n };\n };\n return {\n no: new Data_List_Types.Cons(x, v.no),\n yes: v.yes\n };\n };\n };\n return Data_Foldable.foldr(Data_List_Types.foldableList)(select)({\n no: Data_List_Types.Nil.value,\n yes: Data_List_Types.Nil.value\n })(xs);\n };\n};\nvar $$null = function (v) {\n if (v instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n};\nvar nubBy = function (p) {\n var go = function ($copy_v) {\n return function ($copy_acc) {\n return function ($copy_v1) {\n var $tco_var_v = $copy_v;\n var $tco_var_acc = $copy_acc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v, acc, v1) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return acc;\n };\n if (v1 instanceof Data_List_Types.Cons) {\n var v2 = Data_List_Internal.insertAndLookupBy(p)(v1.value0)(v);\n if (v2.found) {\n $tco_var_v = v2.result;\n $tco_var_acc = acc;\n $copy_v1 = v1.value1;\n return;\n };\n $tco_var_v = v2.result;\n $tco_var_acc = new Data_List_Types.Cons(v1.value0, acc);\n $copy_v1 = v1.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List (line 673, column 5 - line 673, column 23): \" + [ v.constructor.name, acc.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v, $tco_var_acc, $copy_v1);\n };\n return $tco_result;\n };\n };\n };\n var $343 = go(Data_List_Internal.emptySet)(Data_List_Types.Nil.value);\n return function ($344) {\n return reverse($343($344));\n };\n};\nvar nub = function (dictOrd) {\n return nubBy(Data_Ord.compare(dictOrd));\n};\nvar newtypePattern = {\n Coercible0: function () {\n return undefined;\n }\n};\nvar mapMaybe = function (f) {\n var go = function ($copy_acc) {\n return function ($copy_v) {\n var $tco_var_acc = $copy_acc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(acc, v) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return reverse(acc);\n };\n if (v instanceof Data_List_Types.Cons) {\n var v1 = f(v.value0);\n if (v1 instanceof Data_Maybe.Nothing) {\n $tco_var_acc = acc;\n $copy_v = v.value1;\n return;\n };\n if (v1 instanceof Data_Maybe.Just) {\n $tco_var_acc = new Data_List_Types.Cons(v1.value0, acc);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List (line 419, column 5 - line 421, column 32): \" + [ v1.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.List (line 417, column 3 - line 417, column 27): \" + [ acc.constructor.name, v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_acc, $copy_v);\n };\n return $tco_result;\n };\n };\n return go(Data_List_Types.Nil.value);\n};\nvar manyRec = function (dictMonadRec) {\n return function (dictAlternative) {\n return function (p) {\n var go = function (acc) {\n return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(Control_Alt.alt((dictAlternative.Plus1()).Alt0())(Data_Functor.map(((dictAlternative.Plus1()).Alt0()).Functor0())(Control_Monad_Rec_Class.Loop.create)(p))(Control_Applicative.pure(dictAlternative.Applicative0())(new Control_Monad_Rec_Class.Done(Data_Unit.unit))))(function (aa) {\n return Control_Applicative.pure(dictAlternative.Applicative0())(Data_Bifunctor.bimap(Control_Monad_Rec_Class.bifunctorStep)(function (v) {\n return new Data_List_Types.Cons(v, acc);\n })(function (v) {\n return reverse(acc);\n })(aa));\n });\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go)(Data_List_Types.Nil.value);\n };\n };\n};\nvar someRec = function (dictMonadRec) {\n return function (dictAlternative) {\n return function (v) {\n return Control_Apply.apply((dictAlternative.Applicative0()).Apply0())(Data_Functor.map(((dictAlternative.Plus1()).Alt0()).Functor0())(Data_List_Types.Cons.create)(v))(manyRec(dictMonadRec)(dictAlternative)(v));\n };\n };\n};\nvar some = function (dictAlternative) {\n return function (dictLazy) {\n return function (v) {\n return Control_Apply.apply((dictAlternative.Applicative0()).Apply0())(Data_Functor.map(((dictAlternative.Plus1()).Alt0()).Functor0())(Data_List_Types.Cons.create)(v))(Control_Lazy.defer(dictLazy)(function (v1) {\n return many(dictAlternative)(dictLazy)(v);\n }));\n };\n };\n};\nvar many = function (dictAlternative) {\n return function (dictLazy) {\n return function (v) {\n return Control_Alt.alt((dictAlternative.Plus1()).Alt0())(some(dictAlternative)(dictLazy)(v))(Control_Applicative.pure(dictAlternative.Applicative0())(Data_List_Types.Nil.value));\n };\n };\n};\nvar length = /* #__PURE__ */ Data_Foldable.foldl(Data_List_Types.foldableList)(function (acc) {\n return function (v) {\n return acc + 1 | 0;\n };\n})(0);\nvar last = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v instanceof Data_List_Types.Cons && v.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value0);\n };\n if (v instanceof Data_List_Types.Cons) {\n $copy_v = v.value1;\n return;\n };\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n};\nvar insertBy = function (v) {\n return function (x) {\n return function (v1) {\n if (v1 instanceof Data_List_Types.Nil) {\n return singleton(x);\n };\n if (v1 instanceof Data_List_Types.Cons) {\n var v2 = v(x)(v1.value0);\n if (v2 instanceof Data_Ordering.GT) {\n return new Data_List_Types.Cons(v1.value0, insertBy(v)(x)(v1.value1));\n };\n return new Data_List_Types.Cons(x, v1);\n };\n throw new Error(\"Failed pattern match at Data.List (line 216, column 1 - line 216, column 68): \" + [ v.constructor.name, x.constructor.name, v1.constructor.name ]);\n };\n };\n};\nvar insertAt = function (v) {\n return function (v1) {\n return function (v2) {\n if (v === 0) {\n return new Data_Maybe.Just(new Data_List_Types.Cons(v1, v2));\n };\n if (v2 instanceof Data_List_Types.Cons) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(function (v3) {\n return new Data_List_Types.Cons(v2.value0, v3);\n })(insertAt(v - 1 | 0)(v1)(v2.value1));\n };\n return Data_Maybe.Nothing.value;\n };\n };\n};\nvar insert = function (dictOrd) {\n return insertBy(Data_Ord.compare(dictOrd));\n};\nvar init = function (lst) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(function (v) {\n return v.init;\n })(unsnoc(lst));\n};\nvar index = function ($copy_v) {\n return function ($copy_v1) {\n var $tco_var_v = $copy_v;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v, v1) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof Data_List_Types.Cons && v1 === 0) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value0);\n };\n if (v instanceof Data_List_Types.Cons) {\n $tco_var_v = v.value1;\n $copy_v1 = v1 - 1 | 0;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List (line 281, column 1 - line 281, column 44): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v, $copy_v1);\n };\n return $tco_result;\n };\n};\nvar head = function (v) {\n if (v instanceof Data_List_Types.Nil) {\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof Data_List_Types.Cons) {\n return new Data_Maybe.Just(v.value0);\n };\n throw new Error(\"Failed pattern match at Data.List (line 230, column 1 - line 230, column 22): \" + [ v.constructor.name ]);\n};\nvar transpose = function (v) {\n if (v instanceof Data_List_Types.Nil) {\n return Data_List_Types.Nil.value;\n };\n if (v instanceof Data_List_Types.Cons && v.value0 instanceof Data_List_Types.Nil) {\n return transpose(v.value1);\n };\n if (v instanceof Data_List_Types.Cons && v.value0 instanceof Data_List_Types.Cons) {\n return new Data_List_Types.Cons(new Data_List_Types.Cons(v.value0.value0, mapMaybe(head)(v.value1)), transpose(new Data_List_Types.Cons(v.value0.value1, mapMaybe(tail)(v.value1))));\n };\n throw new Error(\"Failed pattern match at Data.List (line 813, column 1 - line 813, column 54): \" + [ v.constructor.name ]);\n};\nvar groupBy = function (v) {\n return function (v1) {\n if (v1 instanceof Data_List_Types.Nil) {\n return Data_List_Types.Nil.value;\n };\n if (v1 instanceof Data_List_Types.Cons) {\n var v2 = span(v(v1.value0))(v1.value1);\n return new Data_List_Types.Cons(new Data_NonEmpty.NonEmpty(v1.value0, v2.init), groupBy(v)(v2.rest));\n };\n throw new Error(\"Failed pattern match at Data.List (line 609, column 1 - line 609, column 80): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n};\nvar groupAllBy = function (p) {\n var $345 = groupBy(function (x) {\n return function (y) {\n return Data_Eq.eq(Data_Ordering.eqOrdering)(p(x)(y))(Data_Ordering.EQ.value);\n };\n });\n var $346 = sortBy(p);\n return function ($347) {\n return $345($346($347));\n };\n};\nvar group = function (dictEq) {\n return groupBy(Data_Eq.eq(dictEq));\n};\nvar groupAll = function (dictOrd) {\n var $348 = group(dictOrd.Eq0());\n var $349 = sort(dictOrd);\n return function ($350) {\n return $348($349($350));\n };\n};\nvar fromFoldable = function (dictFoldable) {\n return Data_Foldable.foldr(dictFoldable)(Data_List_Types.Cons.create)(Data_List_Types.Nil.value);\n};\nvar foldM = function (dictMonad) {\n return function (v) {\n return function (b) {\n return function (v1) {\n if (v1 instanceof Data_List_Types.Nil) {\n return Control_Applicative.pure(dictMonad.Applicative0())(b);\n };\n if (v1 instanceof Data_List_Types.Cons) {\n return Control_Bind.bind(dictMonad.Bind1())(v(b)(v1.value0))(function (b$prime) {\n return foldM(dictMonad)(v)(b$prime)(v1.value1);\n });\n };\n throw new Error(\"Failed pattern match at Data.List (line 824, column 1 - line 824, column 72): \" + [ v.constructor.name, b.constructor.name, v1.constructor.name ]);\n };\n };\n };\n};\nvar findIndex = function (fn) {\n var go = function ($copy_v) {\n return function ($copy_v1) {\n var $tco_var_v = $copy_v;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v, v1) {\n if (v1 instanceof Data_List_Types.Cons) {\n if (fn(v1.value0)) {\n $tco_done = true;\n return new Data_Maybe.Just(v);\n };\n if (Data_Boolean.otherwise) {\n $tco_var_v = v + 1 | 0;\n $copy_v1 = v1.value1;\n return;\n };\n };\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.List (line 301, column 3 - line 301, column 35): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v, $copy_v1);\n };\n return $tco_result;\n };\n };\n return go(0);\n};\nvar findLastIndex = function (fn) {\n return function (xs) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(function (v) {\n return (length(xs) - 1 | 0) - v | 0;\n })(findIndex(fn)(reverse(xs)));\n };\n};\nvar filterM = function (dictMonad) {\n return function (v) {\n return function (v1) {\n if (v1 instanceof Data_List_Types.Nil) {\n return Control_Applicative.pure(dictMonad.Applicative0())(Data_List_Types.Nil.value);\n };\n if (v1 instanceof Data_List_Types.Cons) {\n return Control_Bind.bind(dictMonad.Bind1())(v(v1.value0))(function (b) {\n return Control_Bind.bind(dictMonad.Bind1())(filterM(dictMonad)(v)(v1.value1))(function (xs$prime) {\n return Control_Applicative.pure(dictMonad.Applicative0())((function () {\n if (b) {\n return new Data_List_Types.Cons(v1.value0, xs$prime);\n };\n return xs$prime;\n })());\n });\n });\n };\n throw new Error(\"Failed pattern match at Data.List (line 403, column 1 - line 403, column 75): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n};\nvar filter = function (p) {\n var go = function ($copy_acc) {\n return function ($copy_v) {\n var $tco_var_acc = $copy_acc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(acc, v) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return reverse(acc);\n };\n if (v instanceof Data_List_Types.Cons) {\n if (p(v.value0)) {\n $tco_var_acc = new Data_List_Types.Cons(v.value0, acc);\n $copy_v = v.value1;\n return;\n };\n if (Data_Boolean.otherwise) {\n $tco_var_acc = acc;\n $copy_v = v.value1;\n return;\n };\n };\n throw new Error(\"Failed pattern match at Data.List (line 390, column 3 - line 390, column 27): \" + [ acc.constructor.name, v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_acc, $copy_v);\n };\n return $tco_result;\n };\n };\n return go(Data_List_Types.Nil.value);\n};\nvar intersectBy = function (v) {\n return function (v1) {\n return function (v2) {\n if (v1 instanceof Data_List_Types.Nil) {\n return Data_List_Types.Nil.value;\n };\n if (v2 instanceof Data_List_Types.Nil) {\n return Data_List_Types.Nil.value;\n };\n return filter(function (x) {\n return Data_Foldable.any(Data_List_Types.foldableList)(Data_HeytingAlgebra.heytingAlgebraBoolean)(v(x))(v2);\n })(v1);\n };\n };\n};\nvar intersect = function (dictEq) {\n return intersectBy(Data_Eq.eq(dictEq));\n};\nvar nubByEq = function (v) {\n return function (v1) {\n if (v1 instanceof Data_List_Types.Nil) {\n return Data_List_Types.Nil.value;\n };\n if (v1 instanceof Data_List_Types.Cons) {\n return new Data_List_Types.Cons(v1.value0, nubByEq(v)(filter(function (y) {\n return !v(v1.value0)(y);\n })(v1.value1)));\n };\n throw new Error(\"Failed pattern match at Data.List (line 705, column 1 - line 705, column 61): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n};\nvar nubEq = function (dictEq) {\n return nubByEq(Data_Eq.eq(dictEq));\n};\nvar eqPattern = function (dictEq) {\n return {\n eq: function (x) {\n return function (y) {\n return Data_Eq.eq(Data_List_Types.eqList(dictEq))(x)(y);\n };\n }\n };\n};\nvar ordPattern = function (dictOrd) {\n return {\n compare: function (x) {\n return function (y) {\n return Data_Ord.compare(Data_List_Types.ordList(dictOrd))(x)(y);\n };\n },\n Eq0: function () {\n return eqPattern(dictOrd.Eq0());\n }\n };\n};\nvar elemLastIndex = function (dictEq) {\n return function (x) {\n return findLastIndex(function (v) {\n return Data_Eq.eq(dictEq)(v)(x);\n });\n };\n};\nvar elemIndex = function (dictEq) {\n return function (x) {\n return findIndex(function (v) {\n return Data_Eq.eq(dictEq)(v)(x);\n });\n };\n};\nvar dropWhile = function (p) {\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v instanceof Data_List_Types.Cons && p(v.value0)) {\n $copy_v = v.value1;\n return;\n };\n $tco_done = true;\n return v;\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go;\n};\nvar dropEnd = function (n) {\n return function (xs) {\n return take(length(xs) - n | 0)(xs);\n };\n};\nvar drop = function ($copy_v) {\n return function ($copy_v1) {\n var $tco_var_v = $copy_v;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v, v1) {\n if (v < 1) {\n $tco_done = true;\n return v1;\n };\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return Data_List_Types.Nil.value;\n };\n if (v1 instanceof Data_List_Types.Cons) {\n $tco_var_v = v - 1 | 0;\n $copy_v1 = v1.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List (line 536, column 1 - line 536, column 42): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v, $copy_v1);\n };\n return $tco_result;\n };\n};\nvar slice = function (start) {\n return function (end) {\n return function (xs) {\n return take(end - start | 0)(drop(start)(xs));\n };\n };\n};\nvar takeEnd = function (n) {\n return function (xs) {\n return drop(length(xs) - n | 0)(xs);\n };\n};\nvar deleteBy = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Data_List_Types.Nil) {\n return Data_List_Types.Nil.value;\n };\n if (v2 instanceof Data_List_Types.Cons && v(v1)(v2.value0)) {\n return v2.value1;\n };\n if (v2 instanceof Data_List_Types.Cons) {\n return new Data_List_Types.Cons(v2.value0, deleteBy(v)(v1)(v2.value1));\n };\n throw new Error(\"Failed pattern match at Data.List (line 732, column 1 - line 732, column 67): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n};\nvar unionBy = function (eq) {\n return function (xs) {\n return function (ys) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(xs)(Data_Foldable.foldl(Data_List_Types.foldableList)(Data_Function.flip(deleteBy(eq)))(nubByEq(eq)(ys))(xs));\n };\n };\n};\nvar union = function (dictEq) {\n return unionBy(Data_Eq.eq(dictEq));\n};\nvar deleteAt = function (v) {\n return function (v1) {\n if (v === 0 && v1 instanceof Data_List_Types.Cons) {\n return new Data_Maybe.Just(v1.value1);\n };\n if (v1 instanceof Data_List_Types.Cons) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(function (v2) {\n return new Data_List_Types.Cons(v1.value0, v2);\n })(deleteAt(v - 1 | 0)(v1.value1));\n };\n return Data_Maybe.Nothing.value;\n };\n};\nvar $$delete = function (dictEq) {\n return deleteBy(Data_Eq.eq(dictEq));\n};\nvar difference = function (dictEq) {\n return Data_Foldable.foldl(Data_List_Types.foldableList)(Data_Function.flip($$delete(dictEq)));\n};\nvar concatMap = /* #__PURE__ */ Data_Function.flip(/* #__PURE__ */ Control_Bind.bind(Data_List_Types.bindList));\nvar concat = function (v) {\n return Control_Bind.bind(Data_List_Types.bindList)(v)(Control_Category.identity(Control_Category.categoryFn));\n};\nvar catMaybes = /* #__PURE__ */ mapMaybe(/* #__PURE__ */ Control_Category.identity(Control_Category.categoryFn));\nvar alterAt = function (v) {\n return function (v1) {\n return function (v2) {\n if (v === 0 && v2 instanceof Data_List_Types.Cons) {\n return new Data_Maybe.Just((function () {\n var v3 = v1(v2.value0);\n if (v3 instanceof Data_Maybe.Nothing) {\n return v2.value1;\n };\n if (v3 instanceof Data_Maybe.Just) {\n return new Data_List_Types.Cons(v3.value0, v2.value1);\n };\n throw new Error(\"Failed pattern match at Data.List (line 352, column 3 - line 354, column 23): \" + [ v3.constructor.name ]);\n })());\n };\n if (v2 instanceof Data_List_Types.Cons) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(function (v3) {\n return new Data_List_Types.Cons(v2.value0, v3);\n })(alterAt(v - 1 | 0)(v1)(v2.value1));\n };\n return Data_Maybe.Nothing.value;\n };\n };\n};\nvar modifyAt = function (n) {\n return function (f) {\n return alterAt(n)(function ($351) {\n return Data_Maybe.Just.create(f($351));\n });\n };\n};\nexport {\n toUnfoldable,\n fromFoldable,\n singleton,\n range,\n some,\n someRec,\n many,\n manyRec,\n $$null as null,\n length,\n snoc,\n insert,\n insertBy,\n head,\n last,\n tail,\n init,\n uncons,\n unsnoc,\n index,\n elemIndex,\n elemLastIndex,\n findIndex,\n findLastIndex,\n insertAt,\n deleteAt,\n updateAt,\n modifyAt,\n alterAt,\n reverse,\n concat,\n concatMap,\n filter,\n filterM,\n mapMaybe,\n catMaybes,\n sort,\n sortBy,\n Pattern,\n stripPrefix,\n slice,\n take,\n takeEnd,\n takeWhile,\n drop,\n dropEnd,\n dropWhile,\n span,\n group,\n groupAll,\n groupBy,\n groupAllBy,\n partition,\n nub,\n nubBy,\n nubEq,\n nubByEq,\n union,\n unionBy,\n $$delete as delete,\n deleteBy,\n difference,\n intersect,\n intersectBy,\n zipWith,\n zipWithA,\n zip,\n unzip,\n transpose,\n foldM,\n eqPattern,\n ordPattern,\n newtypePattern,\n showPattern\n};\nexport {\n all,\n any,\n elem,\n find,\n findMap,\n fold,\n foldMap,\n foldl,\n foldr,\n intercalate,\n notElem\n} from \"../Data.Foldable/index.js\";\nexport {\n Cons,\n Nil\n} from \"../Data.List.Types/index.js\";\nexport {\n scanl,\n scanr\n} from \"../Data.Traversable/index.js\";\n", "// module Partial.Unsafe\n\nexport const _unsafePartial = function (f) {\n return f();\n};\n", "// module Partial\n\nexport const _crashWith = function (msg) {\n throw new Error(msg);\n};\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nvar crashWith = function () {\n return $foreign[\"_crashWith\"];\n};\nvar crash = function () {\n return crashWith()(\"Partial.crash: partial function\");\n};\nexport {\n crash,\n crashWith\n};\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Partial from \"../Partial/index.js\";\nvar unsafePartial = $foreign[\"_unsafePartial\"];\nvar unsafeCrashWith = function (msg) {\n return unsafePartial(function () {\n return Partial.crashWith()(msg);\n });\n};\nexport {\n unsafePartial,\n unsafeCrashWith\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Data_Boolean from \"../Data.Boolean/index.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Foldable from \"../Data.Foldable/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_List from \"../Data.List/index.js\";\nimport * as Data_List_Types from \"../Data.List.Types/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_NonEmpty from \"../Data.NonEmpty/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Semigroup from \"../Data.Semigroup/index.js\";\nimport * as Data_Semigroup_Foldable from \"../Data.Semigroup.Foldable/index.js\";\nimport * as Data_Semigroup_Traversable from \"../Data.Semigroup.Traversable/index.js\";\nimport * as Data_Traversable from \"../Data.Traversable/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nimport * as Data_Unfoldable from \"../Data.Unfoldable/index.js\";\nimport * as Partial_Unsafe from \"../Partial.Unsafe/index.js\";\nvar zipWith = function (f) {\n return function (v) {\n return function (v1) {\n return new Data_NonEmpty.NonEmpty(f(v.value0)(v1.value0), Data_List.zipWith(f)(v.value1)(v1.value1));\n };\n };\n};\nvar zipWithA = function (dictApplicative) {\n return function (f) {\n return function (xs) {\n return function (ys) {\n return Data_Semigroup_Traversable.sequence1(Data_List_Types.traversable1NonEmptyList)(dictApplicative.Apply0())(zipWith(f)(xs)(ys));\n };\n };\n };\n};\nvar zip = /* #__PURE__ */ (function () {\n return zipWith(Data_Tuple.Tuple.create);\n})();\nvar wrappedOperation2 = function (name) {\n return function (f) {\n return function (v) {\n return function (v1) {\n var v2 = f(new Data_List_Types.Cons(v.value0, v.value1))(new Data_List_Types.Cons(v1.value0, v1.value1));\n if (v2 instanceof Data_List_Types.Cons) {\n return new Data_NonEmpty.NonEmpty(v2.value0, v2.value1);\n };\n if (v2 instanceof Data_List_Types.Nil) {\n return Partial_Unsafe.unsafeCrashWith(\"Impossible: empty list in NonEmptyList \" + name);\n };\n throw new Error(\"Failed pattern match at Data.List.NonEmpty (line 105, column 3 - line 107, column 81): \" + [ v2.constructor.name ]);\n };\n };\n };\n};\nvar wrappedOperation = function (name) {\n return function (f) {\n return function (v) {\n var v1 = f(new Data_List_Types.Cons(v.value0, v.value1));\n if (v1 instanceof Data_List_Types.Cons) {\n return new Data_NonEmpty.NonEmpty(v1.value0, v1.value1);\n };\n if (v1 instanceof Data_List_Types.Nil) {\n return Partial_Unsafe.unsafeCrashWith(\"Impossible: empty list in NonEmptyList \" + name);\n };\n throw new Error(\"Failed pattern match at Data.List.NonEmpty (line 92, column 3 - line 94, column 81): \" + [ v1.constructor.name ]);\n };\n };\n};\nvar updateAt = function (i) {\n return function (a) {\n return function (v) {\n if (i === 0) {\n return new Data_Maybe.Just(new Data_NonEmpty.NonEmpty(a, v.value1));\n };\n if (Data_Boolean.otherwise) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(function ($162) {\n return Data_List_Types.NonEmptyList((function (v1) {\n return new Data_NonEmpty.NonEmpty(v.value0, v1);\n })($162));\n })(Data_List.updateAt(i - 1 | 0)(a)(v.value1));\n };\n throw new Error(\"Failed pattern match at Data.List.NonEmpty (line 198, column 1 - line 198, column 75): \" + [ i.constructor.name, a.constructor.name, v.constructor.name ]);\n };\n };\n};\nvar unzip = function (ts) {\n return new Data_Tuple.Tuple(Data_Functor.map(Data_List_Types.functorNonEmptyList)(Data_Tuple.fst)(ts), Data_Functor.map(Data_List_Types.functorNonEmptyList)(Data_Tuple.snd)(ts));\n};\nvar unsnoc = function (v) {\n var v1 = Data_List.unsnoc(v.value1);\n if (v1 instanceof Data_Maybe.Nothing) {\n return {\n init: Data_List_Types.Nil.value,\n last: v.value0\n };\n };\n if (v1 instanceof Data_Maybe.Just) {\n return {\n init: new Data_List_Types.Cons(v.value0, v1.value0.init),\n last: v1.value0.last\n };\n };\n throw new Error(\"Failed pattern match at Data.List.NonEmpty (line 160, column 35 - line 162, column 50): \" + [ v1.constructor.name ]);\n};\nvar unionBy = /* #__PURE__ */ (function () {\n var $163 = wrappedOperation2(\"unionBy\");\n return function ($164) {\n return $163(Data_List.unionBy($164));\n };\n})();\nvar union = function (dictEq) {\n return wrappedOperation2(\"union\")(Data_List.union(dictEq));\n};\nvar uncons = function (v) {\n return {\n head: v.value0,\n tail: v.value1\n };\n};\nvar toList = function (v) {\n return new Data_List_Types.Cons(v.value0, v.value1);\n};\nvar toUnfoldable = function (dictUnfoldable) {\n var $165 = Data_Unfoldable.unfoldr(dictUnfoldable)(function (xs) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(function (rec) {\n return new Data_Tuple.Tuple(rec.head, rec.tail);\n })(Data_List.uncons(xs));\n });\n return function ($166) {\n return $165(toList($166));\n };\n};\nvar tail = function (v) {\n return v.value1;\n};\nvar sortBy = /* #__PURE__ */ (function () {\n var $167 = wrappedOperation(\"sortBy\");\n return function ($168) {\n return $167(Data_List.sortBy($168));\n };\n})();\nvar sort = function (dictOrd) {\n return function (xs) {\n return sortBy(Data_Ord.compare(dictOrd))(xs);\n };\n};\nvar snoc = function (v) {\n return function (y) {\n return new Data_NonEmpty.NonEmpty(v.value0, Data_List.snoc(v.value1)(y));\n };\n};\nvar singleton = /* #__PURE__ */ (function () {\n var $169 = Data_NonEmpty.singleton(Data_List_Types.plusList);\n return function ($170) {\n return Data_List_Types.NonEmptyList($169($170));\n };\n})();\nvar snoc$prime = function (v) {\n return function (y) {\n if (v instanceof Data_List_Types.Cons) {\n return new Data_NonEmpty.NonEmpty(v.value0, Data_List.snoc(v.value1)(y));\n };\n if (v instanceof Data_List_Types.Nil) {\n return singleton(y);\n };\n throw new Error(\"Failed pattern match at Data.List.NonEmpty (line 140, column 1 - line 140, column 51): \" + [ v.constructor.name, y.constructor.name ]);\n };\n};\nvar reverse = /* #__PURE__ */ wrappedOperation(\"reverse\")(Data_List.reverse);\nvar nubEq = function (dictEq) {\n return wrappedOperation(\"nubEq\")(Data_List.nubEq(dictEq));\n};\nvar nubByEq = /* #__PURE__ */ (function () {\n var $171 = wrappedOperation(\"nubByEq\");\n return function ($172) {\n return $171(Data_List.nubByEq($172));\n };\n})();\nvar nubBy = /* #__PURE__ */ (function () {\n var $173 = wrappedOperation(\"nubBy\");\n return function ($174) {\n return $173(Data_List.nubBy($174));\n };\n})();\nvar nub = function (dictOrd) {\n return wrappedOperation(\"nub\")(Data_List.nub(dictOrd));\n};\nvar modifyAt = function (i) {\n return function (f) {\n return function (v) {\n if (i === 0) {\n return new Data_Maybe.Just(new Data_NonEmpty.NonEmpty(f(v.value0), v.value1));\n };\n if (Data_Boolean.otherwise) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(function ($175) {\n return Data_List_Types.NonEmptyList((function (v1) {\n return new Data_NonEmpty.NonEmpty(v.value0, v1);\n })($175));\n })(Data_List.modifyAt(i - 1 | 0)(f)(v.value1));\n };\n throw new Error(\"Failed pattern match at Data.List.NonEmpty (line 203, column 1 - line 203, column 82): \" + [ i.constructor.name, f.constructor.name, v.constructor.name ]);\n };\n };\n};\nvar lift = function (f) {\n return function (v) {\n return f(new Data_List_Types.Cons(v.value0, v.value1));\n };\n};\nvar mapMaybe = function ($176) {\n return lift(Data_List.mapMaybe($176));\n};\nvar partition = function ($177) {\n return lift(Data_List.partition($177));\n};\nvar span = function ($178) {\n return lift(Data_List.span($178));\n};\nvar take = function ($179) {\n return lift(Data_List.take($179));\n};\nvar takeWhile = function ($180) {\n return lift(Data_List.takeWhile($180));\n};\nvar length = function (v) {\n return 1 + Data_List.length(v.value1) | 0;\n};\nvar last = function (v) {\n return Data_Maybe.fromMaybe(v.value0)(Data_List.last(v.value1));\n};\nvar intersectBy = /* #__PURE__ */ (function () {\n var $181 = wrappedOperation2(\"intersectBy\");\n return function ($182) {\n return $181(Data_List.intersectBy($182));\n };\n})();\nvar intersect = function (dictEq) {\n return wrappedOperation2(\"intersect\")(Data_List.intersect(dictEq));\n};\nvar insertAt = function (i) {\n return function (a) {\n return function (v) {\n if (i === 0) {\n return new Data_Maybe.Just(new Data_NonEmpty.NonEmpty(a, new Data_List_Types.Cons(v.value0, v.value1)));\n };\n if (Data_Boolean.otherwise) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(function ($183) {\n return Data_List_Types.NonEmptyList((function (v1) {\n return new Data_NonEmpty.NonEmpty(v.value0, v1);\n })($183));\n })(Data_List.insertAt(i - 1 | 0)(a)(v.value1));\n };\n throw new Error(\"Failed pattern match at Data.List.NonEmpty (line 193, column 1 - line 193, column 75): \" + [ i.constructor.name, a.constructor.name, v.constructor.name ]);\n };\n };\n};\nvar init = function (v) {\n return Data_Maybe.maybe(Data_List_Types.Nil.value)(function (v1) {\n return new Data_List_Types.Cons(v.value0, v1);\n })(Data_List.init(v.value1));\n};\nvar index = function (v) {\n return function (i) {\n if (i === 0) {\n return new Data_Maybe.Just(v.value0);\n };\n if (Data_Boolean.otherwise) {\n return Data_List.index(v.value1)(i - 1 | 0);\n };\n throw new Error(\"Failed pattern match at Data.List.NonEmpty (line 167, column 1 - line 167, column 52): \" + [ v.constructor.name, i.constructor.name ]);\n };\n};\nvar head = function (v) {\n return v.value0;\n};\nvar groupBy = /* #__PURE__ */ (function () {\n var $184 = wrappedOperation(\"groupBy\");\n return function ($185) {\n return $184(Data_List.groupBy($185));\n };\n})();\nvar groupAllBy = /* #__PURE__ */ (function () {\n var $186 = wrappedOperation(\"groupAllBy\");\n return function ($187) {\n return $186(Data_List.groupAllBy($187));\n };\n})();\nvar groupAll = function (dictOrd) {\n return wrappedOperation(\"groupAll\")(Data_List.groupAll(dictOrd));\n};\nvar group = function (dictEq) {\n return wrappedOperation(\"group\")(Data_List.group(dictEq));\n};\nvar fromList = function (v) {\n if (v instanceof Data_List_Types.Nil) {\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof Data_List_Types.Cons) {\n return new Data_Maybe.Just(new Data_NonEmpty.NonEmpty(v.value0, v.value1));\n };\n throw new Error(\"Failed pattern match at Data.List.NonEmpty (line 121, column 1 - line 121, column 57): \" + [ v.constructor.name ]);\n};\nvar fromFoldable = function (dictFoldable) {\n var $188 = Data_List.fromFoldable(dictFoldable);\n return function ($189) {\n return fromList($188($189));\n };\n};\nvar foldM = function (dictMonad) {\n return function (f) {\n return function (b) {\n return function (v) {\n return Control_Bind.bind(dictMonad.Bind1())(f(b)(v.value0))(function (b$prime) {\n return Data_List.foldM(dictMonad)(f)(b$prime)(v.value1);\n });\n };\n };\n };\n};\nvar findLastIndex = function (f) {\n return function (v) {\n var v1 = Data_List.findLastIndex(f)(v.value1);\n if (v1 instanceof Data_Maybe.Just) {\n return new Data_Maybe.Just(v1.value0 + 1 | 0);\n };\n if (v1 instanceof Data_Maybe.Nothing) {\n if (f(v.value0)) {\n return new Data_Maybe.Just(0);\n };\n if (Data_Boolean.otherwise) {\n return Data_Maybe.Nothing.value;\n };\n };\n throw new Error(\"Failed pattern match at Data.List.NonEmpty (line 187, column 3 - line 191, column 29): \" + [ v1.constructor.name ]);\n };\n};\nvar findIndex = function (f) {\n return function (v) {\n if (f(v.value0)) {\n return new Data_Maybe.Just(0);\n };\n if (Data_Boolean.otherwise) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(function (v1) {\n return v1 + 1 | 0;\n })(Data_List.findIndex(f)(v.value1));\n };\n throw new Error(\"Failed pattern match at Data.List.NonEmpty (line 180, column 1 - line 180, column 69): \" + [ f.constructor.name, v.constructor.name ]);\n };\n};\nvar filterM = function (dictMonad) {\n var $190 = Data_List.filterM(dictMonad);\n return function ($191) {\n return lift($190($191));\n };\n};\nvar filter = function ($192) {\n return lift(Data_List.filter($192));\n};\nvar elemLastIndex = function (dictEq) {\n return function (x) {\n return findLastIndex(function (v) {\n return Data_Eq.eq(dictEq)(v)(x);\n });\n };\n};\nvar elemIndex = function (dictEq) {\n return function (x) {\n return findIndex(function (v) {\n return Data_Eq.eq(dictEq)(v)(x);\n });\n };\n};\nvar dropWhile = function ($193) {\n return lift(Data_List.dropWhile($193));\n};\nvar drop = function ($194) {\n return lift(Data_List.drop($194));\n};\nvar cons$prime = function (x) {\n return function (xs) {\n return new Data_NonEmpty.NonEmpty(x, xs);\n };\n};\nvar cons = function (y) {\n return function (v) {\n return new Data_NonEmpty.NonEmpty(y, new Data_List_Types.Cons(v.value0, v.value1));\n };\n};\nvar concatMap = /* #__PURE__ */ Data_Function.flip(/* #__PURE__ */ Control_Bind.bind(Data_List_Types.bindNonEmptyList));\nvar concat = function (v) {\n return Control_Bind.bind(Data_List_Types.bindNonEmptyList)(v)(Control_Category.identity(Control_Category.categoryFn));\n};\nvar catMaybes = /* #__PURE__ */ lift(Data_List.catMaybes);\nvar appendFoldable = function (dictFoldable) {\n return function (v) {\n return function (ys) {\n return new Data_NonEmpty.NonEmpty(v.value0, Data_Semigroup.append(Data_List_Types.semigroupList)(v.value1)(Data_List.fromFoldable(dictFoldable)(ys)));\n };\n };\n};\nexport {\n toUnfoldable,\n fromFoldable,\n fromList,\n toList,\n singleton,\n length,\n cons,\n cons$prime,\n snoc,\n snoc$prime,\n head,\n last,\n tail,\n init,\n uncons,\n unsnoc,\n index,\n elemIndex,\n elemLastIndex,\n findIndex,\n findLastIndex,\n insertAt,\n updateAt,\n modifyAt,\n reverse,\n concat,\n concatMap,\n filter,\n filterM,\n mapMaybe,\n catMaybes,\n appendFoldable,\n sort,\n sortBy,\n take,\n takeWhile,\n drop,\n dropWhile,\n span,\n group,\n groupAll,\n groupBy,\n groupAllBy,\n partition,\n nub,\n nubBy,\n nubEq,\n nubByEq,\n union,\n unionBy,\n intersect,\n intersectBy,\n zipWith,\n zipWithA,\n zip,\n unzip,\n foldM\n};\nexport {\n all,\n any,\n elem,\n find,\n findMap,\n fold,\n foldMap,\n foldl,\n foldr,\n intercalate,\n notElem\n} from \"../Data.Foldable/index.js\";\nexport {\n NonEmptyList\n} from \"../Data.List.Types/index.js\";\nexport {\n fold1,\n foldMap1,\n for1_,\n sequence1_,\n traverse1_\n} from \"../Data.Semigroup.Foldable/index.js\";\nexport {\n sequence1,\n traverse1,\n traverse1Default\n} from \"../Data.Semigroup.Traversable/index.js\";\nexport {\n scanl,\n scanr\n} from \"../Data.Traversable/index.js\";\n", "/* eslint-disable no-eq-null, eqeqeq */\n\nconst nullImpl = null;\nexport { nullImpl as null };\n\nexport function nullable(a, r, f) {\n return a == null ? r : f(a);\n}\n\nexport function notNull(x) {\n return x;\n}\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Show from \"../Data.Show/index.js\";\nvar toNullable = /* #__PURE__ */ Data_Maybe.maybe($foreign[\"null\"])($foreign.notNull);\nvar toMaybe = function (n) {\n return $foreign.nullable(n, Data_Maybe.Nothing.value, Data_Maybe.Just.create);\n};\nvar showNullable = function (dictShow) {\n return {\n show: (function () {\n var $5 = Data_Maybe.maybe(\"null\")(Data_Show.show(dictShow));\n return function ($6) {\n return $5(toMaybe($6));\n };\n })()\n };\n};\nvar eqNullable = function (dictEq) {\n return {\n eq: Data_Function.on(Data_Eq.eq(Data_Maybe.eqMaybe(dictEq)))(toMaybe)\n };\n};\nvar ordNullable = function (dictOrd) {\n return {\n compare: Data_Function.on(Data_Ord.compare(Data_Maybe.ordMaybe(dictOrd)))(toMaybe),\n Eq0: function () {\n return eqNullable(dictOrd.Eq0());\n }\n };\n};\nvar eq1Nullable = {\n eq1: function (dictEq) {\n return Data_Eq.eq(eqNullable(dictEq));\n }\n};\nvar ord1Nullable = {\n compare1: function (dictOrd) {\n return Data_Ord.compare(ordNullable(dictOrd));\n },\n Eq10: function () {\n return eq1Nullable;\n }\n};\nexport {\n null,\n notNull\n} from \"./foreign.js\";\nexport {\n toMaybe,\n toNullable,\n showNullable,\n eqNullable,\n eq1Nullable,\n ordNullable,\n ord1Nullable\n};\n", "/* globals setImmediate, clearImmediate, setTimeout, clearTimeout */\n/* eslint-disable no-unused-vars, no-prototype-builtins, no-use-before-define, no-unused-labels, no-param-reassign */\nvar Aff = function () {\n // A unique value for empty.\n var EMPTY = {};\n\n /*\n\n An awkward approximation. We elide evidence we would otherwise need in PS for\n efficiency sake.\n\n data Aff eff a\n = Pure a\n | Throw Error\n | Catch (Aff eff a) (Error -> Aff eff a)\n | Sync (Eff eff a)\n | Async ((Either Error a -> Eff eff Unit) -> Eff eff (Canceler eff))\n | forall b. Bind (Aff eff b) (b -> Aff eff a)\n | forall b. Bracket (Aff eff b) (BracketConditions eff b) (b -> Aff eff a)\n | forall b. Fork Boolean (Aff eff b) ?(Fiber eff b -> a)\n | Sequential (ParAff aff a)\n\n */\n var PURE = \"Pure\";\n var THROW = \"Throw\";\n var CATCH = \"Catch\";\n var SYNC = \"Sync\";\n var ASYNC = \"Async\";\n var BIND = \"Bind\";\n var BRACKET = \"Bracket\";\n var FORK = \"Fork\";\n var SEQ = \"Sequential\";\n\n /*\n\n data ParAff eff a\n = forall b. Map (b -> a) (ParAff eff b)\n | forall b. Apply (ParAff eff (b -> a)) (ParAff eff b)\n | Alt (ParAff eff a) (ParAff eff a)\n | ?Par (Aff eff a)\n\n */\n var MAP = \"Map\";\n var APPLY = \"Apply\";\n var ALT = \"Alt\";\n\n // Various constructors used in interpretation\n var CONS = \"Cons\"; // Cons-list, for stacks\n var RESUME = \"Resume\"; // Continue indiscriminately\n var RELEASE = \"Release\"; // Continue with bracket finalizers\n var FINALIZER = \"Finalizer\"; // A non-interruptible effect\n var FINALIZED = \"Finalized\"; // Marker for finalization\n var FORKED = \"Forked\"; // Reference to a forked fiber, with resumption stack\n var FIBER = \"Fiber\"; // Actual fiber reference\n var THUNK = \"Thunk\"; // Primed effect, ready to invoke\n\n function Aff(tag, _1, _2, _3) {\n this.tag = tag;\n this._1 = _1;\n this._2 = _2;\n this._3 = _3;\n }\n\n function AffCtr(tag) {\n var fn = function (_1, _2, _3) {\n return new Aff(tag, _1, _2, _3);\n };\n fn.tag = tag;\n return fn;\n }\n\n function nonCanceler(error) {\n return new Aff(PURE, void 0);\n }\n\n function runEff(eff) {\n try {\n eff();\n } catch (error) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n }\n\n function runSync(left, right, eff) {\n try {\n return right(eff());\n } catch (error) {\n return left(error);\n }\n }\n\n function runAsync(left, eff, k) {\n try {\n return eff(k)();\n } catch (error) {\n k(left(error))();\n return nonCanceler;\n }\n }\n\n var Scheduler = function () {\n var limit = 1024;\n var size = 0;\n var ix = 0;\n var queue = new Array(limit);\n var draining = false;\n\n function drain() {\n var thunk;\n draining = true;\n while (size !== 0) {\n size--;\n thunk = queue[ix];\n queue[ix] = void 0;\n ix = (ix + 1) % limit;\n thunk();\n }\n draining = false;\n }\n\n return {\n isDraining: function () {\n return draining;\n },\n enqueue: function (cb) {\n var i, tmp;\n if (size === limit) {\n tmp = draining;\n drain();\n draining = tmp;\n }\n\n queue[(ix + size) % limit] = cb;\n size++;\n\n if (!draining) {\n drain();\n }\n }\n };\n }();\n\n function Supervisor(util) {\n var fibers = {};\n var fiberId = 0;\n var count = 0;\n\n return {\n register: function (fiber) {\n var fid = fiberId++;\n fiber.onComplete({\n rethrow: true,\n handler: function (result) {\n return function () {\n count--;\n delete fibers[fid];\n };\n }\n })();\n fibers[fid] = fiber;\n count++;\n },\n isEmpty: function () {\n return count === 0;\n },\n killAll: function (killError, cb) {\n return function () {\n if (count === 0) {\n return cb();\n }\n\n var killCount = 0;\n var kills = {};\n\n function kill(fid) {\n kills[fid] = fibers[fid].kill(killError, function (result) {\n return function () {\n delete kills[fid];\n killCount--;\n if (util.isLeft(result) && util.fromLeft(result)) {\n setTimeout(function () {\n throw util.fromLeft(result);\n }, 0);\n }\n if (killCount === 0) {\n cb();\n }\n };\n })();\n }\n\n for (var k in fibers) {\n if (fibers.hasOwnProperty(k)) {\n killCount++;\n kill(k);\n }\n }\n\n fibers = {};\n fiberId = 0;\n count = 0;\n\n return function (error) {\n return new Aff(SYNC, function () {\n for (var k in kills) {\n if (kills.hasOwnProperty(k)) {\n kills[k]();\n }\n }\n });\n };\n };\n }\n };\n }\n\n // Fiber state machine\n var SUSPENDED = 0; // Suspended, pending a join.\n var CONTINUE = 1; // Interpret the next instruction.\n var STEP_BIND = 2; // Apply the next bind.\n var STEP_RESULT = 3; // Handle potential failure from a result.\n var PENDING = 4; // An async effect is running.\n var RETURN = 5; // The current stack has returned.\n var COMPLETED = 6; // The entire fiber has completed.\n\n function Fiber(util, supervisor, aff) {\n // Monotonically increasing tick, increased on each asynchronous turn.\n var runTick = 0;\n\n // The current branch of the state machine.\n var status = SUSPENDED;\n\n // The current point of interest for the state machine branch.\n var step = aff; // Successful step\n var fail = null; // Failure step\n var interrupt = null; // Asynchronous interrupt\n\n // Stack of continuations for the current fiber.\n var bhead = null;\n var btail = null;\n\n // Stack of attempts and finalizers for error recovery. Every `Cons` is also\n // tagged with current `interrupt` state. We use this to track which items\n // should be ignored or evaluated as a result of a kill.\n var attempts = null;\n\n // A special state is needed for Bracket, because it cannot be killed. When\n // we enter a bracket acquisition or finalizer, we increment the counter,\n // and then decrement once complete.\n var bracketCount = 0;\n\n // Each join gets a new id so they can be revoked.\n var joinId = 0;\n var joins = null;\n var rethrow = true;\n\n // Each invocation of `run` requires a tick. When an asynchronous effect is\n // resolved, we must check that the local tick coincides with the fiber\n // tick before resuming. This prevents multiple async continuations from\n // accidentally resuming the same fiber. A common example may be invoking\n // the provided callback in `makeAff` more than once, but it may also be an\n // async effect resuming after the fiber was already cancelled.\n function run(localRunTick) {\n var tmp, result, attempt;\n while (true) {\n tmp = null;\n result = null;\n attempt = null;\n\n switch (status) {\n case STEP_BIND:\n status = CONTINUE;\n try {\n step = bhead(step);\n if (btail === null) {\n bhead = null;\n } else {\n bhead = btail._1;\n btail = btail._2;\n }\n } catch (e) {\n status = RETURN;\n fail = util.left(e);\n step = null;\n }\n break;\n\n case STEP_RESULT:\n if (util.isLeft(step)) {\n status = RETURN;\n fail = step;\n step = null;\n } else if (bhead === null) {\n status = RETURN;\n } else {\n status = STEP_BIND;\n step = util.fromRight(step);\n }\n break;\n\n case CONTINUE:\n switch (step.tag) {\n case BIND:\n if (bhead) {\n btail = new Aff(CONS, bhead, btail);\n }\n bhead = step._2;\n status = CONTINUE;\n step = step._1;\n break;\n\n case PURE:\n if (bhead === null) {\n status = RETURN;\n step = util.right(step._1);\n } else {\n status = STEP_BIND;\n step = step._1;\n }\n break;\n\n case SYNC:\n status = STEP_RESULT;\n step = runSync(util.left, util.right, step._1);\n break;\n\n case ASYNC:\n status = PENDING;\n step = runAsync(util.left, step._1, function (result) {\n return function () {\n if (runTick !== localRunTick) {\n return;\n }\n runTick++;\n Scheduler.enqueue(function () {\n // It's possible to interrupt the fiber between enqueuing and\n // resuming, so we need to check that the runTick is still\n // valid.\n if (runTick !== localRunTick + 1) {\n return;\n }\n status = STEP_RESULT;\n step = result;\n run(runTick);\n });\n };\n });\n return;\n\n case THROW:\n status = RETURN;\n fail = util.left(step._1);\n step = null;\n break;\n\n // Enqueue the Catch so that we can call the error handler later on\n // in case of an exception.\n case CATCH:\n if (bhead === null) {\n attempts = new Aff(CONS, step, attempts, interrupt);\n } else {\n attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);\n }\n bhead = null;\n btail = null;\n status = CONTINUE;\n step = step._1;\n break;\n\n // Enqueue the Bracket so that we can call the appropriate handlers\n // after resource acquisition.\n case BRACKET:\n bracketCount++;\n if (bhead === null) {\n attempts = new Aff(CONS, step, attempts, interrupt);\n } else {\n attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);\n }\n bhead = null;\n btail = null;\n status = CONTINUE;\n step = step._1;\n break;\n\n case FORK:\n status = STEP_RESULT;\n tmp = Fiber(util, supervisor, step._2);\n if (supervisor) {\n supervisor.register(tmp);\n }\n if (step._1) {\n tmp.run();\n }\n step = util.right(tmp);\n break;\n\n case SEQ:\n status = CONTINUE;\n step = sequential(util, supervisor, step._1);\n break;\n }\n break;\n\n case RETURN:\n bhead = null;\n btail = null;\n // If the current stack has returned, and we have no other stacks to\n // resume or finalizers to run, the fiber has halted and we can\n // invoke all join callbacks. Otherwise we need to resume.\n if (attempts === null) {\n status = COMPLETED;\n step = interrupt || fail || step;\n } else {\n // The interrupt status for the enqueued item.\n tmp = attempts._3;\n attempt = attempts._1;\n attempts = attempts._2;\n\n switch (attempt.tag) {\n // We cannot recover from an unmasked interrupt. Otherwise we should\n // continue stepping, or run the exception handler if an exception\n // was raised.\n case CATCH:\n // We should compare the interrupt status as well because we\n // only want it to apply if there has been an interrupt since\n // enqueuing the catch.\n if (interrupt && interrupt !== tmp && bracketCount === 0) {\n status = RETURN;\n } else if (fail) {\n status = CONTINUE;\n step = attempt._2(util.fromLeft(fail));\n fail = null;\n }\n break;\n\n // We cannot resume from an unmasked interrupt or exception.\n case RESUME:\n // As with Catch, we only want to ignore in the case of an\n // interrupt since enqueing the item.\n if (interrupt && interrupt !== tmp && bracketCount === 0 || fail) {\n status = RETURN;\n } else {\n bhead = attempt._1;\n btail = attempt._2;\n status = STEP_BIND;\n step = util.fromRight(step);\n }\n break;\n\n // If we have a bracket, we should enqueue the handlers,\n // and continue with the success branch only if the fiber has\n // not been interrupted. If the bracket acquisition failed, we\n // should not run either.\n case BRACKET:\n bracketCount--;\n if (fail === null) {\n result = util.fromRight(step);\n // We need to enqueue the Release with the same interrupt\n // status as the Bracket that is initiating it.\n attempts = new Aff(CONS, new Aff(RELEASE, attempt._2, result), attempts, tmp);\n // We should only coninue as long as the interrupt status has not changed or\n // we are currently within a non-interruptable finalizer.\n if (interrupt === tmp || bracketCount > 0) {\n status = CONTINUE;\n step = attempt._3(result);\n }\n }\n break;\n\n // Enqueue the appropriate handler. We increase the bracket count\n // because it should not be cancelled.\n case RELEASE:\n attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);\n status = CONTINUE;\n // It has only been killed if the interrupt status has changed\n // since we enqueued the item, and the bracket count is 0. If the\n // bracket count is non-zero then we are in a masked state so it's\n // impossible to be killed.\n if (interrupt && interrupt !== tmp && bracketCount === 0) {\n step = attempt._1.killed(util.fromLeft(interrupt))(attempt._2);\n } else if (fail) {\n step = attempt._1.failed(util.fromLeft(fail))(attempt._2);\n } else {\n step = attempt._1.completed(util.fromRight(step))(attempt._2);\n }\n fail = null;\n bracketCount++;\n break;\n\n case FINALIZER:\n bracketCount++;\n attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);\n status = CONTINUE;\n step = attempt._1;\n break;\n\n case FINALIZED:\n bracketCount--;\n status = RETURN;\n step = attempt._1;\n fail = attempt._2;\n break;\n }\n }\n break;\n\n case COMPLETED:\n for (var k in joins) {\n if (joins.hasOwnProperty(k)) {\n rethrow = rethrow && joins[k].rethrow;\n runEff(joins[k].handler(step));\n }\n }\n joins = null;\n // If we have an interrupt and a fail, then the thread threw while\n // running finalizers. This should always rethrow in a fresh stack.\n if (interrupt && fail) {\n setTimeout(function () {\n throw util.fromLeft(fail);\n }, 0);\n // If we have an unhandled exception, and no other fiber has joined\n // then we need to throw the exception in a fresh stack.\n } else if (util.isLeft(step) && rethrow) {\n setTimeout(function () {\n // Guard on reathrow because a completely synchronous fiber can\n // still have an observer which was added after-the-fact.\n if (rethrow) {\n throw util.fromLeft(step);\n }\n }, 0);\n }\n return;\n case SUSPENDED:\n status = CONTINUE;\n break;\n case PENDING: return;\n }\n }\n }\n\n function onComplete(join) {\n return function () {\n if (status === COMPLETED) {\n rethrow = rethrow && join.rethrow;\n join.handler(step)();\n return function () {};\n }\n\n var jid = joinId++;\n joins = joins || {};\n joins[jid] = join;\n\n return function() {\n if (joins !== null) {\n delete joins[jid];\n }\n };\n };\n }\n\n function kill(error, cb) {\n return function () {\n if (status === COMPLETED) {\n cb(util.right(void 0))();\n return function () {};\n }\n\n var canceler = onComplete({\n rethrow: false,\n handler: function (/* unused */) {\n return cb(util.right(void 0));\n }\n })();\n\n switch (status) {\n case SUSPENDED:\n interrupt = util.left(error);\n status = COMPLETED;\n step = interrupt;\n run(runTick);\n break;\n case PENDING:\n if (interrupt === null) {\n interrupt = util.left(error);\n }\n if (bracketCount === 0) {\n if (status === PENDING) {\n attempts = new Aff(CONS, new Aff(FINALIZER, step(error)), attempts, interrupt);\n }\n status = RETURN;\n step = null;\n fail = null;\n run(++runTick);\n }\n break;\n default:\n if (interrupt === null) {\n interrupt = util.left(error);\n }\n if (bracketCount === 0) {\n status = RETURN;\n step = null;\n fail = null;\n }\n }\n\n return canceler;\n };\n }\n\n function join(cb) {\n return function () {\n var canceler = onComplete({\n rethrow: false,\n handler: cb\n })();\n if (status === SUSPENDED) {\n run(runTick);\n }\n return canceler;\n };\n }\n\n return {\n kill: kill,\n join: join,\n onComplete: onComplete,\n isSuspended: function () {\n return status === SUSPENDED;\n },\n run: function () {\n if (status === SUSPENDED) {\n if (!Scheduler.isDraining()) {\n Scheduler.enqueue(function () {\n run(runTick);\n });\n } else {\n run(runTick);\n }\n }\n }\n };\n }\n\n function runPar(util, supervisor, par, cb) {\n // Table of all forked fibers.\n var fiberId = 0;\n var fibers = {};\n\n // Table of currently running cancelers, as a product of `Alt` behavior.\n var killId = 0;\n var kills = {};\n\n // Error used for early cancelation on Alt branches.\n var early = new Error(\"[ParAff] Early exit\");\n\n // Error used to kill the entire tree.\n var interrupt = null;\n\n // The root pointer of the tree.\n var root = EMPTY;\n\n // Walks a tree, invoking all the cancelers. Returns the table of pending\n // cancellation fibers.\n function kill(error, par, cb) {\n var step = par;\n var head = null;\n var tail = null;\n var count = 0;\n var kills = {};\n var tmp, kid;\n\n loop: while (true) {\n tmp = null;\n\n switch (step.tag) {\n case FORKED:\n if (step._3 === EMPTY) {\n tmp = fibers[step._1];\n kills[count++] = tmp.kill(error, function (result) {\n return function () {\n count--;\n if (count === 0) {\n cb(result)();\n }\n };\n });\n }\n // Terminal case.\n if (head === null) {\n break loop;\n }\n // Go down the right side of the tree.\n step = head._2;\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n break;\n case MAP:\n step = step._2;\n break;\n case APPLY:\n case ALT:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = step;\n step = step._1;\n break;\n }\n }\n\n if (count === 0) {\n cb(util.right(void 0))();\n } else {\n // Run the cancelation effects. We alias `count` because it's mutable.\n kid = 0;\n tmp = count;\n for (; kid < tmp; kid++) {\n kills[kid] = kills[kid]();\n }\n }\n\n return kills;\n }\n\n // When a fiber resolves, we need to bubble back up the tree with the\n // result, computing the applicative nodes.\n function join(result, head, tail) {\n var fail, step, lhs, rhs, tmp, kid;\n\n if (util.isLeft(result)) {\n fail = result;\n step = null;\n } else {\n step = result;\n fail = null;\n }\n\n loop: while (true) {\n lhs = null;\n rhs = null;\n tmp = null;\n kid = null;\n\n // We should never continue if the entire tree has been interrupted.\n if (interrupt !== null) {\n return;\n }\n\n // We've made it all the way to the root of the tree, which means\n // the tree has fully evaluated.\n if (head === null) {\n cb(fail || step)();\n return;\n }\n\n // The tree has already been computed, so we shouldn't try to do it\n // again. This should never happen.\n // TODO: Remove this?\n if (head._3 !== EMPTY) {\n return;\n }\n\n switch (head.tag) {\n case MAP:\n if (fail === null) {\n head._3 = util.right(head._1(util.fromRight(step)));\n step = head._3;\n } else {\n head._3 = fail;\n }\n break;\n case APPLY:\n lhs = head._1._3;\n rhs = head._2._3;\n // If we have a failure we should kill the other side because we\n // can't possible yield a result anymore.\n if (fail) {\n head._3 = fail;\n tmp = true;\n kid = killId++;\n\n kills[kid] = kill(early, fail === lhs ? head._2 : head._1, function (/* unused */) {\n return function () {\n delete kills[kid];\n if (tmp) {\n tmp = false;\n } else if (tail === null) {\n join(fail, null, null);\n } else {\n join(fail, tail._1, tail._2);\n }\n };\n });\n\n if (tmp) {\n tmp = false;\n return;\n }\n } else if (lhs === EMPTY || rhs === EMPTY) {\n // We can only proceed if both sides have resolved.\n return;\n } else {\n step = util.right(util.fromRight(lhs)(util.fromRight(rhs)));\n head._3 = step;\n }\n break;\n case ALT:\n lhs = head._1._3;\n rhs = head._2._3;\n // We can only proceed if both have resolved or we have a success\n if (lhs === EMPTY && util.isLeft(rhs) || rhs === EMPTY && util.isLeft(lhs)) {\n return;\n }\n // If both sides resolve with an error, we should continue with the\n // first error\n if (lhs !== EMPTY && util.isLeft(lhs) && rhs !== EMPTY && util.isLeft(rhs)) {\n fail = step === lhs ? rhs : lhs;\n step = null;\n head._3 = fail;\n } else {\n head._3 = step;\n tmp = true;\n kid = killId++;\n // Once a side has resolved, we need to cancel the side that is still\n // pending before we can continue.\n kills[kid] = kill(early, step === lhs ? head._2 : head._1, function (/* unused */) {\n return function () {\n delete kills[kid];\n if (tmp) {\n tmp = false;\n } else if (tail === null) {\n join(step, null, null);\n } else {\n join(step, tail._1, tail._2);\n }\n };\n });\n\n if (tmp) {\n tmp = false;\n return;\n }\n }\n break;\n }\n\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n }\n }\n\n function resolve(fiber) {\n return function (result) {\n return function () {\n delete fibers[fiber._1];\n fiber._3 = result;\n join(result, fiber._2._1, fiber._2._2);\n };\n };\n }\n\n // Walks the applicative tree, substituting non-applicative nodes with\n // `FORKED` nodes. In this tree, all applicative nodes use the `_3` slot\n // as a mutable slot for memoization. In an unresolved state, the `_3`\n // slot is `EMPTY`. In the cases of `ALT` and `APPLY`, we always walk\n // the left side first, because both operations are left-associative. As\n // we `RETURN` from those branches, we then walk the right side.\n function run() {\n var status = CONTINUE;\n var step = par;\n var head = null;\n var tail = null;\n var tmp, fid;\n\n loop: while (true) {\n tmp = null;\n fid = null;\n\n switch (status) {\n case CONTINUE:\n switch (step.tag) {\n case MAP:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(MAP, step._1, EMPTY, EMPTY);\n step = step._2;\n break;\n case APPLY:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(APPLY, EMPTY, step._2, EMPTY);\n step = step._1;\n break;\n case ALT:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(ALT, EMPTY, step._2, EMPTY);\n step = step._1;\n break;\n default:\n // When we hit a leaf value, we suspend the stack in the `FORKED`.\n // When the fiber resolves, it can bubble back up the tree.\n fid = fiberId++;\n status = RETURN;\n tmp = step;\n step = new Aff(FORKED, fid, new Aff(CONS, head, tail), EMPTY);\n tmp = Fiber(util, supervisor, tmp);\n tmp.onComplete({\n rethrow: false,\n handler: resolve(step)\n })();\n fibers[fid] = tmp;\n if (supervisor) {\n supervisor.register(tmp);\n }\n }\n break;\n case RETURN:\n // Terminal case, we are back at the root.\n if (head === null) {\n break loop;\n }\n // If we are done with the right side, we need to continue down the\n // left. Otherwise we should continue up the stack.\n if (head._1 === EMPTY) {\n head._1 = step;\n status = CONTINUE;\n step = head._2;\n head._2 = EMPTY;\n } else {\n head._2 = step;\n step = head;\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n }\n }\n }\n\n // Keep a reference to the tree root so it can be cancelled.\n root = step;\n\n for (fid = 0; fid < fiberId; fid++) {\n fibers[fid].run();\n }\n }\n\n // Cancels the entire tree. If there are already subtrees being canceled,\n // we need to first cancel those joins. We will then add fresh joins for\n // all pending branches including those that were in the process of being\n // canceled.\n function cancel(error, cb) {\n interrupt = util.left(error);\n var innerKills;\n for (var kid in kills) {\n if (kills.hasOwnProperty(kid)) {\n innerKills = kills[kid];\n for (kid in innerKills) {\n if (innerKills.hasOwnProperty(kid)) {\n innerKills[kid]();\n }\n }\n }\n }\n\n kills = null;\n var newKills = kill(error, root, cb);\n\n return function (killError) {\n return new Aff(ASYNC, function (killCb) {\n return function () {\n for (var kid in newKills) {\n if (newKills.hasOwnProperty(kid)) {\n newKills[kid]();\n }\n }\n return nonCanceler;\n };\n });\n };\n }\n\n run();\n\n return function (killError) {\n return new Aff(ASYNC, function (killCb) {\n return function () {\n return cancel(killError, killCb);\n };\n });\n };\n }\n\n function sequential(util, supervisor, par) {\n return new Aff(ASYNC, function (cb) {\n return function () {\n return runPar(util, supervisor, par, cb);\n };\n });\n }\n\n Aff.EMPTY = EMPTY;\n Aff.Pure = AffCtr(PURE);\n Aff.Throw = AffCtr(THROW);\n Aff.Catch = AffCtr(CATCH);\n Aff.Sync = AffCtr(SYNC);\n Aff.Async = AffCtr(ASYNC);\n Aff.Bind = AffCtr(BIND);\n Aff.Bracket = AffCtr(BRACKET);\n Aff.Fork = AffCtr(FORK);\n Aff.Seq = AffCtr(SEQ);\n Aff.ParMap = AffCtr(MAP);\n Aff.ParApply = AffCtr(APPLY);\n Aff.ParAlt = AffCtr(ALT);\n Aff.Fiber = Fiber;\n Aff.Supervisor = Supervisor;\n Aff.Scheduler = Scheduler;\n Aff.nonCanceler = nonCanceler;\n\n return Aff;\n}();\n\nexport const _pure = Aff.Pure;\nexport const _throwError = Aff.Throw;\n\nexport function _catchError(aff) {\n return function (k) {\n return Aff.Catch(aff, k);\n };\n}\n\nexport function _map(f) {\n return function (aff) {\n if (aff.tag === Aff.Pure.tag) {\n return Aff.Pure(f(aff._1));\n } else {\n return Aff.Bind(aff, function (value) {\n return Aff.Pure(f(value));\n });\n }\n };\n}\n\nexport function _bind(aff) {\n return function (k) {\n return Aff.Bind(aff, k);\n };\n}\n\nexport function _fork(immediate) {\n return function (aff) {\n return Aff.Fork(immediate, aff);\n };\n}\n\nexport const _liftEffect = Aff.Sync;\n\nexport function _parAffMap(f) {\n return function (aff) {\n return Aff.ParMap(f, aff);\n };\n}\n\nexport function _parAffApply(aff1) {\n return function (aff2) {\n return Aff.ParApply(aff1, aff2);\n };\n}\n\nexport function _parAffAlt(aff1) {\n return function (aff2) {\n return Aff.ParAlt(aff1, aff2);\n };\n}\n\nexport const makeAff = Aff.Async;\n\nexport function generalBracket(acquire) {\n return function (options) {\n return function (k) {\n return Aff.Bracket(acquire, options, k);\n };\n };\n}\n\nexport function _makeFiber(util, aff) {\n return function () {\n return Aff.Fiber(util, null, aff);\n };\n}\n\nexport function _makeSupervisedFiber(util, aff) {\n return function () {\n var supervisor = Aff.Supervisor(util);\n return {\n fiber: Aff.Fiber(util, supervisor, aff),\n supervisor: supervisor\n };\n };\n}\n\nexport function _killAll(error, supervisor, cb) {\n return supervisor.killAll(error, cb);\n}\n\nexport const _delay = function () {\n function setDelay(n, k) {\n if (n === 0 && typeof setImmediate !== \"undefined\") {\n return setImmediate(k);\n } else {\n return setTimeout(k, n);\n }\n }\n\n function clearDelay(n, t) {\n if (n === 0 && typeof clearImmediate !== \"undefined\") {\n return clearImmediate(t);\n } else {\n return clearTimeout(t);\n }\n }\n\n return function (right, ms) {\n return Aff.Async(function (cb) {\n return function () {\n var timer = setDelay(ms, cb(right()));\n return function () {\n return Aff.Sync(function () {\n return right(clearDelay(ms, timer));\n });\n };\n };\n });\n };\n}();\n\nexport const _sequential = Aff.Seq;\n", "// Generated by purs version 0.15.2\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Data_Newtype from \"../Data.Newtype/index.js\";\nvar profunctorFn = {\n dimap: function (a2b) {\n return function (c2d) {\n return function (b2c) {\n return function ($8) {\n return c2d(b2c(a2b($8)));\n };\n };\n };\n }\n};\nvar dimap = function (dict) {\n return dict.dimap;\n};\nvar lcmap = function (dictProfunctor) {\n return function (a2b) {\n return dimap(dictProfunctor)(a2b)(Control_Category.identity(Control_Category.categoryFn));\n };\n};\nvar rmap = function (dictProfunctor) {\n return function (b2c) {\n return dimap(dictProfunctor)(Control_Category.identity(Control_Category.categoryFn))(b2c);\n };\n};\nvar unwrapIso = function (dictProfunctor) {\n return function () {\n return dimap(dictProfunctor)(Data_Newtype.wrap())(Data_Newtype.unwrap());\n };\n};\nvar wrapIso = function (dictProfunctor) {\n return function () {\n return function (v) {\n return dimap(dictProfunctor)(Data_Newtype.unwrap())(Data_Newtype.wrap());\n };\n };\n};\nvar arr = function (dictCategory) {\n return function (dictProfunctor) {\n return function (f) {\n return rmap(dictProfunctor)(f)(Control_Category.identity(dictCategory));\n };\n };\n};\nexport {\n dimap,\n lcmap,\n rmap,\n arr,\n unwrapIso,\n wrapIso,\n profunctorFn\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Control_Monad_Cont_Trans from \"../Control.Monad.Cont.Trans/index.js\";\nimport * as Control_Monad_Except_Trans from \"../Control.Monad.Except.Trans/index.js\";\nimport * as Control_Monad_Maybe_Trans from \"../Control.Monad.Maybe.Trans/index.js\";\nimport * as Control_Monad_Reader_Trans from \"../Control.Monad.Reader.Trans/index.js\";\nimport * as Control_Monad_Writer_Trans from \"../Control.Monad.Writer.Trans/index.js\";\nimport * as Data_Either from \"../Data.Either/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Functor_Compose from \"../Data.Functor.Compose/index.js\";\nimport * as Data_Functor_Costar from \"../Data.Functor.Costar/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Profunctor_Star from \"../Data.Profunctor.Star/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Effect_Class from \"../Effect.Class/index.js\";\nimport * as Effect_Ref from \"../Effect.Ref/index.js\";\nvar ParCont = function (x) {\n return x;\n};\nvar sequential = function (dict) {\n return dict.sequential;\n};\nvar parallel = function (dict) {\n return dict.parallel;\n};\nvar newtypeParCont = {\n Coercible0: function () {\n return undefined;\n }\n};\nvar monadParWriterT = function (dictMonoid) {\n return function (dictParallel) {\n return {\n parallel: Control_Monad_Writer_Trans.mapWriterT(parallel(dictParallel)),\n sequential: Control_Monad_Writer_Trans.mapWriterT(sequential(dictParallel)),\n Monad0: function () {\n return Control_Monad_Writer_Trans.monadWriterT(dictMonoid)(dictParallel.Monad0());\n },\n Applicative1: function () {\n return Control_Monad_Writer_Trans.applicativeWriterT(dictMonoid)(dictParallel.Applicative1());\n }\n };\n };\n};\nvar monadParStar = function (dictParallel) {\n return {\n parallel: function (v) {\n var $49 = parallel(dictParallel);\n return function ($50) {\n return $49(v($50));\n };\n },\n sequential: function (v) {\n var $51 = sequential(dictParallel);\n return function ($52) {\n return $51(v($52));\n };\n },\n Monad0: function () {\n return Data_Profunctor_Star.monadStar(dictParallel.Monad0());\n },\n Applicative1: function () {\n return Data_Profunctor_Star.applicativeStar(dictParallel.Applicative1());\n }\n };\n};\nvar monadParReaderT = function (dictParallel) {\n return {\n parallel: Control_Monad_Reader_Trans.mapReaderT(parallel(dictParallel)),\n sequential: Control_Monad_Reader_Trans.mapReaderT(sequential(dictParallel)),\n Monad0: function () {\n return Control_Monad_Reader_Trans.monadReaderT(dictParallel.Monad0());\n },\n Applicative1: function () {\n return Control_Monad_Reader_Trans.applicativeReaderT(dictParallel.Applicative1());\n }\n };\n};\nvar monadParMaybeT = function (dictParallel) {\n return {\n parallel: function (v) {\n return parallel(dictParallel)(v);\n },\n sequential: function (v) {\n return sequential(dictParallel)(v);\n },\n Monad0: function () {\n return Control_Monad_Maybe_Trans.monadMaybeT(dictParallel.Monad0());\n },\n Applicative1: function () {\n return Data_Functor_Compose.applicativeCompose(dictParallel.Applicative1())(Data_Maybe.applicativeMaybe);\n }\n };\n};\nvar monadParExceptT = function (dictParallel) {\n return {\n parallel: function (v) {\n return parallel(dictParallel)(v);\n },\n sequential: function (v) {\n return sequential(dictParallel)(v);\n },\n Monad0: function () {\n return Control_Monad_Except_Trans.monadExceptT(dictParallel.Monad0());\n },\n Applicative1: function () {\n return Data_Functor_Compose.applicativeCompose(dictParallel.Applicative1())(Data_Either.applicativeEither);\n }\n };\n};\nvar monadParCostar = function (dictParallel) {\n return {\n parallel: function (v) {\n var $53 = sequential(dictParallel);\n return function ($54) {\n return v($53($54));\n };\n },\n sequential: function (v) {\n var $55 = parallel(dictParallel);\n return function ($56) {\n return v($55($56));\n };\n },\n Monad0: function () {\n return Data_Functor_Costar.monadCostar;\n },\n Applicative1: function () {\n return Data_Functor_Costar.applicativeCostar;\n }\n };\n};\nvar monadParParCont = function (dictMonadEffect) {\n return {\n parallel: ParCont,\n sequential: function (v) {\n return v;\n },\n Monad0: function () {\n return Control_Monad_Cont_Trans.monadContT(dictMonadEffect.Monad0());\n },\n Applicative1: function () {\n return applicativeParCont(dictMonadEffect);\n }\n };\n};\nvar functorParCont = function (dictMonadEffect) {\n return {\n map: function (f) {\n var $57 = parallel(monadParParCont(dictMonadEffect));\n var $58 = Data_Functor.map(Control_Monad_Cont_Trans.functorContT((((dictMonadEffect.Monad0()).Bind1()).Apply0()).Functor0()))(f);\n var $59 = sequential(monadParParCont(dictMonadEffect));\n return function ($60) {\n return $57($58($59($60)));\n };\n }\n };\n};\nvar applyParCont = function (dictMonadEffect) {\n return {\n apply: function (v) {\n return function (v1) {\n return function (k) {\n return Control_Bind.bind((dictMonadEffect.Monad0()).Bind1())(Effect_Class.liftEffect(dictMonadEffect)(Effect_Ref[\"new\"](Data_Maybe.Nothing.value)))(function (ra) {\n return Control_Bind.bind((dictMonadEffect.Monad0()).Bind1())(Effect_Class.liftEffect(dictMonadEffect)(Effect_Ref[\"new\"](Data_Maybe.Nothing.value)))(function (rb) {\n return Control_Bind.discard(Control_Bind.discardUnit)((dictMonadEffect.Monad0()).Bind1())(Control_Monad_Cont_Trans.runContT(v)(function (a) {\n return Control_Bind.bind((dictMonadEffect.Monad0()).Bind1())(Effect_Class.liftEffect(dictMonadEffect)(Effect_Ref.read(rb)))(function (mb) {\n if (mb instanceof Data_Maybe.Nothing) {\n return Effect_Class.liftEffect(dictMonadEffect)(Effect_Ref.write(new Data_Maybe.Just(a))(ra));\n };\n if (mb instanceof Data_Maybe.Just) {\n return k(a(mb.value0));\n };\n throw new Error(\"Failed pattern match at Control.Parallel.Class (line 82, column 7 - line 84, column 26): \" + [ mb.constructor.name ]);\n });\n }))(function () {\n return Control_Monad_Cont_Trans.runContT(v1)(function (b) {\n return Control_Bind.bind((dictMonadEffect.Monad0()).Bind1())(Effect_Class.liftEffect(dictMonadEffect)(Effect_Ref.read(ra)))(function (ma) {\n if (ma instanceof Data_Maybe.Nothing) {\n return Effect_Class.liftEffect(dictMonadEffect)(Effect_Ref.write(new Data_Maybe.Just(b))(rb));\n };\n if (ma instanceof Data_Maybe.Just) {\n return k(ma.value0(b));\n };\n throw new Error(\"Failed pattern match at Control.Parallel.Class (line 88, column 7 - line 90, column 26): \" + [ ma.constructor.name ]);\n });\n });\n });\n });\n });\n };\n };\n },\n Functor0: function () {\n return functorParCont(dictMonadEffect);\n }\n };\n};\nvar applicativeParCont = function (dictMonadEffect) {\n return {\n pure: (function () {\n var $61 = parallel(monadParParCont(dictMonadEffect));\n var $62 = Control_Applicative.pure(Control_Monad_Cont_Trans.applicativeContT((dictMonadEffect.Monad0()).Applicative0()));\n return function ($63) {\n return $61($62($63));\n };\n })(),\n Apply0: function () {\n return applyParCont(dictMonadEffect);\n }\n };\n};\nvar altParCont = function (dictMonadEffect) {\n return {\n alt: function (v) {\n return function (v1) {\n return function (k) {\n return Control_Bind.bind((dictMonadEffect.Monad0()).Bind1())(Effect_Class.liftEffect(dictMonadEffect)(Effect_Ref[\"new\"](false)))(function (done) {\n return Control_Bind.discard(Control_Bind.discardUnit)((dictMonadEffect.Monad0()).Bind1())(Control_Monad_Cont_Trans.runContT(v)(function (a) {\n return Control_Bind.bind((dictMonadEffect.Monad0()).Bind1())(Effect_Class.liftEffect(dictMonadEffect)(Effect_Ref.read(done)))(function (b) {\n if (b) {\n return Control_Applicative.pure((dictMonadEffect.Monad0()).Applicative0())(Data_Unit.unit);\n };\n return Control_Bind.discard(Control_Bind.discardUnit)((dictMonadEffect.Monad0()).Bind1())(Effect_Class.liftEffect(dictMonadEffect)(Effect_Ref.write(true)(done)))(function () {\n return k(a);\n });\n });\n }))(function () {\n return Control_Monad_Cont_Trans.runContT(v1)(function (a) {\n return Control_Bind.bind((dictMonadEffect.Monad0()).Bind1())(Effect_Class.liftEffect(dictMonadEffect)(Effect_Ref.read(done)))(function (b) {\n if (b) {\n return Control_Applicative.pure((dictMonadEffect.Monad0()).Applicative0())(Data_Unit.unit);\n };\n return Control_Bind.discard(Control_Bind.discardUnit)((dictMonadEffect.Monad0()).Bind1())(Effect_Class.liftEffect(dictMonadEffect)(Effect_Ref.write(true)(done)))(function () {\n return k(a);\n });\n });\n });\n });\n });\n };\n };\n },\n Functor0: function () {\n return functorParCont(dictMonadEffect);\n }\n };\n};\nvar plusParCont = function (dictMonadEffect) {\n return {\n empty: function (v) {\n return Control_Applicative.pure((dictMonadEffect.Monad0()).Applicative0())(Data_Unit.unit);\n },\n Alt0: function () {\n return altParCont(dictMonadEffect);\n }\n };\n};\nvar alternativeParCont = function (dictMonadEffect) {\n return {\n Applicative0: function () {\n return applicativeParCont(dictMonadEffect);\n },\n Plus1: function () {\n return plusParCont(dictMonadEffect);\n }\n };\n};\nexport {\n parallel,\n sequential,\n ParCont,\n monadParExceptT,\n monadParReaderT,\n monadParWriterT,\n monadParMaybeT,\n monadParStar,\n monadParCostar,\n newtypeParCont,\n functorParCont,\n applyParCont,\n applicativeParCont,\n altParCont,\n plusParCont,\n alternativeParCont,\n monadParParCont\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Apply from \"../Control.Apply/index.js\";\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Control_Parallel_Class from \"../Control.Parallel.Class/index.js\";\nimport * as Data_Foldable from \"../Data.Foldable/index.js\";\nimport * as Data_Traversable from \"../Data.Traversable/index.js\";\nvar parTraverse_ = function (dictParallel) {\n return function (dictFoldable) {\n return function (f) {\n var $17 = Control_Parallel_Class.sequential(dictParallel);\n var $18 = Data_Foldable.traverse_(dictParallel.Applicative1())(dictFoldable)((function () {\n var $20 = Control_Parallel_Class.parallel(dictParallel);\n return function ($21) {\n return $20(f($21));\n };\n })());\n return function ($19) {\n return $17($18($19));\n };\n };\n };\n};\nvar parTraverse = function (dictParallel) {\n return function (dictTraversable) {\n return function (f) {\n var $22 = Control_Parallel_Class.sequential(dictParallel);\n var $23 = Data_Traversable.traverse(dictTraversable)(dictParallel.Applicative1())((function () {\n var $25 = Control_Parallel_Class.parallel(dictParallel);\n return function ($26) {\n return $25(f($26));\n };\n })());\n return function ($24) {\n return $22($23($24));\n };\n };\n };\n};\nvar parSequence_ = function (dictParallel) {\n return function (dictFoldable) {\n return parTraverse_(dictParallel)(dictFoldable)(Control_Category.identity(Control_Category.categoryFn));\n };\n};\nvar parSequence = function (dictParallel) {\n return function (dictTraversable) {\n return parTraverse(dictParallel)(dictTraversable)(Control_Category.identity(Control_Category.categoryFn));\n };\n};\nvar parOneOfMap = function (dictParallel) {\n return function (dictAlternative) {\n return function (dictFoldable) {\n return function (dictFunctor) {\n return function (f) {\n var $27 = Control_Parallel_Class.sequential(dictParallel);\n var $28 = Data_Foldable.oneOfMap(dictFoldable)(dictAlternative.Plus1())((function () {\n var $30 = Control_Parallel_Class.parallel(dictParallel);\n return function ($31) {\n return $30(f($31));\n };\n })());\n return function ($29) {\n return $27($28($29));\n };\n };\n };\n };\n };\n};\nvar parOneOf = function (dictParallel) {\n return function (dictAlternative) {\n return function (dictFoldable) {\n return function (dictFunctor) {\n var $32 = Control_Parallel_Class.sequential(dictParallel);\n var $33 = Data_Foldable.oneOfMap(dictFoldable)(dictAlternative.Plus1())(Control_Parallel_Class.parallel(dictParallel));\n return function ($34) {\n return $32($33($34));\n };\n };\n };\n };\n};\nvar parApply = function (dictParallel) {\n return function (mf) {\n return function (ma) {\n return Control_Parallel_Class.sequential(dictParallel)(Control_Apply.apply((dictParallel.Applicative1()).Apply0())(Control_Parallel_Class.parallel(dictParallel)(mf))(Control_Parallel_Class.parallel(dictParallel)(ma)));\n };\n };\n};\nexport {\n parApply,\n parTraverse,\n parTraverse_,\n parSequence,\n parSequence_,\n parOneOf,\n parOneOfMap\n};\nexport {\n ParCont,\n parallel,\n sequential\n} from \"../Control.Parallel.Class/index.js\";\n", "export const unsafePerformEffect = function (f) {\n return f();\n};\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Apply from \"../Control.Apply/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Control_Monad from \"../Control.Monad/index.js\";\nimport * as Control_Monad_Error_Class from \"../Control.Monad.Error.Class/index.js\";\nimport * as Control_Monad_Rec_Class from \"../Control.Monad.Rec.Class/index.js\";\nimport * as Control_Parallel from \"../Control.Parallel/index.js\";\nimport * as Control_Parallel_Class from \"../Control.Parallel.Class/index.js\";\nimport * as Control_Plus from \"../Control.Plus/index.js\";\nimport * as Data_Either from \"../Data.Either/index.js\";\nimport * as Data_Foldable from \"../Data.Foldable/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Monoid from \"../Data.Monoid/index.js\";\nimport * as Data_Semigroup from \"../Data.Semigroup/index.js\";\nimport * as Data_Time_Duration from \"../Data.Time.Duration/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Effect from \"../Effect/index.js\";\nimport * as Effect_Class from \"../Effect.Class/index.js\";\nimport * as Effect_Exception from \"../Effect.Exception/index.js\";\nimport * as Effect_Unsafe from \"../Effect.Unsafe/index.js\";\nimport * as Partial_Unsafe from \"../Partial.Unsafe/index.js\";\nimport * as Unsafe_Coerce from \"../Unsafe.Coerce/index.js\";\nvar $runtime_lazy = function (name, moduleName, init) {\n var state = 0;\n var val;\n return function (lineNumber) {\n if (state === 2) return val;\n if (state === 1) throw new ReferenceError(name + \" was needed before it finished initializing (module \" + moduleName + \", line \" + lineNumber + \")\", moduleName, lineNumber);\n state = 1;\n val = init();\n state = 2;\n return val;\n };\n};\nvar Fiber = function (x) {\n return x;\n};\nvar FFIUtil = function (x) {\n return x;\n};\nvar Canceler = function (x) {\n return x;\n};\nvar suspendAff = /* #__PURE__ */ $foreign[\"_fork\"](false);\nvar newtypeCanceler = {\n Coercible0: function () {\n return undefined;\n }\n};\nvar functorParAff = {\n map: $foreign[\"_parAffMap\"]\n};\nvar functorAff = {\n map: $foreign[\"_map\"]\n};\nvar forkAff = /* #__PURE__ */ $foreign[\"_fork\"](true);\nvar ffiUtil = /* #__PURE__ */ (function () {\n var unsafeFromRight = function (v) {\n if (v instanceof Data_Either.Right) {\n return v.value0;\n };\n if (v instanceof Data_Either.Left) {\n return Partial_Unsafe.unsafeCrashWith(\"unsafeFromRight: Left\");\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 407, column 21 - line 409, column 54): \" + [ v.constructor.name ]);\n };\n var unsafeFromLeft = function (v) {\n if (v instanceof Data_Either.Left) {\n return v.value0;\n };\n if (v instanceof Data_Either.Right) {\n return Partial_Unsafe.unsafeCrashWith(\"unsafeFromLeft: Right\");\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 402, column 20 - line 404, column 55): \" + [ v.constructor.name ]);\n };\n var isLeft = function (v) {\n if (v instanceof Data_Either.Left) {\n return true;\n };\n if (v instanceof Data_Either.Right) {\n return false;\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 397, column 12 - line 399, column 21): \" + [ v.constructor.name ]);\n };\n return {\n isLeft: isLeft,\n fromLeft: unsafeFromLeft,\n fromRight: unsafeFromRight,\n left: Data_Either.Left.create,\n right: Data_Either.Right.create\n };\n})();\nvar makeFiber = function (aff) {\n return $foreign[\"_makeFiber\"](ffiUtil, aff);\n};\nvar launchAff = function (aff) {\n return function __do() {\n var fiber = makeFiber(aff)();\n fiber.run();\n return fiber;\n };\n};\nvar launchAff_ = /* #__PURE__ */ (function () {\n var $39 = Data_Functor[\"void\"](Effect.functorEffect);\n return function ($40) {\n return $39(launchAff($40));\n };\n})();\nvar launchSuspendedAff = makeFiber;\nvar delay = function (v) {\n return $foreign[\"_delay\"](Data_Either.Right.create, v);\n};\nvar bracket = function (acquire) {\n return function (completed) {\n return $foreign.generalBracket(acquire)({\n killed: Data_Function[\"const\"](completed),\n failed: Data_Function[\"const\"](completed),\n completed: Data_Function[\"const\"](completed)\n });\n };\n};\nvar applyParAff = {\n apply: $foreign[\"_parAffApply\"],\n Functor0: function () {\n return functorParAff;\n }\n};\nvar semigroupParAff = function (dictSemigroup) {\n return {\n append: Control_Apply.lift2(applyParAff)(Data_Semigroup.append(dictSemigroup))\n };\n};\nvar monadAff = {\n Applicative0: function () {\n return applicativeAff;\n },\n Bind1: function () {\n return bindAff;\n }\n};\nvar bindAff = {\n bind: $foreign[\"_bind\"],\n Apply0: function () {\n return $lazy_applyAff(0);\n }\n};\nvar applicativeAff = {\n pure: $foreign[\"_pure\"],\n Apply0: function () {\n return $lazy_applyAff(0);\n }\n};\nvar $lazy_applyAff = /* #__PURE__ */ $runtime_lazy(\"applyAff\", \"Effect.Aff\", function () {\n return {\n apply: Control_Monad.ap(monadAff),\n Functor0: function () {\n return functorAff;\n }\n };\n});\nvar applyAff = /* #__PURE__ */ $lazy_applyAff(71);\nvar cancelWith = function (aff) {\n return function (v) {\n return $foreign.generalBracket(Control_Applicative.pure(applicativeAff)(Data_Unit.unit))({\n killed: function (e) {\n return function (v1) {\n return v(e);\n };\n },\n failed: Data_Function[\"const\"](Control_Applicative.pure(applicativeAff)),\n completed: Data_Function[\"const\"](Control_Applicative.pure(applicativeAff))\n })(Data_Function[\"const\"](aff));\n };\n};\nvar $$finally = function (fin) {\n return function (a) {\n return bracket(Control_Applicative.pure(applicativeAff)(Data_Unit.unit))(Data_Function[\"const\"](fin))(Data_Function[\"const\"](a));\n };\n};\nvar invincible = function (a) {\n return bracket(a)(Data_Function[\"const\"](Control_Applicative.pure(applicativeAff)(Data_Unit.unit)))(Control_Applicative.pure(applicativeAff));\n};\nvar lazyAff = {\n defer: function (f) {\n return Control_Bind.bind(bindAff)(Control_Applicative.pure(applicativeAff)(Data_Unit.unit))(f);\n }\n};\nvar semigroupAff = function (dictSemigroup) {\n return {\n append: Control_Apply.lift2(applyAff)(Data_Semigroup.append(dictSemigroup))\n };\n};\nvar monadEffectAff = {\n liftEffect: $foreign[\"_liftEffect\"],\n Monad0: function () {\n return monadAff;\n }\n};\nvar effectCanceler = /* #__PURE__ */ (function () {\n var $41 = Effect_Class.liftEffect(monadEffectAff);\n return function ($42) {\n return Canceler(Data_Function[\"const\"]($41($42)));\n };\n})();\nvar joinFiber = function (v) {\n return $foreign.makeAff(function (k) {\n return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.join(k));\n });\n};\nvar functorFiber = {\n map: function (f) {\n return function (t) {\n return Effect_Unsafe.unsafePerformEffect(makeFiber(Data_Functor.map(functorAff)(f)(joinFiber(t))));\n };\n }\n};\nvar applyFiber = {\n apply: function (t1) {\n return function (t2) {\n return Effect_Unsafe.unsafePerformEffect(makeFiber(Control_Apply.apply(applyAff)(joinFiber(t1))(joinFiber(t2))));\n };\n },\n Functor0: function () {\n return functorFiber;\n }\n};\nvar applicativeFiber = {\n pure: function (a) {\n return Effect_Unsafe.unsafePerformEffect(makeFiber(Control_Applicative.pure(applicativeAff)(a)));\n },\n Apply0: function () {\n return applyFiber;\n }\n};\nvar killFiber = function (e) {\n return function (v) {\n return Control_Bind.bind(bindAff)(Effect_Class.liftEffect(monadEffectAff)(v.isSuspended))(function (suspended) {\n if (suspended) {\n return Effect_Class.liftEffect(monadEffectAff)(Data_Functor[\"void\"](Effect.functorEffect)(v.kill(e, Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit)))));\n };\n return $foreign.makeAff(function (k) {\n return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.kill(e, k));\n });\n });\n };\n};\nvar fiberCanceler = /* #__PURE__ */ (function () {\n var $43 = Data_Function.flip(killFiber);\n return function ($44) {\n return Canceler($43($44));\n };\n})();\nvar monadThrowAff = {\n throwError: $foreign[\"_throwError\"],\n Monad0: function () {\n return monadAff;\n }\n};\nvar monadErrorAff = {\n catchError: $foreign[\"_catchError\"],\n MonadThrow0: function () {\n return monadThrowAff;\n }\n};\nvar attempt = /* #__PURE__ */ Control_Monad_Error_Class[\"try\"](monadErrorAff);\nvar runAff = function (k) {\n return function (aff) {\n return launchAff(Control_Bind.bindFlipped(bindAff)((function () {\n var $45 = Effect_Class.liftEffect(monadEffectAff);\n return function ($46) {\n return $45(k($46));\n };\n })())(Control_Monad_Error_Class[\"try\"](monadErrorAff)(aff)));\n };\n};\nvar runAff_ = function (k) {\n return function (aff) {\n return Data_Functor[\"void\"](Effect.functorEffect)(runAff(k)(aff));\n };\n};\nvar runSuspendedAff = function (k) {\n return function (aff) {\n return launchSuspendedAff(Control_Bind.bindFlipped(bindAff)((function () {\n var $47 = Effect_Class.liftEffect(monadEffectAff);\n return function ($48) {\n return $47(k($48));\n };\n })())(Control_Monad_Error_Class[\"try\"](monadErrorAff)(aff)));\n };\n};\nvar parallelAff = {\n parallel: Unsafe_Coerce.unsafeCoerce,\n sequential: $foreign[\"_sequential\"],\n Monad0: function () {\n return monadAff;\n },\n Applicative1: function () {\n return $lazy_applicativeParAff(0);\n }\n};\nvar $lazy_applicativeParAff = /* #__PURE__ */ $runtime_lazy(\"applicativeParAff\", \"Effect.Aff\", function () {\n return {\n pure: (function () {\n var $49 = Control_Parallel_Class.parallel(parallelAff);\n var $50 = Control_Applicative.pure(applicativeAff);\n return function ($51) {\n return $49($50($51));\n };\n })(),\n Apply0: function () {\n return applyParAff;\n }\n };\n});\nvar applicativeParAff = /* #__PURE__ */ $lazy_applicativeParAff(131);\nvar monoidParAff = function (dictMonoid) {\n return {\n mempty: Control_Applicative.pure(applicativeParAff)(Data_Monoid.mempty(dictMonoid)),\n Semigroup0: function () {\n return semigroupParAff(dictMonoid.Semigroup0());\n }\n };\n};\nvar semigroupCanceler = {\n append: function (v) {\n return function (v1) {\n return function (err) {\n return Control_Parallel.parSequence_(parallelAff)(Data_Foldable.foldableArray)([ v(err), v1(err) ]);\n };\n };\n }\n};\nvar supervise = function (aff) {\n var killError = Effect_Exception.error(\"[Aff] Child fiber outlived parent\");\n var killAll = function (err) {\n return function (sup) {\n return $foreign.makeAff(function (k) {\n return $foreign[\"_killAll\"](err, sup.supervisor, k(Control_Applicative.pure(Data_Either.applicativeEither)(Data_Unit.unit)));\n });\n };\n };\n var acquire = function __do() {\n var sup = $foreign[\"_makeSupervisedFiber\"](ffiUtil, aff)();\n sup.fiber.run();\n return sup;\n };\n return $foreign.generalBracket(Effect_Class.liftEffect(monadEffectAff)(acquire))({\n killed: function (err) {\n return function (sup) {\n return Control_Parallel.parSequence_(parallelAff)(Data_Foldable.foldableArray)([ killFiber(err)(sup.fiber), killAll(err)(sup) ]);\n };\n },\n failed: Data_Function[\"const\"](killAll(killError)),\n completed: Data_Function[\"const\"](killAll(killError))\n })(function ($52) {\n return joinFiber((function (v) {\n return v.fiber;\n })($52));\n });\n};\nvar monadRecAff = {\n tailRecM: function (k) {\n var go = function (a) {\n return Control_Bind.bind(bindAff)(k(a))(function (res) {\n if (res instanceof Control_Monad_Rec_Class.Done) {\n return Control_Applicative.pure(applicativeAff)(res.value0);\n };\n if (res instanceof Control_Monad_Rec_Class.Loop) {\n return go(res.value0);\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 102, column 7 - line 104, column 23): \" + [ res.constructor.name ]);\n });\n };\n return go;\n },\n Monad0: function () {\n return monadAff;\n }\n};\nvar monoidAff = function (dictMonoid) {\n return {\n mempty: Control_Applicative.pure(applicativeAff)(Data_Monoid.mempty(dictMonoid)),\n Semigroup0: function () {\n return semigroupAff(dictMonoid.Semigroup0());\n }\n };\n};\nvar nonCanceler = /* #__PURE__ */ Data_Function[\"const\"](/* #__PURE__ */ Control_Applicative.pure(applicativeAff)(Data_Unit.unit));\nvar monoidCanceler = {\n mempty: nonCanceler,\n Semigroup0: function () {\n return semigroupCanceler;\n }\n};\nvar never = /* #__PURE__ */ $foreign.makeAff(function (v) {\n return Control_Applicative.pure(Effect.applicativeEffect)(Data_Monoid.mempty(monoidCanceler));\n});\nvar apathize = /* #__PURE__ */ (function () {\n var $53 = Data_Functor.map(functorAff)(Data_Function[\"const\"](Data_Unit.unit));\n return function ($54) {\n return $53(attempt($54));\n };\n})();\nvar altParAff = {\n alt: $foreign[\"_parAffAlt\"],\n Functor0: function () {\n return functorParAff;\n }\n};\nvar altAff = {\n alt: function (a1) {\n return function (a2) {\n return Control_Monad_Error_Class.catchError(monadErrorAff)(a1)(Data_Function[\"const\"](a2));\n };\n },\n Functor0: function () {\n return functorAff;\n }\n};\nvar plusAff = {\n empty: /* #__PURE__ */ Control_Monad_Error_Class.throwError(monadThrowAff)(/* #__PURE__ */ Effect_Exception.error(\"Always fails\")),\n Alt0: function () {\n return altAff;\n }\n};\nvar plusParAff = {\n empty: /* #__PURE__ */ Control_Parallel_Class.parallel(parallelAff)(/* #__PURE__ */ Control_Plus.empty(plusAff)),\n Alt0: function () {\n return altParAff;\n }\n};\nvar alternativeParAff = {\n Applicative0: function () {\n return applicativeParAff;\n },\n Plus1: function () {\n return plusParAff;\n }\n};\nexport {\n makeAff,\n generalBracket\n} from \"./foreign.js\";\nexport {\n Canceler,\n launchAff,\n launchAff_,\n launchSuspendedAff,\n runAff,\n runAff_,\n runSuspendedAff,\n forkAff,\n suspendAff,\n supervise,\n attempt,\n apathize,\n delay,\n never,\n $$finally as finally,\n invincible,\n killFiber,\n joinFiber,\n cancelWith,\n bracket,\n nonCanceler,\n effectCanceler,\n fiberCanceler,\n functorAff,\n applyAff,\n applicativeAff,\n bindAff,\n monadAff,\n semigroupAff,\n monoidAff,\n altAff,\n plusAff,\n monadRecAff,\n monadThrowAff,\n monadErrorAff,\n monadEffectAff,\n lazyAff,\n functorParAff,\n applyParAff,\n applicativeParAff,\n semigroupParAff,\n monoidParAff,\n altParAff,\n plusParAff,\n alternativeParAff,\n parallelAff,\n functorFiber,\n applyFiber,\n applicativeFiber,\n newtypeCanceler,\n semigroupCanceler,\n monoidCanceler\n};\nexport {\n catchError,\n throwError,\n try\n} from \"../Control.Monad.Error.Class/index.js\";\nexport {\n parallel,\n sequential\n} from \"../Control.Parallel.Class/index.js\";\nexport {\n Milliseconds\n} from \"../Data.Time.Duration/index.js\";\nexport {\n error,\n message\n} from \"../Effect.Exception/index.js\";\n", "// Generated by purs version 0.15.2\nimport * as Data_Either from \"../Data.Either/index.js\";\nimport * as Effect_Aff from \"../Effect.Aff/index.js\";\nimport * as Effect_Uncurried from \"../Effect.Uncurried/index.js\";\nvar EffectFnCanceler = function (x) {\n return x;\n};\nvar EffectFnAff = function (x) {\n return x;\n};\nvar fromEffectFnAff = function (v) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v1 = v(function ($4) {\n return k(Data_Either.Left.create($4))();\n }, function ($5) {\n return k(Data_Either.Right.create($5))();\n });\n return function (e) {\n return Effect_Aff.makeAff(function (k2) {\n return function __do() {\n v1(e, function ($6) {\n return k2(Data_Either.Left.create($6))();\n }, function ($7) {\n return k2(Data_Either.Right.create($7))();\n });\n return Effect_Aff.nonCanceler;\n };\n });\n };\n };\n });\n};\nexport {\n EffectFnAff,\n EffectFnCanceler,\n fromEffectFnAff\n};\nexport {\n mkEffectFn1,\n mkEffectFn2,\n mkEffectFn3,\n runEffectFn1,\n runEffectFn2,\n runEffectFn3\n} from \"../Effect.Uncurried/index.js\";\n", "export function typeOf(value) {\n return typeof value;\n}\n\nexport function tagOf(value) {\n return Object.prototype.toString.call(value).slice(8, -1);\n}\n\nexport function isNull(value) {\n return value === null;\n}\n\nexport function isUndefined(value) {\n return value === undefined;\n}\n\nexport const isArray = Array.isArray || function (value) {\n return Object.prototype.toString.call(value) === \"[object Array]\";\n};\n", "export const fromNumberImpl = function (just) {\n return function (nothing) {\n return function (n) {\n /* jshint bitwise: false */\n return (n | 0) === n ? just(n) : nothing;\n };\n };\n};\n\nexport const toNumber = function (n) {\n return n;\n};\n\nexport const fromStringAsImpl = function (just) {\n return function (nothing) {\n return function (radix) {\n var digits;\n if (radix < 11) {\n digits = \"[0-\" + (radix - 1).toString() + \"]\";\n } else if (radix === 11) {\n digits = \"[0-9a]\";\n } else {\n digits = \"[0-9a-\" + String.fromCharCode(86 + radix) + \"]\";\n }\n var pattern = new RegExp(\"^[\\\\+\\\\-]?\" + digits + \"+$\", \"i\");\n\n return function (s) {\n /* jshint bitwise: false */\n if (pattern.test(s)) {\n var i = parseInt(s, radix);\n return (i | 0) === i ? just(i) : nothing;\n } else {\n return nothing;\n }\n };\n };\n };\n};\n\nexport const toStringAs = function (radix) {\n return function (i) {\n return i.toString(radix);\n };\n};\n\n\nexport const quot = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x / y | 0;\n };\n};\n\nexport const rem = function (x) {\n return function (y) {\n return x % y;\n };\n};\n\nexport const pow = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return Math.pow(x,y) | 0;\n };\n};\n", "/* globals exports */\nexport const nan = NaN;\nconst isNaNImpl = isNaN;\nexport { isNaNImpl as isNaN };\nexport const infinity = Infinity;\nconst isFiniteImpl = isFinite;\nexport { isFiniteImpl as isFinite };\n\nexport function fromStringImpl(str, isFinite, just, nothing) {\n var num = parseFloat(str);\n if (isFinite(num)) {\n return just(num);\n } else {\n return nothing;\n }\n}\n\nexport const abs = Math.abs;\n\nexport const acos = Math.acos;\n\nexport const asin = Math.asin;\n\nexport const atan = Math.atan;\n\nexport const atan2 = function (y) {\n return function (x) {\n return Math.atan2(y, x);\n };\n};\n\nexport const ceil = Math.ceil;\n\nexport const cos = Math.cos;\n\nexport const exp = Math.exp;\n\nexport const floor = Math.floor;\n\nexport const log = Math.log;\n\nexport const max = function (n1) {\n return function (n2) {\n return Math.max(n1, n2);\n };\n};\n\nexport const min = function (n1) {\n return function (n2) {\n return Math.min(n1, n2);\n };\n};\n\nexport const pow = function (n) {\n return function (p) {\n return Math.pow(n, p);\n };\n};\n\nexport const remainder = function (n) {\n return function (m) {\n return n % m;\n };\n};\n\nexport const round = Math.round;\n\nexport const sign = Math.sign ? Math.sign : function(x) {\n return x === 0 || x !== x ? x : (x < 0 ? -1 : 1);\n};\n\nexport const sin = Math.sin;\n\nexport const sqrt = Math.sqrt;\n\nexport const tan = Math.tan;\n\nexport const trunc = Math.trunc ? Math.trunc : function(x) {\n return x < 0 ? Math.ceil(x) : Math.floor(x);\n}\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Data_Boolean from \"../Data.Boolean/index.js\";\nimport * as Data_Bounded from \"../Data.Bounded/index.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Number from \"../Data.Number/index.js\";\nimport * as Data_Ordering from \"../Data.Ordering/index.js\";\nimport * as Data_Semiring from \"../Data.Semiring/index.js\";\nvar Radix = function (x) {\n return x;\n};\nvar Even = /* #__PURE__ */ (function () {\n function Even() {\n\n };\n Even.value = new Even();\n return Even;\n})();\nvar Odd = /* #__PURE__ */ (function () {\n function Odd() {\n\n };\n Odd.value = new Odd();\n return Odd;\n})();\nvar showParity = {\n show: function (v) {\n if (v instanceof Even) {\n return \"Even\";\n };\n if (v instanceof Odd) {\n return \"Odd\";\n };\n throw new Error(\"Failed pattern match at Data.Int (line 117, column 1 - line 119, column 19): \" + [ v.constructor.name ]);\n }\n};\nvar radix = function (n) {\n if (n >= 2 && n <= 36) {\n return new Data_Maybe.Just(n);\n };\n if (Data_Boolean.otherwise) {\n return Data_Maybe.Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Int (line 198, column 1 - line 198, column 28): \" + [ n.constructor.name ]);\n};\nvar odd = function (x) {\n return (x & 1) !== 0;\n};\nvar octal = 8;\nvar hexadecimal = 16;\nvar fromStringAs = /* #__PURE__ */ (function () {\n return $foreign.fromStringAsImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n})();\nvar fromString = /* #__PURE__ */ fromStringAs(10);\nvar fromNumber = /* #__PURE__ */ (function () {\n return $foreign.fromNumberImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n})();\nvar unsafeClamp = function (x) {\n if (!Data_Number[\"isFinite\"](x)) {\n return 0;\n };\n if (x >= $foreign.toNumber(Data_Bounded.top(Data_Bounded.boundedInt))) {\n return Data_Bounded.top(Data_Bounded.boundedInt);\n };\n if (x <= $foreign.toNumber(Data_Bounded.bottom(Data_Bounded.boundedInt))) {\n return Data_Bounded.bottom(Data_Bounded.boundedInt);\n };\n if (Data_Boolean.otherwise) {\n return Data_Maybe.fromMaybe(0)(fromNumber(x));\n };\n throw new Error(\"Failed pattern match at Data.Int (line 72, column 1 - line 72, column 29): \" + [ x.constructor.name ]);\n};\nvar round = function ($23) {\n return unsafeClamp(Data_Number.round($23));\n};\nvar trunc = function ($24) {\n return unsafeClamp(Data_Number.trunc($24));\n};\nvar floor = function ($25) {\n return unsafeClamp(Data_Number.floor($25));\n};\nvar even = function (x) {\n return (x & 1) === 0;\n};\nvar parity = function (n) {\n var $14 = even(n);\n if ($14) {\n return Even.value;\n };\n return Odd.value;\n};\nvar eqParity = {\n eq: function (x) {\n return function (y) {\n if (x instanceof Even && y instanceof Even) {\n return true;\n };\n if (x instanceof Odd && y instanceof Odd) {\n return true;\n };\n return false;\n };\n }\n};\nvar ordParity = {\n compare: function (x) {\n return function (y) {\n if (x instanceof Even && y instanceof Even) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof Even) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof Even) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof Odd && y instanceof Odd) {\n return Data_Ordering.EQ.value;\n };\n throw new Error(\"Failed pattern match at Data.Int (line 0, column 0 - line 0, column 0): \" + [ x.constructor.name, y.constructor.name ]);\n };\n },\n Eq0: function () {\n return eqParity;\n }\n};\nvar semiringParity = /* #__PURE__ */ (function () {\n return {\n zero: Even.value,\n add: function (x) {\n return function (y) {\n var $19 = Data_Eq.eq(eqParity)(x)(y);\n if ($19) {\n return Even.value;\n };\n return Odd.value;\n };\n },\n one: Odd.value,\n mul: function (v) {\n return function (v1) {\n if (v instanceof Odd && v1 instanceof Odd) {\n return Odd.value;\n };\n return Even.value;\n };\n }\n };\n})();\nvar ringParity = {\n sub: /* #__PURE__ */ Data_Semiring.add(semiringParity),\n Semiring0: function () {\n return semiringParity;\n }\n};\nvar divisionRingParity = {\n recip: /* #__PURE__ */ Control_Category.identity(Control_Category.categoryFn),\n Ring0: function () {\n return ringParity;\n }\n};\nvar decimal = 10;\nvar commutativeRingParity = {\n Ring0: function () {\n return ringParity;\n }\n};\nvar euclideanRingParity = {\n degree: function (v) {\n if (v instanceof Even) {\n return 0;\n };\n if (v instanceof Odd) {\n return 1;\n };\n throw new Error(\"Failed pattern match at Data.Int (line 137, column 1 - line 141, column 17): \" + [ v.constructor.name ]);\n },\n div: function (x) {\n return function (v) {\n return x;\n };\n },\n mod: function (v) {\n return function (v1) {\n return Even.value;\n };\n },\n CommutativeRing0: function () {\n return commutativeRingParity;\n }\n};\nvar ceil = function ($26) {\n return unsafeClamp(Data_Number.ceil($26));\n};\nvar boundedParity = /* #__PURE__ */ (function () {\n return {\n bottom: Even.value,\n top: Odd.value,\n Ord0: function () {\n return ordParity;\n }\n };\n})();\nvar binary = 2;\nvar base36 = 36;\nexport {\n toNumber,\n toStringAs,\n quot,\n rem,\n pow\n} from \"./foreign.js\";\nexport {\n fromNumber,\n ceil,\n floor,\n trunc,\n round,\n fromString,\n radix,\n binary,\n octal,\n decimal,\n hexadecimal,\n base36,\n fromStringAs,\n Even,\n Odd,\n parity,\n even,\n odd,\n eqParity,\n ordParity,\n showParity,\n boundedParity,\n semiringParity,\n ringParity,\n commutativeRingParity,\n euclideanRingParity,\n divisionRingParity\n};\n", "export const fromCharArray = function (a) {\n return a.join(\"\");\n};\n\nexport const toCharArray = function (s) {\n return s.split(\"\");\n};\n\nexport const singleton = function (c) {\n return c;\n};\n\nexport const _charAt = function (just) {\n return function (nothing) {\n return function (i) {\n return function (s) {\n return i >= 0 && i < s.length ? just(s.charAt(i)) : nothing;\n };\n };\n };\n};\n\nexport const _toChar = function (just) {\n return function (nothing) {\n return function (s) {\n return s.length === 1 ? just(s) : nothing;\n };\n };\n};\n\nexport const length = function (s) {\n return s.length;\n};\n\nexport const countPrefix = function (p) {\n return function (s) {\n var i = 0;\n while (i < s.length && p(s.charAt(i))) i++;\n return i;\n };\n};\n\nexport const _indexOf = function (just) {\n return function (nothing) {\n return function (x) {\n return function (s) {\n var i = s.indexOf(x);\n return i === -1 ? nothing : just(i);\n };\n };\n };\n};\n\nexport const _indexOfStartingAt = function (just) {\n return function (nothing) {\n return function (x) {\n return function (startAt) {\n return function (s) {\n if (startAt < 0 || startAt > s.length) return nothing;\n var i = s.indexOf(x, startAt);\n return i === -1 ? nothing : just(i);\n };\n };\n };\n };\n};\n\nexport const _lastIndexOf = function (just) {\n return function (nothing) {\n return function (x) {\n return function (s) {\n var i = s.lastIndexOf(x);\n return i === -1 ? nothing : just(i);\n };\n };\n };\n};\n\nexport const _lastIndexOfStartingAt = function (just) {\n return function (nothing) {\n return function (x) {\n return function (startAt) {\n return function (s) {\n var i = s.lastIndexOf(x, startAt);\n return i === -1 ? nothing : just(i);\n };\n };\n };\n };\n};\n\nexport const take = function (n) {\n return function (s) {\n return s.substr(0, n);\n };\n};\n\nexport const drop = function (n) {\n return function (s) {\n return s.substring(n);\n };\n};\n\nexport const slice = function (b) {\n return function (e) {\n return function (s) {\n return s.slice(b,e);\n };\n };\n};\n\nexport const splitAt = function (i) {\n return function (s) {\n return { before: s.substring(0, i), after: s.substring(i) };\n };\n};\n", "export const charAt = function (i) {\n return function (s) {\n if (i >= 0 && i < s.length) return s.charAt(i);\n throw new Error(\"Data.String.Unsafe.charAt: Invalid index.\");\n };\n};\n\nexport const char = function (s) {\n if (s.length === 1) return s.charAt(0);\n throw new Error(\"Data.String.Unsafe.char: Expected string of length 1.\");\n};\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_String_Unsafe from \"../Data.String.Unsafe/index.js\";\nvar uncons = function (v) {\n if (v === \"\") {\n return Data_Maybe.Nothing.value;\n };\n return new Data_Maybe.Just({\n head: Data_String_Unsafe.charAt(0)(v),\n tail: $foreign.drop(1)(v)\n });\n};\nvar toChar = /* #__PURE__ */ (function () {\n return $foreign[\"_toChar\"](Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n})();\nvar takeWhile = function (p) {\n return function (s) {\n return $foreign.take($foreign.countPrefix(p)(s))(s);\n };\n};\nvar takeRight = function (i) {\n return function (s) {\n return $foreign.drop($foreign.length(s) - i | 0)(s);\n };\n};\nvar stripSuffix = function (v) {\n return function (str) {\n var v1 = $foreign.splitAt($foreign.length(str) - $foreign.length(v) | 0)(str);\n var $9 = v1.after === v;\n if ($9) {\n return new Data_Maybe.Just(v1.before);\n };\n return Data_Maybe.Nothing.value;\n };\n};\nvar stripPrefix = function (v) {\n return function (str) {\n var v1 = $foreign.splitAt($foreign.length(v))(str);\n var $15 = v1.before === v;\n if ($15) {\n return new Data_Maybe.Just(v1.after);\n };\n return Data_Maybe.Nothing.value;\n };\n};\nvar lastIndexOf$prime = /* #__PURE__ */ (function () {\n return $foreign[\"_lastIndexOfStartingAt\"](Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n})();\nvar lastIndexOf = /* #__PURE__ */ (function () {\n return $foreign[\"_lastIndexOf\"](Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n})();\nvar indexOf$prime = /* #__PURE__ */ (function () {\n return $foreign[\"_indexOfStartingAt\"](Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n})();\nvar indexOf = /* #__PURE__ */ (function () {\n return $foreign[\"_indexOf\"](Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n})();\nvar dropWhile = function (p) {\n return function (s) {\n return $foreign.drop($foreign.countPrefix(p)(s))(s);\n };\n};\nvar dropRight = function (i) {\n return function (s) {\n return $foreign.take($foreign.length(s) - i | 0)(s);\n };\n};\nvar contains = function (pat) {\n var $18 = indexOf(pat);\n return function ($19) {\n return Data_Maybe.isJust($18($19));\n };\n};\nvar charAt = /* #__PURE__ */ (function () {\n return $foreign[\"_charAt\"](Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n})();\nexport {\n singleton,\n fromCharArray,\n toCharArray,\n length,\n countPrefix,\n take,\n drop,\n slice,\n splitAt\n} from \"./foreign.js\";\nexport {\n stripPrefix,\n stripSuffix,\n contains,\n charAt,\n toChar,\n uncons,\n indexOf,\n indexOf$prime,\n lastIndexOf,\n lastIndexOf$prime,\n takeRight,\n takeWhile,\n dropRight,\n dropWhile\n};\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Monad_Error_Class from \"../Control.Monad.Error.Class/index.js\";\nimport * as Control_Monad_Except_Trans from \"../Control.Monad.Except.Trans/index.js\";\nimport * as Data_Boolean from \"../Data.Boolean/index.js\";\nimport * as Data_Either from \"../Data.Either/index.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Int from \"../Data.Int/index.js\";\nimport * as Data_List_NonEmpty from \"../Data.List.NonEmpty/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Ordering from \"../Data.Ordering/index.js\";\nimport * as Data_Show from \"../Data.Show/index.js\";\nimport * as Data_String_CodeUnits from \"../Data.String.CodeUnits/index.js\";\nimport * as Unsafe_Coerce from \"../Unsafe.Coerce/index.js\";\nvar ForeignError = /* #__PURE__ */ (function () {\n function ForeignError(value0) {\n this.value0 = value0;\n };\n ForeignError.create = function (value0) {\n return new ForeignError(value0);\n };\n return ForeignError;\n})();\nvar TypeMismatch = /* #__PURE__ */ (function () {\n function TypeMismatch(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TypeMismatch.create = function (value0) {\n return function (value1) {\n return new TypeMismatch(value0, value1);\n };\n };\n return TypeMismatch;\n})();\nvar ErrorAtIndex = /* #__PURE__ */ (function () {\n function ErrorAtIndex(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ErrorAtIndex.create = function (value0) {\n return function (value1) {\n return new ErrorAtIndex(value0, value1);\n };\n };\n return ErrorAtIndex;\n})();\nvar ErrorAtProperty = /* #__PURE__ */ (function () {\n function ErrorAtProperty(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ErrorAtProperty.create = function (value0) {\n return function (value1) {\n return new ErrorAtProperty(value0, value1);\n };\n };\n return ErrorAtProperty;\n})();\nvar unsafeToForeign = Unsafe_Coerce.unsafeCoerce;\nvar unsafeFromForeign = Unsafe_Coerce.unsafeCoerce;\nvar showForeignError = {\n show: function (v) {\n if (v instanceof ForeignError) {\n return \"(ForeignError \" + (Data_Show.show(Data_Show.showString)(v.value0) + \")\");\n };\n if (v instanceof ErrorAtIndex) {\n return \"(ErrorAtIndex \" + (Data_Show.show(Data_Show.showInt)(v.value0) + (\" \" + (Data_Show.show(showForeignError)(v.value1) + \")\")));\n };\n if (v instanceof ErrorAtProperty) {\n return \"(ErrorAtProperty \" + (Data_Show.show(Data_Show.showString)(v.value0) + (\" \" + (Data_Show.show(showForeignError)(v.value1) + \")\")));\n };\n if (v instanceof TypeMismatch) {\n return \"(TypeMismatch \" + (Data_Show.show(Data_Show.showString)(v.value0) + (\" \" + (Data_Show.show(Data_Show.showString)(v.value1) + \")\")));\n };\n throw new Error(\"Failed pattern match at Foreign (line 69, column 1 - line 73, column 89): \" + [ v.constructor.name ]);\n }\n};\nvar renderForeignError = function (v) {\n if (v instanceof ForeignError) {\n return v.value0;\n };\n if (v instanceof ErrorAtIndex) {\n return \"Error at array index \" + (Data_Show.show(Data_Show.showInt)(v.value0) + (\": \" + renderForeignError(v.value1)));\n };\n if (v instanceof ErrorAtProperty) {\n return \"Error at property \" + (Data_Show.show(Data_Show.showString)(v.value0) + (\": \" + renderForeignError(v.value1)));\n };\n if (v instanceof TypeMismatch) {\n return \"Type mismatch: expected \" + (v.value0 + (\", found \" + v.value1));\n };\n throw new Error(\"Failed pattern match at Foreign (line 78, column 1 - line 78, column 45): \" + [ v.constructor.name ]);\n};\nvar readUndefined = function (dictMonad) {\n return function (value) {\n if ($foreign.isUndefined(value)) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(dictMonad))(Data_Maybe.Nothing.value);\n };\n if (Data_Boolean.otherwise) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(dictMonad))(new Data_Maybe.Just(value));\n };\n throw new Error(\"Failed pattern match at Foreign (line 174, column 1 - line 174, column 103): \" + [ value.constructor.name ]);\n };\n};\nvar readNullOrUndefined = function (dictMonad) {\n return function (value) {\n if ($foreign.isNull(value) || $foreign.isUndefined(value)) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(dictMonad))(Data_Maybe.Nothing.value);\n };\n if (Data_Boolean.otherwise) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(dictMonad))(new Data_Maybe.Just(value));\n };\n throw new Error(\"Failed pattern match at Foreign (line 179, column 1 - line 179, column 109): \" + [ value.constructor.name ]);\n };\n};\nvar readNull = function (dictMonad) {\n return function (value) {\n if ($foreign.isNull(value)) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(dictMonad))(Data_Maybe.Nothing.value);\n };\n if (Data_Boolean.otherwise) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(dictMonad))(new Data_Maybe.Just(value));\n };\n throw new Error(\"Failed pattern match at Foreign (line 169, column 1 - line 169, column 98): \" + [ value.constructor.name ]);\n };\n};\nvar fail = function (dictMonad) {\n var $115 = Control_Monad_Error_Class.throwError(Control_Monad_Except_Trans.monadThrowExceptT(dictMonad));\n return function ($116) {\n return $115(Data_List_NonEmpty.singleton($116));\n };\n};\nvar readArray = function (dictMonad) {\n return function (value) {\n if ($foreign.isArray(value)) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(dictMonad))(unsafeFromForeign(value));\n };\n if (Data_Boolean.otherwise) {\n return fail(dictMonad)(new TypeMismatch(\"array\", $foreign.tagOf(value)));\n };\n throw new Error(\"Failed pattern match at Foreign (line 164, column 1 - line 164, column 99): \" + [ value.constructor.name ]);\n };\n};\nvar unsafeReadTagged = function (dictMonad) {\n return function (tag) {\n return function (value) {\n if ($foreign.tagOf(value) === tag) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(dictMonad))(unsafeFromForeign(value));\n };\n if (Data_Boolean.otherwise) {\n return fail(dictMonad)(new TypeMismatch(tag, $foreign.tagOf(value)));\n };\n throw new Error(\"Failed pattern match at Foreign (line 123, column 1 - line 123, column 104): \" + [ tag.constructor.name, value.constructor.name ]);\n };\n };\n};\nvar readBoolean = function (dictMonad) {\n return unsafeReadTagged(dictMonad)(\"Boolean\");\n};\nvar readNumber = function (dictMonad) {\n return unsafeReadTagged(dictMonad)(\"Number\");\n};\nvar readInt = function (dictMonad) {\n return function (value) {\n var error = new Data_Either.Left(Data_List_NonEmpty.singleton(new TypeMismatch(\"Int\", $foreign.tagOf(value))));\n var fromNumber = (function () {\n var $117 = Data_Maybe.maybe(error)(Control_Applicative.pure(Data_Either.applicativeEither));\n return function ($118) {\n return $117(Data_Int.fromNumber($118));\n };\n })();\n return Control_Monad_Except_Trans.mapExceptT(Data_Functor.map(((dictMonad.Bind1()).Apply0()).Functor0())(Data_Either.either(Data_Function[\"const\"](error))(fromNumber)))(readNumber(dictMonad)(value));\n };\n};\nvar readString = function (dictMonad) {\n return unsafeReadTagged(dictMonad)(\"String\");\n};\nvar readChar = function (dictMonad) {\n return function (value) {\n var error = new Data_Either.Left(Data_List_NonEmpty.singleton(new TypeMismatch(\"Char\", $foreign.tagOf(value))));\n var fromString = (function () {\n var $119 = Data_Maybe.maybe(error)(Control_Applicative.pure(Data_Either.applicativeEither));\n return function ($120) {\n return $119(Data_String_CodeUnits.toChar($120));\n };\n })();\n return Control_Monad_Except_Trans.mapExceptT(Data_Functor.map(((dictMonad.Bind1()).Apply0()).Functor0())(Data_Either.either(Data_Function[\"const\"](error))(fromString)))(readString(dictMonad)(value));\n };\n};\nvar eqForeignError = {\n eq: function (x) {\n return function (y) {\n if (x instanceof ForeignError && y instanceof ForeignError) {\n return x.value0 === y.value0;\n };\n if (x instanceof TypeMismatch && y instanceof TypeMismatch) {\n return x.value0 === y.value0 && x.value1 === y.value1;\n };\n if (x instanceof ErrorAtIndex && y instanceof ErrorAtIndex) {\n return x.value0 === y.value0 && Data_Eq.eq(eqForeignError)(x.value1)(y.value1);\n };\n if (x instanceof ErrorAtProperty && y instanceof ErrorAtProperty) {\n return x.value0 === y.value0 && Data_Eq.eq(eqForeignError)(x.value1)(y.value1);\n };\n return false;\n };\n }\n};\nvar ordForeignError = {\n compare: function (x) {\n return function (y) {\n if (x instanceof ForeignError && y instanceof ForeignError) {\n return Data_Ord.compare(Data_Ord.ordString)(x.value0)(y.value0);\n };\n if (x instanceof ForeignError) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof ForeignError) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof TypeMismatch && y instanceof TypeMismatch) {\n var v = Data_Ord.compare(Data_Ord.ordString)(x.value0)(y.value0);\n if (v instanceof Data_Ordering.LT) {\n return Data_Ordering.LT.value;\n };\n if (v instanceof Data_Ordering.GT) {\n return Data_Ordering.GT.value;\n };\n return Data_Ord.compare(Data_Ord.ordString)(x.value1)(y.value1);\n };\n if (x instanceof TypeMismatch) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof TypeMismatch) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof ErrorAtIndex && y instanceof ErrorAtIndex) {\n var v = Data_Ord.compare(Data_Ord.ordInt)(x.value0)(y.value0);\n if (v instanceof Data_Ordering.LT) {\n return Data_Ordering.LT.value;\n };\n if (v instanceof Data_Ordering.GT) {\n return Data_Ordering.GT.value;\n };\n return Data_Ord.compare(ordForeignError)(x.value1)(y.value1);\n };\n if (x instanceof ErrorAtIndex) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof ErrorAtIndex) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof ErrorAtProperty && y instanceof ErrorAtProperty) {\n var v = Data_Ord.compare(Data_Ord.ordString)(x.value0)(y.value0);\n if (v instanceof Data_Ordering.LT) {\n return Data_Ordering.LT.value;\n };\n if (v instanceof Data_Ordering.GT) {\n return Data_Ordering.GT.value;\n };\n return Data_Ord.compare(ordForeignError)(x.value1)(y.value1);\n };\n throw new Error(\"Failed pattern match at Foreign (line 0, column 0 - line 0, column 0): \" + [ x.constructor.name, y.constructor.name ]);\n };\n },\n Eq0: function () {\n return eqForeignError;\n }\n};\nexport {\n typeOf,\n tagOf,\n isNull,\n isUndefined,\n isArray\n} from \"./foreign.js\";\nexport {\n ForeignError,\n TypeMismatch,\n ErrorAtIndex,\n ErrorAtProperty,\n renderForeignError,\n unsafeToForeign,\n unsafeFromForeign,\n unsafeReadTagged,\n readString,\n readChar,\n readBoolean,\n readNumber,\n readInt,\n readArray,\n readNull,\n readUndefined,\n readNullOrUndefined,\n fail,\n eqForeignError,\n ordForeignError,\n showForeignError\n};\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Affjax_RequestBody from \"../Affjax.RequestBody/index.js\";\nimport * as Affjax_RequestHeader from \"../Affjax.RequestHeader/index.js\";\nimport * as Affjax_ResponseFormat from \"../Affjax.ResponseFormat/index.js\";\nimport * as Affjax_ResponseHeader from \"../Affjax.ResponseHeader/index.js\";\nimport * as Control_Alt from \"../Control.Alt/index.js\";\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Control_Monad_Error_Class from \"../Control.Monad.Error.Class/index.js\";\nimport * as Control_Monad_Except from \"../Control.Monad.Except/index.js\";\nimport * as Control_Monad_Except_Trans from \"../Control.Monad.Except.Trans/index.js\";\nimport * as Data_Argonaut_Core from \"../Data.Argonaut.Core/index.js\";\nimport * as Data_Argonaut_Parser from \"../Data.Argonaut.Parser/index.js\";\nimport * as Data_Array from \"../Data.Array/index.js\";\nimport * as Data_Either from \"../Data.Either/index.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Foldable from \"../Data.Foldable/index.js\";\nimport * as Data_FormURLEncoded from \"../Data.FormURLEncoded/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_HTTP_Method from \"../Data.HTTP.Method/index.js\";\nimport * as Data_HeytingAlgebra from \"../Data.HeytingAlgebra/index.js\";\nimport * as Data_Identity from \"../Data.Identity/index.js\";\nimport * as Data_List_NonEmpty from \"../Data.List.NonEmpty/index.js\";\nimport * as Data_List_Types from \"../Data.List.Types/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Nullable from \"../Data.Nullable/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Effect_Aff from \"../Effect.Aff/index.js\";\nimport * as Effect_Aff_Compat from \"../Effect.Aff.Compat/index.js\";\nimport * as Effect_Exception from \"../Effect.Exception/index.js\";\nimport * as Foreign from \"../Foreign/index.js\";\nvar RequestContentError = /* #__PURE__ */ (function () {\n function RequestContentError(value0) {\n this.value0 = value0;\n };\n RequestContentError.create = function (value0) {\n return new RequestContentError(value0);\n };\n return RequestContentError;\n})();\nvar ResponseBodyError = /* #__PURE__ */ (function () {\n function ResponseBodyError(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ResponseBodyError.create = function (value0) {\n return function (value1) {\n return new ResponseBodyError(value0, value1);\n };\n };\n return ResponseBodyError;\n})();\nvar TimeoutError = /* #__PURE__ */ (function () {\n function TimeoutError() {\n\n };\n TimeoutError.value = new TimeoutError();\n return TimeoutError;\n})();\nvar RequestFailedError = /* #__PURE__ */ (function () {\n function RequestFailedError() {\n\n };\n RequestFailedError.value = new RequestFailedError();\n return RequestFailedError;\n})();\nvar XHROtherError = /* #__PURE__ */ (function () {\n function XHROtherError(value0) {\n this.value0 = value0;\n };\n XHROtherError.create = function (value0) {\n return new XHROtherError(value0);\n };\n return XHROtherError;\n})();\nvar request = function (driver) {\n return function (req) {\n var parseJSON = function (v) {\n if (v === \"\") {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Argonaut_Core.jsonEmptyObject);\n };\n return Data_Either.either((function () {\n var $51 = Foreign.fail(Data_Identity.monadIdentity);\n return function ($52) {\n return $51(Foreign.ForeignError.create($52));\n };\n })())(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)))(Data_Argonaut_Parser.jsonParser(v));\n };\n var fromResponse = (function () {\n if (req.responseFormat instanceof Affjax_ResponseFormat[\"ArrayBuffer\"]) {\n return Foreign.unsafeReadTagged(Data_Identity.monadIdentity)(\"ArrayBuffer\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Blob) {\n return Foreign.unsafeReadTagged(Data_Identity.monadIdentity)(\"Blob\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Document) {\n return function (x) {\n return Control_Alt.alt(Control_Monad_Except_Trans.altExceptT(Data_List_Types.semigroupNonEmptyList)(Data_Identity.monadIdentity))(Foreign.unsafeReadTagged(Data_Identity.monadIdentity)(\"Document\")(x))(Control_Alt.alt(Control_Monad_Except_Trans.altExceptT(Data_List_Types.semigroupNonEmptyList)(Data_Identity.monadIdentity))(Foreign.unsafeReadTagged(Data_Identity.monadIdentity)(\"XMLDocument\")(x))(Foreign.unsafeReadTagged(Data_Identity.monadIdentity)(\"HTMLDocument\")(x)));\n };\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Json) {\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(function ($53) {\n return req.responseFormat.value0(parseJSON($53));\n })(Foreign.unsafeReadTagged(Data_Identity.monadIdentity)(\"String\"));\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat[\"String\"]) {\n return Foreign.unsafeReadTagged(Data_Identity.monadIdentity)(\"String\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Ignore) {\n return Data_Function[\"const\"](req.responseFormat.value0(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Unit.unit)));\n };\n throw new Error(\"Failed pattern match at Affjax (line 274, column 18 - line 283, column 57): \" + [ req.responseFormat.constructor.name ]);\n })();\n var extractContent = function (v) {\n if (v instanceof Affjax_RequestBody.ArrayView) {\n return new Data_Either.Right(v.value0(Foreign.unsafeToForeign));\n };\n if (v instanceof Affjax_RequestBody.Blob) {\n return new Data_Either.Right(Foreign.unsafeToForeign(v.value0));\n };\n if (v instanceof Affjax_RequestBody.Document) {\n return new Data_Either.Right(Foreign.unsafeToForeign(v.value0));\n };\n if (v instanceof Affjax_RequestBody[\"String\"]) {\n return new Data_Either.Right(Foreign.unsafeToForeign(v.value0));\n };\n if (v instanceof Affjax_RequestBody.FormData) {\n return new Data_Either.Right(Foreign.unsafeToForeign(v.value0));\n };\n if (v instanceof Affjax_RequestBody.FormURLEncoded) {\n return Data_Either.note(\"Body contains values that cannot be encoded as application/x-www-form-urlencoded\")(Data_Functor.map(Data_Maybe.functorMaybe)(Foreign.unsafeToForeign)(Data_FormURLEncoded.encode(v.value0)));\n };\n if (v instanceof Affjax_RequestBody.Json) {\n return new Data_Either.Right(Foreign.unsafeToForeign(Data_Argonaut_Core.stringify(v.value0)));\n };\n throw new Error(\"Failed pattern match at Affjax (line 235, column 20 - line 250, column 69): \" + [ v.constructor.name ]);\n };\n var addHeader = function (mh) {\n return function (hs) {\n if (mh instanceof Data_Maybe.Just && !Data_Foldable.any(Data_Foldable.foldableArray)(Data_HeytingAlgebra.heytingAlgebraBoolean)(Data_Function.on(Data_Eq.eq(Data_Eq.eqString))(Affjax_RequestHeader.name)(mh.value0))(hs)) {\n return Data_Array.snoc(hs)(mh.value0);\n };\n return hs;\n };\n };\n var headers = function (reqContent) {\n return addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestHeader.ContentType.create)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Affjax_RequestBody.toMediaType)(reqContent)))(addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestHeader.Accept.create)(Affjax_ResponseFormat.toMediaType(req.responseFormat)))(req.headers));\n };\n var ajaxRequest = function (v) {\n return {\n method: Data_HTTP_Method.print(req.method),\n url: req.url,\n headers: Data_Functor.map(Data_Functor.functorArray)(function (h) {\n return {\n field: Affjax_RequestHeader.name(h),\n value: Affjax_RequestHeader.value(h)\n };\n })(headers(req.content)),\n content: v,\n responseType: Affjax_ResponseFormat.toResponseType(req.responseFormat),\n username: Data_Nullable.toNullable(req.username),\n password: Data_Nullable.toNullable(req.password),\n withCredentials: req.withCredentials,\n timeout: Data_Maybe.fromMaybe(0.0)(Data_Functor.map(Data_Maybe.functorMaybe)(function (v1) {\n return v1;\n })(req.timeout))\n };\n };\n var send = function (content) {\n return Data_Functor.mapFlipped(Effect_Aff.functorAff)(Control_Monad_Error_Class[\"try\"](Effect_Aff.monadErrorAff)(Effect_Aff_Compat.fromEffectFnAff($foreign[\"_ajax\"](driver, \"AffjaxTimeoutErrorMessageIdent\", \"AffjaxRequestFailedMessageIdent\", Affjax_ResponseHeader.ResponseHeader.create, ajaxRequest(content)))))(function (v) {\n if (v instanceof Data_Either.Right) {\n var v1 = Control_Monad_Except.runExcept(fromResponse(v.value0.body));\n if (v1 instanceof Data_Either.Left) {\n return new Data_Either.Left(new ResponseBodyError(Data_List_NonEmpty.head(v1.value0), v.value0));\n };\n if (v1 instanceof Data_Either.Right) {\n return new Data_Either.Right({\n body: v1.value0,\n headers: v.value0.headers,\n status: v.value0.status,\n statusText: v.value0.statusText\n });\n };\n throw new Error(\"Failed pattern match at Affjax (line 209, column 9 - line 211, column 52): \" + [ v1.constructor.name ]);\n };\n if (v instanceof Data_Either.Left) {\n return new Data_Either.Left((function () {\n var message = Effect_Exception.message(v.value0);\n var $38 = message === \"AffjaxTimeoutErrorMessageIdent\";\n if ($38) {\n return TimeoutError.value;\n };\n var $39 = message === \"AffjaxRequestFailedMessageIdent\";\n if ($39) {\n return RequestFailedError.value;\n };\n return new XHROtherError(v.value0);\n })());\n };\n throw new Error(\"Failed pattern match at Affjax (line 207, column 144 - line 219, column 28): \" + [ v.constructor.name ]);\n });\n };\n if (req.content instanceof Data_Maybe.Nothing) {\n return send(Data_Nullable.toNullable(Data_Maybe.Nothing.value));\n };\n if (req.content instanceof Data_Maybe.Just) {\n var v = extractContent(req.content.value0);\n if (v instanceof Data_Either.Right) {\n return send(Data_Nullable.toNullable(new Data_Maybe.Just(v.value0)));\n };\n if (v instanceof Data_Either.Left) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(new Data_Either.Left(new RequestContentError(v.value0)));\n };\n throw new Error(\"Failed pattern match at Affjax (line 199, column 7 - line 203, column 48): \" + [ v.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Affjax (line 195, column 3 - line 203, column 48): \" + [ req.content.constructor.name ]);\n };\n};\nvar printError = function (v) {\n if (v instanceof RequestContentError) {\n return \"There was a problem with the request content: \" + v.value0;\n };\n if (v instanceof ResponseBodyError) {\n return \"There was a problem with the response body: \" + Foreign.renderForeignError(v.value0);\n };\n if (v instanceof TimeoutError) {\n return \"There was a problem making the request: timeout\";\n };\n if (v instanceof RequestFailedError) {\n return \"There was a problem making the request: request failed\";\n };\n if (v instanceof XHROtherError) {\n return \"There was a problem making the request: \" + Effect_Exception.message(v.value0);\n };\n throw new Error(\"Failed pattern match at Affjax (line 113, column 14 - line 123, column 66): \" + [ v.constructor.name ]);\n};\nvar defaultRequest = /* #__PURE__ */ (function () {\n return {\n method: new Data_Either.Left(Data_HTTP_Method.GET.value),\n url: \"/\",\n headers: [ ],\n content: Data_Maybe.Nothing.value,\n username: Data_Maybe.Nothing.value,\n password: Data_Maybe.Nothing.value,\n withCredentials: false,\n responseFormat: Affjax_ResponseFormat.ignore,\n timeout: Data_Maybe.Nothing.value\n };\n})();\nvar $$delete = function (driver) {\n return function (rf) {\n return function (u) {\n return request(driver)({\n method: new Data_Either.Left(Data_HTTP_Method.DELETE.value),\n url: u,\n headers: defaultRequest.headers,\n content: defaultRequest.content,\n username: defaultRequest.username,\n password: defaultRequest.password,\n withCredentials: defaultRequest.withCredentials,\n responseFormat: rf,\n timeout: defaultRequest.timeout\n });\n };\n };\n};\nvar delete_ = function (driver) {\n var $54 = Data_Functor.map(Effect_Aff.functorAff)(Data_Functor[\"void\"](Data_Either.functorEither));\n var $55 = $$delete(driver)(Affjax_ResponseFormat.ignore);\n return function ($56) {\n return $54($55($56));\n };\n};\nvar get = function (driver) {\n return function (rf) {\n return function (u) {\n return request(driver)({\n method: defaultRequest.method,\n url: u,\n headers: defaultRequest.headers,\n content: defaultRequest.content,\n username: defaultRequest.username,\n password: defaultRequest.password,\n withCredentials: defaultRequest.withCredentials,\n responseFormat: rf,\n timeout: defaultRequest.timeout\n });\n };\n };\n};\nvar patch = function (driver) {\n return function (rf) {\n return function (u) {\n return function (c) {\n return request(driver)({\n method: new Data_Either.Left(Data_HTTP_Method.PATCH.value),\n url: u,\n headers: defaultRequest.headers,\n content: new Data_Maybe.Just(c),\n username: defaultRequest.username,\n password: defaultRequest.password,\n withCredentials: defaultRequest.withCredentials,\n responseFormat: rf,\n timeout: defaultRequest.timeout\n });\n };\n };\n };\n};\nvar patch_ = function (driver) {\n return function (url) {\n var $57 = Data_Functor.map(Effect_Aff.functorAff)(Data_Functor[\"void\"](Data_Either.functorEither));\n var $58 = patch(driver)(Affjax_ResponseFormat.ignore)(url);\n return function ($59) {\n return $57($58($59));\n };\n };\n};\nvar post = function (driver) {\n return function (rf) {\n return function (u) {\n return function (c) {\n return request(driver)({\n method: new Data_Either.Left(Data_HTTP_Method.POST.value),\n url: u,\n headers: defaultRequest.headers,\n content: c,\n username: defaultRequest.username,\n password: defaultRequest.password,\n withCredentials: defaultRequest.withCredentials,\n responseFormat: rf,\n timeout: defaultRequest.timeout\n });\n };\n };\n };\n};\nvar post_ = function (driver) {\n return function (url) {\n var $60 = Data_Functor.map(Effect_Aff.functorAff)(Data_Functor[\"void\"](Data_Either.functorEither));\n var $61 = post(driver)(Affjax_ResponseFormat.ignore)(url);\n return function ($62) {\n return $60($61($62));\n };\n };\n};\nvar put = function (driver) {\n return function (rf) {\n return function (u) {\n return function (c) {\n return request(driver)({\n method: new Data_Either.Left(Data_HTTP_Method.PUT.value),\n url: u,\n headers: defaultRequest.headers,\n content: c,\n username: defaultRequest.username,\n password: defaultRequest.password,\n withCredentials: defaultRequest.withCredentials,\n responseFormat: rf,\n timeout: defaultRequest.timeout\n });\n };\n };\n };\n};\nvar put_ = function (driver) {\n return function (url) {\n var $63 = Data_Functor.map(Effect_Aff.functorAff)(Data_Functor[\"void\"](Data_Either.functorEither));\n var $64 = put(driver)(Affjax_ResponseFormat.ignore)(url);\n return function ($65) {\n return $63($64($65));\n };\n };\n};\nexport {\n defaultRequest,\n RequestContentError,\n ResponseBodyError,\n TimeoutError,\n RequestFailedError,\n XHROtherError,\n printError,\n request,\n get,\n post,\n post_,\n put,\n put_,\n $$delete as delete,\n delete_,\n patch,\n patch_\n};\n", "// Generated by purs version 0.15.2\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Show from \"../Data.Show/index.js\";\nvar StatusCode = function (x) {\n return x;\n};\nvar showStatusCode = {\n show: function (v) {\n return \"(StatusCode \" + (Data_Show.show(Data_Show.showInt)(v) + \")\");\n }\n};\nvar newtypeStatusCode = {\n Coercible0: function () {\n return undefined;\n }\n};\nvar eqStatusCode = {\n eq: function (x) {\n return function (y) {\n return x === y;\n };\n }\n};\nvar ordStatusCode = {\n compare: function (x) {\n return function (y) {\n return Data_Ord.compare(Data_Ord.ordInt)(x)(y);\n };\n },\n Eq0: function () {\n return eqStatusCode;\n }\n};\nexport {\n StatusCode,\n eqStatusCode,\n ordStatusCode,\n newtypeStatusCode,\n showStatusCode\n};\n", "export const driver = {\n newXHR: function () {\n return new XMLHttpRequest();\n },\n fixupUrl: function (url) {\n return url || \"/\";\n }\n};\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Affjax from \"../Affjax/index.js\";\nvar request = /* #__PURE__ */ Affjax.request($foreign.driver);\nvar put_ = /* #__PURE__ */ Affjax.put_($foreign.driver);\nvar put = /* #__PURE__ */ Affjax.put($foreign.driver);\nvar post_ = /* #__PURE__ */ Affjax.post_($foreign.driver);\nvar post = /* #__PURE__ */ Affjax.post($foreign.driver);\nvar patch_ = /* #__PURE__ */ Affjax.patch_($foreign.driver);\nvar patch = /* #__PURE__ */ Affjax.patch($foreign.driver);\nvar get = /* #__PURE__ */ Affjax.get($foreign.driver);\nvar delete_ = /* #__PURE__ */ Affjax.delete_($foreign.driver);\nvar $$delete = /* #__PURE__ */ Affjax[\"delete\"]($foreign.driver);\nexport {\n driver\n} from \"./foreign.js\";\nexport {\n request,\n get,\n post,\n post_,\n put,\n put_,\n $$delete as delete,\n delete_,\n patch,\n patch_\n};\nexport {\n RequestContentError,\n RequestFailedError,\n ResponseBodyError,\n TimeoutError,\n XHROtherError,\n defaultRequest,\n printError\n} from \"../Affjax/index.js\";\n", "// Generated by purs version 0.15.2\nimport * as Data_Argonaut_Core from \"../Data.Argonaut.Core/index.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Generic_Rep from \"../Data.Generic.Rep/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Ordering from \"../Data.Ordering/index.js\";\nimport * as Data_Show from \"../Data.Show/index.js\";\nvar TypeMismatch = /* #__PURE__ */ (function () {\n function TypeMismatch(value0) {\n this.value0 = value0;\n };\n TypeMismatch.create = function (value0) {\n return new TypeMismatch(value0);\n };\n return TypeMismatch;\n})();\nvar UnexpectedValue = /* #__PURE__ */ (function () {\n function UnexpectedValue(value0) {\n this.value0 = value0;\n };\n UnexpectedValue.create = function (value0) {\n return new UnexpectedValue(value0);\n };\n return UnexpectedValue;\n})();\nvar AtIndex = /* #__PURE__ */ (function () {\n function AtIndex(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n AtIndex.create = function (value0) {\n return function (value1) {\n return new AtIndex(value0, value1);\n };\n };\n return AtIndex;\n})();\nvar AtKey = /* #__PURE__ */ (function () {\n function AtKey(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n AtKey.create = function (value0) {\n return function (value1) {\n return new AtKey(value0, value1);\n };\n };\n return AtKey;\n})();\nvar Named = /* #__PURE__ */ (function () {\n function Named(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Named.create = function (value0) {\n return function (value1) {\n return new Named(value0, value1);\n };\n };\n return Named;\n})();\nvar MissingValue = /* #__PURE__ */ (function () {\n function MissingValue() {\n\n };\n MissingValue.value = new MissingValue();\n return MissingValue;\n})();\nvar showJsonDecodeError = {\n show: function (v) {\n if (v instanceof TypeMismatch) {\n return \"(TypeMismatch \" + (Data_Show.show(Data_Show.showString)(v.value0) + \")\");\n };\n if (v instanceof UnexpectedValue) {\n return \"(UnexpectedValue \" + (Data_Argonaut_Core.stringify(v.value0) + \")\");\n };\n if (v instanceof AtIndex) {\n return \"(AtIndex \" + (Data_Show.show(Data_Show.showInt)(v.value0) + (\" \" + (Data_Show.show(showJsonDecodeError)(v.value1) + \")\")));\n };\n if (v instanceof AtKey) {\n return \"(AtKey \" + (Data_Show.show(Data_Show.showString)(v.value0) + (\" \" + (Data_Show.show(showJsonDecodeError)(v.value1) + \")\")));\n };\n if (v instanceof Named) {\n return \"(Named \" + (Data_Show.show(Data_Show.showString)(v.value0) + (\" \" + (Data_Show.show(showJsonDecodeError)(v.value1) + \")\")));\n };\n if (v instanceof MissingValue) {\n return \"MissingValue\";\n };\n throw new Error(\"Failed pattern match at Data.Argonaut.Decode.Error (line 24, column 10 - line 30, column 35): \" + [ v.constructor.name ]);\n }\n};\nvar printJsonDecodeError = function (err) {\n var go = function (v) {\n if (v instanceof TypeMismatch) {\n return \" Expected value of type '\" + (v.value0 + \"'.\");\n };\n if (v instanceof UnexpectedValue) {\n return \" Unexpected value \" + (Data_Argonaut_Core.stringify(v.value0) + \".\");\n };\n if (v instanceof AtIndex) {\n return \" At array index \" + (Data_Show.show(Data_Show.showInt)(v.value0) + (\":\\x0a\" + go(v.value1)));\n };\n if (v instanceof AtKey) {\n return \" At object key '\" + (v.value0 + (\"':\\x0a\" + go(v.value1)));\n };\n if (v instanceof Named) {\n return \" Under '\" + (v.value0 + (\"':\\x0a\" + go(v.value1)));\n };\n if (v instanceof MissingValue) {\n return \" No value was found.\";\n };\n throw new Error(\"Failed pattern match at Data.Argonaut.Decode.Error (line 37, column 8 - line 43, column 44): \" + [ v.constructor.name ]);\n };\n return \"An error occurred while decoding a JSON value:\\x0a\" + go(err);\n};\nvar genericJsonDecodeError = {\n to: function (x) {\n if (x instanceof Data_Generic_Rep.Inl) {\n return new TypeMismatch(x.value0);\n };\n if (x instanceof Data_Generic_Rep.Inr && x.value0 instanceof Data_Generic_Rep.Inl) {\n return new UnexpectedValue(x.value0.value0);\n };\n if (x instanceof Data_Generic_Rep.Inr && (x.value0 instanceof Data_Generic_Rep.Inr && x.value0.value0 instanceof Data_Generic_Rep.Inl)) {\n return new AtIndex(x.value0.value0.value0.value0, x.value0.value0.value0.value1);\n };\n if (x instanceof Data_Generic_Rep.Inr && (x.value0 instanceof Data_Generic_Rep.Inr && (x.value0.value0 instanceof Data_Generic_Rep.Inr && x.value0.value0.value0 instanceof Data_Generic_Rep.Inl))) {\n return new AtKey(x.value0.value0.value0.value0.value0, x.value0.value0.value0.value0.value1);\n };\n if (x instanceof Data_Generic_Rep.Inr && (x.value0 instanceof Data_Generic_Rep.Inr && (x.value0.value0 instanceof Data_Generic_Rep.Inr && (x.value0.value0.value0 instanceof Data_Generic_Rep.Inr && x.value0.value0.value0.value0 instanceof Data_Generic_Rep.Inl)))) {\n return new Named(x.value0.value0.value0.value0.value0.value0, x.value0.value0.value0.value0.value0.value1);\n };\n if (x instanceof Data_Generic_Rep.Inr && (x.value0 instanceof Data_Generic_Rep.Inr && (x.value0.value0 instanceof Data_Generic_Rep.Inr && (x.value0.value0.value0 instanceof Data_Generic_Rep.Inr && x.value0.value0.value0.value0 instanceof Data_Generic_Rep.Inr)))) {\n return MissingValue.value;\n };\n throw new Error(\"Failed pattern match at Data.Argonaut.Decode.Error (line 21, column 1 - line 21, column 68): \" + [ x.constructor.name ]);\n },\n from: function (x) {\n if (x instanceof TypeMismatch) {\n return new Data_Generic_Rep.Inl(x.value0);\n };\n if (x instanceof UnexpectedValue) {\n return new Data_Generic_Rep.Inr(new Data_Generic_Rep.Inl(x.value0));\n };\n if (x instanceof AtIndex) {\n return new Data_Generic_Rep.Inr(new Data_Generic_Rep.Inr(new Data_Generic_Rep.Inl(new Data_Generic_Rep.Product(x.value0, x.value1))));\n };\n if (x instanceof AtKey) {\n return new Data_Generic_Rep.Inr(new Data_Generic_Rep.Inr(new Data_Generic_Rep.Inr(new Data_Generic_Rep.Inl(new Data_Generic_Rep.Product(x.value0, x.value1)))));\n };\n if (x instanceof Named) {\n return new Data_Generic_Rep.Inr(new Data_Generic_Rep.Inr(new Data_Generic_Rep.Inr(new Data_Generic_Rep.Inr(new Data_Generic_Rep.Inl(new Data_Generic_Rep.Product(x.value0, x.value1))))));\n };\n if (x instanceof MissingValue) {\n return new Data_Generic_Rep.Inr(new Data_Generic_Rep.Inr(new Data_Generic_Rep.Inr(new Data_Generic_Rep.Inr(new Data_Generic_Rep.Inr(Data_Generic_Rep.NoArguments.value)))));\n };\n throw new Error(\"Failed pattern match at Data.Argonaut.Decode.Error (line 21, column 1 - line 21, column 68): \" + [ x.constructor.name ]);\n }\n};\nvar eqJsonDecodeError = {\n eq: function (x) {\n return function (y) {\n if (x instanceof TypeMismatch && y instanceof TypeMismatch) {\n return x.value0 === y.value0;\n };\n if (x instanceof UnexpectedValue && y instanceof UnexpectedValue) {\n return Data_Eq.eq(Data_Argonaut_Core.eqJson)(x.value0)(y.value0);\n };\n if (x instanceof AtIndex && y instanceof AtIndex) {\n return x.value0 === y.value0 && Data_Eq.eq(eqJsonDecodeError)(x.value1)(y.value1);\n };\n if (x instanceof AtKey && y instanceof AtKey) {\n return x.value0 === y.value0 && Data_Eq.eq(eqJsonDecodeError)(x.value1)(y.value1);\n };\n if (x instanceof Named && y instanceof Named) {\n return x.value0 === y.value0 && Data_Eq.eq(eqJsonDecodeError)(x.value1)(y.value1);\n };\n if (x instanceof MissingValue && y instanceof MissingValue) {\n return true;\n };\n return false;\n };\n }\n};\nvar ordJsonDecodeError = {\n compare: function (x) {\n return function (y) {\n if (x instanceof TypeMismatch && y instanceof TypeMismatch) {\n return Data_Ord.compare(Data_Ord.ordString)(x.value0)(y.value0);\n };\n if (x instanceof TypeMismatch) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof TypeMismatch) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof UnexpectedValue && y instanceof UnexpectedValue) {\n return Data_Ord.compare(Data_Argonaut_Core.ordJson)(x.value0)(y.value0);\n };\n if (x instanceof UnexpectedValue) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof UnexpectedValue) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AtIndex && y instanceof AtIndex) {\n var v = Data_Ord.compare(Data_Ord.ordInt)(x.value0)(y.value0);\n if (v instanceof Data_Ordering.LT) {\n return Data_Ordering.LT.value;\n };\n if (v instanceof Data_Ordering.GT) {\n return Data_Ordering.GT.value;\n };\n return Data_Ord.compare(ordJsonDecodeError)(x.value1)(y.value1);\n };\n if (x instanceof AtIndex) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AtIndex) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AtKey && y instanceof AtKey) {\n var v = Data_Ord.compare(Data_Ord.ordString)(x.value0)(y.value0);\n if (v instanceof Data_Ordering.LT) {\n return Data_Ordering.LT.value;\n };\n if (v instanceof Data_Ordering.GT) {\n return Data_Ordering.GT.value;\n };\n return Data_Ord.compare(ordJsonDecodeError)(x.value1)(y.value1);\n };\n if (x instanceof AtKey) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AtKey) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof Named && y instanceof Named) {\n var v = Data_Ord.compare(Data_Ord.ordString)(x.value0)(y.value0);\n if (v instanceof Data_Ordering.LT) {\n return Data_Ordering.LT.value;\n };\n if (v instanceof Data_Ordering.GT) {\n return Data_Ordering.GT.value;\n };\n return Data_Ord.compare(ordJsonDecodeError)(x.value1)(y.value1);\n };\n if (x instanceof Named) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof Named) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof MissingValue && y instanceof MissingValue) {\n return Data_Ordering.EQ.value;\n };\n throw new Error(\"Failed pattern match at Data.Argonaut.Decode.Error (line 0, column 0 - line 0, column 0): \" + [ x.constructor.name, y.constructor.name ]);\n };\n },\n Eq0: function () {\n return eqJsonDecodeError;\n }\n};\nexport {\n TypeMismatch,\n UnexpectedValue,\n AtIndex,\n AtKey,\n Named,\n MissingValue,\n printJsonDecodeError,\n eqJsonDecodeError,\n ordJsonDecodeError,\n genericJsonDecodeError,\n showJsonDecodeError\n};\n", "export const foldr1Impl = function (f) {\n return function (xs) {\n var acc = xs[xs.length - 1];\n for (var i = xs.length - 2; i >= 0; i--) {\n acc = f(xs[i])(acc);\n }\n return acc;\n };\n};\n\nexport const foldl1Impl = function (f) {\n return function (xs) {\n var acc = xs[0];\n var len = xs.length;\n for (var i = 1; i < len; i++) {\n acc = f(acc)(xs[i]);\n }\n return acc;\n };\n};\n\nexport const traverse1Impl = function () {\n function Cont(fn) {\n this.fn = fn;\n }\n\n var emptyList = {};\n\n var ConsCell = function (head, tail) {\n this.head = head;\n this.tail = tail;\n };\n\n function finalCell(head) {\n return new ConsCell(head, emptyList);\n }\n\n function consList(x) {\n return function (xs) {\n return new ConsCell(x, xs);\n };\n }\n\n function listToArray(list) {\n var arr = [];\n var xs = list;\n while (xs !== emptyList) {\n arr.push(xs.head);\n xs = xs.tail;\n }\n return arr;\n }\n\n return function (apply) {\n return function (map) {\n return function (f) {\n var buildFrom = function (x, ys) {\n return apply(map(consList)(f(x)))(ys);\n };\n\n var go = function (acc, currentLen, xs) {\n if (currentLen === 0) {\n return acc;\n } else {\n var last = xs[currentLen - 1];\n return new Cont(function () {\n var built = go(buildFrom(last, acc), currentLen - 1, xs);\n return built;\n });\n }\n };\n\n return function (array) {\n var acc = map(finalCell)(f(array[array.length - 1]));\n var result = go(acc, array.length - 1, array);\n while (result instanceof Cont) {\n result = result.fn();\n }\n\n return map(listToArray)(result);\n };\n };\n };\n };\n}();\n", "// Generated by purs version 0.15.2\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Apply from \"../Control.Apply/index.js\";\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Foldable from \"../Data.Foldable/index.js\";\nimport * as Data_FoldableWithIndex from \"../Data.FoldableWithIndex/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_FunctorWithIndex from \"../Data.FunctorWithIndex/index.js\";\nimport * as Data_HeytingAlgebra from \"../Data.HeytingAlgebra/index.js\";\nimport * as Data_List from \"../Data.List/index.js\";\nimport * as Data_List_Lazy from \"../Data.List.Lazy/index.js\";\nimport * as Data_List_Lazy_Types from \"../Data.List.Lazy.Types/index.js\";\nimport * as Data_List_Types from \"../Data.List.Types/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Monoid from \"../Data.Monoid/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Ordering from \"../Data.Ordering/index.js\";\nimport * as Data_Semigroup from \"../Data.Semigroup/index.js\";\nimport * as Data_Show from \"../Data.Show/index.js\";\nimport * as Data_Traversable from \"../Data.Traversable/index.js\";\nimport * as Data_TraversableWithIndex from \"../Data.TraversableWithIndex/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nimport * as Data_Unfoldable from \"../Data.Unfoldable/index.js\";\nimport * as Partial_Unsafe from \"../Partial.Unsafe/index.js\";\nvar Leaf = /* #__PURE__ */ (function () {\n function Leaf() {\n\n };\n Leaf.value = new Leaf();\n return Leaf;\n})();\nvar Two = /* #__PURE__ */ (function () {\n function Two(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Two.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Two(value0, value1, value2, value3);\n };\n };\n };\n };\n return Two;\n})();\nvar Three = /* #__PURE__ */ (function () {\n function Three(value0, value1, value2, value3, value4, value5, value6) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n this.value6 = value6;\n };\n Three.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return function (value6) {\n return new Three(value0, value1, value2, value3, value4, value5, value6);\n };\n };\n };\n };\n };\n };\n };\n return Three;\n})();\nvar TwoLeft = /* #__PURE__ */ (function () {\n function TwoLeft(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoLeft(value0, value1, value2);\n };\n };\n };\n return TwoLeft;\n})();\nvar TwoRight = /* #__PURE__ */ (function () {\n function TwoRight(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoRight(value0, value1, value2);\n };\n };\n };\n return TwoRight;\n})();\nvar ThreeLeft = /* #__PURE__ */ (function () {\n function ThreeLeft(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeLeft(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeLeft;\n})();\nvar ThreeMiddle = /* #__PURE__ */ (function () {\n function ThreeMiddle(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeMiddle.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeMiddle(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeMiddle;\n})();\nvar ThreeRight = /* #__PURE__ */ (function () {\n function ThreeRight(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeRight(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeRight;\n})();\nvar KickUp = /* #__PURE__ */ (function () {\n function KickUp(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n KickUp.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new KickUp(value0, value1, value2, value3);\n };\n };\n };\n };\n return KickUp;\n})();\nvar size = function (v) {\n if (v instanceof Leaf) {\n return 0;\n };\n if (v instanceof Two) {\n return (1 + size(v.value0) | 0) + size(v.value3) | 0;\n };\n if (v instanceof Three) {\n return ((2 + size(v.value0) | 0) + size(v.value3) | 0) + size(v.value6) | 0;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 705, column 1 - line 705, column 35): \" + [ v.constructor.name ]);\n};\nvar singleton = function (k) {\n return function (v) {\n return new Two(Leaf.value, k, v, Leaf.value);\n };\n};\nvar toUnfoldable = function (dictUnfoldable) {\n return function (m) {\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof Data_List_Types.Cons) {\n if (v.value0 instanceof Leaf) {\n $copy_v = v.value1;\n return;\n };\n if (v.value0 instanceof Two && (v.value0.value0 instanceof Leaf && v.value0.value3 instanceof Leaf)) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(new Data_Tuple.Tuple(v.value0.value1, v.value0.value2), v.value1));\n };\n if (v.value0 instanceof Two && v.value0.value0 instanceof Leaf) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(new Data_Tuple.Tuple(v.value0.value1, v.value0.value2), new Data_List_Types.Cons(v.value0.value3, v.value1)));\n };\n if (v.value0 instanceof Two) {\n $copy_v = new Data_List_Types.Cons(v.value0.value0, new Data_List_Types.Cons(singleton(v.value0.value1)(v.value0.value2), new Data_List_Types.Cons(v.value0.value3, v.value1)));\n return;\n };\n if (v.value0 instanceof Three) {\n $copy_v = new Data_List_Types.Cons(v.value0.value0, new Data_List_Types.Cons(singleton(v.value0.value1)(v.value0.value2), new Data_List_Types.Cons(v.value0.value3, new Data_List_Types.Cons(singleton(v.value0.value4)(v.value0.value5), new Data_List_Types.Cons(v.value0.value6, v.value1)))));\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 624, column 18 - line 633, column 71): \" + [ v.value0.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 623, column 3 - line 623, column 19): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return Data_Unfoldable.unfoldr(dictUnfoldable)(go)(new Data_List_Types.Cons(m, Data_List_Types.Nil.value));\n };\n};\nvar toAscArray = /* #__PURE__ */ toUnfoldable(Data_Unfoldable.unfoldableArray);\nvar toUnfoldableUnordered = function (dictUnfoldable) {\n return function (m) {\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof Data_List_Types.Cons) {\n if (v.value0 instanceof Leaf) {\n $copy_v = v.value1;\n return;\n };\n if (v.value0 instanceof Two) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(new Data_Tuple.Tuple(v.value0.value1, v.value0.value2), new Data_List_Types.Cons(v.value0.value0, new Data_List_Types.Cons(v.value0.value3, v.value1))));\n };\n if (v.value0 instanceof Three) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(new Data_Tuple.Tuple(v.value0.value1, v.value0.value2), new Data_List_Types.Cons(singleton(v.value0.value4)(v.value0.value5), new Data_List_Types.Cons(v.value0.value0, new Data_List_Types.Cons(v.value0.value3, new Data_List_Types.Cons(v.value0.value6, v.value1))))));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 645, column 18 - line 650, column 77): \" + [ v.value0.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 644, column 3 - line 644, column 19): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return Data_Unfoldable.unfoldr(dictUnfoldable)(go)(new Data_List_Types.Cons(m, Data_List_Types.Nil.value));\n };\n};\nvar showTree = function (dictShow) {\n return function (dictShow1) {\n return function (v) {\n if (v instanceof Leaf) {\n return \"Leaf\";\n };\n if (v instanceof Two) {\n return \"Two (\" + (showTree(dictShow)(dictShow1)(v.value0) + (\") (\" + (Data_Show.show(dictShow)(v.value1) + (\") (\" + (Data_Show.show(dictShow1)(v.value2) + (\") (\" + (showTree(dictShow)(dictShow1)(v.value3) + \")\")))))));\n };\n if (v instanceof Three) {\n return \"Three (\" + (showTree(dictShow)(dictShow1)(v.value0) + (\") (\" + (Data_Show.show(dictShow)(v.value1) + (\") (\" + (Data_Show.show(dictShow1)(v.value2) + (\") (\" + (showTree(dictShow)(dictShow1)(v.value3) + (\") (\" + (Data_Show.show(dictShow)(v.value4) + (\") (\" + (Data_Show.show(dictShow1)(v.value5) + (\") (\" + (showTree(dictShow)(dictShow1)(v.value6) + \")\")))))))))))));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 194, column 1 - line 194, column 62): \" + [ v.constructor.name ]);\n };\n };\n};\nvar showMap = function (dictShow) {\n return function (dictShow1) {\n return {\n show: function (m) {\n return \"(fromFoldable \" + (Data_Show.show(Data_Show.showArray(Data_Tuple.showTuple(dictShow)(dictShow1)))(toAscArray(m)) + \")\");\n }\n };\n };\n};\nvar lookupLE = function (dictOrd) {\n return function (k) {\n var comp = Data_Ord.compare(dictOrd);\n var go = function (v) {\n if (v instanceof Leaf) {\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof Two) {\n var v2 = comp(k)(v.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n return new Data_Maybe.Just({\n key: v.value1,\n value: v.value2\n });\n };\n if (v2 instanceof Data_Ordering.GT) {\n return new Data_Maybe.Just(Data_Maybe.fromMaybe({\n key: v.value1,\n value: v.value2\n })(go(v.value3)));\n };\n if (v2 instanceof Data_Ordering.LT) {\n return go(v.value0);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 266, column 33 - line 269, column 20): \" + [ v2.constructor.name ]);\n };\n if (v instanceof Three) {\n var v3 = comp(k)(v.value4);\n if (v3 instanceof Data_Ordering.EQ) {\n return new Data_Maybe.Just({\n key: v.value4,\n value: v.value5\n });\n };\n if (v3 instanceof Data_Ordering.GT) {\n return new Data_Maybe.Just(Data_Maybe.fromMaybe({\n key: v.value4,\n value: v.value5\n })(go(v.value6)));\n };\n if (v3 instanceof Data_Ordering.LT) {\n return go(new Two(v.value0, v.value1, v.value2, v.value3));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 270, column 45 - line 273, column 36): \" + [ v3.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 265, column 5 - line 265, column 22): \" + [ v.constructor.name ]);\n };\n return go;\n };\n};\nvar lookupGE = function (dictOrd) {\n return function (k) {\n var comp = Data_Ord.compare(dictOrd);\n var go = function (v) {\n if (v instanceof Leaf) {\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof Two) {\n var v2 = comp(k)(v.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n return new Data_Maybe.Just({\n key: v.value1,\n value: v.value2\n });\n };\n if (v2 instanceof Data_Ordering.LT) {\n return new Data_Maybe.Just(Data_Maybe.fromMaybe({\n key: v.value1,\n value: v.value2\n })(go(v.value0)));\n };\n if (v2 instanceof Data_Ordering.GT) {\n return go(v.value3);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 300, column 33 - line 303, column 21): \" + [ v2.constructor.name ]);\n };\n if (v instanceof Three) {\n var v3 = comp(k)(v.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n return new Data_Maybe.Just({\n key: v.value1,\n value: v.value2\n });\n };\n if (v3 instanceof Data_Ordering.LT) {\n return new Data_Maybe.Just(Data_Maybe.fromMaybe({\n key: v.value1,\n value: v.value2\n })(go(v.value0)));\n };\n if (v3 instanceof Data_Ordering.GT) {\n return go(new Two(v.value3, v.value4, v.value5, v.value6));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 304, column 45 - line 307, column 37): \" + [ v3.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 299, column 5 - line 299, column 22): \" + [ v.constructor.name ]);\n };\n return go;\n };\n};\nvar lookup = function (dictOrd) {\n return function (k) {\n var comp = Data_Ord.compare(dictOrd);\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v instanceof Leaf) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof Two) {\n var v2 = comp(k)(v.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n if (v2 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n if (v instanceof Three) {\n var v3 = comp(k)(v.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n var v4 = comp(k)(v.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value5);\n };\n if (v3 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n if (v4 instanceof Data_Ordering.GT) {\n $copy_v = v.value6;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 241, column 5 - line 241, column 22): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go;\n };\n};\nvar member = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.isJust(lookup(dictOrd)(k)(m));\n };\n };\n};\nvar isSubmap = function (dictOrd) {\n return function (dictEq) {\n return function (m1) {\n return function (m2) {\n var f = function (v) {\n return Data_Eq.eq(Data_Maybe.eqMaybe(dictEq))(lookup(dictOrd)(v.value0)(m2))(new Data_Maybe.Just(v.value1));\n };\n return Data_Foldable.all(Data_List_Lazy_Types.foldableList)(Data_HeytingAlgebra.heytingAlgebraBoolean)(f)(toUnfoldable(Data_List_Lazy_Types.unfoldableList)(m1));\n };\n };\n };\n};\nvar isEmpty = function (v) {\n if (v instanceof Leaf) {\n return true;\n };\n return false;\n};\nvar functorMap = {\n map: function (v) {\n return function (v1) {\n if (v1 instanceof Leaf) {\n return Leaf.value;\n };\n if (v1 instanceof Two) {\n return new Two(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3));\n };\n if (v1 instanceof Three) {\n return new Three(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3), v1.value4, v(v1.value5), Data_Functor.map(functorMap)(v)(v1.value6));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 116, column 1 - line 119, column 110): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n }\n};\nvar functorWithIndexMap = {\n mapWithIndex: function (v) {\n return function (v1) {\n if (v1 instanceof Leaf) {\n return Leaf.value;\n };\n if (v1 instanceof Two) {\n return new Two(Data_FunctorWithIndex.mapWithIndex(functorWithIndexMap)(v)(v1.value0), v1.value1, v(v1.value1)(v1.value2), Data_FunctorWithIndex.mapWithIndex(functorWithIndexMap)(v)(v1.value3));\n };\n if (v1 instanceof Three) {\n return new Three(Data_FunctorWithIndex.mapWithIndex(functorWithIndexMap)(v)(v1.value0), v1.value1, v(v1.value1)(v1.value2), Data_FunctorWithIndex.mapWithIndex(functorWithIndexMap)(v)(v1.value3), v1.value4, v(v1.value4)(v1.value5), Data_FunctorWithIndex.mapWithIndex(functorWithIndexMap)(v)(v1.value6));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 121, column 1 - line 124, column 152): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n },\n Functor0: function () {\n return functorMap;\n }\n};\nvar fromZipper = function ($copy_dictOrd) {\n return function ($copy_v) {\n return function ($copy_tree) {\n var $tco_var_dictOrd = $copy_dictOrd;\n var $tco_var_v = $copy_v;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictOrd, v, tree) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (v instanceof Data_List_Types.Cons) {\n if (v.value0 instanceof TwoLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(tree, v.value0.value0, v.value0.value1, v.value0.value2);\n return;\n };\n if (v.value0 instanceof TwoRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(v.value0.value0, v.value0.value1, v.value0.value2, tree);\n return;\n };\n if (v.value0 instanceof ThreeLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(tree, v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeMiddle) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, tree, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5, tree);\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 462, column 3 - line 467, column 88): \" + [ v.value0.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 459, column 1 - line 459, column 80): \" + [ v.constructor.name, tree.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictOrd, $tco_var_v, $copy_tree);\n };\n return $tco_result;\n };\n };\n};\nvar insert = function (dictOrd) {\n return function (k) {\n return function (v) {\n var up = function ($copy_v1) {\n return function ($copy_v2) {\n var $tco_var_v1 = $copy_v1;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v1, v2) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Two(v2.value0, v2.value1, v2.value2, v2.value3);\n };\n if (v1 instanceof Data_List_Types.Cons) {\n if (v1.value0 instanceof TwoLeft) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v2.value0, v2.value1, v2.value2, v2.value3, v1.value0.value0, v1.value0.value1, v1.value0.value2));\n };\n if (v1.value0 instanceof TwoRight) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0, v2.value1, v2.value2, v2.value3));\n };\n if (v1.value0 instanceof ThreeLeft) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v2.value0, v2.value1, v2.value2, v2.value3), v1.value0.value0, v1.value0.value1, new Two(v1.value0.value2, v1.value0.value3, v1.value0.value4, v1.value0.value5));\n return;\n };\n if (v1.value0 instanceof ThreeMiddle) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0), v2.value1, v2.value2, new Two(v2.value3, v1.value0.value3, v1.value0.value4, v1.value0.value5));\n return;\n };\n if (v1.value0 instanceof ThreeRight) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v1.value0.value3), v1.value0.value4, v1.value0.value5, new Two(v2.value0, v2.value1, v2.value2, v2.value3));\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 498, column 5 - line 503, column 108): \" + [ v1.value0.constructor.name, v2.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 495, column 3 - line 495, column 56): \" + [ v1.constructor.name, v2.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v1, $copy_v2);\n };\n return $tco_result;\n };\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_v1) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done1 = false;\n var $tco_result;\n function $tco_loop(ctx, v1) {\n if (v1 instanceof Leaf) {\n $tco_done1 = true;\n return up(ctx)(new KickUp(Leaf.value, k, v, Leaf.value));\n };\n if (v1 instanceof Two) {\n var v2 = comp(k)(v1.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done1 = true;\n return fromZipper(dictOrd)(ctx)(new Two(v1.value0, k, v, v1.value3));\n };\n if (v2 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(v1.value1, v1.value2, v1.value3), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(v1.value0, v1.value1, v1.value2), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n if (v1 instanceof Three) {\n var v3 = comp(k)(v1.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done1 = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, k, v, v1.value3, v1.value4, v1.value5, v1.value6));\n };\n var v4 = comp(k)(v1.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done1 = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, v1.value1, v1.value2, v1.value3, k, v, v1.value6));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(v1.value1, v1.value2, v1.value3, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v4 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(v1.value0, v1.value1, v1.value2, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(v1.value0, v1.value1, v1.value2, v1.value3, v1.value4, v1.value5), ctx);\n $copy_v1 = v1.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 478, column 3 - line 478, column 55): \" + [ ctx.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done1) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_v1);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n};\nvar pop = function (dictOrd) {\n return function (k) {\n var up = function ($copy_ctxs) {\n return function ($copy_tree) {\n var $tco_var_ctxs = $copy_ctxs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctxs, tree) {\n if (ctxs instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (ctxs instanceof Data_List_Types.Cons) {\n if (ctxs.value0 instanceof TwoLeft && (ctxs.value0.value2 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoRight && (ctxs.value0.value0 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3);\n return;\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree);\n return;\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6)));\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree)));\n };\n if (ctxs.value0 instanceof ThreeLeft && (ctxs.value0.value2 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeMiddle && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeRight && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value3 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value4, ctxs.value0.value5, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0, ctxs.value0.value5.value1, ctxs.value0.value5.value2, ctxs.value0.value5.value3)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3, ctxs.value0.value4, ctxs.value0.value5, tree)));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0), ctxs.value0.value5.value1, ctxs.value0.value5.value2, new Two(ctxs.value0.value5.value3, ctxs.value0.value5.value4, ctxs.value0.value5.value5, ctxs.value0.value5.value6)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3), ctxs.value0.value3.value4, ctxs.value0.value3.value5, new Two(ctxs.value0.value3.value6, ctxs.value0.value4, ctxs.value0.value5, tree)));\n };\n $tco_done = true;\n return Partial_Unsafe.unsafeCrashWith(\"The impossible happened in partial function `up`.\");\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 552, column 5 - line 573, column 86): \" + [ ctxs.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctxs, $copy_tree);\n };\n return $tco_result;\n };\n };\n var removeMaxNode = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done1 = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Two && (m.value0 instanceof Leaf && m.value3 instanceof Leaf)) {\n $tco_done1 = true;\n return up(ctx)(Leaf.value);\n };\n if (m instanceof Two) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf))) {\n $tco_done1 = true;\n return up(new Data_List_Types.Cons(new TwoRight(Leaf.value, m.value1, m.value2), ctx))(Leaf.value);\n };\n if (m instanceof Three) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n $tco_done1 = true;\n return Partial_Unsafe.unsafeCrashWith(\"The impossible happened in partial function `removeMaxNode`.\");\n };\n while (!$tco_done1) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n var maxNode = function ($copy_m) {\n var $tco_done2 = false;\n var $tco_result;\n function $tco_loop(m) {\n if (m instanceof Two && m.value3 instanceof Leaf) {\n $tco_done2 = true;\n return {\n key: m.value1,\n value: m.value2\n };\n };\n if (m instanceof Two) {\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && m.value6 instanceof Leaf) {\n $tco_done2 = true;\n return {\n key: m.value4,\n value: m.value5\n };\n };\n if (m instanceof Three) {\n $copy_m = m.value6;\n return;\n };\n $tco_done2 = true;\n return Partial_Unsafe.unsafeCrashWith(\"The impossible happened in partial function `maxNode`.\");\n };\n while (!$tco_done2) {\n $tco_result = $tco_loop($copy_m);\n };\n return $tco_result;\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done3 = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Leaf) {\n $tco_done3 = true;\n return Data_Maybe.Nothing.value;\n };\n if (m instanceof Two) {\n var v = comp(k)(m.value1);\n if (m.value3 instanceof Leaf && v instanceof Data_Ordering.EQ) {\n $tco_done3 = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, up(ctx)(Leaf.value)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done3 = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new TwoLeft(max.key, max.value, m.value3), ctx))(m.value0)));\n };\n if (v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(m.value1, m.value2, m.value3), ctx);\n $copy_m = m.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three) {\n var leaves = (function () {\n if (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf)) {\n return true;\n };\n return false;\n })();\n var v = comp(k)(m.value4);\n var v3 = comp(k)(m.value1);\n if (leaves && v3 instanceof Data_Ordering.EQ) {\n $tco_done3 = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value4, m.value5, Leaf.value))));\n };\n if (leaves && v instanceof Data_Ordering.EQ) {\n $tco_done3 = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value1, m.value2, Leaf.value))));\n };\n if (v3 instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done3 = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new ThreeLeft(max.key, max.value, m.value3, m.value4, m.value5, m.value6), ctx))(m.value0)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value3);\n $tco_done3 = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, removeMaxNode(new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, max.key, max.value, m.value6), ctx))(m.value3)));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(m.value1, m.value2, m.value3, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 525, column 16 - line 548, column 80): \" + [ m.constructor.name ]);\n };\n while (!$tco_done3) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n};\nvar foldableMap = {\n foldr: function (f) {\n return function (z) {\n return function (m) {\n if (m instanceof Leaf) {\n return z;\n };\n if (m instanceof Two) {\n return Data_Foldable.foldr(foldableMap)(f)(f(m.value2)(Data_Foldable.foldr(foldableMap)(f)(z)(m.value3)))(m.value0);\n };\n if (m instanceof Three) {\n return Data_Foldable.foldr(foldableMap)(f)(f(m.value2)(Data_Foldable.foldr(foldableMap)(f)(f(m.value5)(Data_Foldable.foldr(foldableMap)(f)(z)(m.value6)))(m.value3)))(m.value0);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 133, column 17 - line 136, column 85): \" + [ m.constructor.name ]);\n };\n };\n },\n foldl: function (f) {\n return function (z) {\n return function (m) {\n if (m instanceof Leaf) {\n return z;\n };\n if (m instanceof Two) {\n return Data_Foldable.foldl(foldableMap)(f)(f(Data_Foldable.foldl(foldableMap)(f)(z)(m.value0))(m.value2))(m.value3);\n };\n if (m instanceof Three) {\n return Data_Foldable.foldl(foldableMap)(f)(f(Data_Foldable.foldl(foldableMap)(f)(f(Data_Foldable.foldl(foldableMap)(f)(z)(m.value0))(m.value2))(m.value3))(m.value5))(m.value6);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 137, column 17 - line 140, column 85): \" + [ m.constructor.name ]);\n };\n };\n },\n foldMap: function (dictMonoid) {\n return function (f) {\n return function (m) {\n if (m instanceof Leaf) {\n return Data_Monoid.mempty(dictMonoid);\n };\n if (m instanceof Two) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(Data_Foldable.foldMap(foldableMap)(dictMonoid)(f)(m.value0))(Data_Semigroup.append(dictMonoid.Semigroup0())(f(m.value2))(Data_Foldable.foldMap(foldableMap)(dictMonoid)(f)(m.value3)));\n };\n if (m instanceof Three) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(Data_Foldable.foldMap(foldableMap)(dictMonoid)(f)(m.value0))(Data_Semigroup.append(dictMonoid.Semigroup0())(f(m.value2))(Data_Semigroup.append(dictMonoid.Semigroup0())(Data_Foldable.foldMap(foldableMap)(dictMonoid)(f)(m.value3))(Data_Semigroup.append(dictMonoid.Semigroup0())(f(m.value5))(Data_Foldable.foldMap(foldableMap)(dictMonoid)(f)(m.value6)))));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 141, column 17 - line 144, column 93): \" + [ m.constructor.name ]);\n };\n };\n }\n};\nvar foldableWithIndexMap = {\n foldrWithIndex: function (f) {\n return function (z) {\n return function (m) {\n if (m instanceof Leaf) {\n return z;\n };\n if (m instanceof Two) {\n return Data_FoldableWithIndex.foldrWithIndex(foldableWithIndexMap)(f)(f(m.value1)(m.value2)(Data_FoldableWithIndex.foldrWithIndex(foldableWithIndexMap)(f)(z)(m.value3)))(m.value0);\n };\n if (m instanceof Three) {\n return Data_FoldableWithIndex.foldrWithIndex(foldableWithIndexMap)(f)(f(m.value1)(m.value2)(Data_FoldableWithIndex.foldrWithIndex(foldableWithIndexMap)(f)(f(m.value4)(m.value5)(Data_FoldableWithIndex.foldrWithIndex(foldableWithIndexMap)(f)(z)(m.value6)))(m.value3)))(m.value0);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 147, column 26 - line 150, column 120): \" + [ m.constructor.name ]);\n };\n };\n },\n foldlWithIndex: function (f) {\n return function (z) {\n return function (m) {\n if (m instanceof Leaf) {\n return z;\n };\n if (m instanceof Two) {\n return Data_FoldableWithIndex.foldlWithIndex(foldableWithIndexMap)(f)(f(m.value1)(Data_FoldableWithIndex.foldlWithIndex(foldableWithIndexMap)(f)(z)(m.value0))(m.value2))(m.value3);\n };\n if (m instanceof Three) {\n return Data_FoldableWithIndex.foldlWithIndex(foldableWithIndexMap)(f)(f(m.value4)(Data_FoldableWithIndex.foldlWithIndex(foldableWithIndexMap)(f)(f(m.value1)(Data_FoldableWithIndex.foldlWithIndex(foldableWithIndexMap)(f)(z)(m.value0))(m.value2))(m.value3))(m.value5))(m.value6);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 151, column 26 - line 154, column 120): \" + [ m.constructor.name ]);\n };\n };\n },\n foldMapWithIndex: function (dictMonoid) {\n return function (f) {\n return function (m) {\n if (m instanceof Leaf) {\n return Data_Monoid.mempty(dictMonoid);\n };\n if (m instanceof Two) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(Data_FoldableWithIndex.foldMapWithIndex(foldableWithIndexMap)(dictMonoid)(f)(m.value0))(Data_Semigroup.append(dictMonoid.Semigroup0())(f(m.value1)(m.value2))(Data_FoldableWithIndex.foldMapWithIndex(foldableWithIndexMap)(dictMonoid)(f)(m.value3)));\n };\n if (m instanceof Three) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(Data_FoldableWithIndex.foldMapWithIndex(foldableWithIndexMap)(dictMonoid)(f)(m.value0))(Data_Semigroup.append(dictMonoid.Semigroup0())(f(m.value1)(m.value2))(Data_Semigroup.append(dictMonoid.Semigroup0())(Data_FoldableWithIndex.foldMapWithIndex(foldableWithIndexMap)(dictMonoid)(f)(m.value3))(Data_Semigroup.append(dictMonoid.Semigroup0())(f(m.value4)(m.value5))(Data_FoldableWithIndex.foldMapWithIndex(foldableWithIndexMap)(dictMonoid)(f)(m.value6)))));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 155, column 26 - line 158, column 128): \" + [ m.constructor.name ]);\n };\n };\n },\n Foldable0: function () {\n return foldableMap;\n }\n};\nvar keys = /* #__PURE__ */ (function () {\n return Data_FoldableWithIndex.foldrWithIndex(foldableWithIndexMap)(function (k) {\n return function (v) {\n return function (acc) {\n return new Data_List_Types.Cons(k, acc);\n };\n };\n })(Data_List_Types.Nil.value);\n})();\nvar traversableMap = {\n traverse: function (dictApplicative) {\n return function (v) {\n return function (v1) {\n if (v1 instanceof Leaf) {\n return Control_Applicative.pure(dictApplicative)(Leaf.value);\n };\n if (v1 instanceof Two) {\n return Control_Apply.apply(dictApplicative.Apply0())(Control_Apply.apply(dictApplicative.Apply0())(Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(Two.create)(Data_Traversable.traverse(traversableMap)(dictApplicative)(v)(v1.value0)))(Control_Applicative.pure(dictApplicative)(v1.value1)))(v(v1.value2)))(Data_Traversable.traverse(traversableMap)(dictApplicative)(v)(v1.value3));\n };\n if (v1 instanceof Three) {\n return Control_Apply.apply(dictApplicative.Apply0())(Control_Apply.apply(dictApplicative.Apply0())(Control_Apply.apply(dictApplicative.Apply0())(Control_Apply.apply(dictApplicative.Apply0())(Control_Apply.apply(dictApplicative.Apply0())(Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(Three.create)(Data_Traversable.traverse(traversableMap)(dictApplicative)(v)(v1.value0)))(Control_Applicative.pure(dictApplicative)(v1.value1)))(v(v1.value2)))(Data_Traversable.traverse(traversableMap)(dictApplicative)(v)(v1.value3)))(Control_Applicative.pure(dictApplicative)(v1.value4)))(v(v1.value5)))(Data_Traversable.traverse(traversableMap)(dictApplicative)(v)(v1.value6));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 160, column 1 - line 175, column 31): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n },\n sequence: function (dictApplicative) {\n return Data_Traversable.traverse(traversableMap)(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n },\n Functor0: function () {\n return functorMap;\n },\n Foldable1: function () {\n return foldableMap;\n }\n};\nvar traversableWithIndexMap = {\n traverseWithIndex: function (dictApplicative) {\n return function (v) {\n return function (v1) {\n if (v1 instanceof Leaf) {\n return Control_Applicative.pure(dictApplicative)(Leaf.value);\n };\n if (v1 instanceof Two) {\n return Control_Apply.apply(dictApplicative.Apply0())(Control_Apply.apply(dictApplicative.Apply0())(Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(Two.create)(Data_TraversableWithIndex.traverseWithIndex(traversableWithIndexMap)(dictApplicative)(v)(v1.value0)))(Control_Applicative.pure(dictApplicative)(v1.value1)))(v(v1.value1)(v1.value2)))(Data_TraversableWithIndex.traverseWithIndex(traversableWithIndexMap)(dictApplicative)(v)(v1.value3));\n };\n if (v1 instanceof Three) {\n return Control_Apply.apply(dictApplicative.Apply0())(Control_Apply.apply(dictApplicative.Apply0())(Control_Apply.apply(dictApplicative.Apply0())(Control_Apply.apply(dictApplicative.Apply0())(Control_Apply.apply(dictApplicative.Apply0())(Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(Three.create)(Data_TraversableWithIndex.traverseWithIndex(traversableWithIndexMap)(dictApplicative)(v)(v1.value0)))(Control_Applicative.pure(dictApplicative)(v1.value1)))(v(v1.value1)(v1.value2)))(Data_TraversableWithIndex.traverseWithIndex(traversableWithIndexMap)(dictApplicative)(v)(v1.value3)))(Control_Applicative.pure(dictApplicative)(v1.value4)))(v(v1.value4)(v1.value5)))(Data_TraversableWithIndex.traverseWithIndex(traversableWithIndexMap)(dictApplicative)(v)(v1.value6));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 177, column 1 - line 191, column 40): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n },\n FunctorWithIndex0: function () {\n return functorWithIndexMap;\n },\n FoldableWithIndex1: function () {\n return foldableWithIndexMap;\n },\n Traversable2: function () {\n return traversableMap;\n }\n};\nvar values = /* #__PURE__ */ (function () {\n return Data_Foldable.foldr(foldableMap)(Data_List_Types.Cons.create)(Data_List_Types.Nil.value);\n})();\nvar foldSubmapBy = function (dictOrd) {\n return function (appendFn) {\n return function (memptyValue) {\n return function (kmin) {\n return function (kmax) {\n return function (f) {\n var tooSmall = (function () {\n if (kmin instanceof Data_Maybe.Just) {\n return function (k) {\n return Data_Ord.lessThan(dictOrd)(k)(kmin.value0);\n };\n };\n if (kmin instanceof Data_Maybe.Nothing) {\n return Data_Function[\"const\"](false);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 363, column 7 - line 367, column 22): \" + [ kmin.constructor.name ]);\n })();\n var tooLarge = (function () {\n if (kmax instanceof Data_Maybe.Just) {\n return function (k) {\n return Data_Ord.greaterThan(dictOrd)(k)(kmax.value0);\n };\n };\n if (kmax instanceof Data_Maybe.Nothing) {\n return Data_Function[\"const\"](false);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 370, column 7 - line 374, column 22): \" + [ kmax.constructor.name ]);\n })();\n var inBounds = (function () {\n if (kmin instanceof Data_Maybe.Just && kmax instanceof Data_Maybe.Just) {\n return function (k) {\n return Data_Ord.lessThanOrEq(dictOrd)(kmin.value0)(k) && Data_Ord.lessThanOrEq(dictOrd)(k)(kmax.value0);\n };\n };\n if (kmin instanceof Data_Maybe.Just && kmax instanceof Data_Maybe.Nothing) {\n return function (k) {\n return Data_Ord.lessThanOrEq(dictOrd)(kmin.value0)(k);\n };\n };\n if (kmin instanceof Data_Maybe.Nothing && kmax instanceof Data_Maybe.Just) {\n return function (k) {\n return Data_Ord.lessThanOrEq(dictOrd)(k)(kmax.value0);\n };\n };\n if (kmin instanceof Data_Maybe.Nothing && kmax instanceof Data_Maybe.Nothing) {\n return Data_Function[\"const\"](true);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 377, column 7 - line 385, column 21): \" + [ kmin.constructor.name, kmax.constructor.name ]);\n })();\n var go = function (v) {\n if (v instanceof Leaf) {\n return memptyValue;\n };\n if (v instanceof Two) {\n return appendFn(appendFn((function () {\n var $689 = tooSmall(v.value1);\n if ($689) {\n return memptyValue;\n };\n return go(v.value0);\n })())((function () {\n var $690 = inBounds(v.value1);\n if ($690) {\n return f(v.value1)(v.value2);\n };\n return memptyValue;\n })()))((function () {\n var $691 = tooLarge(v.value1);\n if ($691) {\n return memptyValue;\n };\n return go(v.value3);\n })());\n };\n if (v instanceof Three) {\n return appendFn(appendFn(appendFn(appendFn((function () {\n var $696 = tooSmall(v.value1);\n if ($696) {\n return memptyValue;\n };\n return go(v.value0);\n })())((function () {\n var $697 = inBounds(v.value1);\n if ($697) {\n return f(v.value1)(v.value2);\n };\n return memptyValue;\n })()))((function () {\n var $698 = tooSmall(v.value4) || tooLarge(v.value1);\n if ($698) {\n return memptyValue;\n };\n return go(v.value3);\n })()))((function () {\n var $699 = inBounds(v.value4);\n if ($699) {\n return f(v.value4)(v.value5);\n };\n return memptyValue;\n })()))((function () {\n var $700 = tooLarge(v.value4);\n if ($700) {\n return memptyValue;\n };\n return go(v.value6);\n })());\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 403, column 10 - line 415, column 67): \" + [ v.constructor.name ]);\n };\n return go;\n };\n };\n };\n };\n };\n};\nvar foldSubmap = function (dictOrd) {\n return function (dictMonoid) {\n return foldSubmapBy(dictOrd)(Data_Semigroup.append(dictMonoid.Semigroup0()))(Data_Monoid.mempty(dictMonoid));\n };\n};\nvar findMin = /* #__PURE__ */ (function () {\n var go = function ($copy_v) {\n return function ($copy_v1) {\n var $tco_var_v = $copy_v;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v, v1) {\n if (v1 instanceof Leaf) {\n $tco_done = true;\n return v;\n };\n if (v1 instanceof Two) {\n $tco_var_v = new Data_Maybe.Just({\n key: v1.value1,\n value: v1.value2\n });\n $copy_v1 = v1.value0;\n return;\n };\n if (v1 instanceof Three) {\n $tco_var_v = new Data_Maybe.Just({\n key: v1.value1,\n value: v1.value2\n });\n $copy_v1 = v1.value0;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 338, column 5 - line 338, column 22): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v, $copy_v1);\n };\n return $tco_result;\n };\n };\n return go(Data_Maybe.Nothing.value);\n})();\nvar lookupGT = function (dictOrd) {\n return function (k) {\n var comp = Data_Ord.compare(dictOrd);\n var go = function (v) {\n if (v instanceof Leaf) {\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof Two) {\n var v2 = comp(k)(v.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n return findMin(v.value3);\n };\n if (v2 instanceof Data_Ordering.LT) {\n return new Data_Maybe.Just(Data_Maybe.fromMaybe({\n key: v.value1,\n value: v.value2\n })(go(v.value0)));\n };\n if (v2 instanceof Data_Ordering.GT) {\n return go(v.value3);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 317, column 33 - line 320, column 21): \" + [ v2.constructor.name ]);\n };\n if (v instanceof Three) {\n var v3 = comp(k)(v.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n return findMin(new Two(v.value3, v.value4, v.value5, v.value6));\n };\n if (v3 instanceof Data_Ordering.LT) {\n return new Data_Maybe.Just(Data_Maybe.fromMaybe({\n key: v.value1,\n value: v.value2\n })(go(v.value0)));\n };\n if (v3 instanceof Data_Ordering.GT) {\n return go(new Two(v.value3, v.value4, v.value5, v.value6));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 321, column 45 - line 324, column 37): \" + [ v3.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 316, column 5 - line 316, column 22): \" + [ v.constructor.name ]);\n };\n return go;\n };\n};\nvar findMax = /* #__PURE__ */ (function () {\n var go = function ($copy_v) {\n return function ($copy_v1) {\n var $tco_var_v = $copy_v;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v, v1) {\n if (v1 instanceof Leaf) {\n $tco_done = true;\n return v;\n };\n if (v1 instanceof Two) {\n $tco_var_v = new Data_Maybe.Just({\n key: v1.value1,\n value: v1.value2\n });\n $copy_v1 = v1.value3;\n return;\n };\n if (v1 instanceof Three) {\n $tco_var_v = new Data_Maybe.Just({\n key: v1.value4,\n value: v1.value5\n });\n $copy_v1 = v1.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 330, column 5 - line 330, column 22): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v, $copy_v1);\n };\n return $tco_result;\n };\n };\n return go(Data_Maybe.Nothing.value);\n})();\nvar lookupLT = function (dictOrd) {\n return function (k) {\n var comp = Data_Ord.compare(dictOrd);\n var go = function (v) {\n if (v instanceof Leaf) {\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof Two) {\n var v2 = comp(k)(v.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n return findMax(v.value0);\n };\n if (v2 instanceof Data_Ordering.GT) {\n return new Data_Maybe.Just(Data_Maybe.fromMaybe({\n key: v.value1,\n value: v.value2\n })(go(v.value3)));\n };\n if (v2 instanceof Data_Ordering.LT) {\n return go(v.value0);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 283, column 33 - line 286, column 20): \" + [ v2.constructor.name ]);\n };\n if (v instanceof Three) {\n var v3 = comp(k)(v.value4);\n if (v3 instanceof Data_Ordering.EQ) {\n return findMax(new Two(v.value0, v.value1, v.value2, v.value3));\n };\n if (v3 instanceof Data_Ordering.GT) {\n return new Data_Maybe.Just(Data_Maybe.fromMaybe({\n key: v.value4,\n value: v.value5\n })(go(v.value6)));\n };\n if (v3 instanceof Data_Ordering.LT) {\n return go(new Two(v.value0, v.value1, v.value2, v.value3));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 287, column 45 - line 290, column 36): \" + [ v3.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 282, column 5 - line 282, column 22): \" + [ v.constructor.name ]);\n };\n return go;\n };\n};\nvar eqMap = function (dictEq) {\n return function (dictEq1) {\n return {\n eq: function (m1) {\n return function (m2) {\n return Data_Eq.eq(Data_Eq.eqArray(Data_Tuple.eqTuple(dictEq)(dictEq1)))(toAscArray(m1))(toAscArray(m2));\n };\n }\n };\n };\n};\nvar ordMap = function (dictOrd) {\n return function (dictOrd1) {\n return {\n compare: function (m1) {\n return function (m2) {\n return Data_Ord.compare(Data_Ord.ordArray(Data_Tuple.ordTuple(dictOrd)(dictOrd1)))(toAscArray(m1))(toAscArray(m2));\n };\n },\n Eq0: function () {\n return eqMap(dictOrd.Eq0())(dictOrd1.Eq0());\n }\n };\n };\n};\nvar eq1Map = function (dictEq) {\n return {\n eq1: function (dictEq1) {\n return Data_Eq.eq(eqMap(dictEq)(dictEq1));\n }\n };\n};\nvar ord1Map = function (dictOrd) {\n return {\n compare1: function (dictOrd1) {\n return Data_Ord.compare(ordMap(dictOrd)(dictOrd1));\n },\n Eq10: function () {\n return eq1Map(dictOrd.Eq0());\n }\n };\n};\nvar empty = /* #__PURE__ */ (function () {\n return Leaf.value;\n})();\nvar fromFoldable = function (dictOrd) {\n return function (dictFoldable) {\n return Data_Foldable.foldl(dictFoldable)(function (m) {\n return function (v) {\n return insert(dictOrd)(v.value0)(v.value1)(m);\n };\n })(empty);\n };\n};\nvar filterWithKey = function (dictOrd) {\n return function (predicate) {\n var $797 = fromFoldable(dictOrd)(Data_List_Lazy_Types.foldableList);\n var $798 = Data_List_Lazy.filter(Data_Tuple.uncurry(predicate));\n var $799 = toUnfoldable(Data_List_Lazy_Types.unfoldableList);\n return function ($800) {\n return $797($798($799($800)));\n };\n };\n};\nvar filter = function (dictOrd) {\n return function (predicate) {\n return filterWithKey(dictOrd)(Data_Function[\"const\"](predicate));\n };\n};\nvar filterKeys = function (dictOrd) {\n return function (predicate) {\n return filterWithKey(dictOrd)(function ($801) {\n return Data_Function[\"const\"](predicate($801));\n });\n };\n};\nvar fromFoldableWithIndex = function (dictOrd) {\n return function (dictFoldableWithIndex) {\n return Data_FoldableWithIndex.foldlWithIndex(dictFoldableWithIndex)(function (k) {\n return function (m) {\n return function (v) {\n return insert(dictOrd)(k)(v)(m);\n };\n };\n })(empty);\n };\n};\nvar intersectionWith = function (dictOrd) {\n return function (f) {\n return function (m1) {\n return function (m2) {\n var go = function ($copy_v) {\n return function ($copy_v1) {\n return function ($copy_m) {\n var $tco_var_v = $copy_v;\n var $tco_var_v1 = $copy_v1;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v, v1, m) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return m;\n };\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return m;\n };\n if (v instanceof Data_List_Types.Cons && v1 instanceof Data_List_Types.Cons) {\n var v2 = Data_Ord.compare(dictOrd)(v.value0.value0)(v1.value0.value0);\n if (v2 instanceof Data_Ordering.LT) {\n $tco_var_v = v.value1;\n $tco_var_v1 = v1;\n $copy_m = m;\n return;\n };\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_var_v = v.value1;\n $tco_var_v1 = v1.value1;\n $copy_m = insert(dictOrd)(v.value0.value0)(f(v.value0.value1)(v1.value0.value1))(m);\n return;\n };\n if (v2 instanceof Data_Ordering.GT) {\n $tco_var_v = v;\n $tco_var_v1 = v1.value1;\n $copy_m = m;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 684, column 5 - line 687, column 27): \" + [ v2.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 681, column 3 - line 681, column 17): \" + [ v.constructor.name, v1.constructor.name, m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v, $tco_var_v1, $copy_m);\n };\n return $tco_result;\n };\n };\n };\n return go(toUnfoldable(Data_List_Types.unfoldableList)(m1))(toUnfoldable(Data_List_Types.unfoldableList)(m2))(empty);\n };\n };\n };\n};\nvar intersection = function (dictOrd) {\n return intersectionWith(dictOrd)(Data_Function[\"const\"]);\n};\nvar mapMaybeWithKey = function (dictOrd) {\n return function (f) {\n return Data_FoldableWithIndex.foldrWithIndex(foldableWithIndexMap)(function (k) {\n return function (a) {\n return function (acc) {\n return Data_Maybe.maybe(acc)(function (b) {\n return insert(dictOrd)(k)(b)(acc);\n })(f(k)(a));\n };\n };\n })(empty);\n };\n};\nvar mapMaybe = function (dictOrd) {\n var $802 = mapMaybeWithKey(dictOrd);\n return function ($803) {\n return $802(Data_Function[\"const\"]($803));\n };\n};\nvar $$delete = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.maybe(m)(Data_Tuple.snd)(pop(dictOrd)(k)(m));\n };\n };\n};\nvar difference = function (dictOrd) {\n return function (m1) {\n return function (m2) {\n return Data_Foldable.foldl(Data_List_Types.foldableList)(Data_Function.flip($$delete(dictOrd)))(m1)(keys(m2));\n };\n };\n};\nvar checkValid = function (tree) {\n var allHeights = function (v) {\n if (v instanceof Leaf) {\n return Control_Applicative.pure(Data_List_Types.applicativeList)(0);\n };\n if (v instanceof Two) {\n return Data_Functor.map(Data_List_Types.functorList)(function (n) {\n return n + 1 | 0;\n })(Data_Semigroup.append(Data_List_Types.semigroupList)(allHeights(v.value0))(allHeights(v.value3)));\n };\n if (v instanceof Three) {\n return Data_Functor.map(Data_List_Types.functorList)(function (n) {\n return n + 1 | 0;\n })(Data_Semigroup.append(Data_List_Types.semigroupList)(allHeights(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(allHeights(v.value3))(allHeights(v.value6))));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 229, column 3 - line 229, column 36): \" + [ v.constructor.name ]);\n };\n return Data_List.length(Data_List.nub(Data_Ord.ordInt)(allHeights(tree))) === 1;\n};\nvar catMaybes = function (dictOrd) {\n return mapMaybe(dictOrd)(Control_Category.identity(Control_Category.categoryFn));\n};\nvar applyMap = function (dictOrd) {\n return {\n apply: intersectionWith(dictOrd)(Control_Category.identity(Control_Category.categoryFn)),\n Functor0: function () {\n return functorMap;\n }\n };\n};\nvar bindMap = function (dictOrd) {\n return {\n bind: function (m) {\n return function (f) {\n return mapMaybeWithKey(dictOrd)(function (k) {\n var $804 = lookup(dictOrd)(k);\n return function ($805) {\n return $804(f($805));\n };\n })(m);\n };\n },\n Apply0: function () {\n return applyMap(dictOrd);\n }\n };\n};\nvar alter = function (dictOrd) {\n return function (f) {\n return function (k) {\n return function (m) {\n var v = f(lookup(dictOrd)(k)(m));\n if (v instanceof Data_Maybe.Nothing) {\n return $$delete(dictOrd)(k)(m);\n };\n if (v instanceof Data_Maybe.Just) {\n return insert(dictOrd)(k)(v.value0)(m);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 596, column 15 - line 598, column 25): \" + [ v.constructor.name ]);\n };\n };\n };\n};\nvar fromFoldableWith = function (dictOrd) {\n return function (dictFoldable) {\n return function (f) {\n var combine = function (v) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Just) {\n return new Data_Maybe.Just(f(v)(v1.value0));\n };\n if (v1 instanceof Data_Maybe.Nothing) {\n return new Data_Maybe.Just(v);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 613, column 3 - line 613, column 38): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n return Data_Foldable.foldl(dictFoldable)(function (m) {\n return function (v) {\n return alter(dictOrd)(combine(v.value1))(v.value0)(m);\n };\n })(empty);\n };\n };\n};\nvar insertWith = function (dictOrd) {\n return function (f) {\n return function (k) {\n return function (v) {\n return alter(dictOrd)((function () {\n var $806 = Data_Maybe.maybe(v)(Data_Function.flip(f)(v));\n return function ($807) {\n return Data_Maybe.Just.create($806($807));\n };\n })())(k);\n };\n };\n };\n};\nvar unionWith = function (dictOrd) {\n return function (f) {\n return function (m1) {\n return function (m2) {\n var go = function (k) {\n return function (m) {\n return function (v) {\n return alter(dictOrd)((function () {\n var $808 = Data_Maybe.maybe(v)(f(v));\n return function ($809) {\n return Data_Maybe.Just.create($808($809));\n };\n })())(k)(m);\n };\n };\n };\n return Data_FoldableWithIndex.foldlWithIndex(foldableWithIndexMap)(go)(m2)(m1);\n };\n };\n };\n};\nvar semigroupMap = function () {\n return function (dictOrd) {\n return function (dictSemigroup) {\n return {\n append: function (l) {\n return function (r) {\n return unionWith(dictOrd)(Data_Semigroup.append(dictSemigroup))(l)(r);\n };\n }\n };\n };\n };\n};\nvar monoidSemigroupMap = function () {\n return function (dictOrd) {\n return function (dictSemigroup) {\n return {\n mempty: empty,\n Semigroup0: function () {\n return semigroupMap()(dictOrd)(dictSemigroup);\n }\n };\n };\n };\n};\nvar union = function (dictOrd) {\n return unionWith(dictOrd)(Data_Function[\"const\"]);\n};\nvar submap = function (dictOrd) {\n return function (kmin) {\n return function (kmax) {\n return foldSubmapBy(dictOrd)(union(dictOrd))(empty)(kmin)(kmax)(singleton);\n };\n };\n};\nvar unions = function (dictOrd) {\n return function (dictFoldable) {\n return Data_Foldable.foldl(dictFoldable)(union(dictOrd))(empty);\n };\n};\nvar update = function (dictOrd) {\n return function (f) {\n return function (k) {\n return function (m) {\n return alter(dictOrd)(Data_Maybe.maybe(Data_Maybe.Nothing.value)(f))(k)(m);\n };\n };\n };\n};\nvar altMap = function (dictOrd) {\n return {\n alt: union(dictOrd),\n Functor0: function () {\n return functorMap;\n }\n };\n};\nvar plusMap = function (dictOrd) {\n return {\n empty: empty,\n Alt0: function () {\n return altMap(dictOrd);\n }\n };\n};\nexport {\n Leaf,\n Two,\n Three,\n showTree,\n empty,\n isEmpty,\n singleton,\n checkValid,\n insert,\n insertWith,\n lookup,\n lookupLE,\n lookupLT,\n lookupGE,\n lookupGT,\n findMin,\n findMax,\n foldSubmap,\n submap,\n fromFoldable,\n fromFoldableWith,\n fromFoldableWithIndex,\n toUnfoldable,\n toUnfoldableUnordered,\n $$delete as delete,\n pop,\n member,\n alter,\n update,\n keys,\n values,\n union,\n unionWith,\n unions,\n intersection,\n intersectionWith,\n difference,\n isSubmap,\n size,\n filterWithKey,\n filterKeys,\n filter,\n mapMaybeWithKey,\n mapMaybe,\n catMaybes,\n eq1Map,\n eqMap,\n ord1Map,\n ordMap,\n showMap,\n semigroupMap,\n monoidSemigroupMap,\n altMap,\n plusMap,\n functorMap,\n functorWithIndexMap,\n applyMap,\n bindMap,\n foldableMap,\n foldableWithIndexMap,\n traversableMap,\n traversableWithIndexMap\n};\n", "/* global Symbol */\n\nvar hasArrayFrom = typeof Array.from === \"function\";\nvar hasStringIterator =\n typeof Symbol !== \"undefined\" &&\n Symbol != null &&\n typeof Symbol.iterator !== \"undefined\" &&\n typeof String.prototype[Symbol.iterator] === \"function\";\nvar hasFromCodePoint = typeof String.prototype.fromCodePoint === \"function\";\nvar hasCodePointAt = typeof String.prototype.codePointAt === \"function\";\n\nexport const _unsafeCodePointAt0 = function (fallback) {\n return hasCodePointAt\n ? function (str) { return str.codePointAt(0); }\n : fallback;\n};\n\nexport const _codePointAt = function (fallback) {\n return function (Just) {\n return function (Nothing) {\n return function (unsafeCodePointAt0) {\n return function (index) {\n return function (str) {\n var length = str.length;\n if (index < 0 || index >= length) return Nothing;\n if (hasStringIterator) {\n var iter = str[Symbol.iterator]();\n for (var i = index;; --i) {\n var o = iter.next();\n if (o.done) return Nothing;\n if (i === 0) return Just(unsafeCodePointAt0(o.value));\n }\n }\n return fallback(index)(str);\n };\n };\n };\n };\n };\n};\n\nexport const _countPrefix = function (fallback) {\n return function (unsafeCodePointAt0) {\n if (hasStringIterator) {\n return function (pred) {\n return function (str) {\n var iter = str[Symbol.iterator]();\n for (var cpCount = 0; ; ++cpCount) {\n var o = iter.next();\n if (o.done) return cpCount;\n var cp = unsafeCodePointAt0(o.value);\n if (!pred(cp)) return cpCount;\n }\n };\n };\n }\n return fallback;\n };\n};\n\nexport const _fromCodePointArray = function (singleton) {\n return hasFromCodePoint\n ? function (cps) {\n // Function.prototype.apply will fail for very large second parameters,\n // so we don't use it for arrays with 10,000 or more entries.\n if (cps.length < 10e3) {\n return String.fromCodePoint.apply(String, cps);\n }\n return cps.map(singleton).join(\"\");\n }\n : function (cps) {\n return cps.map(singleton).join(\"\");\n };\n};\n\nexport const _singleton = function (fallback) {\n return hasFromCodePoint ? String.fromCodePoint : fallback;\n};\n\nexport const _take = function (fallback) {\n return function (n) {\n if (hasStringIterator) {\n return function (str) {\n var accum = \"\";\n var iter = str[Symbol.iterator]();\n for (var i = 0; i < n; ++i) {\n var o = iter.next();\n if (o.done) return accum;\n accum += o.value;\n }\n return accum;\n };\n }\n return fallback(n);\n };\n};\n\nexport const _toCodePointArray = function (fallback) {\n return function (unsafeCodePointAt0) {\n if (hasArrayFrom) {\n return function (str) {\n return Array.from(str, unsafeCodePointAt0);\n };\n }\n return fallback;\n };\n};\n", "export function toCharCode(c) {\n return c.charCodeAt(0);\n}\n\nexport function fromCharCode(c) {\n return String.fromCharCode(c);\n}\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Control_Alternative from \"../Control.Alternative/index.js\";\nimport * as Control_Apply from \"../Control.Apply/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Data_Boolean from \"../Data.Boolean/index.js\";\nimport * as Data_Bounded from \"../Data.Bounded/index.js\";\nimport * as Data_Either from \"../Data.Either/index.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Ordering from \"../Data.Ordering/index.js\";\nimport * as Data_Show from \"../Data.Show/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nimport * as Data_Unfoldable from \"../Data.Unfoldable/index.js\";\nimport * as Data_Unfoldable1 from \"../Data.Unfoldable1/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nvar Cardinality = function (x) {\n return x;\n};\nvar toEnum = function (dict) {\n return dict.toEnum;\n};\nvar succ = function (dict) {\n return dict.succ;\n};\nvar upFromIncluding = function (dictEnum) {\n return function (dictUnfoldable1) {\n return Data_Unfoldable1.unfoldr1(dictUnfoldable1)(Control_Apply.apply(Control_Apply.applyFn)(Data_Tuple.Tuple.create)(succ(dictEnum)));\n };\n};\nvar showCardinality = {\n show: function (v) {\n return \"(Cardinality \" + (Data_Show.show(Data_Show.showInt)(v) + \")\");\n }\n};\nvar pred = function (dict) {\n return dict.pred;\n};\nvar ordCardinality = Data_Ord.ordInt;\nvar newtypeCardinality = {\n Coercible0: function () {\n return undefined;\n }\n};\nvar fromEnum = function (dict) {\n return dict.fromEnum;\n};\nvar toEnumWithDefaults = function (dictBoundedEnum) {\n return function (low) {\n return function (high) {\n return function (x) {\n var v = toEnum(dictBoundedEnum)(x);\n if (v instanceof Data_Maybe.Just) {\n return v.value0;\n };\n if (v instanceof Data_Maybe.Nothing) {\n var $54 = x < fromEnum(dictBoundedEnum)(Data_Bounded.bottom(dictBoundedEnum.Bounded0()));\n if ($54) {\n return low;\n };\n return high;\n };\n throw new Error(\"Failed pattern match at Data.Enum (line 158, column 33 - line 160, column 62): \" + [ v.constructor.name ]);\n };\n };\n };\n};\nvar eqCardinality = Data_Eq.eqInt;\nvar enumUnit = /* #__PURE__ */ (function () {\n return {\n succ: Data_Function[\"const\"](Data_Maybe.Nothing.value),\n pred: Data_Function[\"const\"](Data_Maybe.Nothing.value),\n Ord0: function () {\n return Data_Ord.ordUnit;\n }\n };\n})();\nvar enumTuple = function (dictEnum) {\n return function (dictBoundedEnum) {\n return {\n succ: function (v) {\n return Data_Maybe.maybe(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Function.flip(Data_Tuple.Tuple.create)(Data_Bounded.bottom(dictBoundedEnum.Bounded0())))(succ(dictEnum)(v.value0)))((function () {\n var $97 = Data_Tuple.Tuple.create(v.value0);\n return function ($98) {\n return Data_Maybe.Just.create($97($98));\n };\n })())(succ(dictBoundedEnum.Enum1())(v.value1));\n },\n pred: function (v) {\n return Data_Maybe.maybe(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Function.flip(Data_Tuple.Tuple.create)(Data_Bounded.top(dictBoundedEnum.Bounded0())))(pred(dictEnum)(v.value0)))((function () {\n var $99 = Data_Tuple.Tuple.create(v.value0);\n return function ($100) {\n return Data_Maybe.Just.create($99($100));\n };\n })())(pred(dictBoundedEnum.Enum1())(v.value1));\n },\n Ord0: function () {\n return Data_Tuple.ordTuple(dictEnum.Ord0())((dictBoundedEnum.Enum1()).Ord0());\n }\n };\n };\n};\nvar enumOrdering = {\n succ: function (v) {\n if (v instanceof Data_Ordering.LT) {\n return new Data_Maybe.Just(Data_Ordering.EQ.value);\n };\n if (v instanceof Data_Ordering.EQ) {\n return new Data_Maybe.Just(Data_Ordering.GT.value);\n };\n if (v instanceof Data_Ordering.GT) {\n return Data_Maybe.Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Enum (line 72, column 1 - line 78, column 20): \" + [ v.constructor.name ]);\n },\n pred: function (v) {\n if (v instanceof Data_Ordering.LT) {\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof Data_Ordering.EQ) {\n return new Data_Maybe.Just(Data_Ordering.LT.value);\n };\n if (v instanceof Data_Ordering.GT) {\n return new Data_Maybe.Just(Data_Ordering.EQ.value);\n };\n throw new Error(\"Failed pattern match at Data.Enum (line 72, column 1 - line 78, column 20): \" + [ v.constructor.name ]);\n },\n Ord0: function () {\n return Data_Ord.ordOrdering;\n }\n};\nvar enumMaybe = function (dictBoundedEnum) {\n return {\n succ: function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return new Data_Maybe.Just(new Data_Maybe.Just(Data_Bounded.bottom(dictBoundedEnum.Bounded0())));\n };\n if (v instanceof Data_Maybe.Just) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(Data_Maybe.Just.create)(succ(dictBoundedEnum.Enum1())(v.value0));\n };\n throw new Error(\"Failed pattern match at Data.Enum (line 80, column 1 - line 84, column 32): \" + [ v.constructor.name ]);\n },\n pred: function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof Data_Maybe.Just) {\n return new Data_Maybe.Just(pred(dictBoundedEnum.Enum1())(v.value0));\n };\n throw new Error(\"Failed pattern match at Data.Enum (line 80, column 1 - line 84, column 32): \" + [ v.constructor.name ]);\n },\n Ord0: function () {\n return Data_Maybe.ordMaybe((dictBoundedEnum.Enum1()).Ord0());\n }\n };\n};\nvar enumInt = {\n succ: function (n) {\n var $67 = n < Data_Bounded.top(Data_Bounded.boundedInt);\n if ($67) {\n return new Data_Maybe.Just(n + 1 | 0);\n };\n return Data_Maybe.Nothing.value;\n },\n pred: function (n) {\n var $68 = n > Data_Bounded.bottom(Data_Bounded.boundedInt);\n if ($68) {\n return new Data_Maybe.Just(n - 1 | 0);\n };\n return Data_Maybe.Nothing.value;\n },\n Ord0: function () {\n return Data_Ord.ordInt;\n }\n};\nvar enumFromTo = function (dictEnum) {\n return function (dictUnfoldable1) {\n var go = function (step) {\n return function (op) {\n return function (to) {\n return function (a) {\n return new Data_Tuple.Tuple(a, Control_Bind.bind(Data_Maybe.bindMaybe)(step(a))(function (a$prime) {\n return Data_Functor.voidLeft(Data_Maybe.functorMaybe)(Control_Alternative.guard(Data_Maybe.alternativeMaybe)(op(a$prime)(to)))(a$prime);\n }));\n };\n };\n };\n };\n return function (v) {\n return function (v1) {\n if (Data_Eq.eq((dictEnum.Ord0()).Eq0())(v)(v1)) {\n return Data_Unfoldable1.singleton(dictUnfoldable1)(v);\n };\n if (Data_Ord.lessThan(dictEnum.Ord0())(v)(v1)) {\n return Data_Unfoldable1.unfoldr1(dictUnfoldable1)(go(succ(dictEnum))(Data_Ord.lessThanOrEq(dictEnum.Ord0()))(v1))(v);\n };\n if (Data_Boolean.otherwise) {\n return Data_Unfoldable1.unfoldr1(dictUnfoldable1)(go(pred(dictEnum))(Data_Ord.greaterThanOrEq(dictEnum.Ord0()))(v1))(v);\n };\n throw new Error(\"Failed pattern match at Data.Enum (line 186, column 14 - line 190, column 51): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n};\nvar enumFromThenTo = function (dictUnfoldable) {\n return function (dictFunctor) {\n return function (dictBoundedEnum) {\n var go = function (step) {\n return function (to) {\n return function (e) {\n if (e <= to) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(e, e + step | 0));\n };\n if (Data_Boolean.otherwise) {\n return Data_Maybe.Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Enum (line 217, column 5 - line 219, column 28): \" + [ step.constructor.name, to.constructor.name, e.constructor.name ]);\n };\n };\n };\n return function (a) {\n return function (b) {\n return function (c) {\n var c$prime = fromEnum(dictBoundedEnum)(c);\n var b$prime = fromEnum(dictBoundedEnum)(b);\n var a$prime = fromEnum(dictBoundedEnum)(a);\n return Data_Functor.map(dictFunctor)((function () {\n var $101 = Data_Maybe.fromJust();\n var $102 = toEnum(dictBoundedEnum);\n return function ($103) {\n return $101($102($103));\n };\n })())(Data_Unfoldable.unfoldr(dictUnfoldable)(go(b$prime - a$prime | 0)(c$prime))(a$prime));\n };\n };\n };\n };\n };\n};\nvar enumEither = function (dictBoundedEnum) {\n return function (dictBoundedEnum1) {\n return {\n succ: function (v) {\n if (v instanceof Data_Either.Left) {\n return Data_Maybe.maybe(new Data_Maybe.Just(new Data_Either.Right(Data_Bounded.bottom(dictBoundedEnum1.Bounded0()))))(function ($104) {\n return Data_Maybe.Just.create(Data_Either.Left.create($104));\n })(succ(dictBoundedEnum.Enum1())(v.value0));\n };\n if (v instanceof Data_Either.Right) {\n return Data_Maybe.maybe(Data_Maybe.Nothing.value)(function ($105) {\n return Data_Maybe.Just.create(Data_Either.Right.create($105));\n })(succ(dictBoundedEnum1.Enum1())(v.value0));\n };\n throw new Error(\"Failed pattern match at Data.Enum (line 86, column 1 - line 90, column 69): \" + [ v.constructor.name ]);\n },\n pred: function (v) {\n if (v instanceof Data_Either.Left) {\n return Data_Maybe.maybe(Data_Maybe.Nothing.value)(function ($106) {\n return Data_Maybe.Just.create(Data_Either.Left.create($106));\n })(pred(dictBoundedEnum.Enum1())(v.value0));\n };\n if (v instanceof Data_Either.Right) {\n return Data_Maybe.maybe(new Data_Maybe.Just(new Data_Either.Left(Data_Bounded.top(dictBoundedEnum.Bounded0()))))(function ($107) {\n return Data_Maybe.Just.create(Data_Either.Right.create($107));\n })(pred(dictBoundedEnum1.Enum1())(v.value0));\n };\n throw new Error(\"Failed pattern match at Data.Enum (line 86, column 1 - line 90, column 69): \" + [ v.constructor.name ]);\n },\n Ord0: function () {\n return Data_Either.ordEither((dictBoundedEnum.Enum1()).Ord0())((dictBoundedEnum1.Enum1()).Ord0());\n }\n };\n };\n};\nvar enumBoolean = {\n succ: function (v) {\n if (!v) {\n return new Data_Maybe.Just(true);\n };\n return Data_Maybe.Nothing.value;\n },\n pred: function (v) {\n if (v) {\n return new Data_Maybe.Just(false);\n };\n return Data_Maybe.Nothing.value;\n },\n Ord0: function () {\n return Data_Ord.ordBoolean;\n }\n};\nvar downFromIncluding = function (dictEnum) {\n return function (dictUnfoldable1) {\n return Data_Unfoldable1.unfoldr1(dictUnfoldable1)(Control_Apply.apply(Control_Apply.applyFn)(Data_Tuple.Tuple.create)(pred(dictEnum)));\n };\n};\nvar diag = function (a) {\n return new Data_Tuple.Tuple(a, a);\n};\nvar downFrom = function (dictEnum) {\n return function (dictUnfoldable) {\n return Data_Unfoldable.unfoldr(dictUnfoldable)((function () {\n var $108 = Data_Functor.map(Data_Maybe.functorMaybe)(diag);\n var $109 = pred(dictEnum);\n return function ($110) {\n return $108($109($110));\n };\n })());\n };\n};\nvar upFrom = function (dictEnum) {\n return function (dictUnfoldable) {\n return Data_Unfoldable.unfoldr(dictUnfoldable)((function () {\n var $111 = Data_Functor.map(Data_Maybe.functorMaybe)(diag);\n var $112 = succ(dictEnum);\n return function ($113) {\n return $111($112($113));\n };\n })());\n };\n};\nvar defaultToEnum = function (dictBounded) {\n return function (dictEnum) {\n return function (i$prime) {\n var go = function ($copy_i) {\n return function ($copy_x) {\n var $tco_var_i = $copy_i;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(i, x) {\n var $82 = i === 0;\n if ($82) {\n $tco_done = true;\n return new Data_Maybe.Just(x);\n };\n var v = succ(dictEnum)(x);\n if (v instanceof Data_Maybe.Just) {\n $tco_var_i = i - 1 | 0;\n $copy_x = v.value0;\n return;\n };\n if (v instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Enum (line 296, column 12 - line 298, column 33): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_i, $copy_x);\n };\n return $tco_result;\n };\n };\n var $85 = i$prime < 0;\n if ($85) {\n return Data_Maybe.Nothing.value;\n };\n return go(i$prime)(Data_Bounded.bottom(dictBounded));\n };\n };\n};\nvar defaultSucc = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) + 1 | 0);\n };\n };\n};\nvar defaultPred = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) - 1 | 0);\n };\n };\n};\nvar defaultFromEnum = function (dictEnum) {\n var go = function ($copy_i) {\n return function ($copy_x) {\n var $tco_var_i = $copy_i;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(i, x) {\n var v = pred(dictEnum)(x);\n if (v instanceof Data_Maybe.Just) {\n $tco_var_i = i + 1 | 0;\n $copy_x = v.value0;\n return;\n };\n if (v instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return i;\n };\n throw new Error(\"Failed pattern match at Data.Enum (line 309, column 5 - line 311, column 19): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_i, $copy_x);\n };\n return $tco_result;\n };\n };\n return go(0);\n};\nvar defaultCardinality = function (dictBounded) {\n return function (dictEnum) {\n var go = function ($copy_i) {\n return function ($copy_x) {\n var $tco_var_i = $copy_i;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(i, x) {\n var v = succ(dictEnum)(x);\n if (v instanceof Data_Maybe.Just) {\n $tco_var_i = i + 1 | 0;\n $copy_x = v.value0;\n return;\n };\n if (v instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return i;\n };\n throw new Error(\"Failed pattern match at Data.Enum (line 276, column 5 - line 278, column 19): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_i, $copy_x);\n };\n return $tco_result;\n };\n };\n return go(1)(Data_Bounded.bottom(dictBounded));\n };\n};\nvar charToEnum = function (v) {\n if (v >= Data_Bounded.bottom(Data_Bounded.boundedInt) && v <= Data_Bounded.top(Data_Bounded.boundedInt)) {\n return new Data_Maybe.Just($foreign.fromCharCode(v));\n };\n return Data_Maybe.Nothing.value;\n};\nvar enumChar = {\n succ: /* #__PURE__ */ defaultSucc(charToEnum)($foreign.toCharCode),\n pred: /* #__PURE__ */ defaultPred(charToEnum)($foreign.toCharCode),\n Ord0: function () {\n return Data_Ord.ordChar;\n }\n};\nvar cardinality = function (dict) {\n return dict.cardinality;\n};\nvar boundedEnumUnit = {\n cardinality: 1,\n toEnum: function (v) {\n if (v === 0) {\n return new Data_Maybe.Just(Data_Unit.unit);\n };\n return Data_Maybe.Nothing.value;\n },\n fromEnum: /* #__PURE__ */ Data_Function[\"const\"](0),\n Bounded0: function () {\n return Data_Bounded.boundedUnit;\n },\n Enum1: function () {\n return enumUnit;\n }\n};\nvar boundedEnumOrdering = {\n cardinality: 3,\n toEnum: function (v) {\n if (v === 0) {\n return new Data_Maybe.Just(Data_Ordering.LT.value);\n };\n if (v === 1) {\n return new Data_Maybe.Just(Data_Ordering.EQ.value);\n };\n if (v === 2) {\n return new Data_Maybe.Just(Data_Ordering.GT.value);\n };\n return Data_Maybe.Nothing.value;\n },\n fromEnum: function (v) {\n if (v instanceof Data_Ordering.LT) {\n return 0;\n };\n if (v instanceof Data_Ordering.EQ) {\n return 1;\n };\n if (v instanceof Data_Ordering.GT) {\n return 2;\n };\n throw new Error(\"Failed pattern match at Data.Enum (line 137, column 1 - line 145, column 18): \" + [ v.constructor.name ]);\n },\n Bounded0: function () {\n return Data_Bounded.boundedOrdering;\n },\n Enum1: function () {\n return enumOrdering;\n }\n};\nvar boundedEnumChar = /* #__PURE__ */ (function () {\n return {\n cardinality: $foreign.toCharCode(Data_Bounded.top(Data_Bounded.boundedChar)) - $foreign.toCharCode(Data_Bounded.bottom(Data_Bounded.boundedChar)) | 0,\n toEnum: charToEnum,\n fromEnum: $foreign.toCharCode,\n Bounded0: function () {\n return Data_Bounded.boundedChar;\n },\n Enum1: function () {\n return enumChar;\n }\n };\n})();\nvar boundedEnumBoolean = {\n cardinality: 2,\n toEnum: function (v) {\n if (v === 0) {\n return new Data_Maybe.Just(false);\n };\n if (v === 1) {\n return new Data_Maybe.Just(true);\n };\n return Data_Maybe.Nothing.value;\n },\n fromEnum: function (v) {\n if (!v) {\n return 0;\n };\n if (v) {\n return 1;\n };\n throw new Error(\"Failed pattern match at Data.Enum (line 118, column 1 - line 124, column 20): \" + [ v.constructor.name ]);\n },\n Bounded0: function () {\n return Data_Bounded.boundedBoolean;\n },\n Enum1: function () {\n return enumBoolean;\n }\n};\nexport {\n succ,\n pred,\n cardinality,\n toEnum,\n fromEnum,\n toEnumWithDefaults,\n Cardinality,\n enumFromTo,\n enumFromThenTo,\n upFrom,\n upFromIncluding,\n downFrom,\n downFromIncluding,\n defaultSucc,\n defaultPred,\n defaultCardinality,\n defaultToEnum,\n defaultFromEnum,\n enumBoolean,\n enumInt,\n enumChar,\n enumUnit,\n enumOrdering,\n enumMaybe,\n enumEither,\n enumTuple,\n boundedEnumBoolean,\n boundedEnumChar,\n boundedEnumUnit,\n boundedEnumOrdering,\n newtypeCardinality,\n eqCardinality,\n ordCardinality,\n showCardinality\n};\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Data_Array from \"../Data.Array/index.js\";\nimport * as Data_Boolean from \"../Data.Boolean/index.js\";\nimport * as Data_Bounded from \"../Data.Bounded/index.js\";\nimport * as Data_Enum from \"../Data.Enum/index.js\";\nimport * as Data_EuclideanRing from \"../Data.EuclideanRing/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Int from \"../Data.Int/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_String_CodeUnits from \"../Data.String.CodeUnits/index.js\";\nimport * as Data_String_Common from \"../Data.String.Common/index.js\";\nimport * as Data_String_Unsafe from \"../Data.String.Unsafe/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nimport * as Data_Unfoldable from \"../Data.Unfoldable/index.js\";\nvar $runtime_lazy = function (name, moduleName, init) {\n var state = 0;\n var val;\n return function (lineNumber) {\n if (state === 2) return val;\n if (state === 1) throw new ReferenceError(name + \" was needed before it finished initializing (module \" + moduleName + \", line \" + lineNumber + \")\", moduleName, lineNumber);\n state = 1;\n val = init();\n state = 2;\n return val;\n };\n};\nvar CodePoint = function (x) {\n return x;\n};\nvar unsurrogate = function (lead) {\n return function (trail) {\n return (((lead - 55296 | 0) * 1024 | 0) + (trail - 56320 | 0) | 0) + 65536 | 0;\n };\n};\nvar showCodePoint = {\n show: function (v) {\n return \"(CodePoint 0x\" + (Data_String_Common.toUpper(Data_Int.toStringAs(Data_Int.hexadecimal)(v)) + \")\");\n }\n};\nvar isTrail = function (cu) {\n return 56320 <= cu && cu <= 57343;\n};\nvar isLead = function (cu) {\n return 55296 <= cu && cu <= 56319;\n};\nvar uncons = function (s) {\n var v = Data_String_CodeUnits.length(s);\n if (v === 0) {\n return Data_Maybe.Nothing.value;\n };\n if (v === 1) {\n return new Data_Maybe.Just({\n head: Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s)),\n tail: \"\"\n });\n };\n var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));\n var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));\n var $21 = isLead(cu0) && isTrail(cu1);\n if ($21) {\n return new Data_Maybe.Just({\n head: unsurrogate(cu0)(cu1),\n tail: Data_String_CodeUnits.drop(2)(s)\n });\n };\n return new Data_Maybe.Just({\n head: cu0,\n tail: Data_String_CodeUnits.drop(1)(s)\n });\n};\nvar unconsButWithTuple = function (s) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(function (v) {\n return new Data_Tuple.Tuple(v.head, v.tail);\n })(uncons(s));\n};\nvar toCodePointArrayFallback = function (s) {\n return Data_Unfoldable.unfoldr(Data_Unfoldable.unfoldableArray)(unconsButWithTuple)(s);\n};\nvar unsafeCodePointAt0Fallback = function (s) {\n var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));\n var $25 = isLead(cu0) && Data_String_CodeUnits.length(s) > 1;\n if ($25) {\n var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));\n var $26 = isTrail(cu1);\n if ($26) {\n return unsurrogate(cu0)(cu1);\n };\n return cu0;\n };\n return cu0;\n};\nvar unsafeCodePointAt0 = /* #__PURE__ */ $foreign[\"_unsafeCodePointAt0\"](unsafeCodePointAt0Fallback);\nvar toCodePointArray = /* #__PURE__ */ $foreign[\"_toCodePointArray\"](toCodePointArrayFallback)(unsafeCodePointAt0);\nvar length = function ($52) {\n return Data_Array.length(toCodePointArray($52));\n};\nvar lastIndexOf = function (p) {\n return function (s) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(function (i) {\n return length(Data_String_CodeUnits.take(i)(s));\n })(Data_String_CodeUnits.lastIndexOf(p)(s));\n };\n};\nvar indexOf = function (p) {\n return function (s) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(function (i) {\n return length(Data_String_CodeUnits.take(i)(s));\n })(Data_String_CodeUnits.indexOf(p)(s));\n };\n};\nvar fromCharCode = /* #__PURE__ */ (function () {\n var $53 = Data_Enum.toEnumWithDefaults(Data_Enum.boundedEnumChar)(Data_Bounded.bottom(Data_Bounded.boundedChar))(Data_Bounded.top(Data_Bounded.boundedChar));\n return function ($54) {\n return Data_String_CodeUnits.singleton($53($54));\n };\n})();\nvar singletonFallback = function (v) {\n if (v <= 65535) {\n return fromCharCode(v);\n };\n var lead = Data_EuclideanRing.div(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 55296 | 0;\n var trail = Data_EuclideanRing.mod(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 56320 | 0;\n return fromCharCode(lead) + fromCharCode(trail);\n};\nvar fromCodePointArray = /* #__PURE__ */ $foreign[\"_fromCodePointArray\"](singletonFallback);\nvar singleton = /* #__PURE__ */ $foreign[\"_singleton\"](singletonFallback);\nvar takeFallback = function (n) {\n return function (v) {\n if (n < 1) {\n return \"\";\n };\n var v1 = uncons(v);\n if (v1 instanceof Data_Maybe.Just) {\n return singleton(v1.value0.head) + takeFallback(n - 1 | 0)(v1.value0.tail);\n };\n return v;\n };\n};\nvar take = /* #__PURE__ */ $foreign[\"_take\"](takeFallback);\nvar lastIndexOf$prime = function (p) {\n return function (i) {\n return function (s) {\n var i$prime = Data_String_CodeUnits.length(take(i)(s));\n return Data_Functor.map(Data_Maybe.functorMaybe)(function (k) {\n return length(Data_String_CodeUnits.take(k)(s));\n })(Data_String_CodeUnits[\"lastIndexOf$prime\"](p)(i$prime)(s));\n };\n };\n};\nvar splitAt = function (i) {\n return function (s) {\n var before = take(i)(s);\n return {\n before: before,\n after: Data_String_CodeUnits.drop(Data_String_CodeUnits.length(before))(s)\n };\n };\n};\nvar eqCodePoint = {\n eq: function (x) {\n return function (y) {\n return x === y;\n };\n }\n};\nvar ordCodePoint = {\n compare: function (x) {\n return function (y) {\n return Data_Ord.compare(Data_Ord.ordInt)(x)(y);\n };\n },\n Eq0: function () {\n return eqCodePoint;\n }\n};\nvar drop = function (n) {\n return function (s) {\n return Data_String_CodeUnits.drop(Data_String_CodeUnits.length(take(n)(s)))(s);\n };\n};\nvar indexOf$prime = function (p) {\n return function (i) {\n return function (s) {\n var s$prime = drop(i)(s);\n return Data_Functor.map(Data_Maybe.functorMaybe)(function (k) {\n return i + length(Data_String_CodeUnits.take(k)(s$prime)) | 0;\n })(Data_String_CodeUnits.indexOf(p)(s$prime));\n };\n };\n};\nvar countTail = function ($copy_p) {\n return function ($copy_s) {\n return function ($copy_accum) {\n var $tco_var_p = $copy_p;\n var $tco_var_s = $copy_s;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(p, s, accum) {\n var v = uncons(s);\n if (v instanceof Data_Maybe.Just) {\n var $39 = p(v.value0.head);\n if ($39) {\n $tco_var_p = p;\n $tco_var_s = v.value0.tail;\n $copy_accum = accum + 1 | 0;\n return;\n };\n $tco_done = true;\n return accum;\n };\n $tco_done = true;\n return accum;\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_p, $tco_var_s, $copy_accum);\n };\n return $tco_result;\n };\n };\n};\nvar countFallback = function (p) {\n return function (s) {\n return countTail(p)(s)(0);\n };\n};\nvar countPrefix = /* #__PURE__ */ $foreign[\"_countPrefix\"](countFallback)(unsafeCodePointAt0);\nvar dropWhile = function (p) {\n return function (s) {\n return drop(countPrefix(p)(s))(s);\n };\n};\nvar takeWhile = function (p) {\n return function (s) {\n return take(countPrefix(p)(s))(s);\n };\n};\nvar codePointFromChar = /* #__PURE__ */ (function () {\n var $55 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar);\n return function ($56) {\n return CodePoint($55($56));\n };\n})();\nvar codePointAtFallback = function ($copy_n) {\n return function ($copy_s) {\n var $tco_var_n = $copy_n;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(n, s) {\n var v = uncons(s);\n if (v instanceof Data_Maybe.Just) {\n var $44 = n === 0;\n if ($44) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value0.head);\n };\n $tco_var_n = n - 1 | 0;\n $copy_s = v.value0.tail;\n return;\n };\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_n, $copy_s);\n };\n return $tco_result;\n };\n};\nvar codePointAt = function (v) {\n return function (v1) {\n if (v < 0) {\n return Data_Maybe.Nothing.value;\n };\n if (v === 0 && v1 === \"\") {\n return Data_Maybe.Nothing.value;\n };\n if (v === 0) {\n return new Data_Maybe.Just(unsafeCodePointAt0(v1));\n };\n return $foreign[\"_codePointAt\"](codePointAtFallback)(Data_Maybe.Just.create)(Data_Maybe.Nothing.value)(unsafeCodePointAt0)(v)(v1);\n };\n};\nvar boundedCodePoint = {\n bottom: 0,\n top: 1114111,\n Ord0: function () {\n return ordCodePoint;\n }\n};\nvar boundedEnumCodePoint = /* #__PURE__ */ (function () {\n return {\n cardinality: 1114111 + 1 | 0,\n fromEnum: function (v) {\n return v;\n },\n toEnum: function (n) {\n if (n >= 0 && n <= 1114111) {\n return new Data_Maybe.Just(n);\n };\n if (Data_Boolean.otherwise) {\n return Data_Maybe.Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.String.CodePoints (line 63, column 1 - line 68, column 26): \" + [ n.constructor.name ]);\n },\n Bounded0: function () {\n return boundedCodePoint;\n },\n Enum1: function () {\n return $lazy_enumCodePoint(0);\n }\n };\n})();\nvar $lazy_enumCodePoint = /* #__PURE__ */ $runtime_lazy(\"enumCodePoint\", \"Data.String.CodePoints\", function () {\n return {\n succ: Data_Enum.defaultSucc(Data_Enum.toEnum(boundedEnumCodePoint))(Data_Enum.fromEnum(boundedEnumCodePoint)),\n pred: Data_Enum.defaultPred(Data_Enum.toEnum(boundedEnumCodePoint))(Data_Enum.fromEnum(boundedEnumCodePoint)),\n Ord0: function () {\n return ordCodePoint;\n }\n };\n});\nvar enumCodePoint = /* #__PURE__ */ $lazy_enumCodePoint(59);\nexport {\n codePointFromChar,\n singleton,\n fromCodePointArray,\n toCodePointArray,\n codePointAt,\n uncons,\n length,\n countPrefix,\n indexOf,\n indexOf$prime,\n lastIndexOf,\n lastIndexOf$prime,\n take,\n takeWhile,\n drop,\n dropWhile,\n splitAt,\n eqCodePoint,\n ordCodePoint,\n showCodePoint,\n boundedCodePoint,\n enumCodePoint,\n boundedEnumCodePoint\n};\nexport {\n contains,\n stripPrefix,\n stripSuffix\n} from \"../Data.String.CodeUnits/index.js\";\n", "// Generated by purs version 0.15.2\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Apply from \"../Control.Apply/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Data_Argonaut_Core from \"../Data.Argonaut.Core/index.js\";\nimport * as Data_Argonaut_Decode_Error from \"../Data.Argonaut.Decode.Error/index.js\";\nimport * as Data_Array from \"../Data.Array/index.js\";\nimport * as Data_Array_NonEmpty from \"../Data.Array.NonEmpty/index.js\";\nimport * as Data_Array_NonEmpty_Internal from \"../Data.Array.NonEmpty.Internal/index.js\";\nimport * as Data_Bifunctor from \"../Data.Bifunctor/index.js\";\nimport * as Data_Boolean from \"../Data.Boolean/index.js\";\nimport * as Data_Either from \"../Data.Either/index.js\";\nimport * as Data_Foldable from \"../Data.Foldable/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Identity from \"../Data.Identity/index.js\";\nimport * as Data_Int from \"../Data.Int/index.js\";\nimport * as Data_List from \"../Data.List/index.js\";\nimport * as Data_List_NonEmpty from \"../Data.List.NonEmpty/index.js\";\nimport * as Data_List_Types from \"../Data.List.Types/index.js\";\nimport * as Data_Map_Internal from \"../Data.Map.Internal/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_NonEmpty from \"../Data.NonEmpty/index.js\";\nimport * as Data_Set from \"../Data.Set/index.js\";\nimport * as Data_String_CodePoints from \"../Data.String.CodePoints/index.js\";\nimport * as Data_String_NonEmpty_Internal from \"../Data.String.NonEmpty.Internal/index.js\";\nimport * as Data_Traversable from \"../Data.Traversable/index.js\";\nimport * as Data_TraversableWithIndex from \"../Data.TraversableWithIndex/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Foreign_Object from \"../Foreign.Object/index.js\";\nvar getFieldOptional$prime = function (decoder) {\n return function (obj) {\n return function (str) {\n var decode = function (json) {\n var $5 = Data_Argonaut_Core.isNull(json);\n if ($5) {\n return Control_Applicative.pure(Data_Either.applicativeEither)(Data_Maybe.Nothing.value);\n };\n return Data_Functor.map(Data_Either.functorEither)(Data_Maybe.Just.create)(Data_Bifunctor.lmap(Data_Bifunctor.bifunctorEither)(Data_Argonaut_Decode_Error.AtKey.create(str))(decoder(json)));\n };\n return Data_Maybe.maybe(Control_Applicative.pure(Data_Either.applicativeEither)(Data_Maybe.Nothing.value))(decode)(Foreign_Object.lookup(str)(obj));\n };\n };\n};\nvar getFieldOptional = function (decoder) {\n return function (obj) {\n return function (str) {\n var decode = (function () {\n var $14 = Data_Bifunctor.lmap(Data_Bifunctor.bifunctorEither)(Data_Argonaut_Decode_Error.AtKey.create(str));\n return function ($15) {\n return $14(decoder($15));\n };\n })();\n return Data_Maybe.maybe(Control_Applicative.pure(Data_Either.applicativeEither)(Data_Maybe.Nothing.value))((function () {\n var $16 = Data_Functor.map(Data_Either.functorEither)(Data_Maybe.Just.create);\n return function ($17) {\n return $16(decode($17));\n };\n })())(Foreign_Object.lookup(str)(obj));\n };\n };\n};\nvar getField = function (decoder) {\n return function (obj) {\n return function (str) {\n return Data_Maybe.maybe(new Data_Either.Left(new Data_Argonaut_Decode_Error.AtKey(str, Data_Argonaut_Decode_Error.MissingValue.value)))((function () {\n var $18 = Data_Bifunctor.lmap(Data_Bifunctor.bifunctorEither)(Data_Argonaut_Decode_Error.AtKey.create(str));\n return function ($19) {\n return $18(decoder($19));\n };\n })())(Foreign_Object.lookup(str)(obj));\n };\n };\n};\nvar decodeVoid = function (v) {\n return new Data_Either.Left(new Data_Argonaut_Decode_Error.UnexpectedValue(Data_Argonaut_Core.fromString(\"Value cannot be Void\")));\n};\nvar decodeString = /* #__PURE__ */ (function () {\n return Data_Argonaut_Core.caseJsonString(new Data_Either.Left(new Data_Argonaut_Decode_Error.TypeMismatch(\"String\")))(Data_Either.Right.create);\n})();\nvar decodeNumber = /* #__PURE__ */ (function () {\n return Data_Argonaut_Core.caseJsonNumber(new Data_Either.Left(new Data_Argonaut_Decode_Error.TypeMismatch(\"Number\")))(Data_Either.Right.create);\n})();\nvar decodeNull = /* #__PURE__ */ (function () {\n return Data_Argonaut_Core.caseJsonNull(new Data_Either.Left(new Data_Argonaut_Decode_Error.TypeMismatch(\"null\")))(Data_Function[\"const\"](new Data_Either.Right(Data_Unit.unit)));\n})();\nvar decodeNonEmptyString = function (json) {\n return Control_Bind.bindFlipped(Data_Either.bindEither)(Data_Either.note(new Data_Argonaut_Decode_Error.Named(\"NonEmptyString\", new Data_Argonaut_Decode_Error.UnexpectedValue(json))))(Data_Functor.map(Data_Either.functorEither)(Data_String_NonEmpty_Internal.fromString)(decodeString(json)));\n};\nvar decodeMaybe = function (decoder) {\n return function (json) {\n if (Data_Argonaut_Core.isNull(json)) {\n return Control_Applicative.pure(Data_Either.applicativeEither)(Data_Maybe.Nothing.value);\n };\n if (Data_Boolean.otherwise) {\n return Data_Functor.map(Data_Either.functorEither)(Data_Maybe.Just.create)(decoder(json));\n };\n throw new Error(\"Failed pattern match at Data.Argonaut.Decode.Decoders (line 37, column 1 - line 41, column 38): \" + [ decoder.constructor.name, json.constructor.name ]);\n };\n};\nvar decodeJObject = /* #__PURE__ */ (function () {\n var $20 = Data_Either.note(new Data_Argonaut_Decode_Error.TypeMismatch(\"Object\"));\n return function ($21) {\n return $20(Data_Argonaut_Core.toObject($21));\n };\n})();\nvar decodeJArray = /* #__PURE__ */ (function () {\n var $22 = Data_Either.note(new Data_Argonaut_Decode_Error.TypeMismatch(\"Array\"));\n return function ($23) {\n return $22(Data_Argonaut_Core.toArray($23));\n };\n})();\nvar decodeList = function (decoder) {\n return Control_Bind.composeKleisliFlipped(Data_Either.bindEither)((function () {\n var $24 = Data_Bifunctor.lmap(Data_Bifunctor.bifunctorEither)(Data_Argonaut_Decode_Error.Named.create(\"List\"));\n var $25 = Data_Traversable.traverse(Data_List_Types.traversableList)(Data_Either.applicativeEither)(decoder);\n return function ($26) {\n return $24($25($26));\n };\n })())(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Either.functorEither)(Data_List.fromFoldable(Data_Foldable.foldableArray)))(decodeJArray));\n};\nvar decodeSet = function (dictOrd) {\n return function (decoder) {\n var $27 = Data_Functor.map(Data_Either.functorEither)(Data_Set.fromFoldable(Data_List_Types.foldableList)(dictOrd));\n var $28 = decodeList(decoder);\n return function ($29) {\n return $27($28($29));\n };\n };\n};\nvar decodeNonEmptyArray = function (decoder) {\n return Control_Bind.composeKleisliFlipped(Data_Either.bindEither)((function () {\n var $30 = Data_Bifunctor.lmap(Data_Bifunctor.bifunctorEither)(Data_Argonaut_Decode_Error.Named.create(\"NonEmptyArray\"));\n var $31 = Data_Traversable.traverse(Data_Array_NonEmpty_Internal.traversableNonEmptyArray)(Data_Either.applicativeEither)(decoder);\n return function ($32) {\n return $30($31($32));\n };\n })())(Control_Bind.composeKleisliFlipped(Data_Either.bindEither)((function () {\n var $33 = Data_Functor.map(Data_Either.functorEither)(function (x) {\n return Data_Array_NonEmpty[\"cons$prime\"](x.head)(x.tail);\n });\n var $34 = Data_Either.note(new Data_Argonaut_Decode_Error.TypeMismatch(\"NonEmptyArray\"));\n return function ($35) {\n return $33($34(Data_Array.uncons($35)));\n };\n })())(decodeJArray));\n};\nvar decodeNonEmptyList = function (decoder) {\n return Control_Bind.composeKleisliFlipped(Data_Either.bindEither)((function () {\n var $36 = Data_Bifunctor.lmap(Data_Bifunctor.bifunctorEither)(Data_Argonaut_Decode_Error.Named.create(\"NonEmptyList\"));\n var $37 = Data_Traversable.traverse(Data_List_Types.traversableNonEmptyList)(Data_Either.applicativeEither)(decoder);\n return function ($38) {\n return $36($37($38));\n };\n })())(Control_Bind.composeKleisliFlipped(Data_Either.bindEither)((function () {\n var $39 = Data_Functor.map(Data_Either.functorEither)(function (x) {\n return Data_List_NonEmpty[\"cons$prime\"](x.head)(x.tail);\n });\n var $40 = Data_Either.note(new Data_Argonaut_Decode_Error.TypeMismatch(\"NonEmptyList\"));\n return function ($41) {\n return $39($40(Data_List.uncons($41)));\n };\n })())(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Either.functorEither)(Data_List.fromFoldable(Data_Foldable.foldableArray)))(decodeJArray)));\n};\nvar decodeNonEmpty_Array = function (decoder) {\n return Control_Bind.composeKleisliFlipped(Data_Either.bindEither)((function () {\n var $42 = Data_Bifunctor.lmap(Data_Bifunctor.bifunctorEither)(Data_Argonaut_Decode_Error.Named.create(\"NonEmpty Array\"));\n var $43 = Data_Traversable.traverse(Data_NonEmpty.traversableNonEmpty(Data_Traversable.traversableArray))(Data_Either.applicativeEither)(decoder);\n return function ($44) {\n return $42($43($44));\n };\n })())(Control_Bind.composeKleisliFlipped(Data_Either.bindEither)((function () {\n var $45 = Data_Functor.map(Data_Either.functorEither)(function (x) {\n return new Data_NonEmpty.NonEmpty(x.head, x.tail);\n });\n var $46 = Data_Either.note(new Data_Argonaut_Decode_Error.TypeMismatch(\"NonEmpty Array\"));\n return function ($47) {\n return $45($46(Data_Array.uncons($47)));\n };\n })())(decodeJArray));\n};\nvar decodeNonEmpty_List = function (decoder) {\n return Control_Bind.composeKleisliFlipped(Data_Either.bindEither)((function () {\n var $48 = Data_Bifunctor.lmap(Data_Bifunctor.bifunctorEither)(Data_Argonaut_Decode_Error.Named.create(\"NonEmpty List\"));\n var $49 = Data_Traversable.traverse(Data_NonEmpty.traversableNonEmpty(Data_List_Types.traversableList))(Data_Either.applicativeEither)(decoder);\n return function ($50) {\n return $48($49($50));\n };\n })())(Control_Bind.composeKleisliFlipped(Data_Either.bindEither)((function () {\n var $51 = Data_Functor.map(Data_Either.functorEither)(function (x) {\n return new Data_NonEmpty.NonEmpty(x.head, x.tail);\n });\n var $52 = Data_Either.note(new Data_Argonaut_Decode_Error.TypeMismatch(\"NonEmpty List\"));\n return function ($53) {\n return $51($52(Data_List.uncons($53)));\n };\n })())(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Either.functorEither)(Data_List.fromFoldable(Data_Foldable.foldableArray)))(decodeJArray)));\n};\nvar decodeInt = /* #__PURE__ */ Control_Bind.composeKleisliFlipped(Data_Either.bindEither)(/* #__PURE__ */ (function () {\n var $54 = Data_Either.note(new Data_Argonaut_Decode_Error.TypeMismatch(\"Integer\"));\n return function ($55) {\n return $54(Data_Int.fromNumber($55));\n };\n})())(decodeNumber);\nvar decodeIdentity = function (decoder) {\n return function (json) {\n return Data_Functor.map(Data_Either.functorEither)(Data_Identity.Identity)(decoder(json));\n };\n};\nvar decodeForeignObject = function (decoder) {\n return Control_Bind.composeKleisliFlipped(Data_Either.bindEither)((function () {\n var $56 = Data_Bifunctor.lmap(Data_Bifunctor.bifunctorEither)(Data_Argonaut_Decode_Error.Named.create(\"ForeignObject\"));\n var $57 = Data_Traversable.traverse(Foreign_Object.traversableObject)(Data_Either.applicativeEither)(decoder);\n return function ($58) {\n return $56($57($58));\n };\n })())(decodeJObject);\n};\nvar decodeEither = function (decoderA) {\n return function (decoderB) {\n return function (json) {\n return Data_Bifunctor.lmap(Data_Bifunctor.bifunctorEither)(Data_Argonaut_Decode_Error.Named.create(\"Either\"))(Control_Bind.bind(Data_Either.bindEither)(decodeJObject(json))(function (obj) {\n return Control_Bind.bind(Data_Either.bindEither)(Data_Either.note(new Data_Argonaut_Decode_Error.AtKey(\"tag\", Data_Argonaut_Decode_Error.MissingValue.value))(Foreign_Object.lookup(\"tag\")(obj)))(function (tag) {\n return Control_Bind.bind(Data_Either.bindEither)(Data_Either.note(new Data_Argonaut_Decode_Error.AtKey(\"value\", Data_Argonaut_Decode_Error.MissingValue.value))(Foreign_Object.lookup(\"value\")(obj)))(function (val) {\n var v = Data_Argonaut_Core.toString(tag);\n if (v instanceof Data_Maybe.Just && v.value0 === \"Right\") {\n return Data_Functor.map(Data_Either.functorEither)(Data_Either.Right.create)(decoderB(val));\n };\n if (v instanceof Data_Maybe.Just && v.value0 === \"Left\") {\n return Data_Functor.map(Data_Either.functorEither)(Data_Either.Left.create)(decoderA(val));\n };\n return new Data_Either.Left(new Data_Argonaut_Decode_Error.AtKey(\"tag\", new Data_Argonaut_Decode_Error.UnexpectedValue(tag)));\n });\n });\n }));\n };\n };\n};\nvar decodeCodePoint = function (json) {\n return Control_Bind.bindFlipped(Data_Either.bindEither)(Data_Either.note(new Data_Argonaut_Decode_Error.Named(\"CodePoint\", new Data_Argonaut_Decode_Error.UnexpectedValue(json))))(Data_Functor.map(Data_Either.functorEither)(Data_String_CodePoints.codePointAt(0))(decodeString(json)));\n};\nvar decodeBoolean = /* #__PURE__ */ (function () {\n return Data_Argonaut_Core.caseJsonBoolean(new Data_Either.Left(new Data_Argonaut_Decode_Error.TypeMismatch(\"Boolean\")))(Data_Either.Right.create);\n})();\nvar decodeArray = function (decoder) {\n return Control_Bind.composeKleisliFlipped(Data_Either.bindEither)((function () {\n var $59 = Data_Bifunctor.lmap(Data_Bifunctor.bifunctorEither)(Data_Argonaut_Decode_Error.Named.create(\"Array\"));\n var $60 = Data_TraversableWithIndex.traverseWithIndex(Data_TraversableWithIndex.traversableWithIndexArray)(Data_Either.applicativeEither)(function (i) {\n var $62 = Data_Bifunctor.lmap(Data_Bifunctor.bifunctorEither)(Data_Argonaut_Decode_Error.AtIndex.create(i));\n return function ($63) {\n return $62(decoder($63));\n };\n });\n return function ($61) {\n return $59($60($61));\n };\n })())(decodeJArray);\n};\nvar decodeTuple = function (decoderA) {\n return function (decoderB) {\n return function (json) {\n var f = function (v) {\n if (v.length === 2) {\n return Control_Apply.apply(Data_Either.applyEither)(Data_Functor.map(Data_Either.functorEither)(Data_Tuple.Tuple.create)(decoderA(v[0])))(decoderB(v[1]));\n };\n return new Data_Either.Left(new Data_Argonaut_Decode_Error.TypeMismatch(\"Tuple\"));\n };\n return Control_Bind.bind(Data_Either.bindEither)(decodeArray(Data_Either.Right.create)(json))(f);\n };\n };\n};\nvar decodeMap = function (dictOrd) {\n return function (decoderA) {\n return function (decoderB) {\n var $64 = Data_Functor.map(Data_Either.functorEither)(Data_Map_Internal.fromFoldable(dictOrd)(Data_List_Types.foldableList));\n var $65 = decodeList(decodeTuple(decoderA)(decoderB));\n return function ($66) {\n return $64($65($66));\n };\n };\n };\n};\nexport {\n decodeIdentity,\n decodeMaybe,\n decodeTuple,\n decodeEither,\n decodeNull,\n decodeBoolean,\n decodeNumber,\n decodeInt,\n decodeString,\n decodeNonEmptyString,\n decodeNonEmpty_Array,\n decodeNonEmptyArray,\n decodeNonEmpty_List,\n decodeNonEmptyList,\n decodeCodePoint,\n decodeForeignObject,\n decodeArray,\n decodeList,\n decodeSet,\n decodeMap,\n decodeVoid,\n decodeJArray,\n decodeJObject,\n getField,\n getFieldOptional,\n getFieldOptional$prime\n};\n", "// Generated by purs version 0.15.2\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Symbol from \"../Data.Symbol/index.js\";\nimport * as Record_Unsafe from \"../Record.Unsafe/index.js\";\nimport * as Record_Unsafe_Union from \"../Record.Unsafe.Union/index.js\";\nimport * as Type_Proxy from \"../Type.Proxy/index.js\";\nimport * as Unsafe_Coerce from \"../Unsafe.Coerce/index.js\";\nvar union = function () {\n return function (l) {\n return function (r) {\n return Record_Unsafe_Union.unsafeUnionFn(l, r);\n };\n };\n};\nvar set = function (dictIsSymbol) {\n return function () {\n return function () {\n return function (l) {\n return function (b) {\n return function (r) {\n return Record_Unsafe.unsafeSet(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(b)(r);\n };\n };\n };\n };\n };\n};\nvar nub = function () {\n return Unsafe_Coerce.unsafeCoerce;\n};\nvar merge = function () {\n return function () {\n return function (l) {\n return function (r) {\n return Record_Unsafe_Union.unsafeUnionFn(l, r);\n };\n };\n };\n};\nvar insert = function (dictIsSymbol) {\n return function () {\n return function () {\n return function (l) {\n return function (a) {\n return function (r) {\n return Record_Unsafe.unsafeSet(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(a)(r);\n };\n };\n };\n };\n };\n};\nvar get = function (dictIsSymbol) {\n return function () {\n return function (l) {\n return function (r) {\n return Record_Unsafe.unsafeGet(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(r);\n };\n };\n };\n};\nvar modify = function (dictIsSymbol) {\n return function () {\n return function () {\n return function (l) {\n return function (f) {\n return function (r) {\n return set(dictIsSymbol)()()(l)(f(get(dictIsSymbol)()(l)(r)))(r);\n };\n };\n };\n };\n };\n};\nvar equalFieldsNil = {\n equalFields: function (v) {\n return function (v1) {\n return function (v2) {\n return true;\n };\n };\n }\n};\nvar equalFields = function (dict) {\n return dict.equalFields;\n};\nvar equalFieldsCons = function (dictIsSymbol) {\n return function (dictEq) {\n return function () {\n return function (dictEqualFields) {\n return {\n equalFields: function (v) {\n return function (a) {\n return function (b) {\n var get$prime = get(dictIsSymbol)()(Type_Proxy[\"Proxy\"].value);\n var equalRest = equalFields(dictEqualFields)(Type_Proxy[\"Proxy\"].value);\n return Data_Eq.eq(dictEq)(get$prime(a))(get$prime(b)) && equalRest(a)(b);\n };\n };\n }\n };\n };\n };\n };\n};\nvar equal = function () {\n return function (dictEqualFields) {\n return function (a) {\n return function (b) {\n return equalFields(dictEqualFields)(Type_Proxy[\"Proxy\"].value)(a)(b);\n };\n };\n };\n};\nvar disjointUnion = function () {\n return function () {\n return function (l) {\n return function (r) {\n return Record_Unsafe_Union.unsafeUnionFn(l, r);\n };\n };\n };\n};\nvar $$delete = function (dictIsSymbol) {\n return function () {\n return function () {\n return function (l) {\n return function (r) {\n return Record_Unsafe.unsafeDelete(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(r);\n };\n };\n };\n };\n};\nvar rename = function (dictIsSymbol) {\n return function (dictIsSymbol1) {\n return function () {\n return function () {\n return function () {\n return function () {\n return function (prev) {\n return function (next) {\n return function (record) {\n return insert(dictIsSymbol1)()()(next)(get(dictIsSymbol)()(prev)(record))($$delete(dictIsSymbol)()()(prev)(record));\n };\n };\n };\n };\n };\n };\n };\n };\n};\nexport {\n get,\n set,\n modify,\n insert,\n $$delete as delete,\n rename,\n equal,\n merge,\n union,\n disjointUnion,\n nub,\n equalFields,\n equalFieldsCons,\n equalFieldsNil\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Data_Argonaut_Core from \"../Data.Argonaut.Core/index.js\";\nimport * as Data_Argonaut_Decode_Decoders from \"../Data.Argonaut.Decode.Decoders/index.js\";\nimport * as Data_Argonaut_Decode_Error from \"../Data.Argonaut.Decode.Error/index.js\";\nimport * as Data_Bifunctor from \"../Data.Bifunctor/index.js\";\nimport * as Data_Either from \"../Data.Either/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Symbol from \"../Data.Symbol/index.js\";\nimport * as Foreign_Object from \"../Foreign.Object/index.js\";\nimport * as Record from \"../Record/index.js\";\nimport * as Type_Proxy from \"../Type.Proxy/index.js\";\nvar gDecodeJsonNil = {\n gDecodeJson: function (v) {\n return function (v1) {\n return new Data_Either.Right({});\n };\n }\n};\nvar gDecodeJson = function (dict) {\n return dict.gDecodeJson;\n};\nvar decodeVoid = {\n decodeJson: Data_Argonaut_Decode_Decoders.decodeVoid\n};\nvar decodeRecord = function (dictGDecodeJson) {\n return function () {\n return {\n decodeJson: function (json) {\n var v = Data_Argonaut_Core.toObject(json);\n if (v instanceof Data_Maybe.Just) {\n return gDecodeJson(dictGDecodeJson)(v.value0)(Type_Proxy[\"Proxy\"].value);\n };\n if (v instanceof Data_Maybe.Nothing) {\n return new Data_Either.Left(new Data_Argonaut_Decode_Error.TypeMismatch(\"Object\"));\n };\n throw new Error(\"Failed pattern match at Data.Argonaut.Decode.Class (line 103, column 5 - line 105, column 46): \" + [ v.constructor.name ]);\n }\n };\n };\n};\nvar decodeJsonString = {\n decodeJson: Data_Argonaut_Decode_Decoders.decodeString\n};\nvar decodeJsonNumber = {\n decodeJson: Data_Argonaut_Decode_Decoders.decodeNumber\n};\nvar decodeJsonNull = {\n decodeJson: Data_Argonaut_Decode_Decoders.decodeNull\n};\nvar decodeJsonNonEmptyString = {\n decodeJson: Data_Argonaut_Decode_Decoders.decodeNonEmptyString\n};\nvar decodeJsonJson = /* #__PURE__ */ (function () {\n return {\n decodeJson: Data_Either.Right.create\n };\n})();\nvar decodeJsonInt = {\n decodeJson: Data_Argonaut_Decode_Decoders.decodeInt\n};\nvar decodeJsonField = function (dict) {\n return dict.decodeJsonField;\n};\nvar gDecodeJsonCons = function (dictDecodeJsonField) {\n return function (dictGDecodeJson) {\n return function (dictIsSymbol) {\n return function () {\n return function () {\n return {\n gDecodeJson: function (object) {\n return function (v) {\n var fieldName = Data_Symbol.reflectSymbol(dictIsSymbol)(Type_Proxy[\"Proxy\"].value);\n var fieldValue = Foreign_Object.lookup(fieldName)(object);\n var v1 = decodeJsonField(dictDecodeJsonField)(fieldValue);\n if (v1 instanceof Data_Maybe.Just) {\n return Control_Bind.bind(Data_Either.bindEither)(Data_Bifunctor.lmap(Data_Bifunctor.bifunctorEither)(Data_Argonaut_Decode_Error.AtKey.create(fieldName))(v1.value0))(function (val) {\n return Control_Bind.bind(Data_Either.bindEither)(gDecodeJson(dictGDecodeJson)(object)(Type_Proxy[\"Proxy\"].value))(function (rest) {\n return new Data_Either.Right(Record.insert(dictIsSymbol)()()(Type_Proxy[\"Proxy\"].value)(val)(rest));\n });\n });\n };\n if (v1 instanceof Data_Maybe.Nothing) {\n return new Data_Either.Left(new Data_Argonaut_Decode_Error.AtKey(fieldName, Data_Argonaut_Decode_Error.MissingValue.value));\n };\n throw new Error(\"Failed pattern match at Data.Argonaut.Decode.Class (line 127, column 5 - line 134, column 44): \" + [ v1.constructor.name ]);\n };\n }\n };\n };\n };\n };\n };\n};\nvar decodeJsonCodePoint = {\n decodeJson: Data_Argonaut_Decode_Decoders.decodeCodePoint\n};\nvar decodeJsonBoolean = {\n decodeJson: Data_Argonaut_Decode_Decoders.decodeBoolean\n};\nvar decodeJson = function (dict) {\n return dict.decodeJson;\n};\nvar decodeJsonEither = function (dictDecodeJson) {\n return function (dictDecodeJson1) {\n return {\n decodeJson: Data_Argonaut_Decode_Decoders.decodeEither(decodeJson(dictDecodeJson))(decodeJson(dictDecodeJson1))\n };\n };\n};\nvar decodeJsonMaybe = function (dictDecodeJson) {\n return {\n decodeJson: Data_Argonaut_Decode_Decoders.decodeMaybe(decodeJson(dictDecodeJson))\n };\n};\nvar decodeJsonNonEmptyArray = function (dictDecodeJson) {\n return {\n decodeJson: Data_Argonaut_Decode_Decoders.decodeNonEmptyArray(decodeJson(dictDecodeJson))\n };\n};\nvar decodeJsonNonEmptyList = function (dictDecodeJson) {\n return {\n decodeJson: Data_Argonaut_Decode_Decoders.decodeNonEmptyList(decodeJson(dictDecodeJson))\n };\n};\nvar decodeJsonNonEmpty_Array = function (dictDecodeJson) {\n return {\n decodeJson: Data_Argonaut_Decode_Decoders.decodeNonEmpty_Array(decodeJson(dictDecodeJson))\n };\n};\nvar decodeJsonNonEmpty_List = function (dictDecodeJson) {\n return {\n decodeJson: Data_Argonaut_Decode_Decoders.decodeNonEmpty_List(decodeJson(dictDecodeJson))\n };\n};\nvar decodeJsonTuple = function (dictDecodeJson) {\n return function (dictDecodeJson1) {\n return {\n decodeJson: Data_Argonaut_Decode_Decoders.decodeTuple(decodeJson(dictDecodeJson))(decodeJson(dictDecodeJson1))\n };\n };\n};\nvar decodeList = function (dictDecodeJson) {\n return {\n decodeJson: Data_Argonaut_Decode_Decoders.decodeList(decodeJson(dictDecodeJson))\n };\n};\nvar decodeMap = function (dictOrd) {\n return function (dictDecodeJson) {\n return function (dictDecodeJson1) {\n return {\n decodeJson: Data_Argonaut_Decode_Decoders.decodeMap(dictOrd)(decodeJson(dictDecodeJson))(decodeJson(dictDecodeJson1))\n };\n };\n };\n};\nvar decodeSet = function (dictOrd) {\n return function (dictDecodeJson) {\n return {\n decodeJson: Data_Argonaut_Decode_Decoders.decodeSet(dictOrd)(decodeJson(dictDecodeJson))\n };\n };\n};\nvar decodeIdentity = function (dictDecodeJson) {\n return {\n decodeJson: Data_Argonaut_Decode_Decoders.decodeIdentity(decodeJson(dictDecodeJson))\n };\n};\nvar decodeForeignObject = function (dictDecodeJson) {\n return {\n decodeJson: Data_Argonaut_Decode_Decoders.decodeForeignObject(decodeJson(dictDecodeJson))\n };\n};\nvar decodeFieldMaybe = function (dictDecodeJson) {\n return {\n decodeJsonField: function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return new Data_Maybe.Just(new Data_Either.Right(Data_Maybe.Nothing.value));\n };\n if (v instanceof Data_Maybe.Just) {\n return new Data_Maybe.Just(decodeJson(decodeJsonMaybe(dictDecodeJson))(v.value0));\n };\n throw new Error(\"Failed pattern match at Data.Argonaut.Decode.Class (line 139, column 1 - line 143, column 49): \" + [ v.constructor.name ]);\n }\n };\n};\nvar decodeFieldId = function (dictDecodeJson) {\n return {\n decodeJsonField: function (j) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(decodeJson(dictDecodeJson))(j);\n }\n };\n};\nvar decodeArray = function (dictDecodeJson) {\n return {\n decodeJson: Data_Argonaut_Decode_Decoders.decodeArray(decodeJson(dictDecodeJson))\n };\n};\nexport {\n decodeJson,\n decodeJsonField,\n gDecodeJson,\n decodeIdentity,\n decodeJsonMaybe,\n decodeJsonTuple,\n decodeJsonEither,\n decodeJsonNull,\n decodeJsonBoolean,\n decodeJsonNumber,\n decodeJsonInt,\n decodeJsonString,\n decodeJsonNonEmptyString,\n decodeJsonJson,\n decodeJsonNonEmpty_Array,\n decodeJsonNonEmptyArray,\n decodeJsonNonEmpty_List,\n decodeJsonNonEmptyList,\n decodeJsonCodePoint,\n decodeForeignObject,\n decodeArray,\n decodeList,\n decodeSet,\n decodeMap,\n decodeVoid,\n decodeRecord,\n gDecodeJsonNil,\n gDecodeJsonCons,\n decodeFieldMaybe,\n decodeFieldId\n};\n", "\"use strict\";\n\nimport moment from 'moment'\n\nexport const _app = function() {\n return app;\n}\n\nexport const _closest = function(just, nothing, selector, el) {\n var node = el.closest(selector);\n if(node) {\n return just(node);\n } else {\n return nothing;\n }\n}\n\nexport const _createFormData = function(formElement) {\n return new FormData(formElement);\n}\n\nexport const _createFormString = function(formElement) {\n return new URLSearchParams(new FormData(formElement)).toString()\n}\n\nexport const _createFormArray = function(formElement) {\n return Array.from(new FormData(formElement));\n}\n\nexport const _moment8601 = function(tuple, s) {\n var m = moment(s, moment.ISO_8601);\n var s1 = m.fromNow();\n var s2 = m.format('MMMM D YYYY, h:mm a') + \" (\" + m.format() + \") \";\n return tuple(s1)(s2);\n}\n\nexport const _mmoment8601 = function(just, nothing, tuple, s) {\n try {\n var m = moment(s, moment.ISO_8601);\n var s1 = m.fromNow();\n var s2 = m.format('MMMM D YYYY, h:mm a') + \" (\" + m.format() + \") \";\n return just(tuple(s1)(s2));\n } catch (error) {\n return nothing\n }\n}\n\nexport const _closeWindow = function (window) {\n window.close();\n};\n\nexport const _setFocus = function(elemId) {\n document.getElementById(elemId).focus();\n};\n\n\nexport const _toLocaleDateString = function(dateString) {\n return new Date(dateString).toLocaleDateString(undefined, {dateStyle: 'medium'}) \n}\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nvar RawHTML = function (x) {\n return x;\n};\nvar toLocaleDateString = function (s) {\n return $foreign[\"_toLocaleDateString\"](s);\n};\nvar setFocus = function (s) {\n return function () {\n return $foreign[\"_setFocus\"](s);\n };\n};\nvar newtypeRawHTML = {\n Coercible0: function () {\n return undefined;\n }\n};\nvar moment8601 = function (s) {\n return function () {\n return $foreign[\"_moment8601\"](Data_Tuple.Tuple.create, s);\n };\n};\nvar mmoment8601 = function (s) {\n return $foreign[\"_mmoment8601\"](Data_Maybe.Just.create, Data_Maybe.Nothing.value, Data_Tuple.Tuple.create, s);\n};\nvar createFormString = function (f) {\n return $foreign[\"_createFormString\"](f);\n};\nvar createFormData = function (f) {\n return $foreign[\"_createFormData\"](f);\n};\nvar createFormArray = function (f) {\n return $foreign[\"_createFormArray\"](f);\n};\nvar closest = function (selector) {\n return function (node) {\n return function () {\n return $foreign[\"_closest\"](Data_Maybe.Just.create, Data_Maybe.Nothing.value, selector, node);\n };\n };\n};\nvar closeWindow = function (win) {\n return function () {\n return $foreign[\"_closeWindow\"](win);\n };\n};\nvar app$prime = function (v) {\n return $foreign[\"_app\"]();\n};\nexport {\n _app,\n _closest,\n _moment8601,\n _mmoment8601,\n _createFormData,\n _createFormString,\n _createFormArray,\n _closeWindow,\n _setFocus,\n _toLocaleDateString\n} from \"./foreign.js\";\nexport {\n app$prime,\n closest,\n moment8601,\n mmoment8601,\n createFormData,\n createFormString,\n createFormArray,\n closeWindow,\n RawHTML,\n setFocus,\n toLocaleDateString,\n newtypeRawHTML\n};\n", "export const _parseJSON = JSON.parse;\n\nexport const _undefined = undefined;\n\nexport const _unsafeStringify = JSON.stringify;\n", "export function unsafeReadPropImpl(f, s, key, value) {\n return value == null ? f : s(value[key]);\n}\n\nexport function unsafeHasOwnProperty(prop, value) {\n return Object.prototype.hasOwnProperty.call(value, prop);\n}\n\nexport function unsafeHasProperty(prop, value) {\n return prop in value;\n}\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Control_Monad_Except_Trans from \"../Control.Monad.Except.Trans/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Foreign from \"../Foreign/index.js\";\nvar unsafeReadProp = function (dictMonad) {\n return function (k) {\n return function (value) {\n return $foreign.unsafeReadPropImpl(Foreign.fail(dictMonad)(new Foreign.TypeMismatch(\"object\", Foreign.typeOf(value))), Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(dictMonad)), k, value);\n };\n };\n};\nvar readProp = function (dictMonad) {\n return unsafeReadProp(dictMonad);\n};\nvar readIndex = function (dictMonad) {\n return unsafeReadProp(dictMonad);\n};\nvar ix = function (dict) {\n return dict.ix;\n};\nvar index = function (dict) {\n return dict.index;\n};\nvar indexableExceptT = function (dictMonad) {\n return {\n ix: function (dictIndex) {\n return function (f) {\n return function (i) {\n return Control_Bind.bindFlipped(Control_Monad_Except_Trans.bindExceptT(dictMonad))(Data_Function.flip(index(dictIndex))(i))(f);\n };\n };\n }\n };\n};\nvar indexableForeign = function (dictMonad) {\n return {\n ix: function (dictIndex) {\n return index(dictIndex);\n }\n };\n};\nvar hasPropertyImpl = function (v) {\n return function (v1) {\n if (Foreign.isNull(v1)) {\n return false;\n };\n if (Foreign.isUndefined(v1)) {\n return false;\n };\n if (Foreign.typeOf(v1) === \"object\" || Foreign.typeOf(v1) === \"function\") {\n return $foreign.unsafeHasProperty(v, v1);\n };\n return false;\n };\n};\nvar hasProperty = function (dict) {\n return dict.hasProperty;\n};\nvar hasOwnPropertyImpl = function (v) {\n return function (v1) {\n if (Foreign.isNull(v1)) {\n return false;\n };\n if (Foreign.isUndefined(v1)) {\n return false;\n };\n if (Foreign.typeOf(v1) === \"object\" || Foreign.typeOf(v1) === \"function\") {\n return $foreign.unsafeHasOwnProperty(v, v1);\n };\n return false;\n };\n};\nvar indexInt = function (dictMonad) {\n return {\n index: Data_Function.flip(readIndex(dictMonad)),\n hasProperty: hasPropertyImpl,\n hasOwnProperty: hasOwnPropertyImpl,\n errorAt: Foreign.ErrorAtIndex.create\n };\n};\nvar indexString = function (dictMonad) {\n return {\n index: Data_Function.flip(readProp(dictMonad)),\n hasProperty: hasPropertyImpl,\n hasOwnProperty: hasOwnPropertyImpl,\n errorAt: Foreign.ErrorAtProperty.create\n };\n};\nvar hasOwnProperty = function (dict) {\n return dict.hasOwnProperty;\n};\nvar errorAt = function (dict) {\n return dict.errorAt;\n};\nexport {\n readProp,\n readIndex,\n ix,\n index,\n hasProperty,\n hasOwnProperty,\n errorAt,\n indexString,\n indexInt,\n indexableForeign,\n indexableExceptT\n};\n", "export function copyRecord(rec) {\n var copy = {};\n for (var key in rec) {\n if ({}.hasOwnProperty.call(rec, key)) {\n copy[key] = rec[key];\n }\n }\n return copy;\n}\n\nexport function unsafeInsert(l) {\n return function(a) {\n return function(rec) {\n rec[l] = a;\n return rec;\n };\n };\n}\n\nexport function unsafeModify(l) {\n return function (f) {\n return function(rec) {\n rec[l] = f(rec[l]);\n return rec;\n };\n };\n}\n\nexport function unsafeDelete(l) {\n return function(rec) {\n delete rec[l];\n return rec;\n };\n}\n\nexport function unsafeRename(l1) {\n return function (l2) {\n return function (rec) {\n rec[l2] = rec[l1];\n delete rec[l1];\n return rec;\n };\n };\n}\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Control_Semigroupoid from \"../Control.Semigroupoid/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Symbol from \"../Data.Symbol/index.js\";\nimport * as Record_Unsafe_Union from \"../Record.Unsafe.Union/index.js\";\nimport * as Unsafe_Coerce from \"../Unsafe.Coerce/index.js\";\nvar Builder = function (x) {\n return x;\n};\nvar union = function () {\n return function (r1) {\n return function (r2) {\n return Record_Unsafe_Union.unsafeUnionFn(r1, r2);\n };\n };\n};\nvar semigroupoidBuilder = Control_Semigroupoid.semigroupoidFn;\nvar rename = function (dictIsSymbol) {\n return function (dictIsSymbol1) {\n return function () {\n return function () {\n return function () {\n return function () {\n return function (l1) {\n return function (l2) {\n return function (r1) {\n return $foreign.unsafeRename(Data_Symbol.reflectSymbol(dictIsSymbol)(l1))(Data_Symbol.reflectSymbol(dictIsSymbol1)(l2))(r1);\n };\n };\n };\n };\n };\n };\n };\n };\n};\nvar nub = function () {\n return Unsafe_Coerce.unsafeCoerce;\n};\nvar modify = function () {\n return function () {\n return function (dictIsSymbol) {\n return function (l) {\n return function (f) {\n return function (r1) {\n return $foreign.unsafeModify(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(f)(r1);\n };\n };\n };\n };\n };\n};\nvar merge = function () {\n return function () {\n return function (r1) {\n return function (r2) {\n return Record_Unsafe_Union.unsafeUnionFn(r1, r2);\n };\n };\n };\n};\nvar insert = function () {\n return function () {\n return function (dictIsSymbol) {\n return function (l) {\n return function (a) {\n return function (r1) {\n return $foreign.unsafeInsert(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(a)(r1);\n };\n };\n };\n };\n };\n};\nvar disjointUnion = function () {\n return function () {\n return function (r1) {\n return function (r2) {\n return Record_Unsafe_Union.unsafeUnionFn(r1, r2);\n };\n };\n };\n};\nvar $$delete = function (dictIsSymbol) {\n return function () {\n return function () {\n return function (l) {\n return function (r2) {\n return $foreign.unsafeDelete(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(r2);\n };\n };\n };\n };\n};\nvar categoryBuilder = Control_Category.categoryFn;\nvar build = function (v) {\n return function (r1) {\n return v($foreign.copyRecord(r1));\n };\n};\nvar buildFromScratch = /* #__PURE__ */ Data_Function.flip(build)({});\nvar flip = function (f) {\n return function (b) {\n return function (a) {\n return build(f(a))(b);\n };\n };\n};\nexport {\n build,\n buildFromScratch,\n flip,\n insert,\n modify,\n $$delete as delete,\n rename,\n merge,\n union,\n disjointUnion,\n nub,\n semigroupoidBuilder,\n categoryBuilder\n};\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Control_Alt from \"../Control.Alt/index.js\";\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Apply from \"../Control.Apply/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Control_Monad_Except from \"../Control.Monad.Except/index.js\";\nimport * as Control_Monad_Except_Trans from \"../Control.Monad.Except.Trans/index.js\";\nimport * as Control_Semigroupoid from \"../Control.Semigroupoid/index.js\";\nimport * as Data_Array_NonEmpty from \"../Data.Array.NonEmpty/index.js\";\nimport * as Data_Bifunctor from \"../Data.Bifunctor/index.js\";\nimport * as Data_Boolean from \"../Data.Boolean/index.js\";\nimport * as Data_Either from \"../Data.Either/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Identity from \"../Data.Identity/index.js\";\nimport * as Data_List_NonEmpty from \"../Data.List.NonEmpty/index.js\";\nimport * as Data_List_Types from \"../Data.List.Types/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Nullable from \"../Data.Nullable/index.js\";\nimport * as Data_Semigroup from \"../Data.Semigroup/index.js\";\nimport * as Data_Symbol from \"../Data.Symbol/index.js\";\nimport * as Data_Traversable from \"../Data.Traversable/index.js\";\nimport * as Data_TraversableWithIndex from \"../Data.TraversableWithIndex/index.js\";\nimport * as Data_Variant from \"../Data.Variant/index.js\";\nimport * as Effect_Exception from \"../Effect.Exception/index.js\";\nimport * as Effect_Uncurried from \"../Effect.Uncurried/index.js\";\nimport * as Effect_Unsafe from \"../Effect.Unsafe/index.js\";\nimport * as Foreign from \"../Foreign/index.js\";\nimport * as Foreign_Index from \"../Foreign.Index/index.js\";\nimport * as Foreign_Object from \"../Foreign.Object/index.js\";\nimport * as Partial_Unsafe from \"../Partial.Unsafe/index.js\";\nimport * as Record from \"../Record/index.js\";\nimport * as Record_Builder from \"../Record.Builder/index.js\";\nimport * as Type_Proxy from \"../Type.Proxy/index.js\";\nvar writeVariantImpl = function (dict) {\n return dict.writeVariantImpl;\n};\nvar writeImplFields = function (dict) {\n return dict.writeImplFields;\n};\nvar writeImpl = function (dict) {\n return dict.writeImpl;\n};\nvar writeJSON = function (dictWriteForeign) {\n var $82 = writeImpl(dictWriteForeign);\n return function ($83) {\n return $foreign[\"_unsafeStringify\"]($82($83));\n };\n};\nvar writeForeignVariant = function () {\n return function (dictWriteForeignVariant) {\n return {\n writeImpl: function (variant) {\n return writeVariantImpl(dictWriteForeignVariant)(Type_Proxy[\"Proxy\"].value)(variant);\n }\n };\n };\n};\nvar writeForeignString = {\n writeImpl: Foreign.unsafeToForeign\n};\nvar writeForeignObject = function (dictWriteForeign) {\n return {\n writeImpl: (function () {\n var $84 = Foreign_Object.mapWithKey(Data_Function[\"const\"](writeImpl(dictWriteForeign)));\n return function ($85) {\n return Foreign.unsafeToForeign($84($85));\n };\n })()\n };\n};\nvar writeForeignNumber = {\n writeImpl: Foreign.unsafeToForeign\n};\nvar writeForeignNullable = function (dictWriteForeign) {\n return {\n writeImpl: (function () {\n var $86 = Data_Maybe.maybe(Foreign.unsafeToForeign(Data_Nullable.toNullable(Data_Maybe.Nothing.value)))(writeImpl(dictWriteForeign));\n return function ($87) {\n return $86(Data_Nullable.toMaybe($87));\n };\n })()\n };\n};\nvar writeForeignInt = {\n writeImpl: Foreign.unsafeToForeign\n};\nvar writeForeignForeign = {\n writeImpl: /* #__PURE__ */ Control_Category.identity(Control_Category.categoryFn)\n};\nvar writeForeignChar = {\n writeImpl: Foreign.unsafeToForeign\n};\nvar writeForeignBoolean = {\n writeImpl: Foreign.unsafeToForeign\n};\nvar writeForeignArray = function (dictWriteForeign) {\n return {\n writeImpl: function (xs) {\n return Foreign.unsafeToForeign(Data_Functor.map(Data_Functor.functorArray)(writeImpl(dictWriteForeign))(xs));\n }\n };\n};\nvar writeForeignNEArray = function (dictWriteForeign) {\n return {\n writeImpl: function (a) {\n return writeImpl(writeForeignArray(dictWriteForeign))(Data_Array_NonEmpty.toArray(a));\n }\n };\n};\nvar write = function (dictWriteForeign) {\n return writeImpl(dictWriteForeign);\n};\nvar unsafeStringify = $foreign[\"_unsafeStringify\"];\nvar $$undefined = $foreign[\"_undefined\"];\nvar writeForeignMaybe = function (dictWriteForeign) {\n return {\n writeImpl: Data_Maybe.maybe($$undefined)(writeImpl(dictWriteForeign))\n };\n};\nvar recordWriteForeign = function () {\n return function (dictWriteForeignFields) {\n return {\n writeImpl: function (rec) {\n var steps = writeImplFields(dictWriteForeignFields)(Type_Proxy[\"Proxy\"].value)(rec);\n return Foreign.unsafeToForeign(Record_Builder.build(steps)({}));\n }\n };\n };\n};\nvar readVariantNil = {\n readVariantImpl: function (v) {\n return function (v1) {\n return Foreign.fail(Data_Identity.monadIdentity)(new Foreign.ForeignError(\"Unable to match any variant member.\"));\n };\n }\n};\nvar readVariantImpl = function (dict) {\n return dict.readVariantImpl;\n};\nvar readString = {\n readImpl: /* #__PURE__ */ Foreign.readString(Data_Identity.monadIdentity)\n};\nvar readNumber = {\n readImpl: /* #__PURE__ */ Foreign.readNumber(Data_Identity.monadIdentity)\n};\nvar readInt = {\n readImpl: /* #__PURE__ */ Foreign.readInt(Data_Identity.monadIdentity)\n};\nvar readImpl = function (dict) {\n return dict.readImpl;\n};\nvar readMaybe = function (dictReadForeign) {\n return {\n readImpl: (function () {\n var readNullOrUndefined = function (v) {\n return function (value) {\n if (Foreign.isNull(value) || Foreign.isUndefined(value)) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Maybe.Nothing.value);\n };\n return Data_Functor.map(Control_Monad_Except_Trans.functorExceptT(Data_Identity.functorIdentity))(Data_Maybe.Just.create)(v(value));\n };\n };\n return readNullOrUndefined(readImpl(dictReadForeign));\n })()\n };\n};\nvar readNullable = function (dictReadForeign) {\n return {\n readImpl: function (o) {\n var reformat = function (error) {\n if (error instanceof Foreign.TypeMismatch) {\n return new Foreign.TypeMismatch(\"Nullable \" + error.value0, error.value1);\n };\n return error;\n };\n return Control_Monad_Except.withExcept(Data_Functor.map(Data_List_Types.functorNonEmptyList)(reformat))(Control_Bind.bindFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Control_Monad_Except_Trans.functorExceptT(Data_Identity.functorIdentity))(Data_Nullable.toNullable))(Data_Traversable.traverse(Data_Traversable.traversableMaybe)(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(readImpl(dictReadForeign))))(Foreign.readNull(Data_Identity.monadIdentity)(o)));\n }\n };\n};\nvar readObject = function (dictReadForeign) {\n return {\n readImpl: (function () {\n var readObject$prime = function (value) {\n if (Foreign.tagOf(value) === \"Object\") {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Foreign.unsafeFromForeign(value));\n };\n if (Data_Boolean.otherwise) {\n return Foreign.fail(Data_Identity.monadIdentity)(new Foreign.TypeMismatch(\"Object\", Foreign.tagOf(value)));\n };\n throw new Error(\"Failed pattern match at Simple.JSON (line 197, column 7 - line 197, column 51): \" + [ value.constructor.name ]);\n };\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))((function () {\n var $88 = Data_Traversable.sequence(Foreign_Object.traversableObject)(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity));\n var $89 = Foreign_Object.mapWithKey(Data_Function[\"const\"](readImpl(dictReadForeign)));\n return function ($90) {\n return $88($89($90));\n };\n })())(readObject$prime);\n })()\n };\n};\nvar readForeignVariant = function () {\n return function (dictReadForeignVariant) {\n return {\n readImpl: function (o) {\n return readVariantImpl(dictReadForeignVariant)(Type_Proxy[\"Proxy\"].value)(o);\n }\n };\n };\n};\nvar readForeign = {\n readImpl: /* #__PURE__ */ Control_Applicative.pure(/* #__PURE__ */ Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))\n};\nvar readFieldsNil = {\n getFields: function (v) {\n return function (v1) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Control_Category.identity(Record_Builder.categoryBuilder));\n };\n }\n};\nvar readChar = {\n readImpl: /* #__PURE__ */ Foreign.readChar(Data_Identity.monadIdentity)\n};\nvar readBoolean = {\n readImpl: /* #__PURE__ */ Foreign.readBoolean(Data_Identity.monadIdentity)\n};\nvar readArray = function (dictReadForeign) {\n return {\n readImpl: (function () {\n var readAtIdx = function (i) {\n return function (f) {\n return Control_Monad_Except.withExcept(Data_Functor.map(Data_List_Types.functorNonEmptyList)(Foreign.ErrorAtIndex.create(i)))(readImpl(dictReadForeign)(f));\n };\n };\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(Data_TraversableWithIndex.traverseWithIndex(Data_TraversableWithIndex.traversableWithIndexArray)(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(readAtIdx))(Foreign.readArray(Data_Identity.monadIdentity));\n })()\n };\n};\nvar readForeignNEArray = function (dictReadForeign) {\n return {\n readImpl: function (f) {\n return Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(readImpl(readArray(dictReadForeign))(f))(function (v) {\n return Control_Monad_Except_Trans.except(Data_Identity.applicativeIdentity)(Data_Either.note(Data_List_NonEmpty.singleton(new Foreign.ForeignError(\"Nonempty array expected, got empty array\")))(Data_Array_NonEmpty.fromArray(v)));\n });\n }\n };\n};\nvar read$prime = function (dictReadForeign) {\n return readImpl(dictReadForeign);\n};\nvar read = function (dictReadForeign) {\n var $91 = readImpl(dictReadForeign);\n return function ($92) {\n return Control_Monad_Except.runExcept($91($92));\n };\n};\nvar readAsForeign = function (dictReadForeign) {\n var $93 = read(dictReadForeign);\n return function ($94) {\n return $93(Foreign.unsafeToForeign($94));\n };\n};\nvar read_ = function (dictReadForeign) {\n var $95 = read(dictReadForeign);\n return function ($96) {\n return Data_Either.hush($95($96));\n };\n};\nvar parseJSON = /* #__PURE__ */ (function () {\n var $97 = Data_Bifunctor.lmap(Data_Bifunctor.bifunctorEither)((function () {\n var $100 = Control_Applicative.pure(Data_List_Types.applicativeNonEmptyList);\n return function ($101) {\n return $100(Foreign.ForeignError.create(Effect_Exception.message($101)));\n };\n })());\n var $98 = Effect_Uncurried.runEffectFn1($foreign[\"_parseJSON\"]);\n return function ($99) {\n return Control_Monad_Except_Trans.ExceptT(Data_Identity.Identity($97(Effect_Unsafe.unsafePerformEffect(Effect_Exception[\"try\"]($98($99))))));\n };\n})();\nvar readJSON = function (dictReadForeign) {\n var $102 = Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(readImpl(dictReadForeign))(parseJSON);\n return function ($103) {\n return Control_Monad_Except.runExcept($102($103));\n };\n};\nvar readJSON_ = function (dictReadForeign) {\n var $104 = readJSON(dictReadForeign);\n return function ($105) {\n return Data_Either.hush($104($105));\n };\n};\nvar readJSON$prime = function (dictReadForeign) {\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(readImpl(dictReadForeign))(parseJSON);\n};\nvar nilWriteForeignVariant = {\n writeVariantImpl: function (v) {\n return function (v1) {\n return Partial_Unsafe.unsafeCrashWith(\"Variant was not able to be writen row WriteForeign.\");\n };\n }\n};\nvar nilWriteForeignFields = {\n writeImplFields: function (v) {\n return function (v1) {\n return Control_Category.identity(Record_Builder.categoryBuilder);\n };\n }\n};\nvar getFields = function (dict) {\n return dict.getFields;\n};\nvar readRecord = function () {\n return function (dictReadForeignFields) {\n return {\n readImpl: function (o) {\n return Data_Functor.map(Control_Monad_Except_Trans.functorExceptT(Data_Identity.functorIdentity))(Data_Function.flip(Record_Builder.build)({}))(getFields(dictReadForeignFields)(Type_Proxy[\"Proxy\"].value)(o));\n }\n };\n };\n};\nvar consWriteForeignVariant = function (dictIsSymbol) {\n return function (dictWriteForeign) {\n return function () {\n return function (dictWriteForeignVariant) {\n return {\n writeVariantImpl: function (v) {\n return function (variant) {\n var writeVariant = function (value) {\n return Foreign.unsafeToForeign({\n type: Data_Symbol.reflectSymbol(dictIsSymbol)(Type_Proxy[\"Proxy\"].value),\n value: writeImpl(dictWriteForeign)(value)\n });\n };\n return Data_Variant.on()(dictIsSymbol)(Type_Proxy[\"Proxy\"].value)(writeVariant)(writeVariantImpl(dictWriteForeignVariant)(Type_Proxy[\"Proxy\"].value))(variant);\n };\n }\n };\n };\n };\n };\n};\nvar consWriteForeignFields = function (dictIsSymbol) {\n return function (dictWriteForeign) {\n return function (dictWriteForeignFields) {\n return function () {\n return function () {\n return function () {\n return {\n writeImplFields: function (v) {\n return function (rec) {\n var rest = writeImplFields(dictWriteForeignFields)(Type_Proxy[\"Proxy\"].value)(rec);\n var value = writeImpl(dictWriteForeign)(Record.get(dictIsSymbol)()(Type_Proxy[\"Proxy\"].value)(rec));\n var result = Control_Semigroupoid.compose(Record_Builder.semigroupoidBuilder)(Record_Builder.insert()()(dictIsSymbol)(Type_Proxy[\"Proxy\"].value)(value))(rest);\n return result;\n };\n }\n };\n };\n };\n };\n };\n };\n};\nvar applyEither = function (dictSemigroup) {\n return function (v) {\n return function (v1) {\n if (v instanceof Data_Either.Left && v1 instanceof Data_Either.Right) {\n return new Data_Either.Left(v.value0);\n };\n if (v instanceof Data_Either.Left && v1 instanceof Data_Either.Left) {\n return new Data_Either.Left(Data_Semigroup.append(dictSemigroup)(v.value0)(v1.value0));\n };\n if (v instanceof Data_Either.Right && v1 instanceof Data_Either.Left) {\n return new Data_Either.Left(v1.value0);\n };\n if (v instanceof Data_Either.Right && v1 instanceof Data_Either.Right) {\n return new Data_Either.Right(v.value0(v1.value0));\n };\n throw new Error(\"Failed pattern match at Simple.JSON (line 241, column 1 - line 241, column 90): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n};\nvar exceptTApply = function (dictSemigroup) {\n return function (dictApplicative) {\n return function (fun) {\n return function (a) {\n return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(applyEither(dictSemigroup))(Control_Monad_Except_Trans.runExceptT(fun)))(Control_Monad_Except_Trans.runExceptT(a));\n };\n };\n };\n};\nvar readFieldsCons = function (dictIsSymbol) {\n return function (dictReadForeign) {\n return function (dictReadForeignFields) {\n return function () {\n return function () {\n return {\n getFields: function (v) {\n return function (obj) {\n var rest = getFields(dictReadForeignFields)(Type_Proxy[\"Proxy\"].value)(obj);\n var name = Data_Symbol.reflectSymbol(dictIsSymbol)(Type_Proxy[\"Proxy\"].value);\n var withExcept$prime = Control_Monad_Except.withExcept(Data_Functor.map(Data_List_Types.functorNonEmptyList)(Foreign.ErrorAtProperty.create(name)));\n var first = Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(withExcept$prime(Control_Bind.bindFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(readImpl(dictReadForeign))(Foreign_Index.readProp(Data_Identity.monadIdentity)(name)(obj))))(function (value) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Record_Builder.insert()()(dictIsSymbol)(Type_Proxy[\"Proxy\"].value)(value));\n });\n return exceptTApply(Data_List_Types.semigroupNonEmptyList)(Data_Identity.applicativeIdentity)(Data_Functor.map(Control_Monad_Except_Trans.functorExceptT(Data_Identity.functorIdentity))(Control_Semigroupoid.compose(Record_Builder.semigroupoidBuilder))(first))(rest);\n };\n }\n };\n };\n };\n };\n };\n};\nvar readVariantCons = function (dictIsSymbol) {\n return function (dictReadForeign) {\n return function () {\n return function (dictReadForeignVariant) {\n return {\n readVariantImpl: function (v) {\n return function (o) {\n var name = Data_Symbol.reflectSymbol(dictIsSymbol)(Type_Proxy[\"Proxy\"].value);\n return Control_Alt.alt(Control_Monad_Except_Trans.altExceptT(Data_List_Types.semigroupNonEmptyList)(Data_Identity.monadIdentity))(Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(readImpl(readRecord()(readFieldsCons({\n reflectSymbol: function () {\n return \"type\";\n }\n })(readString)(readFieldsCons({\n reflectSymbol: function () {\n return \"value\";\n }\n })(readForeign)(readFieldsNil)()())()()))(o))(function (v1) {\n var $80 = v1.type === name;\n if ($80) {\n return Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(readImpl(dictReadForeign)(v1.value))(function (v2) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Variant.inj()(dictIsSymbol)(Type_Proxy[\"Proxy\"].value)(v2));\n });\n };\n return Foreign.fail(Data_Identity.monadIdentity)(Foreign.ForeignError.create(\"Did not match variant tag \" + name));\n }))(readVariantImpl(dictReadForeignVariant)(Type_Proxy[\"Proxy\"].value)(o));\n };\n }\n };\n };\n };\n };\n};\nexport {\n readJSON,\n readJSON$prime,\n readJSON_,\n writeJSON,\n write,\n read,\n read$prime,\n read_,\n readAsForeign,\n parseJSON,\n $$undefined as undefined,\n unsafeStringify,\n readImpl,\n getFields,\n readVariantImpl,\n writeImpl,\n writeImplFields,\n writeVariantImpl,\n readForeign,\n readChar,\n readNumber,\n readInt,\n readString,\n readBoolean,\n readArray,\n readMaybe,\n readNullable,\n readObject,\n readRecord,\n readFieldsCons,\n readFieldsNil,\n readForeignVariant,\n readVariantNil,\n readVariantCons,\n writeForeignForeign,\n writeForeignString,\n writeForeignInt,\n writeForeignChar,\n writeForeignNumber,\n writeForeignBoolean,\n writeForeignArray,\n writeForeignMaybe,\n writeForeignNullable,\n writeForeignObject,\n recordWriteForeign,\n consWriteForeignFields,\n nilWriteForeignFields,\n writeForeignVariant,\n nilWriteForeignVariant,\n consWriteForeignVariant,\n readForeignNEArray,\n writeForeignNEArray\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Monad_Except from \"../Control.Monad.Except/index.js\";\nimport * as Control_Monad_Except_Trans from \"../Control.Monad.Except.Trans/index.js\";\nimport * as Data_Array from \"../Data.Array/index.js\";\nimport * as Data_Either from \"../Data.Either/index.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Identity from \"../Data.Identity/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Monoid from \"../Data.Monoid/index.js\";\nimport * as Data_String_Common from \"../Data.String.Common/index.js\";\nimport * as Foreign from \"../Foreign/index.js\";\nimport * as Simple_JSON from \"../Simple.JSON/index.js\";\nvar TagCloudModeTop = /* #__PURE__ */ (function () {\n function TagCloudModeTop(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TagCloudModeTop.create = function (value0) {\n return function (value1) {\n return new TagCloudModeTop(value0, value1);\n };\n };\n return TagCloudModeTop;\n})();\nvar TagCloudModeLowerBound = /* #__PURE__ */ (function () {\n function TagCloudModeLowerBound(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TagCloudModeLowerBound.create = function (value0) {\n return function (value1) {\n return new TagCloudModeLowerBound(value0, value1);\n };\n };\n return TagCloudModeLowerBound;\n})();\nvar TagCloudModeRelated = /* #__PURE__ */ (function () {\n function TagCloudModeRelated(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TagCloudModeRelated.create = function (value0) {\n return function (value1) {\n return new TagCloudModeRelated(value0, value1);\n };\n };\n return TagCloudModeRelated;\n})();\nvar TagCloudModeNone = /* #__PURE__ */ (function () {\n function TagCloudModeNone() {\n\n };\n TagCloudModeNone.value = new TagCloudModeNone();\n return TagCloudModeNone;\n})();\nvar TagCloudMode$prime = function (x) {\n return x;\n};\nvar Note$prime = function (x) {\n return x;\n};\nvar Bookmark$prime = function (x) {\n return x;\n};\nvar AccountSettings$prime = function (x) {\n return x;\n};\nvar writeForeignTagCloudMode$prime = /* #__PURE__ */ Simple_JSON.recordWriteForeign()(/* #__PURE__ */ Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"expanded\";\n }\n})(Simple_JSON.writeForeignBoolean)(/* #__PURE__ */ Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"mode\";\n }\n})(Simple_JSON.writeForeignString)(/* #__PURE__ */ Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"value\";\n }\n})(Simple_JSON.writeForeignForeign)(Simple_JSON.nilWriteForeignFields)()()())()()())()()());\nvar writeForeignNote$prime = /* #__PURE__ */ Simple_JSON.recordWriteForeign()(/* #__PURE__ */ Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"created\";\n }\n})(Simple_JSON.writeForeignString)(/* #__PURE__ */ Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"id\";\n }\n})(Simple_JSON.writeForeignInt)(/* #__PURE__ */ Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"isMarkdown\";\n }\n})(Simple_JSON.writeForeignBoolean)(/* #__PURE__ */ Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"length\";\n }\n})(Simple_JSON.writeForeignInt)(/* #__PURE__ */ Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"shared\";\n }\n})(Simple_JSON.writeForeignBoolean)(/* #__PURE__ */ Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"slug\";\n }\n})(Simple_JSON.writeForeignString)(/* #__PURE__ */ Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"text\";\n }\n})(Simple_JSON.writeForeignString)(/* #__PURE__ */ Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"title\";\n }\n})(Simple_JSON.writeForeignString)(/* #__PURE__ */ Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"updated\";\n }\n})(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()())()()());\nvar writeForeignBookmark$prime = /* #__PURE__ */ Simple_JSON.recordWriteForeign()(/* #__PURE__ */ Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"archiveUrl\";\n }\n})(/* #__PURE__ */ Simple_JSON.writeForeignNullable(Simple_JSON.writeForeignString))(/* #__PURE__ */ Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"bid\";\n }\n})(Simple_JSON.writeForeignInt)(/* #__PURE__ */ Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"description\";\n }\n})(Simple_JSON.writeForeignString)(/* #__PURE__ */ Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"private\";\n }\n})(Simple_JSON.writeForeignBoolean)(/* #__PURE__ */ Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"selected\";\n }\n})(Simple_JSON.writeForeignBoolean)(/* #__PURE__ */ Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"slug\";\n }\n})(Simple_JSON.writeForeignString)(/* #__PURE__ */ Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"tags\";\n }\n})(Simple_JSON.writeForeignString)(/* #__PURE__ */ Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"time\";\n }\n})(Simple_JSON.writeForeignString)(/* #__PURE__ */ Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"title\";\n }\n})(Simple_JSON.writeForeignString)(/* #__PURE__ */ Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"toread\";\n }\n})(Simple_JSON.writeForeignBoolean)(/* #__PURE__ */ Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"url\";\n }\n})(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()())()()())()()())()()());\nvar writeForeignAccountSettin = /* #__PURE__ */ Simple_JSON.recordWriteForeign()(/* #__PURE__ */ Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"archiveDefault\";\n }\n})(Simple_JSON.writeForeignBoolean)(/* #__PURE__ */ Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"privacyLock\";\n }\n})(Simple_JSON.writeForeignBoolean)(/* #__PURE__ */ Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"privateDefault\";\n }\n})(Simple_JSON.writeForeignBoolean)(Simple_JSON.nilWriteForeignFields)()()())()()())()()());\nvar readForeignTagCloudMode$prime = /* #__PURE__ */ Simple_JSON.readRecord()(/* #__PURE__ */ Simple_JSON.readFieldsCons({\n reflectSymbol: function () {\n return \"expanded\";\n }\n})(Simple_JSON.readBoolean)(/* #__PURE__ */ Simple_JSON.readFieldsCons({\n reflectSymbol: function () {\n return \"mode\";\n }\n})(Simple_JSON.readString)(/* #__PURE__ */ Simple_JSON.readFieldsCons({\n reflectSymbol: function () {\n return \"value\";\n }\n})(Simple_JSON.readForeign)(Simple_JSON.readFieldsNil)()())()())()());\nvar readForeignNote$prime = /* #__PURE__ */ Simple_JSON.readRecord()(/* #__PURE__ */ Simple_JSON.readFieldsCons({\n reflectSymbol: function () {\n return \"created\";\n }\n})(Simple_JSON.readString)(/* #__PURE__ */ Simple_JSON.readFieldsCons({\n reflectSymbol: function () {\n return \"id\";\n }\n})(Simple_JSON.readInt)(/* #__PURE__ */ Simple_JSON.readFieldsCons({\n reflectSymbol: function () {\n return \"isMarkdown\";\n }\n})(Simple_JSON.readBoolean)(/* #__PURE__ */ Simple_JSON.readFieldsCons({\n reflectSymbol: function () {\n return \"length\";\n }\n})(Simple_JSON.readInt)(/* #__PURE__ */ Simple_JSON.readFieldsCons({\n reflectSymbol: function () {\n return \"shared\";\n }\n})(Simple_JSON.readBoolean)(/* #__PURE__ */ Simple_JSON.readFieldsCons({\n reflectSymbol: function () {\n return \"slug\";\n }\n})(Simple_JSON.readString)(/* #__PURE__ */ Simple_JSON.readFieldsCons({\n reflectSymbol: function () {\n return \"text\";\n }\n})(Simple_JSON.readString)(/* #__PURE__ */ Simple_JSON.readFieldsCons({\n reflectSymbol: function () {\n return \"title\";\n }\n})(Simple_JSON.readString)(/* #__PURE__ */ Simple_JSON.readFieldsCons({\n reflectSymbol: function () {\n return \"updated\";\n }\n})(Simple_JSON.readString)(Simple_JSON.readFieldsNil)()())()())()())()())()())()())()())()())()());\nvar readForeignBookmark$prime = /* #__PURE__ */ Simple_JSON.readRecord()(/* #__PURE__ */ Simple_JSON.readFieldsCons({\n reflectSymbol: function () {\n return \"archiveUrl\";\n }\n})(/* #__PURE__ */ Simple_JSON.readNullable(Simple_JSON.readString))(/* #__PURE__ */ Simple_JSON.readFieldsCons({\n reflectSymbol: function () {\n return \"bid\";\n }\n})(Simple_JSON.readInt)(/* #__PURE__ */ Simple_JSON.readFieldsCons({\n reflectSymbol: function () {\n return \"description\";\n }\n})(Simple_JSON.readString)(/* #__PURE__ */ Simple_JSON.readFieldsCons({\n reflectSymbol: function () {\n return \"private\";\n }\n})(Simple_JSON.readBoolean)(/* #__PURE__ */ Simple_JSON.readFieldsCons({\n reflectSymbol: function () {\n return \"selected\";\n }\n})(Simple_JSON.readBoolean)(/* #__PURE__ */ Simple_JSON.readFieldsCons({\n reflectSymbol: function () {\n return \"slug\";\n }\n})(Simple_JSON.readString)(/* #__PURE__ */ Simple_JSON.readFieldsCons({\n reflectSymbol: function () {\n return \"tags\";\n }\n})(Simple_JSON.readString)(/* #__PURE__ */ Simple_JSON.readFieldsCons({\n reflectSymbol: function () {\n return \"time\";\n }\n})(Simple_JSON.readString)(/* #__PURE__ */ Simple_JSON.readFieldsCons({\n reflectSymbol: function () {\n return \"title\";\n }\n})(Simple_JSON.readString)(/* #__PURE__ */ Simple_JSON.readFieldsCons({\n reflectSymbol: function () {\n return \"toread\";\n }\n})(Simple_JSON.readBoolean)(/* #__PURE__ */ Simple_JSON.readFieldsCons({\n reflectSymbol: function () {\n return \"url\";\n }\n})(Simple_JSON.readString)(Simple_JSON.readFieldsNil)()())()())()())()())()())()())()())()())()())()())()());\nvar readForeignAccountSetting = /* #__PURE__ */ Simple_JSON.readRecord()(/* #__PURE__ */ Simple_JSON.readFieldsCons({\n reflectSymbol: function () {\n return \"archiveDefault\";\n }\n})(Simple_JSON.readBoolean)(/* #__PURE__ */ Simple_JSON.readFieldsCons({\n reflectSymbol: function () {\n return \"privacyLock\";\n }\n})(Simple_JSON.readBoolean)(/* #__PURE__ */ Simple_JSON.readFieldsCons({\n reflectSymbol: function () {\n return \"privateDefault\";\n }\n})(Simple_JSON.readBoolean)(Simple_JSON.readFieldsNil)()())()())()());\nvar eqTagCloudModeF = {\n eq: function (x) {\n return function (y) {\n if (x instanceof TagCloudModeTop && y instanceof TagCloudModeTop) {\n return x.value0 === y.value0 && x.value1 === y.value1;\n };\n if (x instanceof TagCloudModeLowerBound && y instanceof TagCloudModeLowerBound) {\n return x.value0 === y.value0 && x.value1 === y.value1;\n };\n if (x instanceof TagCloudModeRelated && y instanceof TagCloudModeRelated) {\n return x.value0 === y.value0 && Data_Eq.eq(Data_Eq.eqArray(Data_Eq.eqString))(x.value1)(y.value1);\n };\n if (x instanceof TagCloudModeNone && y instanceof TagCloudModeNone) {\n return true;\n };\n return false;\n };\n }\n};\nvar tagCloudModeToF = function (tagCloudMode) {\n return Data_Maybe.fromMaybe(TagCloudModeNone.value)(Data_Either.hush(Control_Monad_Except.runExcept((function () {\n if (tagCloudMode.mode === \"top\") {\n return Data_Functor.map(Control_Monad_Except_Trans.functorExceptT(Data_Identity.functorIdentity))(TagCloudModeTop.create(tagCloudMode.expanded))(Foreign.readInt(Data_Identity.monadIdentity)(tagCloudMode.value));\n };\n if (tagCloudMode.mode === \"lowerBound\") {\n return Data_Functor.map(Control_Monad_Except_Trans.functorExceptT(Data_Identity.functorIdentity))(TagCloudModeLowerBound.create(tagCloudMode.expanded))(Foreign.readInt(Data_Identity.monadIdentity)(tagCloudMode.value));\n };\n if (tagCloudMode.mode === \"related\") {\n return Data_Functor.map(Control_Monad_Except_Trans.functorExceptT(Data_Identity.functorIdentity))(function (s) {\n return new TagCloudModeRelated(tagCloudMode.expanded, Data_String_Common.split(\" \")(s));\n })(Foreign.readString(Data_Identity.monadIdentity)(tagCloudMode.value));\n };\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(TagCloudModeNone.value);\n })())));\n};\nvar tagCloudModeFromF = function (v) {\n if (v instanceof TagCloudModeTop) {\n return {\n mode: \"top\",\n value: Foreign.unsafeToForeign(v.value1),\n expanded: v.value0\n };\n };\n if (v instanceof TagCloudModeLowerBound) {\n return {\n mode: \"lowerBound\",\n value: Foreign.unsafeToForeign(v.value1),\n expanded: v.value0\n };\n };\n if (v instanceof TagCloudModeRelated) {\n return {\n mode: \"related\",\n value: Foreign.unsafeToForeign(Data_Array.intercalate(Data_Monoid.monoidString)(\" \")(v.value1)),\n expanded: v.value0\n };\n };\n if (v instanceof TagCloudModeNone) {\n return {\n mode: \"none\",\n value: Foreign.unsafeToForeign(\"\"),\n expanded: false\n };\n };\n throw new Error(\"Failed pattern match at Model (line 92, column 1 - line 92, column 51): \" + [ v.constructor.name ]);\n};\nvar showMode = function (v) {\n if (v instanceof TagCloudModeTop) {\n return \"top\";\n };\n if (v instanceof TagCloudModeLowerBound) {\n return \"lowerBound\";\n };\n if (v instanceof TagCloudModeRelated) {\n return \"related\";\n };\n if (v instanceof TagCloudModeNone) {\n return \"\";\n };\n throw new Error(\"Failed pattern match at Model (line 118, column 1 - line 118, column 36): \" + [ v.constructor.name ]);\n};\nvar setExpanded = function (v) {\n return function (v1) {\n if (v instanceof TagCloudModeTop) {\n return new TagCloudModeTop(v1, v.value1);\n };\n if (v instanceof TagCloudModeLowerBound) {\n return new TagCloudModeLowerBound(v1, v.value1);\n };\n if (v instanceof TagCloudModeRelated) {\n return new TagCloudModeRelated(v1, v.value1);\n };\n if (v instanceof TagCloudModeNone) {\n return TagCloudModeNone.value;\n };\n throw new Error(\"Failed pattern match at Model (line 112, column 1 - line 112, column 57): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n};\nvar isRelated = function (v) {\n if (v instanceof TagCloudModeRelated) {\n return true;\n };\n return false;\n};\nvar isExpanded = function (v) {\n if (v instanceof TagCloudModeTop) {\n return v.value0;\n };\n if (v instanceof TagCloudModeLowerBound) {\n return v.value0;\n };\n if (v instanceof TagCloudModeRelated) {\n return v.value0;\n };\n if (v instanceof TagCloudModeNone) {\n return false;\n };\n throw new Error(\"Failed pattern match at Model (line 102, column 1 - line 102, column 39): \" + [ v.constructor.name ]);\n};\nexport {\n Bookmark$prime,\n Note$prime,\n AccountSettings$prime,\n TagCloudMode$prime,\n TagCloudModeTop,\n TagCloudModeLowerBound,\n TagCloudModeRelated,\n TagCloudModeNone,\n tagCloudModeToF,\n tagCloudModeFromF,\n isExpanded,\n isRelated,\n setExpanded,\n showMode,\n readForeignBookmark$prime,\n writeForeignBookmark$prime,\n readForeignNote$prime,\n writeForeignNote$prime,\n readForeignAccountSetting,\n writeForeignAccountSettin,\n readForeignTagCloudMode$prime,\n writeForeignTagCloudMode$prime,\n eqTagCloudModeF\n};\n", "const windowImpl = function () {\n return window;\n};\nexport { windowImpl as window };\n", "// Generated by purs version 0.15.2\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nvar PropName = function (x) {\n return x;\n};\nvar ClassName = function (x) {\n return x;\n};\nvar AttrName = function (x) {\n return x;\n};\nvar ordPropName = Data_Ord.ordString;\nvar ordClassName = Data_Ord.ordString;\nvar ordAttrName = Data_Ord.ordString;\nvar newtypePropName = {\n Coercible0: function () {\n return undefined;\n }\n};\nvar newtypeClassName = {\n Coercible0: function () {\n return undefined;\n }\n};\nvar newtypeAttrName = {\n Coercible0: function () {\n return undefined;\n }\n};\nvar eqPropName = Data_Eq.eqString;\nvar eqClassName = Data_Eq.eqString;\nvar eqAttrName = Data_Eq.eqString;\nexport {\n PropName,\n AttrName,\n ClassName,\n newtypePropName,\n eqPropName,\n ordPropName,\n newtypeAttrName,\n eqAttrName,\n ordAttrName,\n newtypeClassName,\n eqClassName,\n ordClassName\n};\n", "export function _documentElement(doc) {\n return function () {\n return doc.documentElement;\n };\n}\n\nexport function _head(doc) {\n return function () {\n return doc.head;\n };\n}\n\nexport function _body(doc) {\n return function () {\n return doc.body;\n };\n}\n\nexport function _readyState(doc) {\n return function () {\n return doc.readyState;\n };\n}\n\nexport function _activeElement(doc) {\n return function () {\n return doc.activeElement;\n };\n}\n\nexport function _currentScript(doc) {\n return function () {\n return doc.currentScript;\n };\n}\n\nexport function referrer(doc) {\n return function () {\n return doc.referrer;\n };\n}\n\nexport function title(doc) {\n return function () {\n return doc.title;\n };\n}\n\nexport function setTitle(title) {\n return function (doc) {\n return function () {\n doc.title = title;\n };\n };\n}\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Nullable from \"../Data.Nullable/index.js\";\nimport * as Effect from \"../Effect/index.js\";\nimport * as Unsafe_Coerce from \"../Unsafe.Coerce/index.js\";\nimport * as Web_HTML_HTMLDocument_ReadyState from \"../Web.HTML.HTMLDocument.ReadyState/index.js\";\nimport * as Web_Internal_FFI from \"../Web.Internal.FFI/index.js\";\nvar toParentNode = Unsafe_Coerce.unsafeCoerce;\nvar toNonElementParentNode = Unsafe_Coerce.unsafeCoerce;\nvar toNode = Unsafe_Coerce.unsafeCoerce;\nvar toEventTarget = Unsafe_Coerce.unsafeCoerce;\nvar toDocument = Unsafe_Coerce.unsafeCoerce;\nvar readyState = /* #__PURE__ */ (function () {\n var $0 = Data_Functor.map(Effect.functorEffect)((function () {\n var $2 = Data_Maybe.fromMaybe(Web_HTML_HTMLDocument_ReadyState.Loading.value);\n return function ($3) {\n return $2(Web_HTML_HTMLDocument_ReadyState.parse($3));\n };\n })());\n return function ($1) {\n return $0($foreign[\"_readyState\"]($1));\n };\n})();\nvar head = /* #__PURE__ */ (function () {\n var $4 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($5) {\n return $4($foreign[\"_head\"]($5));\n };\n})();\nvar fromParentNode = /* #__PURE__ */ Web_Internal_FFI.unsafeReadProtoTagged(\"HTMLDocument\");\nvar fromNonElementParentNode = /* #__PURE__ */ Web_Internal_FFI.unsafeReadProtoTagged(\"HTMLDocument\");\nvar fromNode = /* #__PURE__ */ Web_Internal_FFI.unsafeReadProtoTagged(\"HTMLDocument\");\nvar fromEventTarget = /* #__PURE__ */ Web_Internal_FFI.unsafeReadProtoTagged(\"HTMLDocument\");\nvar fromDocument = /* #__PURE__ */ Web_Internal_FFI.unsafeReadProtoTagged(\"HTMLDocument\");\nvar documentElement = /* #__PURE__ */ (function () {\n var $6 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($7) {\n return $6($foreign[\"_documentElement\"]($7));\n };\n})();\nvar currentScript = /* #__PURE__ */ (function () {\n var $8 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($9) {\n return $8($foreign[\"_currentScript\"]($9));\n };\n})();\nvar body = /* #__PURE__ */ (function () {\n var $10 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($11) {\n return $10($foreign[\"_body\"]($11));\n };\n})();\nvar activeElement = /* #__PURE__ */ (function () {\n var $12 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($13) {\n return $12($foreign[\"_activeElement\"]($13));\n };\n})();\nexport {\n referrer,\n title,\n setTitle\n} from \"./foreign.js\";\nexport {\n fromDocument,\n fromNode,\n fromParentNode,\n fromNonElementParentNode,\n fromEventTarget,\n toDocument,\n toNode,\n toParentNode,\n toNonElementParentNode,\n toEventTarget,\n documentElement,\n head,\n body,\n readyState,\n activeElement,\n currentScript\n};\n", "export function _read(nothing, just, value) {\n var tag = Object.prototype.toString.call(value);\n if (tag.indexOf(\"[object HTML\") === 0 && tag.indexOf(\"Element]\") === tag.length - 8) {\n return just(value);\n } else {\n return nothing;\n }\n}\n\n// ----------------------------------------------------------------------------\n\nexport function title(elt) {\n return function () {\n return elt.title;\n };\n}\n\nexport function setTitle(title) {\n return function (elt) {\n return function () {\n elt.title = title;\n };\n };\n}\n\n// ----------------------------------------------------------------------------\n\nexport function lang(elt) {\n return function () {\n return elt.lang;\n };\n}\n\nexport function setLang(lang) {\n return function (elt) {\n return function () {\n elt.lang = lang;\n };\n };\n}\n\n// ----------------------------------------------------------------------------\n\nexport function dir(elt) {\n return function () {\n return elt.dir;\n };\n}\n\nexport function setDir(dir) {\n return function (elt) {\n return function () {\n elt.dir = dir;\n };\n };\n}\n\n// ----------------------------------------------------------------------------\n\nexport function hidden(elt) {\n return function () {\n return elt.hidden;\n };\n}\n\nexport function setHidden(hidden) {\n return function (elt) {\n return function () {\n elt.hidden = hidden;\n };\n };\n}\n\n// ----------------------------------------------------------------------------\n\nexport function tabIndex(elt) {\n return function () {\n return elt.tabIndex;\n };\n}\n\nexport function setTabIndex(tabIndex) {\n return function (elt) {\n return function () {\n elt.tabIndex = tabIndex;\n };\n };\n}\n\n// ----------------------------------------------------------------------------\n\nexport function draggable(elt) {\n return function () {\n return elt.draggable;\n };\n}\n\nexport function setDraggable(draggable) {\n return function (elt) {\n return function () {\n elt.draggable = draggable;\n };\n };\n}\n\n// ----------------------------------------------------------------------------\n\nexport function contentEditable(elt) {\n return function () {\n return elt.contentEditable;\n };\n}\n\nexport function setContentEditable(contentEditable) {\n return function (elt) {\n return function () {\n elt.contentEditable = contentEditable;\n };\n };\n}\n\nexport function isContentEditable(elt) {\n return function () {\n return elt.isContentEditable;\n };\n}\n\n// ----------------------------------------------------------------------------\n\nexport function spellcheck(elt) {\n return function () {\n return elt.spellcheck;\n };\n}\n\nexport function setSpellcheck(spellcheck) {\n return function (elt) {\n return function () {\n elt.spellcheck = spellcheck;\n };\n };\n}\n\n// ----------------------------------------------------------------------------\n\nexport function click(elt) {\n return function () {\n return elt.click();\n };\n}\n\nexport function focus(elt) {\n return function () {\n return elt.focus();\n };\n}\n\nexport function blur(elt) {\n return function () {\n return elt.blur();\n };\n}\n\n// - CSSOM ---------------------------------------------------------------------\n\nexport function _offsetParent(el) {\n return function () {\n return el.offsetParent;\n };\n}\n\nexport function offsetTop(el) {\n return function () {\n return el.offsetTop;\n };\n}\n\nexport function offsetLeft(el) {\n return function () {\n return el.offsetLeft;\n };\n}\n\nexport function offsetWidth(el) {\n return function () {\n return el.offsetWidth;\n };\n}\n\nexport function offsetHeight(el) {\n return function () {\n return el.offsetHeight;\n };\n}\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Nullable from \"../Data.Nullable/index.js\";\nimport * as Effect from \"../Effect/index.js\";\nimport * as Unsafe_Coerce from \"../Unsafe.Coerce/index.js\";\nvar toParentNode = Unsafe_Coerce.unsafeCoerce;\nvar toNonDocumentTypeChildNode = Unsafe_Coerce.unsafeCoerce;\nvar toNode = Unsafe_Coerce.unsafeCoerce;\nvar toEventTarget = Unsafe_Coerce.unsafeCoerce;\nvar toElement = Unsafe_Coerce.unsafeCoerce;\nvar toChildNode = Unsafe_Coerce.unsafeCoerce;\nvar offsetParent = /* #__PURE__ */ (function () {\n var $0 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($1) {\n return $0($foreign[\"_offsetParent\"]($1));\n };\n})();\nvar fromParentNode = function (x) {\n return $foreign[\"_read\"](Data_Maybe.Nothing.value, Data_Maybe.Just.create, x);\n};\nvar fromNonDocumentTypeChildNode = function (x) {\n return $foreign[\"_read\"](Data_Maybe.Nothing.value, Data_Maybe.Just.create, x);\n};\nvar fromNode = function (x) {\n return $foreign[\"_read\"](Data_Maybe.Nothing.value, Data_Maybe.Just.create, x);\n};\nvar fromEventTarget = function (x) {\n return $foreign[\"_read\"](Data_Maybe.Nothing.value, Data_Maybe.Just.create, x);\n};\nvar fromElement = function (x) {\n return $foreign[\"_read\"](Data_Maybe.Nothing.value, Data_Maybe.Just.create, x);\n};\nvar fromChildNode = function (x) {\n return $foreign[\"_read\"](Data_Maybe.Nothing.value, Data_Maybe.Just.create, x);\n};\nexport {\n title,\n setTitle,\n lang,\n setLang,\n dir,\n setDir,\n hidden,\n setHidden,\n tabIndex,\n setTabIndex,\n draggable,\n setDraggable,\n contentEditable,\n setContentEditable,\n isContentEditable,\n spellcheck,\n setSpellcheck,\n click,\n focus,\n blur,\n offsetTop,\n offsetLeft,\n offsetWidth,\n offsetHeight\n} from \"./foreign.js\";\nexport {\n fromElement,\n fromNode,\n fromChildNode,\n fromNonDocumentTypeChildNode,\n fromParentNode,\n fromEventTarget,\n toElement,\n toNode,\n toChildNode,\n toNonDocumentTypeChildNode,\n toParentNode,\n toEventTarget,\n offsetParent\n};\n", "export function hash(location) {\n return function () {\n return location.hash;\n };\n}\n\nexport function setHash(hash) {\n return function (location) {\n return function () {\n location.hash = hash;\n };\n };\n}\n\n// ----------------------------------------------------------------------------\n\nexport function host(location) {\n return function () {\n return location.host;\n };\n}\n\nexport function setHost(host) {\n return function (location) {\n return function () {\n location.host = host;\n };\n };\n}\n\n// ----------------------------------------------------------------------------\n\nexport function hostname(location) {\n return function () {\n return location.hostname;\n };\n}\n\nexport function setHostname(hostname) {\n return function (location) {\n return function () {\n location.hostname = hostname;\n };\n };\n}\n\n// ----------------------------------------------------------------------------\n\nexport function href(location) {\n return function () {\n return location.href;\n };\n}\n\nexport function setHref(href) {\n return function (location) {\n return function () {\n location.href = href;\n };\n };\n}\n\n// ----------------------------------------------------------------------------\n\nexport function origin(location) {\n return function () {\n return location.origin;\n };\n}\n\nexport function setOrigin(origin) {\n return function (location) {\n return function () {\n location.origin = origin;\n };\n };\n}\n\n// ----------------------------------------------------------------------------\n\nexport function pathname(location) {\n return function () {\n return location.pathname;\n };\n}\n\nexport function setPathname(pathname) {\n return function (location) {\n return function () {\n location.pathname = pathname;\n };\n };\n}\n\n// ----------------------------------------------------------------------------\n\nexport function port(location) {\n return function () {\n return location.port;\n };\n}\n\nexport function setPort(port) {\n return function (location) {\n return function () {\n location.port = port;\n };\n };\n}\n\n// ----------------------------------------------------------------------------\n\nexport function protocol(location) {\n return function () {\n return location.protocol;\n };\n}\n\nexport function setProtocol(protocol) {\n return function (location) {\n return function () {\n location.protocol = protocol;\n };\n };\n}\n\n// ----------------------------------------------------------------------------\n\nexport function search(location) {\n return function () {\n return location.search;\n };\n}\n\nexport function setSearch(search) {\n return function (location) {\n return function () {\n location.search = search;\n };\n };\n}\n\n// ----------------------------------------------------------------------------\n\nexport function assign(url) {\n return function (location) {\n return function () {\n location.assign(url);\n };\n };\n}\n\n// ----------------------------------------------------------------------------\n\nexport function replace(url) {\n return function (location) {\n return function () {\n location.replace(url);\n };\n };\n}\n\n// ----------------------------------------------------------------------------\n\nexport function reload(location) {\n return function () {\n location.reload();\n };\n}\n", "export function document(window) {\n return function () {\n return window.document;\n };\n}\n\nexport function navigator(window) {\n return function () {\n return window.navigator;\n };\n}\n\nexport function location(window) {\n return function () {\n return window.location;\n };\n}\n\nexport function history(window) {\n return function() {\n return window.history;\n };\n}\n\nexport function innerWidth(window) {\n return function () {\n return window.innerWidth;\n };\n}\n\nexport function innerHeight(window) {\n return function () {\n return window.innerHeight;\n };\n}\n\nexport function alert(str) {\n return function (window) {\n return function () {\n window.alert(str);\n };\n };\n}\n\nexport function confirm(str) {\n return function (window) {\n return function () {\n return window.confirm(str);\n };\n };\n}\n\nexport function moveBy(xDelta) {\n return function (yDelta) {\n return function (window) {\n return function () {\n window.moveBy(xDelta, yDelta);\n };\n };\n };\n}\n\nexport function moveTo(width) {\n return function (height) {\n return function (window) {\n return function () {\n window.moveTo(width, height);\n };\n };\n };\n}\n\nexport function _open(url) {\n return function (name) {\n return function (features) {\n return function (window) {\n return function () {\n return window.open(url, name, features);\n };\n };\n };\n };\n}\n\nexport function outerHeight(window) {\n return function () {\n return window.outerHeight;\n };\n}\n\nexport function outerWidth(window) {\n return function () {\n return window.outerWidth;\n };\n}\n\nexport function print(window) {\n return function () {\n window.print();\n };\n}\n\nexport function _prompt(str) {\n return function (defaultText) {\n return function (window) {\n return function () {\n return window.prompt(str, defaultText);\n };\n };\n };\n}\n\nexport function resizeBy(xDelta) {\n return function (yDelta) {\n return function (window) {\n return function () {\n window.resizeBy(xDelta, yDelta);\n };\n };\n };\n}\n\nexport function resizeTo(width) {\n return function (height) {\n return function (window) {\n return function () {\n window.resizeTo(width, height);\n };\n };\n };\n}\n\nexport function screenX(window) {\n return function () {\n return window.screenX;\n };\n}\n\nexport function screenY(window) {\n return function () {\n return window.screenY;\n };\n}\n\nexport function scroll(xCoord) {\n return function (yCoord) {\n return function (window) {\n return function () {\n window.scroll(xCoord, yCoord);\n };\n };\n };\n}\n\nexport function scrollBy(xCoord) {\n return function (yCoord) {\n return function (window) {\n return function () {\n window.scrollBy(xCoord, yCoord);\n };\n };\n };\n}\n\nexport function scrollX(window) {\n return function () {\n return window.scrollX;\n };\n}\n\nexport function scrollY(window) {\n return function () {\n return window.scrollY;\n };\n}\n\nexport function localStorage(window) {\n return function () {\n return window.localStorage;\n };\n}\n\nexport function sessionStorage(window) {\n return function () {\n return window.sessionStorage;\n };\n}\n\nexport function requestAnimationFrame(fn) {\n return function(window) {\n return function() {\n return window.requestAnimationFrame(fn);\n };\n };\n}\n\nexport function cancelAnimationFrame(id) {\n return function(window) {\n return function() {\n return window.cancelAnimationFrame(id);\n };\n };\n}\n\nexport function requestIdleCallback(opts) {\n return function(fn) {\n return function(window) {\n return function() {\n return window.requestIdleCallback(fn, opts);\n };\n };\n };\n}\n\nexport function cancelIdleCallback(id) {\n return function(window) {\n return function() {\n return window.cancelIdleCallback(id);\n };\n };\n}\n\nexport function parent(window) {\n return function() {\n return window.parent;\n };\n}\n\nexport function _opener(window) {\n return function() {\n return window.opener;\n };\n}\n", "// Generated by purs version 0.15.2\nimport * as Affjax from \"../Affjax/index.js\";\nimport * as Affjax_RequestBody from \"../Affjax.RequestBody/index.js\";\nimport * as Affjax_RequestHeader from \"../Affjax.RequestHeader/index.js\";\nimport * as Affjax_ResponseFormat from \"../Affjax.ResponseFormat/index.js\";\nimport * as Affjax_StatusCode from \"../Affjax.StatusCode/index.js\";\nimport * as Affjax_Web from \"../Affjax.Web/index.js\";\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Data_Argonaut_Decode_Class from \"../Data.Argonaut.Decode.Class/index.js\";\nimport * as Data_Array from \"../Data.Array/index.js\";\nimport * as Data_Either from \"../Data.Either/index.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_HTTP_Method from \"../Data.HTTP.Method/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_MediaType_Common from \"../Data.MediaType.Common/index.js\";\nimport * as Data_Show from \"../Data.Show/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Effect from \"../Effect/index.js\";\nimport * as Effect_Aff from \"../Effect.Aff/index.js\";\nimport * as Effect_Class from \"../Effect.Class/index.js\";\nimport * as Globals from \"../Globals/index.js\";\nimport * as Model from \"../Model/index.js\";\nimport * as Simple_JSON from \"../Simple.JSON/index.js\";\nimport * as Web_HTML from \"../Web.HTML/index.js\";\nimport * as Web_HTML_Location from \"../Web.HTML.Location/index.js\";\nimport * as Web_HTML_Window from \"../Web.HTML.Window/index.js\";\nvar Star = /* #__PURE__ */ (function () {\n function Star() {\n\n };\n Star.value = new Star();\n return Star;\n})();\nvar UnStar = /* #__PURE__ */ (function () {\n function UnStar() {\n\n };\n UnStar.value = new UnStar();\n return UnStar;\n})();\nvar showStar = {\n show: function (v) {\n if (v instanceof Star) {\n return \"star\";\n };\n if (v instanceof UnStar) {\n return \"unstar\";\n };\n throw new Error(\"Failed pattern match at App (line 29, column 1 - line 31, column 25): \" + [ v.constructor.name ]);\n }\n};\nvar fetchUrl = function (method) {\n return function (url) {\n return function (headers) {\n return function (content) {\n return function (rt) {\n var app = Globals[\"app$prime\"](Data_Unit.unit);\n return Affjax_Web.request({\n method: new Data_Either.Left(method),\n url: url,\n headers: Data_Array.cons(new Affjax_RequestHeader.RequestHeader(app.csrfHeaderName, app.csrfToken))(headers),\n content: content,\n username: Affjax.defaultRequest.username,\n password: Affjax.defaultRequest.password,\n withCredentials: Affjax.defaultRequest.withCredentials,\n responseFormat: rt,\n timeout: Affjax.defaultRequest.timeout\n });\n };\n };\n };\n };\n};\nvar logout = function (u) {\n var app = Globals[\"app$prime\"](u);\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(fetchUrl(Data_HTTP_Method.POST.value)(app.authRlogoutR)([ ])(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore)))(function () {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bind(Effect.bindEffect)(Control_Bind.bind(Effect.bindEffect)(Web_HTML.window)(Web_HTML_Window.location))(Web_HTML_Location.reload));\n });\n};\nvar fetchPath = function (method) {\n return function (path) {\n return function (headers) {\n return function (content) {\n return function (rt) {\n return fetchUrl(method)((Globals[\"app$prime\"](Data_Unit.unit)).homeR + path)(headers)(content)(rt);\n };\n };\n };\n };\n};\nvar fetchUrlEnc = function (method) {\n return function (path) {\n return function (content) {\n return function (rt) {\n return fetchPath(method)(path)([ new Affjax_RequestHeader.ContentType(Data_MediaType_Common.applicationFormURLEncoded) ])(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestBody.FormURLEncoded.create)(content))(rt);\n };\n };\n };\n};\nvar markRead = function (bid) {\n var path = \"bm/\" + (Data_Show.show(Data_Show.showInt)(bid) + \"/read\");\n return fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n};\nvar toggleStar = function (bid) {\n return function (action) {\n var path = \"bm/\" + (Data_Show.show(Data_Show.showInt)(bid) + (\"/\" + Data_Show.show(showStar)(action)));\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore));\n };\n};\nvar fetchJson = function (dictWriteForeign) {\n return function (method) {\n return function (path) {\n return function (content) {\n return function (rt) {\n return fetchPath(method)(path)([ new Affjax_RequestHeader.ContentType(Data_MediaType_Common.applicationJSON) ])(Data_Functor.map(Data_Maybe.functorMaybe)((function () {\n var $5 = Simple_JSON.writeJSON(dictWriteForeign);\n return function ($6) {\n return Affjax_RequestBody.string($5($6));\n };\n })())(content))(rt);\n };\n };\n };\n };\n};\nvar getTagCloud = function (mode) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fetchJson(Model[\"writeForeignTagCloudMode$prime\"])(Data_HTTP_Method.POST.value)(\"api/tagcloud\")(new Data_Maybe.Just(mode))(Affjax_ResponseFormat.json))(function (eres) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bind(Data_Maybe.bindMaybe)(Data_Either.hush(eres))(function (res) {\n return Data_Either.hush(Data_Argonaut_Decode_Class.decodeJson(Data_Argonaut_Decode_Class.decodeForeignObject(Data_Argonaut_Decode_Class.decodeJsonInt))(res.body));\n }));\n });\n};\nvar lookupTitle = function (bm) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fetchJson(Model[\"writeForeignBookmark$prime\"])(Data_HTTP_Method.POST.value)(\"api/lookuptitle\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.string))(function (eres) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bind(Data_Maybe.bindMaybe)(Data_Either.hush(eres))(function (res) {\n var $4 = Data_Eq.eq(Affjax_StatusCode.eqStatusCode)(res.status)(200);\n if ($4) {\n return new Data_Maybe.Just(res.body);\n };\n return Data_Maybe.Nothing.value;\n }));\n });\n};\nvar updateTagCloudMode = function (mode) {\n return fetchJson(Model[\"writeForeignTagCloudMode$prime\"])(Data_HTTP_Method.POST.value)(\"api/tagcloudmode\")(new Data_Maybe.Just(mode))(Affjax_ResponseFormat.ignore);\n};\nvar editNote = function (bm) {\n return fetchJson(Model[\"writeForeignNote$prime\"])(Data_HTTP_Method.POST.value)(\"api/note/add\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.string);\n};\nvar editBookmark = function (bm) {\n return fetchJson(Model[\"writeForeignBookmark$prime\"])(Data_HTTP_Method.POST.value)(\"api/add\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.string);\n};\nvar editAccountSettings = function (us) {\n return fetchJson(Model.writeForeignAccountSettin)(Data_HTTP_Method.POST.value)(\"api/accountSettings\")(new Data_Maybe.Just(us))(Affjax_ResponseFormat.ignore);\n};\nvar destroyNote = function (nid) {\n return fetchUrlEnc(Data_HTTP_Method.DELETE.value)(\"api/note/\" + Data_Show.show(Data_Show.showInt)(nid))(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n};\nvar destroy = function (bid) {\n return fetchUrlEnc(Data_HTTP_Method.DELETE.value)(\"bm/\" + Data_Show.show(Data_Show.showInt)(bid))(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n};\nexport {\n Star,\n UnStar,\n toggleStar,\n destroy,\n markRead,\n editBookmark,\n editNote,\n lookupTitle,\n getTagCloud,\n updateTagCloudMode,\n destroyNote,\n editAccountSettings,\n logout,\n fetchJson,\n fetchUrlEnc,\n fetchPath,\n fetchUrl,\n showStar\n};\n", "// Generated by purs version 0.15.2\nimport * as Data_Ordering from \"../Data.Ordering/index.js\";\nvar InputButton = /* #__PURE__ */ (function () {\n function InputButton() {\n\n };\n InputButton.value = new InputButton();\n return InputButton;\n})();\nvar InputCheckbox = /* #__PURE__ */ (function () {\n function InputCheckbox() {\n\n };\n InputCheckbox.value = new InputCheckbox();\n return InputCheckbox;\n})();\nvar InputColor = /* #__PURE__ */ (function () {\n function InputColor() {\n\n };\n InputColor.value = new InputColor();\n return InputColor;\n})();\nvar InputDate = /* #__PURE__ */ (function () {\n function InputDate() {\n\n };\n InputDate.value = new InputDate();\n return InputDate;\n})();\nvar InputDatetimeLocal = /* #__PURE__ */ (function () {\n function InputDatetimeLocal() {\n\n };\n InputDatetimeLocal.value = new InputDatetimeLocal();\n return InputDatetimeLocal;\n})();\nvar InputEmail = /* #__PURE__ */ (function () {\n function InputEmail() {\n\n };\n InputEmail.value = new InputEmail();\n return InputEmail;\n})();\nvar InputFile = /* #__PURE__ */ (function () {\n function InputFile() {\n\n };\n InputFile.value = new InputFile();\n return InputFile;\n})();\nvar InputHidden = /* #__PURE__ */ (function () {\n function InputHidden() {\n\n };\n InputHidden.value = new InputHidden();\n return InputHidden;\n})();\nvar InputImage = /* #__PURE__ */ (function () {\n function InputImage() {\n\n };\n InputImage.value = new InputImage();\n return InputImage;\n})();\nvar InputMonth = /* #__PURE__ */ (function () {\n function InputMonth() {\n\n };\n InputMonth.value = new InputMonth();\n return InputMonth;\n})();\nvar InputNumber = /* #__PURE__ */ (function () {\n function InputNumber() {\n\n };\n InputNumber.value = new InputNumber();\n return InputNumber;\n})();\nvar InputPassword = /* #__PURE__ */ (function () {\n function InputPassword() {\n\n };\n InputPassword.value = new InputPassword();\n return InputPassword;\n})();\nvar InputRadio = /* #__PURE__ */ (function () {\n function InputRadio() {\n\n };\n InputRadio.value = new InputRadio();\n return InputRadio;\n})();\nvar InputRange = /* #__PURE__ */ (function () {\n function InputRange() {\n\n };\n InputRange.value = new InputRange();\n return InputRange;\n})();\nvar InputReset = /* #__PURE__ */ (function () {\n function InputReset() {\n\n };\n InputReset.value = new InputReset();\n return InputReset;\n})();\nvar InputSearch = /* #__PURE__ */ (function () {\n function InputSearch() {\n\n };\n InputSearch.value = new InputSearch();\n return InputSearch;\n})();\nvar InputSubmit = /* #__PURE__ */ (function () {\n function InputSubmit() {\n\n };\n InputSubmit.value = new InputSubmit();\n return InputSubmit;\n})();\nvar InputTel = /* #__PURE__ */ (function () {\n function InputTel() {\n\n };\n InputTel.value = new InputTel();\n return InputTel;\n})();\nvar InputText = /* #__PURE__ */ (function () {\n function InputText() {\n\n };\n InputText.value = new InputText();\n return InputText;\n})();\nvar InputTime = /* #__PURE__ */ (function () {\n function InputTime() {\n\n };\n InputTime.value = new InputTime();\n return InputTime;\n})();\nvar InputUrl = /* #__PURE__ */ (function () {\n function InputUrl() {\n\n };\n InputUrl.value = new InputUrl();\n return InputUrl;\n})();\nvar InputWeek = /* #__PURE__ */ (function () {\n function InputWeek() {\n\n };\n InputWeek.value = new InputWeek();\n return InputWeek;\n})();\nvar renderInputType = function (v) {\n if (v instanceof InputButton) {\n return \"button\";\n };\n if (v instanceof InputCheckbox) {\n return \"checkbox\";\n };\n if (v instanceof InputColor) {\n return \"color\";\n };\n if (v instanceof InputDate) {\n return \"date\";\n };\n if (v instanceof InputDatetimeLocal) {\n return \"datetime-local\";\n };\n if (v instanceof InputEmail) {\n return \"email\";\n };\n if (v instanceof InputFile) {\n return \"file\";\n };\n if (v instanceof InputHidden) {\n return \"hidden\";\n };\n if (v instanceof InputImage) {\n return \"image\";\n };\n if (v instanceof InputMonth) {\n return \"month\";\n };\n if (v instanceof InputNumber) {\n return \"number\";\n };\n if (v instanceof InputPassword) {\n return \"password\";\n };\n if (v instanceof InputRadio) {\n return \"radio\";\n };\n if (v instanceof InputRange) {\n return \"range\";\n };\n if (v instanceof InputReset) {\n return \"reset\";\n };\n if (v instanceof InputSearch) {\n return \"search\";\n };\n if (v instanceof InputSubmit) {\n return \"submit\";\n };\n if (v instanceof InputTel) {\n return \"tel\";\n };\n if (v instanceof InputText) {\n return \"text\";\n };\n if (v instanceof InputTime) {\n return \"time\";\n };\n if (v instanceof InputUrl) {\n return \"url\";\n };\n if (v instanceof InputWeek) {\n return \"week\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.InputType (line 33, column 19 - line 55, column 22): \" + [ v.constructor.name ]);\n};\nvar eqInputType = {\n eq: function (x) {\n return function (y) {\n if (x instanceof InputButton && y instanceof InputButton) {\n return true;\n };\n if (x instanceof InputCheckbox && y instanceof InputCheckbox) {\n return true;\n };\n if (x instanceof InputColor && y instanceof InputColor) {\n return true;\n };\n if (x instanceof InputDate && y instanceof InputDate) {\n return true;\n };\n if (x instanceof InputDatetimeLocal && y instanceof InputDatetimeLocal) {\n return true;\n };\n if (x instanceof InputEmail && y instanceof InputEmail) {\n return true;\n };\n if (x instanceof InputFile && y instanceof InputFile) {\n return true;\n };\n if (x instanceof InputHidden && y instanceof InputHidden) {\n return true;\n };\n if (x instanceof InputImage && y instanceof InputImage) {\n return true;\n };\n if (x instanceof InputMonth && y instanceof InputMonth) {\n return true;\n };\n if (x instanceof InputNumber && y instanceof InputNumber) {\n return true;\n };\n if (x instanceof InputPassword && y instanceof InputPassword) {\n return true;\n };\n if (x instanceof InputRadio && y instanceof InputRadio) {\n return true;\n };\n if (x instanceof InputRange && y instanceof InputRange) {\n return true;\n };\n if (x instanceof InputReset && y instanceof InputReset) {\n return true;\n };\n if (x instanceof InputSearch && y instanceof InputSearch) {\n return true;\n };\n if (x instanceof InputSubmit && y instanceof InputSubmit) {\n return true;\n };\n if (x instanceof InputTel && y instanceof InputTel) {\n return true;\n };\n if (x instanceof InputText && y instanceof InputText) {\n return true;\n };\n if (x instanceof InputTime && y instanceof InputTime) {\n return true;\n };\n if (x instanceof InputUrl && y instanceof InputUrl) {\n return true;\n };\n if (x instanceof InputWeek && y instanceof InputWeek) {\n return true;\n };\n return false;\n };\n }\n};\nvar ordInputType = {\n compare: function (x) {\n return function (y) {\n if (x instanceof InputButton && y instanceof InputButton) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof InputButton) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof InputButton) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof InputCheckbox && y instanceof InputCheckbox) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof InputCheckbox) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof InputCheckbox) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof InputColor && y instanceof InputColor) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof InputColor) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof InputColor) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof InputDate && y instanceof InputDate) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof InputDate) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof InputDate) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof InputDatetimeLocal && y instanceof InputDatetimeLocal) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof InputDatetimeLocal) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof InputDatetimeLocal) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof InputEmail && y instanceof InputEmail) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof InputEmail) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof InputEmail) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof InputFile && y instanceof InputFile) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof InputFile) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof InputFile) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof InputHidden && y instanceof InputHidden) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof InputHidden) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof InputHidden) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof InputImage && y instanceof InputImage) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof InputImage) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof InputImage) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof InputMonth && y instanceof InputMonth) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof InputMonth) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof InputMonth) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof InputNumber && y instanceof InputNumber) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof InputNumber) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof InputNumber) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof InputPassword && y instanceof InputPassword) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof InputPassword) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof InputPassword) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof InputRadio && y instanceof InputRadio) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof InputRadio) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof InputRadio) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof InputRange && y instanceof InputRange) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof InputRange) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof InputRange) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof InputReset && y instanceof InputReset) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof InputReset) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof InputReset) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof InputSearch && y instanceof InputSearch) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof InputSearch) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof InputSearch) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof InputSubmit && y instanceof InputSubmit) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof InputSubmit) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof InputSubmit) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof InputTel && y instanceof InputTel) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof InputTel) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof InputTel) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof InputText && y instanceof InputText) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof InputText) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof InputText) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof InputTime && y instanceof InputTime) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof InputTime) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof InputTime) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof InputUrl && y instanceof InputUrl) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof InputUrl) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof InputUrl) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof InputWeek && y instanceof InputWeek) {\n return Data_Ordering.EQ.value;\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.InputType (line 0, column 0 - line 0, column 0): \" + [ x.constructor.name, y.constructor.name ]);\n };\n },\n Eq0: function () {\n return eqInputType;\n }\n};\nexport {\n InputButton,\n InputCheckbox,\n InputColor,\n InputDate,\n InputDatetimeLocal,\n InputEmail,\n InputFile,\n InputHidden,\n InputImage,\n InputMonth,\n InputNumber,\n InputPassword,\n InputRadio,\n InputRange,\n InputReset,\n InputSearch,\n InputSubmit,\n InputTel,\n InputText,\n InputTime,\n InputUrl,\n InputWeek,\n renderInputType,\n eqInputType,\n ordInputType\n};\n", "// Generated by purs version 0.15.2\nimport * as Data_Const from \"../Data.Const/index.js\";\nimport * as Data_Either from \"../Data.Either/index.js\";\nimport * as Data_Monoid from \"../Data.Monoid/index.js\";\nimport * as Data_Newtype from \"../Data.Newtype/index.js\";\nimport * as Data_Semigroup from \"../Data.Semigroup/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nvar Forget = function (x) {\n return x;\n};\nvar semigroupForget = function (dictSemigroup) {\n return Data_Semigroup.semigroupFn(dictSemigroup);\n};\nvar profunctorForget = {\n dimap: function (f) {\n return function (v) {\n return function (v1) {\n return function ($24) {\n return v1(f($24));\n };\n };\n };\n }\n};\nvar strongForget = {\n first: function (v) {\n return function ($25) {\n return v(Data_Tuple.fst($25));\n };\n },\n second: function (v) {\n return function ($26) {\n return v(Data_Tuple.snd($26));\n };\n },\n Profunctor0: function () {\n return profunctorForget;\n }\n};\nvar newtypeForget = {\n Coercible0: function () {\n return undefined;\n }\n};\nvar monoidForget = function (dictMonoid) {\n return Data_Monoid.monoidFn(dictMonoid);\n};\nvar cochoiceForget = {\n unleft: function (v) {\n return function ($27) {\n return v(Data_Either.Left.create($27));\n };\n },\n unright: function (v) {\n return function ($28) {\n return v(Data_Either.Right.create($28));\n };\n },\n Profunctor0: function () {\n return profunctorForget;\n }\n};\nvar choiceForget = function (dictMonoid) {\n return {\n left: function (v) {\n return Data_Either.either(v)(Data_Monoid.mempty(Data_Monoid.monoidFn(dictMonoid)));\n },\n right: function (v) {\n return Data_Either.either(Data_Monoid.mempty(Data_Monoid.monoidFn(dictMonoid)))(v);\n },\n Profunctor0: function () {\n return profunctorForget;\n }\n };\n};\nvar wanderForget = function (dictMonoid) {\n return {\n wander: function (f) {\n return function (v) {\n return Data_Newtype.alaF()()()()(Data_Const.Const)(f(Data_Const.applicativeConst(dictMonoid)))(v);\n };\n },\n Strong0: function () {\n return strongForget;\n },\n Choice1: function () {\n return choiceForget(dictMonoid);\n }\n };\n};\nexport {\n Forget,\n newtypeForget,\n semigroupForget,\n monoidForget,\n profunctorForget,\n choiceForget,\n strongForget,\n cochoiceForget,\n wanderForget\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Control_Semigroupoid from \"../Control.Semigroupoid/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Profunctor from \"../Data.Profunctor/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nvar strongFn = {\n first: function (a2b) {\n return function (v) {\n return new Data_Tuple.Tuple(a2b(v.value0), v.value1);\n };\n },\n second: /* #__PURE__ */ Data_Functor.map(Data_Tuple.functorTuple),\n Profunctor0: function () {\n return Data_Profunctor.profunctorFn;\n }\n};\nvar second = function (dict) {\n return dict.second;\n};\nvar first = function (dict) {\n return dict.first;\n};\nvar splitStrong = function (dictCategory) {\n return function (dictStrong) {\n return function (l) {\n return function (r) {\n return Control_Semigroupoid.composeFlipped(dictCategory.Semigroupoid0())(first(dictStrong)(l))(second(dictStrong)(r));\n };\n };\n };\n};\nvar fanout = function (dictCategory) {\n return function (dictStrong) {\n return function (l) {\n return function (r) {\n var split = Data_Profunctor.dimap(dictStrong.Profunctor0())(Control_Category.identity(Control_Category.categoryFn))(function (a) {\n return new Data_Tuple.Tuple(a, a);\n })(Control_Category.identity(dictCategory));\n return Control_Semigroupoid.composeFlipped(dictCategory.Semigroupoid0())(split)(splitStrong(dictCategory)(dictStrong)(l)(r));\n };\n };\n };\n};\nexport {\n first,\n second,\n splitStrong,\n fanout,\n strongFn\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Control_Monad_State_Class from \"../Control.Monad.State.Class/index.js\";\nimport * as Data_Lens_Types from \"../Data.Lens.Types/index.js\";\nimport * as Data_Newtype from \"../Data.Newtype/index.js\";\nimport * as Data_Profunctor_Strong from \"../Data.Profunctor.Strong/index.js\";\nvar view = function (l) {\n return Data_Newtype.unwrap()(l(Control_Category.identity(Control_Category.categoryFn)));\n};\nvar viewOn = function (s) {\n return function (l) {\n return view(l)(s);\n };\n};\nvar use = function (dictMonadState) {\n return function (p) {\n return Control_Monad_State_Class.gets(dictMonadState)(function (v) {\n return viewOn(v)(p);\n });\n };\n};\nvar to = function (f) {\n return function (p) {\n var $3 = Data_Newtype.unwrap()(p);\n return function ($4) {\n return $3(f($4));\n };\n };\n};\nvar takeBoth = function (l) {\n return function (r) {\n return to(Data_Profunctor_Strong.fanout(Control_Category.categoryFn)(Data_Profunctor_Strong.strongFn)(view(l))(view(r)));\n };\n};\nvar iview = function (l) {\n return Data_Newtype.unwrap()(l(Control_Category.identity(Control_Category.categoryFn)));\n};\nvar iuse = function (dictMonadState) {\n return function (p) {\n return Control_Monad_State_Class.gets(dictMonadState)(iview(p));\n };\n};\nvar cloneGetter = function (g) {\n return to(view(g));\n};\nexport {\n viewOn,\n view,\n to,\n takeBoth,\n use,\n iview,\n iuse,\n cloneGetter\n};\nexport {\n Indexed\n} from \"../Data.Lens.Types/index.js\";\n", "// Generated by purs version 0.15.2\nimport * as Control_Apply from \"../Control.Apply/index.js\";\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Data_Lens_Internal_Indexed from \"../Data.Lens.Internal.Indexed/index.js\";\nimport * as Data_Lens_Internal_Shop from \"../Data.Lens.Internal.Shop/index.js\";\nimport * as Data_Lens_Types from \"../Data.Lens.Types/index.js\";\nimport * as Data_Newtype from \"../Data.Newtype/index.js\";\nimport * as Data_Profunctor from \"../Data.Profunctor/index.js\";\nimport * as Data_Profunctor_Strong from \"../Data.Profunctor.Strong/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nvar withLens = function (l) {\n return function (f) {\n var v = l(new Data_Lens_Internal_Shop.Shop(Control_Category.identity(Control_Category.categoryFn), function (v1) {\n return function (b) {\n return b;\n };\n }));\n return f(v.value0)(v.value1);\n };\n};\nvar withIndexedLens = function (l) {\n return function (f) {\n var v = l(new Data_Lens_Internal_Shop.Shop(Control_Category.identity(Control_Category.categoryFn), function (v1) {\n return function (b) {\n return b;\n };\n }));\n return f(v.value0)(v.value1);\n };\n};\nvar lensStore = function (l) {\n return withLens(l)(Control_Apply.lift2(Control_Apply.applyFn)(Data_Tuple.Tuple.create));\n};\nvar lens$prime = function (to) {\n return function (dictStrong) {\n return function (pab) {\n return Data_Profunctor.dimap(dictStrong.Profunctor0())(to)(function (v) {\n return v.value1(v.value0);\n })(Data_Profunctor_Strong.first(dictStrong)(pab));\n };\n };\n};\nvar lens = function (get) {\n return function (set) {\n return function (dictStrong) {\n return lens$prime(function (s) {\n return new Data_Tuple.Tuple(get(s), function (b) {\n return set(s)(b);\n });\n })(dictStrong);\n };\n };\n};\nvar ilens$prime = function (to) {\n return function (dictStrong) {\n return function (pab) {\n return Data_Profunctor.dimap(dictStrong.Profunctor0())(to)(function (v) {\n return v.value1(v.value0);\n })(Data_Profunctor_Strong.first(dictStrong)(Data_Newtype.un()(Data_Lens_Internal_Indexed.Indexed)(pab)));\n };\n };\n};\nvar ilens = function (get) {\n return function (set) {\n return function (dictStrong) {\n return ilens$prime(function (s) {\n return new Data_Tuple.Tuple(get(s), function (b) {\n return set(s)(b);\n });\n })(dictStrong);\n };\n };\n};\nvar cloneLens = function (l) {\n return function (dictStrong) {\n return withLens(l)(function (x) {\n return function (y) {\n return function (p) {\n return lens(x)(y)(dictStrong)(p);\n };\n };\n });\n };\n};\nvar cloneIndexedLens = function (l) {\n return function (dictStrong) {\n return withIndexedLens(l)(function (x) {\n return function (y) {\n return function (p) {\n return ilens(x)(y)(dictStrong)(p);\n };\n };\n });\n };\n};\nexport {\n lens,\n lens$prime,\n withLens,\n cloneLens,\n ilens,\n ilens$prime,\n withIndexedLens,\n cloneIndexedLens,\n lensStore\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Monad_State_Class from \"../Control.Monad.State.Class/index.js\";\nimport * as Data_EuclideanRing from \"../Data.EuclideanRing/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_HeytingAlgebra from \"../Data.HeytingAlgebra/index.js\";\nimport * as Data_Lens_Types from \"../Data.Lens.Types/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Ring from \"../Data.Ring/index.js\";\nimport * as Data_Semigroup from \"../Data.Semigroup/index.js\";\nimport * as Data_Semiring from \"../Data.Semiring/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nvar over = function (l) {\n return l;\n};\nvar set = function (l) {\n return function (b) {\n return over(l)(Data_Function[\"const\"](b));\n };\n};\nvar setJust = function (p) {\n var $24 = set(p);\n return function ($25) {\n return $24(Data_Maybe.Just.create($25));\n };\n};\nvar subOver = function (dictRing) {\n return function (p) {\n var $26 = over(p);\n var $27 = Data_Function.flip(Data_Ring.sub(dictRing));\n return function ($28) {\n return $26($27($28));\n };\n };\n};\nvar mulOver = function (dictSemiring) {\n return function (p) {\n var $29 = over(p);\n var $30 = Data_Function.flip(Data_Semiring.mul(dictSemiring));\n return function ($31) {\n return $29($30($31));\n };\n };\n};\nvar modifying = function (dictMonadState) {\n return function (p) {\n return function (f) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(over(p)(f)));\n };\n };\n};\nvar mulModifying = function (dictMonadState) {\n return function (dictSemiring) {\n return function (p) {\n var $32 = modifying(dictMonadState)(p);\n var $33 = Data_Function.flip(Data_Semiring.mul(dictSemiring));\n return function ($34) {\n return $32($33($34));\n };\n };\n };\n};\nvar subModifying = function (dictMonadState) {\n return function (dictRing) {\n return function (p) {\n var $35 = modifying(dictMonadState)(p);\n var $36 = Data_Function.flip(Data_Ring.sub(dictRing));\n return function ($37) {\n return $35($36($37));\n };\n };\n };\n};\nvar iover = function (l) {\n return function (f) {\n return l(Data_Tuple.uncurry(f));\n };\n};\nvar divOver = function (dictEuclideanRing) {\n return function (p) {\n var $38 = over(p);\n var $39 = Data_Function.flip(Data_EuclideanRing.div(dictEuclideanRing));\n return function ($40) {\n return $38($39($40));\n };\n };\n};\nvar divModifying = function (dictMonadState) {\n return function (dictEuclideanRing) {\n return function (p) {\n var $41 = modifying(dictMonadState)(p);\n var $42 = Data_Function.flip(Data_EuclideanRing.div(dictEuclideanRing));\n return function ($43) {\n return $41($42($43));\n };\n };\n };\n};\nvar disjOver = function (dictHeytingAlgebra) {\n return function (p) {\n var $44 = over(p);\n var $45 = Data_Function.flip(Data_HeytingAlgebra.disj(dictHeytingAlgebra));\n return function ($46) {\n return $44($45($46));\n };\n };\n};\nvar disjModifying = function (dictMonadState) {\n return function (dictHeytingAlgebra) {\n return function (p) {\n var $47 = modifying(dictMonadState)(p);\n var $48 = Data_Function.flip(Data_HeytingAlgebra.disj(dictHeytingAlgebra));\n return function ($49) {\n return $47($48($49));\n };\n };\n };\n};\nvar conjOver = function (dictHeytingAlgebra) {\n return function (p) {\n var $50 = over(p);\n var $51 = Data_Function.flip(Data_HeytingAlgebra.conj(dictHeytingAlgebra));\n return function ($52) {\n return $50($51($52));\n };\n };\n};\nvar conjModifying = function (dictMonadState) {\n return function (dictHeytingAlgebra) {\n return function (p) {\n var $53 = modifying(dictMonadState)(p);\n var $54 = Data_Function.flip(Data_HeytingAlgebra.conj(dictHeytingAlgebra));\n return function ($55) {\n return $53($54($55));\n };\n };\n };\n};\nvar assign = function (dictMonadState) {\n return function (p) {\n return function (b) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(set(p)(b)));\n };\n };\n};\nvar assignJust = function (dictMonadState) {\n return function (p) {\n var $56 = assign(dictMonadState)(p);\n return function ($57) {\n return $56(Data_Maybe.Just.create($57));\n };\n };\n};\nvar appendOver = function (dictSemigroup) {\n return function (p) {\n var $58 = over(p);\n var $59 = Data_Function.flip(Data_Semigroup.append(dictSemigroup));\n return function ($60) {\n return $58($59($60));\n };\n };\n};\nvar appendModifying = function (dictMonadState) {\n return function (dictSemigroup) {\n return function (p) {\n var $61 = modifying(dictMonadState)(p);\n var $62 = Data_Function.flip(Data_Semigroup.append(dictSemigroup));\n return function ($63) {\n return $61($62($63));\n };\n };\n };\n};\nvar addOver = function (dictSemiring) {\n return function (p) {\n var $64 = over(p);\n var $65 = Data_Semiring.add(dictSemiring);\n return function ($66) {\n return $64($65($66));\n };\n };\n};\nvar addModifying = function (dictMonadState) {\n return function (dictSemiring) {\n return function (p) {\n var $67 = modifying(dictMonadState)(p);\n var $68 = Data_Semiring.add(dictSemiring);\n return function ($69) {\n return $67($68($69));\n };\n };\n };\n};\nexport {\n over,\n iover,\n set,\n addOver,\n subOver,\n mulOver,\n divOver,\n disjOver,\n conjOver,\n appendOver,\n setJust,\n assign,\n modifying,\n addModifying,\n mulModifying,\n subModifying,\n divModifying,\n disjModifying,\n conjModifying,\n appendModifying,\n assignJust\n};\nexport {\n Indexed\n} from \"../Data.Lens.Types/index.js\";\n", "// Generated by purs version 0.15.2\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Control_Monad_Cont_Trans from \"../Control.Monad.Cont.Trans/index.js\";\nimport * as Control_Monad_Except_Trans from \"../Control.Monad.Except.Trans/index.js\";\nimport * as Control_Monad_List_Trans from \"../Control.Monad.List.Trans/index.js\";\nimport * as Control_Monad_Maybe_Trans from \"../Control.Monad.Maybe.Trans/index.js\";\nimport * as Control_Monad_RWS_Trans from \"../Control.Monad.RWS.Trans/index.js\";\nimport * as Control_Monad_Reader_Trans from \"../Control.Monad.Reader.Trans/index.js\";\nimport * as Control_Monad_State_Trans from \"../Control.Monad.State.Trans/index.js\";\nimport * as Control_Monad_Trans_Class from \"../Control.Monad.Trans.Class/index.js\";\nimport * as Control_Monad_Writer_Trans from \"../Control.Monad.Writer.Trans/index.js\";\nimport * as Effect_Aff from \"../Effect.Aff/index.js\";\nvar monadAffAff = {\n liftAff: /* #__PURE__ */ Control_Category.identity(Control_Category.categoryFn),\n MonadEffect0: function () {\n return Effect_Aff.monadEffectAff;\n }\n};\nvar liftAff = function (dict) {\n return dict.liftAff;\n};\nvar monadAffContT = function (dictMonadAff) {\n return {\n liftAff: (function () {\n var $11 = Control_Monad_Trans_Class.lift(Control_Monad_Cont_Trans.monadTransContT)((dictMonadAff.MonadEffect0()).Monad0());\n var $12 = liftAff(dictMonadAff);\n return function ($13) {\n return $11($12($13));\n };\n })(),\n MonadEffect0: function () {\n return Control_Monad_Cont_Trans.monadEffectContT(dictMonadAff.MonadEffect0());\n }\n };\n};\nvar monadAffExceptT = function (dictMonadAff) {\n return {\n liftAff: (function () {\n var $14 = Control_Monad_Trans_Class.lift(Control_Monad_Except_Trans.monadTransExceptT)((dictMonadAff.MonadEffect0()).Monad0());\n var $15 = liftAff(dictMonadAff);\n return function ($16) {\n return $14($15($16));\n };\n })(),\n MonadEffect0: function () {\n return Control_Monad_Except_Trans.monadEffectExceptT(dictMonadAff.MonadEffect0());\n }\n };\n};\nvar monadAffListT = function (dictMonadAff) {\n return {\n liftAff: (function () {\n var $17 = Control_Monad_Trans_Class.lift(Control_Monad_List_Trans.monadTransListT)((dictMonadAff.MonadEffect0()).Monad0());\n var $18 = liftAff(dictMonadAff);\n return function ($19) {\n return $17($18($19));\n };\n })(),\n MonadEffect0: function () {\n return Control_Monad_List_Trans.monadEffectListT(dictMonadAff.MonadEffect0());\n }\n };\n};\nvar monadAffMaybe = function (dictMonadAff) {\n return {\n liftAff: (function () {\n var $20 = Control_Monad_Trans_Class.lift(Control_Monad_Maybe_Trans.monadTransMaybeT)((dictMonadAff.MonadEffect0()).Monad0());\n var $21 = liftAff(dictMonadAff);\n return function ($22) {\n return $20($21($22));\n };\n })(),\n MonadEffect0: function () {\n return Control_Monad_Maybe_Trans.monadEffectMaybe(dictMonadAff.MonadEffect0());\n }\n };\n};\nvar monadAffRWS = function (dictMonadAff) {\n return function (dictMonoid) {\n return {\n liftAff: (function () {\n var $23 = Control_Monad_Trans_Class.lift(Control_Monad_RWS_Trans.monadTransRWST(dictMonoid))((dictMonadAff.MonadEffect0()).Monad0());\n var $24 = liftAff(dictMonadAff);\n return function ($25) {\n return $23($24($25));\n };\n })(),\n MonadEffect0: function () {\n return Control_Monad_RWS_Trans.monadEffectRWS(dictMonoid)(dictMonadAff.MonadEffect0());\n }\n };\n };\n};\nvar monadAffReader = function (dictMonadAff) {\n return {\n liftAff: (function () {\n var $26 = Control_Monad_Trans_Class.lift(Control_Monad_Reader_Trans.monadTransReaderT)((dictMonadAff.MonadEffect0()).Monad0());\n var $27 = liftAff(dictMonadAff);\n return function ($28) {\n return $26($27($28));\n };\n })(),\n MonadEffect0: function () {\n return Control_Monad_Reader_Trans.monadEffectReader(dictMonadAff.MonadEffect0());\n }\n };\n};\nvar monadAffState = function (dictMonadAff) {\n return {\n liftAff: (function () {\n var $29 = Control_Monad_Trans_Class.lift(Control_Monad_State_Trans.monadTransStateT)((dictMonadAff.MonadEffect0()).Monad0());\n var $30 = liftAff(dictMonadAff);\n return function ($31) {\n return $29($30($31));\n };\n })(),\n MonadEffect0: function () {\n return Control_Monad_State_Trans.monadEffectState(dictMonadAff.MonadEffect0());\n }\n };\n};\nvar monadAffWriter = function (dictMonadAff) {\n return function (dictMonoid) {\n return {\n liftAff: (function () {\n var $32 = Control_Monad_Trans_Class.lift(Control_Monad_Writer_Trans.monadTransWriterT(dictMonoid))((dictMonadAff.MonadEffect0()).Monad0());\n var $33 = liftAff(dictMonadAff);\n return function ($34) {\n return $32($33($34));\n };\n })(),\n MonadEffect0: function () {\n return Control_Monad_Writer_Trans.monadEffectWriter(dictMonoid)(dictMonadAff.MonadEffect0());\n }\n };\n };\n};\nexport {\n liftAff,\n monadAffAff,\n monadAffContT,\n monadAffExceptT,\n monadAffListT,\n monadAffMaybe,\n monadAffReader,\n monadAffRWS,\n monadAffState,\n monadAffWriter\n};\n", "// Generated by purs version 0.15.2\nimport * as Unsafe_Coerce from \"../Unsafe.Coerce/index.js\";\nvar runExists = Unsafe_Coerce.unsafeCoerce;\nvar mkExists = Unsafe_Coerce.unsafeCoerce;\nexport {\n mkExists,\n runExists\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Alt from \"../Control.Alt/index.js\";\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Apply from \"../Control.Apply/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Control_Comonad from \"../Control.Comonad/index.js\";\nimport * as Control_Extend from \"../Control.Extend/index.js\";\nimport * as Control_Plus from \"../Control.Plus/index.js\";\nimport * as Data_Distributive from \"../Data.Distributive/index.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Exists from \"../Data.Exists/index.js\";\nimport * as Data_Foldable from \"../Data.Foldable/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Functor_Invariant from \"../Data.Functor.Invariant/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Semigroup_Foldable from \"../Data.Semigroup.Foldable/index.js\";\nimport * as Data_Semigroup_Traversable from \"../Data.Semigroup.Traversable/index.js\";\nimport * as Data_Traversable from \"../Data.Traversable/index.js\";\nvar CoyonedaF = /* #__PURE__ */ (function () {\n function CoyonedaF(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CoyonedaF.create = function (value0) {\n return function (value1) {\n return new CoyonedaF(value0, value1);\n };\n };\n return CoyonedaF;\n})();\nvar Coyoneda = function (x) {\n return x;\n};\nvar unCoyoneda = function (f) {\n return function (v) {\n return Data_Exists.runExists(function (v1) {\n return f(v1.value0)(v1.value1);\n })(v);\n };\n};\nvar lowerCoyoneda = function (dictFunctor) {\n return unCoyoneda(Data_Functor.map(dictFunctor));\n};\nvar foldableCoyoneda = function (dictFoldable) {\n return {\n foldr: function (f) {\n return function (z) {\n return unCoyoneda(function (k) {\n return Data_Foldable.foldr(dictFoldable)(function ($78) {\n return f(k($78));\n })(z);\n });\n };\n },\n foldl: function (f) {\n return function (z) {\n return unCoyoneda(function (k) {\n return Data_Foldable.foldl(dictFoldable)(function (x) {\n var $79 = f(x);\n return function ($80) {\n return $79(k($80));\n };\n })(z);\n });\n };\n },\n foldMap: function (dictMonoid) {\n return function (f) {\n return unCoyoneda(function (k) {\n return Data_Foldable.foldMap(dictFoldable)(dictMonoid)(function ($81) {\n return f(k($81));\n });\n });\n };\n }\n };\n};\nvar foldable1Coyoneda = function (dictFoldable1) {\n return {\n foldMap1: function (dictSemigroup) {\n return function (f) {\n return unCoyoneda(function (k) {\n return Data_Semigroup_Foldable.foldMap1(dictFoldable1)(dictSemigroup)(function ($82) {\n return f(k($82));\n });\n });\n };\n },\n foldr1: Data_Semigroup_Foldable.foldr1Default(foldable1Coyoneda(dictFoldable1)),\n foldl1: Data_Semigroup_Foldable.foldl1Default(foldable1Coyoneda(dictFoldable1)),\n Foldable0: function () {\n return foldableCoyoneda(dictFoldable1.Foldable0());\n }\n };\n};\nvar eqCoyoneda = function (dictFunctor) {\n return function (dictEq1) {\n return function (dictEq) {\n return {\n eq: function (x) {\n return function (y) {\n return Data_Eq.eq1(dictEq1)(dictEq)(lowerCoyoneda(dictFunctor)(x))(lowerCoyoneda(dictFunctor)(y));\n };\n }\n };\n };\n };\n};\nvar ordCoyoneda = function (dictFunctor) {\n return function (dictOrd1) {\n return function (dictOrd) {\n return {\n compare: function (x) {\n return function (y) {\n return Data_Ord.compare1(dictOrd1)(dictOrd)(lowerCoyoneda(dictFunctor)(x))(lowerCoyoneda(dictFunctor)(y));\n };\n },\n Eq0: function () {\n return eqCoyoneda(dictFunctor)(dictOrd1.Eq10())(dictOrd.Eq0());\n }\n };\n };\n };\n};\nvar eq1Coyoneda = function (dictFunctor) {\n return function (dictEq1) {\n return {\n eq1: function (dictEq) {\n return Data_Eq.eq(eqCoyoneda(dictFunctor)(dictEq1)(dictEq));\n }\n };\n };\n};\nvar ord1Coyoneda = function (dictFunctor) {\n return function (dictOrd1) {\n return {\n compare1: function (dictOrd) {\n return Data_Ord.compare(ordCoyoneda(dictFunctor)(dictOrd1)(dictOrd));\n },\n Eq10: function () {\n return eq1Coyoneda(dictFunctor)(dictOrd1.Eq10());\n }\n };\n };\n};\nvar coyoneda = function (k) {\n return function (fi) {\n return Data_Exists.mkExists(new CoyonedaF(k, fi));\n };\n};\nvar functorCoyoneda = {\n map: function (f) {\n return function (v) {\n return Data_Exists.runExists(function (v1) {\n return coyoneda(function ($83) {\n return f(v1.value0($83));\n })(v1.value1);\n })(v);\n };\n }\n};\nvar invatiantCoyoneda = {\n imap: /* #__PURE__ */ Data_Functor_Invariant.imapF(functorCoyoneda)\n};\nvar hoistCoyoneda = function (nat) {\n return function (v) {\n return Data_Exists.runExists(function (v1) {\n return coyoneda(v1.value0)(nat(v1.value1));\n })(v);\n };\n};\nvar liftCoyoneda = /* #__PURE__ */ coyoneda(/* #__PURE__ */ Control_Category.identity(Control_Category.categoryFn));\nvar distributiveCoyoneda = function (dictDistributive) {\n return {\n collect: function (dictFunctor) {\n return function (f) {\n var $84 = Data_Distributive.collect(dictDistributive)(dictFunctor)((function () {\n var $86 = lowerCoyoneda(dictDistributive.Functor0());\n return function ($87) {\n return $86(f($87));\n };\n })());\n return function ($85) {\n return liftCoyoneda($84($85));\n };\n };\n },\n distribute: function (dictFunctor) {\n var $88 = Data_Distributive.collect(dictDistributive)(dictFunctor)(lowerCoyoneda(dictDistributive.Functor0()));\n return function ($89) {\n return liftCoyoneda($88($89));\n };\n },\n Functor0: function () {\n return functorCoyoneda;\n }\n };\n};\nvar extendCoyoneda = function (dictExtend) {\n return {\n extend: function (f) {\n return function (v) {\n return Data_Exists.runExists(function (v1) {\n return liftCoyoneda(Control_Extend.extend(dictExtend)((function () {\n var $90 = coyoneda(v1.value0);\n return function ($91) {\n return f($90($91));\n };\n })())(v1.value1));\n })(v);\n };\n },\n Functor0: function () {\n return functorCoyoneda;\n }\n };\n};\nvar monadTransCoyoneda = {\n lift: function (dictMonad) {\n return liftCoyoneda;\n }\n};\nvar traversableCoyoneda = function (dictTraversable) {\n return {\n traverse: function (dictApplicative) {\n return function (f) {\n return unCoyoneda(function (k) {\n var $92 = Data_Functor.map((dictApplicative.Apply0()).Functor0())(liftCoyoneda);\n var $93 = Data_Traversable.traverse(dictTraversable)(dictApplicative)(function ($95) {\n return f(k($95));\n });\n return function ($94) {\n return $92($93($94));\n };\n });\n };\n },\n sequence: function (dictApplicative) {\n return unCoyoneda(function (k) {\n var $96 = Data_Functor.map((dictApplicative.Apply0()).Functor0())(liftCoyoneda);\n var $97 = Data_Traversable.traverse(dictTraversable)(dictApplicative)(k);\n return function ($98) {\n return $96($97($98));\n };\n });\n },\n Functor0: function () {\n return functorCoyoneda;\n },\n Foldable1: function () {\n return foldableCoyoneda(dictTraversable.Foldable1());\n }\n };\n};\nvar traversable1Coyoneda = function (dictTraversable1) {\n return {\n traverse1: function (dictApply) {\n return function (f) {\n return unCoyoneda(function (k) {\n var $99 = Data_Functor.map(dictApply.Functor0())(liftCoyoneda);\n var $100 = Data_Semigroup_Traversable.traverse1(dictTraversable1)(dictApply)(function ($102) {\n return f(k($102));\n });\n return function ($101) {\n return $99($100($101));\n };\n });\n };\n },\n sequence1: function (dictApply) {\n return unCoyoneda(function (k) {\n var $103 = Data_Functor.map(dictApply.Functor0())(liftCoyoneda);\n var $104 = Data_Semigroup_Traversable.sequence1(dictTraversable1)(dictApply);\n var $105 = Data_Functor.map((dictTraversable1.Traversable1()).Functor0())(k);\n return function ($106) {\n return $103($104($105($106)));\n };\n });\n },\n Foldable10: function () {\n return foldable1Coyoneda(dictTraversable1.Foldable10());\n },\n Traversable1: function () {\n return traversableCoyoneda(dictTraversable1.Traversable1());\n }\n };\n};\nvar comonadCoyoneda = function (dictComonad) {\n return {\n extract: function (v) {\n return Data_Exists.runExists(function (v1) {\n return v1.value0(Control_Comonad.extract(dictComonad)(v1.value1));\n })(v);\n },\n Extend0: function () {\n return extendCoyoneda(dictComonad.Extend0());\n }\n };\n};\nvar applyCoyoneda = function (dictApply) {\n return {\n apply: function (f) {\n return function (g) {\n return liftCoyoneda(Control_Apply.apply(dictApply)(lowerCoyoneda(dictApply.Functor0())(f))(lowerCoyoneda(dictApply.Functor0())(g)));\n };\n },\n Functor0: function () {\n return functorCoyoneda;\n }\n };\n};\nvar bindCoyoneda = function (dictBind) {\n return {\n bind: function (v) {\n return function (f) {\n return liftCoyoneda(Data_Exists.runExists(function (v1) {\n return Control_Bind.bindFlipped(dictBind)((function () {\n var $107 = lowerCoyoneda((dictBind.Apply0()).Functor0());\n return function ($108) {\n return $107(f(v1.value0($108)));\n };\n })())(v1.value1);\n })(v));\n };\n },\n Apply0: function () {\n return applyCoyoneda(dictBind.Apply0());\n }\n };\n};\nvar applicativeCoyoneda = function (dictApplicative) {\n return {\n pure: (function () {\n var $109 = Control_Applicative.pure(dictApplicative);\n return function ($110) {\n return liftCoyoneda($109($110));\n };\n })(),\n Apply0: function () {\n return applyCoyoneda(dictApplicative.Apply0());\n }\n };\n};\nvar monadCoyoneda = function (dictMonad) {\n return {\n Applicative0: function () {\n return applicativeCoyoneda(dictMonad.Applicative0());\n },\n Bind1: function () {\n return bindCoyoneda(dictMonad.Bind1());\n }\n };\n};\nvar altCoyoneda = function (dictAlt) {\n return {\n alt: function (x) {\n return function (y) {\n return liftCoyoneda(Control_Alt.alt(dictAlt)(lowerCoyoneda(dictAlt.Functor0())(x))(lowerCoyoneda(dictAlt.Functor0())(y)));\n };\n },\n Functor0: function () {\n return functorCoyoneda;\n }\n };\n};\nvar plusCoyoneda = function (dictPlus) {\n return {\n empty: liftCoyoneda(Control_Plus.empty(dictPlus)),\n Alt0: function () {\n return altCoyoneda(dictPlus.Alt0());\n }\n };\n};\nvar alternativeCoyoneda = function (dictAlternative) {\n return {\n Applicative0: function () {\n return applicativeCoyoneda(dictAlternative.Applicative0());\n },\n Plus1: function () {\n return plusCoyoneda(dictAlternative.Plus1());\n }\n };\n};\nvar monadPlusCoyoneda = function (dictMonadPlus) {\n return {\n Monad0: function () {\n return monadCoyoneda(dictMonadPlus.Monad0());\n },\n Alternative1: function () {\n return alternativeCoyoneda(dictMonadPlus.Alternative1());\n }\n };\n};\nexport {\n Coyoneda,\n coyoneda,\n unCoyoneda,\n liftCoyoneda,\n lowerCoyoneda,\n hoistCoyoneda,\n eqCoyoneda,\n eq1Coyoneda,\n ordCoyoneda,\n ord1Coyoneda,\n functorCoyoneda,\n invatiantCoyoneda,\n applyCoyoneda,\n applicativeCoyoneda,\n altCoyoneda,\n plusCoyoneda,\n alternativeCoyoneda,\n bindCoyoneda,\n monadCoyoneda,\n monadTransCoyoneda,\n monadPlusCoyoneda,\n extendCoyoneda,\n comonadCoyoneda,\n foldableCoyoneda,\n traversableCoyoneda,\n foldable1Coyoneda,\n traversable1Coyoneda,\n distributiveCoyoneda\n};\n", "// Generated by purs version 0.15.2\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nvar OrdBox = /* #__PURE__ */ (function () {\n function OrdBox(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n OrdBox.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new OrdBox(value0, value1, value2);\n };\n };\n };\n return OrdBox;\n})();\nvar unOrdBox = function (v) {\n return v.value2;\n};\nvar mkOrdBox = function (dictOrd) {\n return OrdBox.create(Data_Eq.eq(dictOrd.Eq0()))(Data_Ord.compare(dictOrd));\n};\nvar eqOrdBox = {\n eq: function (v) {\n return function (v1) {\n return v.value0(v.value2)(v1.value2);\n };\n }\n};\nvar ordOrdBox = {\n compare: function (v) {\n return function (v1) {\n return v.value1(v.value2)(v1.value2);\n };\n },\n Eq0: function () {\n return eqOrdBox;\n }\n};\nexport {\n mkOrdBox,\n unOrdBox,\n eqOrdBox,\n ordOrdBox\n};\n", "// Generated by purs version 0.15.2\nimport * as Data_Boolean from \"../Data.Boolean/index.js\";\nimport * as Data_Foldable from \"../Data.Foldable/index.js\";\nimport * as Data_Map_Internal from \"../Data.Map.Internal/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Monoid_Alternate from \"../Data.Monoid.Alternate/index.js\";\nimport * as Data_Newtype from \"../Data.Newtype/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Symbol from \"../Data.Symbol/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nimport * as Halogen_Data_OrdBox from \"../Halogen.Data.OrdBox/index.js\";\nvar SlotStorage = function (x) {\n return x;\n};\nvar slots = function () {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (v) {\n var key = Data_Symbol.reflectSymbol(dictIsSymbol)(sym);\n var go = function (v1) {\n return function (val) {\n if (key === v1.value0) {\n return Data_Map_Internal.singleton(Halogen_Data_OrdBox.unOrdBox(v1.value1))(val);\n };\n if (Data_Boolean.otherwise) {\n return Data_Map_Internal.empty;\n };\n throw new Error(\"Failed pattern match at Halogen.Data.Slot (line 121, column 3 - line 123, column 38): \" + [ v1.constructor.name, val.constructor.name ]);\n };\n };\n return Data_Newtype.un()(Data_Monoid_Alternate.Alternate)(Data_Map_Internal.foldSubmap(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(Data_Monoid_Alternate.monoidAlternate(Data_Map_Internal.plusMap(dictOrd)))(Data_Maybe.Nothing.value)(Data_Maybe.Nothing.value)(go)(v));\n };\n };\n };\n };\n};\nvar pop = function () {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (v) {\n return Data_Map_Internal.pop(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(v);\n };\n };\n };\n };\n };\n};\nvar lookup = function () {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (v) {\n return Data_Map_Internal.lookup(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(v);\n };\n };\n };\n };\n };\n};\nvar insert = function () {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (val) {\n return function (v) {\n return Data_Map_Internal.insert(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(val)(v);\n };\n };\n };\n };\n };\n };\n};\nvar foreachSlot = function (dictApplicative) {\n return function (v) {\n return function (k) {\n return Data_Foldable.traverse_(dictApplicative)(Data_Map_Internal.foldableMap)(function ($33) {\n return k($33);\n })(v);\n };\n };\n};\nvar empty = Data_Map_Internal.empty;\nexport {\n empty,\n lookup,\n insert,\n pop,\n slots,\n foreachSlot\n};\n", "// Generated by purs version 0.15.2\nimport * as Data_Ordering from \"../Data.Ordering/index.js\";\nvar AutocompleteOff = /* #__PURE__ */ (function () {\n function AutocompleteOff() {\n\n };\n AutocompleteOff.value = new AutocompleteOff();\n return AutocompleteOff;\n})();\nvar AutocompleteOn = /* #__PURE__ */ (function () {\n function AutocompleteOn() {\n\n };\n AutocompleteOn.value = new AutocompleteOn();\n return AutocompleteOn;\n})();\nvar AutocompleteName = /* #__PURE__ */ (function () {\n function AutocompleteName() {\n\n };\n AutocompleteName.value = new AutocompleteName();\n return AutocompleteName;\n})();\nvar AutocompleteHonorificPrefix = /* #__PURE__ */ (function () {\n function AutocompleteHonorificPrefix() {\n\n };\n AutocompleteHonorificPrefix.value = new AutocompleteHonorificPrefix();\n return AutocompleteHonorificPrefix;\n})();\nvar AutocompleteGivenName = /* #__PURE__ */ (function () {\n function AutocompleteGivenName() {\n\n };\n AutocompleteGivenName.value = new AutocompleteGivenName();\n return AutocompleteGivenName;\n})();\nvar AutocompleteAdditionalName = /* #__PURE__ */ (function () {\n function AutocompleteAdditionalName() {\n\n };\n AutocompleteAdditionalName.value = new AutocompleteAdditionalName();\n return AutocompleteAdditionalName;\n})();\nvar AutocompleteFamilyName = /* #__PURE__ */ (function () {\n function AutocompleteFamilyName() {\n\n };\n AutocompleteFamilyName.value = new AutocompleteFamilyName();\n return AutocompleteFamilyName;\n})();\nvar AutocompleteHonorificSuffix = /* #__PURE__ */ (function () {\n function AutocompleteHonorificSuffix() {\n\n };\n AutocompleteHonorificSuffix.value = new AutocompleteHonorificSuffix();\n return AutocompleteHonorificSuffix;\n})();\nvar AutocompleteNickname = /* #__PURE__ */ (function () {\n function AutocompleteNickname() {\n\n };\n AutocompleteNickname.value = new AutocompleteNickname();\n return AutocompleteNickname;\n})();\nvar AutocompleteEmail = /* #__PURE__ */ (function () {\n function AutocompleteEmail() {\n\n };\n AutocompleteEmail.value = new AutocompleteEmail();\n return AutocompleteEmail;\n})();\nvar AutocompleteUsername = /* #__PURE__ */ (function () {\n function AutocompleteUsername() {\n\n };\n AutocompleteUsername.value = new AutocompleteUsername();\n return AutocompleteUsername;\n})();\nvar AutocompleteNewPassword = /* #__PURE__ */ (function () {\n function AutocompleteNewPassword() {\n\n };\n AutocompleteNewPassword.value = new AutocompleteNewPassword();\n return AutocompleteNewPassword;\n})();\nvar AutocompleteCurrentPassword = /* #__PURE__ */ (function () {\n function AutocompleteCurrentPassword() {\n\n };\n AutocompleteCurrentPassword.value = new AutocompleteCurrentPassword();\n return AutocompleteCurrentPassword;\n})();\nvar AutocompleteOneTimeCode = /* #__PURE__ */ (function () {\n function AutocompleteOneTimeCode() {\n\n };\n AutocompleteOneTimeCode.value = new AutocompleteOneTimeCode();\n return AutocompleteOneTimeCode;\n})();\nvar AutocompleteOrganizationTitle = /* #__PURE__ */ (function () {\n function AutocompleteOrganizationTitle() {\n\n };\n AutocompleteOrganizationTitle.value = new AutocompleteOrganizationTitle();\n return AutocompleteOrganizationTitle;\n})();\nvar AutocompleteOrganization = /* #__PURE__ */ (function () {\n function AutocompleteOrganization() {\n\n };\n AutocompleteOrganization.value = new AutocompleteOrganization();\n return AutocompleteOrganization;\n})();\nvar AutocompleteStreetAddress = /* #__PURE__ */ (function () {\n function AutocompleteStreetAddress() {\n\n };\n AutocompleteStreetAddress.value = new AutocompleteStreetAddress();\n return AutocompleteStreetAddress;\n})();\nvar AutocompleteAddressLine1 = /* #__PURE__ */ (function () {\n function AutocompleteAddressLine1() {\n\n };\n AutocompleteAddressLine1.value = new AutocompleteAddressLine1();\n return AutocompleteAddressLine1;\n})();\nvar AutocompleteAddressLine2 = /* #__PURE__ */ (function () {\n function AutocompleteAddressLine2() {\n\n };\n AutocompleteAddressLine2.value = new AutocompleteAddressLine2();\n return AutocompleteAddressLine2;\n})();\nvar AutocompleteAddressLine3 = /* #__PURE__ */ (function () {\n function AutocompleteAddressLine3() {\n\n };\n AutocompleteAddressLine3.value = new AutocompleteAddressLine3();\n return AutocompleteAddressLine3;\n})();\nvar AutocompleteAddressLevel1 = /* #__PURE__ */ (function () {\n function AutocompleteAddressLevel1() {\n\n };\n AutocompleteAddressLevel1.value = new AutocompleteAddressLevel1();\n return AutocompleteAddressLevel1;\n})();\nvar AutocompleteAddressLevel2 = /* #__PURE__ */ (function () {\n function AutocompleteAddressLevel2() {\n\n };\n AutocompleteAddressLevel2.value = new AutocompleteAddressLevel2();\n return AutocompleteAddressLevel2;\n})();\nvar AutocompleteAddressLevel3 = /* #__PURE__ */ (function () {\n function AutocompleteAddressLevel3() {\n\n };\n AutocompleteAddressLevel3.value = new AutocompleteAddressLevel3();\n return AutocompleteAddressLevel3;\n})();\nvar AutocompleteAddressLevel4 = /* #__PURE__ */ (function () {\n function AutocompleteAddressLevel4() {\n\n };\n AutocompleteAddressLevel4.value = new AutocompleteAddressLevel4();\n return AutocompleteAddressLevel4;\n})();\nvar AutocompleteCountry = /* #__PURE__ */ (function () {\n function AutocompleteCountry() {\n\n };\n AutocompleteCountry.value = new AutocompleteCountry();\n return AutocompleteCountry;\n})();\nvar AutocompleteCountryName = /* #__PURE__ */ (function () {\n function AutocompleteCountryName() {\n\n };\n AutocompleteCountryName.value = new AutocompleteCountryName();\n return AutocompleteCountryName;\n})();\nvar AutocompletePostalCode = /* #__PURE__ */ (function () {\n function AutocompletePostalCode() {\n\n };\n AutocompletePostalCode.value = new AutocompletePostalCode();\n return AutocompletePostalCode;\n})();\nvar AutocompleteCreditCardName = /* #__PURE__ */ (function () {\n function AutocompleteCreditCardName() {\n\n };\n AutocompleteCreditCardName.value = new AutocompleteCreditCardName();\n return AutocompleteCreditCardName;\n})();\nvar AutocompleteCreditCardGivenName = /* #__PURE__ */ (function () {\n function AutocompleteCreditCardGivenName() {\n\n };\n AutocompleteCreditCardGivenName.value = new AutocompleteCreditCardGivenName();\n return AutocompleteCreditCardGivenName;\n})();\nvar AutocompleteCreditCardAdditionalName = /* #__PURE__ */ (function () {\n function AutocompleteCreditCardAdditionalName() {\n\n };\n AutocompleteCreditCardAdditionalName.value = new AutocompleteCreditCardAdditionalName();\n return AutocompleteCreditCardAdditionalName;\n})();\nvar AutocompleteCreditCardFamilyName = /* #__PURE__ */ (function () {\n function AutocompleteCreditCardFamilyName() {\n\n };\n AutocompleteCreditCardFamilyName.value = new AutocompleteCreditCardFamilyName();\n return AutocompleteCreditCardFamilyName;\n})();\nvar AutocompleteCreditCardNumber = /* #__PURE__ */ (function () {\n function AutocompleteCreditCardNumber() {\n\n };\n AutocompleteCreditCardNumber.value = new AutocompleteCreditCardNumber();\n return AutocompleteCreditCardNumber;\n})();\nvar AutocompleteCreditCardExpiration = /* #__PURE__ */ (function () {\n function AutocompleteCreditCardExpiration() {\n\n };\n AutocompleteCreditCardExpiration.value = new AutocompleteCreditCardExpiration();\n return AutocompleteCreditCardExpiration;\n})();\nvar AutocompleteCreditCardExpirationMonth = /* #__PURE__ */ (function () {\n function AutocompleteCreditCardExpirationMonth() {\n\n };\n AutocompleteCreditCardExpirationMonth.value = new AutocompleteCreditCardExpirationMonth();\n return AutocompleteCreditCardExpirationMonth;\n})();\nvar AutocompleteCreditCardExpirationYear = /* #__PURE__ */ (function () {\n function AutocompleteCreditCardExpirationYear() {\n\n };\n AutocompleteCreditCardExpirationYear.value = new AutocompleteCreditCardExpirationYear();\n return AutocompleteCreditCardExpirationYear;\n})();\nvar AutocompleteCreditCardSecurityCode = /* #__PURE__ */ (function () {\n function AutocompleteCreditCardSecurityCode() {\n\n };\n AutocompleteCreditCardSecurityCode.value = new AutocompleteCreditCardSecurityCode();\n return AutocompleteCreditCardSecurityCode;\n})();\nvar AutocompleteCreditCardType = /* #__PURE__ */ (function () {\n function AutocompleteCreditCardType() {\n\n };\n AutocompleteCreditCardType.value = new AutocompleteCreditCardType();\n return AutocompleteCreditCardType;\n})();\nvar AutocompleteTransactionCurrency = /* #__PURE__ */ (function () {\n function AutocompleteTransactionCurrency() {\n\n };\n AutocompleteTransactionCurrency.value = new AutocompleteTransactionCurrency();\n return AutocompleteTransactionCurrency;\n})();\nvar AutocompleteTransactionAmount = /* #__PURE__ */ (function () {\n function AutocompleteTransactionAmount() {\n\n };\n AutocompleteTransactionAmount.value = new AutocompleteTransactionAmount();\n return AutocompleteTransactionAmount;\n})();\nvar AutocompleteLanguage = /* #__PURE__ */ (function () {\n function AutocompleteLanguage() {\n\n };\n AutocompleteLanguage.value = new AutocompleteLanguage();\n return AutocompleteLanguage;\n})();\nvar AutocompleteBirthday = /* #__PURE__ */ (function () {\n function AutocompleteBirthday() {\n\n };\n AutocompleteBirthday.value = new AutocompleteBirthday();\n return AutocompleteBirthday;\n})();\nvar AutocompleteBirthdayDay = /* #__PURE__ */ (function () {\n function AutocompleteBirthdayDay() {\n\n };\n AutocompleteBirthdayDay.value = new AutocompleteBirthdayDay();\n return AutocompleteBirthdayDay;\n})();\nvar AutocompleteBirthdayMonth = /* #__PURE__ */ (function () {\n function AutocompleteBirthdayMonth() {\n\n };\n AutocompleteBirthdayMonth.value = new AutocompleteBirthdayMonth();\n return AutocompleteBirthdayMonth;\n})();\nvar AutocompleteBirthdayYear = /* #__PURE__ */ (function () {\n function AutocompleteBirthdayYear() {\n\n };\n AutocompleteBirthdayYear.value = new AutocompleteBirthdayYear();\n return AutocompleteBirthdayYear;\n})();\nvar AutocompleteSex = /* #__PURE__ */ (function () {\n function AutocompleteSex() {\n\n };\n AutocompleteSex.value = new AutocompleteSex();\n return AutocompleteSex;\n})();\nvar AutocompleteTelephone = /* #__PURE__ */ (function () {\n function AutocompleteTelephone() {\n\n };\n AutocompleteTelephone.value = new AutocompleteTelephone();\n return AutocompleteTelephone;\n})();\nvar AutocompleteTelephoneCountryCode = /* #__PURE__ */ (function () {\n function AutocompleteTelephoneCountryCode() {\n\n };\n AutocompleteTelephoneCountryCode.value = new AutocompleteTelephoneCountryCode();\n return AutocompleteTelephoneCountryCode;\n})();\nvar AutocompleteTelephoneNational = /* #__PURE__ */ (function () {\n function AutocompleteTelephoneNational() {\n\n };\n AutocompleteTelephoneNational.value = new AutocompleteTelephoneNational();\n return AutocompleteTelephoneNational;\n})();\nvar AutocompleteTelephoneAreaCode = /* #__PURE__ */ (function () {\n function AutocompleteTelephoneAreaCode() {\n\n };\n AutocompleteTelephoneAreaCode.value = new AutocompleteTelephoneAreaCode();\n return AutocompleteTelephoneAreaCode;\n})();\nvar AutocompleteTelephoneLocal = /* #__PURE__ */ (function () {\n function AutocompleteTelephoneLocal() {\n\n };\n AutocompleteTelephoneLocal.value = new AutocompleteTelephoneLocal();\n return AutocompleteTelephoneLocal;\n})();\nvar AutocompleteTelephoneLocalPrefix = /* #__PURE__ */ (function () {\n function AutocompleteTelephoneLocalPrefix() {\n\n };\n AutocompleteTelephoneLocalPrefix.value = new AutocompleteTelephoneLocalPrefix();\n return AutocompleteTelephoneLocalPrefix;\n})();\nvar AutocompleteTelephoneLocalSuffix = /* #__PURE__ */ (function () {\n function AutocompleteTelephoneLocalSuffix() {\n\n };\n AutocompleteTelephoneLocalSuffix.value = new AutocompleteTelephoneLocalSuffix();\n return AutocompleteTelephoneLocalSuffix;\n})();\nvar AutocompleteTelephoneExtension = /* #__PURE__ */ (function () {\n function AutocompleteTelephoneExtension() {\n\n };\n AutocompleteTelephoneExtension.value = new AutocompleteTelephoneExtension();\n return AutocompleteTelephoneExtension;\n})();\nvar AutocompleteIMPP = /* #__PURE__ */ (function () {\n function AutocompleteIMPP() {\n\n };\n AutocompleteIMPP.value = new AutocompleteIMPP();\n return AutocompleteIMPP;\n})();\nvar AutocompleteURL = /* #__PURE__ */ (function () {\n function AutocompleteURL() {\n\n };\n AutocompleteURL.value = new AutocompleteURL();\n return AutocompleteURL;\n})();\nvar AutocompletePhoto = /* #__PURE__ */ (function () {\n function AutocompletePhoto() {\n\n };\n AutocompletePhoto.value = new AutocompletePhoto();\n return AutocompletePhoto;\n})();\nvar renderAutocompleteType = function (v) {\n if (v instanceof AutocompleteOff) {\n return \"off\";\n };\n if (v instanceof AutocompleteOn) {\n return \"on\";\n };\n if (v instanceof AutocompleteName) {\n return \"name\";\n };\n if (v instanceof AutocompleteHonorificPrefix) {\n return \"honorific-prefix\";\n };\n if (v instanceof AutocompleteGivenName) {\n return \"given-name\";\n };\n if (v instanceof AutocompleteAdditionalName) {\n return \"additional-name\";\n };\n if (v instanceof AutocompleteFamilyName) {\n return \"family-name\";\n };\n if (v instanceof AutocompleteHonorificSuffix) {\n return \"honorific-suffix\";\n };\n if (v instanceof AutocompleteNickname) {\n return \"nickname\";\n };\n if (v instanceof AutocompleteEmail) {\n return \"email\";\n };\n if (v instanceof AutocompleteUsername) {\n return \"username\";\n };\n if (v instanceof AutocompleteNewPassword) {\n return \"new-password\";\n };\n if (v instanceof AutocompleteCurrentPassword) {\n return \"current-password\";\n };\n if (v instanceof AutocompleteOneTimeCode) {\n return \"one-time-code\";\n };\n if (v instanceof AutocompleteOrganizationTitle) {\n return \"organization-title\";\n };\n if (v instanceof AutocompleteOrganization) {\n return \"organization\";\n };\n if (v instanceof AutocompleteStreetAddress) {\n return \"street-address\";\n };\n if (v instanceof AutocompleteAddressLine1) {\n return \"address-line1\";\n };\n if (v instanceof AutocompleteAddressLine2) {\n return \"address-line2\";\n };\n if (v instanceof AutocompleteAddressLine3) {\n return \"address-line3\";\n };\n if (v instanceof AutocompleteAddressLevel1) {\n return \"address-level1\";\n };\n if (v instanceof AutocompleteAddressLevel2) {\n return \"address-level2\";\n };\n if (v instanceof AutocompleteAddressLevel3) {\n return \"address-level3\";\n };\n if (v instanceof AutocompleteAddressLevel4) {\n return \"address-level4\";\n };\n if (v instanceof AutocompleteCountry) {\n return \"country\";\n };\n if (v instanceof AutocompleteCountryName) {\n return \"country-name\";\n };\n if (v instanceof AutocompletePostalCode) {\n return \"postal-code\";\n };\n if (v instanceof AutocompleteCreditCardName) {\n return \"cc-name\";\n };\n if (v instanceof AutocompleteCreditCardGivenName) {\n return \"cc-given-name\";\n };\n if (v instanceof AutocompleteCreditCardAdditionalName) {\n return \"cc-additional-name\";\n };\n if (v instanceof AutocompleteCreditCardFamilyName) {\n return \"cc-family-name\";\n };\n if (v instanceof AutocompleteCreditCardNumber) {\n return \"cc-number\";\n };\n if (v instanceof AutocompleteCreditCardExpiration) {\n return \"cc-exp\";\n };\n if (v instanceof AutocompleteCreditCardExpirationMonth) {\n return \"cc-exp-month\";\n };\n if (v instanceof AutocompleteCreditCardExpirationYear) {\n return \"cc-exp-year\";\n };\n if (v instanceof AutocompleteCreditCardSecurityCode) {\n return \"cc-csc\";\n };\n if (v instanceof AutocompleteCreditCardType) {\n return \"cc-type\";\n };\n if (v instanceof AutocompleteTransactionCurrency) {\n return \"transaction-currency\";\n };\n if (v instanceof AutocompleteTransactionAmount) {\n return \"transaction-amount\";\n };\n if (v instanceof AutocompleteLanguage) {\n return \"language\";\n };\n if (v instanceof AutocompleteBirthday) {\n return \"bday\";\n };\n if (v instanceof AutocompleteBirthdayDay) {\n return \"bday-day\";\n };\n if (v instanceof AutocompleteBirthdayMonth) {\n return \"bday-month\";\n };\n if (v instanceof AutocompleteBirthdayYear) {\n return \"bday-year\";\n };\n if (v instanceof AutocompleteSex) {\n return \"sex\";\n };\n if (v instanceof AutocompleteTelephone) {\n return \"tel\";\n };\n if (v instanceof AutocompleteTelephoneCountryCode) {\n return \"tel-country-code\";\n };\n if (v instanceof AutocompleteTelephoneNational) {\n return \"tel-national\";\n };\n if (v instanceof AutocompleteTelephoneAreaCode) {\n return \"telarea-code\";\n };\n if (v instanceof AutocompleteTelephoneLocal) {\n return \"tel-local\";\n };\n if (v instanceof AutocompleteTelephoneLocalPrefix) {\n return \"tel-local-prefix\";\n };\n if (v instanceof AutocompleteTelephoneLocalSuffix) {\n return \"tel-local-suffix\";\n };\n if (v instanceof AutocompleteTelephoneExtension) {\n return \"tel-extension\";\n };\n if (v instanceof AutocompleteIMPP) {\n return \"impp\";\n };\n if (v instanceof AutocompleteURL) {\n return \"url\";\n };\n if (v instanceof AutocompletePhoto) {\n return \"photo\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.AutocompleteType (line 67, column 26 - line 123, column 31): \" + [ v.constructor.name ]);\n};\nvar eqAutocompleteType = {\n eq: function (x) {\n return function (y) {\n if (x instanceof AutocompleteOff && y instanceof AutocompleteOff) {\n return true;\n };\n if (x instanceof AutocompleteOn && y instanceof AutocompleteOn) {\n return true;\n };\n if (x instanceof AutocompleteName && y instanceof AutocompleteName) {\n return true;\n };\n if (x instanceof AutocompleteHonorificPrefix && y instanceof AutocompleteHonorificPrefix) {\n return true;\n };\n if (x instanceof AutocompleteGivenName && y instanceof AutocompleteGivenName) {\n return true;\n };\n if (x instanceof AutocompleteAdditionalName && y instanceof AutocompleteAdditionalName) {\n return true;\n };\n if (x instanceof AutocompleteFamilyName && y instanceof AutocompleteFamilyName) {\n return true;\n };\n if (x instanceof AutocompleteHonorificSuffix && y instanceof AutocompleteHonorificSuffix) {\n return true;\n };\n if (x instanceof AutocompleteNickname && y instanceof AutocompleteNickname) {\n return true;\n };\n if (x instanceof AutocompleteEmail && y instanceof AutocompleteEmail) {\n return true;\n };\n if (x instanceof AutocompleteUsername && y instanceof AutocompleteUsername) {\n return true;\n };\n if (x instanceof AutocompleteNewPassword && y instanceof AutocompleteNewPassword) {\n return true;\n };\n if (x instanceof AutocompleteCurrentPassword && y instanceof AutocompleteCurrentPassword) {\n return true;\n };\n if (x instanceof AutocompleteOneTimeCode && y instanceof AutocompleteOneTimeCode) {\n return true;\n };\n if (x instanceof AutocompleteOrganizationTitle && y instanceof AutocompleteOrganizationTitle) {\n return true;\n };\n if (x instanceof AutocompleteOrganization && y instanceof AutocompleteOrganization) {\n return true;\n };\n if (x instanceof AutocompleteStreetAddress && y instanceof AutocompleteStreetAddress) {\n return true;\n };\n if (x instanceof AutocompleteAddressLine1 && y instanceof AutocompleteAddressLine1) {\n return true;\n };\n if (x instanceof AutocompleteAddressLine2 && y instanceof AutocompleteAddressLine2) {\n return true;\n };\n if (x instanceof AutocompleteAddressLine3 && y instanceof AutocompleteAddressLine3) {\n return true;\n };\n if (x instanceof AutocompleteAddressLevel1 && y instanceof AutocompleteAddressLevel1) {\n return true;\n };\n if (x instanceof AutocompleteAddressLevel2 && y instanceof AutocompleteAddressLevel2) {\n return true;\n };\n if (x instanceof AutocompleteAddressLevel3 && y instanceof AutocompleteAddressLevel3) {\n return true;\n };\n if (x instanceof AutocompleteAddressLevel4 && y instanceof AutocompleteAddressLevel4) {\n return true;\n };\n if (x instanceof AutocompleteCountry && y instanceof AutocompleteCountry) {\n return true;\n };\n if (x instanceof AutocompleteCountryName && y instanceof AutocompleteCountryName) {\n return true;\n };\n if (x instanceof AutocompletePostalCode && y instanceof AutocompletePostalCode) {\n return true;\n };\n if (x instanceof AutocompleteCreditCardName && y instanceof AutocompleteCreditCardName) {\n return true;\n };\n if (x instanceof AutocompleteCreditCardGivenName && y instanceof AutocompleteCreditCardGivenName) {\n return true;\n };\n if (x instanceof AutocompleteCreditCardAdditionalName && y instanceof AutocompleteCreditCardAdditionalName) {\n return true;\n };\n if (x instanceof AutocompleteCreditCardFamilyName && y instanceof AutocompleteCreditCardFamilyName) {\n return true;\n };\n if (x instanceof AutocompleteCreditCardNumber && y instanceof AutocompleteCreditCardNumber) {\n return true;\n };\n if (x instanceof AutocompleteCreditCardExpiration && y instanceof AutocompleteCreditCardExpiration) {\n return true;\n };\n if (x instanceof AutocompleteCreditCardExpirationMonth && y instanceof AutocompleteCreditCardExpirationMonth) {\n return true;\n };\n if (x instanceof AutocompleteCreditCardExpirationYear && y instanceof AutocompleteCreditCardExpirationYear) {\n return true;\n };\n if (x instanceof AutocompleteCreditCardSecurityCode && y instanceof AutocompleteCreditCardSecurityCode) {\n return true;\n };\n if (x instanceof AutocompleteCreditCardType && y instanceof AutocompleteCreditCardType) {\n return true;\n };\n if (x instanceof AutocompleteTransactionCurrency && y instanceof AutocompleteTransactionCurrency) {\n return true;\n };\n if (x instanceof AutocompleteTransactionAmount && y instanceof AutocompleteTransactionAmount) {\n return true;\n };\n if (x instanceof AutocompleteLanguage && y instanceof AutocompleteLanguage) {\n return true;\n };\n if (x instanceof AutocompleteBirthday && y instanceof AutocompleteBirthday) {\n return true;\n };\n if (x instanceof AutocompleteBirthdayDay && y instanceof AutocompleteBirthdayDay) {\n return true;\n };\n if (x instanceof AutocompleteBirthdayMonth && y instanceof AutocompleteBirthdayMonth) {\n return true;\n };\n if (x instanceof AutocompleteBirthdayYear && y instanceof AutocompleteBirthdayYear) {\n return true;\n };\n if (x instanceof AutocompleteSex && y instanceof AutocompleteSex) {\n return true;\n };\n if (x instanceof AutocompleteTelephone && y instanceof AutocompleteTelephone) {\n return true;\n };\n if (x instanceof AutocompleteTelephoneCountryCode && y instanceof AutocompleteTelephoneCountryCode) {\n return true;\n };\n if (x instanceof AutocompleteTelephoneNational && y instanceof AutocompleteTelephoneNational) {\n return true;\n };\n if (x instanceof AutocompleteTelephoneAreaCode && y instanceof AutocompleteTelephoneAreaCode) {\n return true;\n };\n if (x instanceof AutocompleteTelephoneLocal && y instanceof AutocompleteTelephoneLocal) {\n return true;\n };\n if (x instanceof AutocompleteTelephoneLocalPrefix && y instanceof AutocompleteTelephoneLocalPrefix) {\n return true;\n };\n if (x instanceof AutocompleteTelephoneLocalSuffix && y instanceof AutocompleteTelephoneLocalSuffix) {\n return true;\n };\n if (x instanceof AutocompleteTelephoneExtension && y instanceof AutocompleteTelephoneExtension) {\n return true;\n };\n if (x instanceof AutocompleteIMPP && y instanceof AutocompleteIMPP) {\n return true;\n };\n if (x instanceof AutocompleteURL && y instanceof AutocompleteURL) {\n return true;\n };\n if (x instanceof AutocompletePhoto && y instanceof AutocompletePhoto) {\n return true;\n };\n return false;\n };\n }\n};\nvar ordAutocompleteType = {\n compare: function (x) {\n return function (y) {\n if (x instanceof AutocompleteOff && y instanceof AutocompleteOff) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteOff) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteOff) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteOn && y instanceof AutocompleteOn) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteOn) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteOn) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteName && y instanceof AutocompleteName) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteName) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteName) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteHonorificPrefix && y instanceof AutocompleteHonorificPrefix) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteHonorificPrefix) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteHonorificPrefix) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteGivenName && y instanceof AutocompleteGivenName) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteGivenName) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteGivenName) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteAdditionalName && y instanceof AutocompleteAdditionalName) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteAdditionalName) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteAdditionalName) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteFamilyName && y instanceof AutocompleteFamilyName) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteFamilyName) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteFamilyName) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteHonorificSuffix && y instanceof AutocompleteHonorificSuffix) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteHonorificSuffix) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteHonorificSuffix) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteNickname && y instanceof AutocompleteNickname) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteNickname) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteNickname) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteEmail && y instanceof AutocompleteEmail) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteEmail) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteEmail) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteUsername && y instanceof AutocompleteUsername) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteUsername) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteUsername) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteNewPassword && y instanceof AutocompleteNewPassword) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteNewPassword) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteNewPassword) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteCurrentPassword && y instanceof AutocompleteCurrentPassword) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteCurrentPassword) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteCurrentPassword) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteOneTimeCode && y instanceof AutocompleteOneTimeCode) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteOneTimeCode) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteOneTimeCode) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteOrganizationTitle && y instanceof AutocompleteOrganizationTitle) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteOrganizationTitle) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteOrganizationTitle) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteOrganization && y instanceof AutocompleteOrganization) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteOrganization) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteOrganization) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteStreetAddress && y instanceof AutocompleteStreetAddress) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteStreetAddress) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteStreetAddress) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteAddressLine1 && y instanceof AutocompleteAddressLine1) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteAddressLine1) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteAddressLine1) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteAddressLine2 && y instanceof AutocompleteAddressLine2) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteAddressLine2) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteAddressLine2) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteAddressLine3 && y instanceof AutocompleteAddressLine3) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteAddressLine3) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteAddressLine3) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteAddressLevel1 && y instanceof AutocompleteAddressLevel1) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteAddressLevel1) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteAddressLevel1) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteAddressLevel2 && y instanceof AutocompleteAddressLevel2) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteAddressLevel2) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteAddressLevel2) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteAddressLevel3 && y instanceof AutocompleteAddressLevel3) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteAddressLevel3) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteAddressLevel3) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteAddressLevel4 && y instanceof AutocompleteAddressLevel4) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteAddressLevel4) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteAddressLevel4) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteCountry && y instanceof AutocompleteCountry) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteCountry) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteCountry) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteCountryName && y instanceof AutocompleteCountryName) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteCountryName) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteCountryName) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompletePostalCode && y instanceof AutocompletePostalCode) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompletePostalCode) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompletePostalCode) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteCreditCardName && y instanceof AutocompleteCreditCardName) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteCreditCardName) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteCreditCardName) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteCreditCardGivenName && y instanceof AutocompleteCreditCardGivenName) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteCreditCardGivenName) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteCreditCardGivenName) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteCreditCardAdditionalName && y instanceof AutocompleteCreditCardAdditionalName) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteCreditCardAdditionalName) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteCreditCardAdditionalName) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteCreditCardFamilyName && y instanceof AutocompleteCreditCardFamilyName) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteCreditCardFamilyName) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteCreditCardFamilyName) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteCreditCardNumber && y instanceof AutocompleteCreditCardNumber) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteCreditCardNumber) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteCreditCardNumber) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteCreditCardExpiration && y instanceof AutocompleteCreditCardExpiration) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteCreditCardExpiration) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteCreditCardExpiration) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteCreditCardExpirationMonth && y instanceof AutocompleteCreditCardExpirationMonth) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteCreditCardExpirationMonth) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteCreditCardExpirationMonth) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteCreditCardExpirationYear && y instanceof AutocompleteCreditCardExpirationYear) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteCreditCardExpirationYear) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteCreditCardExpirationYear) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteCreditCardSecurityCode && y instanceof AutocompleteCreditCardSecurityCode) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteCreditCardSecurityCode) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteCreditCardSecurityCode) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteCreditCardType && y instanceof AutocompleteCreditCardType) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteCreditCardType) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteCreditCardType) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteTransactionCurrency && y instanceof AutocompleteTransactionCurrency) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteTransactionCurrency) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteTransactionCurrency) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteTransactionAmount && y instanceof AutocompleteTransactionAmount) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteTransactionAmount) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteTransactionAmount) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteLanguage && y instanceof AutocompleteLanguage) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteLanguage) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteLanguage) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteBirthday && y instanceof AutocompleteBirthday) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteBirthday) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteBirthday) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteBirthdayDay && y instanceof AutocompleteBirthdayDay) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteBirthdayDay) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteBirthdayDay) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteBirthdayMonth && y instanceof AutocompleteBirthdayMonth) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteBirthdayMonth) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteBirthdayMonth) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteBirthdayYear && y instanceof AutocompleteBirthdayYear) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteBirthdayYear) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteBirthdayYear) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteSex && y instanceof AutocompleteSex) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteSex) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteSex) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteTelephone && y instanceof AutocompleteTelephone) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteTelephone) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteTelephone) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteTelephoneCountryCode && y instanceof AutocompleteTelephoneCountryCode) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteTelephoneCountryCode) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteTelephoneCountryCode) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteTelephoneNational && y instanceof AutocompleteTelephoneNational) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteTelephoneNational) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteTelephoneNational) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteTelephoneAreaCode && y instanceof AutocompleteTelephoneAreaCode) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteTelephoneAreaCode) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteTelephoneAreaCode) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteTelephoneLocal && y instanceof AutocompleteTelephoneLocal) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteTelephoneLocal) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteTelephoneLocal) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteTelephoneLocalPrefix && y instanceof AutocompleteTelephoneLocalPrefix) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteTelephoneLocalPrefix) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteTelephoneLocalPrefix) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteTelephoneLocalSuffix && y instanceof AutocompleteTelephoneLocalSuffix) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteTelephoneLocalSuffix) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteTelephoneLocalSuffix) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteTelephoneExtension && y instanceof AutocompleteTelephoneExtension) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteTelephoneExtension) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteTelephoneExtension) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteIMPP && y instanceof AutocompleteIMPP) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteIMPP) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteIMPP) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompleteURL && y instanceof AutocompleteURL) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof AutocompleteURL) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof AutocompleteURL) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof AutocompletePhoto && y instanceof AutocompletePhoto) {\n return Data_Ordering.EQ.value;\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.AutocompleteType (line 0, column 0 - line 0, column 0): \" + [ x.constructor.name, y.constructor.name ]);\n };\n },\n Eq0: function () {\n return eqAutocompleteType;\n }\n};\nexport {\n AutocompleteOff,\n AutocompleteOn,\n AutocompleteName,\n AutocompleteHonorificPrefix,\n AutocompleteGivenName,\n AutocompleteAdditionalName,\n AutocompleteFamilyName,\n AutocompleteHonorificSuffix,\n AutocompleteNickname,\n AutocompleteEmail,\n AutocompleteUsername,\n AutocompleteNewPassword,\n AutocompleteCurrentPassword,\n AutocompleteOneTimeCode,\n AutocompleteOrganizationTitle,\n AutocompleteOrganization,\n AutocompleteStreetAddress,\n AutocompleteAddressLine1,\n AutocompleteAddressLine2,\n AutocompleteAddressLine3,\n AutocompleteAddressLevel1,\n AutocompleteAddressLevel2,\n AutocompleteAddressLevel3,\n AutocompleteAddressLevel4,\n AutocompleteCountry,\n AutocompleteCountryName,\n AutocompletePostalCode,\n AutocompleteCreditCardName,\n AutocompleteCreditCardGivenName,\n AutocompleteCreditCardAdditionalName,\n AutocompleteCreditCardFamilyName,\n AutocompleteCreditCardNumber,\n AutocompleteCreditCardExpiration,\n AutocompleteCreditCardExpirationMonth,\n AutocompleteCreditCardExpirationYear,\n AutocompleteCreditCardSecurityCode,\n AutocompleteCreditCardType,\n AutocompleteTransactionCurrency,\n AutocompleteTransactionAmount,\n AutocompleteLanguage,\n AutocompleteBirthday,\n AutocompleteBirthdayDay,\n AutocompleteBirthdayMonth,\n AutocompleteBirthdayYear,\n AutocompleteSex,\n AutocompleteTelephone,\n AutocompleteTelephoneCountryCode,\n AutocompleteTelephoneNational,\n AutocompleteTelephoneAreaCode,\n AutocompleteTelephoneLocal,\n AutocompleteTelephoneLocalPrefix,\n AutocompleteTelephoneLocalSuffix,\n AutocompleteTelephoneExtension,\n AutocompleteIMPP,\n AutocompleteURL,\n AutocompletePhoto,\n renderAutocompleteType,\n eqAutocompleteType,\n ordAutocompleteType\n};\n", "// Generated by purs version 0.15.2\nimport * as Data_Ordering from \"../Data.Ordering/index.js\";\nvar ButtonButton = /* #__PURE__ */ (function () {\n function ButtonButton() {\n\n };\n ButtonButton.value = new ButtonButton();\n return ButtonButton;\n})();\nvar ButtonSubmit = /* #__PURE__ */ (function () {\n function ButtonSubmit() {\n\n };\n ButtonSubmit.value = new ButtonSubmit();\n return ButtonSubmit;\n})();\nvar ButtonReset = /* #__PURE__ */ (function () {\n function ButtonReset() {\n\n };\n ButtonReset.value = new ButtonReset();\n return ButtonReset;\n})();\nvar renderButtonType = function (v) {\n if (v instanceof ButtonButton) {\n return \"button\";\n };\n if (v instanceof ButtonSubmit) {\n return \"submit\";\n };\n if (v instanceof ButtonReset) {\n return \"reset\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.ButtonType (line 14, column 20 - line 17, column 25): \" + [ v.constructor.name ]);\n};\nvar eqButtonType = {\n eq: function (x) {\n return function (y) {\n if (x instanceof ButtonButton && y instanceof ButtonButton) {\n return true;\n };\n if (x instanceof ButtonSubmit && y instanceof ButtonSubmit) {\n return true;\n };\n if (x instanceof ButtonReset && y instanceof ButtonReset) {\n return true;\n };\n return false;\n };\n }\n};\nvar ordButtonType = {\n compare: function (x) {\n return function (y) {\n if (x instanceof ButtonButton && y instanceof ButtonButton) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof ButtonButton) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof ButtonButton) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof ButtonSubmit && y instanceof ButtonSubmit) {\n return Data_Ordering.EQ.value;\n };\n if (x instanceof ButtonSubmit) {\n return Data_Ordering.LT.value;\n };\n if (y instanceof ButtonSubmit) {\n return Data_Ordering.GT.value;\n };\n if (x instanceof ButtonReset && y instanceof ButtonReset) {\n return Data_Ordering.EQ.value;\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.ButtonType (line 0, column 0 - line 0, column 0): \" + [ x.constructor.name, y.constructor.name ]);\n };\n },\n Eq0: function () {\n return eqButtonType;\n }\n};\nexport {\n ButtonButton,\n ButtonSubmit,\n ButtonReset,\n renderButtonType,\n eqButtonType,\n ordButtonType\n};\n", "// Generated by purs version 0.15.2\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nvar RefLabel = function (x) {\n return x;\n};\nvar RefUpdate = /* #__PURE__ */ (function () {\n function RefUpdate(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n RefUpdate.create = function (value0) {\n return function (value1) {\n return new RefUpdate(value0, value1);\n };\n };\n return RefUpdate;\n})();\nvar Action = /* #__PURE__ */ (function () {\n function Action(value0) {\n this.value0 = value0;\n };\n Action.create = function (value0) {\n return new Action(value0);\n };\n return Action;\n})();\nvar ordRefLabel = Data_Ord.ordString;\nvar newtypeRefLabel = {\n Coercible0: function () {\n return undefined;\n }\n};\nvar functorInput = {\n map: function (f) {\n return function (m) {\n if (m instanceof RefUpdate) {\n return new RefUpdate(m.value0, m.value1);\n };\n if (m instanceof Action) {\n return new Action(f(m.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.Query.Input (line 0, column 0 - line 0, column 0): \" + [ m.constructor.name ]);\n };\n }\n};\nvar eqRefLabel = Data_Eq.eqString;\nexport {\n RefLabel,\n RefUpdate,\n Action,\n newtypeRefLabel,\n eqRefLabel,\n ordRefLabel,\n functorInput\n};\n", "// Generated by purs version 0.15.2\nimport * as Unsafe_Coerce from \"../Unsafe.Coerce/index.js\";\nvar Step = /* #__PURE__ */ (function () {\n function Step(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Step.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Step(value0, value1, value2, value3);\n };\n };\n };\n };\n return Step;\n})();\nvar unStep = Unsafe_Coerce.unsafeCoerce;\nvar step = function (v, a) {\n return v.value2(v.value1, a);\n};\nvar mkStep = Unsafe_Coerce.unsafeCoerce;\nvar halt = function (v) {\n return v.value3(v.value1);\n};\nvar extract = /* #__PURE__ */ unStep(function (v) {\n return v.value0;\n});\nexport {\n Step,\n mkStep,\n unStep,\n extract,\n step,\n halt\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Data_Bifunctor from \"../Data.Bifunctor/index.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nimport * as Unsafe_Coerce from \"../Unsafe.Coerce/index.js\";\nvar Namespace = function (x) {\n return x;\n};\nvar ElemName = function (x) {\n return x;\n};\nvar Text = /* #__PURE__ */ (function () {\n function Text(value0) {\n this.value0 = value0;\n };\n Text.create = function (value0) {\n return new Text(value0);\n };\n return Text;\n})();\nvar Elem = /* #__PURE__ */ (function () {\n function Elem(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Elem.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Elem(value0, value1, value2, value3);\n };\n };\n };\n };\n return Elem;\n})();\nvar Keyed = /* #__PURE__ */ (function () {\n function Keyed(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Keyed.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Keyed(value0, value1, value2, value3);\n };\n };\n };\n };\n return Keyed;\n})();\nvar Widget = /* #__PURE__ */ (function () {\n function Widget(value0) {\n this.value0 = value0;\n };\n Widget.create = function (value0) {\n return new Widget(value0);\n };\n return Widget;\n})();\nvar Grafted = /* #__PURE__ */ (function () {\n function Grafted(value0) {\n this.value0 = value0;\n };\n Grafted.create = function (value0) {\n return new Grafted(value0);\n };\n return Grafted;\n})();\nvar Graft = /* #__PURE__ */ (function () {\n function Graft(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Graft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Graft(value0, value1, value2);\n };\n };\n };\n return Graft;\n})();\nvar unGraft = function (f) {\n return function ($55) {\n return f($55);\n };\n};\nvar ordNamespace = Data_Ord.ordString;\nvar ordElemName = Data_Ord.ordString;\nvar newtypeNamespace = {\n Coercible0: function () {\n return undefined;\n }\n};\nvar newtypeElemName = {\n Coercible0: function () {\n return undefined;\n }\n};\nvar graft = Unsafe_Coerce.unsafeCoerce;\nvar functorGraft = {\n map: function (g) {\n return unGraft(function (v) {\n return graft(new Graft(v.value0, function ($56) {\n return g(v.value1($56));\n }, v.value2));\n });\n }\n};\nvar functorVDom = {\n map: function (v) {\n return function (v1) {\n if (v1 instanceof Text) {\n return new Text(v1.value0);\n };\n if (v1 instanceof Grafted) {\n return new Grafted(Data_Functor.map(functorGraft)(v)(v1.value0));\n };\n return new Grafted(graft(new Graft(Control_Category.identity(Control_Category.categoryFn), v, v1)));\n };\n }\n};\nvar eqNamespace = Data_Eq.eqString;\nvar eqElemName = Data_Eq.eqString;\nvar bifunctorGraft = {\n bimap: function (f) {\n return function (g) {\n return unGraft(function (v) {\n return graft(new Graft(function ($57) {\n return f(v.value0($57));\n }, function ($58) {\n return g(v.value1($58));\n }, v.value2));\n });\n };\n }\n};\nvar bifunctorVDom = {\n bimap: function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Text) {\n return new Text(v2.value0);\n };\n if (v2 instanceof Grafted) {\n return new Grafted(Data_Bifunctor.bimap(bifunctorGraft)(v)(v1)(v2.value0));\n };\n return new Grafted(graft(new Graft(v, v1, v2)));\n };\n };\n }\n};\nvar runGraft = /* #__PURE__ */ unGraft(function (v) {\n var go = function (v2) {\n if (v2 instanceof Text) {\n return new Text(v2.value0);\n };\n if (v2 instanceof Elem) {\n return new Elem(v2.value0, v2.value1, v.value0(v2.value2), Data_Functor.map(Data_Functor.functorArray)(go)(v2.value3));\n };\n if (v2 instanceof Keyed) {\n return new Keyed(v2.value0, v2.value1, v.value0(v2.value2), Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Data_Tuple.functorTuple)(go))(v2.value3));\n };\n if (v2 instanceof Widget) {\n return new Widget(v.value1(v2.value0));\n };\n if (v2 instanceof Grafted) {\n return new Grafted(Data_Bifunctor.bimap(bifunctorGraft)(v.value0)(v.value1)(v2.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Types (line 86, column 7 - line 86, column 27): \" + [ v2.constructor.name ]);\n };\n return go(v.value2);\n});\nvar renderWidget = function (f) {\n return function (g) {\n return function (v) {\n if (v instanceof Text) {\n return new Text(v.value0);\n };\n if (v instanceof Elem) {\n return new Elem(v.value0, v.value1, f(v.value2), Data_Functor.map(Data_Functor.functorArray)(renderWidget(f)(g))(v.value3));\n };\n if (v instanceof Keyed) {\n return new Keyed(v.value0, v.value1, f(v.value2), Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Data_Tuple.functorTuple)(renderWidget(f)(g)))(v.value3));\n };\n if (v instanceof Widget) {\n return g(v.value0);\n };\n if (v instanceof Grafted) {\n return renderWidget(f)(g)(runGraft(v.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Types (line 48, column 20 - line 53, column 48): \" + [ v.constructor.name ]);\n };\n };\n};\nexport {\n Text,\n Elem,\n Keyed,\n Widget,\n Grafted,\n renderWidget,\n Graft,\n graft,\n unGraft,\n runGraft,\n ElemName,\n Namespace,\n functorVDom,\n bifunctorVDom,\n functorGraft,\n bifunctorGraft,\n newtypeElemName,\n eqElemName,\n ordElemName,\n newtypeNamespace,\n eqNamespace,\n ordNamespace\n};\n", "\"use strict\";\n\nexport function unsafeGetAny(key, obj) {\n return obj[key];\n}\n\nexport function unsafeHasAny(key, obj) {\n return obj.hasOwnProperty(key);\n}\n\nexport function unsafeSetAny(key, val, obj) {\n obj[key] = val;\n}\n\nexport function unsafeDeleteAny(key, obj) {\n delete obj[key];\n}\n\nexport function forE(a, f) {\n var b = [];\n for (var i = 0; i < a.length; i++) {\n b.push(f(i, a[i]));\n }\n return b;\n}\n\nexport function forEachE(a, f) {\n for (var i = 0; i < a.length; i++) {\n f(a[i]);\n }\n}\n\nexport function forInE(o, f) {\n var ks = Object.keys(o);\n for (var i = 0; i < ks.length; i++) {\n var k = ks[i];\n f(k, o[k]);\n }\n}\n\nexport function replicateE(n, f) {\n for (var i = 0; i < n; i++) {\n f();\n }\n}\n\nexport function diffWithIxE(a1, a2, f1, f2, f3) {\n var a3 = [];\n var l1 = a1.length;\n var l2 = a2.length;\n var i = 0;\n while (1) {\n if (i < l1) {\n if (i < l2) {\n a3.push(f1(i, a1[i], a2[i]));\n } else {\n f2(i, a1[i]);\n }\n } else if (i < l2) {\n a3.push(f3(i, a2[i]));\n } else {\n break;\n }\n i++;\n }\n return a3;\n}\n\nexport function strMapWithIxE(as, fk, f) {\n var o = {};\n for (var i = 0; i < as.length; i++) {\n var a = as[i];\n var k = fk(a);\n o[k] = f(k, i, a);\n }\n return o;\n}\n\nexport function diffWithKeyAndIxE(o1, as, fk, f1, f2, f3) {\n var o2 = {};\n for (var i = 0; i < as.length; i++) {\n var a = as[i];\n var k = fk(a);\n if (o1.hasOwnProperty(k)) {\n o2[k] = f1(k, i, o1[k], a);\n } else {\n o2[k] = f3(k, i, a);\n }\n }\n for (var k in o1) {\n if (k in o2) {\n continue;\n }\n f2(k, o1[k]);\n }\n return o2;\n}\n\nexport function refEq(a, b) {\n return a === b;\n}\n\nexport function createTextNode(s, doc) {\n return doc.createTextNode(s);\n}\n\nexport function setTextContent(s, n) {\n n.textContent = s;\n}\n\nexport function createElement(ns, name, doc) {\n if (ns != null) {\n return doc.createElementNS(ns, name);\n } else {\n return doc.createElement(name)\n }\n}\n\nexport function insertChildIx(i, a, b) {\n var n = b.childNodes.item(i) || null;\n if (n !== a) {\n b.insertBefore(a, n);\n }\n}\n\nexport function removeChild(a, b) {\n if (b && a.parentNode === b) {\n b.removeChild(a);\n }\n}\n\nexport function parentNode(a) {\n return a.parentNode;\n}\n\nexport function setAttribute(ns, attr, val, el) {\n if (ns != null) {\n el.setAttributeNS(ns, attr, val);\n } else {\n el.setAttribute(attr, val);\n }\n}\n\nexport function removeAttribute(ns, attr, el) {\n if (ns != null) {\n el.removeAttributeNS(ns, attr);\n } else {\n el.removeAttribute(attr);\n }\n}\n\nexport function hasAttribute(ns, attr, el) {\n if (ns != null) {\n return el.hasAttributeNS(ns, attr);\n } else {\n return el.hasAttribute(attr);\n }\n}\n\nexport function addEventListener(ev, listener, el) {\n el.addEventListener(ev, listener, false);\n}\n\nexport function removeEventListener(ev, listener, el) {\n el.removeEventListener(ev, listener, false);\n}\n\nexport var jsUndefined = void 0;\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Foreign_Object_ST from \"../Foreign.Object.ST/index.js\";\nimport * as Unsafe_Coerce from \"../Unsafe.Coerce/index.js\";\nvar unsafeLookup = $foreign.unsafeGetAny;\nvar unsafeFreeze = Unsafe_Coerce.unsafeCoerce;\nvar pokeMutMap = $foreign.unsafeSetAny;\nvar newMutMap = Foreign_Object_ST[\"new\"];\nvar deleteMutMap = $foreign.unsafeDeleteAny;\nexport {\n unsafeGetAny,\n unsafeHasAny,\n unsafeSetAny,\n unsafeDeleteAny,\n forE,\n forEachE,\n forInE,\n replicateE,\n diffWithIxE,\n diffWithKeyAndIxE,\n strMapWithIxE,\n refEq,\n createTextNode,\n setTextContent,\n createElement,\n insertChildIx,\n removeChild,\n parentNode,\n setAttribute,\n removeAttribute,\n hasAttribute,\n addEventListener,\n removeEventListener,\n jsUndefined\n} from \"./foreign.js\";\nexport {\n newMutMap,\n pokeMutMap,\n deleteMutMap,\n unsafeFreeze,\n unsafeLookup\n};\n", "var getProp = function (name) {\n return function (doctype) {\n return doctype[name];\n };\n};\n\nexport const _namespaceURI = getProp(\"namespaceURI\");\nexport const _prefix = getProp(\"prefix\");\nexport const localName = getProp(\"localName\");\nexport const tagName = getProp(\"tagName\");\n\nexport function id(node) {\n return function () {\n return node.id;\n };\n}\n\nexport function setId(id) {\n return function (node) {\n return function () {\n node.id = id;\n };\n };\n}\n\nexport function className(node) {\n return function () {\n return node.className;\n };\n}\n\nexport function classList(element) {\n return function () {\n return element.classList;\n };\n}\n\nexport function setClassName(className) {\n return function (node) {\n return function () {\n node.className = className;\n };\n };\n}\n\nexport function getElementsByTagName(localName) {\n return function (doc) {\n return function () {\n return doc.getElementsByTagName(localName);\n };\n };\n}\n\nexport function _getElementsByTagNameNS(ns) {\n return function (localName) {\n return function (doc) {\n return function () {\n return doc.getElementsByTagNameNS(ns, localName);\n };\n };\n };\n}\n\nexport function getElementsByClassName(classNames) {\n return function (doc) {\n return function () {\n return doc.getElementsByClassName(classNames);\n };\n };\n}\n\nexport function setAttribute(name) {\n return function (value) {\n return function (element) {\n return function () {\n element.setAttribute(name, value);\n };\n };\n };\n}\n\nexport function _getAttribute(name) {\n return function (element) {\n return function () {\n return element.getAttribute(name);\n };\n };\n}\n\nexport function hasAttribute(name) {\n return function (element) {\n return function () {\n return element.hasAttribute(name);\n };\n };\n}\n\nexport function removeAttribute(name) {\n return function (element) {\n return function () {\n element.removeAttribute(name);\n };\n };\n}\n\nexport function matches(selector) {\n return function(element) {\n return function () {\n return element.matches(selector);\n };\n };\n}\n\nexport function _closest(selector) {\n return function(element) {\n return function () {\n return element.closest(selector);\n };\n };\n}\n\n// - CSSOM ---------------------------------------------------------------------\n\nexport function scrollTop(node) {\n return function () {\n return node.scrollTop;\n };\n}\n\nexport function setScrollTop(scrollTop) {\n return function (node) {\n return function () {\n node.scrollTop = scrollTop;\n };\n };\n}\n\nexport function scrollLeft(node) {\n return function () {\n return node.scrollLeft;\n };\n}\n\nexport function setScrollLeft(scrollLeft) {\n return function (node) {\n return function () {\n node.scrollLeft = scrollLeft;\n };\n };\n}\n\nexport function scrollWidth(el) {\n return function () {\n return el.scrollWidth;\n };\n}\n\nexport function scrollHeight(el) {\n return function () {\n return el.scrollHeight;\n };\n}\n\nexport function clientTop(el) {\n return function () {\n return el.clientTop;\n };\n}\n\nexport function clientLeft(el) {\n return function () {\n return el.clientLeft;\n };\n}\n\nexport function clientWidth(el) {\n return function () {\n return el.clientWidth;\n };\n}\n\nexport function clientHeight(el) {\n return function () {\n return el.clientHeight;\n };\n}\n\nexport function getBoundingClientRect(el) {\n return function () {\n var rect = el.getBoundingClientRect();\n return {\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n width: rect.width,\n height: rect.height,\n x: rect.x,\n y: rect.y\n };\n };\n}\n\nexport function _attachShadow(props) {\n return function (el) {\n return function() {\n return el.attachShadow(props);\n };\n };\n}\n", "var getEffProp = function (name) {\n return function (node) {\n return function () {\n return node[name];\n };\n };\n};\n\nexport const children = getEffProp(\"children\");\nexport const _firstElementChild = getEffProp(\"firstElementChild\");\nexport const _lastElementChild = getEffProp(\"lastElementChild\");\nexport const childElementCount = getEffProp(\"childElementCount\");\n\nexport function _querySelector(selector) {\n return function (node) {\n return function () {\n return node.querySelector(selector);\n };\n };\n}\n\nexport function querySelectorAll(selector) {\n return function (node) {\n return function () {\n return node.querySelectorAll(selector);\n };\n };\n}\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Nullable from \"../Data.Nullable/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Effect from \"../Effect/index.js\";\nvar QuerySelector = function (x) {\n return x;\n};\nvar querySelector = function (qs) {\n var $0 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n var $1 = $foreign[\"_querySelector\"](qs);\n return function ($2) {\n return $0($1($2));\n };\n};\nvar ordQuerySelector = Data_Ord.ordString;\nvar newtypeQuerySelector = {\n Coercible0: function () {\n return undefined;\n }\n};\nvar lastElementChild = /* #__PURE__ */ (function () {\n var $3 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($4) {\n return $3($foreign[\"_lastElementChild\"]($4));\n };\n})();\nvar firstElementChild = /* #__PURE__ */ (function () {\n var $5 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($6) {\n return $5($foreign[\"_firstElementChild\"]($6));\n };\n})();\nvar eqQuerySelector = Data_Eq.eqString;\nexport {\n children,\n childElementCount,\n querySelectorAll\n} from \"./foreign.js\";\nexport {\n firstElementChild,\n lastElementChild,\n QuerySelector,\n querySelector,\n eqQuerySelector,\n ordQuerySelector,\n newtypeQuerySelector\n};\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Nullable from \"../Data.Nullable/index.js\";\nimport * as Data_Show from \"../Data.Show/index.js\";\nimport * as Effect from \"../Effect/index.js\";\nimport * as Unsafe_Coerce from \"../Unsafe.Coerce/index.js\";\nimport * as Web_DOM_Internal_Types from \"../Web.DOM.Internal.Types/index.js\";\nimport * as Web_DOM_ParentNode from \"../Web.DOM.ParentNode/index.js\";\nimport * as Web_DOM_ShadowRoot from \"../Web.DOM.ShadowRoot/index.js\";\nimport * as Web_Internal_FFI from \"../Web.Internal.FFI/index.js\";\nvar toParentNode = Unsafe_Coerce.unsafeCoerce;\nvar toNonDocumentTypeChildNode = Unsafe_Coerce.unsafeCoerce;\nvar toNode = Unsafe_Coerce.unsafeCoerce;\nvar toEventTarget = Unsafe_Coerce.unsafeCoerce;\nvar toChildNode = Unsafe_Coerce.unsafeCoerce;\nvar prefix = function ($0) {\n return Data_Nullable.toMaybe($foreign[\"_prefix\"]($0));\n};\nvar namespaceURI = function ($1) {\n return Data_Nullable.toMaybe($foreign[\"_namespaceURI\"]($1));\n};\nvar initToProps = function (init) {\n return {\n mode: Data_Show.show(Web_DOM_ShadowRoot.showShadowRootMode)(init.mode),\n delegatesFocus: init.delegatesFocus\n };\n};\nvar getElementsByTagNameNS = function ($2) {\n return $foreign[\"_getElementsByTagNameNS\"](Data_Nullable.toNullable($2));\n};\nvar getAttribute = function (attr) {\n var $3 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n var $4 = $foreign[\"_getAttribute\"](attr);\n return function ($5) {\n return $3($4($5));\n };\n};\nvar fromParentNode = /* #__PURE__ */ Web_Internal_FFI.unsafeReadProtoTagged(\"Element\");\nvar fromNonDocumentTypeChildNode = /* #__PURE__ */ Web_Internal_FFI.unsafeReadProtoTagged(\"Element\");\nvar fromNode = /* #__PURE__ */ Web_Internal_FFI.unsafeReadProtoTagged(\"Element\");\nvar fromEventTarget = /* #__PURE__ */ Web_Internal_FFI.unsafeReadProtoTagged(\"Element\");\nvar fromChildNode = /* #__PURE__ */ Web_Internal_FFI.unsafeReadProtoTagged(\"Element\");\nvar closest = function (qs) {\n var $6 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n var $7 = $foreign[\"_closest\"](qs);\n return function ($8) {\n return $6($7($8));\n };\n};\nvar attachShadow = function ($9) {\n return $foreign[\"_attachShadow\"](initToProps($9));\n};\nexport {\n localName,\n tagName,\n id,\n setId,\n className,\n classList,\n setClassName,\n getElementsByTagName,\n getElementsByClassName,\n setAttribute,\n hasAttribute,\n removeAttribute,\n matches,\n scrollTop,\n setScrollTop,\n scrollLeft,\n setScrollLeft,\n scrollWidth,\n scrollHeight,\n clientTop,\n clientLeft,\n clientWidth,\n clientHeight,\n getBoundingClientRect\n} from \"./foreign.js\";\nexport {\n fromNode,\n fromChildNode,\n fromNonDocumentTypeChildNode,\n fromParentNode,\n fromEventTarget,\n toNode,\n toChildNode,\n toNonDocumentTypeChildNode,\n toParentNode,\n toEventTarget,\n namespaceURI,\n prefix,\n getElementsByTagNameNS,\n getAttribute,\n closest,\n attachShadow\n};\n", "// Generated by purs version 0.15.2\nimport * as Data_Array from \"../Data.Array/index.js\";\nimport * as Data_Boolean from \"../Data.Boolean/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Nullable from \"../Data.Nullable/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nimport * as Halogen_VDom_Machine from \"../Halogen.VDom.Machine/index.js\";\nimport * as Halogen_VDom_Types from \"../Halogen.VDom.Types/index.js\";\nimport * as Halogen_VDom_Util from \"../Halogen.VDom.Util/index.js\";\nimport * as Web_DOM_Element from \"../Web.DOM.Element/index.js\";\nvar $runtime_lazy = function (name, moduleName, init) {\n var state = 0;\n var val;\n return function (lineNumber) {\n if (state === 2) return val;\n if (state === 1) throw new ReferenceError(name + \" was needed before it finished initializing (module \" + moduleName + \", line \" + lineNumber + \")\", moduleName, lineNumber);\n state = 1;\n val = init();\n state = 2;\n return val;\n };\n};\nvar VDomSpec = function (x) {\n return x;\n};\nvar haltWidget = function (v) {\n return Halogen_VDom_Machine.halt(v.widget);\n};\nvar $lazy_patchWidget = /* #__PURE__ */ $runtime_lazy(\"patchWidget\", \"Halogen.VDom.DOM\", function () {\n return function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return $lazy_patchWidget(291)(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Widget) {\n var res = Halogen_VDom_Machine.step(state.widget, vdom.value0);\n var res$prime = Halogen_VDom_Machine.unStep(function (v) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(v.value0, {\n build: state.build,\n widget: res\n }, $lazy_patchWidget(296), haltWidget));\n })(res);\n return res$prime;\n };\n haltWidget(state);\n return state.build(vdom);\n };\n});\nvar patchWidget = /* #__PURE__ */ $lazy_patchWidget(286);\nvar haltText = function (v) {\n var parent = Halogen_VDom_Util.parentNode(v.node);\n return Halogen_VDom_Util.removeChild(v.node, parent);\n};\nvar $lazy_patchText = /* #__PURE__ */ $runtime_lazy(\"patchText\", \"Halogen.VDom.DOM\", function () {\n return function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return $lazy_patchText(82)(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Text) {\n if (state.value === vdom.value0) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, state, $lazy_patchText(85), haltText));\n };\n if (Data_Boolean.otherwise) {\n var nextState = {\n build: state.build,\n node: state.node,\n value: vdom.value0\n };\n Halogen_VDom_Util.setTextContent(vdom.value0, state.node);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, $lazy_patchText(89), haltText));\n };\n };\n haltText(state);\n return state.build(vdom);\n };\n});\nvar patchText = /* #__PURE__ */ $lazy_patchText(77);\nvar haltKeyed = function (v) {\n var parent = Halogen_VDom_Util.parentNode(v.node);\n Halogen_VDom_Util.removeChild(v.node, parent);\n Halogen_VDom_Util.forInE(v.children, function (v1, s) {\n return Halogen_VDom_Machine.halt(s);\n });\n return Halogen_VDom_Machine.halt(v.attrs);\n};\nvar haltElem = function (v) {\n var parent = Halogen_VDom_Util.parentNode(v.node);\n Halogen_VDom_Util.removeChild(v.node, parent);\n Halogen_VDom_Util.forEachE(v.children, Halogen_VDom_Machine.halt);\n return Halogen_VDom_Machine.halt(v.attrs);\n};\nvar eqElemSpec = function (ns1, v, ns2, v1) {\n var $58 = v === v1;\n if ($58) {\n if (ns1 instanceof Data_Maybe.Just && (ns2 instanceof Data_Maybe.Just && ns1.value0 === ns2.value0)) {\n return true;\n };\n if (ns1 instanceof Data_Maybe.Nothing && ns2 instanceof Data_Maybe.Nothing) {\n return true;\n };\n return false;\n };\n return false;\n};\nvar $lazy_patchElem = /* #__PURE__ */ $runtime_lazy(\"patchElem\", \"Halogen.VDom.DOM\", function () {\n return function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return $lazy_patchElem(135)(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Elem && eqElemSpec(state.ns, state.name, vdom.value0, vdom.value1)) {\n var v = Data_Array.length(vdom.value3);\n var v1 = Data_Array.length(state.children);\n if (v1 === 0 && v === 0) {\n var attrs2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: attrs2,\n ns: vdom.value0,\n name: vdom.value1,\n children: state.children\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, $lazy_patchElem(149), haltElem));\n };\n var onThis = function (v2, s) {\n return Halogen_VDom_Machine.halt(s);\n };\n var onThese = function (ix, s, v2) {\n var res = Halogen_VDom_Machine.step(s, v2);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), state.node);\n return res;\n };\n var onThat = function (ix, v2) {\n var res = state.build(v2);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), state.node);\n return res;\n };\n var children2 = Halogen_VDom_Util.diffWithIxE(state.children, vdom.value3, onThese, onThis, onThat);\n var attrs2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: attrs2,\n ns: vdom.value0,\n name: vdom.value1,\n children: children2\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, $lazy_patchElem(172), haltElem));\n };\n haltElem(state);\n return state.build(vdom);\n };\n});\nvar patchElem = /* #__PURE__ */ $lazy_patchElem(130);\nvar $lazy_patchKeyed = /* #__PURE__ */ $runtime_lazy(\"patchKeyed\", \"Halogen.VDom.DOM\", function () {\n return function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return $lazy_patchKeyed(222)(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Keyed && eqElemSpec(state.ns, state.name, vdom.value0, vdom.value1)) {\n var v = Data_Array.length(vdom.value3);\n if (state.length === 0 && v === 0) {\n var attrs2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: attrs2,\n ns: vdom.value0,\n name: vdom.value1,\n children: state.children,\n length: 0\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, $lazy_patchKeyed(237), haltKeyed));\n };\n var onThis = function (v2, s) {\n return Halogen_VDom_Machine.halt(s);\n };\n var onThese = function (v2, ix$prime, s, v3) {\n var res = Halogen_VDom_Machine.step(s, v3.value1);\n Halogen_VDom_Util.insertChildIx(ix$prime, Halogen_VDom_Machine.extract(res), state.node);\n return res;\n };\n var onThat = function (v2, ix, v3) {\n var res = state.build(v3.value1);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), state.node);\n return res;\n };\n var children2 = Halogen_VDom_Util.diffWithKeyAndIxE(state.children, vdom.value3, Data_Tuple.fst, onThese, onThis, onThat);\n var attrs2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: attrs2,\n ns: vdom.value0,\n name: vdom.value1,\n children: children2,\n length: v\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, $lazy_patchKeyed(261), haltKeyed));\n };\n haltKeyed(state);\n return state.build(vdom);\n };\n});\nvar patchKeyed = /* #__PURE__ */ $lazy_patchKeyed(217);\nvar buildWidget = function (v, build, w) {\n var res = v.buildWidget(v)(w);\n var res$prime = Halogen_VDom_Machine.unStep(function (v1) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(v1.value0, {\n build: build,\n widget: res\n }, patchWidget, haltWidget));\n })(res);\n return res$prime;\n};\nvar buildText = function (v, build, s) {\n var node = Halogen_VDom_Util.createTextNode(s, v.document);\n var state = {\n build: build,\n node: node,\n value: s\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, state, patchText, haltText));\n};\nvar buildKeyed = function (v, build, ns1, name1, as1, ch1) {\n var el = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(ns1), name1, v.document);\n var node = Web_DOM_Element.toNode(el);\n var onChild = function (v1, ix, v2) {\n var res = build(v2.value1);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), node);\n return res;\n };\n var children = Halogen_VDom_Util.strMapWithIxE(ch1, Data_Tuple.fst, onChild);\n var attrs = v.buildAttributes(el)(as1);\n var state = {\n build: build,\n node: node,\n attrs: attrs,\n ns: ns1,\n name: name1,\n children: children,\n length: Data_Array.length(ch1)\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, state, patchKeyed, haltKeyed));\n};\nvar buildElem = function (v, build, ns1, name1, as1, ch1) {\n var el = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(ns1), name1, v.document);\n var node = Web_DOM_Element.toNode(el);\n var onChild = function (ix, child) {\n var res = build(child);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), node);\n return res;\n };\n var children = Halogen_VDom_Util.forE(ch1, onChild);\n var attrs = v.buildAttributes(el)(as1);\n var state = {\n build: build,\n node: node,\n attrs: attrs,\n ns: ns1,\n name: name1,\n children: children\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, state, patchElem, haltElem));\n};\nvar buildVDom = function (spec) {\n var $lazy_build = $runtime_lazy(\"build\", \"Halogen.VDom.DOM\", function () {\n return function (v) {\n if (v instanceof Halogen_VDom_Types.Text) {\n return buildText(spec, $lazy_build(59), v.value0);\n };\n if (v instanceof Halogen_VDom_Types.Elem) {\n return buildElem(spec, $lazy_build(60), v.value0, v.value1, v.value2, v.value3);\n };\n if (v instanceof Halogen_VDom_Types.Keyed) {\n return buildKeyed(spec, $lazy_build(61), v.value0, v.value1, v.value2, v.value3);\n };\n if (v instanceof Halogen_VDom_Types.Widget) {\n return buildWidget(spec, $lazy_build(62), v.value0);\n };\n if (v instanceof Halogen_VDom_Types.Grafted) {\n return $lazy_build(63)(Halogen_VDom_Types.runGraft(v.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM (line 58, column 27 - line 63, column 52): \" + [ v.constructor.name ]);\n };\n });\n var build = $lazy_build(58);\n return build;\n};\nexport {\n VDomSpec,\n buildVDom,\n buildText,\n buildElem,\n buildKeyed,\n buildWidget\n};\n", "export function eventListener(fn) {\n return function () {\n return function (event) {\n return fn(event)();\n };\n };\n}\n\nexport function addEventListenerWithOptions(type) {\n return function (listener) {\n return function (options) {\n return function (target) {\n return function () {\n return target.addEventListener(type, listener, options);\n };\n };\n };\n };\n}\n\nexport function addEventListener(type) {\n return function (listener) {\n return function (useCapture) {\n return function (target) {\n return function () {\n return target.addEventListener(type, listener, useCapture);\n };\n };\n };\n };\n}\n\nexport function removeEventListener(type) {\n return function (listener) {\n return function (useCapture) {\n return function (target) {\n return function () {\n return target.removeEventListener(type, listener, useCapture);\n };\n };\n };\n };\n}\n\nexport function dispatchEvent(event) {\n return function (target) {\n return function () {\n return target.dispatchEvent(event);\n };\n };\n}\n", "// Generated by purs version 0.15.2\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Nullable from \"../Data.Nullable/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Effect_Ref from \"../Effect.Ref/index.js\";\nimport * as Foreign from \"../Foreign/index.js\";\nimport * as Foreign_Object from \"../Foreign.Object/index.js\";\nimport * as Halogen_VDom_Machine from \"../Halogen.VDom.Machine/index.js\";\nimport * as Halogen_VDom_Util from \"../Halogen.VDom.Util/index.js\";\nimport * as Unsafe_Coerce from \"../Unsafe.Coerce/index.js\";\nimport * as Web_Event_EventTarget from \"../Web.Event.EventTarget/index.js\";\nvar $runtime_lazy = function (name, moduleName, init) {\n var state = 0;\n var val;\n return function (lineNumber) {\n if (state === 2) return val;\n if (state === 1) throw new ReferenceError(name + \" was needed before it finished initializing (module \" + moduleName + \", line \" + lineNumber + \")\", moduleName, lineNumber);\n state = 1;\n val = init();\n state = 2;\n return val;\n };\n};\nvar Created = /* #__PURE__ */ (function () {\n function Created(value0) {\n this.value0 = value0;\n };\n Created.create = function (value0) {\n return new Created(value0);\n };\n return Created;\n})();\nvar Removed = /* #__PURE__ */ (function () {\n function Removed(value0) {\n this.value0 = value0;\n };\n Removed.create = function (value0) {\n return new Removed(value0);\n };\n return Removed;\n})();\nvar Attribute = /* #__PURE__ */ (function () {\n function Attribute(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Attribute.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Attribute(value0, value1, value2);\n };\n };\n };\n return Attribute;\n})();\nvar Property = /* #__PURE__ */ (function () {\n function Property(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Property.create = function (value0) {\n return function (value1) {\n return new Property(value0, value1);\n };\n };\n return Property;\n})();\nvar Handler = /* #__PURE__ */ (function () {\n function Handler(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Handler.create = function (value0) {\n return function (value1) {\n return new Handler(value0, value1);\n };\n };\n return Handler;\n})();\nvar Ref = /* #__PURE__ */ (function () {\n function Ref(value0) {\n this.value0 = value0;\n };\n Ref.create = function (value0) {\n return new Ref(value0);\n };\n return Ref;\n})();\nvar unsafeGetProperty = Halogen_VDom_Util.unsafeGetAny;\nvar setProperty = Halogen_VDom_Util.unsafeSetAny;\nvar removeProperty = function (key, el) {\n var v = Halogen_VDom_Util.hasAttribute(Data_Nullable[\"null\"], key, el);\n if (v) {\n return Halogen_VDom_Util.removeAttribute(Data_Nullable[\"null\"], key, el);\n };\n var v1 = Foreign.typeOf(Halogen_VDom_Util.unsafeGetAny(key, el));\n if (v1 === \"string\") {\n return Halogen_VDom_Util.unsafeSetAny(key, \"\", el);\n };\n if (key === \"rowSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n if (key === \"colSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n return Halogen_VDom_Util.unsafeSetAny(key, Halogen_VDom_Util.jsUndefined, el);\n};\nvar propToStrKey = function (v) {\n if (v instanceof Attribute && v.value0 instanceof Data_Maybe.Just) {\n return \"attr/\" + (v.value0.value0 + (\":\" + v.value1));\n };\n if (v instanceof Attribute) {\n return \"attr/:\" + v.value1;\n };\n if (v instanceof Property) {\n return \"prop/\" + v.value0;\n };\n if (v instanceof Handler) {\n return \"handler/\" + v.value0;\n };\n if (v instanceof Ref) {\n return \"ref\";\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 182, column 16 - line 187, column 16): \" + [ v.constructor.name ]);\n};\nvar propFromString = Unsafe_Coerce.unsafeCoerce;\nvar propFromNumber = Unsafe_Coerce.unsafeCoerce;\nvar propFromInt = Unsafe_Coerce.unsafeCoerce;\nvar propFromBoolean = Unsafe_Coerce.unsafeCoerce;\nvar functorProp = {\n map: function (v) {\n return function (v1) {\n if (v1 instanceof Handler) {\n return new Handler(v1.value0, Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(v))(v1.value1));\n };\n if (v1 instanceof Ref) {\n return new Ref(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(v))(v1.value0));\n };\n return v1;\n };\n }\n};\nvar functorElemRef = {\n map: function (f) {\n return function (v) {\n if (v instanceof Created) {\n return new Created(f(v.value0));\n };\n if (v instanceof Removed) {\n return new Removed(f(v.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 49, column 1 - line 51, column 36): \" + [ f.constructor.name, v.constructor.name ]);\n };\n }\n};\nvar buildProp = function (emit) {\n return function (el) {\n var removeProp = function (prevEvents) {\n return function (v, v1) {\n if (v1 instanceof Attribute) {\n return Halogen_VDom_Util.removeAttribute(Data_Nullable.toNullable(v1.value0), v1.value1, el);\n };\n if (v1 instanceof Property) {\n return removeProperty(v1.value0, el);\n };\n if (v1 instanceof Handler) {\n var handler = Halogen_VDom_Util.unsafeLookup(v1.value0, prevEvents);\n return Halogen_VDom_Util.removeEventListener(v1.value0, Data_Tuple.fst(handler), el);\n };\n if (v1 instanceof Ref) {\n return Data_Unit.unit;\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 169, column 5 - line 179, column 18): \" + [ v1.constructor.name ]);\n };\n };\n var mbEmit = function (v) {\n if (v instanceof Data_Maybe.Just) {\n return emit(v.value0)();\n };\n return Data_Unit.unit;\n };\n var haltProp = function (state) {\n var v = Foreign_Object.lookup(\"ref\")(state.props);\n if (v instanceof Data_Maybe.Just && v.value0 instanceof Ref) {\n return mbEmit(v.value0.value0(new Removed(el)));\n };\n return Data_Unit.unit;\n };\n var diffProp = function (prevEvents, events) {\n return function (v, v1, v11, v2) {\n if (v11 instanceof Attribute && v2 instanceof Attribute) {\n var $57 = v11.value2 === v2.value2;\n if ($57) {\n return v2;\n };\n Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);\n return v2;\n };\n if (v11 instanceof Property && v2 instanceof Property) {\n var v4 = Halogen_VDom_Util.refEq(v11.value1, v2.value1);\n if (v4) {\n return v2;\n };\n if (v2.value0 === \"value\") {\n var elVal = unsafeGetProperty(\"value\", el);\n var $66 = Halogen_VDom_Util.refEq(elVal, v2.value1);\n if ($66) {\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v11 instanceof Handler && v2 instanceof Handler) {\n var handler = Halogen_VDom_Util.unsafeLookup(v2.value0, prevEvents);\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(handler))();\n Halogen_VDom_Util.pokeMutMap(v2.value0, handler, events);\n return v2;\n };\n return v2;\n };\n };\n var applyProp = function (events) {\n return function (v, v1, v2) {\n if (v2 instanceof Attribute) {\n Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);\n return v2;\n };\n if (v2 instanceof Property) {\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v2 instanceof Handler) {\n var v3 = Halogen_VDom_Util.unsafeGetAny(v2.value0, events);\n if (Halogen_VDom_Util.unsafeHasAny(v2.value0, events)) {\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(v3))();\n return v2;\n };\n var ref = Effect_Ref[\"new\"](v2.value1)();\n var listener = Web_Event_EventTarget.eventListener(function (ev) {\n return function __do() {\n var f$prime = Effect_Ref.read(ref)();\n return mbEmit(f$prime(ev));\n };\n })();\n Halogen_VDom_Util.pokeMutMap(v2.value0, new Data_Tuple.Tuple(listener, ref), events);\n Halogen_VDom_Util.addEventListener(v2.value0, listener, el);\n return v2;\n };\n if (v2 instanceof Ref) {\n mbEmit(v2.value0(new Created(el)));\n return v2;\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 113, column 5 - line 135, column 15): \" + [ v2.constructor.name ]);\n };\n };\n var $lazy_patchProp = $runtime_lazy(\"patchProp\", \"Halogen.VDom.DOM.Prop\", function () {\n return function (state, ps2) {\n var events = Halogen_VDom_Util.newMutMap();\n var onThis = removeProp(state.events);\n var onThese = diffProp(state.events, events);\n var onThat = applyProp(events);\n var props = Halogen_VDom_Util.diffWithKeyAndIxE(state.props, ps2, propToStrKey, onThese, onThis, onThat);\n var nextState = {\n events: Halogen_VDom_Util.unsafeFreeze(events),\n props: props\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Data_Unit.unit, nextState, $lazy_patchProp(100), haltProp));\n };\n });\n var patchProp = $lazy_patchProp(87);\n var renderProp = function (ps1) {\n var events = Halogen_VDom_Util.newMutMap();\n var ps1$prime = Halogen_VDom_Util.strMapWithIxE(ps1, propToStrKey, applyProp(events));\n var state = {\n events: Halogen_VDom_Util.unsafeFreeze(events),\n props: ps1$prime\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Data_Unit.unit, state, patchProp, haltProp));\n };\n return renderProp;\n };\n};\nexport {\n Attribute,\n Property,\n Handler,\n Ref,\n Created,\n Removed,\n propFromString,\n propFromBoolean,\n propFromInt,\n propFromNumber,\n buildProp,\n functorProp,\n functorElemRef\n};\n", "// Generated by purs version 0.15.2\nimport * as DOM_HTML_Indexed_AutocompleteType from \"../DOM.HTML.Indexed.AutocompleteType/index.js\";\nimport * as DOM_HTML_Indexed_ButtonType from \"../DOM.HTML.Indexed.ButtonType/index.js\";\nimport * as DOM_HTML_Indexed_CrossOriginValue from \"../DOM.HTML.Indexed.CrossOriginValue/index.js\";\nimport * as DOM_HTML_Indexed_DirValue from \"../DOM.HTML.Indexed.DirValue/index.js\";\nimport * as DOM_HTML_Indexed_FormMethod from \"../DOM.HTML.Indexed.FormMethod/index.js\";\nimport * as DOM_HTML_Indexed_InputAcceptType from \"../DOM.HTML.Indexed.InputAcceptType/index.js\";\nimport * as DOM_HTML_Indexed_InputType from \"../DOM.HTML.Indexed.InputType/index.js\";\nimport * as DOM_HTML_Indexed_KindValue from \"../DOM.HTML.Indexed.KindValue/index.js\";\nimport * as DOM_HTML_Indexed_MenuType from \"../DOM.HTML.Indexed.MenuType/index.js\";\nimport * as DOM_HTML_Indexed_MenuitemType from \"../DOM.HTML.Indexed.MenuitemType/index.js\";\nimport * as DOM_HTML_Indexed_OrderedListType from \"../DOM.HTML.Indexed.OrderedListType/index.js\";\nimport * as DOM_HTML_Indexed_PreloadValue from \"../DOM.HTML.Indexed.PreloadValue/index.js\";\nimport * as DOM_HTML_Indexed_ScopeValue from \"../DOM.HTML.Indexed.ScopeValue/index.js\";\nimport * as DOM_HTML_Indexed_StepValue from \"../DOM.HTML.Indexed.StepValue/index.js\";\nimport * as DOM_HTML_Indexed_WrapValue from \"../DOM.HTML.Indexed.WrapValue/index.js\";\nimport * as Data_Bifunctor from \"../Data.Bifunctor/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Newtype from \"../Data.Newtype/index.js\";\nimport * as Halogen_Query_Input from \"../Halogen.Query.Input/index.js\";\nimport * as Halogen_VDom from \"../Halogen.VDom/index.js\";\nimport * as Halogen_VDom_DOM_Prop from \"../Halogen.VDom.DOM.Prop/index.js\";\nimport * as Halogen_VDom_Types from \"../Halogen.VDom.Types/index.js\";\nimport * as Web_HTML_Common from \"../Web.HTML.Common/index.js\";\nvar HTML = function (x) {\n return x;\n};\nvar widget = function ($19) {\n return HTML(Halogen_VDom_Types.Widget.create($19));\n};\nvar toPropValue = function (dict) {\n return dict.toPropValue;\n};\nvar text = function ($20) {\n return HTML(Halogen_VDom_Types.Text.create($20));\n};\nvar ref = function (f) {\n return new Halogen_VDom_DOM_Prop.Ref(function ($21) {\n return f((function (v) {\n if (v instanceof Halogen_VDom_DOM_Prop.Created) {\n return new Data_Maybe.Just(v.value0);\n };\n if (v instanceof Halogen_VDom_DOM_Prop.Removed) {\n return Data_Maybe.Nothing.value;\n };\n throw new Error(\"Failed pattern match at Halogen.HTML.Core (line 109, column 21 - line 111, column 23): \" + [ v.constructor.name ]);\n })($21));\n });\n};\nvar prop = function (dictIsProp) {\n return function (v) {\n var $22 = Halogen_VDom_DOM_Prop.Property.create(v);\n var $23 = toPropValue(dictIsProp);\n return function ($24) {\n return $22($23($24));\n };\n };\n};\nvar newtypeHTML = {\n Coercible0: function () {\n return undefined;\n }\n};\nvar renderWidget = function (f) {\n return function (g) {\n return function (v) {\n return Halogen_VDom_Types.renderWidget(Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Halogen_VDom_DOM_Prop.functorProp)(Data_Functor.map(Halogen_Query_Input.functorInput)(f))))((function () {\n var $25 = Data_Newtype.un()(HTML);\n return function ($26) {\n return $25(g($26));\n };\n })())(v);\n };\n };\n};\nvar keyed = function (ns) {\n return function (name) {\n return function (props) {\n return function (children) {\n return new Halogen_VDom_Types.Keyed(ns, name, props, children);\n };\n };\n };\n};\nvar isPropWrapValue = {\n toPropValue: function ($27) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_WrapValue.renderWrapValue($27));\n }\n};\nvar isPropString = {\n toPropValue: Halogen_VDom_DOM_Prop.propFromString\n};\nvar isPropStepValue = {\n toPropValue: function ($28) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_StepValue.renderStepValue($28));\n }\n};\nvar isPropScopeValue = {\n toPropValue: function ($29) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_ScopeValue.renderScopeValue($29));\n }\n};\nvar isPropPreloadValue = {\n toPropValue: function ($30) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_PreloadValue.renderPreloadValue($30));\n }\n};\nvar isPropOrderedListType = {\n toPropValue: function ($31) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_OrderedListType.renderOrderedListType($31));\n }\n};\nvar isPropNumber = {\n toPropValue: Halogen_VDom_DOM_Prop.propFromNumber\n};\nvar isPropMenuitemType = {\n toPropValue: function ($32) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_MenuitemType.renderMenuitemType($32));\n }\n};\nvar isPropMenuType = {\n toPropValue: function ($33) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_MenuType.renderMenuType($33));\n }\n};\nvar isPropMediaType = {\n toPropValue: /* #__PURE__ */ (function () {\n var $34 = Data_Newtype.unwrap();\n return function ($35) {\n return Halogen_VDom_DOM_Prop.propFromString($34($35));\n };\n })()\n};\nvar isPropKindValue = {\n toPropValue: function ($36) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_KindValue.renderKindValue($36));\n }\n};\nvar isPropInt = {\n toPropValue: Halogen_VDom_DOM_Prop.propFromInt\n};\nvar isPropInputType = {\n toPropValue: function ($37) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_InputType.renderInputType($37));\n }\n};\nvar isPropInputAcceptType = {\n toPropValue: function ($38) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_InputAcceptType.renderInputAcceptType($38));\n }\n};\nvar isPropFormMethod = {\n toPropValue: function ($39) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_FormMethod.renderFormMethod($39));\n }\n};\nvar isPropDirValue = {\n toPropValue: function ($40) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_DirValue.renderDirValue($40));\n }\n};\nvar isPropCrossOriginValue = {\n toPropValue: function ($41) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_CrossOriginValue.renderCrossOriginValue($41));\n }\n};\nvar isPropButtonType = {\n toPropValue: function ($42) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_ButtonType.renderButtonType($42));\n }\n};\nvar isPropBoolean = {\n toPropValue: Halogen_VDom_DOM_Prop.propFromBoolean\n};\nvar isPropAutocompleteType = {\n toPropValue: function ($43) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_AutocompleteType.renderAutocompleteType($43));\n }\n};\nvar handler = /* #__PURE__ */ (function () {\n return Halogen_VDom_DOM_Prop.Handler.create;\n})();\nvar element = function (ns) {\n return function (name) {\n return function (props) {\n return function (children) {\n return new Halogen_VDom_Types.Elem(ns, name, props, children);\n };\n };\n };\n};\nvar bifunctorHTML = {\n bimap: function (f) {\n return function (g) {\n return function (v) {\n return Data_Bifunctor.bimap(Halogen_VDom_Types.bifunctorVDom)(Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Halogen_VDom_DOM_Prop.functorProp)(Data_Functor.map(Halogen_Query_Input.functorInput)(g))))(f)(v);\n };\n };\n }\n};\nvar functorHTML = {\n map: /* #__PURE__ */ Data_Bifunctor.rmap(bifunctorHTML)\n};\nvar attr = function (ns) {\n return function (v) {\n return Halogen_VDom_DOM_Prop.Attribute.create(ns)(v);\n };\n};\nexport {\n HTML,\n renderWidget,\n widget,\n text,\n element,\n keyed,\n prop,\n attr,\n handler,\n ref,\n toPropValue,\n newtypeHTML,\n bifunctorHTML,\n functorHTML,\n isPropString,\n isPropInt,\n isPropNumber,\n isPropBoolean,\n isPropMediaType,\n isPropButtonType,\n isPropCrossOriginValue,\n isPropDirValue,\n isPropFormMethod,\n isPropInputType,\n isPropKindValue,\n isPropMenuitemType,\n isPropMenuType,\n isPropAutocompleteType,\n isPropOrderedListType,\n isPropPreloadValue,\n isPropScopeValue,\n isPropStepValue,\n isPropWrapValue,\n isPropInputAcceptType\n};\nexport {\n ElemName,\n Namespace\n} from \"../Halogen.VDom/index.js\";\nexport {\n Attribute,\n Handler,\n Property,\n Ref\n} from \"../Halogen.VDom.DOM.Prop/index.js\";\nexport {\n AttrName,\n ClassName,\n PropName\n} from \"../Web.HTML.Common/index.js\";\n", "// Generated by purs version 0.15.2\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Apply from \"../Control.Apply/index.js\";\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Data_Const from \"../Data.Const/index.js\";\nimport * as Data_Either from \"../Data.Either/index.js\";\nimport * as Data_List_NonEmpty from \"../Data.List.NonEmpty/index.js\";\nimport * as Data_List_Types from \"../Data.List.Types/index.js\";\nimport * as Data_Newtype from \"../Data.Newtype/index.js\";\nimport * as Data_NonEmpty from \"../Data.NonEmpty/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nvar Pure = /* #__PURE__ */ (function () {\n function Pure(value0) {\n this.value0 = value0;\n };\n Pure.create = function (value0) {\n return new Pure(value0);\n };\n return Pure;\n})();\nvar Lift = /* #__PURE__ */ (function () {\n function Lift(value0) {\n this.value0 = value0;\n };\n Lift.create = function (value0) {\n return new Lift(value0);\n };\n return Lift;\n})();\nvar Ap = /* #__PURE__ */ (function () {\n function Ap(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Ap.create = function (value0) {\n return function (value1) {\n return new Ap(value0, value1);\n };\n };\n return Ap;\n})();\nvar mkAp = function (fba) {\n return function (fb) {\n return new Ap(fba, fb);\n };\n};\nvar liftFreeAp = /* #__PURE__ */ (function () {\n return Lift.create;\n})();\nvar goLeft = function ($copy_dictApplicative) {\n return function ($copy_fStack) {\n return function ($copy_valStack) {\n return function ($copy_nat) {\n return function ($copy_func) {\n return function ($copy_count) {\n var $tco_var_dictApplicative = $copy_dictApplicative;\n var $tco_var_fStack = $copy_fStack;\n var $tco_var_valStack = $copy_valStack;\n var $tco_var_nat = $copy_nat;\n var $tco_var_func = $copy_func;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictApplicative, fStack, valStack, nat, func, count) {\n if (func instanceof Pure) {\n $tco_done = true;\n return new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: Control_Applicative.pure(dictApplicative)(func.value0),\n count: count\n }, fStack), valStack);\n };\n if (func instanceof Lift) {\n $tco_done = true;\n return new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: nat(func.value0),\n count: count\n }, fStack), valStack);\n };\n if (func instanceof Ap) {\n $tco_var_dictApplicative = dictApplicative;\n $tco_var_fStack = fStack;\n $tco_var_valStack = Data_List_NonEmpty.cons(func.value1)(valStack);\n $tco_var_nat = nat;\n $tco_var_func = func.value0;\n $copy_count = count + 1 | 0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 102, column 41 - line 105, column 81): \" + [ func.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_valStack, $tco_var_nat, $tco_var_func, $copy_count);\n };\n return $tco_result;\n };\n };\n };\n };\n };\n};\nvar goApply = function ($copy_dictApplicative) {\n return function ($copy_fStack) {\n return function ($copy_vals) {\n return function ($copy_gVal) {\n var $tco_var_dictApplicative = $copy_dictApplicative;\n var $tco_var_fStack = $copy_fStack;\n var $tco_var_vals = $copy_vals;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictApplicative, fStack, vals, gVal) {\n if (fStack instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gVal);\n };\n if (fStack instanceof Data_List_Types.Cons) {\n var gRes = Control_Apply.apply(dictApplicative.Apply0())(fStack.value0.func)(gVal);\n var $14 = fStack.value0.count === 1;\n if ($14) {\n if (fStack.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gRes);\n };\n $tco_var_dictApplicative = dictApplicative;\n $tco_var_fStack = fStack.value1;\n $tco_var_vals = vals;\n $copy_gVal = gRes;\n return;\n };\n if (vals instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gRes);\n };\n if (vals instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return new Data_Either.Right(new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: gRes,\n count: fStack.value0.count - 1 | 0\n }, fStack.value1), new Data_NonEmpty.NonEmpty(vals.value0, vals.value1)));\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 83, column 11 - line 88, column 50): \" + [ vals.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 72, column 3 - line 88, column 50): \" + [ fStack.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_vals, $copy_gVal);\n };\n return $tco_result;\n };\n };\n };\n};\nvar functorFreeAp = {\n map: function (f) {\n return function (x) {\n return mkAp(new Pure(f))(x);\n };\n }\n};\nvar foldFreeAp = function (dictApplicative) {\n return function (nat) {\n return function (z) {\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value1.value0 instanceof Pure) {\n var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(Control_Applicative.pure(dictApplicative)(v.value1.value0.value0));\n if (v1 instanceof Data_Either.Left) {\n $tco_done = true;\n return v1.value0;\n };\n if (v1 instanceof Data_Either.Right) {\n $copy_v = v1.value0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 54, column 17 - line 56, column 24): \" + [ v1.constructor.name ]);\n };\n if (v.value1.value0 instanceof Lift) {\n var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(nat(v.value1.value0.value0));\n if (v1 instanceof Data_Either.Left) {\n $tco_done = true;\n return v1.value0;\n };\n if (v1 instanceof Data_Either.Right) {\n $copy_v = v1.value0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 57, column 17 - line 59, column 24): \" + [ v1.constructor.name ]);\n };\n if (v.value1.value0 instanceof Ap) {\n var nextVals = new Data_NonEmpty.NonEmpty(v.value1.value0.value1, v.value1.value1);\n $copy_v = goLeft(dictApplicative)(v.value0)(nextVals)(nat)(v.value1.value0.value0)(1);\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 53, column 5 - line 62, column 47): \" + [ v.value1.value0.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go(new Data_Tuple.Tuple(Data_List_Types.Nil.value, Data_List_NonEmpty.singleton(z)));\n };\n };\n};\nvar retractFreeAp = function (dictApplicative) {\n return foldFreeAp(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n};\nvar applyFreeAp = {\n apply: function (fba) {\n return function (fb) {\n return mkAp(fba)(fb);\n };\n },\n Functor0: function () {\n return functorFreeAp;\n }\n};\nvar applicativeFreeAp = /* #__PURE__ */ (function () {\n return {\n pure: Pure.create,\n Apply0: function () {\n return applyFreeAp;\n }\n };\n})();\nvar hoistFreeAp = function (f) {\n return foldFreeAp(applicativeFreeAp)(function ($37) {\n return liftFreeAp(f($37));\n });\n};\nvar analyzeFreeAp = function (dictMonoid) {\n return function (k) {\n var $38 = Data_Newtype.unwrap();\n var $39 = foldFreeAp(Data_Const.applicativeConst(dictMonoid))(function ($41) {\n return Data_Const.Const(k($41));\n });\n return function ($40) {\n return $38($39($40));\n };\n };\n};\nexport {\n liftFreeAp,\n retractFreeAp,\n foldFreeAp,\n hoistFreeAp,\n analyzeFreeAp,\n functorFreeAp,\n applyFreeAp,\n applicativeFreeAp\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Apply from \"../Control.Apply/index.js\";\nimport * as Control_Monad from \"../Control.Monad/index.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Foldable from \"../Data.Foldable/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_List from \"../Data.List/index.js\";\nimport * as Data_List_Types from \"../Data.List.Types/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Ordering from \"../Data.Ordering/index.js\";\nimport * as Data_Semigroup from \"../Data.Semigroup/index.js\";\nimport * as Data_Show from \"../Data.Show/index.js\";\nimport * as Data_Traversable from \"../Data.Traversable/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nvar $runtime_lazy = function (name, moduleName, init) {\n var state = 0;\n var val;\n return function (lineNumber) {\n if (state === 2) return val;\n if (state === 1) throw new ReferenceError(name + \" was needed before it finished initializing (module \" + moduleName + \", line \" + lineNumber + \")\", moduleName, lineNumber);\n state = 1;\n val = init();\n state = 2;\n return val;\n };\n};\nvar CatQueue = /* #__PURE__ */ (function () {\n function CatQueue(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatQueue.create = function (value0) {\n return function (value1) {\n return new CatQueue(value0, value1);\n };\n };\n return CatQueue;\n})();\nvar unsnoc = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value1 instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value1.value0, new CatQueue(v.value0, v.value1.value1)));\n };\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v.value1 instanceof Data_List_Types.Nil) {\n $copy_v = new CatQueue(Data_List_Types.Nil.value, Data_List.reverse(v.value0));\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatQueue (line 92, column 1 - line 92, column 63): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n};\nvar uncons = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v.value0 instanceof Data_List_Types.Nil) {\n $copy_v = new CatQueue(Data_List.reverse(v.value1), Data_List_Types.Nil.value);\n return;\n };\n if (v.value0 instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0.value0, new CatQueue(v.value0.value1, v.value1)));\n };\n throw new Error(\"Failed pattern match at Data.CatQueue (line 82, column 1 - line 82, column 63): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n};\nvar snoc = function (v) {\n return function (a) {\n return new CatQueue(v.value0, new Data_List_Types.Cons(a, v.value1));\n };\n};\nvar showCatQueue = function (dictShow) {\n return {\n show: function (v) {\n return \"(CatQueue \" + (Data_Show.show(Data_List_Types.showList(dictShow))(v.value0) + (\" \" + (Data_Show.show(Data_List_Types.showList(dictShow))(v.value1) + \")\")));\n }\n };\n};\nvar $$null = function (v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n};\nvar length = function (v) {\n return Data_List.length(v.value0) + Data_List.length(v.value1) | 0;\n};\nvar functorCatQueue = {\n map: function (f) {\n return function (v) {\n return new CatQueue(Data_Functor.map(Data_List_Types.functorList)(f)(v.value0), Data_Functor.map(Data_List_Types.functorList)(f)(v.value1));\n };\n }\n};\nvar foldableCatQueue = {\n foldMap: function (dictMonoid) {\n return Data_Foldable.foldMapDefaultL(foldableCatQueue)(dictMonoid);\n },\n foldr: function (f) {\n return Data_Foldable.foldrDefault(foldableCatQueue)(f);\n },\n foldl: function (f) {\n var go = function ($copy_acc) {\n return function ($copy_q) {\n var $tco_var_acc = $copy_acc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(acc, q) {\n var v = uncons(q);\n if (v instanceof Data_Maybe.Just) {\n $tco_var_acc = f(acc)(v.value0.value0);\n $copy_q = v.value0.value1;\n return;\n };\n if (v instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return acc;\n };\n throw new Error(\"Failed pattern match at Data.CatQueue (line 147, column 16 - line 149, column 22): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_acc, $copy_q);\n };\n return $tco_result;\n };\n };\n return go;\n }\n};\nvar semigroupCatQueue = {\n append: /* #__PURE__ */ Data_Foldable.foldl(foldableCatQueue)(snoc)\n};\nvar empty = /* #__PURE__ */ (function () {\n return new CatQueue(Data_List_Types.Nil.value, Data_List_Types.Nil.value);\n})();\nvar monoidCatQueue = {\n mempty: empty,\n Semigroup0: function () {\n return semigroupCatQueue;\n }\n};\nvar singleton = /* #__PURE__ */ snoc(empty);\nvar fromFoldable = function (dictFoldable) {\n return function (f) {\n return Data_Foldable.foldMap(dictFoldable)(monoidCatQueue)(singleton)(f);\n };\n};\nvar traversableCatQueue = {\n traverse: function (dictApplicative) {\n return function (f) {\n var $100 = Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Foldable.foldl(foldableCatQueue)(snoc)(empty));\n var $101 = Data_Foldable.foldl(foldableCatQueue)(function (acc) {\n var $103 = Control_Apply.lift2(dictApplicative.Apply0())(snoc)(acc);\n return function ($104) {\n return $103(f($104));\n };\n })(Control_Applicative.pure(dictApplicative)(empty));\n return function ($102) {\n return $100($101($102));\n };\n };\n },\n sequence: function (dictApplicative) {\n return Data_Traversable.sequenceDefault(traversableCatQueue)(dictApplicative);\n },\n Functor0: function () {\n return functorCatQueue;\n },\n Foldable1: function () {\n return foldableCatQueue;\n }\n};\nvar unfoldable1CatQueue = {\n unfoldr1: function (f) {\n return function (b) {\n var go = function ($copy_source) {\n return function ($copy_memo) {\n var $tco_var_source = $copy_source;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(source, memo) {\n var v = f(source);\n if (v.value1 instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return snoc(memo)(v.value0);\n };\n if (v.value1 instanceof Data_Maybe.Just) {\n $tco_var_source = v.value1.value0;\n $copy_memo = snoc(memo)(v.value0);\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatQueue (line 154, column 24 - line 156, column 57): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_source, $copy_memo);\n };\n return $tco_result;\n };\n };\n return go(b)(empty);\n };\n }\n};\nvar unfoldableCatQueue = {\n unfoldr: function (f) {\n return function (b) {\n var go = function ($copy_source) {\n return function ($copy_memo) {\n var $tco_var_source = $copy_source;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(source, memo) {\n var v = f(source);\n if (v instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return memo;\n };\n if (v instanceof Data_Maybe.Just) {\n $tco_var_source = v.value0.value1;\n $copy_memo = snoc(memo)(v.value0.value0);\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatQueue (line 161, column 24 - line 163, column 57): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_source, $copy_memo);\n };\n return $tco_result;\n };\n };\n return go(b)(empty);\n };\n },\n Unfoldable10: function () {\n return unfoldable1CatQueue;\n }\n};\nvar cqEq = function (dictEq) {\n var elemEq = Data_Eq.eq(dictEq);\n var go = function ($copy_xs) {\n return function ($copy_ys) {\n var $tco_var_xs = $copy_xs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(xs, ys) {\n var v = uncons(ys);\n var v1 = uncons(xs);\n if (v1 instanceof Data_Maybe.Just && (v instanceof Data_Maybe.Just && elemEq(v1.value0.value0)(v.value0.value0))) {\n $tco_var_xs = v1.value0.value1;\n $copy_ys = v.value0.value1;\n return;\n };\n if (v1 instanceof Data_Maybe.Nothing && v instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return true;\n };\n $tco_done = true;\n return false;\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_xs, $copy_ys);\n };\n return $tco_result;\n };\n };\n return go;\n};\nvar eqCatQueue = function (dictEq) {\n return {\n eq: cqEq(dictEq)\n };\n};\nvar cqCompare = function (dictOrd) {\n var elemCompare = Data_Ord.compare(dictOrd);\n var go = function ($copy_xs) {\n return function ($copy_ys) {\n var $tco_var_xs = $copy_xs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(xs, ys) {\n var v = uncons(ys);\n var v1 = uncons(xs);\n if (v1 instanceof Data_Maybe.Just && v instanceof Data_Maybe.Just) {\n var v2 = elemCompare(v1.value0.value0)(v.value0.value0);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_var_xs = v1.value0.value1;\n $copy_ys = v.value0.value1;\n return;\n };\n $tco_done = true;\n return v2;\n };\n if (v1 instanceof Data_Maybe.Just && v instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return Data_Ordering.GT.value;\n };\n if (v1 instanceof Data_Maybe.Nothing && v instanceof Data_Maybe.Just) {\n $tco_done = true;\n return Data_Ordering.LT.value;\n };\n if (v1 instanceof Data_Maybe.Nothing && v instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return Data_Ordering.EQ.value;\n };\n throw new Error(\"Failed pattern match at Data.CatQueue (line 117, column 16 - line 124, column 30): \" + [ v1.constructor.name, v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_xs, $copy_ys);\n };\n return $tco_result;\n };\n };\n return go;\n};\nvar ordCatQueue = function (dictOrd) {\n return {\n compare: cqCompare(dictOrd),\n Eq0: function () {\n return eqCatQueue(dictOrd.Eq0());\n }\n };\n};\nvar cons = function (a) {\n return function (v) {\n return new CatQueue(new Data_List_Types.Cons(a, v.value0), v.value1);\n };\n};\nvar monadCatQueue = {\n Applicative0: function () {\n return applicativeCatQueue;\n },\n Bind1: function () {\n return bindCatQueue;\n }\n};\nvar bindCatQueue = {\n bind: /* #__PURE__ */ Data_Function.flip(/* #__PURE__ */ Data_Foldable.foldMap(foldableCatQueue)(monoidCatQueue)),\n Apply0: function () {\n return $lazy_applyCatQueue(0);\n }\n};\nvar applicativeCatQueue = {\n pure: singleton,\n Apply0: function () {\n return $lazy_applyCatQueue(0);\n }\n};\nvar $lazy_applyCatQueue = /* #__PURE__ */ $runtime_lazy(\"applyCatQueue\", \"Data.CatQueue\", function () {\n return {\n apply: Control_Monad.ap(monadCatQueue),\n Functor0: function () {\n return functorCatQueue;\n }\n };\n});\nvar applyCatQueue = /* #__PURE__ */ $lazy_applyCatQueue(174);\nvar altCatQueue = {\n alt: /* #__PURE__ */ Data_Semigroup.append(semigroupCatQueue),\n Functor0: function () {\n return functorCatQueue;\n }\n};\nvar plusCatQueue = {\n empty: empty,\n Alt0: function () {\n return altCatQueue;\n }\n};\nvar alternativeCatQueue = {\n Applicative0: function () {\n return applicativeCatQueue;\n },\n Plus1: function () {\n return plusCatQueue;\n }\n};\nvar monadPlusCatQueue = {\n Monad0: function () {\n return monadCatQueue;\n },\n Alternative1: function () {\n return alternativeCatQueue;\n }\n};\nexport {\n CatQueue,\n empty,\n $$null as null,\n singleton,\n length,\n cons,\n snoc,\n uncons,\n unsnoc,\n fromFoldable,\n eqCatQueue,\n ordCatQueue,\n semigroupCatQueue,\n monoidCatQueue,\n showCatQueue,\n foldableCatQueue,\n unfoldable1CatQueue,\n unfoldableCatQueue,\n traversableCatQueue,\n functorCatQueue,\n applyCatQueue,\n applicativeCatQueue,\n bindCatQueue,\n monadCatQueue,\n altCatQueue,\n plusCatQueue,\n alternativeCatQueue,\n monadPlusCatQueue\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Apply from \"../Control.Apply/index.js\";\nimport * as Control_Monad from \"../Control.Monad/index.js\";\nimport * as Data_CatQueue from \"../Data.CatQueue/index.js\";\nimport * as Data_Foldable from \"../Data.Foldable/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_List_Types from \"../Data.List.Types/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Monoid from \"../Data.Monoid/index.js\";\nimport * as Data_Semigroup from \"../Data.Semigroup/index.js\";\nimport * as Data_Semiring from \"../Data.Semiring/index.js\";\nimport * as Data_Show from \"../Data.Show/index.js\";\nimport * as Data_Traversable from \"../Data.Traversable/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nvar $runtime_lazy = function (name, moduleName, init) {\n var state = 0;\n var val;\n return function (lineNumber) {\n if (state === 2) return val;\n if (state === 1) throw new ReferenceError(name + \" was needed before it finished initializing (module \" + moduleName + \", line \" + lineNumber + \")\", moduleName, lineNumber);\n state = 1;\n val = init();\n state = 2;\n return val;\n };\n};\nvar CatNil = /* #__PURE__ */ (function () {\n function CatNil() {\n\n };\n CatNil.value = new CatNil();\n return CatNil;\n})();\nvar CatCons = /* #__PURE__ */ (function () {\n function CatCons(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatCons.create = function (value0) {\n return function (value1) {\n return new CatCons(value0, value1);\n };\n };\n return CatCons;\n})();\nvar showCatList = function (dictShow) {\n return {\n show: function (v) {\n if (v instanceof CatNil) {\n return \"CatNil\";\n };\n if (v instanceof CatCons) {\n return \"(CatList \" + (Data_Show.show(dictShow)(v.value0) + (\" \" + (Data_Show.show(Data_CatQueue.showCatQueue(showCatList(dictShow)))(v.value1) + \")\")));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 147, column 1 - line 149, column 71): \" + [ v.constructor.name ]);\n }\n };\n};\nvar $$null = function (v) {\n if (v instanceof CatNil) {\n return true;\n };\n return false;\n};\nvar link = function (v) {\n return function (v1) {\n if (v instanceof CatNil) {\n return v1;\n };\n if (v1 instanceof CatNil) {\n return v;\n };\n if (v instanceof CatCons) {\n return new CatCons(v.value0, Data_CatQueue.snoc(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 108, column 1 - line 108, column 54): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n};\nvar foldr = function (k) {\n return function (b) {\n return function (q) {\n var foldl = function ($copy_v) {\n return function ($copy_c) {\n return function ($copy_v1) {\n var $tco_var_v = $copy_v;\n var $tco_var_c = $copy_c;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v, c, v1) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return c;\n };\n if (v1 instanceof Data_List_Types.Cons) {\n $tco_var_v = v;\n $tco_var_c = v(c)(v1.value0);\n $copy_v1 = v1.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 124, column 3 - line 124, column 59): \" + [ v.constructor.name, c.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v, $tco_var_c, $copy_v1);\n };\n return $tco_result;\n };\n };\n };\n var go = function ($copy_xs) {\n return function ($copy_ys) {\n var $tco_var_xs = $copy_xs;\n var $tco_done1 = false;\n var $tco_result;\n function $tco_loop(xs, ys) {\n var v = Data_CatQueue.uncons(xs);\n if (v instanceof Data_Maybe.Nothing) {\n $tco_done1 = true;\n return foldl(function (x) {\n return function (i) {\n return i(x);\n };\n })(b)(ys);\n };\n if (v instanceof Data_Maybe.Just) {\n $tco_var_xs = v.value0.value1;\n $copy_ys = new Data_List_Types.Cons(k(v.value0.value0), ys);\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 120, column 14 - line 122, column 67): \" + [ v.constructor.name ]);\n };\n while (!$tco_done1) {\n $tco_result = $tco_loop($tco_var_xs, $copy_ys);\n };\n return $tco_result;\n };\n };\n return go(q)(Data_List_Types.Nil.value);\n };\n };\n};\nvar uncons = function (v) {\n if (v instanceof CatNil) {\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof CatCons) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0, (function () {\n var $45 = Data_CatQueue[\"null\"](v.value1);\n if ($45) {\n return CatNil.value;\n };\n return foldr(link)(CatNil.value)(v.value1);\n })()));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 99, column 1 - line 99, column 61): \" + [ v.constructor.name ]);\n};\nvar foldableCatList = {\n foldMap: function (dictMonoid) {\n return Data_Foldable.foldMapDefaultL(foldableCatList)(dictMonoid);\n },\n foldr: function (f) {\n return function (s) {\n return function (l) {\n return Data_Foldable.foldrDefault(foldableCatList)(f)(s)(l);\n };\n };\n },\n foldl: function (f) {\n var go = function ($copy_acc) {\n return function ($copy_q) {\n var $tco_var_acc = $copy_acc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(acc, q) {\n var v = uncons(q);\n if (v instanceof Data_Maybe.Just) {\n $tco_var_acc = f(acc)(v.value0.value0);\n $copy_q = v.value0.value1;\n return;\n };\n if (v instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return acc;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 156, column 16 - line 158, column 22): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_acc, $copy_q);\n };\n return $tco_result;\n };\n };\n return go;\n }\n};\nvar length = /* #__PURE__ */ Data_Foldable.length(foldableCatList)(Data_Semiring.semiringInt);\nvar foldMap = function (dictMonoid) {\n return function (v) {\n return function (v1) {\n if (v1 instanceof CatNil) {\n return Data_Monoid.mempty(dictMonoid);\n };\n if (v1 instanceof CatCons) {\n var d = (function () {\n var $54 = Data_CatQueue[\"null\"](v1.value1);\n if ($54) {\n return CatNil.value;\n };\n return foldr(link)(CatNil.value)(v1.value1);\n })();\n return Data_Semigroup.append(dictMonoid.Semigroup0())(v(v1.value0))(foldMap(dictMonoid)(v)(d));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 134, column 1 - line 134, column 62): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n};\nvar empty = /* #__PURE__ */ (function () {\n return CatNil.value;\n})();\nvar append = link;\nvar cons = function (a) {\n return function (cat) {\n return append(new CatCons(a, Data_CatQueue.empty))(cat);\n };\n};\nvar functorCatList = {\n map: function (v) {\n return function (v1) {\n if (v1 instanceof CatNil) {\n return CatNil.value;\n };\n if (v1 instanceof CatCons) {\n var d = (function () {\n var $59 = Data_CatQueue[\"null\"](v1.value1);\n if ($59) {\n return CatNil.value;\n };\n return foldr(link)(CatNil.value)(v1.value1);\n })();\n return cons(v(v1.value0))(Data_Functor.map(functorCatList)(v)(d));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 184, column 1 - line 188, column 26): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n }\n};\nvar singleton = function (a) {\n return cons(a)(CatNil.value);\n};\nvar traversableCatList = {\n traverse: function (dictApplicative) {\n return function (v) {\n return function (v1) {\n if (v1 instanceof CatNil) {\n return Control_Applicative.pure(dictApplicative)(CatNil.value);\n };\n if (v1 instanceof CatCons) {\n var d = (function () {\n var $64 = Data_CatQueue[\"null\"](v1.value1);\n if ($64) {\n return CatNil.value;\n };\n return foldr(link)(CatNil.value)(v1.value1);\n })();\n return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(cons)(v(v1.value0)))(Data_Traversable.traverse(traversableCatList)(dictApplicative)(v)(d));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 174, column 1 - line 182, column 33): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n },\n sequence: function (dictApplicative) {\n return function (v) {\n if (v instanceof CatNil) {\n return Control_Applicative.pure(dictApplicative)(CatNil.value);\n };\n if (v instanceof CatCons) {\n var d = (function () {\n var $68 = Data_CatQueue[\"null\"](v.value1);\n if ($68) {\n return CatNil.value;\n };\n return foldr(link)(CatNil.value)(v.value1);\n })();\n return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(cons)(v.value0))(Data_Traversable.sequence(traversableCatList)(dictApplicative)(d));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 174, column 1 - line 182, column 33): \" + [ v.constructor.name ]);\n };\n },\n Functor0: function () {\n return functorCatList;\n },\n Foldable1: function () {\n return foldableCatList;\n }\n};\nvar semigroupCatList = {\n append: append\n};\nvar monoidCatList = /* #__PURE__ */ (function () {\n return {\n mempty: CatNil.value,\n Semigroup0: function () {\n return semigroupCatList;\n }\n };\n})();\nvar monadCatList = {\n Applicative0: function () {\n return applicativeCatList;\n },\n Bind1: function () {\n return bindCatList;\n }\n};\nvar bindCatList = {\n bind: /* #__PURE__ */ Data_Function.flip(/* #__PURE__ */ foldMap(monoidCatList)),\n Apply0: function () {\n return $lazy_applyCatList(0);\n }\n};\nvar applicativeCatList = {\n pure: singleton,\n Apply0: function () {\n return $lazy_applyCatList(0);\n }\n};\nvar $lazy_applyCatList = /* #__PURE__ */ $runtime_lazy(\"applyCatList\", \"Data.CatList\", function () {\n return {\n apply: Control_Monad.ap(monadCatList),\n Functor0: function () {\n return functorCatList;\n }\n };\n});\nvar applyCatList = /* #__PURE__ */ $lazy_applyCatList(190);\nvar fromFoldable = function (dictFoldable) {\n return function (f) {\n return Data_Foldable.foldMap(dictFoldable)(monoidCatList)(singleton)(f);\n };\n};\nvar snoc = function (cat) {\n return function (a) {\n return append(cat)(new CatCons(a, Data_CatQueue.empty));\n };\n};\nvar unfoldable1CatList = {\n unfoldr1: function (f) {\n return function (b) {\n var go = function ($copy_source) {\n return function ($copy_memo) {\n var $tco_var_source = $copy_source;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(source, memo) {\n var v = f(source);\n if (v.value1 instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return snoc(memo)(v.value0);\n };\n if (v.value1 instanceof Data_Maybe.Just) {\n $tco_var_source = v.value1.value0;\n $copy_memo = snoc(memo)(v.value0);\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 170, column 24 - line 172, column 57): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_source, $copy_memo);\n };\n return $tco_result;\n };\n };\n return go(b)(CatNil.value);\n };\n }\n};\nvar unfoldableCatList = {\n unfoldr: function (f) {\n return function (b) {\n var go = function ($copy_source) {\n return function ($copy_memo) {\n var $tco_var_source = $copy_source;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(source, memo) {\n var v = f(source);\n if (v instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return memo;\n };\n if (v instanceof Data_Maybe.Just) {\n $tco_var_source = v.value0.value1;\n $copy_memo = snoc(memo)(v.value0.value0);\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 163, column 24 - line 165, column 57): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_source, $copy_memo);\n };\n return $tco_result;\n };\n };\n return go(b)(CatNil.value);\n };\n },\n Unfoldable10: function () {\n return unfoldable1CatList;\n }\n};\nvar altCatList = {\n alt: append,\n Functor0: function () {\n return functorCatList;\n }\n};\nvar plusCatList = {\n empty: empty,\n Alt0: function () {\n return altCatList;\n }\n};\nvar alternativeCatList = {\n Applicative0: function () {\n return applicativeCatList;\n },\n Plus1: function () {\n return plusCatList;\n }\n};\nvar monadPlusCatList = {\n Monad0: function () {\n return monadCatList;\n },\n Alternative1: function () {\n return alternativeCatList;\n }\n};\nexport {\n CatNil,\n CatCons,\n empty,\n $$null as null,\n singleton,\n length,\n append,\n cons,\n snoc,\n uncons,\n fromFoldable,\n semigroupCatList,\n monoidCatList,\n showCatList,\n foldableCatList,\n unfoldableCatList,\n unfoldable1CatList,\n traversableCatList,\n functorCatList,\n applyCatList,\n applicativeCatList,\n bindCatList,\n monadCatList,\n altCatList,\n plusCatList,\n alternativeCatList,\n monadPlusCatList\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Apply from \"../Control.Apply/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Control_Monad from \"../Control.Monad/index.js\";\nimport * as Control_Monad_Rec_Class from \"../Control.Monad.Rec.Class/index.js\";\nimport * as Data_CatList from \"../Data.CatList/index.js\";\nimport * as Data_Either from \"../Data.Either/index.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Foldable from \"../Data.Foldable/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Monoid from \"../Data.Monoid/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Ordering from \"../Data.Ordering/index.js\";\nimport * as Data_Semigroup from \"../Data.Semigroup/index.js\";\nimport * as Data_Traversable from \"../Data.Traversable/index.js\";\nimport * as Unsafe_Coerce from \"../Unsafe.Coerce/index.js\";\nvar $runtime_lazy = function (name, moduleName, init) {\n var state = 0;\n var val;\n return function (lineNumber) {\n if (state === 2) return val;\n if (state === 1) throw new ReferenceError(name + \" was needed before it finished initializing (module \" + moduleName + \", line \" + lineNumber + \")\", moduleName, lineNumber);\n state = 1;\n val = init();\n state = 2;\n return val;\n };\n};\nvar ExpF = function (x) {\n return x;\n};\nvar Free = /* #__PURE__ */ (function () {\n function Free(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Free.create = function (value0) {\n return function (value1) {\n return new Free(value0, value1);\n };\n };\n return Free;\n})();\nvar Return = /* #__PURE__ */ (function () {\n function Return(value0) {\n this.value0 = value0;\n };\n Return.create = function (value0) {\n return new Return(value0);\n };\n return Return;\n})();\nvar Bind = /* #__PURE__ */ (function () {\n function Bind(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Bind.create = function (value0) {\n return function (value1) {\n return new Bind(value0, value1);\n };\n };\n return Bind;\n})();\nvar toView = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n var runExpF = function (v2) {\n return v2;\n };\n var concatF = function (v2) {\n return function (r) {\n return new Free(v2.value0, Data_Semigroup.append(Data_CatList.semigroupCatList)(v2.value1)(r));\n };\n };\n if (v.value0 instanceof Return) {\n var v2 = Data_CatList.uncons(v.value1);\n if (v2 instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return new Return(v.value0.value0);\n };\n if (v2 instanceof Data_Maybe.Just) {\n $copy_v = concatF(runExpF(v2.value0.value0)(v.value0.value0))(v2.value0.value1);\n return;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 227, column 7 - line 231, column 64): \" + [ v2.constructor.name ]);\n };\n if (v.value0 instanceof Bind) {\n $tco_done = true;\n return new Bind(v.value0.value0, function (a) {\n return concatF(v.value0.value1(a))(v.value1);\n });\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 225, column 3 - line 233, column 56): \" + [ v.value0.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n};\nvar runFreeM = function (dictFunctor) {\n return function (dictMonadRec) {\n return function (k) {\n var go = function (f) {\n var v = toView(f);\n if (v instanceof Return) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(v.value0));\n };\n if (v instanceof Bind) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Loop.create)(k(Data_Functor.map(dictFunctor)(v.value1)(v.value0)));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 194, column 10 - line 196, column 37): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);\n };\n };\n};\nvar runFree = function (dictFunctor) {\n return function (k) {\n var go = function ($copy_f) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(f) {\n var v = toView(f);\n if (v instanceof Return) {\n $tco_done = true;\n return v.value0;\n };\n if (v instanceof Bind) {\n $copy_f = k(Data_Functor.map(dictFunctor)(v.value1)(v.value0));\n return;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 178, column 10 - line 180, column 33): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_f);\n };\n return $tco_result;\n };\n return go;\n };\n};\nvar resume$prime = function (k) {\n return function (j) {\n return function (f) {\n var v = toView(f);\n if (v instanceof Return) {\n return j(v.value0);\n };\n if (v instanceof Bind) {\n return k(v.value0)(v.value1);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 213, column 17 - line 215, column 20): \" + [ v.constructor.name ]);\n };\n };\n};\nvar resume = function (dictFunctor) {\n return resume$prime(function (g) {\n return function (i) {\n return new Data_Either.Left(Data_Functor.map(dictFunctor)(i)(g));\n };\n })(Data_Either.Right.create);\n};\nvar fromView = function (f) {\n return new Free(f, Data_CatList.empty);\n};\nvar wrap = function (f) {\n return fromView(new Bind(f, Unsafe_Coerce.unsafeCoerce));\n};\nvar suspendF = function (dictApplicative) {\n return function (f) {\n return wrap(Control_Applicative.pure(dictApplicative)(f));\n };\n};\nvar freeMonad = {\n Applicative0: function () {\n return freeApplicative;\n },\n Bind1: function () {\n return freeBind;\n }\n};\nvar freeFunctor = {\n map: function (k) {\n return function (f) {\n return Control_Bind.bindFlipped(freeBind)((function () {\n var $119 = Control_Applicative.pure(freeApplicative);\n return function ($120) {\n return $119(k($120));\n };\n })())(f);\n };\n }\n};\nvar freeBind = {\n bind: function (v) {\n return function (k) {\n return new Free(v.value0, Data_CatList.snoc(v.value1)(k));\n };\n },\n Apply0: function () {\n return $lazy_freeApply(0);\n }\n};\nvar freeApplicative = {\n pure: function ($121) {\n return fromView(Return.create($121));\n },\n Apply0: function () {\n return $lazy_freeApply(0);\n }\n};\nvar $lazy_freeApply = /* #__PURE__ */ $runtime_lazy(\"freeApply\", \"Control.Monad.Free\", function () {\n return {\n apply: Control_Monad.ap(freeMonad),\n Functor0: function () {\n return freeFunctor;\n }\n };\n});\nvar freeApply = /* #__PURE__ */ $lazy_freeApply(77);\nvar semigroupFree = function (dictSemigroup) {\n return {\n append: Control_Apply.lift2(freeApply)(Data_Semigroup.append(dictSemigroup))\n };\n};\nvar freeMonadRec = {\n tailRecM: function (k) {\n return function (a) {\n return Control_Bind.bind(freeBind)(k(a))(function (v) {\n if (v instanceof Control_Monad_Rec_Class.Loop) {\n return Control_Monad_Rec_Class.tailRecM(freeMonadRec)(k)(v.value0);\n };\n if (v instanceof Control_Monad_Rec_Class.Done) {\n return Control_Applicative.pure(freeApplicative)(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 86, column 26 - line 88, column 21): \" + [ v.constructor.name ]);\n });\n };\n },\n Monad0: function () {\n return freeMonad;\n }\n};\nvar liftF = function (f) {\n return fromView(new Bind(f, (function () {\n var $122 = Control_Applicative.pure(freeApplicative);\n return function ($123) {\n return $122($123);\n };\n })()));\n};\nvar freeMonadTrans = {\n lift: function (dictMonad) {\n return liftF;\n }\n};\nvar monoidFree = function (dictMonoid) {\n return {\n mempty: Control_Applicative.pure(freeApplicative)(Data_Monoid.mempty(dictMonoid)),\n Semigroup0: function () {\n return semigroupFree(dictMonoid.Semigroup0());\n }\n };\n};\nvar substFree = function (k) {\n var go = function (f) {\n var v = toView(f);\n if (v instanceof Return) {\n return Control_Applicative.pure(freeApplicative)(v.value0);\n };\n if (v instanceof Bind) {\n return Control_Bind.bind(freeBind)(k(v.value0))(Data_Functor.map(Data_Functor.functorFn)(go)(v.value1));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 168, column 10 - line 170, column 33): \" + [ v.constructor.name ]);\n };\n return go;\n};\nvar hoistFree = function (k) {\n return substFree(function ($124) {\n return liftF(k($124));\n });\n};\nvar foldableFree = function (dictFunctor) {\n return function (dictFoldable) {\n return {\n foldMap: function (dictMonoid) {\n return function (f) {\n var $lazy_go = $runtime_lazy(\"go\", \"Control.Monad.Free\", function () {\n var $125 = resume(dictFunctor);\n return function ($126) {\n return (function (v) {\n if (v instanceof Data_Either.Left) {\n return Data_Foldable.foldMap(dictFoldable)(dictMonoid)($lazy_go(94))(v.value0);\n };\n if (v instanceof Data_Either.Right) {\n return f(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 93, column 21 - line 95, column 21): \" + [ v.constructor.name ]);\n })($125($126));\n };\n });\n var go = $lazy_go(93);\n return go;\n };\n },\n foldl: function (f) {\n var go = function (r) {\n var $127 = resume(dictFunctor);\n return function ($128) {\n return (function (v) {\n if (v instanceof Data_Either.Left) {\n return Data_Foldable.foldl(dictFoldable)(go)(r)(v.value0);\n };\n if (v instanceof Data_Either.Right) {\n return f(r)(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 98, column 23 - line 100, column 23): \" + [ v.constructor.name ]);\n })($127($128));\n };\n };\n return go;\n },\n foldr: function (f) {\n var go = function (r) {\n var $129 = resume(dictFunctor);\n return function ($130) {\n return (function (v) {\n if (v instanceof Data_Either.Left) {\n return Data_Foldable.foldr(dictFoldable)(Data_Function.flip(go))(r)(v.value0);\n };\n if (v instanceof Data_Either.Right) {\n return f(v.value0)(r);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 103, column 23 - line 105, column 23): \" + [ v.constructor.name ]);\n })($129($130));\n };\n };\n return go;\n }\n };\n };\n};\nvar traversableFree = function (dictTraversable) {\n return {\n traverse: function (dictApplicative) {\n return function (f) {\n var $lazy_go = $runtime_lazy(\"go\", \"Control.Monad.Free\", function () {\n var $131 = resume(dictTraversable.Functor0());\n return function ($132) {\n return (function (v) {\n if (v instanceof Data_Either.Left) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())((function () {\n var $133 = Control_Bind.join(freeBind);\n return function ($134) {\n return $133(liftF($134));\n };\n })())(Data_Traversable.traverse(dictTraversable)(dictApplicative)($lazy_go(111))(v.value0));\n };\n if (v instanceof Data_Either.Right) {\n return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Control_Applicative.pure(freeApplicative))(f(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 110, column 21 - line 112, column 30): \" + [ v.constructor.name ]);\n })($131($132));\n };\n });\n var go = $lazy_go(110);\n return go;\n };\n },\n sequence: function (dictApplicative) {\n return function (tma) {\n return Data_Traversable.traverse(traversableFree(dictTraversable))(dictApplicative)(Control_Category.identity(Control_Category.categoryFn))(tma);\n };\n },\n Functor0: function () {\n return freeFunctor;\n },\n Foldable1: function () {\n return foldableFree(dictTraversable.Functor0())(dictTraversable.Foldable1());\n }\n };\n};\nvar foldFree = function (dictMonadRec) {\n return function (k) {\n var go = function (f) {\n var v = toView(f);\n if (v instanceof Return) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(v.value0));\n };\n if (v instanceof Bind) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(function ($135) {\n return Control_Monad_Rec_Class.Loop.create(v.value1($135));\n })(k(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 158, column 10 - line 160, column 37): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);\n };\n};\nvar eqFree = function (dictFunctor) {\n return function (dictEq1) {\n return function (dictEq) {\n return {\n eq: function (x) {\n return function (y) {\n var v = resume(dictFunctor)(y);\n var v1 = resume(dictFunctor)(x);\n if (v1 instanceof Data_Either.Left && v instanceof Data_Either.Left) {\n return Data_Eq.eq1(dictEq1)(eqFree(dictFunctor)(dictEq1)(dictEq))(v1.value0)(v.value0);\n };\n if (v1 instanceof Data_Either.Right && v instanceof Data_Either.Right) {\n return Data_Eq.eq(dictEq)(v1.value0)(v.value0);\n };\n return false;\n };\n }\n };\n };\n };\n};\nvar ordFree = function (dictFunctor) {\n return function (dictOrd1) {\n return function (dictOrd) {\n return {\n compare: function (x) {\n return function (y) {\n var v = resume(dictFunctor)(y);\n var v1 = resume(dictFunctor)(x);\n if (v1 instanceof Data_Either.Left && v instanceof Data_Either.Left) {\n return Data_Ord.compare1(dictOrd1)(ordFree(dictFunctor)(dictOrd1)(dictOrd))(v1.value0)(v.value0);\n };\n if (v1 instanceof Data_Either.Left) {\n return Data_Ordering.LT.value;\n };\n if (v instanceof Data_Either.Left) {\n return Data_Ordering.GT.value;\n };\n if (v1 instanceof Data_Either.Right && v instanceof Data_Either.Right) {\n return Data_Ord.compare(dictOrd)(v1.value0)(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 56, column 17 - line 60, column 36): \" + [ v1.constructor.name, v.constructor.name ]);\n };\n },\n Eq0: function () {\n return eqFree(dictFunctor)(dictOrd1.Eq10())(dictOrd.Eq0());\n }\n };\n };\n };\n};\nvar eq1Free = function (dictFunctor) {\n return function (dictEq1) {\n return {\n eq1: function (dictEq) {\n return Data_Eq.eq(eqFree(dictFunctor)(dictEq1)(dictEq));\n }\n };\n };\n};\nvar ord1Free = function (dictFunctor) {\n return function (dictOrd1) {\n return {\n compare1: function (dictOrd) {\n return Data_Ord.compare(ordFree(dictFunctor)(dictOrd1)(dictOrd));\n },\n Eq10: function () {\n return eq1Free(dictFunctor)(dictOrd1.Eq10());\n }\n };\n };\n};\nexport {\n suspendF,\n wrap,\n liftF,\n hoistFree,\n foldFree,\n substFree,\n runFree,\n runFreeM,\n resume,\n resume$prime,\n eqFree,\n eq1Free,\n ordFree,\n ord1Free,\n freeFunctor,\n freeBind,\n freeApplicative,\n freeApply,\n freeMonad,\n freeMonadTrans,\n freeMonadRec,\n foldableFree,\n traversableFree,\n semigroupFree,\n monoidFree\n};\n", "// Generated by purs version 0.15.2\nimport * as Unsafe_Coerce from \"../Unsafe.Coerce/index.js\";\nvar ChildQuery = /* #__PURE__ */ (function () {\n function ChildQuery(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n ChildQuery.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new ChildQuery(value0, value1, value2);\n };\n };\n };\n return ChildQuery;\n})();\nvar unChildQueryBox = Unsafe_Coerce.unsafeCoerce;\nvar mkChildQueryBox = Unsafe_Coerce.unsafeCoerce;\nvar functorChildQuery = {\n map: function (f) {\n return unChildQueryBox(function (v) {\n return mkChildQueryBox(new ChildQuery(function (dictApplicative) {\n return v.value0(dictApplicative);\n }, v.value1, function ($6) {\n return f(v.value2($6));\n }));\n });\n }\n};\nexport {\n ChildQuery,\n mkChildQueryBox,\n unChildQueryBox,\n functorChildQuery\n};\n", "export function reallyUnsafeRefEq(a) {\n return function (b) {\n return a === b;\n };\n}\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nvar UnsafeRefEqFallback = function (x) {\n return x;\n};\nvar UnsafeRefEq = function (x) {\n return x;\n};\nvar unsafeRefEq = $foreign.reallyUnsafeRefEq;\nvar eqUnsafeRefEqFallback = function (dictEq) {\n return {\n eq: function (v) {\n return function (v1) {\n return unsafeRefEq(v)(v1) || Data_Eq.eq(dictEq)(v)(v1);\n };\n }\n };\n};\nvar eqUnsafeRefEq = {\n eq: function (v) {\n return function (v1) {\n return unsafeRefEq(v)(v1);\n };\n }\n};\nexport {\n reallyUnsafeRefEq\n} from \"./foreign.js\";\nexport {\n unsafeRefEq,\n UnsafeRefEq,\n UnsafeRefEqFallback,\n eqUnsafeRefEq,\n eqUnsafeRefEqFallback\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Apply from \"../Control.Apply/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Data_Array from \"../Data.Array/index.js\";\nimport * as Data_Foldable from \"../Data.Foldable/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Monoid from \"../Data.Monoid/index.js\";\nimport * as Data_Semigroup from \"../Data.Semigroup/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Effect from \"../Effect/index.js\";\nimport * as Effect_Ref from \"../Effect.Ref/index.js\";\nimport * as Effect_Unsafe from \"../Effect.Unsafe/index.js\";\nimport * as Safe_Coerce from \"../Safe.Coerce/index.js\";\nimport * as Unsafe_Reference from \"../Unsafe.Reference/index.js\";\nvar Subscription = function (x) {\n return x;\n};\nvar Listener = function (x) {\n return x;\n};\nvar Emitter = function (x) {\n return x;\n};\nvar unsubscribe = function (v) {\n return v;\n};\nvar subscribe = function (v) {\n return function (k) {\n return v((function () {\n var $55 = Data_Functor[\"void\"](Effect.functorEffect);\n return function ($56) {\n return $55(k($56));\n };\n })());\n };\n};\nvar semigroupSubscription = /* #__PURE__ */ Effect.semigroupEffect(Data_Semigroup.semigroupUnit);\nvar notify = function (v) {\n return function (a) {\n return v(a);\n };\n};\nvar monoidSubscription = /* #__PURE__ */ Effect.monoidEffect(Data_Monoid.monoidUnit);\nvar makeEmitter = /* #__PURE__ */ Safe_Coerce.coerce();\nvar functorEmitter = {\n map: function (f) {\n return function (v) {\n return function (k) {\n return v(function ($57) {\n return k(f($57));\n });\n };\n };\n }\n};\nvar fold = function (f) {\n return function (v) {\n return function (b) {\n return function (k) {\n return function __do() {\n var result = Effect_Ref[\"new\"](b)();\n return v(function (a) {\n return Control_Bind.bind(Effect.bindEffect)(Effect_Ref.modify(f(a))(result))(k);\n })();\n };\n };\n };\n };\n};\nvar filter = function (p) {\n return function (v) {\n return function (k) {\n return v(function (a) {\n var $36 = p(a);\n if ($36) {\n return k(a);\n };\n return Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);\n });\n };\n };\n};\nvar create = function __do() {\n var subscribers = Effect_Ref[\"new\"]([ ])();\n return {\n emitter: function (k) {\n return function __do() {\n Effect_Ref.modify_(function (v) {\n return Data_Semigroup.append(Data_Semigroup.semigroupArray)(v)([ k ]);\n })(subscribers)();\n return Effect_Ref.modify_(Data_Array.deleteBy(Unsafe_Reference.unsafeRefEq)(k))(subscribers);\n };\n },\n listener: function (a) {\n return Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read(subscribers))(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableArray)(function (k) {\n return k(a);\n }));\n }\n };\n};\nvar fix = function (f) {\n var v = Effect_Unsafe.unsafePerformEffect(create);\n var v1 = f(v.emitter);\n return function (k) {\n return function __do() {\n var v2 = subscribe(v1.input)(notify(v.listener))();\n var v3 = subscribe(v1.output)(k)();\n return Control_Apply.applySecond(Effect.applyEffect)(v2)(v3);\n };\n };\n};\nvar contravariantListener = {\n cmap: function (f) {\n return function (v) {\n return Safe_Coerce.coerce()(function ($58) {\n return v(f($58));\n });\n };\n }\n};\nvar applyEmitter = {\n apply: function (v) {\n return function (v1) {\n return function (k) {\n return function __do() {\n var latestA = Effect_Ref[\"new\"](Data_Maybe.Nothing.value)();\n var latestB = Effect_Ref[\"new\"](Data_Maybe.Nothing.value)();\n var v2 = v(function (a) {\n return function __do() {\n Effect_Ref.write(new Data_Maybe.Just(a))(latestA)();\n return Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read(latestB))(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function ($59) {\n return k(a($59));\n }))();\n };\n })();\n var v3 = v1(function (b) {\n return function __do() {\n Effect_Ref.write(new Data_Maybe.Just(b))(latestB)();\n return Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read(latestA))(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function ($60) {\n return k((function (v3) {\n return v3(b);\n })($60));\n }))();\n };\n })();\n return Control_Apply.applySecond(Effect.applyEffect)(v2)(v3);\n };\n };\n };\n },\n Functor0: function () {\n return functorEmitter;\n }\n};\nvar semigroupEmitter = function (dictSemigroup) {\n return {\n append: Control_Apply.lift2(applyEmitter)(Data_Semigroup.append(dictSemigroup))\n };\n};\nvar monoidEmitter = function (dictMonoid) {\n return {\n mempty: Data_Monoid.mempty(Data_Monoid.monoidFn(Effect.monoidEffect(monoidSubscription))),\n Semigroup0: function () {\n return semigroupEmitter(dictMonoid.Semigroup0());\n }\n };\n};\nvar applicativeEmitter = {\n pure: function (a) {\n return function (k) {\n return function __do() {\n k(a)();\n return Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);\n };\n };\n },\n Apply0: function () {\n return applyEmitter;\n }\n};\nvar altEmitter = {\n alt: function (v) {\n return function (v1) {\n return function (k) {\n return function __do() {\n var v2 = v(k)();\n var v3 = v1(k)();\n return Control_Apply.applySecond(Effect.applyEffect)(v2)(v3);\n };\n };\n };\n },\n Functor0: function () {\n return functorEmitter;\n }\n};\nvar plusEmitter = {\n empty: function (v) {\n return Control_Applicative.pure(Effect.applicativeEffect)(Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit));\n },\n Alt0: function () {\n return altEmitter;\n }\n};\nvar alternativeEmitter = {\n Applicative0: function () {\n return applicativeEmitter;\n },\n Plus1: function () {\n return plusEmitter;\n }\n};\nexport {\n create,\n notify,\n makeEmitter,\n subscribe,\n unsubscribe,\n fold,\n filter,\n fix,\n functorEmitter,\n applyEmitter,\n applicativeEmitter,\n altEmitter,\n plusEmitter,\n alternativeEmitter,\n semigroupEmitter,\n monoidEmitter,\n contravariantListener,\n semigroupSubscription,\n monoidSubscription\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Applicative_Free from \"../Control.Applicative.Free/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Control_Monad_Error_Class from \"../Control.Monad.Error.Class/index.js\";\nimport * as Control_Monad_Free from \"../Control.Monad.Free/index.js\";\nimport * as Control_Monad_Reader_Class from \"../Control.Monad.Reader.Class/index.js\";\nimport * as Control_Monad_Rec_Class from \"../Control.Monad.Rec.Class/index.js\";\nimport * as Control_Monad_Writer_Class from \"../Control.Monad.Writer.Class/index.js\";\nimport * as Data_Bifunctor from \"../Data.Bifunctor/index.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_FoldableWithIndex from \"../Data.FoldableWithIndex/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Map_Internal from \"../Data.Map.Internal/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Newtype from \"../Data.Newtype/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Traversable from \"../Data.Traversable/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Effect_Aff_Class from \"../Effect.Aff.Class/index.js\";\nimport * as Effect_Class from \"../Effect.Class/index.js\";\nimport * as Halogen_Data_Slot from \"../Halogen.Data.Slot/index.js\";\nimport * as Halogen_Query_ChildQuery from \"../Halogen.Query.ChildQuery/index.js\";\nimport * as Halogen_Subscription from \"../Halogen.Subscription/index.js\";\nvar SubscriptionId = function (x) {\n return x;\n};\nvar ForkId = function (x) {\n return x;\n};\nvar State = /* #__PURE__ */ (function () {\n function State(value0) {\n this.value0 = value0;\n };\n State.create = function (value0) {\n return new State(value0);\n };\n return State;\n})();\nvar Subscribe = /* #__PURE__ */ (function () {\n function Subscribe(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Subscribe.create = function (value0) {\n return function (value1) {\n return new Subscribe(value0, value1);\n };\n };\n return Subscribe;\n})();\nvar Unsubscribe = /* #__PURE__ */ (function () {\n function Unsubscribe(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Unsubscribe.create = function (value0) {\n return function (value1) {\n return new Unsubscribe(value0, value1);\n };\n };\n return Unsubscribe;\n})();\nvar Lift = /* #__PURE__ */ (function () {\n function Lift(value0) {\n this.value0 = value0;\n };\n Lift.create = function (value0) {\n return new Lift(value0);\n };\n return Lift;\n})();\nvar ChildQuery = /* #__PURE__ */ (function () {\n function ChildQuery(value0) {\n this.value0 = value0;\n };\n ChildQuery.create = function (value0) {\n return new ChildQuery(value0);\n };\n return ChildQuery;\n})();\nvar Raise = /* #__PURE__ */ (function () {\n function Raise(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Raise.create = function (value0) {\n return function (value1) {\n return new Raise(value0, value1);\n };\n };\n return Raise;\n})();\nvar Par = /* #__PURE__ */ (function () {\n function Par(value0) {\n this.value0 = value0;\n };\n Par.create = function (value0) {\n return new Par(value0);\n };\n return Par;\n})();\nvar Fork = /* #__PURE__ */ (function () {\n function Fork(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Fork.create = function (value0) {\n return function (value1) {\n return new Fork(value0, value1);\n };\n };\n return Fork;\n})();\nvar Join = /* #__PURE__ */ (function () {\n function Join(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Join.create = function (value0) {\n return function (value1) {\n return new Join(value0, value1);\n };\n };\n return Join;\n})();\nvar Kill = /* #__PURE__ */ (function () {\n function Kill(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Kill.create = function (value0) {\n return function (value1) {\n return new Kill(value0, value1);\n };\n };\n return Kill;\n})();\nvar GetRef = /* #__PURE__ */ (function () {\n function GetRef(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n GetRef.create = function (value0) {\n return function (value1) {\n return new GetRef(value0, value1);\n };\n };\n return GetRef;\n})();\nvar HalogenAp = function (x) {\n return x;\n};\nvar HalogenM = function (x) {\n return x;\n};\nvar unsubscribe = function (sid) {\n return Control_Monad_Free.liftF(new Unsubscribe(sid, Data_Unit.unit));\n};\nvar subscribe$prime = function (esc) {\n return Control_Monad_Free.liftF(new Subscribe(esc, Data_Function[\"const\"](Data_Unit.unit)));\n};\nvar subscribe = function (es) {\n return Control_Monad_Free.liftF(new Subscribe(function (v) {\n return es;\n }, Control_Category.identity(Control_Category.categoryFn)));\n};\nvar semigroupHalogenM = function (dictSemigroup) {\n return Control_Monad_Free.semigroupFree(dictSemigroup);\n};\nvar raise = function (o) {\n return Control_Monad_Free.liftF(new Raise(o, Data_Unit.unit));\n};\nvar queryAll = function () {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (q) {\n var catMapMaybes = function (dictOrd1) {\n return Data_FoldableWithIndex.foldrWithIndex(Data_Map_Internal.foldableWithIndexMap)(function (k) {\n return function (v) {\n return function (acc) {\n return Data_Maybe.maybe(acc)(Data_Function.flip(Data_Map_Internal.insert(dictOrd1)(k))(acc))(v);\n };\n };\n })(Data_Map_Internal.empty);\n };\n return Control_Monad_Free.liftF(new ChildQuery(Halogen_Query_ChildQuery.mkChildQueryBox(new Halogen_Query_ChildQuery.ChildQuery(function (dictApplicative) {\n return function (k) {\n var $136 = Data_Functor.map((dictApplicative.Apply0()).Functor0())(catMapMaybes(dictOrd));\n var $137 = Data_Traversable.traverse(Data_Map_Internal.traversableMap)(dictApplicative)(k);\n var $138 = Halogen_Data_Slot.slots()(dictIsSymbol)(dictOrd)(label);\n return function ($139) {\n return $136($137($138($139)));\n };\n };\n }, q, Control_Category.identity(Control_Category.categoryFn)))));\n };\n };\n };\n };\n};\nvar query = function () {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (p) {\n return function (q) {\n return Control_Monad_Free.liftF(new ChildQuery(Halogen_Query_ChildQuery.mkChildQueryBox(new Halogen_Query_ChildQuery.ChildQuery(function (dictApplicative) {\n return function (k) {\n var $140 = Data_Maybe.maybe(Control_Applicative.pure(dictApplicative)(Data_Maybe.Nothing.value))(k);\n var $141 = Halogen_Data_Slot.lookup()(dictIsSymbol)(dictOrd)(label)(p);\n return function ($142) {\n return $140($141($142));\n };\n };\n }, q, Control_Category.identity(Control_Category.categoryFn)))));\n };\n };\n };\n };\n };\n};\nvar ordSubscriptionId = Data_Ord.ordInt;\nvar ordForkId = Data_Ord.ordInt;\nvar newtypeHalogenAp = {\n Coercible0: function () {\n return undefined;\n }\n};\nvar monoidHalogenM = function (dictMonoid) {\n return Control_Monad_Free.monoidFree(dictMonoid);\n};\nvar monadTransHalogenM = {\n lift: function (dictMonad) {\n return function ($143) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create($143)));\n };\n }\n};\nvar monadHalogenM = Control_Monad_Free.freeMonad;\nvar monadStateHalogenM = {\n state: function ($144) {\n return HalogenM(Control_Monad_Free.liftF(State.create($144)));\n },\n Monad0: function () {\n return monadHalogenM;\n }\n};\nvar monadTellHalogenM = function (dictMonadTell) {\n return {\n tell: (function () {\n var $145 = Control_Monad_Writer_Class.tell(dictMonadTell);\n return function ($146) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create($145($146))));\n };\n })(),\n Semigroup0: dictMonadTell.Semigroup0,\n Monad1: function () {\n return monadHalogenM;\n }\n };\n};\nvar monadThrowHalogenM = function (dictMonadThrow) {\n return {\n throwError: (function () {\n var $147 = Control_Monad_Error_Class.throwError(dictMonadThrow);\n return function ($148) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create($147($148))));\n };\n })(),\n Monad0: function () {\n return monadHalogenM;\n }\n };\n};\nvar monadEffectHalogenM = function (dictMonadEffect) {\n return {\n liftEffect: (function () {\n var $149 = Effect_Class.liftEffect(dictMonadEffect);\n return function ($150) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create($149($150))));\n };\n })(),\n Monad0: function () {\n return monadHalogenM;\n }\n };\n};\nvar monadAskHalogenM = function (dictMonadAsk) {\n return {\n ask: Control_Monad_Free.liftF(new Lift(Control_Monad_Reader_Class.ask(dictMonadAsk))),\n Monad0: function () {\n return monadHalogenM;\n }\n };\n};\nvar monadAffHalogenM = function (dictMonadAff) {\n return {\n liftAff: (function () {\n var $151 = Effect_Aff_Class.liftAff(dictMonadAff);\n return function ($152) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create($151($152))));\n };\n })(),\n MonadEffect0: function () {\n return monadEffectHalogenM(dictMonadAff.MonadEffect0());\n }\n };\n};\nvar mapOutput = function (f) {\n return function (v) {\n var go = function (v1) {\n if (v1 instanceof State) {\n return new State(v1.value0);\n };\n if (v1 instanceof Subscribe) {\n return new Subscribe(v1.value0, v1.value1);\n };\n if (v1 instanceof Unsubscribe) {\n return new Unsubscribe(v1.value0, v1.value1);\n };\n if (v1 instanceof Lift) {\n return new Lift(v1.value0);\n };\n if (v1 instanceof ChildQuery) {\n return new ChildQuery(v1.value0);\n };\n if (v1 instanceof Raise) {\n return new Raise(f(v1.value0), v1.value1);\n };\n if (v1 instanceof Par) {\n return new Par(Data_Newtype.over()()(HalogenAp)(Control_Applicative_Free.hoistFreeAp(mapOutput(f)))(v1.value0));\n };\n if (v1 instanceof Fork) {\n return new Fork(mapOutput(f)(v1.value0), v1.value1);\n };\n if (v1 instanceof Join) {\n return new Join(v1.value0, v1.value1);\n };\n if (v1 instanceof Kill) {\n return new Kill(v1.value0, v1.value1);\n };\n if (v1 instanceof GetRef) {\n return new GetRef(v1.value0, v1.value1);\n };\n throw new Error(\"Failed pattern match at Halogen.Query.HalogenM (line 290, column 8 - line 301, column 29): \" + [ v1.constructor.name ]);\n };\n return Control_Monad_Free.hoistFree(go)(v);\n };\n};\nvar mapAction = function (dictFunctor) {\n return function (f) {\n return function (v) {\n var go = function (v1) {\n if (v1 instanceof State) {\n return new State(v1.value0);\n };\n if (v1 instanceof Subscribe) {\n return new Subscribe((function () {\n var $153 = Data_Functor.map(Halogen_Subscription.functorEmitter)(f);\n return function ($154) {\n return $153(v1.value0($154));\n };\n })(), v1.value1);\n };\n if (v1 instanceof Unsubscribe) {\n return new Unsubscribe(v1.value0, v1.value1);\n };\n if (v1 instanceof Lift) {\n return new Lift(v1.value0);\n };\n if (v1 instanceof ChildQuery) {\n return new ChildQuery(v1.value0);\n };\n if (v1 instanceof Raise) {\n return new Raise(v1.value0, v1.value1);\n };\n if (v1 instanceof Par) {\n return new Par(Data_Newtype.over()()(HalogenAp)(Control_Applicative_Free.hoistFreeAp(mapAction(dictFunctor)(f)))(v1.value0));\n };\n if (v1 instanceof Fork) {\n return new Fork(mapAction(dictFunctor)(f)(v1.value0), v1.value1);\n };\n if (v1 instanceof Join) {\n return new Join(v1.value0, v1.value1);\n };\n if (v1 instanceof Kill) {\n return new Kill(v1.value0, v1.value1);\n };\n if (v1 instanceof GetRef) {\n return new GetRef(v1.value0, v1.value1);\n };\n throw new Error(\"Failed pattern match at Halogen.Query.HalogenM (line 269, column 8 - line 280, column 29): \" + [ v1.constructor.name ]);\n };\n return Control_Monad_Free.hoistFree(go)(v);\n };\n };\n};\nvar kill = function (fid) {\n return Control_Monad_Free.liftF(new Kill(fid, Data_Unit.unit));\n};\nvar join = function (fid) {\n return Control_Monad_Free.liftF(new Join(fid, Data_Unit.unit));\n};\nvar imapState = function (f) {\n return function (f$prime) {\n return function (v) {\n var go = function (v1) {\n if (v1 instanceof State) {\n return new State((function () {\n var $155 = Data_Functor.map(Data_Tuple.functorTuple)(f);\n return function ($156) {\n return $155(v1.value0(f$prime($156)));\n };\n })());\n };\n if (v1 instanceof Subscribe) {\n return new Subscribe(v1.value0, v1.value1);\n };\n if (v1 instanceof Unsubscribe) {\n return new Unsubscribe(v1.value0, v1.value1);\n };\n if (v1 instanceof Lift) {\n return new Lift(v1.value0);\n };\n if (v1 instanceof ChildQuery) {\n return new ChildQuery(v1.value0);\n };\n if (v1 instanceof Raise) {\n return new Raise(v1.value0, v1.value1);\n };\n if (v1 instanceof Par) {\n return new Par(Data_Newtype.over()()(HalogenAp)(Control_Applicative_Free.hoistFreeAp(imapState(f)(f$prime)))(v1.value0));\n };\n if (v1 instanceof Fork) {\n return new Fork(imapState(f)(f$prime)(v1.value0), v1.value1);\n };\n if (v1 instanceof Join) {\n return new Join(v1.value0, v1.value1);\n };\n if (v1 instanceof Kill) {\n return new Kill(v1.value0, v1.value1);\n };\n if (v1 instanceof GetRef) {\n return new GetRef(v1.value0, v1.value1);\n };\n throw new Error(\"Failed pattern match at Halogen.Query.HalogenM (line 247, column 8 - line 258, column 29): \" + [ v1.constructor.name ]);\n };\n return Control_Monad_Free.hoistFree(go)(v);\n };\n };\n};\nvar hoist = function (dictFunctor) {\n return function (nat) {\n return function (v) {\n var go = function (v1) {\n if (v1 instanceof State) {\n return new State(v1.value0);\n };\n if (v1 instanceof Subscribe) {\n return new Subscribe(v1.value0, v1.value1);\n };\n if (v1 instanceof Unsubscribe) {\n return new Unsubscribe(v1.value0, v1.value1);\n };\n if (v1 instanceof Lift) {\n return new Lift(nat(v1.value0));\n };\n if (v1 instanceof ChildQuery) {\n return new ChildQuery(v1.value0);\n };\n if (v1 instanceof Raise) {\n return new Raise(v1.value0, v1.value1);\n };\n if (v1 instanceof Par) {\n return new Par(Data_Newtype.over()()(HalogenAp)(Control_Applicative_Free.hoistFreeAp(hoist(dictFunctor)(nat)))(v1.value0));\n };\n if (v1 instanceof Fork) {\n return new Fork(hoist(dictFunctor)(nat)(v1.value0), v1.value1);\n };\n if (v1 instanceof Join) {\n return new Join(v1.value0, v1.value1);\n };\n if (v1 instanceof Kill) {\n return new Kill(v1.value0, v1.value1);\n };\n if (v1 instanceof GetRef) {\n return new GetRef(v1.value0, v1.value1);\n };\n throw new Error(\"Failed pattern match at Halogen.Query.HalogenM (line 312, column 8 - line 323, column 29): \" + [ v1.constructor.name ]);\n };\n return Control_Monad_Free.hoistFree(go)(v);\n };\n };\n};\nvar getRef = function (p) {\n return Control_Monad_Free.liftF(new GetRef(p, Control_Category.identity(Control_Category.categoryFn)));\n};\nvar functorHalogenM = Control_Monad_Free.freeFunctor;\nvar functorHalogenAp = Control_Applicative_Free.functorFreeAp;\nvar functorHalogenF = function (dictFunctor) {\n return {\n map: function (f) {\n return function (v) {\n if (v instanceof State) {\n return new State((function () {\n var $157 = Data_Bifunctor.lmap(Data_Bifunctor.bifunctorTuple)(f);\n return function ($158) {\n return $157(v.value0($158));\n };\n })());\n };\n if (v instanceof Subscribe) {\n return new Subscribe(v.value0, function ($159) {\n return f(v.value1($159));\n });\n };\n if (v instanceof Unsubscribe) {\n return new Unsubscribe(v.value0, f(v.value1));\n };\n if (v instanceof Lift) {\n return new Lift(Data_Functor.map(dictFunctor)(f)(v.value0));\n };\n if (v instanceof ChildQuery) {\n return new ChildQuery(Data_Functor.map(Halogen_Query_ChildQuery.functorChildQuery)(f)(v.value0));\n };\n if (v instanceof Raise) {\n return new Raise(v.value0, f(v.value1));\n };\n if (v instanceof Par) {\n return new Par(Data_Functor.map(functorHalogenAp)(f)(v.value0));\n };\n if (v instanceof Fork) {\n return new Fork(v.value0, function ($160) {\n return f(v.value1($160));\n });\n };\n if (v instanceof Join) {\n return new Join(v.value0, f(v.value1));\n };\n if (v instanceof Kill) {\n return new Kill(v.value0, f(v.value1));\n };\n if (v instanceof GetRef) {\n return new GetRef(v.value0, function ($161) {\n return f(v.value1($161));\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Query.HalogenM (line 57, column 11 - line 68, column 37): \" + [ v.constructor.name ]);\n };\n }\n };\n};\nvar fork = function (hmu) {\n return Control_Monad_Free.liftF(new Fork(hmu, Control_Category.identity(Control_Category.categoryFn)));\n};\nvar eqSubscriptionId = Data_Eq.eqInt;\nvar eqForkId = Data_Eq.eqInt;\nvar bindHalogenM = Control_Monad_Free.freeBind;\nvar applyHalogenM = Control_Monad_Free.freeApply;\nvar applyHalogenAp = Control_Applicative_Free.applyFreeAp;\nvar applicativeHalogenM = Control_Monad_Free.freeApplicative;\nvar monadRecHalogenM = {\n tailRecM: function (k) {\n return function (a) {\n return Control_Bind.bind(bindHalogenM)(k(a))(function (v) {\n if (v instanceof Control_Monad_Rec_Class.Loop) {\n return Control_Monad_Rec_Class.tailRecM(monadRecHalogenM)(k)(v.value0);\n };\n if (v instanceof Control_Monad_Rec_Class.Done) {\n return Control_Applicative.pure(applicativeHalogenM)(v.value0);\n };\n throw new Error(\"Failed pattern match at Halogen.Query.HalogenM (line 105, column 26 - line 107, column 21): \" + [ v.constructor.name ]);\n });\n };\n },\n Monad0: function () {\n return monadHalogenM;\n }\n};\nvar applicativeHalogenAp = Control_Applicative_Free.applicativeFreeAp;\nvar parallelHalogenM = {\n parallel: function ($162) {\n return HalogenAp(Control_Applicative_Free.liftFreeAp($162));\n },\n sequential: function ($163) {\n return HalogenM(Control_Monad_Free.liftF(Par.create($163)));\n },\n Monad0: function () {\n return monadHalogenM;\n },\n Applicative1: function () {\n return applicativeHalogenAp;\n }\n};\nexport {\n State,\n Subscribe,\n Unsubscribe,\n Lift,\n ChildQuery,\n Raise,\n Par,\n Fork,\n Join,\n Kill,\n GetRef,\n HalogenM,\n HalogenAp,\n raise,\n query,\n queryAll,\n SubscriptionId,\n subscribe,\n subscribe$prime,\n unsubscribe,\n ForkId,\n fork,\n join,\n kill,\n getRef,\n imapState,\n mapAction,\n mapOutput,\n hoist,\n functorHalogenF,\n functorHalogenM,\n applyHalogenM,\n applicativeHalogenM,\n bindHalogenM,\n monadHalogenM,\n semigroupHalogenM,\n monoidHalogenM,\n monadEffectHalogenM,\n monadAffHalogenM,\n parallelHalogenM,\n monadTransHalogenM,\n monadRecHalogenM,\n monadStateHalogenM,\n monadAskHalogenM,\n monadTellHalogenM,\n monadThrowHalogenM,\n newtypeHalogenAp,\n functorHalogenAp,\n applyHalogenAp,\n applicativeHalogenAp,\n eqSubscriptionId,\n ordSubscriptionId,\n eqForkId,\n ordForkId\n};\n", "// Generated by purs version 0.15.2\nimport * as Data_Coyoneda from \"../Data.Coyoneda/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nvar Initialize = /* #__PURE__ */ (function () {\n function Initialize(value0) {\n this.value0 = value0;\n };\n Initialize.create = function (value0) {\n return new Initialize(value0);\n };\n return Initialize;\n})();\nvar Finalize = /* #__PURE__ */ (function () {\n function Finalize(value0) {\n this.value0 = value0;\n };\n Finalize.create = function (value0) {\n return new Finalize(value0);\n };\n return Finalize;\n})();\nvar Receive = /* #__PURE__ */ (function () {\n function Receive(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Receive.create = function (value0) {\n return function (value1) {\n return new Receive(value0, value1);\n };\n };\n return Receive;\n})();\nvar Action = /* #__PURE__ */ (function () {\n function Action(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Action.create = function (value0) {\n return function (value1) {\n return new Action(value0, value1);\n };\n };\n return Action;\n})();\nvar Query = /* #__PURE__ */ (function () {\n function Query(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Query.create = function (value0) {\n return function (value1) {\n return new Query(value0, value1);\n };\n };\n return Query;\n})();\nvar functorHalogenQ = {\n map: function (f) {\n return function (m) {\n if (m instanceof Initialize) {\n return new Initialize(f(m.value0));\n };\n if (m instanceof Finalize) {\n return new Finalize(f(m.value0));\n };\n if (m instanceof Receive) {\n return new Receive(m.value0, f(m.value1));\n };\n if (m instanceof Action) {\n return new Action(m.value0, f(m.value1));\n };\n if (m instanceof Query) {\n return new Query(Data_Functor.map(Data_Coyoneda.functorCoyoneda)(f)(m.value0), Data_Functor.map(Data_Functor.functorFn)(f)(m.value1));\n };\n throw new Error(\"Failed pattern match at Halogen.Query.HalogenQ (line 0, column 0 - line 0, column 0): \" + [ m.constructor.name ]);\n };\n }\n};\nvar bifunctorHalogenQ = {\n bimap: function (f) {\n return function (g) {\n return function (v) {\n if (v instanceof Initialize) {\n return new Initialize(g(v.value0));\n };\n if (v instanceof Finalize) {\n return new Finalize(g(v.value0));\n };\n if (v instanceof Receive) {\n return new Receive(f(v.value0), g(v.value1));\n };\n if (v instanceof Action) {\n return new Action(v.value0, g(v.value1));\n };\n if (v instanceof Query) {\n return new Query(Data_Functor.map(Data_Coyoneda.functorCoyoneda)(g)(v.value0), Data_Functor.map(Data_Functor.functorFn)(g)(v.value1));\n };\n throw new Error(\"Failed pattern match at Halogen.Query.HalogenQ (line 16, column 15 - line 21, column 45): \" + [ v.constructor.name ]);\n };\n };\n }\n};\nexport {\n Initialize,\n Finalize,\n Receive,\n Action,\n Query,\n bifunctorHalogenQ,\n functorHalogenQ\n};\n", "// Generated by purs version 0.15.2\nimport * as Data_Function_Uncurried from \"../Data.Function.Uncurried/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Halogen_VDom_DOM from \"../Halogen.VDom.DOM/index.js\";\nimport * as Halogen_VDom_Machine from \"../Halogen.VDom.Machine/index.js\";\nimport * as Halogen_VDom_Util from \"../Halogen.VDom.Util/index.js\";\nimport * as Unsafe_Coerce from \"../Unsafe.Coerce/index.js\";\nvar $runtime_lazy = function (name, moduleName, init) {\n var state = 0;\n var val;\n return function (lineNumber) {\n if (state === 2) return val;\n if (state === 1) throw new ReferenceError(name + \" was needed before it finished initializing (module \" + moduleName + \", line \" + lineNumber + \")\", moduleName, lineNumber);\n state = 1;\n val = init();\n state = 2;\n return val;\n };\n};\nvar Thunk = /* #__PURE__ */ (function () {\n function Thunk(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Thunk.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Thunk(value0, value1, value2, value3);\n };\n };\n };\n };\n return Thunk;\n})();\nvar unsafeThunkId = Unsafe_Coerce.unsafeCoerce;\nvar unsafeEqThunk = function (v, v1) {\n return Halogen_VDom_Util.refEq(v.value0, v1.value0) && (Halogen_VDom_Util.refEq(v.value1, v1.value1) && v.value1(v.value3, v1.value3));\n};\nvar thunk = function (tid, eqFn, f, a) {\n return new Thunk(tid, eqFn, f, a);\n};\nvar thunk1 = function (f, a) {\n return thunk(unsafeThunkId(f), Halogen_VDom_Util.refEq, f, a);\n};\nvar thunk2 = /* #__PURE__ */ (function () {\n var eqFn = function (a, b) {\n return Halogen_VDom_Util.refEq(a[\"_1\"], b[\"_1\"]) && Halogen_VDom_Util.refEq(a[\"_2\"], b[\"_2\"]);\n };\n return function (f, a, b) {\n return thunk(unsafeThunkId(f), eqFn, function (v) {\n return f(v[\"_1\"])(v[\"_2\"]);\n }, {\n \"_1\": a,\n \"_2\": b\n });\n };\n})();\nvar thunk3 = /* #__PURE__ */ (function () {\n var eqFn = function (a, b) {\n return Halogen_VDom_Util.refEq(a[\"_1\"], b[\"_1\"]) && (Halogen_VDom_Util.refEq(a[\"_2\"], b[\"_2\"]) && Halogen_VDom_Util.refEq(a[\"_3\"], b[\"_3\"]));\n };\n return function (f, a, b, c) {\n return thunk(unsafeThunkId(f), eqFn, function (v) {\n return f(v[\"_1\"])(v[\"_2\"])(v[\"_3\"]);\n }, {\n \"_1\": a,\n \"_2\": b,\n \"_3\": c\n });\n };\n})();\nvar thunked = function (eqFn) {\n return function (f) {\n var tid = unsafeThunkId({\n f: f\n });\n var eqFn$prime = Data_Function_Uncurried.mkFn2(eqFn);\n return function (a) {\n return thunk(tid, eqFn$prime, f, a);\n };\n };\n};\nvar runThunk = function (v) {\n return v.value2(v.value3);\n};\nvar mapThunk = function (k) {\n return function (v) {\n return new Thunk(v.value0, v.value1, function ($46) {\n return k(v.value2($46));\n }, v.value3);\n };\n};\nvar hoist = mapThunk;\nvar functorThunk = function (dictFunctor) {\n return {\n map: function (f) {\n return function (v) {\n return new Thunk(v.value0, v.value1, (function () {\n var $47 = Data_Functor.map(dictFunctor)(f);\n return function ($48) {\n return $47(v.value2($48));\n };\n })(), v.value3);\n };\n }\n };\n};\nvar buildThunk = function (toVDom) {\n var haltThunk = function (state) {\n return Halogen_VDom_Machine.halt(state.vdom);\n };\n var $lazy_patchThunk = $runtime_lazy(\"patchThunk\", \"Halogen.VDom.Thunk\", function () {\n return function (state, t2) {\n var $43 = unsafeEqThunk(state.thunk, t2);\n if ($43) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(state.vdom), state, $lazy_patchThunk(112), haltThunk));\n };\n var vdom = Halogen_VDom_Machine.step(state.vdom, toVDom(runThunk(t2)));\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(vdom), {\n vdom: vdom,\n thunk: t2\n }, $lazy_patchThunk(115), haltThunk));\n };\n });\n var patchThunk = $lazy_patchThunk(108);\n var renderThunk = function (spec) {\n return function (t) {\n var vdom = Halogen_VDom_DOM.buildVDom(spec)(toVDom(runThunk(t)));\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(vdom), {\n thunk: t,\n vdom: vdom\n }, patchThunk, haltThunk));\n };\n };\n return renderThunk;\n};\nexport {\n buildThunk,\n runThunk,\n hoist,\n mapThunk,\n thunked,\n thunk1,\n thunk2,\n thunk3,\n functorThunk\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Data_Bifunctor from \"../Data.Bifunctor/index.js\";\nimport * as Data_Coyoneda from \"../Data.Coyoneda/index.js\";\nimport * as Data_Foldable from \"../Data.Foldable/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Halogen_Data_Slot from \"../Halogen.Data.Slot/index.js\";\nimport * as Halogen_HTML_Core from \"../Halogen.HTML.Core/index.js\";\nimport * as Halogen_Query_HalogenM from \"../Halogen.Query.HalogenM/index.js\";\nimport * as Halogen_Query_HalogenQ from \"../Halogen.Query.HalogenQ/index.js\";\nimport * as Halogen_VDom_Thunk from \"../Halogen.VDom.Thunk/index.js\";\nimport * as Unsafe_Coerce from \"../Unsafe.Coerce/index.js\";\nvar ComponentSlot = /* #__PURE__ */ (function () {\n function ComponentSlot(value0) {\n this.value0 = value0;\n };\n ComponentSlot.create = function (value0) {\n return new ComponentSlot(value0);\n };\n return ComponentSlot;\n})();\nvar ThunkSlot = /* #__PURE__ */ (function () {\n function ThunkSlot(value0) {\n this.value0 = value0;\n };\n ThunkSlot.create = function (value0) {\n return new ThunkSlot(value0);\n };\n return ThunkSlot;\n})();\nvar unComponentSlot = Unsafe_Coerce.unsafeCoerce;\nvar unComponent = Unsafe_Coerce.unsafeCoerce;\nvar mkEval = function (args) {\n return function (v) {\n if (v instanceof Halogen_Query_HalogenQ.Initialize) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.initialize))(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenQ.Finalize) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.finalize))(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenQ.Receive) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.receive(v.value0)))(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenQ.Action) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(args.handleAction(v.value0))(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenQ.Query) {\n return Data_Coyoneda.unCoyoneda(function (g) {\n var $24 = Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(Data_Maybe.maybe(v.value1(Data_Unit.unit))(g));\n return function ($25) {\n return $24(args.handleQuery($25));\n };\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Halogen.Component (line 182, column 15 - line 192, column 71): \" + [ v.constructor.name ]);\n };\n};\nvar mkComponentSlot = Unsafe_Coerce.unsafeCoerce;\nvar mkComponent = Unsafe_Coerce.unsafeCoerce;\nvar hoistSlot = function (dictFunctor) {\n return function (nat) {\n return function (v) {\n if (v instanceof ComponentSlot) {\n return unComponentSlot(function (slot) {\n return new ComponentSlot(mkComponentSlot({\n get: slot.get,\n pop: slot.pop,\n set: slot.set,\n component: hoist(dictFunctor)(nat)(slot.component),\n input: slot.input,\n output: slot.output\n }));\n })(v.value0);\n };\n if (v instanceof ThunkSlot) {\n return new ThunkSlot(Halogen_VDom_Thunk.hoist(Data_Bifunctor.lmap(Halogen_HTML_Core.bifunctorHTML)(hoistSlot(dictFunctor)(nat)))(v.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.Component (line 279, column 17 - line 284, column 53): \" + [ v.constructor.name ]);\n };\n };\n};\nvar hoist = function (dictFunctor) {\n return function (nat) {\n return unComponent(function (c) {\n return mkComponent({\n initialState: c.initialState,\n render: (function () {\n var $26 = Data_Bifunctor.lmap(Halogen_HTML_Core.bifunctorHTML)(hoistSlot(dictFunctor)(nat));\n return function ($27) {\n return $26(c.render($27));\n };\n })(),\n \"eval\": (function () {\n var $28 = Halogen_Query_HalogenM.hoist(dictFunctor)(nat);\n return function ($29) {\n return $28(c[\"eval\"]($29));\n };\n })()\n });\n });\n };\n};\nvar functorComponentSlotBox = {\n map: function (f) {\n return unComponentSlot(function (slot) {\n return mkComponentSlot({\n get: slot.get,\n pop: slot.pop,\n set: slot.set,\n component: slot.component,\n input: slot.input,\n output: Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(f))(slot.output)\n });\n });\n }\n};\nvar functorComponentSlot = {\n map: function (f) {\n return function (v) {\n if (v instanceof ComponentSlot) {\n return new ComponentSlot(Data_Functor.map(functorComponentSlotBox)(f)(v.value0));\n };\n if (v instanceof ThunkSlot) {\n return new ThunkSlot(Halogen_VDom_Thunk.mapThunk(Data_Bifunctor.bimap(Halogen_HTML_Core.bifunctorHTML)(Data_Functor.map(functorComponentSlot)(f))(f))(v.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.Component (line 209, column 11 - line 211, column 74): \" + [ v.constructor.name ]);\n };\n }\n};\nvar defaultEval = /* #__PURE__ */ (function () {\n return {\n handleAction: Data_Function[\"const\"](Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit)),\n handleQuery: Data_Function[\"const\"](Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Maybe.Nothing.value)),\n receive: Data_Function[\"const\"](Data_Maybe.Nothing.value),\n initialize: Data_Maybe.Nothing.value,\n finalize: Data_Maybe.Nothing.value\n };\n})();\nvar componentSlot = function () {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (p) {\n return function (comp) {\n return function (input) {\n return function (output) {\n return mkComponentSlot({\n get: Halogen_Data_Slot.lookup()(dictIsSymbol)(dictOrd)(label)(p),\n pop: Halogen_Data_Slot.pop()(dictIsSymbol)(dictOrd)(label)(p),\n set: Halogen_Data_Slot.insert()(dictIsSymbol)(dictOrd)(label)(p),\n component: comp,\n input: input,\n output: output\n });\n };\n };\n };\n };\n };\n };\n };\n};\nexport {\n mkComponent,\n unComponent,\n hoist,\n mkEval,\n defaultEval,\n ComponentSlot,\n ThunkSlot,\n componentSlot,\n mkComponentSlot,\n unComponentSlot,\n hoistSlot,\n functorComponentSlotBox,\n functorComponentSlot\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Halogen_HTML_Core from \"../Halogen.HTML.Core/index.js\";\nimport * as Halogen_VDom_Types from \"../Halogen.VDom.Types/index.js\";\nvar withKeys_ = function (ctor) {\n return function (children) {\n var v = ctor([ ]);\n if (v instanceof Halogen_VDom_Types.Elem) {\n return new Halogen_VDom_Types.Keyed(v.value0, v.value1, v.value2, children);\n };\n return v;\n };\n};\nvar withKeys = function (ctor) {\n return function (props) {\n return function (children) {\n var v = ctor(props)([ ]);\n if (v instanceof Halogen_VDom_Types.Elem) {\n return new Halogen_VDom_Types.Keyed(v.value0, v.value1, v.value2, children);\n };\n return v;\n };\n };\n};\nvar keyedNS = /* #__PURE__ */ (function () {\n var $12 = Control_Applicative.pure(Data_Maybe.applicativeMaybe);\n return function ($13) {\n return Halogen_HTML_Core.keyed($12($13));\n };\n})();\nvar keyed = /* #__PURE__ */ (function () {\n return Halogen_HTML_Core.keyed(Data_Maybe.Nothing.value);\n})();\nvar elementNS = /* #__PURE__ */ (function () {\n var $14 = Control_Applicative.pure(Data_Maybe.applicativeMaybe);\n return function ($15) {\n return Halogen_HTML_Core.element($14($15));\n };\n})();\nvar element = /* #__PURE__ */ (function () {\n return Halogen_HTML_Core.element(Data_Maybe.Nothing.value);\n})();\nvar em = /* #__PURE__ */ element(\"em\");\nvar em_ = /* #__PURE__ */ em([ ]);\nvar embed = /* #__PURE__ */ element(\"embed\");\nvar embed_ = /* #__PURE__ */ embed([ ]);\nvar fieldset = /* #__PURE__ */ element(\"fieldset\");\nvar fieldset_ = /* #__PURE__ */ fieldset([ ]);\nvar figcaption = /* #__PURE__ */ element(\"figcaption\");\nvar figcaption_ = /* #__PURE__ */ figcaption([ ]);\nvar figure = /* #__PURE__ */ element(\"figure\");\nvar figure_ = /* #__PURE__ */ figure([ ]);\nvar footer = /* #__PURE__ */ element(\"footer\");\nvar footer_ = /* #__PURE__ */ footer([ ]);\nvar form = /* #__PURE__ */ element(\"form\");\nvar form_ = /* #__PURE__ */ form([ ]);\nvar h1 = /* #__PURE__ */ element(\"h1\");\nvar h1_ = /* #__PURE__ */ h1([ ]);\nvar h2 = /* #__PURE__ */ element(\"h2\");\nvar h2_ = /* #__PURE__ */ h2([ ]);\nvar h3 = /* #__PURE__ */ element(\"h3\");\nvar h3_ = /* #__PURE__ */ h3([ ]);\nvar h4 = /* #__PURE__ */ element(\"h4\");\nvar h4_ = /* #__PURE__ */ h4([ ]);\nvar h5 = /* #__PURE__ */ element(\"h5\");\nvar h5_ = /* #__PURE__ */ h5([ ]);\nvar h6 = /* #__PURE__ */ element(\"h6\");\nvar h6_ = /* #__PURE__ */ h6([ ]);\nvar head = /* #__PURE__ */ element(\"head\");\nvar head_ = /* #__PURE__ */ head([ ]);\nvar header = /* #__PURE__ */ element(\"header\");\nvar header_ = /* #__PURE__ */ header([ ]);\nvar hr = function (props) {\n return element(\"hr\")(props)([ ]);\n};\nvar hr_ = /* #__PURE__ */ hr([ ]);\nvar html = /* #__PURE__ */ element(\"html\");\nvar html_ = /* #__PURE__ */ html([ ]);\nvar i = /* #__PURE__ */ element(\"i\");\nvar i_ = /* #__PURE__ */ i([ ]);\nvar iframe = function (props) {\n return element(\"iframe\")(props)([ ]);\n};\nvar img = function (props) {\n return element(\"img\")(props)([ ]);\n};\nvar input = function (props) {\n return element(\"input\")(props)([ ]);\n};\nvar ins = /* #__PURE__ */ element(\"ins\");\nvar ins_ = /* #__PURE__ */ ins([ ]);\nvar kbd = /* #__PURE__ */ element(\"kbd\");\nvar kbd_ = /* #__PURE__ */ kbd([ ]);\nvar label = /* #__PURE__ */ element(\"label\");\nvar label_ = /* #__PURE__ */ label([ ]);\nvar legend = /* #__PURE__ */ element(\"legend\");\nvar legend_ = /* #__PURE__ */ legend([ ]);\nvar li = /* #__PURE__ */ element(\"li\");\nvar li_ = /* #__PURE__ */ li([ ]);\nvar link = function (props) {\n return element(\"link\")(props)([ ]);\n};\nvar main = /* #__PURE__ */ element(\"main\");\nvar main_ = /* #__PURE__ */ main([ ]);\nvar map = /* #__PURE__ */ element(\"map\");\nvar map_ = /* #__PURE__ */ map([ ]);\nvar mark = /* #__PURE__ */ element(\"mark\");\nvar mark_ = /* #__PURE__ */ mark([ ]);\nvar menu = /* #__PURE__ */ element(\"menu\");\nvar menu_ = /* #__PURE__ */ menu([ ]);\nvar menuitem = /* #__PURE__ */ element(\"menuitem\");\nvar menuitem_ = /* #__PURE__ */ menuitem([ ]);\nvar meta = function (props) {\n return element(\"meta\")(props)([ ]);\n};\nvar meter = /* #__PURE__ */ element(\"meter\");\nvar meter_ = /* #__PURE__ */ meter([ ]);\nvar nav = /* #__PURE__ */ element(\"nav\");\nvar nav_ = /* #__PURE__ */ nav([ ]);\nvar noscript = /* #__PURE__ */ element(\"noscript\");\nvar noscript_ = /* #__PURE__ */ noscript([ ]);\nvar object = /* #__PURE__ */ element(\"object\");\nvar object_ = /* #__PURE__ */ object([ ]);\nvar ol = /* #__PURE__ */ element(\"ol\");\nvar ol_ = /* #__PURE__ */ ol([ ]);\nvar optgroup = /* #__PURE__ */ element(\"optgroup\");\nvar optgroup_ = /* #__PURE__ */ optgroup([ ]);\nvar option = /* #__PURE__ */ element(\"option\");\nvar option_ = /* #__PURE__ */ option([ ]);\nvar output = /* #__PURE__ */ element(\"output\");\nvar output_ = /* #__PURE__ */ output([ ]);\nvar p = /* #__PURE__ */ element(\"p\");\nvar p_ = /* #__PURE__ */ p([ ]);\nvar param = function (props) {\n return element(\"param\")(props)([ ]);\n};\nvar pre = /* #__PURE__ */ element(\"pre\");\nvar pre_ = /* #__PURE__ */ pre([ ]);\nvar progress = /* #__PURE__ */ element(\"progress\");\nvar progress_ = /* #__PURE__ */ progress([ ]);\nvar q = /* #__PURE__ */ element(\"q\");\nvar q_ = /* #__PURE__ */ q([ ]);\nvar rp = /* #__PURE__ */ element(\"rp\");\nvar rp_ = /* #__PURE__ */ rp([ ]);\nvar rt = /* #__PURE__ */ element(\"rt\");\nvar rt_ = /* #__PURE__ */ rt([ ]);\nvar ruby = /* #__PURE__ */ element(\"ruby\");\nvar ruby_ = /* #__PURE__ */ ruby([ ]);\nvar samp = /* #__PURE__ */ element(\"samp\");\nvar samp_ = /* #__PURE__ */ samp([ ]);\nvar script = /* #__PURE__ */ element(\"script\");\nvar script_ = /* #__PURE__ */ script([ ]);\nvar section = /* #__PURE__ */ element(\"section\");\nvar section_ = /* #__PURE__ */ section([ ]);\nvar select = /* #__PURE__ */ element(\"select\");\nvar select_ = /* #__PURE__ */ select([ ]);\nvar small = /* #__PURE__ */ element(\"small\");\nvar small_ = /* #__PURE__ */ small([ ]);\nvar source = function (props) {\n return element(\"source\")(props)([ ]);\n};\nvar span = /* #__PURE__ */ element(\"span\");\nvar span_ = /* #__PURE__ */ span([ ]);\nvar strong = /* #__PURE__ */ element(\"strong\");\nvar strong_ = /* #__PURE__ */ strong([ ]);\nvar style = /* #__PURE__ */ element(\"style\");\nvar style_ = /* #__PURE__ */ style([ ]);\nvar sub = /* #__PURE__ */ element(\"sub\");\nvar sub_ = /* #__PURE__ */ sub([ ]);\nvar summary = /* #__PURE__ */ element(\"summary\");\nvar summary_ = /* #__PURE__ */ summary([ ]);\nvar sup = /* #__PURE__ */ element(\"sup\");\nvar sup_ = /* #__PURE__ */ sup([ ]);\nvar table = /* #__PURE__ */ element(\"table\");\nvar table_ = /* #__PURE__ */ table([ ]);\nvar tbody = /* #__PURE__ */ element(\"tbody\");\nvar tbody_ = /* #__PURE__ */ tbody([ ]);\nvar td = /* #__PURE__ */ element(\"td\");\nvar td_ = /* #__PURE__ */ td([ ]);\nvar textarea = function (es) {\n return element(\"textarea\")(es)([ ]);\n};\nvar tfoot = /* #__PURE__ */ element(\"tfoot\");\nvar tfoot_ = /* #__PURE__ */ tfoot([ ]);\nvar th = /* #__PURE__ */ element(\"th\");\nvar th_ = /* #__PURE__ */ th([ ]);\nvar thead = /* #__PURE__ */ element(\"thead\");\nvar thead_ = /* #__PURE__ */ thead([ ]);\nvar time = /* #__PURE__ */ element(\"time\");\nvar time_ = /* #__PURE__ */ time([ ]);\nvar title = /* #__PURE__ */ element(\"title\");\nvar title_ = /* #__PURE__ */ title([ ]);\nvar tr = /* #__PURE__ */ element(\"tr\");\nvar tr_ = /* #__PURE__ */ tr([ ]);\nvar track = function (props) {\n return element(\"track\")(props)([ ]);\n};\nvar u = /* #__PURE__ */ element(\"u\");\nvar u_ = /* #__PURE__ */ u([ ]);\nvar ul = /* #__PURE__ */ element(\"ul\");\nvar ul_ = /* #__PURE__ */ ul([ ]);\nvar $$var = /* #__PURE__ */ element(\"var\");\nvar var_ = /* #__PURE__ */ $$var([ ]);\nvar video = /* #__PURE__ */ element(\"video\");\nvar video_ = /* #__PURE__ */ video([ ]);\nvar wbr = function (props) {\n return element(\"wbr\")(props)([ ]);\n};\nvar dt = /* #__PURE__ */ element(\"dt\");\nvar dt_ = /* #__PURE__ */ dt([ ]);\nvar dl = /* #__PURE__ */ element(\"dl\");\nvar dl_ = /* #__PURE__ */ dl([ ]);\nvar div = /* #__PURE__ */ element(\"div\");\nvar div_ = /* #__PURE__ */ div([ ]);\nvar dialog = /* #__PURE__ */ element(\"dialog\");\nvar dialog_ = /* #__PURE__ */ dialog([ ]);\nvar dfn = /* #__PURE__ */ element(\"dfn\");\nvar dfn_ = /* #__PURE__ */ dfn([ ]);\nvar details = /* #__PURE__ */ element(\"details\");\nvar details_ = /* #__PURE__ */ details([ ]);\nvar del = /* #__PURE__ */ element(\"del\");\nvar del_ = /* #__PURE__ */ del([ ]);\nvar dd = /* #__PURE__ */ element(\"dd\");\nvar dd_ = /* #__PURE__ */ dd([ ]);\nvar datalist = /* #__PURE__ */ element(\"datalist\");\nvar datalist_ = /* #__PURE__ */ datalist([ ]);\nvar command = function (props) {\n return element(\"command\")(props)([ ]);\n};\nvar colgroup = /* #__PURE__ */ element(\"colgroup\");\nvar colgroup_ = /* #__PURE__ */ colgroup([ ]);\nvar col = function (props) {\n return element(\"col\")(props)([ ]);\n};\nvar code = /* #__PURE__ */ element(\"code\");\nvar code_ = /* #__PURE__ */ code([ ]);\nvar cite = /* #__PURE__ */ element(\"cite\");\nvar cite_ = /* #__PURE__ */ cite([ ]);\nvar caption = /* #__PURE__ */ element(\"caption\");\nvar caption_ = /* #__PURE__ */ caption([ ]);\nvar canvas = function (props) {\n return element(\"canvas\")(props)([ ]);\n};\nvar button = /* #__PURE__ */ element(\"button\");\nvar button_ = /* #__PURE__ */ button([ ]);\nvar br = function (props) {\n return element(\"br\")(props)([ ]);\n};\nvar br_ = /* #__PURE__ */ br([ ]);\nvar body = /* #__PURE__ */ element(\"body\");\nvar body_ = /* #__PURE__ */ body([ ]);\nvar blockquote = /* #__PURE__ */ element(\"blockquote\");\nvar blockquote_ = /* #__PURE__ */ blockquote([ ]);\nvar bdo = /* #__PURE__ */ element(\"bdo\");\nvar bdo_ = /* #__PURE__ */ bdo([ ]);\nvar bdi = /* #__PURE__ */ element(\"bdi\");\nvar bdi_ = /* #__PURE__ */ bdi([ ]);\nvar base = function (props) {\n return element(\"base\")(props)([ ]);\n};\nvar b = /* #__PURE__ */ element(\"b\");\nvar b_ = /* #__PURE__ */ b([ ]);\nvar audio = /* #__PURE__ */ element(\"audio\");\nvar audio_ = /* #__PURE__ */ audio([ ]);\nvar aside = /* #__PURE__ */ element(\"aside\");\nvar aside_ = /* #__PURE__ */ aside([ ]);\nvar article = /* #__PURE__ */ element(\"article\");\nvar article_ = /* #__PURE__ */ article([ ]);\nvar area = function (props) {\n return element(\"area\")(props)([ ]);\n};\nvar address = /* #__PURE__ */ element(\"address\");\nvar address_ = /* #__PURE__ */ address([ ]);\nvar abbr = /* #__PURE__ */ element(\"abbr\");\nvar abbr_ = /* #__PURE__ */ abbr([ ]);\nvar a = /* #__PURE__ */ element(\"a\");\nvar a_ = /* #__PURE__ */ a([ ]);\nexport {\n element,\n elementNS,\n keyed,\n keyedNS,\n withKeys,\n withKeys_,\n a,\n a_,\n abbr,\n abbr_,\n address,\n address_,\n area,\n article,\n article_,\n aside,\n aside_,\n audio,\n audio_,\n b,\n b_,\n base,\n bdi,\n bdi_,\n bdo,\n bdo_,\n blockquote,\n blockquote_,\n body,\n body_,\n br,\n br_,\n button,\n button_,\n canvas,\n caption,\n caption_,\n cite,\n cite_,\n code,\n code_,\n col,\n colgroup,\n colgroup_,\n command,\n datalist,\n datalist_,\n dd,\n dd_,\n del,\n del_,\n details,\n details_,\n dfn,\n dfn_,\n dialog,\n dialog_,\n div,\n div_,\n dl,\n dl_,\n dt,\n dt_,\n em,\n em_,\n embed,\n embed_,\n fieldset,\n fieldset_,\n figcaption,\n figcaption_,\n figure,\n figure_,\n footer,\n footer_,\n form,\n form_,\n h1,\n h1_,\n h2,\n h2_,\n h3,\n h3_,\n h4,\n h4_,\n h5,\n h5_,\n h6,\n h6_,\n head,\n head_,\n header,\n header_,\n hr,\n hr_,\n html,\n html_,\n i,\n i_,\n iframe,\n img,\n input,\n ins,\n ins_,\n kbd,\n kbd_,\n label,\n label_,\n legend,\n legend_,\n li,\n li_,\n link,\n main,\n main_,\n map,\n map_,\n mark,\n mark_,\n menu,\n menu_,\n menuitem,\n menuitem_,\n meta,\n meter,\n meter_,\n nav,\n nav_,\n noscript,\n noscript_,\n object,\n object_,\n ol,\n ol_,\n optgroup,\n optgroup_,\n option,\n option_,\n output,\n output_,\n p,\n p_,\n param,\n pre,\n pre_,\n progress,\n progress_,\n q,\n q_,\n rp,\n rp_,\n rt,\n rt_,\n ruby,\n ruby_,\n samp,\n samp_,\n script,\n script_,\n section,\n section_,\n select,\n select_,\n small,\n small_,\n source,\n span,\n span_,\n strong,\n strong_,\n style,\n style_,\n sub,\n sub_,\n summary,\n summary_,\n sup,\n sup_,\n table,\n table_,\n tbody,\n tbody_,\n td,\n td_,\n textarea,\n tfoot,\n tfoot_,\n th,\n th_,\n thead,\n thead_,\n time,\n time_,\n title,\n title_,\n tr,\n tr_,\n track,\n u,\n u_,\n ul,\n ul_,\n $$var as var,\n var_,\n video,\n video_,\n wbr\n};\n", "export function bubbles(e) {\n return e.bubbles;\n}\n\nexport function cancelable(e) {\n return e.cancelable;\n}\n\nexport function _currentTarget(e) {\n return e.currentTarget;\n}\n\nexport function defaultPrevented(e) {\n return function() {\n return e.defaultPrevented;\n };\n}\n\nexport function eventPhaseIndex(e) {\n return e.eventPhase;\n}\n\nexport function _target(e) {\n return e.target;\n}\n\nexport function timeStamp(e) {\n return e.timeStamp;\n}\n\nexport function type_(e) {\n return e.type;\n}\n\nexport function preventDefault(e) {\n return function () {\n return e.preventDefault();\n };\n}\n\nexport function stopImmediatePropagation(e) {\n return function () {\n return e.stopImmediatePropagation();\n };\n}\n\nexport function stopPropagation(e) {\n return function () {\n return e.stopPropagation();\n };\n}\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Data_Enum from \"../Data.Enum/index.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Nullable from \"../Data.Nullable/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Web_Event_EventPhase from \"../Web.Event.EventPhase/index.js\";\nimport * as Web_Event_Internal_Types from \"../Web.Event.Internal.Types/index.js\";\nvar EventType = function (x) {\n return x;\n};\nvar target = function ($0) {\n return Data_Nullable.toMaybe($foreign[\"_target\"]($0));\n};\nvar ordEventType = Data_Ord.ordString;\nvar newtypeEventType = {\n Coercible0: function () {\n return undefined;\n }\n};\nvar eventPhase = function () {\n var $1 = Data_Maybe.fromJust();\n var $2 = Data_Enum.toEnum(Web_Event_EventPhase.boundedEnumEventPhase);\n return function ($3) {\n return $1($2($foreign.eventPhaseIndex($3)));\n };\n};\nvar eqEventType = Data_Eq.eqString;\nvar currentTarget = function ($4) {\n return Data_Nullable.toMaybe($foreign[\"_currentTarget\"]($4));\n};\nexport {\n type_,\n stopPropagation,\n stopImmediatePropagation,\n bubbles,\n cancelable,\n preventDefault,\n defaultPrevented,\n timeStamp\n} from \"./foreign.js\";\nexport {\n EventType,\n target,\n currentTarget,\n eventPhase,\n newtypeEventType,\n eqEventType,\n ordEventType\n};\n", "// Generated by purs version 0.15.2\nvar unload = \"unload\";\nvar toggle = \"toggle\";\nvar submit = \"submit\";\nvar storage = \"storage\";\nvar select = \"select\";\nvar reset = \"reset\";\nvar readystatechange = \"readystatechange\";\nvar progress = \"progress\";\nvar paste = \"paste\";\nvar online = \"online\";\nvar offline = \"offline\";\nvar message = \"message\";\nvar loadstart = \"loadstart\";\nvar loadend = \"loadend\";\nvar load = \"load\";\nvar languagechange = \"languagechange\";\nvar invalid = \"invalid\";\nvar input = \"input\";\nvar focus = \"focus\";\nvar error = \"error\";\nvar domcontentloaded = \"DOMContentLoaded\";\nvar cut = \"cut\";\nvar copy = \"copy\";\nvar close = \"close\";\nvar click = \"click\";\nvar change = \"change\";\nvar cancel = \"cancel\";\nvar blur = \"blur\";\nvar beforescriptexecute = \"beforescriptexecute\";\nvar beforeprint = \"beforeprint\";\nvar afterscriptexecute = \"afterscriptexecute\";\nvar afterprint = \"afterprint\";\nvar abort = \"abort\";\nexport {\n abort,\n afterprint,\n afterscriptexecute,\n beforeprint,\n beforescriptexecute,\n blur,\n cancel,\n change,\n click,\n close,\n copy,\n cut,\n domcontentloaded,\n error,\n focus,\n input,\n invalid,\n languagechange,\n load,\n loadend,\n loadstart,\n message,\n offline,\n online,\n paste,\n progress,\n readystatechange,\n reset,\n select,\n storage,\n submit,\n toggle,\n unload\n};\n", "// Generated by purs version 0.15.2\nvar mouseup = \"mouseup\";\nvar mouseover = \"mouseover\";\nvar mouseout = \"mouseout\";\nvar mousemove = \"mousemove\";\nvar mouseleave = \"mouseleave\";\nvar mouseenter = \"mouseenter\";\nvar mousedown = \"mousedown\";\nvar dblclick = \"dblclick\";\nvar click = \"click\";\nvar auxclick = \"auxclick\";\nexport {\n auxclick,\n click,\n dblclick,\n mousedown,\n mouseenter,\n mouseleave,\n mousemove,\n mouseout,\n mouseover,\n mouseup\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Control_Monad_Except from \"../Control.Monad.Except/index.js\";\nimport * as Control_Monad_Except_Trans from \"../Control.Monad.Except.Trans/index.js\";\nimport * as Data_Either from \"../Data.Either/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Identity from \"../Data.Identity/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Unfoldable from \"../Data.Unfoldable/index.js\";\nimport * as Effect_Unsafe from \"../Effect.Unsafe/index.js\";\nimport * as Foreign from \"../Foreign/index.js\";\nimport * as Foreign_Index from \"../Foreign.Index/index.js\";\nimport * as Halogen_HTML_Core from \"../Halogen.HTML.Core/index.js\";\nimport * as Halogen_Query_Input from \"../Halogen.Query.Input/index.js\";\nimport * as Unsafe_Coerce from \"../Unsafe.Coerce/index.js\";\nimport * as Web_Clipboard_ClipboardEvent_EventTypes from \"../Web.Clipboard.ClipboardEvent.EventTypes/index.js\";\nimport * as Web_Event_Event from \"../Web.Event.Event/index.js\";\nimport * as Web_File_FileList from \"../Web.File.FileList/index.js\";\nimport * as Web_HTML_Event_DragEvent_EventTypes from \"../Web.HTML.Event.DragEvent.EventTypes/index.js\";\nimport * as Web_HTML_Event_EventTypes from \"../Web.HTML.Event.EventTypes/index.js\";\nimport * as Web_HTML_HTMLInputElement from \"../Web.HTML.HTMLInputElement/index.js\";\nimport * as Web_UIEvent_FocusEvent_EventTypes from \"../Web.UIEvent.FocusEvent.EventTypes/index.js\";\nimport * as Web_UIEvent_KeyboardEvent_EventTypes from \"../Web.UIEvent.KeyboardEvent.EventTypes/index.js\";\nimport * as Web_UIEvent_MouseEvent_EventTypes from \"../Web.UIEvent.MouseEvent.EventTypes/index.js\";\nimport * as Web_UIEvent_WheelEvent_EventTypes from \"../Web.UIEvent.WheelEvent.EventTypes/index.js\";\nvar wheelHandler = Unsafe_Coerce.unsafeCoerce;\nvar touchHandler = Unsafe_Coerce.unsafeCoerce;\nvar mouseHandler = Unsafe_Coerce.unsafeCoerce;\nvar keyHandler = Unsafe_Coerce.unsafeCoerce;\nvar handler$prime = function (et) {\n return function (f) {\n return Halogen_HTML_Core.handler(et)(function (ev) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(Halogen_Query_Input.Action.create)(f(ev));\n });\n };\n};\nvar handler = function (et) {\n return function (f) {\n return Halogen_HTML_Core.handler(et)(function (ev) {\n return new Data_Maybe.Just(new Halogen_Query_Input.Action(f(ev)));\n });\n };\n};\nvar onAbort = /* #__PURE__ */ handler(\"abort\");\nvar onAuxClick = /* #__PURE__ */ (function () {\n var $1 = handler(Web_UIEvent_MouseEvent_EventTypes.auxclick);\n return function ($2) {\n return $1(mouseHandler($2));\n };\n})();\nvar onChange = /* #__PURE__ */ handler(Web_HTML_Event_EventTypes.change);\nvar onClick = /* #__PURE__ */ (function () {\n var $3 = handler(Web_UIEvent_MouseEvent_EventTypes.click);\n return function ($4) {\n return $3(mouseHandler($4));\n };\n})();\nvar onDoubleClick = /* #__PURE__ */ (function () {\n var $5 = handler(Web_UIEvent_MouseEvent_EventTypes.dblclick);\n return function ($6) {\n return $5(mouseHandler($6));\n };\n})();\nvar onError = /* #__PURE__ */ handler(Web_HTML_Event_EventTypes.error);\nvar onFileUpload = function (dictUnfoldable) {\n return function (f) {\n return handler(Web_HTML_Event_EventTypes.change)((function () {\n var $7 = Data_Maybe.maybe(Data_Unfoldable.none(dictUnfoldable))(Web_File_FileList.items(dictUnfoldable));\n var $8 = Control_Bind.composeKleisli(Data_Maybe.bindMaybe)(Web_Event_Event.target)(Control_Bind.composeKleisli(Data_Maybe.bindMaybe)(Web_HTML_HTMLInputElement.fromEventTarget)(function ($10) {\n return Effect_Unsafe.unsafePerformEffect(Web_HTML_HTMLInputElement.files($10));\n }));\n return function ($9) {\n return f($7($8($9)));\n };\n })());\n };\n};\nvar onInput = /* #__PURE__ */ handler(Web_HTML_Event_EventTypes.input);\nvar onInvalid = /* #__PURE__ */ handler(Web_HTML_Event_EventTypes.invalid);\nvar onKeyDown = /* #__PURE__ */ (function () {\n var $11 = handler(Web_UIEvent_KeyboardEvent_EventTypes.keydown);\n return function ($12) {\n return $11(keyHandler($12));\n };\n})();\nvar onKeyUp = /* #__PURE__ */ (function () {\n var $13 = handler(Web_UIEvent_KeyboardEvent_EventTypes.keyup);\n return function ($14) {\n return $13(keyHandler($14));\n };\n})();\nvar onLoad = /* #__PURE__ */ handler(Web_HTML_Event_EventTypes.load);\nvar onMouseDown = /* #__PURE__ */ (function () {\n var $15 = handler(Web_UIEvent_MouseEvent_EventTypes.mousedown);\n return function ($16) {\n return $15(mouseHandler($16));\n };\n})();\nvar onMouseEnter = /* #__PURE__ */ (function () {\n var $17 = handler(Web_UIEvent_MouseEvent_EventTypes.mouseenter);\n return function ($18) {\n return $17(mouseHandler($18));\n };\n})();\nvar onMouseLeave = /* #__PURE__ */ (function () {\n var $19 = handler(Web_UIEvent_MouseEvent_EventTypes.mouseleave);\n return function ($20) {\n return $19(mouseHandler($20));\n };\n})();\nvar onMouseMove = /* #__PURE__ */ (function () {\n var $21 = handler(Web_UIEvent_MouseEvent_EventTypes.mousemove);\n return function ($22) {\n return $21(mouseHandler($22));\n };\n})();\nvar onMouseOut = /* #__PURE__ */ (function () {\n var $23 = handler(Web_UIEvent_MouseEvent_EventTypes.mouseout);\n return function ($24) {\n return $23(mouseHandler($24));\n };\n})();\nvar onMouseOver = /* #__PURE__ */ (function () {\n var $25 = handler(Web_UIEvent_MouseEvent_EventTypes.mouseover);\n return function ($26) {\n return $25(mouseHandler($26));\n };\n})();\nvar onMouseUp = /* #__PURE__ */ (function () {\n var $27 = handler(Web_UIEvent_MouseEvent_EventTypes.mouseup);\n return function ($28) {\n return $27(mouseHandler($28));\n };\n})();\nvar onReset = /* #__PURE__ */ handler(\"reset\");\nvar onResize = /* #__PURE__ */ handler(\"resize\");\nvar onScroll = /* #__PURE__ */ handler(\"scroll\");\nvar onSelect = /* #__PURE__ */ handler(Web_HTML_Event_EventTypes.select);\nvar onSubmit = /* #__PURE__ */ handler(\"submit\");\nvar onTouchCancel = /* #__PURE__ */ (function () {\n var $29 = handler(\"touchcancel\");\n return function ($30) {\n return $29(touchHandler($30));\n };\n})();\nvar onTouchEnd = /* #__PURE__ */ (function () {\n var $31 = handler(\"touchend\");\n return function ($32) {\n return $31(touchHandler($32));\n };\n})();\nvar onTouchEnter = /* #__PURE__ */ (function () {\n var $33 = handler(\"touchenter\");\n return function ($34) {\n return $33(touchHandler($34));\n };\n})();\nvar onTouchLeave = /* #__PURE__ */ (function () {\n var $35 = handler(\"touchleave\");\n return function ($36) {\n return $35(touchHandler($36));\n };\n})();\nvar onTouchMove = /* #__PURE__ */ (function () {\n var $37 = handler(\"touchmove\");\n return function ($38) {\n return $37(touchHandler($38));\n };\n})();\nvar onTouchStart = /* #__PURE__ */ (function () {\n var $39 = handler(\"touchstart\");\n return function ($40) {\n return $39(touchHandler($40));\n };\n})();\nvar onTransitionEnd = /* #__PURE__ */ handler(\"transitionend\");\nvar onWheel = /* #__PURE__ */ (function () {\n var $41 = handler(Web_UIEvent_WheelEvent_EventTypes.wheel);\n return function ($42) {\n return $41(wheelHandler($42));\n };\n})();\nvar focusHandler = Unsafe_Coerce.unsafeCoerce;\nvar onBlur = /* #__PURE__ */ (function () {\n var $43 = handler(Web_HTML_Event_EventTypes.blur);\n return function ($44) {\n return $43(focusHandler($44));\n };\n})();\nvar onFocus = /* #__PURE__ */ (function () {\n var $45 = handler(Web_UIEvent_FocusEvent_EventTypes.focus);\n return function ($46) {\n return $45(focusHandler($46));\n };\n})();\nvar onFocusIn = /* #__PURE__ */ (function () {\n var $47 = handler(Web_UIEvent_FocusEvent_EventTypes.focusin);\n return function ($48) {\n return $47(focusHandler($48));\n };\n})();\nvar onFocusOut = /* #__PURE__ */ (function () {\n var $49 = handler(Web_UIEvent_FocusEvent_EventTypes.focusout);\n return function ($50) {\n return $49(focusHandler($50));\n };\n})();\nvar dragHandler = Unsafe_Coerce.unsafeCoerce;\nvar onDrag = /* #__PURE__ */ (function () {\n var $51 = handler(Web_HTML_Event_DragEvent_EventTypes.drag);\n return function ($52) {\n return $51(dragHandler($52));\n };\n})();\nvar onDragEnd = /* #__PURE__ */ (function () {\n var $53 = handler(Web_HTML_Event_DragEvent_EventTypes.dragend);\n return function ($54) {\n return $53(dragHandler($54));\n };\n})();\nvar onDragEnter = /* #__PURE__ */ (function () {\n var $55 = handler(Web_HTML_Event_DragEvent_EventTypes.dragenter);\n return function ($56) {\n return $55(dragHandler($56));\n };\n})();\nvar onDragExit = /* #__PURE__ */ (function () {\n var $57 = handler(Web_HTML_Event_DragEvent_EventTypes.dragexit);\n return function ($58) {\n return $57(dragHandler($58));\n };\n})();\nvar onDragLeave = /* #__PURE__ */ (function () {\n var $59 = handler(Web_HTML_Event_DragEvent_EventTypes.dragleave);\n return function ($60) {\n return $59(dragHandler($60));\n };\n})();\nvar onDragOver = /* #__PURE__ */ (function () {\n var $61 = handler(Web_HTML_Event_DragEvent_EventTypes.dragover);\n return function ($62) {\n return $61(dragHandler($62));\n };\n})();\nvar onDragStart = /* #__PURE__ */ (function () {\n var $63 = handler(Web_HTML_Event_DragEvent_EventTypes.dragstart);\n return function ($64) {\n return $63(dragHandler($64));\n };\n})();\nvar onDrop = /* #__PURE__ */ (function () {\n var $65 = handler(Web_HTML_Event_DragEvent_EventTypes.drop);\n return function ($66) {\n return $65(dragHandler($66));\n };\n})();\nvar clipboardHandler = Unsafe_Coerce.unsafeCoerce;\nvar onCopy = /* #__PURE__ */ (function () {\n var $67 = handler(Web_Clipboard_ClipboardEvent_EventTypes.copy);\n return function ($68) {\n return $67(clipboardHandler($68));\n };\n})();\nvar onCut = /* #__PURE__ */ (function () {\n var $69 = handler(Web_Clipboard_ClipboardEvent_EventTypes.cut);\n return function ($70) {\n return $69(clipboardHandler($70));\n };\n})();\nvar onPaste = /* #__PURE__ */ (function () {\n var $71 = handler(Web_Clipboard_ClipboardEvent_EventTypes.paste);\n return function ($72) {\n return $71(clipboardHandler($72));\n };\n})();\nvar addForeignPropHandler = function (key) {\n return function (prop) {\n return function (reader) {\n return function (f) {\n var go = function (a) {\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(reader)(Foreign_Index.readProp(Data_Identity.monadIdentity)(prop))(Foreign.unsafeToForeign(a));\n };\n return handler$prime(key)(Control_Bind.composeKleisli(Data_Maybe.bindMaybe)(Web_Event_Event.currentTarget)(function (e) {\n return Data_Either.either(Data_Function[\"const\"](Data_Maybe.Nothing.value))(function ($73) {\n return Data_Maybe.Just.create(f($73));\n })(Control_Monad_Except.runExcept(go(e)));\n }));\n };\n };\n };\n};\nvar onChecked = /* #__PURE__ */ addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"checked\")(/* #__PURE__ */ Foreign.readBoolean(Data_Identity.monadIdentity));\nvar onSelectedIndexChange = /* #__PURE__ */ addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"selectedIndex\")(/* #__PURE__ */ Foreign.readInt(Data_Identity.monadIdentity));\nvar onValueChange = /* #__PURE__ */ addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"value\")(/* #__PURE__ */ Foreign.readString(Data_Identity.monadIdentity));\nvar onValueInput = /* #__PURE__ */ addForeignPropHandler(Web_HTML_Event_EventTypes.input)(\"value\")(/* #__PURE__ */ Foreign.readString(Data_Identity.monadIdentity));\nexport {\n handler,\n handler$prime,\n onAbort,\n onError,\n onLoad,\n onScroll,\n onChange,\n onFileUpload,\n onInput,\n onInvalid,\n onReset,\n onSelect,\n onSubmit,\n onTransitionEnd,\n onCopy,\n onPaste,\n onCut,\n onAuxClick,\n onClick,\n onDoubleClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOver,\n onMouseOut,\n onMouseUp,\n onWheel,\n onKeyDown,\n onKeyUp,\n onBlur,\n onFocus,\n onFocusIn,\n onFocusOut,\n onDrag,\n onDragEnd,\n onDragExit,\n onDragEnter,\n onDragLeave,\n onDragOver,\n onDragStart,\n onDrop,\n onTouchCancel,\n onTouchEnd,\n onTouchEnter,\n onTouchLeave,\n onTouchMove,\n onTouchStart,\n onResize,\n onValueChange,\n onValueInput,\n onSelectedIndexChange,\n onChecked\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as DOM_HTML_Indexed from \"../DOM.HTML.Indexed/index.js\";\nimport * as DOM_HTML_Indexed_AutocompleteType from \"../DOM.HTML.Indexed.AutocompleteType/index.js\";\nimport * as DOM_HTML_Indexed_ButtonType from \"../DOM.HTML.Indexed.ButtonType/index.js\";\nimport * as DOM_HTML_Indexed_FormMethod from \"../DOM.HTML.Indexed.FormMethod/index.js\";\nimport * as DOM_HTML_Indexed_InputAcceptType from \"../DOM.HTML.Indexed.InputAcceptType/index.js\";\nimport * as DOM_HTML_Indexed_InputType from \"../DOM.HTML.Indexed.InputType/index.js\";\nimport * as DOM_HTML_Indexed_MenuType from \"../DOM.HTML.Indexed.MenuType/index.js\";\nimport * as DOM_HTML_Indexed_MenuitemType from \"../DOM.HTML.Indexed.MenuitemType/index.js\";\nimport * as DOM_HTML_Indexed_OrderedListType from \"../DOM.HTML.Indexed.OrderedListType/index.js\";\nimport * as DOM_HTML_Indexed_PreloadValue from \"../DOM.HTML.Indexed.PreloadValue/index.js\";\nimport * as DOM_HTML_Indexed_ScopeValue from \"../DOM.HTML.Indexed.ScopeValue/index.js\";\nimport * as DOM_HTML_Indexed_StepValue from \"../DOM.HTML.Indexed.StepValue/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_HeytingAlgebra from \"../Data.HeytingAlgebra/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Newtype from \"../Data.Newtype/index.js\";\nimport * as Data_String_Common from \"../Data.String.Common/index.js\";\nimport * as Halogen_HTML_Core from \"../Halogen.HTML.Core/index.js\";\nimport * as Halogen_Query_Input from \"../Halogen.Query.Input/index.js\";\nimport * as Halogen_VDom_DOM_Prop from \"../Halogen.VDom.DOM.Prop/index.js\";\nimport * as Unsafe_Coerce from \"../Unsafe.Coerce/index.js\";\nvar IProp = function (x) {\n return x;\n};\nvar ref = /* #__PURE__ */ (function () {\n var go = function (p) {\n return function (mel) {\n return new Data_Maybe.Just(new Halogen_Query_Input.RefUpdate(p, mel));\n };\n };\n return function ($7) {\n return Halogen_HTML_Core.ref(go($7));\n };\n})();\nvar prop = function (dictIsProp) {\n return Halogen_HTML_Core.prop(dictIsProp);\n};\nvar readOnly = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropBoolean)(\"readOnly\");\nvar rel = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropString)(\"rel\");\nvar required = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropBoolean)(\"required\");\nvar rowSpan = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropInt)(\"rowSpan\");\nvar rows = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropInt)(\"rows\");\nvar scope = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropScopeValue)(\"scope\");\nvar selected = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropBoolean)(\"selected\");\nvar selectedIndex = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropInt)(\"selectedIndex\");\nvar spellcheck = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropBoolean)(\"spellcheck\");\nvar src = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropString)(\"src\");\nvar srcDoc = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropString)(\"srcdoc\");\nvar step = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropStepValue)(\"step\");\nvar tabIndex = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropInt)(\"tabIndex\");\nvar target = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropString)(\"target\");\nvar title = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropString)(\"title\");\nvar type_ = function (dictIsProp) {\n return prop(dictIsProp)(\"type\");\n};\nvar value = function (dictIsProp) {\n return prop(dictIsProp)(\"value\");\n};\nvar width = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropInt)(\"width\");\nvar preload = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropPreloadValue)(\"preload\");\nvar poster = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropString)(\"poster\");\nvar placeholder = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropString)(\"placeholder\");\nvar pattern = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropString)(\"pattern\");\nvar noValidate = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropBoolean)(\"noValidate\");\nvar newtypeIProp = {\n Coercible0: function () {\n return undefined;\n }\n};\nvar name = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropString)(\"name\");\nvar muted = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropBoolean)(\"muted\");\nvar multiple = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropBoolean)(\"multiple\");\nvar min = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropNumber)(\"min\");\nvar method = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropFormMethod)(\"method\");\nvar max = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropNumber)(\"max\");\nvar loop = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropBoolean)(\"loop\");\nvar id = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropString)(\"id\");\nvar href = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropString)(\"href\");\nvar height = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropInt)(\"height\");\nvar functorIProp = {\n map: function (f) {\n return function (m) {\n return Data_Functor.map(Halogen_VDom_DOM_Prop.functorProp)(Data_Functor.map(Halogen_Query_Input.functorInput)(f))(m);\n };\n }\n};\nvar $$for = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropString)(\"htmlFor\");\nvar expand = function () {\n return Unsafe_Coerce.unsafeCoerce;\n};\nvar enctype = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropMediaType)(\"enctype\");\nvar draggable = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropBoolean)(\"draggable\");\nvar download = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropString)(\"download\");\nvar disabled = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropBoolean)(\"disabled\");\nvar enabled = /* #__PURE__ */ (function () {\n var $8 = Data_HeytingAlgebra.not(Data_HeytingAlgebra.heytingAlgebraBoolean);\n return function ($9) {\n return disabled($8($9));\n };\n})();\nvar controls = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropBoolean)(\"controls\");\nvar cols = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropInt)(\"cols\");\nvar colSpan = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropInt)(\"colSpan\");\nvar classes = /* #__PURE__ */ (function () {\n var $10 = prop(Halogen_HTML_Core.isPropString)(\"className\");\n var $11 = Data_String_Common.joinWith(\" \");\n var $12 = Data_Functor.map(Data_Functor.functorArray)(Data_Newtype.unwrap());\n return function ($13) {\n return $10($11($12($13)));\n };\n})();\nvar class_ = /* #__PURE__ */ (function () {\n var $14 = prop(Halogen_HTML_Core.isPropString)(\"className\");\n var $15 = Data_Newtype.unwrap();\n return function ($16) {\n return $14($15($16));\n };\n})();\nvar checked = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropBoolean)(\"checked\");\nvar charset = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropString)(\"charset\");\nvar autoplay = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropBoolean)(\"autoplay\");\nvar autofocus = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropBoolean)(\"autofocus\");\nvar autocomplete = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropAutocompleteType)(\"autocomplete\");\nvar attrNS = /* #__PURE__ */ (function () {\n var $17 = Control_Applicative.pure(Data_Maybe.applicativeMaybe);\n return function ($18) {\n return Halogen_HTML_Core.attr($17($18));\n };\n})();\nvar attr = /* #__PURE__ */ (function () {\n return Halogen_HTML_Core.attr(Data_Maybe.Nothing.value);\n})();\nvar list = /* #__PURE__ */ attr(\"list\");\nvar style = /* #__PURE__ */ attr(\"style\");\nvar alt = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropString)(\"alt\");\nvar action = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropString)(\"action\");\nvar accept = /* #__PURE__ */ prop(Halogen_HTML_Core.isPropInputAcceptType)(\"accept\");\nexport {\n IProp,\n prop,\n attr,\n attrNS,\n ref,\n expand,\n alt,\n charset,\n class_,\n classes,\n cols,\n rows,\n colSpan,\n rowSpan,\n $$for as for,\n height,\n width,\n href,\n id,\n name,\n rel,\n src,\n srcDoc,\n style,\n scope,\n target,\n title,\n download,\n method,\n action,\n enctype,\n noValidate,\n type_,\n value,\n min,\n max,\n step,\n disabled,\n enabled,\n required,\n readOnly,\n spellcheck,\n checked,\n selected,\n selectedIndex,\n placeholder,\n autocomplete,\n list,\n autofocus,\n multiple,\n pattern,\n accept,\n autoplay,\n controls,\n loop,\n muted,\n poster,\n preload,\n draggable,\n tabIndex,\n newtypeIProp,\n functorIProp\n};\nexport {\n AutocompleteAdditionalName,\n AutocompleteAddressLevel1,\n AutocompleteAddressLevel2,\n AutocompleteAddressLevel3,\n AutocompleteAddressLevel4,\n AutocompleteAddressLine1,\n AutocompleteAddressLine2,\n AutocompleteAddressLine3,\n AutocompleteBirthday,\n AutocompleteBirthdayDay,\n AutocompleteBirthdayMonth,\n AutocompleteBirthdayYear,\n AutocompleteCountry,\n AutocompleteCountryName,\n AutocompleteCreditCardAdditionalName,\n AutocompleteCreditCardExpiration,\n AutocompleteCreditCardExpirationMonth,\n AutocompleteCreditCardExpirationYear,\n AutocompleteCreditCardFamilyName,\n AutocompleteCreditCardGivenName,\n AutocompleteCreditCardName,\n AutocompleteCreditCardNumber,\n AutocompleteCreditCardSecurityCode,\n AutocompleteCreditCardType,\n AutocompleteCurrentPassword,\n AutocompleteEmail,\n AutocompleteFamilyName,\n AutocompleteGivenName,\n AutocompleteHonorificPrefix,\n AutocompleteHonorificSuffix,\n AutocompleteIMPP,\n AutocompleteLanguage,\n AutocompleteName,\n AutocompleteNewPassword,\n AutocompleteNickname,\n AutocompleteOff,\n AutocompleteOn,\n AutocompleteOneTimeCode,\n AutocompleteOrganization,\n AutocompleteOrganizationTitle,\n AutocompletePhoto,\n AutocompletePostalCode,\n AutocompleteSex,\n AutocompleteStreetAddress,\n AutocompleteTelephone,\n AutocompleteTelephoneAreaCode,\n AutocompleteTelephoneCountryCode,\n AutocompleteTelephoneExtension,\n AutocompleteTelephoneLocal,\n AutocompleteTelephoneLocalPrefix,\n AutocompleteTelephoneLocalSuffix,\n AutocompleteTelephoneNational,\n AutocompleteTransactionAmount,\n AutocompleteTransactionCurrency,\n AutocompleteURL,\n AutocompleteUsername\n} from \"../DOM.HTML.Indexed.AutocompleteType/index.js\";\nexport {\n ButtonButton,\n ButtonReset,\n ButtonSubmit\n} from \"../DOM.HTML.Indexed.ButtonType/index.js\";\nexport {\n GET,\n POST\n} from \"../DOM.HTML.Indexed.FormMethod/index.js\";\nexport {\n InputAcceptType\n} from \"../DOM.HTML.Indexed.InputAcceptType/index.js\";\nexport {\n InputButton,\n InputCheckbox,\n InputColor,\n InputDate,\n InputDatetimeLocal,\n InputEmail,\n InputFile,\n InputHidden,\n InputImage,\n InputMonth,\n InputNumber,\n InputPassword,\n InputRadio,\n InputRange,\n InputReset,\n InputSearch,\n InputSubmit,\n InputTel,\n InputText,\n InputTime,\n InputUrl,\n InputWeek\n} from \"../DOM.HTML.Indexed.InputType/index.js\";\nexport {\n MenuContext,\n MenuList,\n MenuToolbar\n} from \"../DOM.HTML.Indexed.MenuType/index.js\";\nexport {\n MenuitemCheckbox,\n MenuitemCommand,\n MenuitemRadio\n} from \"../DOM.HTML.Indexed.MenuitemType/index.js\";\nexport {\n OrderedListAlphabetic,\n OrderedListNumeric\n} from \"../DOM.HTML.Indexed.OrderedListType/index.js\";\nexport {\n PreloadAuto,\n PreloadMetadata,\n PreloadNone\n} from \"../DOM.HTML.Indexed.PreloadValue/index.js\";\nexport {\n ScopeAuto,\n ScopeCol,\n ScopeColGroup,\n ScopeRow,\n ScopeRowGroup\n} from \"../DOM.HTML.Indexed.ScopeValue/index.js\";\nexport {\n Any,\n Step\n} from \"../DOM.HTML.Indexed.StepValue/index.js\";\n", "var getEffProp = function (name) {\n return function (doc) {\n return function () {\n return doc[name];\n };\n };\n};\n\nexport const url = getEffProp(\"URL\");\nexport const documentURI = getEffProp(\"documentURI\");\nexport const origin = getEffProp(\"origin\");\nexport const compatMode = getEffProp(\"compatMode\");\nexport const characterSet = getEffProp(\"characterSet\");\nexport const contentType = getEffProp(\"contentType\");\nexport function _doctype(doc) {\n return doc[\"doctype\"];\n}\nexport const _documentElement = getEffProp(\"documentElement\");\n\nexport function getElementsByTagName(localName) {\n return function (doc) {\n return function () {\n return doc.getElementsByTagName(localName);\n };\n };\n}\n\nexport function _getElementsByTagNameNS(ns) {\n return function (localName) {\n return function (doc) {\n return function () {\n return doc.getElementsByTagNameNS(ns, localName);\n };\n };\n };\n}\n\nexport function getElementsByClassName(classNames) {\n return function (doc) {\n return function () {\n return doc.getElementsByClassName(classNames);\n };\n };\n}\n\nexport function createElement(localName) {\n return function (doc) {\n return function () {\n return doc.createElement(localName);\n };\n };\n}\n\nexport function _createElementNS(ns) {\n return function (qualifiedName) {\n return function (doc) {\n return function () {\n return doc.createElementNS(ns, qualifiedName);\n };\n };\n };\n}\n\nexport function createDocumentFragment(doc) {\n return function () {\n return doc.createDocumentFragment();\n };\n}\n\nexport function createTextNode(data) {\n return function (doc) {\n return function () {\n return doc.createTextNode(data);\n };\n };\n}\n\nexport function createComment(data) {\n return function (doc) {\n return function () {\n return doc.createComment(data);\n };\n };\n}\n\nexport function createProcessingInstruction(target) {\n return function (data) {\n return function (doc) {\n return function () {\n return doc.createProcessingInstruction(target, data);\n };\n };\n };\n}\n\nexport function importNode(node) {\n return function (deep) {\n return function (doc) {\n return function () {\n return doc.importNode(node, deep);\n };\n };\n };\n}\n\nexport function adoptNode(node) {\n return function (doc) {\n return function () {\n return doc.adoptNode(node);\n };\n };\n}\n", "// Generated by purs version 0.15.2\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Control_Monad_Maybe_Trans from \"../Control.Monad.Maybe.Trans/index.js\";\nimport * as Data_Array from \"../Data.Array/index.js\";\nimport * as Data_Foldable from \"../Data.Foldable/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Nullable from \"../Data.Nullable/index.js\";\nimport * as Data_String_CodePoints from \"../Data.String.CodePoints/index.js\";\nimport * as Data_String_Common from \"../Data.String.Common/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Effect from \"../Effect/index.js\";\nimport * as Halogen_HTML_Core from \"../Halogen.HTML.Core/index.js\";\nimport * as Halogen_HTML_Properties from \"../Halogen.HTML.Properties/index.js\";\nimport * as JSURI from \"../JSURI/index.js\";\nimport * as Web_DOM_Document from \"../Web.DOM.Document/index.js\";\nimport * as Web_DOM_Element from \"../Web.DOM.Element/index.js\";\nimport * as Web_DOM_NodeList from \"../Web.DOM.NodeList/index.js\";\nimport * as Web_DOM_NonElementParentNode from \"../Web.DOM.NonElementParentNode/index.js\";\nimport * as Web_DOM_ParentNode from \"../Web.DOM.ParentNode/index.js\";\nimport * as Web_HTML from \"../Web.HTML/index.js\";\nimport * as Web_HTML_Common from \"../Web.HTML.Common/index.js\";\nimport * as Web_HTML_HTMLDocument from \"../Web.HTML.HTMLDocument/index.js\";\nimport * as Web_HTML_HTMLElement from \"../Web.HTML.HTMLElement/index.js\";\nimport * as Web_HTML_Location from \"../Web.HTML.Location/index.js\";\nimport * as Web_HTML_Window from \"../Web.HTML.Window/index.js\";\nvar whenH = function (b) {\n return function (k) {\n if (b) {\n return k(Data_Unit.unit);\n };\n return Halogen_HTML_Core.text(\"\");\n };\n};\nvar whenC = function (b) {\n return function (c) {\n if (b) {\n return c;\n };\n return \"\";\n };\n};\nvar whenA = function (b) {\n return function (k) {\n if (b) {\n return k(Data_Unit.unit);\n };\n return [ ];\n };\n};\nvar unsafeDecode = function (str) {\n return Data_Maybe.fromJust()(JSURI[\"decodeURIComponent\"](str));\n};\nvar monthNames = [ \"january\", \"february\", \"march\", \"april\", \"may\", \"june\", \"july\", \"august\", \"september\", \"october\", \"november\", \"december\" ];\nvar maybeH = function (m) {\n return function (k) {\n return Data_Maybe.maybe(Halogen_HTML_Core.text(\"\"))(k)(m);\n };\n};\nvar ifElseH = function (b) {\n return function (f) {\n return function (k) {\n if (b) {\n return f(Data_Unit.unit);\n };\n return k(Data_Unit.unit);\n };\n };\n};\nvar ifElseA = function (b) {\n return function (f) {\n return function (k) {\n if (b) {\n return f(Data_Unit.unit);\n };\n return k(Data_Unit.unit);\n };\n };\n};\nvar fromNullableStr = /* #__PURE__ */ (function () {\n var $41 = Data_Maybe.fromMaybe(\"\");\n return function ($42) {\n return $41(Data_Nullable.toMaybe($42));\n };\n})();\nvar encodeTag = /* #__PURE__ */ (function () {\n var $43 = Data_Maybe.fromMaybe(\"\");\n var $44 = Data_String_Common.replaceAll(\"+\")(\"%2B\");\n return function ($45) {\n return $43(JSURI[\"encodeURIComponent\"]($44($45)));\n };\n})();\nvar dummyAttr = /* #__PURE__ */ Halogen_HTML_Properties.attr(\"data-dummy\")(\"\");\nvar maybeP = function (m) {\n return function (p) {\n return Data_Maybe.maybe(dummyAttr)(p)(m);\n };\n};\nvar whenP = function (b) {\n return function (p) {\n if (b) {\n return p;\n };\n return dummyAttr;\n };\n};\nvar class_ = function ($46) {\n return Halogen_HTML_Properties.class_(Web_HTML_Common.ClassName($46));\n};\nvar attr = function (a) {\n return Halogen_HTML_Properties.attr(a);\n};\nvar _querySelectorAll = function (s) {\n return function (n) {\n return Control_Bind.bindFlipped(Effect.bindEffect)(Web_DOM_NodeList.toArray)(Web_DOM_ParentNode.querySelectorAll(s)(Web_DOM_Element.toParentNode(n)));\n };\n};\nvar _querySelector = function (s) {\n return function (n) {\n return Web_DOM_ParentNode.querySelector(s)(Web_DOM_Element.toParentNode(n));\n };\n};\nvar _queryBoth$prime$prime = function (v) {\n return function (v1) {\n return function (f) {\n return function __do() {\n var as = _querySelectorAll(v.value0)(v.value1)();\n var bs = _querySelectorAll(v1.value0)(v1.value1)();\n return f(as)(bs)();\n };\n };\n };\n};\nvar _queryBoth$prime = function (v) {\n return function (v1) {\n return function (f) {\n return function __do() {\n var ma = _querySelector(v.value0)(v.value1)();\n var bs = _querySelectorAll(v1.value0)(v1.value1)();\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(ma)(function (a) {\n return f(a)(bs);\n })();\n };\n };\n };\n};\nvar _queryBoth = function (v) {\n return function (v1) {\n return function (f) {\n return function __do() {\n var ma = _querySelector(v.value0)(v.value1)();\n var mb = _querySelector(v1.value0)(v1.value1)();\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(ma)(function (a) {\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(mb)(function (b) {\n return f(a)(b);\n });\n })();\n };\n };\n };\n};\nvar _parseQueryString = function (srh) {\n var decode = (function () {\n var $47 = Data_String_Common.replaceAll(\"+\")(\" \");\n return function ($48) {\n return unsafeDecode($47($48));\n };\n })();\n var go = function (kv) {\n var v = Data_String_Common.split(\"=\")(kv);\n if (v.length === 1) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), Data_Maybe.Nothing.value));\n };\n if (v.length === 2) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), new Data_Maybe.Just(decode(v[1]))));\n };\n return Data_Maybe.Nothing.value;\n };\n var qs = (function () {\n var srh$prime = Data_String_CodePoints.take(1)(srh);\n var $40 = srh$prime === \"#\" || srh$prime === \"?\";\n if ($40) {\n return Data_String_CodePoints.drop(1)(srh);\n };\n return srh;\n })();\n return Data_Array.mapMaybe(go)(Data_Array.filter(function (v) {\n return v !== \"\";\n })(Data_String_Common.split(\"&\")(qs)));\n};\nvar _mt_pure = /* #__PURE__ */ (function () {\n var $49 = Control_Applicative.pure(Effect.applicativeEffect);\n return function ($50) {\n return Control_Monad_Maybe_Trans.MaybeT($49($50));\n };\n})();\nvar _mt = Control_Monad_Maybe_Trans.MaybeT;\nvar _lookupQueryStringValue = function (qs) {\n return function (k) {\n return Control_Bind.join(Data_Maybe.bindMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Tuple.snd)(Data_Array.find(function ($51) {\n return (function (v) {\n return v === k;\n })(Data_Tuple.fst($51));\n })(qs)));\n };\n};\nvar _loc = /* #__PURE__ */ Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.location)(Web_HTML.window);\nvar _getElementById = function (s) {\n var $52 = Web_DOM_NonElementParentNode.getElementById(s);\n return function ($53) {\n return $52(Web_DOM_Document.toNonElementParentNode(Web_HTML_HTMLDocument.toDocument($53)));\n };\n};\nvar _fromNode = function (e) {\n return Data_Maybe.fromJust()(Web_DOM_Element.fromNode(e));\n};\nvar _fromElement = function (e) {\n return Data_Maybe.fromJust()(Web_HTML_HTMLElement.fromElement(e));\n};\nvar _doc = /* #__PURE__ */ Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.document)(Web_HTML.window);\nvar _curQuerystring = function __do() {\n var loc = _loc();\n var srh = Web_HTML_Location.search(loc)();\n return _parseQueryString(srh);\n};\nvar _body = /* #__PURE__ */ Control_Bind.bindFlipped(Effect.bindEffect)(/* #__PURE__ */ (function () {\n var $54 = Control_Applicative.pure(Effect.applicativeEffect);\n var $55 = Data_Maybe.fromJust();\n return function ($56) {\n return $54($55($56));\n };\n})())(/* #__PURE__ */ Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_HTMLDocument.body)(_doc));\nexport {\n unsafeDecode,\n class_,\n attr,\n _queryBoth,\n _queryBoth$prime,\n _queryBoth$prime$prime,\n _querySelector,\n _querySelectorAll,\n _fromNode,\n _fromElement,\n _getElementById,\n _doc,\n _loc,\n _curQuerystring,\n _parseQueryString,\n _lookupQueryStringValue,\n _body,\n _mt,\n _mt_pure,\n encodeTag,\n dummyAttr,\n whenP,\n maybeP,\n whenC,\n whenH,\n whenA,\n ifElseH,\n ifElseA,\n maybeH,\n fromNullableStr,\n monthNames\n};\n", "// Generated by purs version 0.15.2\nimport * as App from \"../App/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as DOM_HTML_Indexed_InputType from \"../DOM.HTML.Indexed.InputType/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Lens_Getter from \"../Data.Lens.Getter/index.js\";\nimport * as Data_Lens_Internal_Forget from \"../Data.Lens.Internal.Forget/index.js\";\nimport * as Data_Lens_Lens from \"../Data.Lens.Lens/index.js\";\nimport * as Data_Lens_Setter from \"../Data.Lens.Setter/index.js\";\nimport * as Data_Profunctor_Strong from \"../Data.Profunctor.Strong/index.js\";\nimport * as Effect_Aff_Class from \"../Effect.Aff.Class/index.js\";\nimport * as Halogen_Component from \"../Halogen.Component/index.js\";\nimport * as Halogen_HTML_Core from \"../Halogen.HTML.Core/index.js\";\nimport * as Halogen_HTML_Elements from \"../Halogen.HTML.Elements/index.js\";\nimport * as Halogen_HTML_Events from \"../Halogen.HTML.Events/index.js\";\nimport * as Halogen_HTML_Properties from \"../Halogen.HTML.Properties/index.js\";\nimport * as Halogen_Query_HalogenM from \"../Halogen.Query.HalogenM/index.js\";\nimport * as Util from \"../Util/index.js\";\nvar EarchiveDefault = /* #__PURE__ */ (function () {\n function EarchiveDefault(value0) {\n this.value0 = value0;\n };\n EarchiveDefault.create = function (value0) {\n return new EarchiveDefault(value0);\n };\n return EarchiveDefault;\n})();\nvar EprivateDefault = /* #__PURE__ */ (function () {\n function EprivateDefault(value0) {\n this.value0 = value0;\n };\n EprivateDefault.create = function (value0) {\n return new EprivateDefault(value0);\n };\n return EprivateDefault;\n})();\nvar EprivacyLock = /* #__PURE__ */ (function () {\n function EprivacyLock(value0) {\n this.value0 = value0;\n };\n EprivacyLock.create = function (value0) {\n return new EprivacyLock(value0);\n };\n return EprivacyLock;\n})();\nvar UEditField = /* #__PURE__ */ (function () {\n function UEditField(value0) {\n this.value0 = value0;\n };\n UEditField.create = function (value0) {\n return new UEditField(value0);\n };\n return UEditField;\n})();\nvar USubmit = /* #__PURE__ */ (function () {\n function USubmit(value0) {\n this.value0 = value0;\n };\n USubmit.create = function (value0) {\n return new USubmit(value0);\n };\n return USubmit;\n})();\nvar _us = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.us;\n })(function (v) {\n return function (v1) {\n return {\n us: v1\n };\n };\n })(dictStrong);\n};\nvar usetting = function (u$prime) {\n var render = function (v) {\n var editField = function (f) {\n return function ($19) {\n return UEditField.create(f($19));\n };\n };\n return Halogen_HTML_Elements.div([ Util.class_(\"settings-form\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"fw7 mb2\") ])([ Halogen_HTML_Core.text(\"Account Settings\") ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id(\"archiveDefault\"), Halogen_HTML_Properties.name(\"archiveDefault\"), Halogen_HTML_Properties.checked(v.us.archiveDefault), Halogen_HTML_Events.onChecked(editField(EarchiveDefault.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"archiveDefault\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Archive Non-Private Bookmarks (archive.li)\") ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id(\"privateDefault\"), Halogen_HTML_Properties.name(\"privateDefault\"), Halogen_HTML_Properties.checked(v.us.privateDefault), Halogen_HTML_Events.onChecked(editField(EprivateDefault.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"privateDefault\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Default new bookmarks to Private\") ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id(\"privacyLock\"), Halogen_HTML_Properties.name(\"privacyLock\"), Halogen_HTML_Properties.checked(v.us.privacyLock), Halogen_HTML_Events.onChecked(editField(EprivacyLock.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"privacyLock\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Privacy Lock (Private Account)\") ]) ]) ]);\n };\n var mkState = function (u) {\n return {\n us: u\n };\n };\n var handleAction = function (v) {\n if (v instanceof UEditField) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof EarchiveDefault) {\n return function (v1) {\n return {\n archiveDefault: v.value0.value0,\n privateDefault: v1.privateDefault,\n privacyLock: v1.privacyLock\n };\n };\n };\n if (v.value0 instanceof EprivateDefault) {\n return function (v1) {\n return {\n archiveDefault: v1.archiveDefault,\n privateDefault: v.value0.value0,\n privacyLock: v1.privacyLock\n };\n };\n };\n if (v.value0 instanceof EprivacyLock) {\n return function (v1) {\n return {\n archiveDefault: v1.archiveDefault,\n privateDefault: v1.privateDefault,\n privacyLock: v.value0.value0\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 77, column 12 - line 80, column 46): \" + [ v.value0.constructor.name ]);\n })()))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Lens_Internal_Forget.strongForget)))(function (us) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(us)));\n });\n });\n };\n if (v instanceof USubmit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Lens_Internal_Forget.strongForget)))(function (us) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(us)));\n });\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 75, column 3 - line 75, column 69): \" + [ v.constructor.name ]);\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(u$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n};\nexport {\n _us,\n UEditField,\n USubmit,\n EarchiveDefault,\n EprivateDefault,\n EprivacyLock,\n usetting\n};\n", "export const log = function (s) {\n return function () {\n console.log(s);\n };\n};\n\nexport const warn = function (s) {\n return function () {\n console.warn(s);\n };\n};\n\nexport const error = function (s) {\n return function () {\n console.error(s);\n };\n};\n\nexport const info = function (s) {\n return function () {\n console.info(s);\n };\n};\n\nexport const debug = function (s) {\n return function () {\n console.debug(s);\n };\n};\n\nexport const time = function (s) {\n return function () {\n console.time(s);\n };\n};\n\nexport const timeLog = function (s) {\n return function () {\n console.timeLog(s);\n };\n};\n\nexport const timeEnd = function (s) {\n return function () {\n console.timeEnd(s);\n };\n};\n\nexport const clear = function () {\n console.clear();\n};\n", "// Generated by purs version 0.15.2\nimport * as Affjax from \"../Affjax/index.js\";\nimport * as App from \"../App/index.js\";\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Control_Monad_State_Class from \"../Control.Monad.State.Class/index.js\";\nimport * as DOM_HTML_Indexed_AutocompleteType from \"../DOM.HTML.Indexed.AutocompleteType/index.js\";\nimport * as DOM_HTML_Indexed_ButtonType from \"../DOM.HTML.Indexed.ButtonType/index.js\";\nimport * as DOM_HTML_Indexed_InputType from \"../DOM.HTML.Indexed.InputType/index.js\";\nimport * as Data_Either from \"../Data.Either/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Lens_Getter from \"../Data.Lens.Getter/index.js\";\nimport * as Data_Lens_Internal_Forget from \"../Data.Lens.Internal.Forget/index.js\";\nimport * as Data_Lens_Lens from \"../Data.Lens.Lens/index.js\";\nimport * as Data_Lens_Setter from \"../Data.Lens.Setter/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Monoid from \"../Data.Monoid/index.js\";\nimport * as Data_Profunctor_Strong from \"../Data.Profunctor.Strong/index.js\";\nimport * as Data_Semigroup from \"../Data.Semigroup/index.js\";\nimport * as Data_String_CodeUnits from \"../Data.String.CodeUnits/index.js\";\nimport * as Data_String_Common from \"../Data.String.Common/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Effect from \"../Effect/index.js\";\nimport * as Effect_Aff from \"../Effect.Aff/index.js\";\nimport * as Effect_Aff_Class from \"../Effect.Aff.Class/index.js\";\nimport * as Effect_Class from \"../Effect.Class/index.js\";\nimport * as Effect_Console from \"../Effect.Console/index.js\";\nimport * as Globals from \"../Globals/index.js\";\nimport * as Halogen_Component from \"../Halogen.Component/index.js\";\nimport * as Halogen_HTML_Core from \"../Halogen.HTML.Core/index.js\";\nimport * as Halogen_HTML_Elements from \"../Halogen.HTML.Elements/index.js\";\nimport * as Halogen_HTML_Events from \"../Halogen.HTML.Events/index.js\";\nimport * as Halogen_HTML_Properties from \"../Halogen.HTML.Properties/index.js\";\nimport * as Halogen_Query_HalogenM from \"../Halogen.Query.HalogenM/index.js\";\nimport * as Util from \"../Util/index.js\";\nimport * as Web_Event_Event from \"../Web.Event.Event/index.js\";\nimport * as Web_HTML from \"../Web.HTML/index.js\";\nimport * as Web_HTML_HTMLDocument from \"../Web.HTML.HTMLDocument/index.js\";\nimport * as Web_HTML_Location from \"../Web.HTML.Location/index.js\";\nvar Eurl = /* #__PURE__ */ (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n})();\nvar Etitle = /* #__PURE__ */ (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n})();\nvar Edescription = /* #__PURE__ */ (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n})();\nvar Etags = /* #__PURE__ */ (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n})();\nvar Eprivate = /* #__PURE__ */ (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n})();\nvar Etoread = /* #__PURE__ */ (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n})();\nvar BEditField = /* #__PURE__ */ (function () {\n function BEditField(value0) {\n this.value0 = value0;\n };\n BEditField.create = function (value0) {\n return new BEditField(value0);\n };\n return BEditField;\n})();\nvar BEditSubmit = /* #__PURE__ */ (function () {\n function BEditSubmit(value0) {\n this.value0 = value0;\n };\n BEditSubmit.create = function (value0) {\n return new BEditSubmit(value0);\n };\n return BEditSubmit;\n})();\nvar BDeleteAsk = /* #__PURE__ */ (function () {\n function BDeleteAsk(value0) {\n this.value0 = value0;\n };\n BDeleteAsk.create = function (value0) {\n return new BDeleteAsk(value0);\n };\n return BDeleteAsk;\n})();\nvar BLookupTitle = /* #__PURE__ */ (function () {\n function BLookupTitle() {\n\n };\n BLookupTitle.value = new BLookupTitle();\n return BLookupTitle;\n})();\nvar BDestroy = /* #__PURE__ */ (function () {\n function BDestroy() {\n\n };\n BDestroy.value = new BDestroy();\n return BDestroy;\n})();\nvar _edit_bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_bm;\n })(function (v) {\n return function (v1) {\n return {\n edit_bm: v1,\n apiError: v.apiError,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n loading: v.loading\n };\n };\n })(dictStrong);\n};\nvar _bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.bm;\n })(function (v) {\n return function (v1) {\n return {\n bm: v1,\n apiError: v.apiError,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_bm: v.edit_bm,\n loading: v.loading\n };\n };\n })(dictStrong);\n};\nvar _apiError = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.apiError;\n })(function (v) {\n return function (v1) {\n return {\n apiError: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_bm: v.edit_bm,\n loading: v.loading\n };\n };\n })(dictStrong);\n};\nvar addbmark = function (b$prime) {\n var render = function (v) {\n var mmoment = Globals.mmoment8601(v.bm.time);\n var editField = function (f) {\n return function ($79) {\n return BEditField.create(f($79));\n };\n };\n var display_exists = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"alert\") ])([ Halogen_HTML_Core.text(\"previously saved\\xa0\"), Halogen_HTML_Elements.span([ Util.class_(\"link f7 dib gray pr3\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment)) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_links dib ml1\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new BDeleteAsk(true);\n }), Util.class_(\"delete\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.deleteAsk)([ Util.attr(\"hidden\")(\"hidden\") ])))([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Util.class_(\"confirm red\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(!v.deleteAsk)([ Util.attr(\"hidden\")(\"hidden\") ])))([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new BDeleteAsk(false);\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return BDestroy.value;\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]) ]);\n };\n var display_destroyed = function (v1) {\n return Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this bookmark\") ]);\n };\n var alert_notification = function (alert_text) {\n return function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"alert alert-err\") ])([ Halogen_HTML_Core.text(alert_text) ]);\n };\n };\n var display_edit = function (v1) {\n return Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(BEditSubmit.create) ])([ Halogen_HTML_Elements.table([ Util.class_(\"w-100\") ])([ Halogen_HTML_Elements.tbody_([ Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td([ Util.class_(\"w1\") ])([ ]), Halogen_HTML_Elements.td_([ Util.whenH(v.bm.bid > 0)(display_exists), Util.whenH(Data_Maybe.isJust(v.apiError))(alert_notification(Data_Maybe.fromMaybe(\"\")(v.apiError))) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"url\") ])([ Halogen_HTML_Core.text(\"URL\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputUrl.value), Halogen_HTML_Properties.id(\"url\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.required(true), Halogen_HTML_Properties.name(\"url\"), Halogen_HTML_Properties.autofocus(Data_String_Common[\"null\"](v.bm.url)), Halogen_HTML_Properties.value(Halogen_HTML_Core.isPropString)(v.edit_bm.url), Halogen_HTML_Events.onValueChange(editField(Eurl.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"title\") ])([ Halogen_HTML_Core.text(\"title\") ]) ]), Halogen_HTML_Elements.td([ Util.class_(\"flex\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id(\"title\"), Util.class_(\"w-100 mv1 flex-auto\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(Halogen_HTML_Core.isPropString)(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.disabled(v.loading), Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return BLookupTitle.value;\n }), Util.class_(\"ml2 input-reset ba b--navy pointer f6 di dim pa1 ma1 mr0 \" + Data_Monoid.guard(Data_Monoid.monoidString)(v.loading)(\"bg-light-silver\")) ])([ Halogen_HTML_Core.text(\"fetch\") ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"description\") ])([ Halogen_HTML_Core.text(\"description\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.textarea([ Util.class_(\"w-100 mt1 mid-gray\"), Halogen_HTML_Properties.id(\"description\"), Halogen_HTML_Properties.name(\"description\"), Halogen_HTML_Properties.rows(4), Halogen_HTML_Properties.value(Halogen_HTML_Core.isPropString)(v.edit_bm.description), Halogen_HTML_Events.onValueChange(editField(Edescription.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"tags\") ])([ Halogen_HTML_Core.text(\"tags\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id(\"tags\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.name(\"tags\"), Halogen_HTML_Properties.autocomplete(DOM_HTML_Indexed_AutocompleteType.AutocompleteOff.value), Util.attr(\"autocapitalize\")(\"off\"), Halogen_HTML_Properties.autofocus(!Data_String_Common[\"null\"](v.bm.url)), Halogen_HTML_Properties.value(Halogen_HTML_Core.isPropString)(v.edit_bm.tags), Halogen_HTML_Events.onValueChange(editField(Etags.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"private\") ])([ Halogen_HTML_Core.text(\"private\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id(\"private\"), Util.class_(\"private pointer\"), Halogen_HTML_Properties.name(\"private\"), Halogen_HTML_Properties.checked(v[\"edit_bm\"][\"private\"]), Halogen_HTML_Events.onChecked(editField(Eprivate.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"toread\") ])([ Halogen_HTML_Core.text(\"read later\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id(\"toread\"), Util.class_(\"toread pointer\"), Halogen_HTML_Properties.name(\"toread\"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(editField(Etoread.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim\"), Halogen_HTML_Properties.value(Halogen_HTML_Core.isPropString)((function () {\n var $40 = v.bm.bid > 0;\n if ($40) {\n return \"update bookmark\";\n };\n return \"add bookmark\";\n })()) ]) ]) ]) ]) ]) ]);\n };\n return Util.ifElseH(!v.destroyed)(display_edit)(display_destroyed);\n };\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n destroyed: false,\n loading: false,\n apiError: Data_Maybe.Nothing.value\n };\n };\n var handleAction = function (v) {\n if (v instanceof BDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $45 = {};\n for (var $46 in v1) {\n if ({}.hasOwnProperty.call(v1, $46)) {\n $45[$46] = v1[$46];\n };\n };\n $45.deleteAsk = v.value0;\n return $45;\n });\n };\n if (v instanceof BLookupTitle) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $49 = {};\n for (var $50 in v1) {\n if ({}.hasOwnProperty.call(v1, $50)) {\n $49[$50] = v1[$50];\n };\n };\n $49.loading = true;\n return $49;\n }))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.edit_bm;\n }))(function (edit_bm) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.lookupTitle(edit_bm)))(function (mtitle) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {\n if (mtitle instanceof Data_Maybe.Just) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: mtitle.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n });\n };\n if (mtitle instanceof Data_Maybe.Nothing) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Component.Add (line 177, column 5 - line 179, column 29): \" + [ mtitle.constructor.name ]);\n })())(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $54 = {};\n for (var $55 in v1) {\n if ({}.hasOwnProperty.call(v1, $55)) {\n $54[$55] = v1[$55];\n };\n };\n $54.loading = false;\n return $54;\n });\n });\n });\n });\n });\n };\n if (v instanceof BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.bm.bid;\n }))(function (bid) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(bid))))(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $57 = {};\n for (var $58 in v1) {\n if ({}.hasOwnProperty.call(v1, $58)) {\n $57[$58] = v1[$58];\n };\n };\n $57.destroyed = true;\n return $57;\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Eurl) {\n return function (v1) {\n return {\n url: v.value0.value0,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n url: v1.url,\n title: v.value0.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Edescription) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v.value0.value0,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etags) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v.value0.value0,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Eprivate) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v.value0.value0,\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etoread) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v.value0.value0,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.Add (line 188, column 17 - line 194, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof BEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Lens_Internal_Forget.strongForget)))(function (edit_bm) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_apiError(Data_Profunctor_Strong.strongFn))(Data_Maybe.Nothing.value))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(edit_bm)))(function (v1) {\n if (v1 instanceof Data_Either.Left) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_apiError(Data_Profunctor_Strong.strongFn))(new Data_Maybe.Just(Affjax.printError(v1.value0))))(function () {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Effect_Console.log(Affjax.printError(v1.value0)));\n });\n };\n if (v1 instanceof Data_Either.Right && (v1.value0.status >= 200 && v1.value0.status < 300)) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(edit_bm))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_curQuerystring\"]))(function (qs) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_doc\"]))(function (doc) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML_HTMLDocument.referrer(doc)))(function (ref) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_loc\"]))(function (loc) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML_Location.origin(loc)))(function (org) {\n var v2 = Util[\"_lookupQueryStringValue\"](qs)(\"next\");\n if (v2 instanceof Data_Maybe.Just && v2.value0 === \"closeWindow\") {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Bind.bindFlipped(Effect.bindEffect)(Globals.closeWindow)(Web_HTML.window));\n };\n if (v2 instanceof Data_Maybe.Just && v2.value0 === \"back\") {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))((function () {\n var v3 = Data_String_CodeUnits.stripPrefix(org)(ref);\n if (v3 instanceof Data_Maybe.Just) {\n return Web_HTML_Location.setHref(ref)(loc);\n };\n if (v3 instanceof Data_Maybe.Nothing) {\n return Web_HTML_Location.setHref(org)(loc);\n };\n throw new Error(\"Failed pattern match at Component.Add (line 214, column 13 - line 216, column 41): \" + [ v3.constructor.name ]);\n })());\n };\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Bind.bindFlipped(Effect.bindEffect)(Globals.closeWindow)(Web_HTML.window));\n });\n });\n });\n });\n });\n });\n };\n if (v1 instanceof Data_Either.Right) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_apiError(Data_Profunctor_Strong.strongFn))(new Data_Maybe.Just(v1.value0.body)))(function () {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Effect_Console.log(v1.value0.body));\n });\n };\n throw new Error(\"Failed pattern match at Component.Add (line 200, column 42 - line 220, column 36): \" + [ v1.constructor.name ]);\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.Add (line 169, column 3 - line 169, column 69): \" + [ v.constructor.name ]);\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n};\nexport {\n BEditField,\n BEditSubmit,\n BDeleteAsk,\n BLookupTitle,\n BDestroy,\n Eurl,\n Etitle,\n Edescription,\n Etags,\n Eprivate,\n Etoread,\n _bm,\n _edit_bm,\n _apiError,\n addbmark\n};\n", "// use at your own risk!\nexport const unsafeSetInnerHTML = function(element) {\n return function(html) {\n return function() {\n element.innerHTML = html;\n };\n };\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Control_Monad_State_Class from \"../Control.Monad.State.Class/index.js\";\nimport * as Control_Monad_Trans_Class from \"../Control.Monad.Trans.Class/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Effect_Aff_Class from \"../Effect.Aff.Class/index.js\";\nimport * as Effect_Class from \"../Effect.Class/index.js\";\nimport * as Halogen_Query_HalogenM from \"../Halogen.Query.HalogenM/index.js\";\nimport * as Halogen_Query_HalogenQ from \"../Halogen.Query.HalogenQ/index.js\";\nimport * as Halogen_Query_Input from \"../Halogen.Query.Input/index.js\";\nimport * as Web_HTML_HTMLElement from \"../Web.HTML.HTMLElement/index.js\";\nvar tellAll = function () {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (req) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Halogen_Query_HalogenM.queryAll()(dictIsSymbol)(dictOrd)(label)(req(Data_Unit.unit)));\n };\n };\n };\n };\n};\nvar tell = function () {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (slot) {\n return function (label) {\n return function (req) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Halogen_Query_HalogenM.query()(dictIsSymbol)(dictOrd)(slot)(label)(req(Data_Unit.unit)));\n };\n };\n };\n };\n };\n};\nvar requestAll = function () {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (req) {\n return Halogen_Query_HalogenM.queryAll()(dictIsSymbol)(dictOrd)(label)(req(Control_Category.identity(Control_Category.categoryFn)));\n };\n };\n };\n };\n};\nvar request = function () {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (slot) {\n return function (label) {\n return function (req) {\n return Halogen_Query_HalogenM.query()(dictIsSymbol)(dictOrd)(slot)(label)(req(Control_Category.identity(Control_Category.categoryFn)));\n };\n };\n };\n };\n };\n};\nvar mkTell = function (act) {\n return act(Data_Unit.unit);\n};\nvar mkRequest = function (req) {\n return req(Control_Category.identity(Control_Category.categoryFn));\n};\nvar getHTMLElementRef = /* #__PURE__ */ (function () {\n var $9 = Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(function (v) {\n return Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v);\n });\n return function ($10) {\n return $9(Halogen_Query_HalogenM.getRef($10));\n };\n})();\nexport {\n mkTell,\n tell,\n tellAll,\n mkRequest,\n request,\n requestAll,\n getHTMLElementRef\n};\nexport {\n get,\n gets,\n modify,\n modify_,\n put\n} from \"../Control.Monad.State.Class/index.js\";\nexport {\n lift\n} from \"../Control.Monad.Trans.Class/index.js\";\nexport {\n liftAff\n} from \"../Effect.Aff.Class/index.js\";\nexport {\n liftEffect\n} from \"../Effect.Class/index.js\";\nexport {\n ChildQuery,\n Fork,\n GetRef,\n Join,\n Kill,\n Lift,\n Par,\n Raise,\n State,\n Subscribe,\n Unsubscribe,\n HalogenM,\n fork,\n getRef,\n join,\n kill,\n query,\n queryAll,\n raise,\n subscribe,\n subscribe$prime,\n unsubscribe\n} from \"../Halogen.Query.HalogenM/index.js\";\nexport {\n Action,\n Finalize,\n Initialize,\n Query,\n Receive\n} from \"../Halogen.Query.HalogenQ/index.js\";\nexport {\n RefLabel\n} from \"../Halogen.Query.Input/index.js\";\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Control_Monad_State_Class from \"../Control.Monad.State.Class/index.js\";\nimport * as Data_Foldable from \"../Data.Foldable/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Monoid from \"../Data.Monoid/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Effect from \"../Effect/index.js\";\nimport * as Effect_Aff from \"../Effect.Aff/index.js\";\nimport * as Effect_Aff_Class from \"../Effect.Aff.Class/index.js\";\nimport * as Effect_Class from \"../Effect.Class/index.js\";\nimport * as Globals from \"../Globals/index.js\";\nimport * as Halogen_Component from \"../Halogen.Component/index.js\";\nimport * as Halogen_HTML_Elements from \"../Halogen.HTML.Elements/index.js\";\nimport * as Halogen_HTML_Properties from \"../Halogen.HTML.Properties/index.js\";\nimport * as Halogen_Query from \"../Halogen.Query/index.js\";\nimport * as Halogen_Query_HalogenM from \"../Halogen.Query.HalogenM/index.js\";\nvar SetInnerHTML = /* #__PURE__ */ (function () {\n function SetInnerHTML() {\n\n };\n SetInnerHTML.value = new SetInnerHTML();\n return SetInnerHTML;\n})();\nvar Receive = /* #__PURE__ */ (function () {\n function Receive(value0) {\n this.value0 = value0;\n };\n Receive.create = function (value0) {\n return new Receive(value0);\n };\n return Receive;\n})();\nvar mkComponent = function (toRawHTML) {\n var render = function (state) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.ref(state.elRef) ])([ ]);\n };\n var handleAction = function (v) {\n if (v instanceof SetInnerHTML) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Halogen_Query.getHTMLElementRef(v1.elRef))(function (mel) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Foldable.for_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(mel)(function (el) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v2) {\n return Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(Effect_Aff.forkAff(Effect_Aff.makeAff(function (v3) {\n return function __do() {\n Effect_Class.liftEffect(Effect_Class.monadEffectEffect)($foreign.unsafeSetInnerHTML(el)(toRawHTML(v2.inputval)))();\n return Data_Monoid.mempty(Effect.monoidEffect(Effect_Aff.monoidCanceler))();\n };\n })));\n });\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n });\n });\n });\n };\n if (v instanceof Receive) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $11 = {};\n for (var $12 in v1) {\n if ({}.hasOwnProperty.call(v1, $12)) {\n $11[$12] = v1[$12];\n };\n };\n $11.inputval = v.value0;\n return $11;\n }))(function () {\n return handleAction(SetInnerHTML.value);\n });\n };\n throw new Error(\"Failed pattern match at Component.RawHtml (line 51, column 18 - line 64, column 34): \" + [ v.constructor.name ]);\n };\n return Halogen_Component.mkComponent({\n initialState: function (inputval) {\n return {\n elRef: \"inputval\",\n inputval: inputval\n };\n },\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: function ($15) {\n return Data_Maybe.Just.create(Receive.create($15));\n },\n initialize: new Data_Maybe.Just(SetInnerHTML.value),\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n};\nvar component = /* #__PURE__ */ mkComponent(Globals.RawHTML);\nexport {\n unsafeSetInnerHTML\n} from \"./foreign.js\";\nexport {\n SetInnerHTML,\n Receive,\n component,\n mkComponent\n};\n", "/**\n * marked - a markdown parser\n * Copyright (c) 2011-2022, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n\nfunction getDefaults() {\n return {\n baseUrl: null,\n breaks: false,\n extensions: null,\n gfm: true,\n headerIds: true,\n headerPrefix: '',\n highlight: null,\n langPrefix: 'language-',\n mangle: true,\n pedantic: false,\n renderer: null,\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n tokenizer: null,\n walkTokens: null,\n xhtml: false\n };\n}\n\nlet defaults = getDefaults();\n\nfunction changeDefaults(newDefaults) {\n defaults = newDefaults;\n}\n\n/**\n * Helpers\n */\nconst escapeTest = /[&<>\"']/;\nconst escapeReplace = /[&<>\"']/g;\nconst escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\nconst escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\nconst escapeReplacements = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;'\n};\nconst getEscapeReplacement = (ch) => escapeReplacements[ch];\nfunction escape(html, encode) {\n if (encode) {\n if (escapeTest.test(html)) {\n return html.replace(escapeReplace, getEscapeReplacement);\n }\n } else {\n if (escapeTestNoEncode.test(html)) {\n return html.replace(escapeReplaceNoEncode, getEscapeReplacement);\n }\n }\n\n return html;\n}\n\nconst unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\n\n/**\n * @param {string} html\n */\nfunction unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(unescapeTest, (_, n) => {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n}\n\nconst caret = /(^|[^\\[])\\^/g;\n\n/**\n * @param {string | RegExp} regex\n * @param {string} opt\n */\nfunction edit(regex, opt) {\n regex = typeof regex === 'string' ? regex : regex.source;\n opt = opt || '';\n const obj = {\n replace: (name, val) => {\n val = val.source || val;\n val = val.replace(caret, '$1');\n regex = regex.replace(name, val);\n return obj;\n },\n getRegex: () => {\n return new RegExp(regex, opt);\n }\n };\n return obj;\n}\n\nconst nonWordAndColonTest = /[^\\w:]/g;\nconst originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\n\n/**\n * @param {boolean} sanitize\n * @param {string} base\n * @param {string} href\n */\nfunction cleanUrl(sanitize, base, href) {\n if (sanitize) {\n let prot;\n try {\n prot = decodeURIComponent(unescape(href))\n .replace(nonWordAndColonTest, '')\n .toLowerCase();\n } catch (e) {\n return null;\n }\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n return null;\n }\n }\n if (base && !originIndependentUrl.test(href)) {\n href = resolveUrl(base, href);\n }\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n } catch (e) {\n return null;\n }\n return href;\n}\n\nconst baseUrls = {};\nconst justDomain = /^[^:]+:\\/*[^/]*$/;\nconst protocol = /^([^:]+:)[\\s\\S]*$/;\nconst domain = /^([^:]+:\\/*[^/]*)[\\s\\S]*$/;\n\n/**\n * @param {string} base\n * @param {string} href\n */\nfunction resolveUrl(base, href) {\n if (!baseUrls[' ' + base]) {\n // we can ignore everything in base after the last slash of its path component,\n // but we might need to add _that_\n // https://tools.ietf.org/html/rfc3986#section-3\n if (justDomain.test(base)) {\n baseUrls[' ' + base] = base + '/';\n } else {\n baseUrls[' ' + base] = rtrim(base, '/', true);\n }\n }\n base = baseUrls[' ' + base];\n const relativeBase = base.indexOf(':') === -1;\n\n if (href.substring(0, 2) === '//') {\n if (relativeBase) {\n return href;\n }\n return base.replace(protocol, '$1') + href;\n } else if (href.charAt(0) === '/') {\n if (relativeBase) {\n return href;\n }\n return base.replace(domain, '$1') + href;\n } else {\n return base + href;\n }\n}\n\nconst noopTest = { exec: function noopTest() {} };\n\nfunction merge(obj) {\n let i = 1,\n target,\n key;\n\n for (; i < arguments.length; i++) {\n target = arguments[i];\n for (key in target) {\n if (Object.prototype.hasOwnProperty.call(target, key)) {\n obj[key] = target[key];\n }\n }\n }\n\n return obj;\n}\n\nfunction splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n const row = tableRow.replace(/\\|/g, (match, offset, str) => {\n let escaped = false,\n curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\') escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n } else {\n // add space before unescaped |\n return ' |';\n }\n }),\n cells = row.split(/ \\|/);\n let i = 0;\n\n // First/last cell in a row cannot be empty if it has no leading/trailing pipe\n if (!cells[0].trim()) { cells.shift(); }\n if (cells.length > 0 && !cells[cells.length - 1].trim()) { cells.pop(); }\n\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count) cells.push('');\n }\n\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n return cells;\n}\n\n/**\n * Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n * /c*$/ is vulnerable to REDOS.\n *\n * @param {string} str\n * @param {string} c\n * @param {boolean} invert Remove suffix of non-c chars instead. Default falsey.\n */\nfunction rtrim(str, c, invert) {\n const l = str.length;\n if (l === 0) {\n return '';\n }\n\n // Length of suffix matching the invert condition.\n let suffLen = 0;\n\n // Step left until we fail to match the invert condition.\n while (suffLen < l) {\n const currChar = str.charAt(l - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n } else if (currChar !== c && invert) {\n suffLen++;\n } else {\n break;\n }\n }\n\n return str.slice(0, l - suffLen);\n}\n\nfunction findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n const l = str.length;\n let level = 0,\n i = 0;\n for (; i < l; i++) {\n if (str[i] === '\\\\') {\n i++;\n } else if (str[i] === b[0]) {\n level++;\n } else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n}\n\nfunction checkSanitizeDeprecation(opt) {\n if (opt && opt.sanitize && !opt.silent) {\n console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options');\n }\n}\n\n// copied from https://stackoverflow.com/a/5450113/806777\n/**\n * @param {string} pattern\n * @param {number} count\n */\nfunction repeatString(pattern, count) {\n if (count < 1) {\n return '';\n }\n let result = '';\n while (count > 1) {\n if (count & 1) {\n result += pattern;\n }\n count >>= 1;\n pattern += pattern;\n }\n return result + pattern;\n}\n\nfunction outputLink(cap, link, raw, lexer) {\n const href = link.href;\n const title = link.title ? escape(link.title) : null;\n const text = cap[1].replace(/\\\\([\\[\\]])/g, '$1');\n\n if (cap[0].charAt(0) !== '!') {\n lexer.state.inLink = true;\n const token = {\n type: 'link',\n raw,\n href,\n title,\n text,\n tokens: lexer.inlineTokens(text, [])\n };\n lexer.state.inLink = false;\n return token;\n }\n return {\n type: 'image',\n raw,\n href,\n title,\n text: escape(text)\n };\n}\n\nfunction indentCodeCompensation(raw, text) {\n const matchIndentToCode = raw.match(/^(\\s+)(?:```)/);\n\n if (matchIndentToCode === null) {\n return text;\n }\n\n const indentToCode = matchIndentToCode[1];\n\n return text\n .split('\\n')\n .map(node => {\n const matchIndentInNode = node.match(/^\\s+/);\n if (matchIndentInNode === null) {\n return node;\n }\n\n const [indentInNode] = matchIndentInNode;\n\n if (indentInNode.length >= indentToCode.length) {\n return node.slice(indentToCode.length);\n }\n\n return node;\n })\n .join('\\n');\n}\n\n/**\n * Tokenizer\n */\nclass Tokenizer {\n constructor(options) {\n this.options = options || defaults;\n }\n\n space(src) {\n const cap = this.rules.block.newline.exec(src);\n if (cap && cap[0].length > 0) {\n return {\n type: 'space',\n raw: cap[0]\n };\n }\n }\n\n code(src) {\n const cap = this.rules.block.code.exec(src);\n if (cap) {\n const text = cap[0].replace(/^ {1,4}/gm, '');\n return {\n type: 'code',\n raw: cap[0],\n codeBlockStyle: 'indented',\n text: !this.options.pedantic\n ? rtrim(text, '\\n')\n : text\n };\n }\n }\n\n fences(src) {\n const cap = this.rules.block.fences.exec(src);\n if (cap) {\n const raw = cap[0];\n const text = indentCodeCompensation(raw, cap[3] || '');\n\n return {\n type: 'code',\n raw,\n lang: cap[2] ? cap[2].trim() : cap[2],\n text\n };\n }\n }\n\n heading(src) {\n const cap = this.rules.block.heading.exec(src);\n if (cap) {\n let text = cap[2].trim();\n\n // remove trailing #s\n if (/#$/.test(text)) {\n const trimmed = rtrim(text, '#');\n if (this.options.pedantic) {\n text = trimmed.trim();\n } else if (!trimmed || / $/.test(trimmed)) {\n // CommonMark requires space before trailing #s\n text = trimmed.trim();\n }\n }\n\n const token = {\n type: 'heading',\n raw: cap[0],\n depth: cap[1].length,\n text,\n tokens: []\n };\n this.lexer.inline(token.text, token.tokens);\n return token;\n }\n }\n\n hr(src) {\n const cap = this.rules.block.hr.exec(src);\n if (cap) {\n return {\n type: 'hr',\n raw: cap[0]\n };\n }\n }\n\n blockquote(src) {\n const cap = this.rules.block.blockquote.exec(src);\n if (cap) {\n const text = cap[0].replace(/^ *>[ \\t]?/gm, '');\n\n return {\n type: 'blockquote',\n raw: cap[0],\n tokens: this.lexer.blockTokens(text, []),\n text\n };\n }\n }\n\n list(src) {\n let cap = this.rules.block.list.exec(src);\n if (cap) {\n let raw, istask, ischecked, indent, i, blankLine, endsWithBlankLine,\n line, nextLine, rawLine, itemContents, endEarly;\n\n let bull = cap[1].trim();\n const isordered = bull.length > 1;\n\n const list = {\n type: 'list',\n raw: '',\n ordered: isordered,\n start: isordered ? +bull.slice(0, -1) : '',\n loose: false,\n items: []\n };\n\n bull = isordered ? `\\\\d{1,9}\\\\${bull.slice(-1)}` : `\\\\${bull}`;\n\n if (this.options.pedantic) {\n bull = isordered ? bull : '[*+-]';\n }\n\n // Get next list item\n const itemRegex = new RegExp(`^( {0,3}${bull})((?:[\\t ][^\\\\n]*)?(?:\\\\n|$))`);\n\n // Check if current bullet point can start a new List Item\n while (src) {\n endEarly = false;\n if (!(cap = itemRegex.exec(src))) {\n break;\n }\n\n if (this.rules.block.hr.test(src)) { // End list if bullet was actually HR (possibly move into itemRegex?)\n break;\n }\n\n raw = cap[0];\n src = src.substring(raw.length);\n\n line = cap[2].split('\\n', 1)[0];\n nextLine = src.split('\\n', 1)[0];\n\n if (this.options.pedantic) {\n indent = 2;\n itemContents = line.trimLeft();\n } else {\n indent = cap[2].search(/[^ ]/); // Find first non-space char\n indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent\n itemContents = line.slice(indent);\n indent += cap[1].length;\n }\n\n blankLine = false;\n\n if (!line && /^ *$/.test(nextLine)) { // Items begin with at most one blank line\n raw += nextLine + '\\n';\n src = src.substring(nextLine.length + 1);\n endEarly = true;\n }\n\n if (!endEarly) {\n const nextBulletRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\\\d{1,9}[.)])((?: [^\\\\n]*)?(?:\\\\n|$))`);\n const hrRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`);\n\n // Check if following lines should be included in List Item\n while (src) {\n rawLine = src.split('\\n', 1)[0];\n line = rawLine;\n\n // Re-align to follow commonmark nesting rules\n if (this.options.pedantic) {\n line = line.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' ');\n }\n\n // End list item if found start of new bullet\n if (nextBulletRegex.test(line)) {\n break;\n }\n\n // Horizontal rule found\n if (hrRegex.test(src)) {\n break;\n }\n\n if (line.search(/[^ ]/) >= indent || !line.trim()) { // Dedent if possible\n itemContents += '\\n' + line.slice(indent);\n } else if (!blankLine) { // Until blank line, item doesn't need indentation\n itemContents += '\\n' + line;\n } else { // Otherwise, improper indentation ends this item\n break;\n }\n\n if (!blankLine && !line.trim()) { // Check if current line is blank\n blankLine = true;\n }\n\n raw += rawLine + '\\n';\n src = src.substring(rawLine.length + 1);\n }\n }\n\n if (!list.loose) {\n // If the previous item ended with a blank line, the list is loose\n if (endsWithBlankLine) {\n list.loose = true;\n } else if (/\\n *\\n *$/.test(raw)) {\n endsWithBlankLine = true;\n }\n }\n\n // Check for task list items\n if (this.options.gfm) {\n istask = /^\\[[ xX]\\] /.exec(itemContents);\n if (istask) {\n ischecked = istask[0] !== '[ ] ';\n itemContents = itemContents.replace(/^\\[[ xX]\\] +/, '');\n }\n }\n\n list.items.push({\n type: 'list_item',\n raw,\n task: !!istask,\n checked: ischecked,\n loose: false,\n text: itemContents\n });\n\n list.raw += raw;\n }\n\n // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic\n list.items[list.items.length - 1].raw = raw.trimRight();\n list.items[list.items.length - 1].text = itemContents.trimRight();\n list.raw = list.raw.trimRight();\n\n const l = list.items.length;\n\n // Item child tokens handled here at end because we needed to have the final item to trim it first\n for (i = 0; i < l; i++) {\n this.lexer.state.top = false;\n list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);\n const spacers = list.items[i].tokens.filter(t => t.type === 'space');\n const hasMultipleLineBreaks = spacers.every(t => {\n const chars = t.raw.split('');\n let lineBreaks = 0;\n for (const char of chars) {\n if (char === '\\n') {\n lineBreaks += 1;\n }\n if (lineBreaks > 1) {\n return true;\n }\n }\n\n return false;\n });\n\n if (!list.loose && spacers.length && hasMultipleLineBreaks) {\n // Having a single line break doesn't mean a list is loose. A single line break is terminating the last list item\n list.loose = true;\n list.items[i].loose = true;\n }\n }\n\n return list;\n }\n }\n\n html(src) {\n const cap = this.rules.block.html.exec(src);\n if (cap) {\n const token = {\n type: 'html',\n raw: cap[0],\n pre: !this.options.sanitizer\n && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: cap[0]\n };\n if (this.options.sanitize) {\n token.type = 'paragraph';\n token.text = this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]);\n token.tokens = [];\n this.lexer.inline(token.text, token.tokens);\n }\n return token;\n }\n }\n\n def(src) {\n const cap = this.rules.block.def.exec(src);\n if (cap) {\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n const tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n return {\n type: 'def',\n tag,\n raw: cap[0],\n href: cap[2],\n title: cap[3]\n };\n }\n }\n\n table(src) {\n const cap = this.rules.block.table.exec(src);\n if (cap) {\n const item = {\n type: 'table',\n header: splitCells(cap[1]).map(c => { return { text: c }; }),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n rows: cap[3] && cap[3].trim() ? cap[3].replace(/\\n[ \\t]*$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n item.raw = cap[0];\n\n let l = item.align.length;\n let i, j, k, row;\n for (i = 0; i < l; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n l = item.rows.length;\n for (i = 0; i < l; i++) {\n item.rows[i] = splitCells(item.rows[i], item.header.length).map(c => { return { text: c }; });\n }\n\n // parse child tokens inside headers and cells\n\n // header child tokens\n l = item.header.length;\n for (j = 0; j < l; j++) {\n item.header[j].tokens = [];\n this.lexer.inline(item.header[j].text, item.header[j].tokens);\n }\n\n // cell child tokens\n l = item.rows.length;\n for (j = 0; j < l; j++) {\n row = item.rows[j];\n for (k = 0; k < row.length; k++) {\n row[k].tokens = [];\n this.lexer.inline(row[k].text, row[k].tokens);\n }\n }\n\n return item;\n }\n }\n }\n\n lheading(src) {\n const cap = this.rules.block.lheading.exec(src);\n if (cap) {\n const token = {\n type: 'heading',\n raw: cap[0],\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1],\n tokens: []\n };\n this.lexer.inline(token.text, token.tokens);\n return token;\n }\n }\n\n paragraph(src) {\n const cap = this.rules.block.paragraph.exec(src);\n if (cap) {\n const token = {\n type: 'paragraph',\n raw: cap[0],\n text: cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1],\n tokens: []\n };\n this.lexer.inline(token.text, token.tokens);\n return token;\n }\n }\n\n text(src) {\n const cap = this.rules.block.text.exec(src);\n if (cap) {\n const token = {\n type: 'text',\n raw: cap[0],\n text: cap[0],\n tokens: []\n };\n this.lexer.inline(token.text, token.tokens);\n return token;\n }\n }\n\n escape(src) {\n const cap = this.rules.inline.escape.exec(src);\n if (cap) {\n return {\n type: 'escape',\n raw: cap[0],\n text: escape(cap[1])\n };\n }\n }\n\n tag(src) {\n const cap = this.rules.inline.tag.exec(src);\n if (cap) {\n if (!this.lexer.state.inLink && /^<a /i.test(cap[0])) {\n this.lexer.state.inLink = true;\n } else if (this.lexer.state.inLink && /^<\\/a>/i.test(cap[0])) {\n this.lexer.state.inLink = false;\n }\n if (!this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = true;\n } else if (this.lexer.state.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = false;\n }\n\n return {\n type: this.options.sanitize\n ? 'text'\n : 'html',\n raw: cap[0],\n inLink: this.lexer.state.inLink,\n inRawBlock: this.lexer.state.inRawBlock,\n text: this.options.sanitize\n ? (this.options.sanitizer\n ? this.options.sanitizer(cap[0])\n : escape(cap[0]))\n : cap[0]\n };\n }\n }\n\n link(src) {\n const cap = this.rules.inline.link.exec(src);\n if (cap) {\n const trimmedUrl = cap[2].trim();\n if (!this.options.pedantic && /^</.test(trimmedUrl)) {\n // commonmark requires matching angle brackets\n if (!(/>$/.test(trimmedUrl))) {\n return;\n }\n\n // ending angle bracket cannot be escaped\n const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\\\');\n if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {\n return;\n }\n } else {\n // find closing parenthesis\n const lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex > -1) {\n const start = cap[0].indexOf('!') === 0 ? 5 : 4;\n const linkLen = start + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n }\n let href = cap[2];\n let title = '';\n if (this.options.pedantic) {\n // split pedantic href and title\n const link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n\n href = href.trim();\n if (/^</.test(href)) {\n if (this.options.pedantic && !(/>$/.test(trimmedUrl))) {\n // pedantic allows starting angle bracket without ending angle bracket\n href = href.slice(1);\n } else {\n href = href.slice(1, -1);\n }\n }\n return outputLink(cap, {\n href: href ? href.replace(this.rules.inline._escapes, '$1') : href,\n title: title ? title.replace(this.rules.inline._escapes, '$1') : title\n }, cap[0], this.lexer);\n }\n }\n\n reflink(src, links) {\n let cap;\n if ((cap = this.rules.inline.reflink.exec(src))\n || (cap = this.rules.inline.nolink.exec(src))) {\n let link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = links[link.toLowerCase()];\n if (!link || !link.href) {\n const text = cap[0].charAt(0);\n return {\n type: 'text',\n raw: text,\n text\n };\n }\n return outputLink(cap, link, cap[0], this.lexer);\n }\n }\n\n emStrong(src, maskedSrc, prevChar = '') {\n let match = this.rules.inline.emStrong.lDelim.exec(src);\n if (!match) return;\n\n // _ can't be between two alphanumerics. \\p{L}\\p{N} includes non-english alphabet/numbers as well\n if (match[3] && prevChar.match(/[\\p{L}\\p{N}]/u)) return;\n\n const nextChar = match[1] || match[2] || '';\n\n if (!nextChar || (nextChar && (prevChar === '' || this.rules.inline.punctuation.exec(prevChar)))) {\n const lLength = match[0].length - 1;\n let rDelim, rLength, delimTotal = lLength, midDelimTotal = 0;\n\n const endReg = match[0][0] === '*' ? this.rules.inline.emStrong.rDelimAst : this.rules.inline.emStrong.rDelimUnd;\n endReg.lastIndex = 0;\n\n // Clip maskedSrc to same section of string as src (move to lexer?)\n maskedSrc = maskedSrc.slice(-1 * src.length + lLength);\n\n while ((match = endReg.exec(maskedSrc)) != null) {\n rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];\n\n if (!rDelim) continue; // skip single * in __abc*abc__\n\n rLength = rDelim.length;\n\n if (match[3] || match[4]) { // found another Left Delim\n delimTotal += rLength;\n continue;\n } else if (match[5] || match[6]) { // either Left or Right Delim\n if (lLength % 3 && !((lLength + rLength) % 3)) {\n midDelimTotal += rLength;\n continue; // CommonMark Emphasis Rules 9-10\n }\n }\n\n delimTotal -= rLength;\n\n if (delimTotal > 0) continue; // Haven't found enough closing delimiters\n\n // Remove extra characters. *a*** -> *a*\n rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);\n\n // Create `em` if smallest delimiter has odd char count. *a***\n if (Math.min(lLength, rLength) % 2) {\n const text = src.slice(1, lLength + match.index + rLength);\n return {\n type: 'em',\n raw: src.slice(0, lLength + match.index + rLength + 1),\n text,\n tokens: this.lexer.inlineTokens(text, [])\n };\n }\n\n // Create 'strong' if smallest delimiter has even char count. **a***\n const text = src.slice(2, lLength + match.index + rLength - 1);\n return {\n type: 'strong',\n raw: src.slice(0, lLength + match.index + rLength + 1),\n text,\n tokens: this.lexer.inlineTokens(text, [])\n };\n }\n }\n }\n\n codespan(src) {\n const cap = this.rules.inline.code.exec(src);\n if (cap) {\n let text = cap[2].replace(/\\n/g, ' ');\n const hasNonSpaceChars = /[^ ]/.test(text);\n const hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);\n if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {\n text = text.substring(1, text.length - 1);\n }\n text = escape(text, true);\n return {\n type: 'codespan',\n raw: cap[0],\n text\n };\n }\n }\n\n br(src) {\n const cap = this.rules.inline.br.exec(src);\n if (cap) {\n return {\n type: 'br',\n raw: cap[0]\n };\n }\n }\n\n del(src) {\n const cap = this.rules.inline.del.exec(src);\n if (cap) {\n return {\n type: 'del',\n raw: cap[0],\n text: cap[2],\n tokens: this.lexer.inlineTokens(cap[2], [])\n };\n }\n }\n\n autolink(src, mangle) {\n const cap = this.rules.inline.autolink.exec(src);\n if (cap) {\n let text, href;\n if (cap[2] === '@') {\n text = escape(this.options.mangle ? mangle(cap[1]) : cap[1]);\n href = 'mailto:' + text;\n } else {\n text = escape(cap[1]);\n href = text;\n }\n\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text\n }\n ]\n };\n }\n }\n\n url(src, mangle) {\n let cap;\n if (cap = this.rules.inline.url.exec(src)) {\n let text, href;\n if (cap[2] === '@') {\n text = escape(this.options.mangle ? mangle(cap[0]) : cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n let prevCapZero;\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules.inline._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n text = escape(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text\n }\n ]\n };\n }\n }\n\n inlineText(src, smartypants) {\n const cap = this.rules.inline.text.exec(src);\n if (cap) {\n let text;\n if (this.lexer.state.inRawBlock) {\n text = this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : cap[0];\n } else {\n text = escape(this.options.smartypants ? smartypants(cap[0]) : cap[0]);\n }\n return {\n type: 'text',\n raw: cap[0],\n text\n };\n }\n }\n}\n\n/**\n * Block-Level Grammar\n */\nconst block = {\n newline: /^(?: *(?:\\n|$))+/,\n code: /^( {4}[^\\n]+(?:\\n(?: *(?:\\n|$))*)?)+/,\n fences: /^ {0,3}(`{3,}(?=[^`\\n]*\\n)|~{3,})([^\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/,\n hr: /^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/,\n heading: /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3}bull)([ \\t][^\\n]+?)?(?:\\n|$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)' // (3)\n + '|<![A-Z][\\\\s\\\\S]*?(?:>\\\\n*|$)' // (4)\n + '|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?(?:\\\\]\\\\]>\\\\n*|$)' // (5)\n + '|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (6)\n + '|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) open tag\n + '|</(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *(?:\\n *)?<?([^\\s>]+)>?(?:(?: +(?:\\n *)?| *\\n *)(title))? *(?:\\n+|$)/,\n table: noopTest,\n lheading: /^([^\\n]+)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n // regex template, placeholders will be replaced according to different paragraph\n // interruption rules of commonmark and the original markdown spec:\n _paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/,\n text: /^[^\\n]+/\n};\n\nblock._label = /(?!\\s*\\])(?:\\\\.|[^\\[\\]\\\\])+/;\nblock._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\nblock.def = edit(block.def)\n .replace('label', block._label)\n .replace('title', block._title)\n .getRegex();\n\nblock.bullet = /(?:[*+-]|\\d{1,9}[.)])/;\nblock.listItemStart = edit(/^( *)(bull) */)\n .replace('bull', block.bullet)\n .getRegex();\n\nblock.list = edit(block.list)\n .replace(/bull/g, block.bullet)\n .replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))')\n .replace('def', '\\\\n+(?=' + block.def.source + ')')\n .getRegex();\n\nblock._tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'\n + '|track|ul';\nblock._comment = /<!--(?!-?>)[\\s\\S]*?(?:-->|$)/;\nblock.html = edit(block.html, 'i')\n .replace('comment', block._comment)\n .replace('tag', block._tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\n\nblock.paragraph = edit(block._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' {0,3}#{1,6} ')\n .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('|table', '')\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n\nblock.blockquote = edit(block.blockquote)\n .replace('paragraph', block.paragraph)\n .getRegex();\n\n/**\n * Normal Block Grammar\n */\n\nblock.normal = merge({}, block);\n\n/**\n * GFM Block Grammar\n */\n\nblock.gfm = merge({}, block.normal, {\n table: '^ *([^\\\\n ].*\\\\|.*)\\\\n' // Header\n + ' {0,3}(?:\\\\| *)?(:?-+:? *(?:\\\\| *:?-+:? *)*)(?:\\\\| *)?' // Align\n + '(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)' // Cells\n});\n\nblock.gfm.table = edit(block.gfm.table)\n .replace('hr', block.hr)\n .replace('heading', ' {0,3}#{1,6} ')\n .replace('blockquote', ' {0,3}>')\n .replace('code', ' {4}[^\\\\n]')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n .replace('tag', block._tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\n\nblock.gfm.paragraph = edit(block._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' {0,3}#{1,6} ')\n .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('table', block.gfm.table) // interrupt paragraphs with table\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n/**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\n\nblock.pedantic = merge({}, block.normal, {\n html: edit(\n '^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|<tag(?:\"[^\"]*\"|\\'[^\\']*\\'|\\\\s[^\\'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', block._comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^(#{1,6})(.*)(?:\\n+|$)/,\n fences: noopTest, // fences not supported\n paragraph: edit(block.normal._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' *#{1,6} *[^\\n]')\n .replace('lheading', block.lheading)\n .replace('blockquote', ' {0,3}>')\n .replace('|fences', '')\n .replace('|list', '')\n .replace('|html', '')\n .getRegex()\n});\n\n/**\n * Inline-Level Grammar\n */\nconst inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noopTest,\n tag: '^comment'\n + '|^</[a-zA-Z][\\\\w:-]*\\\\s*>' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. <?php ?>\n + '|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>' // declaration, e.g. <!DOCTYPE html>\n + '|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>', // CDATA section\n link: /^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(ref)\\]/,\n nolink: /^!?\\[(ref)\\](?:\\[\\])?/,\n reflinkSearch: 'reflink|nolink(?!\\\\()',\n emStrong: {\n lDelim: /^(?:\\*+(?:([punct_])|[^\\s*]))|^_+(?:([punct*])|([^\\s_]))/,\n // (1) and (2) can only be a Right Delimiter. (3) and (4) can only be Left. (5) and (6) can be either Left or Right.\n // () Skip orphan inside strong () Consume to delim (1) #*** (2) a***#, a*** (3) #***a, ***a (4) ***# (5) #***# (6) a***a\n rDelimAst: /^[^_*]*?\\_\\_[^_*]*?\\*[^_*]*?(?=\\_\\_)|[^*]+(?=[^*])|[punct_](\\*+)(?=[\\s]|$)|[^punct*_\\s](\\*+)(?=[punct_\\s]|$)|[punct_\\s](\\*+)(?=[^punct*_\\s])|[\\s](\\*+)(?=[punct_])|[punct_](\\*+)(?=[punct_])|[^punct*_\\s](\\*+)(?=[^punct*_\\s])/,\n rDelimUnd: /^[^_*]*?\\*\\*[^_*]*?\\_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|[punct*](\\_+)(?=[\\s]|$)|[^punct*_\\s](\\_+)(?=[punct*\\s]|$)|[punct*\\s](\\_+)(?=[^punct*_\\s])|[\\s](\\_+)(?=[punct*])|[punct*](\\_+)(?=[punct*])/ // ^- Not allowed for _\n },\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noopTest,\n text: /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*_]|\\b_|$)|[^ ](?= {2,}\\n)))/,\n punctuation: /^([\\spunctuation])/\n};\n\n// list of punctuation marks from CommonMark spec\n// without * and _ to handle the different emphasis markers * and _\ninline._punctuation = '!\"#$%&\\'()+\\\\-.,/:;<=>?@\\\\[\\\\]`^{|}~';\ninline.punctuation = edit(inline.punctuation).replace(/punctuation/g, inline._punctuation).getRegex();\n\n// sequences em should skip over [title](link), `code`, <html>\ninline.blockSkip = /\\[[^\\]]*?\\]\\([^\\)]*?\\)|`[^`]*?`|<[^>]*?>/g;\ninline.escapedEmSt = /\\\\\\*|\\\\_/g;\n\ninline._comment = edit(block._comment).replace('(?:-->|$)', '-->').getRegex();\n\ninline.emStrong.lDelim = edit(inline.emStrong.lDelim)\n .replace(/punct/g, inline._punctuation)\n .getRegex();\n\ninline.emStrong.rDelimAst = edit(inline.emStrong.rDelimAst, 'g')\n .replace(/punct/g, inline._punctuation)\n .getRegex();\n\ninline.emStrong.rDelimUnd = edit(inline.emStrong.rDelimUnd, 'g')\n .replace(/punct/g, inline._punctuation)\n .getRegex();\n\ninline._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n\ninline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\ninline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;\ninline.autolink = edit(inline.autolink)\n .replace('scheme', inline._scheme)\n .replace('email', inline._email)\n .getRegex();\n\ninline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n\ninline.tag = edit(inline.tag)\n .replace('comment', inline._comment)\n .replace('attribute', inline._attribute)\n .getRegex();\n\ninline._label = /(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\ninline._href = /<(?:\\\\.|[^\\n<>\\\\])+>|[^\\s\\x00-\\x1f]*/;\ninline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n\ninline.link = edit(inline.link)\n .replace('label', inline._label)\n .replace('href', inline._href)\n .replace('title', inline._title)\n .getRegex();\n\ninline.reflink = edit(inline.reflink)\n .replace('label', inline._label)\n .replace('ref', block._label)\n .getRegex();\n\ninline.nolink = edit(inline.nolink)\n .replace('ref', block._label)\n .getRegex();\n\ninline.reflinkSearch = edit(inline.reflinkSearch, 'g')\n .replace('reflink', inline.reflink)\n .replace('nolink', inline.nolink)\n .getRegex();\n\n/**\n * Normal Inline Grammar\n */\n\ninline.normal = merge({}, inline);\n\n/**\n * Pedantic Inline Grammar\n */\n\ninline.pedantic = merge({}, inline.normal, {\n strong: {\n start: /^__|\\*\\*/,\n middle: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n endAst: /\\*\\*(?!\\*)/g,\n endUnd: /__(?!_)/g\n },\n em: {\n start: /^_|\\*/,\n middle: /^()\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)|^_(?=\\S)([\\s\\S]*?\\S)_(?!_)/,\n endAst: /\\*(?!\\*)/g,\n endUnd: /_(?!_)/g\n },\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', inline._label)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', inline._label)\n .getRegex()\n});\n\n/**\n * GFM Inline Grammar\n */\n\ninline.gfm = merge({}, inline.normal, {\n escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^(~~?)(?=[^\\s~])([\\s\\S]*?[^\\s~])\\1(?=[^~]|$)/,\n text: /^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*~_]|\\b_|https?:\\/\\/|ftp:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)))/\n});\n\ninline.gfm.url = edit(inline.gfm.url, 'i')\n .replace('email', inline.gfm._extended_email)\n .getRegex();\n/**\n * GFM + Line Breaks Inline Grammar\n */\n\ninline.breaks = merge({}, inline.gfm, {\n br: edit(inline.br).replace('{2,}', '*').getRegex(),\n text: edit(inline.gfm.text)\n .replace('\\\\b_', '\\\\b_| {2,}\\\\n')\n .replace(/\\{2,\\}/g, '*')\n .getRegex()\n});\n\n/**\n * smartypants text replacement\n * @param {string} text\n */\nfunction smartypants(text) {\n return text\n // em-dashes\n .replace(/---/g, '\\u2014')\n // en-dashes\n .replace(/--/g, '\\u2013')\n // opening singles\n .replace(/(^|[-\\u2014/(\\[{\"\\s])'/g, '$1\\u2018')\n // closing singles & apostrophes\n .replace(/'/g, '\\u2019')\n // opening doubles\n .replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g, '$1\\u201c')\n // closing doubles\n .replace(/\"/g, '\\u201d')\n // ellipses\n .replace(/\\.{3}/g, '\\u2026');\n}\n\n/**\n * mangle email addresses\n * @param {string} text\n */\nfunction mangle(text) {\n let out = '',\n i,\n ch;\n\n const l = text.length;\n for (i = 0; i < l; i++) {\n ch = text.charCodeAt(i);\n if (Math.random() > 0.5) {\n ch = 'x' + ch.toString(16);\n }\n out += '&#' + ch + ';';\n }\n\n return out;\n}\n\n/**\n * Block Lexer\n */\nclass Lexer {\n constructor(options) {\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || defaults;\n this.options.tokenizer = this.options.tokenizer || new Tokenizer();\n this.tokenizer = this.options.tokenizer;\n this.tokenizer.options = this.options;\n this.tokenizer.lexer = this;\n this.inlineQueue = [];\n this.state = {\n inLink: false,\n inRawBlock: false,\n top: true\n };\n\n const rules = {\n block: block.normal,\n inline: inline.normal\n };\n\n if (this.options.pedantic) {\n rules.block = block.pedantic;\n rules.inline = inline.pedantic;\n } else if (this.options.gfm) {\n rules.block = block.gfm;\n if (this.options.breaks) {\n rules.inline = inline.breaks;\n } else {\n rules.inline = inline.gfm;\n }\n }\n this.tokenizer.rules = rules;\n }\n\n /**\n * Expose Rules\n */\n static get rules() {\n return {\n block,\n inline\n };\n }\n\n /**\n * Static Lex Method\n */\n static lex(src, options) {\n const lexer = new Lexer(options);\n return lexer.lex(src);\n }\n\n /**\n * Static Lex Inline Method\n */\n static lexInline(src, options) {\n const lexer = new Lexer(options);\n return lexer.inlineTokens(src);\n }\n\n /**\n * Preprocessing\n */\n lex(src) {\n src = src\n .replace(/\\r\\n|\\r/g, '\\n');\n\n this.blockTokens(src, this.tokens);\n\n let next;\n while (next = this.inlineQueue.shift()) {\n this.inlineTokens(next.src, next.tokens);\n }\n\n return this.tokens;\n }\n\n /**\n * Lexing\n */\n blockTokens(src, tokens = []) {\n if (this.options.pedantic) {\n src = src.replace(/\\t/g, ' ').replace(/^ +$/gm, '');\n } else {\n src = src.replace(/^( *)(\\t+)/gm, (_, leading, tabs) => {\n return leading + ' '.repeat(tabs.length);\n });\n }\n\n let token, lastToken, cutSrc, lastParagraphClipped;\n\n while (src) {\n if (this.options.extensions\n && this.options.extensions.block\n && this.options.extensions.block.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n\n // newline\n if (token = this.tokenizer.space(src)) {\n src = src.substring(token.raw.length);\n if (token.raw.length === 1 && tokens.length > 0) {\n // if there's a single \\n as a spacer, it's terminating the last line,\n // so move it there so that we don't get unecessary paragraph tags\n tokens[tokens.length - 1].raw += '\\n';\n } else {\n tokens.push(token);\n }\n continue;\n }\n\n // code\n if (token = this.tokenizer.code(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n // An indented code block cannot interrupt a paragraph.\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else {\n tokens.push(token);\n }\n continue;\n }\n\n // fences\n if (token = this.tokenizer.fences(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // heading\n if (token = this.tokenizer.heading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // hr\n if (token = this.tokenizer.hr(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // blockquote\n if (token = this.tokenizer.blockquote(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // list\n if (token = this.tokenizer.list(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // html\n if (token = this.tokenizer.html(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // def\n if (token = this.tokenizer.def(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.raw;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else if (!this.tokens.links[token.tag]) {\n this.tokens.links[token.tag] = {\n href: token.href,\n title: token.title\n };\n }\n continue;\n }\n\n // table (gfm)\n if (token = this.tokenizer.table(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // lheading\n if (token = this.tokenizer.lheading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // top-level paragraph\n // prevent paragraph consuming extensions by clipping 'src' to extension start\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startBlock) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startBlock.forEach(function(getStartIndex) {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) { startIndex = Math.min(startIndex, tempStart); }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {\n lastToken = tokens[tokens.length - 1];\n if (lastParagraphClipped && lastToken.type === 'paragraph') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else {\n tokens.push(token);\n }\n lastParagraphClipped = (cutSrc.length !== src.length);\n src = src.substring(token.raw.length);\n continue;\n }\n\n // text\n if (token = this.tokenizer.text(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else {\n tokens.push(token);\n }\n continue;\n }\n\n if (src) {\n const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n\n this.state.top = true;\n return tokens;\n }\n\n inline(src, tokens) {\n this.inlineQueue.push({ src, tokens });\n }\n\n /**\n * Lexing/Compiling\n */\n inlineTokens(src, tokens = []) {\n let token, lastToken, cutSrc;\n\n // String with links masked to avoid interference with em and strong\n let maskedSrc = src;\n let match;\n let keepPrevChar, prevChar;\n\n // Mask out reflinks\n if (this.tokens.links) {\n const links = Object.keys(this.tokens.links);\n if (links.length > 0) {\n while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {\n if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);\n }\n }\n }\n }\n // Mask out other blocks\n while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n }\n\n // Mask out escaped em & strong delimiters\n while ((match = this.tokenizer.rules.inline.escapedEmSt.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);\n }\n\n while (src) {\n if (!keepPrevChar) {\n prevChar = '';\n }\n keepPrevChar = false;\n\n // extensions\n if (this.options.extensions\n && this.options.extensions.inline\n && this.options.extensions.inline.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n\n // escape\n if (token = this.tokenizer.escape(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // tag\n if (token = this.tokenizer.tag(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n } else {\n tokens.push(token);\n }\n continue;\n }\n\n // link\n if (token = this.tokenizer.link(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // reflink, nolink\n if (token = this.tokenizer.reflink(src, this.tokens.links)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n } else {\n tokens.push(token);\n }\n continue;\n }\n\n // em & strong\n if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // code\n if (token = this.tokenizer.codespan(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // br\n if (token = this.tokenizer.br(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // del (gfm)\n if (token = this.tokenizer.del(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // autolink\n if (token = this.tokenizer.autolink(src, mangle)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // url (gfm)\n if (!this.state.inLink && (token = this.tokenizer.url(src, mangle))) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // text\n // prevent inlineText consuming extensions by clipping 'src' to extension start\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startInline) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startInline.forEach(function(getStartIndex) {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) { startIndex = Math.min(startIndex, tempStart); }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (token = this.tokenizer.inlineText(cutSrc, smartypants)) {\n src = src.substring(token.raw.length);\n if (token.raw.slice(-1) !== '_') { // Track prevChar before string of ____ started\n prevChar = token.raw.slice(-1);\n }\n keepPrevChar = true;\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n } else {\n tokens.push(token);\n }\n continue;\n }\n\n if (src) {\n const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n\n return tokens;\n }\n}\n\n/**\n * Renderer\n */\nclass Renderer {\n constructor(options) {\n this.options = options || defaults;\n }\n\n code(code, infostring, escaped) {\n const lang = (infostring || '').match(/\\S*/)[0];\n if (this.options.highlight) {\n const out = this.options.highlight(code, lang);\n if (out != null && out !== code) {\n escaped = true;\n code = out;\n }\n }\n\n code = code.replace(/\\n$/, '') + '\\n';\n\n if (!lang) {\n return '<pre><code>'\n + (escaped ? code : escape(code, true))\n + '</code></pre>\\n';\n }\n\n return '<pre><code class=\"'\n + this.options.langPrefix\n + escape(lang, true)\n + '\">'\n + (escaped ? code : escape(code, true))\n + '</code></pre>\\n';\n }\n\n /**\n * @param {string} quote\n */\n blockquote(quote) {\n return `<blockquote>\\n${quote}</blockquote>\\n`;\n }\n\n html(html) {\n return html;\n }\n\n /**\n * @param {string} text\n * @param {string} level\n * @param {string} raw\n * @param {any} slugger\n */\n heading(text, level, raw, slugger) {\n if (this.options.headerIds) {\n const id = this.options.headerPrefix + slugger.slug(raw);\n return `<h${level} id=\"${id}\">${text}</h${level}>\\n`;\n }\n\n // ignore IDs\n return `<h${level}>${text}</h${level}>\\n`;\n }\n\n hr() {\n return this.options.xhtml ? '<hr/>\\n' : '<hr>\\n';\n }\n\n list(body, ordered, start) {\n const type = ordered ? 'ol' : 'ul',\n startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '</' + type + '>\\n';\n }\n\n /**\n * @param {string} text\n */\n listitem(text) {\n return `<li>${text}</li>\\n`;\n }\n\n checkbox(checked) {\n return '<input '\n + (checked ? 'checked=\"\" ' : '')\n + 'disabled=\"\" type=\"checkbox\"'\n + (this.options.xhtml ? ' /' : '')\n + '> ';\n }\n\n /**\n * @param {string} text\n */\n paragraph(text) {\n return `<p>${text}</p>\\n`;\n }\n\n /**\n * @param {string} header\n * @param {string} body\n */\n table(header, body) {\n if (body) body = `<tbody>${body}</tbody>`;\n\n return '<table>\\n'\n + '<thead>\\n'\n + header\n + '</thead>\\n'\n + body\n + '</table>\\n';\n }\n\n /**\n * @param {string} content\n */\n tablerow(content) {\n return `<tr>\\n${content}</tr>\\n`;\n }\n\n tablecell(content, flags) {\n const type = flags.header ? 'th' : 'td';\n const tag = flags.align\n ? `<${type} align=\"${flags.align}\">`\n : `<${type}>`;\n return tag + content + `</${type}>\\n`;\n }\n\n /**\n * span level renderer\n * @param {string} text\n */\n strong(text) {\n return `<strong>${text}</strong>`;\n }\n\n /**\n * @param {string} text\n */\n em(text) {\n return `<em>${text}</em>`;\n }\n\n /**\n * @param {string} text\n */\n codespan(text) {\n return `<code>${text}</code>`;\n }\n\n br() {\n return this.options.xhtml ? '<br/>' : '<br>';\n }\n\n /**\n * @param {string} text\n */\n del(text) {\n return `<del>${text}</del>`;\n }\n\n /**\n * @param {string} href\n * @param {string} title\n * @param {string} text\n */\n link(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n let out = '<a href=\"' + escape(href) + '\"';\n if (title) {\n out += ' title=\"' + title + '\"';\n }\n out += '>' + text + '</a>';\n return out;\n }\n\n /**\n * @param {string} href\n * @param {string} title\n * @param {string} text\n */\n image(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n\n let out = `<img src=\"${href}\" alt=\"${text}\"`;\n if (title) {\n out += ` title=\"${title}\"`;\n }\n out += this.options.xhtml ? '/>' : '>';\n return out;\n }\n\n text(text) {\n return text;\n }\n}\n\n/**\n * TextRenderer\n * returns only the textual part of the token\n */\nclass TextRenderer {\n // no need for block level renderers\n strong(text) {\n return text;\n }\n\n em(text) {\n return text;\n }\n\n codespan(text) {\n return text;\n }\n\n del(text) {\n return text;\n }\n\n html(text) {\n return text;\n }\n\n text(text) {\n return text;\n }\n\n link(href, title, text) {\n return '' + text;\n }\n\n image(href, title, text) {\n return '' + text;\n }\n\n br() {\n return '';\n }\n}\n\n/**\n * Slugger generates header id\n */\nclass Slugger {\n constructor() {\n this.seen = {};\n }\n\n /**\n * @param {string} value\n */\n serialize(value) {\n return value\n .toLowerCase()\n .trim()\n // remove html tags\n .replace(/<[!\\/a-z].*?>/ig, '')\n // remove unwanted chars\n .replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g, '')\n .replace(/\\s/g, '-');\n }\n\n /**\n * Finds the next safe (unique) slug to use\n * @param {string} originalSlug\n * @param {boolean} isDryRun\n */\n getNextSafeSlug(originalSlug, isDryRun) {\n let slug = originalSlug;\n let occurenceAccumulator = 0;\n if (this.seen.hasOwnProperty(slug)) {\n occurenceAccumulator = this.seen[originalSlug];\n do {\n occurenceAccumulator++;\n slug = originalSlug + '-' + occurenceAccumulator;\n } while (this.seen.hasOwnProperty(slug));\n }\n if (!isDryRun) {\n this.seen[originalSlug] = occurenceAccumulator;\n this.seen[slug] = 0;\n }\n return slug;\n }\n\n /**\n * Convert string to unique id\n * @param {object} [options]\n * @param {boolean} [options.dryrun] Generates the next unique slug without\n * updating the internal accumulator.\n */\n slug(value, options = {}) {\n const slug = this.serialize(value);\n return this.getNextSafeSlug(slug, options.dryrun);\n }\n}\n\n/**\n * Parsing & Compiling\n */\nclass Parser {\n constructor(options) {\n this.options = options || defaults;\n this.options.renderer = this.options.renderer || new Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.textRenderer = new TextRenderer();\n this.slugger = new Slugger();\n }\n\n /**\n * Static Parse Method\n */\n static parse(tokens, options) {\n const parser = new Parser(options);\n return parser.parse(tokens);\n }\n\n /**\n * Static Parse Inline Method\n */\n static parseInline(tokens, options) {\n const parser = new Parser(options);\n return parser.parseInline(tokens);\n }\n\n /**\n * Parse Loop\n */\n parse(tokens, top = true) {\n let out = '',\n i,\n j,\n k,\n l2,\n l3,\n row,\n cell,\n header,\n body,\n token,\n ordered,\n start,\n loose,\n itemBody,\n item,\n checked,\n task,\n checkbox,\n ret;\n\n const l = tokens.length;\n for (i = 0; i < l; i++) {\n token = tokens[i];\n\n // Run any renderer extensions\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n ret = this.options.extensions.renderers[token.type].call({ parser: this }, token);\n if (ret !== false || !['space', 'hr', 'heading', 'code', 'table', 'blockquote', 'list', 'html', 'paragraph', 'text'].includes(token.type)) {\n out += ret || '';\n continue;\n }\n }\n\n switch (token.type) {\n case 'space': {\n continue;\n }\n case 'hr': {\n out += this.renderer.hr();\n continue;\n }\n case 'heading': {\n out += this.renderer.heading(\n this.parseInline(token.tokens),\n token.depth,\n unescape(this.parseInline(token.tokens, this.textRenderer)),\n this.slugger);\n continue;\n }\n case 'code': {\n out += this.renderer.code(token.text,\n token.lang,\n token.escaped);\n continue;\n }\n case 'table': {\n header = '';\n\n // header\n cell = '';\n l2 = token.header.length;\n for (j = 0; j < l2; j++) {\n cell += this.renderer.tablecell(\n this.parseInline(token.header[j].tokens),\n { header: true, align: token.align[j] }\n );\n }\n header += this.renderer.tablerow(cell);\n\n body = '';\n l2 = token.rows.length;\n for (j = 0; j < l2; j++) {\n row = token.rows[j];\n\n cell = '';\n l3 = row.length;\n for (k = 0; k < l3; k++) {\n cell += this.renderer.tablecell(\n this.parseInline(row[k].tokens),\n { header: false, align: token.align[k] }\n );\n }\n\n body += this.renderer.tablerow(cell);\n }\n out += this.renderer.table(header, body);\n continue;\n }\n case 'blockquote': {\n body = this.parse(token.tokens);\n out += this.renderer.blockquote(body);\n continue;\n }\n case 'list': {\n ordered = token.ordered;\n start = token.start;\n loose = token.loose;\n l2 = token.items.length;\n\n body = '';\n for (j = 0; j < l2; j++) {\n item = token.items[j];\n checked = item.checked;\n task = item.task;\n\n itemBody = '';\n if (item.task) {\n checkbox = this.renderer.checkbox(checked);\n if (loose) {\n if (item.tokens.length > 0 && item.tokens[0].type === 'paragraph') {\n item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;\n if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') {\n item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text;\n }\n } else {\n item.tokens.unshift({\n type: 'text',\n text: checkbox\n });\n }\n } else {\n itemBody += checkbox;\n }\n }\n\n itemBody += this.parse(item.tokens, loose);\n body += this.renderer.listitem(itemBody, task, checked);\n }\n\n out += this.renderer.list(body, ordered, start);\n continue;\n }\n case 'html': {\n // TODO parse inline content if parameter markdown=1\n out += this.renderer.html(token.text);\n continue;\n }\n case 'paragraph': {\n out += this.renderer.paragraph(this.parseInline(token.tokens));\n continue;\n }\n case 'text': {\n body = token.tokens ? this.parseInline(token.tokens) : token.text;\n while (i + 1 < l && tokens[i + 1].type === 'text') {\n token = tokens[++i];\n body += '\\n' + (token.tokens ? this.parseInline(token.tokens) : token.text);\n }\n out += top ? this.renderer.paragraph(body) : body;\n continue;\n }\n\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n }\n\n return out;\n }\n\n /**\n * Parse Inline Tokens\n */\n parseInline(tokens, renderer) {\n renderer = renderer || this.renderer;\n let out = '',\n i,\n token,\n ret;\n\n const l = tokens.length;\n for (i = 0; i < l; i++) {\n token = tokens[i];\n\n // Run any renderer extensions\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n ret = this.options.extensions.renderers[token.type].call({ parser: this }, token);\n if (ret !== false || !['escape', 'html', 'link', 'image', 'strong', 'em', 'codespan', 'br', 'del', 'text'].includes(token.type)) {\n out += ret || '';\n continue;\n }\n }\n\n switch (token.type) {\n case 'escape': {\n out += renderer.text(token.text);\n break;\n }\n case 'html': {\n out += renderer.html(token.text);\n break;\n }\n case 'link': {\n out += renderer.link(token.href, token.title, this.parseInline(token.tokens, renderer));\n break;\n }\n case 'image': {\n out += renderer.image(token.href, token.title, token.text);\n break;\n }\n case 'strong': {\n out += renderer.strong(this.parseInline(token.tokens, renderer));\n break;\n }\n case 'em': {\n out += renderer.em(this.parseInline(token.tokens, renderer));\n break;\n }\n case 'codespan': {\n out += renderer.codespan(token.text);\n break;\n }\n case 'br': {\n out += renderer.br();\n break;\n }\n case 'del': {\n out += renderer.del(this.parseInline(token.tokens, renderer));\n break;\n }\n case 'text': {\n out += renderer.text(token.text);\n break;\n }\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n }\n return out;\n }\n}\n\n/**\n * Marked\n */\nfunction marked(src, opt, callback) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked(): input parameter is undefined or null');\n }\n if (typeof src !== 'string') {\n throw new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected');\n }\n\n if (typeof opt === 'function') {\n callback = opt;\n opt = null;\n }\n\n opt = merge({}, marked.defaults, opt || {});\n checkSanitizeDeprecation(opt);\n\n if (callback) {\n const highlight = opt.highlight;\n let tokens;\n\n try {\n tokens = Lexer.lex(src, opt);\n } catch (e) {\n return callback(e);\n }\n\n const done = function(err) {\n let out;\n\n if (!err) {\n try {\n if (opt.walkTokens) {\n marked.walkTokens(tokens, opt.walkTokens);\n }\n out = Parser.parse(tokens, opt);\n } catch (e) {\n err = e;\n }\n }\n\n opt.highlight = highlight;\n\n return err\n ? callback(err)\n : callback(null, out);\n };\n\n if (!highlight || highlight.length < 3) {\n return done();\n }\n\n delete opt.highlight;\n\n if (!tokens.length) return done();\n\n let pending = 0;\n marked.walkTokens(tokens, function(token) {\n if (token.type === 'code') {\n pending++;\n setTimeout(() => {\n highlight(token.text, token.lang, function(err, code) {\n if (err) {\n return done(err);\n }\n if (code != null && code !== token.text) {\n token.text = code;\n token.escaped = true;\n }\n\n pending--;\n if (pending === 0) {\n done();\n }\n });\n }, 0);\n }\n });\n\n if (pending === 0) {\n done();\n }\n\n return;\n }\n\n try {\n const tokens = Lexer.lex(src, opt);\n if (opt.walkTokens) {\n marked.walkTokens(tokens, opt.walkTokens);\n }\n return Parser.parse(tokens, opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if (opt.silent) {\n return '<p>An error occurred:</p><pre>'\n + escape(e.message + '', true)\n + '</pre>';\n }\n throw e;\n }\n}\n\n/**\n * Options\n */\n\nmarked.options =\nmarked.setOptions = function(opt) {\n merge(marked.defaults, opt);\n changeDefaults(marked.defaults);\n return marked;\n};\n\nmarked.getDefaults = getDefaults;\n\nmarked.defaults = defaults;\n\n/**\n * Use Extension\n */\n\nmarked.use = function(...args) {\n const opts = merge({}, ...args);\n const extensions = marked.defaults.extensions || { renderers: {}, childTokens: {} };\n let hasExtensions;\n\n args.forEach((pack) => {\n // ==-- Parse \"addon\" extensions --== //\n if (pack.extensions) {\n hasExtensions = true;\n pack.extensions.forEach((ext) => {\n if (!ext.name) {\n throw new Error('extension name required');\n }\n if (ext.renderer) { // Renderer extensions\n const prevRenderer = extensions.renderers ? extensions.renderers[ext.name] : null;\n if (prevRenderer) {\n // Replace extension with func to run new extension but fall back if false\n extensions.renderers[ext.name] = function(...args) {\n let ret = ext.renderer.apply(this, args);\n if (ret === false) {\n ret = prevRenderer.apply(this, args);\n }\n return ret;\n };\n } else {\n extensions.renderers[ext.name] = ext.renderer;\n }\n }\n if (ext.tokenizer) { // Tokenizer Extensions\n if (!ext.level || (ext.level !== 'block' && ext.level !== 'inline')) {\n throw new Error(\"extension level must be 'block' or 'inline'\");\n }\n if (extensions[ext.level]) {\n extensions[ext.level].unshift(ext.tokenizer);\n } else {\n extensions[ext.level] = [ext.tokenizer];\n }\n if (ext.start) { // Function to check for start of token\n if (ext.level === 'block') {\n if (extensions.startBlock) {\n extensions.startBlock.push(ext.start);\n } else {\n extensions.startBlock = [ext.start];\n }\n } else if (ext.level === 'inline') {\n if (extensions.startInline) {\n extensions.startInline.push(ext.start);\n } else {\n extensions.startInline = [ext.start];\n }\n }\n }\n }\n if (ext.childTokens) { // Child tokens to be visited by walkTokens\n extensions.childTokens[ext.name] = ext.childTokens;\n }\n });\n }\n\n // ==-- Parse \"overwrite\" extensions --== //\n if (pack.renderer) {\n const renderer = marked.defaults.renderer || new Renderer();\n for (const prop in pack.renderer) {\n const prevRenderer = renderer[prop];\n // Replace renderer with func to run extension, but fall back if false\n renderer[prop] = (...args) => {\n let ret = pack.renderer[prop].apply(renderer, args);\n if (ret === false) {\n ret = prevRenderer.apply(renderer, args);\n }\n return ret;\n };\n }\n opts.renderer = renderer;\n }\n if (pack.tokenizer) {\n const tokenizer = marked.defaults.tokenizer || new Tokenizer();\n for (const prop in pack.tokenizer) {\n const prevTokenizer = tokenizer[prop];\n // Replace tokenizer with func to run extension, but fall back if false\n tokenizer[prop] = (...args) => {\n let ret = pack.tokenizer[prop].apply(tokenizer, args);\n if (ret === false) {\n ret = prevTokenizer.apply(tokenizer, args);\n }\n return ret;\n };\n }\n opts.tokenizer = tokenizer;\n }\n\n // ==-- Parse WalkTokens extensions --== //\n if (pack.walkTokens) {\n const walkTokens = marked.defaults.walkTokens;\n opts.walkTokens = function(token) {\n pack.walkTokens.call(this, token);\n if (walkTokens) {\n walkTokens.call(this, token);\n }\n };\n }\n\n if (hasExtensions) {\n opts.extensions = extensions;\n }\n\n marked.setOptions(opts);\n });\n};\n\n/**\n * Run callback for every token\n */\n\nmarked.walkTokens = function(tokens, callback) {\n for (const token of tokens) {\n callback.call(marked, token);\n switch (token.type) {\n case 'table': {\n for (const cell of token.header) {\n marked.walkTokens(cell.tokens, callback);\n }\n for (const row of token.rows) {\n for (const cell of row) {\n marked.walkTokens(cell.tokens, callback);\n }\n }\n break;\n }\n case 'list': {\n marked.walkTokens(token.items, callback);\n break;\n }\n default: {\n if (marked.defaults.extensions && marked.defaults.extensions.childTokens && marked.defaults.extensions.childTokens[token.type]) { // Walk any extensions\n marked.defaults.extensions.childTokens[token.type].forEach(function(childTokens) {\n marked.walkTokens(token[childTokens], callback);\n });\n } else if (token.tokens) {\n marked.walkTokens(token.tokens, callback);\n }\n }\n }\n }\n};\n\n/**\n * Parse Inline\n * @param {string} src\n */\nmarked.parseInline = function(src, opt) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked.parseInline(): input parameter is undefined or null');\n }\n if (typeof src !== 'string') {\n throw new Error('marked.parseInline(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected');\n }\n\n opt = merge({}, marked.defaults, opt || {});\n checkSanitizeDeprecation(opt);\n\n try {\n const tokens = Lexer.lexInline(src, opt);\n if (opt.walkTokens) {\n marked.walkTokens(tokens, opt.walkTokens);\n }\n return Parser.parseInline(tokens, opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if (opt.silent) {\n return '<p>An error occurred:</p><pre>'\n + escape(e.message + '', true)\n + '</pre>';\n }\n throw e;\n }\n};\n\n/**\n * Expose\n */\nmarked.Parser = Parser;\nmarked.parser = Parser.parse;\nmarked.Renderer = Renderer;\nmarked.TextRenderer = TextRenderer;\nmarked.Lexer = Lexer;\nmarked.lexer = Lexer.lex;\nmarked.Tokenizer = Tokenizer;\nmarked.Slugger = Slugger;\nmarked.parse = marked;\n\nconst options = marked.options;\nconst setOptions = marked.setOptions;\nconst use = marked.use;\nconst walkTokens = marked.walkTokens;\nconst parseInline = marked.parseInline;\nconst parse = marked;\nconst parser = Parser.parse;\nconst lexer = Lexer.lex;\n\nexport { Lexer, Parser, Renderer, Slugger, TextRenderer, Tokenizer, defaults, getDefaults, lexer, marked, options, parse, parseInline, parser, setOptions, use, walkTokens };\n", "import { marked } from 'marked';\nimport DOMPurify from \"dompurify\"\n\nmarked.setOptions({\n pedantic: false,\n gfm: true\n});\n\nexport const markedImpl = function(str) {\n if (!str) return \"\";\n return DOMPurify.sanitize(marked.parse(str));\n};\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Globals from \"../Globals/index.js\";\nvar marked = function ($0) {\n return Globals.RawHTML($foreign.markedImpl($0));\n};\nexport {\n markedImpl\n} from \"./foreign.js\";\nexport {\n marked\n};\n", "// Generated by purs version 0.15.2\nimport * as Component_RawHtml from \"../Component.RawHtml/index.js\";\nimport * as Foreign_Marked from \"../Foreign.Marked/index.js\";\nvar component = /* #__PURE__ */ Component_RawHtml.mkComponent(Foreign_Marked.marked);\nexport {\n component\n};\n", "// Generated by purs version 0.15.2\nimport * as Effect_Class from \"../Effect.Class/index.js\";\nimport * as Effect_Console from \"../Effect.Console/index.js\";\nvar warnShow = function (dictMonadEffect) {\n return function (dictShow) {\n var $19 = Effect_Class.liftEffect(dictMonadEffect);\n var $20 = Effect_Console.warnShow(dictShow);\n return function ($21) {\n return $19($20($21));\n };\n };\n};\nvar warn = function (dictMonadEffect) {\n var $22 = Effect_Class.liftEffect(dictMonadEffect);\n return function ($23) {\n return $22(Effect_Console.warn($23));\n };\n};\nvar timeLog = function (dictMonadEffect) {\n var $24 = Effect_Class.liftEffect(dictMonadEffect);\n return function ($25) {\n return $24(Effect_Console.timeLog($25));\n };\n};\nvar timeEnd = function (dictMonadEffect) {\n var $26 = Effect_Class.liftEffect(dictMonadEffect);\n return function ($27) {\n return $26(Effect_Console.timeEnd($27));\n };\n};\nvar time = function (dictMonadEffect) {\n var $28 = Effect_Class.liftEffect(dictMonadEffect);\n return function ($29) {\n return $28(Effect_Console.time($29));\n };\n};\nvar logShow = function (dictMonadEffect) {\n return function (dictShow) {\n var $30 = Effect_Class.liftEffect(dictMonadEffect);\n var $31 = Effect_Console.logShow(dictShow);\n return function ($32) {\n return $30($31($32));\n };\n };\n};\nvar log = function (dictMonadEffect) {\n var $33 = Effect_Class.liftEffect(dictMonadEffect);\n return function ($34) {\n return $33(Effect_Console.log($34));\n };\n};\nvar infoShow = function (dictMonadEffect) {\n return function (dictShow) {\n var $35 = Effect_Class.liftEffect(dictMonadEffect);\n var $36 = Effect_Console.infoShow(dictShow);\n return function ($37) {\n return $35($36($37));\n };\n };\n};\nvar info = function (dictMonadEffect) {\n var $38 = Effect_Class.liftEffect(dictMonadEffect);\n return function ($39) {\n return $38(Effect_Console.info($39));\n };\n};\nvar errorShow = function (dictMonadEffect) {\n return function (dictShow) {\n var $40 = Effect_Class.liftEffect(dictMonadEffect);\n var $41 = Effect_Console.errorShow(dictShow);\n return function ($42) {\n return $40($41($42));\n };\n };\n};\nvar error = function (dictMonadEffect) {\n var $43 = Effect_Class.liftEffect(dictMonadEffect);\n return function ($44) {\n return $43(Effect_Console.error($44));\n };\n};\nvar debugShow = function (dictMonadEffect) {\n return function (dictShow) {\n var $45 = Effect_Class.liftEffect(dictMonadEffect);\n var $46 = Effect_Console.debugShow(dictShow);\n return function ($47) {\n return $45($46($47));\n };\n };\n};\nvar debug = function (dictMonadEffect) {\n var $48 = Effect_Class.liftEffect(dictMonadEffect);\n return function ($49) {\n return $48(Effect_Console.debug($49));\n };\n};\nvar clear = function (dictMonadEffect) {\n return Effect_Class.liftEffect(dictMonadEffect)(Effect_Console.clear);\n};\nexport {\n log,\n logShow,\n warn,\n warnShow,\n error,\n errorShow,\n info,\n infoShow,\n debug,\n debugShow,\n time,\n timeLog,\n timeEnd,\n clear\n};\n", "// Generated by purs version 0.15.2\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Halogen_Component from \"../Halogen.Component/index.js\";\nimport * as Halogen_HTML_Core from \"../Halogen.HTML.Core/index.js\";\nimport * as Halogen_HTML_Elements from \"../Halogen.HTML.Elements/index.js\";\nimport * as Halogen_HTML_Properties from \"../Halogen.HTML.Properties/index.js\";\nimport * as Halogen_VDom_Thunk from \"../Halogen.VDom.Thunk/index.js\";\nimport * as Unsafe_Coerce from \"../Unsafe.Coerce/index.js\";\nvar slot_ = function () {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (p) {\n return function (component) {\n return function (input) {\n return Halogen_HTML_Core.widget(new Halogen_Component.ComponentSlot(Halogen_Component.componentSlot()(dictIsSymbol)(dictOrd)(label)(p)(component)(input)(Data_Function[\"const\"](Data_Maybe.Nothing.value))));\n };\n };\n };\n };\n };\n };\n};\nvar slot = function () {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (p) {\n return function (component) {\n return function (input) {\n return function (outputQuery) {\n return Halogen_HTML_Core.widget(new Halogen_Component.ComponentSlot(Halogen_Component.componentSlot()(dictIsSymbol)(dictOrd)(label)(p)(component)(input)(function ($4) {\n return Data_Maybe.Just.create(outputQuery($4));\n })));\n };\n };\n };\n };\n };\n };\n };\n};\nvar memoized = function (eqFn) {\n return function (f) {\n return Data_Functor.map(Data_Functor.functorFn)(function ($5) {\n return Halogen_HTML_Core.widget(Halogen_Component.ThunkSlot.create($5));\n })(Halogen_VDom_Thunk.thunked(eqFn)(f));\n };\n};\nvar lazy3 = function (f) {\n return function (a) {\n return function (b) {\n return function (c) {\n return Halogen_HTML_Core.widget(new Halogen_Component.ThunkSlot(Halogen_VDom_Thunk.thunk3(f, a, b, c)));\n };\n };\n };\n};\nvar lazy2 = function (f) {\n return function (a) {\n return function (b) {\n return Halogen_HTML_Core.widget(new Halogen_Component.ThunkSlot(Halogen_VDom_Thunk.thunk2(f, a, b)));\n };\n };\n};\nvar lazy = function (f) {\n return function (a) {\n return Halogen_HTML_Core.widget(new Halogen_Component.ThunkSlot(Halogen_VDom_Thunk.thunk1(f, a)));\n };\n};\nvar fromPlainHTML = Unsafe_Coerce.unsafeCoerce;\nexport {\n fromPlainHTML,\n slot,\n slot_,\n memoized,\n lazy,\n lazy2,\n lazy3\n};\nexport {\n AttrName,\n ClassName,\n ElemName,\n HTML,\n Namespace,\n PropName,\n handler,\n text\n} from \"../Halogen.HTML.Core/index.js\";\nexport {\n a,\n a_,\n abbr,\n abbr_,\n address,\n address_,\n area,\n article,\n article_,\n aside,\n aside_,\n audio,\n audio_,\n b,\n b_,\n base,\n bdi,\n bdi_,\n bdo,\n bdo_,\n blockquote,\n blockquote_,\n body,\n body_,\n br,\n br_,\n button,\n button_,\n canvas,\n caption,\n caption_,\n cite,\n cite_,\n code,\n code_,\n col,\n colgroup,\n colgroup_,\n command,\n datalist,\n datalist_,\n dd,\n dd_,\n del,\n del_,\n details,\n details_,\n dfn,\n dfn_,\n dialog,\n dialog_,\n div,\n div_,\n dl,\n dl_,\n dt,\n dt_,\n element,\n elementNS,\n em,\n em_,\n embed,\n embed_,\n fieldset,\n fieldset_,\n figcaption,\n figcaption_,\n figure,\n figure_,\n footer,\n footer_,\n form,\n form_,\n h1,\n h1_,\n h2,\n h2_,\n h3,\n h3_,\n h4,\n h4_,\n h5,\n h5_,\n h6,\n h6_,\n head,\n head_,\n header,\n header_,\n hr,\n hr_,\n html,\n html_,\n i,\n i_,\n iframe,\n img,\n input,\n ins,\n ins_,\n kbd,\n kbd_,\n keyed,\n keyedNS,\n label,\n label_,\n legend,\n legend_,\n li,\n li_,\n link,\n main,\n main_,\n map,\n map_,\n mark,\n mark_,\n menu,\n menu_,\n menuitem,\n menuitem_,\n meta,\n meter,\n meter_,\n nav,\n nav_,\n noscript,\n noscript_,\n object,\n object_,\n ol,\n ol_,\n optgroup,\n optgroup_,\n option,\n option_,\n output,\n output_,\n p,\n p_,\n param,\n pre,\n pre_,\n progress,\n progress_,\n q,\n q_,\n rp,\n rp_,\n rt,\n rt_,\n ruby,\n ruby_,\n samp,\n samp_,\n script,\n script_,\n section,\n section_,\n select,\n select_,\n small,\n small_,\n source,\n span,\n span_,\n strong,\n strong_,\n style,\n style_,\n sub,\n sub_,\n summary,\n summary_,\n sup,\n sup_,\n table,\n table_,\n tbody,\n tbody_,\n td,\n td_,\n textarea,\n tfoot,\n tfoot_,\n th,\n th_,\n thead,\n thead_,\n time,\n time_,\n title,\n title_,\n tr,\n tr_,\n track,\n u,\n u_,\n ul,\n ul_,\n var,\n var_,\n video,\n video_,\n wbr,\n withKeys,\n withKeys_\n} from \"../Halogen.HTML.Elements/index.js\";\nexport {\n attr,\n attrNS,\n prop\n} from \"../Halogen.HTML.Properties/index.js\";\n", "// Generated by purs version 0.15.2\nimport * as Affjax from \"../Affjax/index.js\";\nimport * as App from \"../App/index.js\";\nimport * as Component_Markdown from \"../Component.Markdown/index.js\";\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Control_Monad_State_Class from \"../Control.Monad.State.Class/index.js\";\nimport * as DOM_HTML_Indexed_AutocompleteType from \"../DOM.HTML.Indexed.AutocompleteType/index.js\";\nimport * as DOM_HTML_Indexed_ButtonType from \"../DOM.HTML.Indexed.ButtonType/index.js\";\nimport * as DOM_HTML_Indexed_InputType from \"../DOM.HTML.Indexed.InputType/index.js\";\nimport * as Data_Either from \"../Data.Either/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Lens_Getter from \"../Data.Lens.Getter/index.js\";\nimport * as Data_Lens_Internal_Forget from \"../Data.Lens.Internal.Forget/index.js\";\nimport * as Data_Lens_Lens from \"../Data.Lens.Lens/index.js\";\nimport * as Data_Lens_Setter from \"../Data.Lens.Setter/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Monoid from \"../Data.Monoid/index.js\";\nimport * as Data_Nullable from \"../Data.Nullable/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Profunctor_Strong from \"../Data.Profunctor.Strong/index.js\";\nimport * as Data_Show from \"../Data.Show/index.js\";\nimport * as Data_String_CodePoints from \"../Data.String.CodePoints/index.js\";\nimport * as Data_String_Common from \"../Data.String.Common/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Data_Void from \"../Data.Void/index.js\";\nimport * as Effect from \"../Effect/index.js\";\nimport * as Effect_Aff from \"../Effect.Aff/index.js\";\nimport * as Effect_Aff_Class from \"../Effect.Aff.Class/index.js\";\nimport * as Effect_Class from \"../Effect.Class/index.js\";\nimport * as Effect_Class_Console from \"../Effect.Class.Console/index.js\";\nimport * as Globals from \"../Globals/index.js\";\nimport * as Halogen_Component from \"../Halogen.Component/index.js\";\nimport * as Halogen_HTML from \"../Halogen.HTML/index.js\";\nimport * as Halogen_HTML_Core from \"../Halogen.HTML.Core/index.js\";\nimport * as Halogen_HTML_Elements from \"../Halogen.HTML.Elements/index.js\";\nimport * as Halogen_HTML_Events from \"../Halogen.HTML.Events/index.js\";\nimport * as Halogen_HTML_Properties from \"../Halogen.HTML.Properties/index.js\";\nimport * as Halogen_Query_HalogenM from \"../Halogen.Query.HalogenM/index.js\";\nimport * as Type_Proxy from \"../Type.Proxy/index.js\";\nimport * as Util from \"../Util/index.js\";\nimport * as Web_Event_Event from \"../Web.Event.Event/index.js\";\nvar Eurl = /* #__PURE__ */ (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n})();\nvar Etitle = /* #__PURE__ */ (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n})();\nvar Edescription = /* #__PURE__ */ (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n})();\nvar Etags = /* #__PURE__ */ (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n})();\nvar Eprivate = /* #__PURE__ */ (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n})();\nvar Etoread = /* #__PURE__ */ (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n})();\nvar BNotifyRemove = /* #__PURE__ */ (function () {\n function BNotifyRemove() {\n\n };\n BNotifyRemove.value = new BNotifyRemove();\n return BNotifyRemove;\n})();\nvar BStar = /* #__PURE__ */ (function () {\n function BStar(value0) {\n this.value0 = value0;\n };\n BStar.create = function (value0) {\n return new BStar(value0);\n };\n return BStar;\n})();\nvar BDeleteAsk = /* #__PURE__ */ (function () {\n function BDeleteAsk(value0) {\n this.value0 = value0;\n };\n BDeleteAsk.create = function (value0) {\n return new BDeleteAsk(value0);\n };\n return BDeleteAsk;\n})();\nvar BLookupTitle = /* #__PURE__ */ (function () {\n function BLookupTitle() {\n\n };\n BLookupTitle.value = new BLookupTitle();\n return BLookupTitle;\n})();\nvar BDestroy = /* #__PURE__ */ (function () {\n function BDestroy() {\n\n };\n BDestroy.value = new BDestroy();\n return BDestroy;\n})();\nvar BEdit = /* #__PURE__ */ (function () {\n function BEdit(value0) {\n this.value0 = value0;\n };\n BEdit.create = function (value0) {\n return new BEdit(value0);\n };\n return BEdit;\n})();\nvar BEditField = /* #__PURE__ */ (function () {\n function BEditField(value0) {\n this.value0 = value0;\n };\n BEditField.create = function (value0) {\n return new BEditField(value0);\n };\n return BEditField;\n})();\nvar BEditSubmit = /* #__PURE__ */ (function () {\n function BEditSubmit(value0) {\n this.value0 = value0;\n };\n BEditSubmit.create = function (value0) {\n return new BEditSubmit(value0);\n };\n return BEditSubmit;\n})();\nvar BMarkRead = /* #__PURE__ */ (function () {\n function BMarkRead() {\n\n };\n BMarkRead.value = new BMarkRead();\n return BMarkRead;\n})();\nvar _markdown = /* #__PURE__ */ (function () {\n return Type_Proxy[\"Proxy\"].value;\n})();\nvar _edit_bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_bm;\n })(function (v) {\n return function (v1) {\n return {\n edit_bm: v1,\n apiError: v.apiError,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n edit: v.edit,\n loading: v.loading\n };\n };\n })(dictStrong);\n};\nvar _edit = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit;\n })(function (v) {\n return function (v1) {\n return {\n edit: v1,\n apiError: v.apiError,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n edit_bm: v.edit_bm,\n loading: v.loading\n };\n };\n })(dictStrong);\n};\nvar _bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.bm;\n })(function (v) {\n return function (v1) {\n return {\n bm: v1,\n apiError: v.apiError,\n deleteAsk: v.deleteAsk,\n edit: v.edit,\n edit_bm: v.edit_bm,\n loading: v.loading\n };\n };\n })(dictStrong);\n};\nvar _apiError = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.apiError;\n })(function (v) {\n return function (v1) {\n return {\n apiError: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n edit: v.edit,\n edit_bm: v.edit_bm,\n loading: v.loading\n };\n };\n })(dictStrong);\n};\nvar bmark = function (b$prime) {\n var tagid = function (bm) {\n return Data_Show.show(Data_Show.showInt)(bm.bid) + \"_tags\";\n };\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n edit: false,\n loading: false,\n apiError: Data_Maybe.Nothing.value\n };\n };\n var handleAction = function (v) {\n if (v instanceof BStar) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (bm) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.toggleStar(bm.bid)((function () {\n if (v.value0) {\n return App.Star.value;\n };\n return App.UnStar.value;\n })())))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v.value0,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n }))(function () {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v.value0,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n });\n });\n });\n });\n };\n if (v instanceof BDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $53 = {};\n for (var $54 in v1) {\n if ({}.hasOwnProperty.call(v1, $54)) {\n $53[$54] = v1[$54];\n };\n };\n $53.deleteAsk = v.value0;\n return $53;\n });\n };\n if (v instanceof BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (bm) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(bm.bid))))(function () {\n return Halogen_Query_HalogenM.raise(BNotifyRemove.value);\n });\n });\n };\n if (v instanceof BMarkRead) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (bm) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.markRead(bm.bid))))(function () {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: false,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n });\n });\n });\n };\n if (v instanceof BEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (bm) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(bm))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_apiError(Data_Profunctor_Strong.strongFn))(Data_Maybe.Nothing.value))(function () {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Applicative.when(Effect.applicativeEffect)(v.value0)(Globals.setFocus(tagid(bm))));\n });\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Eurl) {\n return function (v1) {\n return {\n url: v.value0.value0,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n url: v1.url,\n title: v.value0.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Edescription) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v.value0.value0,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etags) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v.value0.value0,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Eprivate) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v.value0.value0,\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etoread) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v.value0.value0,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 253, column 17 - line 259, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof BLookupTitle) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $66 = {};\n for (var $67 in v1) {\n if ({}.hasOwnProperty.call(v1, $67)) {\n $66[$67] = v1[$67];\n };\n };\n $66.loading = true;\n return $66;\n }))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.edit_bm;\n }))(function (edit_bm) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.lookupTitle(edit_bm)))(function (mtitle) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {\n if (mtitle instanceof Data_Maybe.Just) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: mtitle.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n });\n };\n if (mtitle instanceof Data_Maybe.Nothing) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 266, column 5 - line 268, column 29): \" + [ mtitle.constructor.name ]);\n })())(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $71 = {};\n for (var $72 in v1) {\n if ({}.hasOwnProperty.call(v1, $72)) {\n $71[$72] = v1[$72];\n };\n };\n $71.loading = false;\n return $71;\n });\n });\n });\n });\n });\n };\n if (v instanceof BEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Lens_Internal_Forget.strongForget)))(function (edit_bm) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_apiError(Data_Profunctor_Strong.strongFn))(Data_Maybe.Nothing.value))(function () {\n var edit_bm$prime = {\n tags: Data_String_Common.replaceAll(\",\")(\" \")(edit_bm.tags),\n archiveUrl: edit_bm.archiveUrl,\n bid: edit_bm.bid,\n description: edit_bm.description,\n \"private\": edit_bm[\"private\"],\n selected: edit_bm.selected,\n slug: edit_bm.slug,\n time: edit_bm.time,\n title: edit_bm.title,\n toread: edit_bm.toread,\n url: edit_bm.url\n };\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(edit_bm$prime)))(function (v1) {\n if (v1 instanceof Data_Either.Left) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_apiError(Data_Profunctor_Strong.strongFn))(new Data_Maybe.Just(Affjax.printError(v1.value0))))(function () {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Effect_Class_Console.log(Effect_Class.monadEffectEffect)(Affjax.printError(v1.value0)));\n });\n };\n if (v1 instanceof Data_Either.Right && (v1.value0.status >= 200 && v1.value0.status < 300)) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(edit_bm$prime))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false);\n });\n };\n if (v1 instanceof Data_Either.Right) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_apiError(Data_Profunctor_Strong.strongFn))(new Data_Maybe.Just(v1.value0.body)))(function () {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Effect_Class_Console.log(Effect_Class.monadEffectEffect)(v1.value0.body));\n });\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 277, column 43 - line 286, column 36): \" + [ v1.constructor.name ]);\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 216, column 3 - line 216, column 84): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app$prime\"](Data_Unit.unit);\n var render = function (v) {\n var star = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"star fl pointer\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.selected)(\" selected\")) ])([ Halogen_HTML_Elements.button([ Util.class_(\"moon-gray\"), Halogen_HTML_Events.onClick(function (v2) {\n return new BStar(!v.bm.selected);\n }) ])([ Halogen_HTML_Core.text(\"\\u272d\") ]) ]);\n };\n var shdatetime = Data_String_CodePoints.take(16)(v.bm.time) + \"Z\";\n var shdate = Globals.toLocaleDateString(v.bm.time);\n var linkToFilterTag = function (tag) {\n return Util.fromNullableStr(app.userR) + (\"/t:\" + Util.encodeTag(tag));\n };\n var linkToFilterSingle = function (slug) {\n return Util.fromNullableStr(app.userR) + (\"/b:\" + slug);\n };\n var editField = function (f) {\n return function ($86) {\n return BEditField.create(f($86));\n };\n };\n var display = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Halogen_HTML_Properties.target(\"_blank\"), Util.class_(\"link f5 lh-title\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.toread)(\" unread\")) ])([ Halogen_HTML_Core.text((function () {\n var $81 = Data_String_Common[\"null\"](v.bm.title);\n if ($81) {\n return \"[no title]\";\n };\n return v.bm.title;\n })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Util.class_(\"link f7 gray hover-blue\") ])([ Halogen_HTML_Core.text(v.bm.url) ]), Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(Data_Maybe.fromMaybe(\"http://archive.is/\" + v.bm.url)(Data_Nullable.toMaybe(v.bm.archiveUrl))), Util.class_(\"link f7 gray hover-blue ml2\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl)))(\" green\")), Halogen_HTML_Properties.target(\"_blank\"), Halogen_HTML_Properties.title(\"archive link\") ])([ (function () {\n var $82 = Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl));\n if ($82) {\n return Halogen_HTML_Core.text(\"\\u2611\");\n };\n return Halogen_HTML_Core.text(\"\\u2610\");\n })() ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])([ Halogen_HTML.slot()({\n reflectSymbol: function () {\n return \"markdown\";\n }\n })(Data_Ord.ordUnit)(_markdown)(Data_Unit.unit)(Component_Markdown.component)(v.bm.description)(Data_Void.absurd) ]), Halogen_HTML_Elements.div([ Util.class_(\"tags\") ])(Util.whenA(!Data_String_Common[\"null\"](v.bm.tags))(function (v2) {\n return Data_Functor.map(Data_Functor.functorArray)(function (tag) {\n return Halogen_HTML_Elements.a([ Util.class_(\"link tag mr1\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_String_CodePoints.take(1)(tag) === \".\")(\" private\")), Halogen_HTML_Properties.href(linkToFilterTag(tag)) ])([ Halogen_HTML_Core.text(tag) ]);\n })(Data_String_Common.split(\" \")(v.bm.tags));\n })), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.href(linkToFilterSingle(v.bm.slug)), Halogen_HTML_Properties.title(shdatetime) ])([ Halogen_HTML_Core.text(shdate) ]), Util.whenH(app.dat.isowner)(function (v2) {\n return Halogen_HTML_Elements.div([ Util.class_(\"edit_links di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new BEdit(true);\n }), Util.class_(\"edit light-silver hover-blue\") ])([ Halogen_HTML_Core.text(\"edit\\xa0\\xa0\") ]), Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new BDeleteAsk(true);\n }), Util.class_(\"delete light-silver hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span([ Util.class_(\"confirm red\" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new BDeleteAsk(false);\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return BDestroy.value;\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]);\n }), Util.whenH(app.dat.isowner)(function (v2) {\n return Halogen_HTML_Elements.div([ Util.class_(\"read di\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.toread)([ Halogen_HTML_Core.text(\"\\xa0\\xa0\"), Halogen_HTML_Elements.button([ Halogen_HTML_Events.onClick(function (v3) {\n return BMarkRead.value;\n }), Util.class_(\"mark_read\") ])([ Halogen_HTML_Core.text(\"mark as read\") ]) ]));\n }) ]);\n };\n var alert_notification = function (alert_text) {\n return function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"alert alert-err\") ])([ Halogen_HTML_Core.text(alert_text) ]);\n };\n };\n var display_edit = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"edit_bookmark_form pa2 pt0 bg-white\") ])([ Util.whenH(Data_Maybe.isJust(v.apiError))(alert_notification(Data_Maybe.fromMaybe(\"\")(v.apiError))), Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(BEditSubmit.create) ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"url\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputUrl.value), Util.class_(\"url w-100 mb2 pt1 edit_form_input\"), Halogen_HTML_Properties.required(true), Halogen_HTML_Properties.name(\"url\"), Halogen_HTML_Properties.value(Halogen_HTML_Core.isPropString)(v.edit_bm.url), Halogen_HTML_Events.onValueChange(editField(Eurl.create)) ]), Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"title\") ]), Halogen_HTML_Elements.div([ Util.class_(\"flex\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"title w-100 mb2 pt1 edit_form_input\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(Halogen_HTML_Core.isPropString)(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.disabled(v.loading), Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return BLookupTitle.value;\n }), Util.class_(\"ml1 pa1 mb2 dark-gray ba b--moon-gray bg-near-white pointer rdim f7 \" + Data_Monoid.guard(Data_Monoid.monoidString)(v.loading)(\"bg-light-silver\")) ])([ Halogen_HTML_Core.text(\"fetch\") ]) ]), Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"description\") ]), Halogen_HTML_Elements.textarea([ Util.class_(\"description w-100 mb1 pt1 edit_form_input\"), Halogen_HTML_Properties.name(\"description\"), Halogen_HTML_Properties.rows(5), Halogen_HTML_Properties.value(Halogen_HTML_Core.isPropString)(v.edit_bm.description), Halogen_HTML_Events.onValueChange(editField(Edescription.create)) ]), Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id(\"tags_input_box\") ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"tags\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.id(tagid(v.edit_bm)), Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"tags w-100 mb1 pt1 edit_form_input\"), Halogen_HTML_Properties.name(\"tags\"), Halogen_HTML_Properties.autocomplete(DOM_HTML_Indexed_AutocompleteType.AutocompleteOff.value), Util.attr(\"autocapitalize\")(\"off\"), Halogen_HTML_Properties.value(Halogen_HTML_Core.isPropString)(v.edit_bm.tags), Halogen_HTML_Events.onValueChange(editField(Etags.create)) ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mv3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"private pointer\"), Halogen_HTML_Properties.id(\"edit_private\"), Halogen_HTML_Properties.name(\"private\"), Halogen_HTML_Properties.checked(v[\"edit_bm\"][\"private\"]), Halogen_HTML_Events.onChecked(editField(Eprivate.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_private\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"private\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"toread pointer\"), Halogen_HTML_Properties.id(\"edit_toread\"), Halogen_HTML_Properties.name(\"toread\"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(editField(Etoread.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_toread\") ])([ Halogen_HTML_Core.text(\"to-read\") ]) ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(Halogen_HTML_Core.isPropString)(\"save\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_(\"pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(Halogen_HTML_Core.isPropString)(\"cancel\"), Halogen_HTML_Events.onClick(function (v2) {\n return new BEdit(false);\n }) ]) ]) ]);\n };\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id(Data_Show.show(Data_Show.showInt)(v.bm.bid)), Util.class_(\"bookmark w-100 mw7 pa1 mb3\" + Data_Monoid.guard(Data_Monoid.monoidString)(v[\"bm\"][\"private\"])(\" private\")) ])([ Util.whenH(app.dat.isowner)(star), Util.ifElseH(v.edit)(display_edit)(display) ]);\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n};\nexport {\n BStar,\n BDeleteAsk,\n BLookupTitle,\n BDestroy,\n BEdit,\n BEditField,\n BEditSubmit,\n BMarkRead,\n Eurl,\n Etitle,\n Edescription,\n Etags,\n Eprivate,\n Etoread,\n BNotifyRemove,\n _bm,\n _edit_bm,\n _edit,\n _apiError,\n _markdown,\n bmark\n};\n", "// Generated by purs version 0.15.2\nimport * as Component_BMark from \"../Component.BMark/index.js\";\nimport * as Control_Monad_State_Class from \"../Control.Monad.State.Class/index.js\";\nimport * as Data_Array from \"../Data.Array/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Halogen_Component from \"../Halogen.Component/index.js\";\nimport * as Halogen_HTML from \"../Halogen.HTML/index.js\";\nimport * as Halogen_HTML_Elements from \"../Halogen.HTML.Elements/index.js\";\nimport * as Halogen_Query_HalogenM from \"../Halogen.Query.HalogenM/index.js\";\nimport * as Type_Proxy from \"../Type.Proxy/index.js\";\nvar HandleBMessage = /* #__PURE__ */ (function () {\n function HandleBMessage(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n HandleBMessage.create = function (value0) {\n return function (value1) {\n return new HandleBMessage(value0, value1);\n };\n };\n return HandleBMessage;\n})();\nvar _bookmark = /* #__PURE__ */ (function () {\n return Type_Proxy[\"Proxy\"].value;\n})();\nvar blist = function (st) {\n var render = function (bms) {\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(function (b) {\n return Halogen_HTML.slot()({\n reflectSymbol: function () {\n return \"bookmark\";\n }\n })(Data_Ord.ordInt)(_bookmark)(b.bid)(Component_BMark.bmark(b))(Data_Unit.unit)(HandleBMessage.create(b.bid));\n })(bms));\n };\n var handleAction = function (v) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(Data_Array.filter(function (b) {\n return b.bid !== v.value0;\n }));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](st),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n};\nexport {\n HandleBMessage,\n _bookmark,\n blist\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Data_Array from \"../Data.Array/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Monoid from \"../Data.Monoid/index.js\";\nimport * as Data_Show from \"../Data.Show/index.js\";\nimport * as Data_String_CodePoints from \"../Data.String.CodePoints/index.js\";\nimport * as Data_String_Common from \"../Data.String.Common/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Globals from \"../Globals/index.js\";\nimport * as Halogen_Component from \"../Halogen.Component/index.js\";\nimport * as Halogen_HTML_Core from \"../Halogen.HTML.Core/index.js\";\nimport * as Halogen_HTML_Elements from \"../Halogen.HTML.Elements/index.js\";\nimport * as Halogen_HTML_Properties from \"../Halogen.HTML.Properties/index.js\";\nimport * as Halogen_Query_HalogenM from \"../Halogen.Query.HalogenM/index.js\";\nimport * as Util from \"../Util/index.js\";\nvar NLNop = /* #__PURE__ */ (function () {\n function NLNop() {\n\n };\n NLNop.value = new NLNop();\n return NLNop;\n})();\nvar nlist = function (st$prime) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Array.foldMap(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (note) {\n return Globals.mmoment8601(note.created);\n };\n var mkState = function (notes$prime) {\n return {\n notes: notes$prime,\n cur: Data_Maybe.Nothing.value,\n deleteAsk: false,\n edit: false\n };\n };\n var handleAction = function (v) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n var app = Globals[\"app$prime\"](Data_Unit.unit);\n var linkToFilterSingle = function (slug) {\n return Util.fromNullableStr(app.userR) + (\"/notes/\" + slug);\n };\n var render = function (v) {\n var renderNote = function (note) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id(Data_Show.show(Data_Show.showInt)(note.id)), Util.class_(\"note w-100 mw7 pa1 mb2\" + (function () {\n if (note.shared) {\n return \"\";\n };\n return \" private\";\n })()) ])([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterSingle(note.slug)), Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $6 = Data_String_Common[\"null\"](note.title);\n if ($6) {\n return \"[no title]\";\n };\n return note.title;\n })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(Data_String_CodePoints.take(200)(note.text))), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(note.created)(Data_Tuple.snd)(mmoment(note))), Halogen_HTML_Properties.href(linkToFilterSingle(note.slug)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(note))) ]) ]) ]);\n };\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(renderNote)(v.notes));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n};\nexport {\n NLNop,\n nlist\n};\n", "// Generated by purs version 0.15.2\nimport * as Affjax from \"../Affjax/index.js\";\nimport * as App from \"../App/index.js\";\nimport * as Component_Markdown from \"../Component.Markdown/index.js\";\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Control_Monad from \"../Control.Monad/index.js\";\nimport * as Control_Monad_State_Class from \"../Control.Monad.State.Class/index.js\";\nimport * as DOM_HTML_Indexed_ButtonType from \"../DOM.HTML.Indexed.ButtonType/index.js\";\nimport * as DOM_HTML_Indexed_InputType from \"../DOM.HTML.Indexed.InputType/index.js\";\nimport * as Data_Array from \"../Data.Array/index.js\";\nimport * as Data_Either from \"../Data.Either/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Lens_Getter from \"../Data.Lens.Getter/index.js\";\nimport * as Data_Lens_Internal_Forget from \"../Data.Lens.Internal.Forget/index.js\";\nimport * as Data_Lens_Lens from \"../Data.Lens.Lens/index.js\";\nimport * as Data_Lens_Setter from \"../Data.Lens.Setter/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Monoid from \"../Data.Monoid/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Profunctor_Strong from \"../Data.Profunctor.Strong/index.js\";\nimport * as Data_Show from \"../Data.Show/index.js\";\nimport * as Data_String_CodeUnits from \"../Data.String.CodeUnits/index.js\";\nimport * as Data_String_Common from \"../Data.String.Common/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Data_Void from \"../Data.Void/index.js\";\nimport * as Effect from \"../Effect/index.js\";\nimport * as Effect_Aff from \"../Effect.Aff/index.js\";\nimport * as Effect_Aff_Class from \"../Effect.Aff.Class/index.js\";\nimport * as Effect_Class from \"../Effect.Class/index.js\";\nimport * as Effect_Console from \"../Effect.Console/index.js\";\nimport * as Globals from \"../Globals/index.js\";\nimport * as Halogen_Component from \"../Halogen.Component/index.js\";\nimport * as Halogen_HTML from \"../Halogen.HTML/index.js\";\nimport * as Halogen_HTML_Core from \"../Halogen.HTML.Core/index.js\";\nimport * as Halogen_HTML_Elements from \"../Halogen.HTML.Elements/index.js\";\nimport * as Halogen_HTML_Events from \"../Halogen.HTML.Events/index.js\";\nimport * as Halogen_HTML_Properties from \"../Halogen.HTML.Properties/index.js\";\nimport * as Halogen_Query_HalogenM from \"../Halogen.Query.HalogenM/index.js\";\nimport * as Type_Proxy from \"../Type.Proxy/index.js\";\nimport * as Util from \"../Util/index.js\";\nimport * as Web_Event_Event from \"../Web.Event.Event/index.js\";\nimport * as Web_HTML from \"../Web.HTML/index.js\";\nimport * as Web_HTML_HTMLDocument from \"../Web.HTML.HTMLDocument/index.js\";\nimport * as Web_HTML_Location from \"../Web.HTML.Location/index.js\";\nvar Etitle = /* #__PURE__ */ (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n})();\nvar Etext = /* #__PURE__ */ (function () {\n function Etext(value0) {\n this.value0 = value0;\n };\n Etext.create = function (value0) {\n return new Etext(value0);\n };\n return Etext;\n})();\nvar EisMarkdown = /* #__PURE__ */ (function () {\n function EisMarkdown(value0) {\n this.value0 = value0;\n };\n EisMarkdown.create = function (value0) {\n return new EisMarkdown(value0);\n };\n return EisMarkdown;\n})();\nvar Eshared = /* #__PURE__ */ (function () {\n function Eshared(value0) {\n this.value0 = value0;\n };\n Eshared.create = function (value0) {\n return new Eshared(value0);\n };\n return Eshared;\n})();\nvar NNop = /* #__PURE__ */ (function () {\n function NNop() {\n\n };\n NNop.value = new NNop();\n return NNop;\n})();\nvar NEditField = /* #__PURE__ */ (function () {\n function NEditField(value0) {\n this.value0 = value0;\n };\n NEditField.create = function (value0) {\n return new NEditField(value0);\n };\n return NEditField;\n})();\nvar NEditSubmit = /* #__PURE__ */ (function () {\n function NEditSubmit(value0) {\n this.value0 = value0;\n };\n NEditSubmit.create = function (value0) {\n return new NEditSubmit(value0);\n };\n return NEditSubmit;\n})();\nvar NEdit = /* #__PURE__ */ (function () {\n function NEdit(value0) {\n this.value0 = value0;\n };\n NEdit.create = function (value0) {\n return new NEdit(value0);\n };\n return NEdit;\n})();\nvar NDeleteAsk = /* #__PURE__ */ (function () {\n function NDeleteAsk(value0) {\n this.value0 = value0;\n };\n NDeleteAsk.create = function (value0) {\n return new NDeleteAsk(value0);\n };\n return NDeleteAsk;\n})();\nvar NDestroy = /* #__PURE__ */ (function () {\n function NDestroy() {\n\n };\n NDestroy.value = new NDestroy();\n return NDestroy;\n})();\nvar _note = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.note;\n })(function (v) {\n return function (v1) {\n return {\n note: v1,\n apiError: v.apiError,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit: v.edit,\n edit_note: v.edit_note\n };\n };\n })(dictStrong);\n};\nvar _markdown = /* #__PURE__ */ (function () {\n return Type_Proxy[\"Proxy\"].value;\n})();\nvar _edit_note = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_note;\n })(function (v) {\n return function (v1) {\n return {\n edit_note: v1,\n apiError: v.apiError,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit: v.edit,\n note: v.note\n };\n };\n })(dictStrong);\n};\nvar _edit = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit;\n })(function (v) {\n return function (v1) {\n return {\n edit: v1,\n apiError: v.apiError,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_note: v.edit_note,\n note: v.note\n };\n };\n })(dictStrong);\n};\nvar _apiError = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.apiError;\n })(function (v) {\n return function (v1) {\n return {\n apiError: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit: v.edit,\n edit_note: v.edit_note,\n note: v.note\n };\n };\n })(dictStrong);\n};\nvar nnote = function (st$prime) {\n var notetextid = function (note) {\n return Data_Show.show(Data_Show.showInt)(note.id) + \"_text\";\n };\n var mkState = function (note$prime) {\n return {\n note: note$prime,\n edit_note: note$prime,\n deleteAsk: false,\n edit: note$prime.id <= 0,\n destroyed: false,\n apiError: Data_Maybe.Nothing.value\n };\n };\n var app = Globals[\"app$prime\"](Data_Unit.unit);\n var handleAction = function (v) {\n if (v instanceof NNop) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n if (v instanceof NEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v.value0.value0,\n text: v1.text,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n shared: v1.shared,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof Etext) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v.value0.value0,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n shared: v1.shared,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof EisMarkdown) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v1.text,\n length: v1.length,\n isMarkdown: v.value0.value0,\n shared: v1.shared,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof Eshared) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v1.text,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n shared: v.value0.value0,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 194, column 19 - line 198, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof NDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $44 = {};\n for (var $45 in v1) {\n if ({}.hasOwnProperty.call(v1, $45)) {\n $44[$45] = v1[$45];\n };\n };\n $44.deleteAsk = v.value0;\n return $44;\n });\n };\n if (v instanceof NDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (note) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroyNote(note.id))))(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $48 = {};\n for (var $49 in v1) {\n if ({}.hasOwnProperty.call(v1, $49)) {\n $48[$49] = v1[$49];\n };\n };\n $48.destroyed = true;\n return $48;\n });\n });\n });\n };\n if (v instanceof NEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (note) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Profunctor_Strong.strongFn))(note))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_curQuerystring\"]))(function (qs) {\n var $51 = {\n e: v.value0,\n q: Util[\"_lookupQueryStringValue\"](qs)(\"next\")\n };\n if (!$51.e && ($51.q instanceof Data_Maybe.Just && $51.q.value0 === \"closeWindow\")) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Bind.bindFlipped(Effect.bindEffect)(Globals.closeWindow)(Web_HTML.window));\n };\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Monad.whenM(Effect.monadEffect)(Control_Applicative.pure(Effect.applicativeEffect)(v.value0))(Globals.setFocus(notetextid(note))));\n });\n });\n });\n });\n };\n if (v instanceof NEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Lens_Internal_Forget.strongForget)))(function (edit_note) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_apiError(Data_Profunctor_Strong.strongFn))(Data_Maybe.Nothing.value))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editNote(edit_note)))(function (v1) {\n if (v1 instanceof Data_Either.Left) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_apiError(Data_Profunctor_Strong.strongFn))(new Data_Maybe.Just(Affjax.printError(v1.value0))))(function () {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Effect_Console.log(Affjax.printError(v1.value0)));\n });\n };\n if (v1 instanceof Data_Either.Right && (v1.value0.status >= 200 && v1.value0.status < 300)) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_curQuerystring\"]))(function (qs) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_doc\"]))(function (doc) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML_HTMLDocument.referrer(doc)))(function (ref) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_loc\"]))(function (loc) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML_Location.origin(loc)))(function (org) {\n var v2 = Util[\"_lookupQueryStringValue\"](qs)(\"next\");\n if (v2 instanceof Data_Maybe.Just && v2.value0 === \"closeWindow\") {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Bind.bindFlipped(Effect.bindEffect)(Globals.closeWindow)(Web_HTML.window));\n };\n if (v2 instanceof Data_Maybe.Just && v2.value0 === \"back\") {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))((function () {\n var $60 = Data_Maybe.isJust(Data_String_CodeUnits.stripPrefix(org)(ref));\n if ($60) {\n return Web_HTML_Location.setHref(ref)(loc);\n };\n return Web_HTML_Location.setHref(org)(loc);\n })());\n };\n var $62 = edit_note.id === 0;\n if ($62) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Location.setHref(Util.fromNullableStr(app.noteR)))(Util[\"_loc\"]));\n };\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Profunctor_Strong.strongFn))(edit_note))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false);\n });\n });\n });\n });\n });\n });\n };\n if (v1 instanceof Data_Either.Right) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_apiError(Data_Profunctor_Strong.strongFn))(new Data_Maybe.Just(v1.value0.body)))(function () {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Effect_Console.log(v1.value0.body));\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 226, column 40 - line 249, column 36): \" + [ v1.constructor.name ]);\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 189, column 3 - line 189, column 77): \" + [ v.constructor.name ]);\n };\n var render = function (v) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Array.foldMap(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (n) {\n return Globals.mmoment8601(n.created);\n };\n var renderNote = function (v1) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id(Data_Show.show(Data_Show.showInt)(v.note.id)), Util.class_(\"note w-100 mw7 pa1 mb2\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $68 = Data_String_Common[\"null\"](v.note.title);\n if ($68) {\n return \"[no title]\";\n };\n return v.note.title;\n })()) ]), Halogen_HTML_Elements.br_, (function () {\n if (v.note.isMarkdown) {\n return Halogen_HTML_Elements.div([ Util.class_(\"description mt1\") ])([ Halogen_HTML.slot()({\n reflectSymbol: function () {\n return \"markdown\";\n }\n })(Data_Ord.ordUnit)(_markdown)(Data_Unit.unit)(Component_Markdown.component)(v.note.text)(Data_Void.absurd) ]);\n };\n return Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(v.note.text));\n })(), Halogen_HTML_Elements.div([ Util.class_(\"link f7 dib gray w4\") ])([ Halogen_HTML_Elements.span([ Halogen_HTML_Properties.title(Data_Maybe.maybe(v.note.created)(Data_Tuple.snd)(mmoment(v.note))) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(v.note))) ]), Halogen_HTML_Core.text(\" - \"), Halogen_HTML_Elements.span([ Util.class_(\"gray\") ])([ Halogen_HTML_Core.text((function () {\n if (v.note.shared) {\n return \"public\";\n };\n return \"private\";\n })()) ]) ]) ]), Util.whenH(app.dat.isowner)(function (v2) {\n return Halogen_HTML_Elements.div([ Util.class_(\"edit_links db mt3\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new NEdit(true);\n }), Util.class_(\"edit light-silver hover-blue\") ])([ Halogen_HTML_Core.text(\"edit\\xa0\\xa0\") ]), Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new NDeleteAsk(true);\n }), Util.class_(\"delete light-silver hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span([ Util.class_(\"confirm red\" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new NDeleteAsk(false);\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return NDestroy.value;\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]);\n }) ]);\n };\n var editField = function (f) {\n return function ($74) {\n return NEditField.create(f($74));\n };\n };\n var display_destroyed = function (v1) {\n return Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this note\") ]);\n };\n var alert_notification = function (alert_text) {\n return function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"alert alert-err\") ])([ Halogen_HTML_Core.text(alert_text) ]);\n };\n };\n var renderNote_edit = function (v1) {\n return Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(NEditSubmit.create) ])([ Util.whenH(Data_Maybe.isJust(v.apiError))(alert_notification(Data_Maybe.fromMaybe(\"\")(v.apiError))), Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"title:\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"title w-100 mb1 pt1 edit_form_input\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(Halogen_HTML_Core.isPropString)(v.edit_note.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)), Halogen_HTML_Properties.autofocus(Data_String_Common[\"null\"](v.edit_note.title)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"description:\") ]), Halogen_HTML_Elements.textarea([ Halogen_HTML_Properties.id(notetextid(v.edit_note)), Util.class_(\"description w-100 mb1 pt1 edit_form_input\"), Halogen_HTML_Properties.name(\"text\"), Halogen_HTML_Properties.rows(25), Halogen_HTML_Properties.value(Halogen_HTML_Core.isPropString)(v.edit_note.text), Halogen_HTML_Events.onValueChange(editField(Etext.create)) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mb3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"is-markdown pointer\"), Halogen_HTML_Properties.id(\"edit_ismarkdown\"), Halogen_HTML_Properties.name(\"ismarkdown\"), Halogen_HTML_Properties.checked(v.edit_note.isMarkdown), Halogen_HTML_Events.onChecked(editField(EisMarkdown.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_ismarkdown\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"use markdown?\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mb3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"is-markdown pointer\"), Halogen_HTML_Properties.id(\"edit_shared\"), Halogen_HTML_Properties.name(\"shared\"), Halogen_HTML_Properties.checked(v.edit_note.shared), Halogen_HTML_Events.onChecked(editField(Eshared.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_shared\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"public?\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(Halogen_HTML_Core.isPropString)(\"save\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_(\"pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(Halogen_HTML_Core.isPropString)(\"cancel\"), Halogen_HTML_Events.onClick(function (v2) {\n return new NEdit(false);\n }) ]) ]);\n };\n return Util.ifElseH(v.destroyed)(display_destroyed)(Data_Function[\"const\"](Util.ifElseH(v.edit)(renderNote_edit)(renderNote)));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n};\nexport {\n NNop,\n NEditField,\n NEditSubmit,\n NEdit,\n NDeleteAsk,\n NDestroy,\n _note,\n _edit_note,\n _edit,\n _apiError,\n Etitle,\n Etext,\n EisMarkdown,\n Eshared,\n _markdown,\n nnote\n};\n", "// Generated by purs version 0.15.2\nimport * as App from \"../App/index.js\";\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Control_Monad_State_Class from \"../Control.Monad.State.Class/index.js\";\nimport * as DOM_HTML_Indexed_ButtonType from \"../DOM.HTML.Indexed.ButtonType/index.js\";\nimport * as Data_Array from \"../Data.Array/index.js\";\nimport * as Data_Eq from \"../Data.Eq/index.js\";\nimport * as Data_Foldable from \"../Data.Foldable/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Int from \"../Data.Int/index.js\";\nimport * as Data_Lens_Lens from \"../Data.Lens.Lens/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Monoid from \"../Data.Monoid/index.js\";\nimport * as Data_Number from \"../Data.Number/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Semigroup from \"../Data.Semigroup/index.js\";\nimport * as Data_Show from \"../Data.Show/index.js\";\nimport * as Data_String_Common from \"../Data.String.Common/index.js\";\nimport * as Data_Tuple from \"../Data.Tuple/index.js\";\nimport * as Data_Unfoldable from \"../Data.Unfoldable/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Effect_Aff_Class from \"../Effect.Aff.Class/index.js\";\nimport * as Foreign_Object from \"../Foreign.Object/index.js\";\nimport * as Globals from \"../Globals/index.js\";\nimport * as Halogen_Component from \"../Halogen.Component/index.js\";\nimport * as Halogen_HTML_Core from \"../Halogen.HTML.Core/index.js\";\nimport * as Halogen_HTML_Elements from \"../Halogen.HTML.Elements/index.js\";\nimport * as Halogen_HTML_Events from \"../Halogen.HTML.Events/index.js\";\nimport * as Halogen_HTML_Properties from \"../Halogen.HTML.Properties/index.js\";\nimport * as Halogen_Query_HalogenM from \"../Halogen.Query.HalogenM/index.js\";\nimport * as Model from \"../Model/index.js\";\nimport * as Util from \"../Util/index.js\";\nvar TInitialize = /* #__PURE__ */ (function () {\n function TInitialize() {\n\n };\n TInitialize.value = new TInitialize();\n return TInitialize;\n})();\nvar TExpanded = /* #__PURE__ */ (function () {\n function TExpanded(value0) {\n this.value0 = value0;\n };\n TExpanded.create = function (value0) {\n return new TExpanded(value0);\n };\n return TExpanded;\n})();\nvar TChangeMode = /* #__PURE__ */ (function () {\n function TChangeMode(value0) {\n this.value0 = value0;\n };\n TChangeMode.create = function (value0) {\n return new TChangeMode(value0);\n };\n return TChangeMode;\n})();\nvar tagcloudcomponent = function (m$prime) {\n var rescale = function (f) {\n return function (v) {\n return function (n) {\n return function (m) {\n return function (l) {\n return function (h) {\n return (function () {\n var $25 = m - n < 1.0e-2;\n if ($25) {\n return 1.0;\n };\n return f(v - n) / f(m - n);\n })() * (h - l) + l;\n };\n };\n };\n };\n };\n };\n var mkState = function (m) {\n return {\n mode: m,\n tagcloud: Foreign_Object.empty\n };\n };\n var fetchTagCloud = function (mode$prime) {\n if (mode$prime instanceof Model.TagCloudModeNone) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.getTagCloud(Model.tagCloudModeFromF(mode$prime))))(function (tagcloud) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (s) {\n var $27 = {};\n for (var $28 in s) {\n if ({}.hasOwnProperty.call(s, $28)) {\n $27[$28] = s[$28];\n };\n };\n $27.mode = mode$prime;\n $27.tagcloud = Data_Maybe.fromMaybe(Foreign_Object.empty)(tagcloud);\n return $27;\n });\n });\n };\n var handleAction = function (v) {\n if (v instanceof TInitialize) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.mode;\n }))(function (mode) {\n return fetchTagCloud(mode);\n });\n };\n if (v instanceof TExpanded) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (s) {\n var $31 = {};\n for (var $32 in s) {\n if ({}.hasOwnProperty.call(s, $32)) {\n $31[$32] = s[$32];\n };\n };\n $31.mode = Model.setExpanded(s.mode)(v.value0);\n return $31;\n }))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.mode;\n }))(function (mode) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.updateTagCloudMode(Model.tagCloudModeFromF(mode))));\n });\n });\n };\n if (v instanceof TChangeMode) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.mode;\n }))(function (mode) {\n var $35 = Data_Eq.eq(Model.eqTagCloudModeF)(mode)(v.value0);\n if ($35) {\n return handleAction(new TExpanded(!Model.isExpanded(mode)));\n };\n return fetchTagCloud(Model.setExpanded(v.value0)(true));\n });\n };\n throw new Error(\"Failed pattern match at Component.TagCloud (line 161, column 3 - line 161, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app$prime\"](Data_Unit.unit);\n var linkToFilterTag = function (rest) {\n return Util.fromNullableStr(app.userR) + (function () {\n var $37 = Data_String_Common[\"null\"](rest);\n if ($37) {\n return \"\";\n };\n return \"/t:\" + rest;\n })();\n };\n var toSizedTag = function (curtags) {\n return function (n) {\n return function (m) {\n return function (k) {\n return function (v) {\n var opacity = rescale(function ($47) {\n return Data_Number.log((function (v1) {\n return 1.0 + v1;\n })($47));\n })(Data_Int.toNumber(v))(Data_Int.toNumber(n))(Data_Int.toNumber(m))(0.6)(1.0);\n var k_lower = Data_String_Common.toLower(k);\n var fontsize = rescale(Control_Category.identity(Control_Category.categoryFn))(Data_Int.toNumber(v))(Data_Int.toNumber(n))(Data_Int.toNumber(m))(100.0)(150.0);\n var style = Halogen_HTML_Properties.attr(\"style\")(\"font-size:\" + (Data_Show.show(Data_Show.showNumber)(fontsize) + (\"%\" + (\";opacity:\" + Data_Show.show(Data_Show.showNumber)(opacity)))));\n return [ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterTag(Util.encodeTag(k))), Util.class_(\"link tag mr1\"), style ])([ Halogen_HTML_Core.text(k) ]), Util.whenH(!Data_Array[\"null\"](curtags))(function (v1) {\n var $38 = Data_Array.notElem(Data_Eq.eqString)(k_lower)(curtags);\n if ($38) {\n return Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterTag(Data_String_Common.joinWith(\"+\")(Data_Functor.map(Data_Functor.functorArray)(Util.encodeTag)(Data_Array.cons(k_lower)(curtags))))), Util.class_(\"link mr2 tag-include\") ])([ Halogen_HTML_Core.text(\"\\u2295\") ]);\n };\n return Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterTag(Data_String_Common.joinWith(\"+\")(Data_Functor.map(Data_Functor.functorArray)(Util.encodeTag)(Data_Array[\"delete\"](Data_Eq.eqString)(k_lower)(curtags))))), Util.class_(\"link mr2 tag-exclude\") ])([ Halogen_HTML_Core.text(\"\\u2296\") ]);\n }) ];\n };\n };\n };\n };\n };\n var toArray = function (curtags) {\n return function (n) {\n return function (m) {\n var $48 = Data_Functor.map(Data_Functor.functorArray)(Data_Tuple.uncurry(toSizedTag(Data_Functor.map(Data_Functor.functorArray)(Data_String_Common.toLower)(curtags))(n)(m)));\n var $49 = Data_Array.sortBy(Data_Ord.comparing(Data_Ord.ordString)(function ($52) {\n return Data_String_Common.toLower(Data_Tuple.fst($52));\n }));\n var $50 = Foreign_Object.toUnfoldable(Data_Unfoldable.unfoldableArray);\n return function ($51) {\n return Data_Array.concat($48($49($50($51))));\n };\n };\n };\n };\n var render = function (v) {\n if (v.mode instanceof Model.TagCloudModeNone) {\n return Halogen_HTML_Elements.div([ Util.class_(\"tag_cloud\") ])([ ]);\n };\n var modetop = new Model.TagCloudModeTop(Model.isExpanded(v.mode), 200);\n var modelb5 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 5);\n var modelb20 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 20);\n var modelb2 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 2);\n var modelb10 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 10);\n var modelb1 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 1);\n return Halogen_HTML_Elements.div([ Util.class_(\"tag_cloud mv3\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"tag_cloud_header mb2\") ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)(Util.ifElseA(Model.isRelated(v.mode))(function (v1) {\n return [ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue mr1 b\"), Halogen_HTML_Events.onClick(function (v2) {\n return new TExpanded(!Model.isExpanded(v.mode));\n }) ])([ Halogen_HTML_Core.text(\"Related Tags\") ]) ];\n })(function (v1) {\n return [ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue mr1\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modetop))(\" b\")), Halogen_HTML_Properties.title(\"show a cloud of your most-used tags\"), Halogen_HTML_Events.onClick(function (v2) {\n return new TChangeMode(modetop);\n }) ])([ Halogen_HTML_Core.text(\"Top Tags\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue ml2 \" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb1))(\" b\")), Halogen_HTML_Properties.title(\"show all tags\"), Halogen_HTML_Events.onClick(function (v2) {\n return new TChangeMode(modelb1);\n }) ])([ Halogen_HTML_Core.text(\"all\") ]), Halogen_HTML_Core.text(\"\\u2027\"), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb2))(\" b\")), Halogen_HTML_Properties.title(\"show tags with at least 2 bookmarks\"), Halogen_HTML_Events.onClick(function (v2) {\n return new TChangeMode(modelb2);\n }) ])([ Halogen_HTML_Core.text(\"2\") ]), Halogen_HTML_Core.text(\"\\u2027\"), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb5))(\" b\")), Halogen_HTML_Properties.title(\"show tags with at least 5 bookmarks\"), Halogen_HTML_Events.onClick(function (v2) {\n return new TChangeMode(modelb5);\n }) ])([ Halogen_HTML_Core.text(\"5\") ]), Halogen_HTML_Core.text(\"\\u2027\"), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb10))(\" b\")), Halogen_HTML_Properties.title(\"show tags with at least 10 bookmarks\"), Halogen_HTML_Events.onClick(function (v2) {\n return new TChangeMode(modelb10);\n }) ])([ Halogen_HTML_Core.text(\"10\") ]), Halogen_HTML_Core.text(\"\\u2027\"), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb20))(\" b\")), Halogen_HTML_Properties.title(\"show tags with at least 20 bookmarks\"), Halogen_HTML_Events.onClick(function (v2) {\n return new TChangeMode(modelb20);\n }) ])([ Halogen_HTML_Core.text(\"20\") ]) ];\n }))([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 ml2 f7 link silver hover-blue \"), Halogen_HTML_Events.onClick(function (v1) {\n return new TExpanded(!Model.isExpanded(v.mode));\n }) ])([ Halogen_HTML_Core.text((function () {\n var $41 = Model.isExpanded(v.mode);\n if ($41) {\n return \"hide\";\n };\n return \"show\";\n })()) ]) ])), Util.whenH(Model.isExpanded(v.mode))(function (v1) {\n var n = Data_Maybe.fromMaybe(1)(Data_Foldable.minimum(Data_Ord.ordInt)(Data_Foldable.foldableArray)(Foreign_Object.values(v.tagcloud)));\n var m = Data_Maybe.fromMaybe(1)(Data_Foldable.maximum(Data_Ord.ordInt)(Data_Foldable.foldableArray)(Foreign_Object.values(v.tagcloud)));\n return Halogen_HTML_Elements.div([ Util.class_(\"tag_cloud_body\") ])((function () {\n if (v.mode instanceof Model.TagCloudModeNone) {\n return [ ];\n };\n if (v.mode instanceof Model.TagCloudModeRelated) {\n return toArray(v.mode.value1)(n)(m)(v.tagcloud);\n };\n return toArray([ ])(n)(m)(v.tagcloud);\n })());\n }) ]);\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(m$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: new Data_Maybe.Just(TInitialize.value),\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n};\nvar _mode = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.mode;\n })(function (v) {\n return function (v1) {\n return {\n mode: v1,\n tagcloud: v.tagcloud\n };\n };\n })(dictStrong);\n};\nexport {\n TInitialize,\n TExpanded,\n TChangeMode,\n _mode,\n tagcloudcomponent\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Control_Monad_Error_Class from \"../Control.Monad.Error.Class/index.js\";\nimport * as Data_Either from \"../Data.Either/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Effect from \"../Effect/index.js\";\nimport * as Effect_Aff from \"../Effect.Aff/index.js\";\nimport * as Effect_Class from \"../Effect.Class/index.js\";\nimport * as Effect_Exception from \"../Effect.Exception/index.js\";\nimport * as Web_DOM_ParentNode from \"../Web.DOM.ParentNode/index.js\";\nimport * as Web_Event_EventTarget from \"../Web.Event.EventTarget/index.js\";\nimport * as Web_HTML from \"../Web.HTML/index.js\";\nimport * as Web_HTML_Event_EventTypes from \"../Web.HTML.Event.EventTypes/index.js\";\nimport * as Web_HTML_HTMLDocument from \"../Web.HTML.HTMLDocument/index.js\";\nimport * as Web_HTML_HTMLDocument_ReadyState from \"../Web.HTML.HTMLDocument.ReadyState/index.js\";\nimport * as Web_HTML_HTMLElement from \"../Web.HTML.HTMLElement/index.js\";\nimport * as Web_HTML_Window from \"../Web.HTML.Window/index.js\";\nvar selectElement = function (query) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bindFlipped(Effect.bindEffect)(Control_Bind.composeKleisliFlipped(Effect.bindEffect)((function () {\n var $2 = Web_DOM_ParentNode.querySelector(query);\n return function ($3) {\n return $2(Web_HTML_HTMLDocument.toParentNode($3));\n };\n })())(Web_HTML_Window.document))(Web_HTML.window)))(function (mel) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(mel));\n });\n};\nvar runHalogenAff = /* #__PURE__ */ Effect_Aff.runAff_(/* #__PURE__ */ Data_Either.either(Effect_Exception.throwException)(/* #__PURE__ */ Data_Function[\"const\"](/* #__PURE__ */ Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));\nvar awaitLoad = /* #__PURE__ */ Effect_Aff.makeAff(function (callback) {\n return function __do() {\n var rs = Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_HTMLDocument.readyState)(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.document)(Web_HTML.window))();\n if (rs instanceof Web_HTML_HTMLDocument_ReadyState.Loading) {\n var et = Data_Functor.map(Effect.functorEffect)(Web_HTML_Window.toEventTarget)(Web_HTML.window)();\n var listener = Web_Event_EventTarget.eventListener(function (v) {\n return callback(new Data_Either.Right(Data_Unit.unit));\n })();\n Web_Event_EventTarget.addEventListener(Web_HTML_Event_EventTypes.domcontentloaded)(listener)(false)(et)();\n return Effect_Aff.effectCanceler(Web_Event_EventTarget.removeEventListener(Web_HTML_Event_EventTypes.domcontentloaded)(listener)(false)(et));\n };\n callback(new Data_Either.Right(Data_Unit.unit))();\n return Effect_Aff.nonCanceler;\n };\n});\nvar awaitBody = /* #__PURE__ */ Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(awaitLoad)(function () {\n return Control_Bind.bind(Effect_Aff.bindAff)(selectElement(\"body\"))(function (body) {\n return Data_Maybe.maybe(Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error(\"Could not find body\")))(Control_Applicative.pure(Effect_Aff.applicativeAff))(body);\n });\n});\nexport {\n awaitLoad,\n awaitBody,\n selectElement,\n runHalogenAff\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Monad_Reader_Trans from \"../Control.Monad.Reader.Trans/index.js\";\nimport * as Control_Monad_Trans_Class from \"../Control.Monad.Trans.Class/index.js\";\nimport * as Effect_Aff from \"../Effect.Aff/index.js\";\nvar Completed = /* #__PURE__ */ (function () {\n function Completed(value0) {\n this.value0 = value0;\n };\n Completed.create = function (value0) {\n return new Completed(value0);\n };\n return Completed;\n})();\nvar Failed = /* #__PURE__ */ (function () {\n function Failed(value0) {\n this.value0 = value0;\n };\n Failed.create = function (value0) {\n return new Failed(value0);\n };\n return Failed;\n})();\nvar Killed = /* #__PURE__ */ (function () {\n function Killed(value0) {\n this.value0 = value0;\n };\n Killed.create = function (value0) {\n return new Killed(value0);\n };\n return Killed;\n})();\nvar uninterruptible = function (dict) {\n return dict.uninterruptible;\n};\nvar suspend = function (dict) {\n return dict.suspend;\n};\nvar never = function (dict) {\n return dict.never;\n};\nvar monadForkAff = {\n suspend: Effect_Aff.suspendAff,\n fork: Effect_Aff.forkAff,\n join: Effect_Aff.joinFiber,\n Monad0: function () {\n return Effect_Aff.monadAff;\n },\n Functor1: function () {\n return Effect_Aff.functorFiber;\n }\n};\nvar monadKillAff = {\n kill: Effect_Aff.killFiber,\n MonadFork0: function () {\n return monadForkAff;\n },\n MonadThrow1: function () {\n return Effect_Aff.monadThrowAff;\n }\n};\nvar monadBracketAff = {\n bracket: function (acquire) {\n return function (release) {\n return function (run) {\n return Effect_Aff.generalBracket(acquire)({\n completed: function ($18) {\n return release(Completed.create($18));\n },\n failed: function ($19) {\n return release(Failed.create($19));\n },\n killed: function ($20) {\n return release(Killed.create($20));\n }\n })(run);\n };\n };\n },\n uninterruptible: Effect_Aff.invincible,\n never: Effect_Aff.never,\n MonadKill0: function () {\n return monadKillAff;\n },\n MonadError1: function () {\n return Effect_Aff.monadErrorAff;\n }\n};\nvar kill = function (dict) {\n return dict.kill;\n};\nvar join = function (dict) {\n return dict.join;\n};\nvar fork = function (dict) {\n return dict.fork;\n};\nvar monadForkReaderT = function (dictMonadFork) {\n return {\n suspend: function (v) {\n var $21 = suspend(dictMonadFork);\n return function ($22) {\n return $21(v($22));\n };\n },\n fork: function (v) {\n var $23 = fork(dictMonadFork);\n return function ($24) {\n return $23(v($24));\n };\n },\n join: (function () {\n var $25 = Control_Monad_Trans_Class.lift(Control_Monad_Reader_Trans.monadTransReaderT)(dictMonadFork.Monad0());\n var $26 = join(dictMonadFork);\n return function ($27) {\n return $25($26($27));\n };\n })(),\n Monad0: function () {\n return Control_Monad_Reader_Trans.monadReaderT(dictMonadFork.Monad0());\n },\n Functor1: dictMonadFork.Functor1\n };\n};\nvar monadKillReaderT = function (dictMonadKill) {\n return {\n kill: function (e) {\n var $28 = Control_Monad_Trans_Class.lift(Control_Monad_Reader_Trans.monadTransReaderT)((dictMonadKill.MonadThrow1()).Monad0());\n var $29 = kill(dictMonadKill)(e);\n return function ($30) {\n return $28($29($30));\n };\n },\n MonadFork0: function () {\n return monadForkReaderT(dictMonadKill.MonadFork0());\n },\n MonadThrow1: function () {\n return Control_Monad_Reader_Trans.monadThrowReaderT(dictMonadKill.MonadThrow1());\n }\n };\n};\nvar bracket = function (dict) {\n return dict.bracket;\n};\nvar monadBracketReaderT = function (dictMonadBracket) {\n return {\n bracket: function (v) {\n return function (release) {\n return function (run) {\n return function (r) {\n return bracket(dictMonadBracket)(v(r))(function (c) {\n return function (a) {\n return Control_Monad_Reader_Trans.runReaderT(release(c)(a))(r);\n };\n })(function (a) {\n return Control_Monad_Reader_Trans.runReaderT(run(a))(r);\n });\n };\n };\n };\n },\n uninterruptible: function (k) {\n return function (r) {\n return uninterruptible(dictMonadBracket)(Control_Monad_Reader_Trans.runReaderT(k)(r));\n };\n },\n never: Control_Monad_Trans_Class.lift(Control_Monad_Reader_Trans.monadTransReaderT)(((dictMonadBracket.MonadError1()).MonadThrow0()).Monad0())(never(dictMonadBracket)),\n MonadKill0: function () {\n return monadKillReaderT(dictMonadBracket.MonadKill0());\n },\n MonadError1: function () {\n return Control_Monad_Reader_Trans.monadErrorReaderT(dictMonadBracket.MonadError1());\n }\n };\n};\nexport {\n bracket,\n fork,\n join,\n kill,\n never,\n suspend,\n uninterruptible,\n Completed,\n Failed,\n Killed,\n monadForkAff,\n monadForkReaderT,\n monadKillAff,\n monadKillReaderT,\n monadBracketAff,\n monadBracketReaderT\n};\n", "// Generated by purs version 0.15.2\nimport * as Data_Foldable from \"../Data.Foldable/index.js\";\nimport * as Data_List_Types from \"../Data.List.Types/index.js\";\nimport * as Data_Map_Internal from \"../Data.Map.Internal/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Effect_Ref from \"../Effect.Ref/index.js\";\nimport * as Halogen_Data_Slot from \"../Halogen.Data.Slot/index.js\";\nimport * as Unsafe_Coerce from \"../Unsafe.Coerce/index.js\";\nvar DriverStateRef = function (x) {\n return x;\n};\nvar DriverState = function (x) {\n return x;\n};\nvar unRenderStateX = Unsafe_Coerce.unsafeCoerce;\nvar unDriverStateX = Unsafe_Coerce.unsafeCoerce;\nvar renderStateX_ = function (dictApplicative) {\n return function (f) {\n return unDriverStateX(function (st) {\n return Data_Foldable.traverse_(dictApplicative)(Data_Foldable.foldableMaybe)(f)(st.rendering);\n });\n };\n};\nvar mkRenderStateX = Unsafe_Coerce.unsafeCoerce;\nvar renderStateX = function (dictFunctor) {\n return function (f) {\n return unDriverStateX(function (st) {\n return mkRenderStateX(f(st.rendering));\n });\n };\n};\nvar mkDriverStateXRef = Unsafe_Coerce.unsafeCoerce;\nvar mapDriverState = function (f) {\n return function (v) {\n return f(v);\n };\n};\nvar initDriverState = function (component) {\n return function (input) {\n return function (handler) {\n return function (lchs) {\n return function __do() {\n var selfRef = Effect_Ref[\"new\"]({})();\n var childrenIn = Effect_Ref[\"new\"](Halogen_Data_Slot.empty)();\n var childrenOut = Effect_Ref[\"new\"](Halogen_Data_Slot.empty)();\n var handlerRef = Effect_Ref[\"new\"](handler)();\n var pendingQueries = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var pendingOuts = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var pendingHandlers = Effect_Ref[\"new\"](Data_Maybe.Nothing.value)();\n var fresh = Effect_Ref[\"new\"](1)();\n var subscriptions = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_Map_Internal.empty))();\n var forks = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var ds = {\n component: component,\n state: component.initialState(input),\n refs: Data_Map_Internal.empty,\n children: Halogen_Data_Slot.empty,\n childrenIn: childrenIn,\n childrenOut: childrenOut,\n selfRef: selfRef,\n handlerRef: handlerRef,\n pendingQueries: pendingQueries,\n pendingOuts: pendingOuts,\n pendingHandlers: pendingHandlers,\n rendering: Data_Maybe.Nothing.value,\n fresh: fresh,\n subscriptions: subscriptions,\n forks: forks,\n lifecycleHandlers: lchs\n };\n Effect_Ref.write(ds)(selfRef)();\n return mkDriverStateXRef(selfRef);\n };\n };\n };\n };\n};\nexport {\n DriverState,\n mapDriverState,\n DriverStateRef,\n unDriverStateX,\n mkDriverStateXRef,\n renderStateX,\n renderStateX_,\n unRenderStateX,\n initDriverState\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Applicative_Free from \"../Control.Applicative.Free/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Control_Monad from \"../Control.Monad/index.js\";\nimport * as Control_Monad_Fork_Class from \"../Control.Monad.Fork.Class/index.js\";\nimport * as Control_Monad_Free from \"../Control.Monad.Free/index.js\";\nimport * as Control_Parallel from \"../Control.Parallel/index.js\";\nimport * as Control_Parallel_Class from \"../Control.Parallel.Class/index.js\";\nimport * as Data_Boolean from \"../Data.Boolean/index.js\";\nimport * as Data_Coyoneda from \"../Data.Coyoneda/index.js\";\nimport * as Data_Either from \"../Data.Either/index.js\";\nimport * as Data_Foldable from \"../Data.Foldable/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_List_Types from \"../Data.List.Types/index.js\";\nimport * as Data_Map_Internal from \"../Data.Map.Internal/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Ord from \"../Data.Ord/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Effect from \"../Effect/index.js\";\nimport * as Effect_Aff from \"../Effect.Aff/index.js\";\nimport * as Effect_Class from \"../Effect.Class/index.js\";\nimport * as Effect_Exception from \"../Effect.Exception/index.js\";\nimport * as Effect_Ref from \"../Effect.Ref/index.js\";\nimport * as Halogen_Aff_Driver_State from \"../Halogen.Aff.Driver.State/index.js\";\nimport * as Halogen_Query_ChildQuery from \"../Halogen.Query.ChildQuery/index.js\";\nimport * as Halogen_Query_HalogenM from \"../Halogen.Query.HalogenM/index.js\";\nimport * as Halogen_Query_HalogenQ from \"../Halogen.Query.HalogenQ/index.js\";\nimport * as Halogen_Query_Input from \"../Halogen.Query.Input/index.js\";\nimport * as Halogen_Subscription from \"../Halogen.Subscription/index.js\";\nimport * as Unsafe_Reference from \"../Unsafe.Reference/index.js\";\nvar unsubscribe = function (sid) {\n return function (ref) {\n return function __do() {\n var v = Effect_Ref.read(ref)();\n var subs = Effect_Ref.read(v.subscriptions)();\n return Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(Halogen_Subscription.unsubscribe)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Data_Map_Internal.lookup(Halogen_Query_HalogenM.ordSubscriptionId)(sid))(subs))();\n };\n };\n};\nvar queueOrRun = function (ref) {\n return function (au) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return au;\n };\n if (v instanceof Data_Maybe.Just) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write(new Data_Maybe.Just(new Data_List_Types.Cons(au, v.value0)))(ref));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 188, column 33 - line 190, column 57): \" + [ v.constructor.name ]);\n });\n };\n};\nvar handleLifecycle = function (lchs) {\n return function (f) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({\n initializers: Data_List_Types.Nil.value,\n finalizers: Data_List_Types.Nil.value\n })(lchs)))(function () {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(f))(function (result) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(lchs)))(function (v) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(v.finalizers))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(v.initializers))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(result);\n });\n });\n });\n });\n });\n };\n};\nvar handleAff = /* #__PURE__ */ Effect_Aff.runAff_(/* #__PURE__ */ Data_Either.either(Effect_Exception.throwException)(/* #__PURE__ */ Data_Function[\"const\"](/* #__PURE__ */ Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));\nvar fresh = function (f) {\n return function (ref) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"modify$prime\"](function (i) {\n return {\n state: i + 1 | 0,\n value: f(i)\n };\n })(v.fresh));\n });\n };\n};\nvar evalQ = function (render) {\n return function (ref) {\n return function (q) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return evalM(render)(ref)(v[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Query(Data_Functor.map(Data_Coyoneda.functorCoyoneda)(Data_Maybe.Just.create)(Data_Coyoneda.liftCoyoneda(q)), Data_Function[\"const\"](Data_Maybe.Nothing.value))));\n });\n };\n };\n};\nvar evalM = function (render) {\n return function (initRef) {\n return function (v) {\n var evalChildQuery = function (ref) {\n return function (cqb) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Halogen_Query_ChildQuery.unChildQueryBox(function (v2) {\n var evalChild = function (v3) {\n return Control_Parallel_Class.parallel(Effect_Aff.parallelAff)(Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v3)))(function (dsx) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (ds) {\n return evalQ(render)(ds.selfRef)(v2.value1);\n })(dsx);\n }));\n };\n return Data_Functor.map(Effect_Aff.functorAff)(v2.value2)(Control_Parallel_Class.sequential(Effect_Aff.parallelAff)(v2.value0(Effect_Aff.applicativeParAff)(evalChild)(v1.children)));\n })(cqb);\n });\n };\n };\n var go = function (ref) {\n return function (v1) {\n if (v1 instanceof Halogen_Query_HalogenM.State) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n var v3 = v1.value0(v2.state);\n if (Unsafe_Reference.unsafeRefEq(v2.state)(v3.value1)) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v3.value0);\n };\n if (Data_Boolean.otherwise) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({\n component: v2.component,\n state: v3.value1,\n refs: v2.refs,\n children: v2.children,\n childrenIn: v2.childrenIn,\n childrenOut: v2.childrenOut,\n selfRef: v2.selfRef,\n handlerRef: v2.handlerRef,\n pendingQueries: v2.pendingQueries,\n pendingOuts: v2.pendingOuts,\n pendingHandlers: v2.pendingHandlers,\n rendering: v2.rendering,\n fresh: v2.fresh,\n subscriptions: v2.subscriptions,\n forks: v2.forks,\n lifecycleHandlers: v2.lifecycleHandlers\n })(ref)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(handleLifecycle(v2.lifecycleHandlers)(render(v2.lifecycleHandlers)(ref)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v3.value0);\n });\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 86, column 7 - line 92, column 21): \" + [ v3.constructor.name ]);\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Subscribe) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fresh(Halogen_Query_HalogenM.SubscriptionId)(ref))(function (sid) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Halogen_Subscription.subscribe(v1.value0(sid))(function (act) {\n return handleAff(evalF(render)(ref)(new Halogen_Query_Input.Action(act)));\n })))(function (finalize) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal.insert(Halogen_Query_HalogenM.ordSubscriptionId)(sid)(finalize)))(v2.subscriptions)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(sid));\n });\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Unsubscribe) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(unsubscribe(v1.value0)(ref)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Lift) {\n return v1.value0;\n };\n if (v1 instanceof Halogen_Query_HalogenM.ChildQuery) {\n return evalChildQuery(ref)(v1.value0);\n };\n if (v1 instanceof Halogen_Query_HalogenM.Raise) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v2.handlerRef)))(function (handler) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(queueOrRun(v2.pendingOuts)(handler(v1.value0)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Par) {\n return Control_Parallel_Class.sequential(Effect_Aff.parallelAff)(Control_Applicative_Free.retractFreeAp(Effect_Aff.applicativeParAff)(Control_Applicative_Free.hoistFreeAp((function () {\n var $83 = Control_Parallel_Class.parallel(Effect_Aff.parallelAff);\n var $84 = evalM(render)(ref);\n return function ($85) {\n return $83($84($85));\n };\n })())(v1.value0)));\n };\n if (v1 instanceof Halogen_Query_HalogenM.Fork) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fresh(Halogen_Query_HalogenM.ForkId)(ref))(function (fid) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](false)))(function (doneRef) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Effect_Aff[\"finally\"](Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n Effect_Ref.modify_(Data_Map_Internal[\"delete\"](Halogen_Query_HalogenM.ordForkId)(fid))(v2.forks)();\n return Effect_Ref.write(true)(doneRef)();\n }))(evalM(render)(ref)(v1.value0))))(function (fiber) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Monad.unlessM(Effect.monadEffect)(Effect_Ref.read(doneRef))(Effect_Ref.modify_(Data_Map_Internal.insert(Halogen_Query_HalogenM.ordForkId)(fid)(fiber))(v2.forks))))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(fid));\n });\n });\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Join) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v2.forks)))(function (forkMap) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(Effect_Aff.joinFiber)(Data_Map_Internal.lookup(Halogen_Query_HalogenM.ordForkId)(v1.value0)(forkMap)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Kill) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v2.forks)))(function (forkMap) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(Effect_Aff.killFiber(Effect_Exception.error(\"Cancelled\")))(Data_Map_Internal.lookup(Halogen_Query_HalogenM.ordForkId)(v1.value0)(forkMap)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.GetRef) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(Data_Map_Internal.lookup(Data_Ord.ordString)(v1.value0)(v2.refs)));\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 83, column 12 - line 139, column 33): \" + [ v1.constructor.name ]);\n };\n };\n return Control_Monad_Free.foldFree(Effect_Aff.monadRecAff)(go(initRef))(v);\n };\n };\n};\nvar evalF = function (render) {\n return function (ref) {\n return function (v) {\n if (v instanceof Halogen_Query_Input.RefUpdate) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Data_Function.flip(Effect_Ref.modify_)(ref)(Halogen_Aff_Driver_State.mapDriverState(function (st) {\n return {\n component: st.component,\n state: st.state,\n refs: Data_Map_Internal.alter(Data_Ord.ordString)(Data_Function[\"const\"](v.value1))(v.value0)(st.refs),\n children: st.children,\n childrenIn: st.childrenIn,\n childrenOut: st.childrenOut,\n selfRef: st.selfRef,\n handlerRef: st.handlerRef,\n pendingQueries: st.pendingQueries,\n pendingOuts: st.pendingOuts,\n pendingHandlers: st.pendingHandlers,\n rendering: st.rendering,\n fresh: st.fresh,\n subscriptions: st.subscriptions,\n forks: st.forks,\n lifecycleHandlers: st.lifecycleHandlers\n };\n })));\n };\n if (v instanceof Halogen_Query_Input.Action) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return evalM(render)(ref)(v1[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Action(v.value0, Data_Unit.unit)));\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 52, column 20 - line 58, column 62): \" + [ v.constructor.name ]);\n };\n };\n};\nexport {\n evalF,\n evalQ,\n evalM,\n handleLifecycle,\n queueOrRun,\n handleAff\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Control_Monad_Fork_Class from \"../Control.Monad.Fork.Class/index.js\";\nimport * as Control_Monad_Rec_Class from \"../Control.Monad.Rec.Class/index.js\";\nimport * as Control_Parallel from \"../Control.Parallel/index.js\";\nimport * as Data_Foldable from \"../Data.Foldable/index.js\";\nimport * as Data_Function from \"../Data.Function/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_List from \"../Data.List/index.js\";\nimport * as Data_List_Types from \"../Data.List.Types/index.js\";\nimport * as Data_Map_Internal from \"../Data.Map.Internal/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Effect from \"../Effect/index.js\";\nimport * as Effect_Aff from \"../Effect.Aff/index.js\";\nimport * as Effect_Class from \"../Effect.Class/index.js\";\nimport * as Effect_Console from \"../Effect.Console/index.js\";\nimport * as Effect_Exception from \"../Effect.Exception/index.js\";\nimport * as Effect_Ref from \"../Effect.Ref/index.js\";\nimport * as Halogen from \"../Halogen/index.js\";\nimport * as Halogen_Aff_Driver_Eval from \"../Halogen.Aff.Driver.Eval/index.js\";\nimport * as Halogen_Aff_Driver_State from \"../Halogen.Aff.Driver.State/index.js\";\nimport * as Halogen_Component from \"../Halogen.Component/index.js\";\nimport * as Halogen_Data_Slot from \"../Halogen.Data.Slot/index.js\";\nimport * as Halogen_Query_HalogenQ from \"../Halogen.Query.HalogenQ/index.js\";\nimport * as Halogen_Query_Input from \"../Halogen.Query.Input/index.js\";\nimport * as Halogen_Subscription from \"../Halogen.Subscription/index.js\";\nvar newLifecycleHandlers = /* #__PURE__ */ (function () {\n return Effect_Ref[\"new\"]({\n initializers: Data_List_Types.Nil.value,\n finalizers: Data_List_Types.Nil.value\n });\n})();\nvar handlePending = function (ref) {\n return function __do() {\n var queue = Effect_Ref.read(ref)();\n Effect_Ref.write(Data_Maybe.Nothing.value)(ref)();\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(queue)((function () {\n var $28 = Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff));\n return function ($29) {\n return Halogen_Aff_Driver_Eval.handleAff($28(Data_List.reverse($29)));\n };\n })())();\n };\n};\nvar cleanupSubscriptionsAndForks = function (v) {\n return function __do() {\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)(Halogen_Subscription.unsubscribe)))(Effect_Ref.read(v.subscriptions))();\n Effect_Ref.write(Data_Maybe.Nothing.value)(v.subscriptions)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)((function () {\n var $30 = Effect_Aff.killFiber(Effect_Exception.error(\"finalized\"));\n return function ($31) {\n return Halogen_Aff_Driver_Eval.handleAff($30($31));\n };\n })()))(Effect_Ref.read(v.forks))();\n return Effect_Ref.write(Data_Map_Internal.empty)(v.forks)();\n };\n};\nvar runUI = function (renderSpec) {\n return function (component) {\n return function (i) {\n var squashChildInitializers = function (lchs) {\n return function (preInits) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n var parentInitializer = Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Initialize(Data_Unit.unit)));\n return Effect_Ref.modify_(function (handlers) {\n return {\n initializers: new Data_List_Types.Cons(Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(Data_List.reverse(handlers.initializers)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(parentInitializer)(function () {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n handlePending(st.pendingQueries)();\n return handlePending(st.pendingOuts)();\n });\n });\n }), preInits),\n finalizers: handlers.finalizers\n };\n })(lchs);\n });\n };\n };\n var runComponent = function (lchs) {\n return function (handler) {\n return function (j) {\n return Halogen_Component.unComponent(function (c) {\n return function __do() {\n var lchs$prime = newLifecycleHandlers();\n var $$var = Halogen_Aff_Driver_State.initDriverState(c)(j)(handler)(lchs$prime)();\n var pre = Effect_Ref.read(lchs)();\n Effect_Ref.write({\n initializers: Data_List_Types.Nil.value,\n finalizers: pre.finalizers\n })(lchs)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Halogen_Aff_Driver_State.unDriverStateX((function () {\n var $32 = render(lchs);\n return function ($33) {\n return $32((function (v) {\n return v.selfRef;\n })($33));\n };\n })()))(Effect_Ref.read($$var))();\n Control_Bind.bindFlipped(Effect.bindEffect)(squashChildInitializers(lchs)(pre.initializers))(Effect_Ref.read($$var))();\n return $$var;\n };\n });\n };\n };\n };\n var renderChild = function (lchs) {\n return function (handler) {\n return function (childrenInRef) {\n return function (childrenOutRef) {\n return Halogen_Component.unComponentSlot(function (slot) {\n return function __do() {\n var childrenIn = Data_Functor.map(Effect.functorEffect)(slot.pop)(Effect_Ref.read(childrenInRef))();\n var $$var = (function () {\n if (childrenIn instanceof Data_Maybe.Just) {\n Effect_Ref.write(childrenIn.value0.value1)(childrenInRef)();\n var dsx = Effect_Ref.read(childrenIn.value0.value0)();\n Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return function __do() {\n Data_Function.flip(Effect_Ref.write)(st.handlerRef)((function () {\n var $34 = Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler);\n return function ($35) {\n return $34(slot.output($35));\n };\n })())();\n return Halogen_Aff_Driver_Eval.handleAff(Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Receive(slot.input, Data_Unit.unit))))();\n };\n })(dsx)();\n return childrenIn.value0.value0;\n };\n if (childrenIn instanceof Data_Maybe.Nothing) {\n return runComponent(lchs)((function () {\n var $36 = Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler);\n return function ($37) {\n return $36(slot.output($37));\n };\n })())(slot.input)(slot.component)();\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 213, column 14 - line 222, column 98): \" + [ childrenIn.constructor.name ]);\n })();\n var isDuplicate = Data_Functor.map(Effect.functorEffect)(function ($38) {\n return Data_Maybe.isJust(slot.get($38));\n })(Effect_Ref.read(childrenOutRef))();\n Control_Applicative.when(Effect.applicativeEffect)(isDuplicate)(Effect_Console.warn(\"Halogen: Duplicate slot address was detected during rendering, unexpected results may occur\"))();\n Effect_Ref.modify_(slot.set($$var))(childrenOutRef)();\n return Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read($$var))(Halogen_Aff_Driver_State.renderStateX(Effect.functorEffect)(function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return Effect_Exception[\"throw\"](\"Halogen internal error: child was not initialized in renderChild\");\n };\n if (v instanceof Data_Maybe.Just) {\n return Control_Applicative.pure(Effect.applicativeEffect)(renderSpec.renderChild(v.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 227, column 37 - line 229, column 50): \" + [ v.constructor.name ]);\n }))();\n };\n });\n };\n };\n };\n };\n var render = function (lchs) {\n return function ($$var) {\n return function __do() {\n var v = Effect_Ref.read($$var)();\n var shouldProcessHandlers = Data_Functor.map(Effect.functorEffect)(Data_Maybe.isNothing)(Effect_Ref.read(v.pendingHandlers))();\n Control_Applicative.when(Effect.applicativeEffect)(shouldProcessHandlers)(Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers))();\n Effect_Ref.write(Halogen_Data_Slot.empty)(v.childrenOut)();\n Effect_Ref.write(v.children)(v.childrenIn)();\n var selfRef = Control_Category.identity(Control_Category.categoryFn)(v.selfRef);\n var pendingQueries = Control_Category.identity(Control_Category.categoryFn)(v.pendingQueries);\n var pendingHandlers = Control_Category.identity(Control_Category.categoryFn)(v.pendingHandlers);\n var handler = (function () {\n var $39 = Halogen_Aff_Driver_Eval.queueOrRun(pendingHandlers);\n var $40 = Data_Functor[\"void\"](Effect_Aff.functorAff);\n var $41 = Halogen_Aff_Driver_Eval.evalF(render)(selfRef);\n return function ($42) {\n return $39($40($41($42)));\n };\n })();\n var childHandler = (function () {\n var $43 = Halogen_Aff_Driver_Eval.queueOrRun(pendingQueries);\n return function ($44) {\n return $43(handler(Halogen_Query_Input.Action.create($44)));\n };\n })();\n var rendering = renderSpec.render(function ($45) {\n return Halogen_Aff_Driver_Eval.handleAff(handler($45));\n })(renderChild(lchs)(childHandler)(v.childrenIn)(v.childrenOut))(v.component.render(v.state))(v.rendering)();\n var children = Effect_Ref.read(v.childrenOut)();\n var childrenIn = Effect_Ref.read(v.childrenIn)();\n Halogen_Data_Slot.foreachSlot(Effect.applicativeEffect)(childrenIn)(function (v1) {\n return function __do() {\n var childDS = Effect_Ref.read(v1)();\n Halogen_Aff_Driver_State.renderStateX_(Effect.applicativeEffect)(renderSpec.removeChild)(childDS)();\n return finalize(lchs)(childDS)();\n };\n })();\n Data_Function.flip(Effect_Ref.modify_)(v.selfRef)(Halogen_Aff_Driver_State.mapDriverState(function (ds$prime) {\n return {\n component: ds$prime.component,\n state: ds$prime.state,\n refs: ds$prime.refs,\n children: children,\n childrenIn: ds$prime.childrenIn,\n childrenOut: ds$prime.childrenOut,\n selfRef: ds$prime.selfRef,\n handlerRef: ds$prime.handlerRef,\n pendingQueries: ds$prime.pendingQueries,\n pendingOuts: ds$prime.pendingOuts,\n pendingHandlers: ds$prime.pendingHandlers,\n rendering: new Data_Maybe.Just(rendering),\n fresh: ds$prime.fresh,\n subscriptions: ds$prime.subscriptions,\n forks: ds$prime.forks,\n lifecycleHandlers: ds$prime.lifecycleHandlers\n };\n }))();\n return Control_Applicative.when(Effect.applicativeEffect)(shouldProcessHandlers)(Data_Function.flip(Control_Monad_Rec_Class.tailRecM(Control_Monad_Rec_Class.monadRecEffect))(Data_Unit.unit)(function (v1) {\n return function __do() {\n var handlers = Effect_Ref.read(pendingHandlers)();\n Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(pendingHandlers)();\n Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)((function () {\n var $46 = Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff));\n return function ($47) {\n return Halogen_Aff_Driver_Eval.handleAff($46(Data_List.reverse($47)));\n };\n })())(handlers)();\n var mmore = Effect_Ref.read(pendingHandlers)();\n var $21 = Data_Maybe.maybe(false)(Data_List[\"null\"])(mmore);\n if ($21) {\n return Data_Functor.voidLeft(Effect.functorEffect)(Effect_Ref.write(Data_Maybe.Nothing.value)(pendingHandlers))(new Control_Monad_Rec_Class.Done(Data_Unit.unit))();\n };\n return new Control_Monad_Rec_Class.Loop(Data_Unit.unit);\n };\n }))();\n };\n };\n };\n var finalize = function (lchs) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return function __do() {\n cleanupSubscriptionsAndForks(st)();\n var f = Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Finalize(Data_Unit.unit)));\n Effect_Ref.modify_(function (handlers) {\n return {\n initializers: handlers.initializers,\n finalizers: new Data_List_Types.Cons(f, handlers.finalizers)\n };\n })(lchs)();\n return Halogen_Data_Slot.foreachSlot(Effect.applicativeEffect)(st.children)(function (v) {\n return function __do() {\n var dsx = Effect_Ref.read(v)();\n return finalize(lchs)(dsx)();\n };\n })();\n };\n });\n };\n var evalDriver = function (disposed) {\n return function (ref) {\n return function (q) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(disposed)))(function (v) {\n if (v) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Maybe.Nothing.value);\n };\n return Halogen_Aff_Driver_Eval.evalQ(render)(ref)(q);\n });\n };\n };\n };\n var dispose = function (disposed) {\n return function (lchs) {\n return function (dsx) {\n return Halogen_Aff_Driver_Eval.handleLifecycle(lchs)(function __do() {\n var v = Effect_Ref.read(disposed)();\n if (v) {\n return Data_Unit.unit;\n };\n Effect_Ref.write(true)(disposed)();\n finalize(lchs)(dsx)();\n return Halogen_Aff_Driver_State.unDriverStateX(function (v1) {\n return function __do() {\n var v2 = Effect_Class.liftEffect(Effect_Class.monadEffectEffect)(Effect_Ref.read(v1.selfRef))();\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(v2.rendering)(renderSpec.dispose)();\n };\n })(dsx)();\n });\n };\n };\n };\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(newLifecycleHandlers))(function (lchs) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](false)))(function (disposed) {\n return Halogen_Aff_Driver_Eval.handleLifecycle(lchs)(function __do() {\n var sio = Halogen_Subscription.create();\n var dsx = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref.read)(runComponent(lchs)((function () {\n var $48 = Effect_Class.liftEffect(Effect_Aff.monadEffectAff);\n var $49 = Halogen_Subscription.notify(sio.listener);\n return function ($50) {\n return $48($49($50));\n };\n })())(i)(component))();\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return Control_Applicative.pure(Effect.applicativeEffect)({\n query: evalDriver(disposed)(st.selfRef),\n messages: sio.emitter,\n dispose: dispose(disposed)(lchs)(dsx)\n });\n })(dsx)();\n });\n });\n });\n };\n };\n};\nexport {\n runUI\n};\n", "var getEffProp = function (name) {\n return function (node) {\n return function () {\n return node[name];\n };\n };\n};\n\nexport function nodeTypeIndex(node) {\n return node.nodeType;\n}\n\nexport function nodeName(node) {\n return node.nodeName;\n}\n\nexport const baseURI = getEffProp(\"baseURI\");\nexport const _ownerDocument = getEffProp(\"ownerDocument\");\nexport const _parentNode = getEffProp(\"parentNode\");\nexport const _parentElement = getEffProp(\"parentElement\");\n\nexport function hasChildNodes(node) {\n return function () {\n return node.hasChildNodes();\n };\n}\n\nexport const childNodes = getEffProp(\"childNodes\");\nexport const _firstChild = getEffProp(\"firstChild\");\nexport const _lastChild = getEffProp(\"lastChild\");\nexport const _previousSibling = getEffProp(\"previousSibling\");\nexport const _nextSibling = getEffProp(\"nextSibling\");\nexport const _nodeValue = getEffProp(\"nodeValue\");\n\nexport function setNodeValue(value) {\n return function (node) {\n return function () {\n node.nodeValue = value;\n };\n };\n}\n\nexport const textContent = getEffProp(\"textContent\");\n\nexport function setTextContent(value) {\n return function (node) {\n return function () {\n node.textContent = value;\n };\n };\n}\n\nexport function normalize(node) {\n return function () {\n node.normalize();\n };\n}\n\nexport function clone(node) {\n return function () {\n return node.cloneNode(false);\n };\n}\n\nexport function deepClone(node) {\n return function () {\n return node.cloneNode(true);\n };\n}\n\nexport function isEqualNode(node1) {\n return function (node2) {\n return function () {\n return node1.isEqualNode(node2);\n };\n };\n}\n\nexport function compareDocumentPositionBits(node1) {\n return function (node2) {\n return function () {\n return node1.compareDocumentPosition(node2);\n };\n };\n}\n\nexport function contains(node1) {\n return function (node2) {\n return function () {\n return node1.contains(node2);\n };\n };\n}\n\nexport function _lookupPrefix(prefix) {\n return function (node) {\n return function () {\n return node.lookupPrefix(prefix);\n };\n };\n}\n\nexport function _lookupNamespaceURI(ns) {\n return function (node) {\n return function () {\n return node.lookupNamespaceURI(ns);\n };\n };\n}\n\nexport function isDefaultNamespace(ns) {\n return function (node) {\n return function () {\n return node.isDefaultNamespace(ns);\n };\n };\n}\n\nexport function insertBefore(node1) {\n return function (node2) {\n return function (parent) {\n return function () {\n parent.insertBefore(node1, node2);\n };\n };\n };\n}\n\nexport function appendChild(node) {\n return function (parent) {\n return function () {\n parent.appendChild(node);\n };\n };\n}\n\nexport function replaceChild(newChild) {\n return function (oldChild) {\n return function (parent) {\n return function () {\n parent.replaceChild(newChild, oldChild);\n };\n };\n };\n}\n\nexport function removeChild(node) {\n return function (parent) {\n return function () {\n parent.removeChild(node);\n };\n };\n}\n", "// Generated by purs version 0.15.2\nimport * as $foreign from \"./foreign.js\";\nimport * as Data_Enum from \"../Data.Enum/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Nullable from \"../Data.Nullable/index.js\";\nimport * as Effect from \"../Effect/index.js\";\nimport * as Unsafe_Coerce from \"../Unsafe.Coerce/index.js\";\nimport * as Web_DOM_Internal_Types from \"../Web.DOM.Internal.Types/index.js\";\nimport * as Web_DOM_NodeType from \"../Web.DOM.NodeType/index.js\";\nimport * as Web_Internal_FFI from \"../Web.Internal.FFI/index.js\";\nvar toEventTarget = Unsafe_Coerce.unsafeCoerce;\nvar previousSibling = /* #__PURE__ */ (function () {\n var $0 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($1) {\n return $0($foreign[\"_previousSibling\"]($1));\n };\n})();\nvar parentNode = /* #__PURE__ */ (function () {\n var $2 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($3) {\n return $2($foreign[\"_parentNode\"]($3));\n };\n})();\nvar parentElement = /* #__PURE__ */ (function () {\n var $4 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($5) {\n return $4($foreign[\"_parentElement\"]($5));\n };\n})();\nvar ownerDocument = /* #__PURE__ */ (function () {\n var $6 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($7) {\n return $6($foreign[\"_ownerDocument\"]($7));\n };\n})();\nvar nodeValue = /* #__PURE__ */ (function () {\n var $8 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($9) {\n return $8($foreign[\"_nodeValue\"]($9));\n };\n})();\nvar nodeType = function () {\n var $10 = Data_Maybe.fromJust();\n var $11 = Data_Enum.toEnum(Web_DOM_NodeType.boundedEnumNodeType);\n return function ($12) {\n return $10($11($foreign.nodeTypeIndex($12)));\n };\n};\nvar nextSibling = /* #__PURE__ */ (function () {\n var $13 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($14) {\n return $13($foreign[\"_nextSibling\"]($14));\n };\n})();\nvar lookupPrefix = function (p) {\n var $15 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n var $16 = $foreign[\"_lookupPrefix\"](p);\n return function ($17) {\n return $15($16($17));\n };\n};\nvar lookupNamespaceURI = function (ns) {\n var $18 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n var $19 = $foreign[\"_lookupNamespaceURI\"](ns);\n return function ($20) {\n return $18($19($20));\n };\n};\nvar lastChild = /* #__PURE__ */ (function () {\n var $21 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($22) {\n return $21($foreign[\"_lastChild\"]($22));\n };\n})();\nvar fromEventTarget = /* #__PURE__ */ Web_Internal_FFI.unsafeReadProtoTagged(\"Node\");\nvar firstChild = /* #__PURE__ */ (function () {\n var $23 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($24) {\n return $23($foreign[\"_firstChild\"]($24));\n };\n})();\nexport {\n nodeTypeIndex,\n nodeName,\n baseURI,\n hasChildNodes,\n childNodes,\n setNodeValue,\n textContent,\n setTextContent,\n normalize,\n clone,\n deepClone,\n isEqualNode,\n compareDocumentPositionBits,\n contains,\n isDefaultNamespace,\n insertBefore,\n appendChild,\n replaceChild,\n removeChild\n} from \"./foreign.js\";\nexport {\n fromEventTarget,\n toEventTarget,\n nodeType,\n ownerDocument,\n parentNode,\n parentElement,\n firstChild,\n lastChild,\n previousSibling,\n nextSibling,\n nodeValue,\n lookupPrefix,\n lookupNamespaceURI\n};\n", "// Generated by purs version 0.15.2\nimport * as Control_Applicative from \"../Control.Applicative/index.js\";\nimport * as Control_Bind from \"../Control.Bind/index.js\";\nimport * as Control_Category from \"../Control.Category/index.js\";\nimport * as Data_Foldable from \"../Data.Foldable/index.js\";\nimport * as Data_Functor from \"../Data.Functor/index.js\";\nimport * as Data_HeytingAlgebra from \"../Data.HeytingAlgebra/index.js\";\nimport * as Data_Maybe from \"../Data.Maybe/index.js\";\nimport * as Data_Newtype from \"../Data.Newtype/index.js\";\nimport * as Data_Unit from \"../Data.Unit/index.js\";\nimport * as Effect from \"../Effect/index.js\";\nimport * as Effect_Aff from \"../Effect.Aff/index.js\";\nimport * as Effect_Class from \"../Effect.Class/index.js\";\nimport * as Effect_Ref from \"../Effect.Ref/index.js\";\nimport * as Halogen_Aff_Driver from \"../Halogen.Aff.Driver/index.js\";\nimport * as Halogen_Aff_Driver_State from \"../Halogen.Aff.Driver.State/index.js\";\nimport * as Halogen_Component from \"../Halogen.Component/index.js\";\nimport * as Halogen_VDom_DOM from \"../Halogen.VDom.DOM/index.js\";\nimport * as Halogen_VDom_DOM_Prop from \"../Halogen.VDom.DOM.Prop/index.js\";\nimport * as Halogen_VDom_Machine from \"../Halogen.VDom.Machine/index.js\";\nimport * as Halogen_VDom_Thunk from \"../Halogen.VDom.Thunk/index.js\";\nimport * as Unsafe_Reference from \"../Unsafe.Reference/index.js\";\nimport * as Web_DOM_Node from \"../Web.DOM.Node/index.js\";\nimport * as Web_HTML from \"../Web.HTML/index.js\";\nimport * as Web_HTML_HTMLDocument from \"../Web.HTML.HTMLDocument/index.js\";\nimport * as Web_HTML_HTMLElement from \"../Web.HTML.HTMLElement/index.js\";\nimport * as Web_HTML_Window from \"../Web.HTML.Window/index.js\";\nvar $runtime_lazy = function (name, moduleName, init) {\n var state = 0;\n var val;\n return function (lineNumber) {\n if (state === 2) return val;\n if (state === 1) throw new ReferenceError(name + \" was needed before it finished initializing (module \" + moduleName + \", line \" + lineNumber + \")\", moduleName, lineNumber);\n state = 1;\n val = init();\n state = 2;\n return val;\n };\n};\nvar RenderState = function (x) {\n return x;\n};\nvar substInParent = function (v) {\n return function (v1) {\n return function (v2) {\n if (v1 instanceof Data_Maybe.Just && v2 instanceof Data_Maybe.Just) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.insertBefore(v)(v1.value0)(v2.value0));\n };\n if (v1 instanceof Data_Maybe.Nothing && v2 instanceof Data_Maybe.Just) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.appendChild(v)(v2.value0));\n };\n return Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);\n };\n };\n};\nvar removeChild = function (v) {\n return function __do() {\n var npn = Web_DOM_Node.parentNode(v.node)();\n return Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function (pn) {\n return Web_DOM_Node.removeChild(v.node)(pn);\n })(npn)();\n };\n};\nvar mkSpec = function (handler) {\n return function (renderChildRef) {\n return function (document) {\n var getNode = Halogen_Aff_Driver_State.unRenderStateX(function (v) {\n return v.node;\n });\n var done = function (st) {\n if (st instanceof Data_Maybe.Just) {\n return Halogen_VDom_Machine.halt(st.value0);\n };\n return Data_Unit.unit;\n };\n var buildWidget = function (spec) {\n var buildThunk = Halogen_VDom_Thunk.buildThunk(Data_Newtype.unwrap())(spec);\n var $lazy_patch = $runtime_lazy(\"patch\", \"Halogen.VDom.Driver\", function () {\n return function (st, slot) {\n if (st instanceof Data_Maybe.Just) {\n if (slot instanceof Halogen_Component.ComponentSlot) {\n Halogen_VDom_Machine.halt(st.value0);\n return $lazy_renderComponentSlot(100)(slot.value0);\n };\n if (slot instanceof Halogen_Component.ThunkSlot) {\n var step$prime = Halogen_VDom_Machine.step(st.value0, slot.value0);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(step$prime), new Data_Maybe.Just(step$prime), $lazy_patch(103), done));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 97, column 22 - line 103, column 79): \" + [ slot.constructor.name ]);\n };\n return $lazy_render(104)(slot);\n };\n });\n var $lazy_render = $runtime_lazy(\"render\", \"Halogen.VDom.Driver\", function () {\n return function (slot) {\n if (slot instanceof Halogen_Component.ComponentSlot) {\n return $lazy_renderComponentSlot(86)(slot.value0);\n };\n if (slot instanceof Halogen_Component.ThunkSlot) {\n var step = buildThunk(slot.value0);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(step), new Data_Maybe.Just(step), $lazy_patch(89), done));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 84, column 7 - line 89, column 75): \" + [ slot.constructor.name ]);\n };\n });\n var $lazy_renderComponentSlot = $runtime_lazy(\"renderComponentSlot\", \"Halogen.VDom.Driver\", function () {\n return function (cs) {\n var renderChild = Effect_Ref.read(renderChildRef)();\n var rsx = renderChild(cs)();\n var node = getNode(rsx);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, Data_Maybe.Nothing.value, $lazy_patch(117), done));\n };\n });\n var patch = $lazy_patch(91);\n var render = $lazy_render(82);\n var renderComponentSlot = $lazy_renderComponentSlot(109);\n return render;\n };\n var buildAttributes = Halogen_VDom_DOM_Prop.buildProp(handler);\n return {\n buildWidget: buildWidget,\n buildAttributes: buildAttributes,\n document: document\n };\n };\n };\n};\nvar renderSpec = function (document) {\n return function (container) {\n var render = function (handler) {\n return function (child) {\n return function (v) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return function __do() {\n var renderChildRef = Effect_Ref[\"new\"](child)();\n var spec = mkSpec(handler)(renderChildRef)(document);\n var machine = Halogen_VDom_DOM.buildVDom(spec)(v);\n var node = Halogen_VDom_Machine.extract(machine);\n Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.appendChild(node)(Web_HTML_HTMLElement.toNode(container)))();\n return {\n machine: machine,\n node: node,\n renderChildRef: renderChildRef\n };\n };\n };\n if (v1 instanceof Data_Maybe.Just) {\n return function __do() {\n Effect_Ref.write(child)(v1.value0.renderChildRef)();\n var parent = Web_DOM_Node.parentNode(v1.value0.node)();\n var nextSib = Web_DOM_Node.nextSibling(v1.value0.node)();\n var machine$prime = Halogen_VDom_Machine.step(v1.value0.machine, v);\n var newNode = Halogen_VDom_Machine.extract(machine$prime);\n Control_Applicative.when(Effect.applicativeEffect)(Data_HeytingAlgebra.not(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraBoolean)))(Unsafe_Reference.unsafeRefEq)(v1.value0.node)(newNode))(substInParent(newNode)(nextSib)(parent))();\n return {\n machine: machine$prime,\n node: newNode,\n renderChildRef: v1.value0.renderChildRef\n };\n };\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 157, column 5 - line 173, column 80): \" + [ v1.constructor.name ]);\n };\n };\n };\n };\n return {\n render: render,\n renderChild: Control_Category.identity(Control_Category.categoryFn),\n removeChild: removeChild,\n dispose: removeChild\n };\n };\n};\nvar runUI = function (component) {\n return function (i) {\n return function (element) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Data_Functor.map(Effect.functorEffect)(Web_HTML_HTMLDocument.toDocument)(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.document)(Web_HTML.window))))(function (document) {\n return Halogen_Aff_Driver.runUI(renderSpec(document)(element))(component)(i);\n });\n };\n };\n};\nexport {\n runUI\n};\n"],
"mappings": "46BAAA,oBACA,AACA,AACA,AACA,AAEC,AAAC,UAAU,EAAQ,EAAS,CACzB,MAAO,KAAY,UAAY,MAAO,IAAW,IAAc,GAAO,QAAU,EAAQ,EACxF,MAAO,SAAW,YAAc,OAAO,IAAM,OAAO,CAAO,EAC3D,EAAO,OAAS,EAAQ,CAC5B,GAAE,GAAO,UAAY,CAAE,aAEnB,GAAI,GAEJ,YAAiB,CACb,MAAO,GAAa,MAAM,KAAM,SAAS,CAC7C,CAIA,WAAyB,EAAU,CAC/B,EAAe,CACnB,CAEA,WAAiB,EAAO,CACpB,MACI,aAAiB,QACjB,OAAO,UAAU,SAAS,KAAK,CAAK,IAAM,gBAElD,CAEA,WAAkB,EAAO,CAGrB,MACI,IAAS,MACT,OAAO,UAAU,SAAS,KAAK,CAAK,IAAM,iBAElD,CAEA,WAAoB,EAAG,EAAG,CACtB,MAAO,QAAO,UAAU,eAAe,KAAK,EAAG,CAAC,CACpD,CAEA,WAAuB,EAAK,CACxB,GAAI,OAAO,oBACP,MAAO,QAAO,oBAAoB,CAAG,EAAE,SAAW,EAElD,GAAI,GACJ,IAAK,IAAK,GACN,GAAI,EAAW,EAAK,CAAC,EACjB,MAAO,GAGf,MAAO,EAEf,CAEA,WAAqB,EAAO,CACxB,MAAO,KAAU,MACrB,CAEA,WAAkB,EAAO,CACrB,MACI,OAAO,IAAU,UACjB,OAAO,UAAU,SAAS,KAAK,CAAK,IAAM,iBAElD,CAEA,WAAgB,EAAO,CACnB,MACI,aAAiB,OACjB,OAAO,UAAU,SAAS,KAAK,CAAK,IAAM,eAElD,CAEA,WAAa,EAAK,EAAI,CAClB,GAAI,GAAM,CAAC,EACP,EACA,EAAS,EAAI,OACjB,IAAK,EAAI,EAAG,EAAI,EAAQ,EAAE,EACtB,EAAI,KAAK,EAAG,EAAI,GAAI,CAAC,CAAC,EAE1B,MAAO,EACX,CAEA,WAAgB,EAAG,EAAG,CAClB,OAAS,KAAK,GACV,AAAI,EAAW,EAAG,CAAC,GACf,GAAE,GAAK,EAAE,IAIjB,MAAI,GAAW,EAAG,UAAU,GACxB,GAAE,SAAW,EAAE,UAGf,EAAW,EAAG,SAAS,GACvB,GAAE,QAAU,EAAE,SAGX,CACX,CAEA,WAAmB,EAAO,EAAQ,EAAQ,EAAQ,CAC9C,MAAO,IAAiB,EAAO,EAAQ,EAAQ,EAAQ,EAAI,EAAE,IAAI,CACrE,CAEA,YAA+B,CAE3B,MAAO,CACH,MAAO,GACP,aAAc,CAAC,EACf,YAAa,CAAC,EACd,SAAU,GACV,cAAe,EACf,UAAW,GACX,WAAY,KACZ,aAAc,KACd,cAAe,GACf,gBAAiB,GACjB,IAAK,GACL,gBAAiB,CAAC,EAClB,IAAK,KACL,SAAU,KACV,QAAS,GACT,gBAAiB,EACrB,CACJ,CAEA,WAAyB,EAAG,CACxB,MAAI,GAAE,KAAO,MACT,GAAE,IAAM,EAAoB,GAEzB,EAAE,GACb,CAEA,GAAI,GACJ,AAAI,MAAM,UAAU,KAChB,EAAO,MAAM,UAAU,KAEvB,EAAO,SAAU,EAAK,CAClB,GAAI,GAAI,OAAO,IAAI,EACf,EAAM,EAAE,SAAW,EACnB,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,IACjB,GAAI,IAAK,IAAK,EAAI,KAAK,KAAM,EAAE,GAAI,EAAG,CAAC,EACnC,MAAO,GAIf,MAAO,EACX,EAGJ,WAAiB,EAAG,CAChB,GAAI,EAAE,UAAY,KAAM,CACpB,GAAI,GAAQ,EAAgB,CAAC,EACzB,EAAc,EAAK,KAAK,EAAM,gBAAiB,SAAU,EAAG,CACxD,MAAO,IAAK,IAChB,CAAC,EACD,EACI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,GACrB,EAAM,SAAW,GACjB,CAAC,EAAM,OACP,CAAC,EAAM,YACP,CAAC,EAAM,cACP,CAAC,EAAM,gBACP,CAAC,EAAM,iBACP,CAAC,EAAM,WACP,CAAC,EAAM,eACP,CAAC,EAAM,iBACN,EAAC,EAAM,UAAa,EAAM,UAAY,GAU/C,GARI,EAAE,SACF,GACI,GACA,EAAM,gBAAkB,GACxB,EAAM,aAAa,SAAW,GAC9B,EAAM,UAAY,QAGtB,OAAO,UAAY,MAAQ,CAAC,OAAO,SAAS,CAAC,EAC7C,EAAE,SAAW,MAEb,OAAO,EAEf,CACA,MAAO,GAAE,QACb,CAEA,WAAuB,EAAO,CAC1B,GAAI,GAAI,EAAU,GAAG,EACrB,MAAI,IAAS,KACT,EAAO,EAAgB,CAAC,EAAG,CAAK,EAEhC,EAAgB,CAAC,EAAE,gBAAkB,GAGlC,CACX,CAIA,GAAI,GAAoB,EAAM,iBAAmB,CAAC,EAC9C,GAAmB,GAEvB,YAAoB,EAAI,EAAM,CAC1B,GAAI,GACA,EACA,EACA,EAAsB,EAAiB,OAiC3C,GA/BK,EAAY,EAAK,gBAAgB,GAClC,GAAG,iBAAmB,EAAK,kBAE1B,EAAY,EAAK,EAAE,GACpB,GAAG,GAAK,EAAK,IAEZ,EAAY,EAAK,EAAE,GACpB,GAAG,GAAK,EAAK,IAEZ,EAAY,EAAK,EAAE,GACpB,GAAG,GAAK,EAAK,IAEZ,EAAY,EAAK,OAAO,GACzB,GAAG,QAAU,EAAK,SAEjB,EAAY,EAAK,IAAI,GACtB,GAAG,KAAO,EAAK,MAEd,EAAY,EAAK,MAAM,GACxB,GAAG,OAAS,EAAK,QAEhB,EAAY,EAAK,OAAO,GACzB,GAAG,QAAU,EAAK,SAEjB,EAAY,EAAK,GAAG,GACrB,GAAG,IAAM,EAAgB,CAAI,GAE5B,EAAY,EAAK,OAAO,GACzB,GAAG,QAAU,EAAK,SAGlB,EAAsB,EACtB,IAAK,EAAI,EAAG,EAAI,EAAqB,IACjC,EAAO,EAAiB,GACxB,EAAM,EAAK,GACN,EAAY,CAAG,GAChB,GAAG,GAAQ,GAKvB,MAAO,EACX,CAGA,YAAgB,EAAQ,CACpB,GAAW,KAAM,CAAM,EACvB,KAAK,GAAK,GAAI,MAAK,EAAO,IAAM,KAAO,EAAO,GAAG,QAAQ,EAAI,GAAG,EAC3D,KAAK,QAAQ,GACd,MAAK,GAAK,GAAI,MAAK,GAAG,GAItB,KAAqB,IACrB,IAAmB,GACnB,EAAM,aAAa,IAAI,EACvB,GAAmB,GAE3B,CAEA,YAAkB,EAAK,CACnB,MACI,aAAe,KAAW,GAAO,MAAQ,EAAI,kBAAoB,IAEzE,CAEA,YAAc,EAAK,CACf,AACI,EAAM,8BAAgC,IACtC,MAAO,SAAY,KACnB,QAAQ,MAER,QAAQ,KAAK,wBAA0B,CAAG,CAElD,CAEA,YAAmB,EAAK,EAAI,CACxB,GAAI,GAAY,GAEhB,MAAO,GAAO,UAAY,CAItB,GAHI,EAAM,oBAAsB,MAC5B,EAAM,mBAAmB,KAAM,CAAG,EAElC,EAAW,CACX,GAAI,GAAO,CAAC,EACR,EACA,EACA,EACA,GAAS,UAAU,OACvB,IAAK,EAAI,EAAG,EAAI,GAAQ,IAAK,CAEzB,GADA,EAAM,GACF,MAAO,WAAU,IAAO,SAAU,CAClC,GAAO;AAAA,GAAQ,EAAI,KACnB,IAAK,IAAO,WAAU,GAClB,AAAI,EAAW,UAAU,GAAI,CAAG,GAC5B,IAAO,EAAM,KAAO,UAAU,GAAG,GAAO,MAGhD,EAAM,EAAI,MAAM,EAAG,EAAE,CACzB,KACI,GAAM,UAAU,GAEpB,EAAK,KAAK,CAAG,CACjB,CACA,GACI,EACI;AAAA,aACA,MAAM,UAAU,MAAM,KAAK,CAAI,EAAE,KAAK,EAAE,EACxC;AAAA,EACA,GAAI,OAAM,EAAE,KACpB,EACA,EAAY,EAChB,CACA,MAAO,GAAG,MAAM,KAAM,SAAS,CACnC,EAAG,CAAE,CACT,CAEA,GAAI,IAAe,CAAC,EAEpB,YAAyB,EAAM,EAAK,CAChC,AAAI,EAAM,oBAAsB,MAC5B,EAAM,mBAAmB,EAAM,CAAG,EAEjC,GAAa,IACd,IAAK,CAAG,EACR,GAAa,GAAQ,GAE7B,CAEA,EAAM,4BAA8B,GACpC,EAAM,mBAAqB,KAE3B,YAAoB,EAAO,CACvB,MACK,OAAO,UAAa,KAAe,YAAiB,WACrD,OAAO,UAAU,SAAS,KAAK,CAAK,IAAM,mBAElD,CAEA,YAAa,EAAQ,CACjB,GAAI,GAAM,EACV,IAAK,IAAK,GACN,AAAI,EAAW,EAAQ,CAAC,GACpB,GAAO,EAAO,GACd,AAAI,GAAW,CAAI,EACf,KAAK,GAAK,EAEV,KAAK,IAAM,GAAK,GAI5B,KAAK,QAAU,EAIf,KAAK,+BAAiC,GAAI,QACrC,MAAK,wBAAwB,QAAU,KAAK,cAAc,QACvD,IACA,UAAU,MAClB,CACJ,CAEA,YAAsB,EAAc,EAAa,CAC7C,GAAI,GAAM,EAAO,CAAC,EAAG,CAAY,EAC7B,EACJ,IAAK,IAAQ,GACT,AAAI,EAAW,EAAa,CAAI,GAC5B,CAAI,EAAS,EAAa,EAAK,GAAK,EAAS,EAAY,EAAK,EAC1D,GAAI,GAAQ,CAAC,EACb,EAAO,EAAI,GAAO,EAAa,EAAK,EACpC,EAAO,EAAI,GAAO,EAAY,EAAK,GAChC,AAAI,EAAY,IAAS,KAC5B,EAAI,GAAQ,EAAY,GAExB,MAAO,GAAI,IAIvB,IAAK,IAAQ,GACT,AACI,EAAW,EAAc,CAAI,GAC7B,CAAC,EAAW,EAAa,CAAI,GAC7B,EAAS,EAAa,EAAK,GAG3B,GAAI,GAAQ,EAAO,CAAC,EAAG,EAAI,EAAK,GAGxC,MAAO,EACX,CAEA,YAAgB,EAAQ,CACpB,AAAI,GAAU,MACV,KAAK,IAAI,CAAM,CAEvB,CAEA,GAAI,IAEJ,AAAI,OAAO,KACP,GAAO,OAAO,KAEd,GAAO,SAAU,EAAK,CAClB,GAAI,GACA,EAAM,CAAC,EACX,IAAK,IAAK,GACN,AAAI,EAAW,EAAK,CAAC,GACjB,EAAI,KAAK,CAAC,EAGlB,MAAO,EACX,EAGJ,GAAI,IAAkB,CAClB,QAAS,gBACT,QAAS,mBACT,SAAU,eACV,QAAS,oBACT,SAAU,sBACV,SAAU,GACd,EAEA,YAAkB,EAAK,EAAK,EAAK,CAC7B,GAAI,GAAS,KAAK,UAAU,IAAQ,KAAK,UAAU,SACnD,MAAO,IAAW,CAAM,EAAI,EAAO,KAAK,EAAK,CAAG,EAAI,CACxD,CAEA,YAAkB,EAAQ,EAAc,EAAW,CAC/C,GAAI,GAAY,GAAK,KAAK,IAAI,CAAM,EAChC,EAAc,EAAe,EAAU,OACvC,EAAO,GAAU,EACrB,MACK,GAAQ,EAAY,IAAM,GAAM,KACjC,KAAK,IAAI,GAAI,KAAK,IAAI,EAAG,CAAW,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAC1D,CAER,CAEA,GAAI,IACI,yMACJ,GAAwB,6CACxB,GAAkB,CAAC,EACnB,GAAuB,CAAC,EAM5B,WAAwB,EAAO,EAAQ,EAAS,EAAU,CACtD,GAAI,GAAO,EACX,AAAI,MAAO,IAAa,UACpB,GAAO,UAAY,CACf,MAAO,MAAK,GAAU,CAC1B,GAEA,GACA,IAAqB,GAAS,GAE9B,GACA,IAAqB,EAAO,IAAM,UAAY,CAC1C,MAAO,IAAS,EAAK,MAAM,KAAM,SAAS,EAAG,EAAO,GAAI,EAAO,EAAE,CACrE,GAEA,GACA,IAAqB,GAAW,UAAY,CACxC,MAAO,MAAK,WAAW,EAAE,QACrB,EAAK,MAAM,KAAM,SAAS,EAC1B,CACJ,CACJ,EAER,CAEA,YAAgC,EAAO,CACnC,MAAI,GAAM,MAAM,UAAU,EACf,EAAM,QAAQ,WAAY,EAAE,EAEhC,EAAM,QAAQ,MAAO,EAAE,CAClC,CAEA,YAA4B,EAAQ,CAChC,GAAI,GAAQ,EAAO,MAAM,EAAgB,EACrC,EACA,EAEJ,IAAK,EAAI,EAAG,EAAS,EAAM,OAAQ,EAAI,EAAQ,IAC3C,AAAI,GAAqB,EAAM,IAC3B,EAAM,GAAK,GAAqB,EAAM,IAEtC,EAAM,GAAK,GAAuB,EAAM,EAAE,EAIlD,MAAO,UAAU,EAAK,CAClB,GAAI,GAAS,GACT,EACJ,IAAK,EAAI,EAAG,EAAI,EAAQ,IACpB,GAAU,GAAW,EAAM,EAAE,EACvB,EAAM,GAAG,KAAK,EAAK,CAAM,EACzB,EAAM,GAEhB,MAAO,EACX,CACJ,CAGA,YAAsB,EAAG,EAAQ,CAC7B,MAAK,GAAE,QAAQ,EAIf,GAAS,GAAa,EAAQ,EAAE,WAAW,CAAC,EAC5C,GAAgB,GACZ,GAAgB,IAAW,GAAmB,CAAM,EAEjD,GAAgB,GAAQ,CAAC,GAPrB,EAAE,WAAW,EAAE,YAAY,CAQ1C,CAEA,YAAsB,EAAQ,EAAQ,CAClC,GAAI,GAAI,EAER,WAAqC,EAAO,CACxC,MAAO,GAAO,eAAe,CAAK,GAAK,CAC3C,CAGA,IADA,GAAsB,UAAY,EAC3B,GAAK,GAAK,GAAsB,KAAK,CAAM,GAC9C,EAAS,EAAO,QACZ,GACA,CACJ,EACA,GAAsB,UAAY,EAClC,GAAK,EAGT,MAAO,EACX,CAEA,GAAI,GAAwB,CACxB,IAAK,YACL,GAAI,SACJ,EAAG,aACH,GAAI,eACJ,IAAK,sBACL,KAAM,2BACV,EAEA,YAAwB,EAAK,CACzB,GAAI,GAAS,KAAK,gBAAgB,GAC9B,EAAc,KAAK,gBAAgB,EAAI,YAAY,GAEvD,MAAI,IAAU,CAAC,EACJ,EAGX,MAAK,gBAAgB,GAAO,EACvB,MAAM,EAAgB,EACtB,IAAI,SAAU,EAAK,CAChB,MACI,KAAQ,QACR,IAAQ,MACR,IAAQ,MACR,IAAQ,OAED,EAAI,MAAM,CAAC,EAEf,CACX,CAAC,EACA,KAAK,EAAE,EAEL,KAAK,gBAAgB,GAChC,CAEA,GAAI,IAAqB,eAEzB,aAAuB,CACnB,MAAO,MAAK,YAChB,CAEA,GAAI,IAAiB,KACjB,GAAgC,UAEpC,YAAiB,EAAQ,CACrB,MAAO,MAAK,SAAS,QAAQ,KAAM,CAAM,CAC7C,CAEA,GAAI,IAAsB,CACtB,OAAQ,QACR,KAAM,SACN,EAAG,gBACH,GAAI,aACJ,EAAG,WACH,GAAI,aACJ,EAAG,UACH,GAAI,WACJ,EAAG,QACH,GAAI,UACJ,EAAG,SACH,GAAI,WACJ,EAAG,UACH,GAAI,YACJ,EAAG,SACH,GAAI,UACR,EAEA,YAAsB,EAAQ,EAAe,EAAQ,EAAU,CAC3D,GAAI,GAAS,KAAK,cAAc,GAChC,MAAO,IAAW,CAAM,EAClB,EAAO,EAAQ,EAAe,EAAQ,CAAQ,EAC9C,EAAO,QAAQ,MAAO,CAAM,CACtC,CAEA,YAAoB,EAAM,EAAQ,CAC9B,GAAI,GAAS,KAAK,cAAc,EAAO,EAAI,SAAW,QACtD,MAAO,IAAW,CAAM,EAAI,EAAO,CAAM,EAAI,EAAO,QAAQ,MAAO,CAAM,CAC7E,CAEA,GAAI,IAAU,CAAC,EAEf,YAAsB,EAAM,EAAW,CACnC,GAAI,GAAY,EAAK,YAAY,EACjC,GAAQ,GAAa,GAAQ,EAAY,KAAO,GAAQ,GAAa,CACzE,CAEA,YAAwB,EAAO,CAC3B,MAAO,OAAO,IAAU,SAClB,GAAQ,IAAU,GAAQ,EAAM,YAAY,GAC5C,MACV,CAEA,YAA8B,EAAa,CACvC,GAAI,GAAkB,CAAC,EACnB,EACA,EAEJ,IAAK,IAAQ,GACT,AAAI,EAAW,EAAa,CAAI,GAC5B,GAAiB,GAAe,CAAI,EAChC,GACA,GAAgB,GAAkB,EAAY,KAK1D,MAAO,EACX,CAEA,GAAI,IAAa,CAAC,EAElB,WAAyB,EAAM,EAAU,CACrC,GAAW,GAAQ,CACvB,CAEA,WAA6B,EAAU,CACnC,GAAI,GAAQ,CAAC,EACT,EACJ,IAAK,IAAK,GACN,AAAI,EAAW,EAAU,CAAC,GACtB,EAAM,KAAK,CAAE,KAAM,EAAG,SAAU,GAAW,EAAG,CAAC,EAGvD,SAAM,KAAK,SAAU,EAAG,EAAG,CACvB,MAAO,GAAE,SAAW,EAAE,QAC1B,CAAC,EACM,CACX,CAEA,WAAoB,EAAM,CACtB,MAAQ,GAAO,IAAM,GAAK,EAAO,MAAQ,GAAM,EAAO,MAAQ,CAClE,CAEA,WAAkB,EAAQ,CACtB,MAAI,GAAS,EAEF,KAAK,KAAK,CAAM,GAAK,EAErB,KAAK,MAAM,CAAM,CAEhC,CAEA,WAAe,EAAqB,CAChC,GAAI,GAAgB,CAAC,EACjB,EAAQ,EAEZ,MAAI,KAAkB,GAAK,SAAS,CAAa,GAC7C,GAAQ,EAAS,CAAa,GAG3B,CACX,CAEA,YAAoB,EAAM,EAAU,CAChC,MAAO,UAAU,EAAO,CACpB,MAAI,IAAS,KACT,IAAM,KAAM,EAAM,CAAK,EACvB,EAAM,aAAa,KAAM,CAAQ,EAC1B,MAEA,GAAI,KAAM,CAAI,CAE7B,CACJ,CAEA,YAAa,EAAK,EAAM,CACpB,MAAO,GAAI,QAAQ,EACb,EAAI,GAAG,MAAS,GAAI,OAAS,MAAQ,IAAM,GAAM,EACjD,GACV,CAEA,YAAe,EAAK,EAAM,EAAO,CAC7B,AAAI,EAAI,QAAQ,GAAK,CAAC,MAAM,CAAK,GAC7B,CACI,IAAS,YACT,EAAW,EAAI,KAAK,CAAC,GACrB,EAAI,MAAM,IAAM,GAChB,EAAI,KAAK,IAAM,GAEf,GAAQ,EAAM,CAAK,EACnB,EAAI,GAAG,MAAS,GAAI,OAAS,MAAQ,IAAM,GACvC,EACA,EAAI,MAAM,EACV,GAAY,EAAO,EAAI,MAAM,CAAC,CAClC,GAEA,EAAI,GAAG,MAAS,GAAI,OAAS,MAAQ,IAAM,GAAM,CAAK,EAGlE,CAIA,YAAmB,EAAO,CAEtB,MADA,GAAQ,GAAe,CAAK,EACxB,GAAW,KAAK,EAAM,EACf,KAAK,GAAO,EAEhB,IACX,CAEA,YAAmB,EAAO,EAAO,CAC7B,GAAI,MAAO,IAAU,SAAU,CAC3B,EAAQ,GAAqB,CAAK,EAClC,GAAI,GAAc,EAAoB,CAAK,EACvC,EACA,EAAiB,EAAY,OACjC,IAAK,EAAI,EAAG,EAAI,EAAgB,IAC5B,KAAK,EAAY,GAAG,MAAM,EAAM,EAAY,GAAG,KAAK,CAE5D,SACI,EAAQ,GAAe,CAAK,EACxB,GAAW,KAAK,EAAM,EACtB,MAAO,MAAK,GAAO,CAAK,EAGhC,MAAO,KACX,CAEA,GAAI,IAAS,KACT,GAAS,OACT,GAAS,QACT,GAAS,QACT,GAAS,aACT,GAAY,QACZ,GAAY,YACZ,GAAY,gBACZ,GAAY,UACZ,GAAY,UACZ,GAAY,eACZ,GAAgB,MAChB,GAAc,WACd,GAAc,qBACd,GAAmB,0BACnB,GAAiB,uBAGjB,GACI,wJACJ,GAEJ,GAAU,CAAC,EAEX,YAAuB,EAAO,EAAO,EAAa,CAC9C,GAAQ,GAAS,GAAW,CAAK,EAC3B,EACA,SAAU,EAAU,EAAY,CAC5B,MAAO,IAAY,EAAc,EAAc,CACnD,CACV,CAEA,YAA+B,EAAO,EAAQ,CAC1C,MAAK,GAAW,GAAS,CAAK,EAIvB,GAAQ,GAAO,EAAO,QAAS,EAAO,OAAO,EAHzC,GAAI,QAAO,GAAe,CAAK,CAAC,CAI/C,CAGA,YAAwB,EAAG,CACvB,MAAO,IACH,EACK,QAAQ,KAAM,EAAE,EAChB,QACG,sCACA,SAAU,EAAS,EAAI,EAAI,EAAI,EAAI,CAC/B,MAAO,IAAM,GAAM,GAAM,CAC7B,CACJ,CACR,CACJ,CAEA,YAAqB,EAAG,CACpB,MAAO,GAAE,QAAQ,yBAA0B,MAAM,CACrD,CAEA,GAAI,IAAS,CAAC,EAEd,YAAuB,EAAO,EAAU,CACpC,GAAI,GACA,EAAO,EACP,EAUJ,IATI,MAAO,IAAU,UACjB,GAAQ,CAAC,CAAK,GAEd,EAAS,CAAQ,GACjB,GAAO,SAAU,EAAO,EAAO,CAC3B,EAAM,GAAY,EAAM,CAAK,CACjC,GAEJ,EAAW,EAAM,OACZ,EAAI,EAAG,EAAI,EAAU,IACtB,GAAO,EAAM,IAAM,CAE3B,CAEA,YAA2B,EAAO,EAAU,CACxC,GAAc,EAAO,SAAU,EAAO,EAAO,EAAQ,EAAO,CACxD,EAAO,GAAK,EAAO,IAAM,CAAC,EAC1B,EAAS,EAAO,EAAO,GAAI,EAAQ,CAAK,CAC5C,CAAC,CACL,CAEA,YAAiC,EAAO,EAAO,EAAQ,CACnD,AAAI,GAAS,MAAQ,EAAW,GAAQ,CAAK,GACzC,GAAO,GAAO,EAAO,EAAO,GAAI,EAAQ,CAAK,CAErD,CAEA,GAAI,IAAO,EACP,GAAQ,EACR,GAAO,EACP,GAAO,EACP,GAAS,EACT,GAAS,EACT,GAAc,EACd,GAAO,EACP,GAAU,EAEd,YAAa,EAAG,EAAG,CACf,MAAS,GAAI,EAAK,GAAK,CAC3B,CAEA,GAAI,IAEJ,AAAI,MAAM,UAAU,QAChB,GAAU,MAAM,UAAU,QAE1B,GAAU,SAAU,EAAG,CAEnB,GAAI,GACJ,IAAK,EAAI,EAAG,EAAI,KAAK,OAAQ,EAAE,EAC3B,GAAI,KAAK,KAAO,EACZ,MAAO,GAGf,MAAO,EACX,EAGJ,YAAqB,EAAM,EAAO,CAC9B,GAAI,MAAM,CAAI,GAAK,MAAM,CAAK,EAC1B,MAAO,KAEX,GAAI,GAAW,GAAI,EAAO,EAAE,EAC5B,UAAS,GAAQ,GAAY,GACtB,IAAa,EACd,EAAW,CAAI,EACX,GACA,GACJ,GAAO,EAAW,EAAK,CACjC,CAIA,EAAe,IAAK,CAAC,KAAM,CAAC,EAAG,KAAM,UAAY,CAC7C,MAAO,MAAK,MAAM,EAAI,CAC1B,CAAC,EAED,EAAe,MAAO,EAAG,EAAG,SAAU,EAAQ,CAC1C,MAAO,MAAK,WAAW,EAAE,YAAY,KAAM,CAAM,CACrD,CAAC,EAED,EAAe,OAAQ,EAAG,EAAG,SAAU,EAAQ,CAC3C,MAAO,MAAK,WAAW,EAAE,OAAO,KAAM,CAAM,CAChD,CAAC,EAID,GAAa,QAAS,GAAG,EAIzB,EAAgB,QAAS,CAAC,EAI1B,GAAc,IAAK,EAAS,EAC5B,GAAc,KAAM,GAAW,EAAM,EACrC,GAAc,MAAO,SAAU,EAAU,EAAQ,CAC7C,MAAO,GAAO,iBAAiB,CAAQ,CAC3C,CAAC,EACD,GAAc,OAAQ,SAAU,EAAU,EAAQ,CAC9C,MAAO,GAAO,YAAY,CAAQ,CACtC,CAAC,EAED,GAAc,CAAC,IAAK,IAAI,EAAG,SAAU,EAAO,EAAO,CAC/C,EAAM,IAAS,EAAM,CAAK,EAAI,CAClC,CAAC,EAED,GAAc,CAAC,MAAO,MAAM,EAAG,SAAU,EAAO,EAAO,EAAQ,EAAO,CAClE,GAAI,GAAQ,EAAO,QAAQ,YAAY,EAAO,EAAO,EAAO,OAAO,EAEnE,AAAI,GAAS,KACT,EAAM,IAAS,EAEf,EAAgB,CAAM,EAAE,aAAe,CAE/C,CAAC,EAID,GAAI,IACI,wFAAwF,MACpF,GACJ,EACJ,GACI,kDAAkD,MAAM,GAAG,EAC/D,GAAmB,gCACnB,GAA0B,GAC1B,GAAqB,GAEzB,YAAsB,EAAG,EAAQ,CAC7B,MAAK,GAKE,EAAQ,KAAK,OAAO,EACrB,KAAK,QAAQ,EAAE,MAAM,GACrB,KAAK,QACA,MAAK,QAAQ,UAAY,IAAkB,KAAK,CAAM,EACjD,SACA,cACR,EAAE,MAAM,GAVL,EAAQ,KAAK,OAAO,EACrB,KAAK,QACL,KAAK,QAAQ,UAS3B,CAEA,YAA2B,EAAG,EAAQ,CAClC,MAAK,GAKE,EAAQ,KAAK,YAAY,EAC1B,KAAK,aAAa,EAAE,MAAM,GAC1B,KAAK,aACD,GAAiB,KAAK,CAAM,EAAI,SAAW,cAC7C,EAAE,MAAM,GARL,EAAQ,KAAK,YAAY,EAC1B,KAAK,aACL,KAAK,aAAa,UAOhC,CAEA,YAA2B,EAAW,EAAQ,EAAQ,CAClD,GAAI,GACA,EACA,EACA,EAAM,EAAU,kBAAkB,EACtC,GAAI,CAAC,KAAK,aAKN,IAHA,KAAK,aAAe,CAAC,EACrB,KAAK,iBAAmB,CAAC,EACzB,KAAK,kBAAoB,CAAC,EACrB,EAAI,EAAG,EAAI,GAAI,EAAE,EAClB,EAAM,EAAU,CAAC,IAAM,CAAC,CAAC,EACzB,KAAK,kBAAkB,GAAK,KAAK,YAC7B,EACA,EACJ,EAAE,kBAAkB,EACpB,KAAK,iBAAiB,GAAK,KAAK,OAAO,EAAK,EAAE,EAAE,kBAAkB,EAI1E,MAAI,GACI,IAAW,MACX,GAAK,GAAQ,KAAK,KAAK,kBAAmB,CAAG,EACtC,IAAO,GAAK,EAAK,MAExB,GAAK,GAAQ,KAAK,KAAK,iBAAkB,CAAG,EACrC,IAAO,GAAK,EAAK,MAGxB,IAAW,MACX,GAAK,GAAQ,KAAK,KAAK,kBAAmB,CAAG,EACzC,IAAO,GACA,EAEX,GAAK,GAAQ,KAAK,KAAK,iBAAkB,CAAG,EACrC,IAAO,GAAK,EAAK,OAExB,GAAK,GAAQ,KAAK,KAAK,iBAAkB,CAAG,EACxC,IAAO,GACA,EAEX,GAAK,GAAQ,KAAK,KAAK,kBAAmB,CAAG,EACtC,IAAO,GAAK,EAAK,MAGpC,CAEA,YAA2B,EAAW,EAAQ,EAAQ,CAClD,GAAI,GAAG,EAAK,EAEZ,GAAI,KAAK,kBACL,MAAO,IAAkB,KAAK,KAAM,EAAW,EAAQ,CAAM,EAYjE,IATK,KAAK,cACN,MAAK,aAAe,CAAC,EACrB,KAAK,iBAAmB,CAAC,EACzB,KAAK,kBAAoB,CAAC,GAMzB,EAAI,EAAG,EAAI,GAAI,IAAK,CAmBrB,GAjBA,EAAM,EAAU,CAAC,IAAM,CAAC,CAAC,EACrB,GAAU,CAAC,KAAK,iBAAiB,IACjC,MAAK,iBAAiB,GAAK,GAAI,QAC3B,IAAM,KAAK,OAAO,EAAK,EAAE,EAAE,QAAQ,IAAK,EAAE,EAAI,IAC9C,GACJ,EACA,KAAK,kBAAkB,GAAK,GAAI,QAC5B,IAAM,KAAK,YAAY,EAAK,EAAE,EAAE,QAAQ,IAAK,EAAE,EAAI,IACnD,GACJ,GAEA,CAAC,GAAU,CAAC,KAAK,aAAa,IAC9B,GACI,IAAM,KAAK,OAAO,EAAK,EAAE,EAAI,KAAO,KAAK,YAAY,EAAK,EAAE,EAChE,KAAK,aAAa,GAAK,GAAI,QAAO,EAAM,QAAQ,IAAK,EAAE,EAAG,GAAG,GAI7D,GACA,IAAW,QACX,KAAK,iBAAiB,GAAG,KAAK,CAAS,EAEvC,MAAO,GACJ,GACH,GACA,IAAW,OACX,KAAK,kBAAkB,GAAG,KAAK,CAAS,EAExC,MAAO,GACJ,GAAI,CAAC,GAAU,KAAK,aAAa,GAAG,KAAK,CAAS,EACrD,MAAO,EAEf,CACJ,CAIA,YAAkB,EAAK,EAAO,CAC1B,GAAI,GAEJ,GAAI,CAAC,EAAI,QAAQ,EAEb,MAAO,GAGX,GAAI,MAAO,IAAU,UACjB,GAAI,QAAQ,KAAK,CAAK,EAClB,EAAQ,EAAM,CAAK,UAEnB,EAAQ,EAAI,WAAW,EAAE,YAAY,CAAK,EAEtC,CAAC,EAAS,CAAK,EACf,MAAO,GAKnB,SAAa,KAAK,IAAI,EAAI,KAAK,EAAG,GAAY,EAAI,KAAK,EAAG,CAAK,CAAC,EAChE,EAAI,GAAG,MAAS,GAAI,OAAS,MAAQ,IAAM,SAAS,EAAO,CAAU,EAC9D,CACX,CAEA,YAAqB,EAAO,CACxB,MAAI,IAAS,KACT,IAAS,KAAM,CAAK,EACpB,EAAM,aAAa,KAAM,EAAI,EACtB,MAEA,GAAI,KAAM,OAAO,CAEhC,CAEA,aAA0B,CACtB,MAAO,IAAY,KAAK,KAAK,EAAG,KAAK,MAAM,CAAC,CAChD,CAEA,YAA0B,EAAU,CAChC,MAAI,MAAK,kBACA,GAAW,KAAM,cAAc,GAChC,GAAmB,KAAK,IAAI,EAE5B,EACO,KAAK,wBAEL,KAAK,mBAGX,GAAW,KAAM,mBAAmB,GACrC,MAAK,kBAAoB,IAEtB,KAAK,yBAA2B,EACjC,KAAK,wBACL,KAAK,kBAEnB,CAEA,YAAqB,EAAU,CAC3B,MAAI,MAAK,kBACA,GAAW,KAAM,cAAc,GAChC,GAAmB,KAAK,IAAI,EAE5B,EACO,KAAK,mBAEL,KAAK,cAGX,GAAW,KAAM,cAAc,GAChC,MAAK,aAAe,IAEjB,KAAK,oBAAsB,EAC5B,KAAK,mBACL,KAAK,aAEnB,CAEA,aAA8B,CAC1B,WAAmB,EAAG,GAAG,CACrB,MAAO,IAAE,OAAS,EAAE,MACxB,CAEA,GAAI,GAAc,CAAC,EACf,EAAa,CAAC,EACd,EAAc,CAAC,EACf,EACA,EACJ,IAAK,EAAI,EAAG,EAAI,GAAI,IAEhB,EAAM,EAAU,CAAC,IAAM,CAAC,CAAC,EACzB,EAAY,KAAK,KAAK,YAAY,EAAK,EAAE,CAAC,EAC1C,EAAW,KAAK,KAAK,OAAO,EAAK,EAAE,CAAC,EACpC,EAAY,KAAK,KAAK,OAAO,EAAK,EAAE,CAAC,EACrC,EAAY,KAAK,KAAK,YAAY,EAAK,EAAE,CAAC,EAO9C,IAHA,EAAY,KAAK,CAAS,EAC1B,EAAW,KAAK,CAAS,EACzB,EAAY,KAAK,CAAS,EACrB,EAAI,EAAG,EAAI,GAAI,IAChB,EAAY,GAAK,GAAY,EAAY,EAAE,EAC3C,EAAW,GAAK,GAAY,EAAW,EAAE,EAE7C,IAAK,EAAI,EAAG,EAAI,GAAI,IAChB,EAAY,GAAK,GAAY,EAAY,EAAE,EAG/C,KAAK,aAAe,GAAI,QAAO,KAAO,EAAY,KAAK,GAAG,EAAI,IAAK,GAAG,EACtE,KAAK,kBAAoB,KAAK,aAC9B,KAAK,mBAAqB,GAAI,QAC1B,KAAO,EAAW,KAAK,GAAG,EAAI,IAC9B,GACJ,EACA,KAAK,wBAA0B,GAAI,QAC/B,KAAO,EAAY,KAAK,GAAG,EAAI,IAC/B,GACJ,CACJ,CAIA,EAAe,IAAK,EAAG,EAAG,UAAY,CAClC,GAAI,GAAI,KAAK,KAAK,EAClB,MAAO,IAAK,KAAO,GAAS,EAAG,CAAC,EAAI,IAAM,CAC9C,CAAC,EAED,EAAe,EAAG,CAAC,KAAM,CAAC,EAAG,EAAG,UAAY,CACxC,MAAO,MAAK,KAAK,EAAI,GACzB,CAAC,EAED,EAAe,EAAG,CAAC,OAAQ,CAAC,EAAG,EAAG,MAAM,EACxC,EAAe,EAAG,CAAC,QAAS,CAAC,EAAG,EAAG,MAAM,EACzC,EAAe,EAAG,CAAC,SAAU,EAAG,EAAI,EAAG,EAAG,MAAM,EAIhD,GAAa,OAAQ,GAAG,EAIxB,EAAgB,OAAQ,CAAC,EAIzB,GAAc,IAAK,EAAW,EAC9B,GAAc,KAAM,GAAW,EAAM,EACrC,GAAc,OAAQ,GAAW,EAAM,EACvC,GAAc,QAAS,GAAW,EAAM,EACxC,GAAc,SAAU,GAAW,EAAM,EAEzC,GAAc,CAAC,QAAS,QAAQ,EAAG,EAAI,EACvC,GAAc,OAAQ,SAAU,EAAO,EAAO,CAC1C,EAAM,IACF,EAAM,SAAW,EAAI,EAAM,kBAAkB,CAAK,EAAI,EAAM,CAAK,CACzE,CAAC,EACD,GAAc,KAAM,SAAU,EAAO,EAAO,CACxC,EAAM,IAAQ,EAAM,kBAAkB,CAAK,CAC/C,CAAC,EACD,GAAc,IAAK,SAAU,EAAO,EAAO,CACvC,EAAM,IAAQ,SAAS,EAAO,EAAE,CACpC,CAAC,EAID,YAAoB,EAAM,CACtB,MAAO,GAAW,CAAI,EAAI,IAAM,GACpC,CAIA,EAAM,kBAAoB,SAAU,EAAO,CACvC,MAAO,GAAM,CAAK,EAAK,GAAM,CAAK,EAAI,GAAK,KAAO,IACtD,EAIA,GAAI,IAAa,GAAW,WAAY,EAAI,EAE5C,aAAyB,CACrB,MAAO,GAAW,KAAK,KAAK,CAAC,CACjC,CAEA,YAAoB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAI,CAGtC,GAAI,IAEJ,MAAI,GAAI,KAAO,GAAK,EAEhB,IAAO,GAAI,MAAK,EAAI,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,CAAE,EACtC,SAAS,GAAK,YAAY,CAAC,GAC3B,GAAK,YAAY,CAAC,GAGtB,GAAO,GAAI,MAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAE,EAGjC,EACX,CAEA,YAAuB,EAAG,CACtB,GAAI,GAAM,EAEV,MAAI,GAAI,KAAO,GAAK,EAChB,GAAO,MAAM,UAAU,MAAM,KAAK,SAAS,EAE3C,EAAK,GAAK,EAAI,IACd,EAAO,GAAI,MAAK,KAAK,IAAI,MAAM,KAAM,CAAI,CAAC,EACtC,SAAS,EAAK,eAAe,CAAC,GAC9B,EAAK,eAAe,CAAC,GAGzB,EAAO,GAAI,MAAK,KAAK,IAAI,MAAM,KAAM,SAAS,CAAC,EAG5C,CACX,CAGA,YAAyB,EAAM,EAAK,EAAK,CACrC,GACI,GAAM,EAAI,EAAM,EAEhB,EAAS,GAAI,GAAc,EAAM,EAAG,CAAG,EAAE,UAAU,EAAI,GAAO,EAElE,MAAO,CAAC,EAAQ,EAAM,CAC1B,CAGA,YAA4B,EAAM,EAAM,EAAS,EAAK,EAAK,CACvD,GAAI,GAAgB,GAAI,EAAU,GAAO,EACrC,EAAa,GAAgB,EAAM,EAAK,CAAG,EAC3C,GAAY,EAAI,EAAK,GAAO,GAAK,EAAe,EAChD,GACA,GAEJ,MAAI,KAAa,EACb,IAAU,EAAO,EACjB,GAAe,GAAW,EAAO,EAAI,IAClC,AAAI,GAAY,GAAW,CAAI,EAClC,IAAU,EAAO,EACjB,GAAe,GAAY,GAAW,CAAI,GAE1C,IAAU,EACV,GAAe,IAGZ,CACH,KAAM,GACN,UAAW,EACf,CACJ,CAEA,YAAoB,EAAK,EAAK,EAAK,CAC/B,GAAI,GAAa,GAAgB,EAAI,KAAK,EAAG,EAAK,CAAG,EACjD,EAAO,KAAK,MAAO,GAAI,UAAU,EAAI,EAAa,GAAK,CAAC,EAAI,EAC5D,EACA,EAEJ,MAAI,GAAO,EACP,GAAU,EAAI,KAAK,EAAI,EACvB,EAAU,EAAO,GAAY,EAAS,EAAK,CAAG,GAC3C,AAAI,EAAO,GAAY,EAAI,KAAK,EAAG,EAAK,CAAG,EAC9C,GAAU,EAAO,GAAY,EAAI,KAAK,EAAG,EAAK,CAAG,EACjD,EAAU,EAAI,KAAK,EAAI,GAEvB,GAAU,EAAI,KAAK,EACnB,EAAU,GAGP,CACH,KAAM,EACN,KAAM,CACV,CACJ,CAEA,YAAqB,EAAM,EAAK,EAAK,CACjC,GAAI,GAAa,GAAgB,EAAM,EAAK,CAAG,EAC3C,EAAiB,GAAgB,EAAO,EAAG,EAAK,CAAG,EACvD,MAAQ,IAAW,CAAI,EAAI,EAAa,GAAkB,CAC9D,CAIA,EAAe,IAAK,CAAC,KAAM,CAAC,EAAG,KAAM,MAAM,EAC3C,EAAe,IAAK,CAAC,KAAM,CAAC,EAAG,KAAM,SAAS,EAI9C,GAAa,OAAQ,GAAG,EACxB,GAAa,UAAW,GAAG,EAI3B,EAAgB,OAAQ,CAAC,EACzB,EAAgB,UAAW,CAAC,EAI5B,GAAc,IAAK,EAAS,EAC5B,GAAc,KAAM,GAAW,EAAM,EACrC,GAAc,IAAK,EAAS,EAC5B,GAAc,KAAM,GAAW,EAAM,EAErC,GACI,CAAC,IAAK,KAAM,IAAK,IAAI,EACrB,SAAU,EAAO,EAAM,EAAQ,EAAO,CAClC,EAAK,EAAM,OAAO,EAAG,CAAC,GAAK,EAAM,CAAK,CAC1C,CACJ,EAMA,YAAoB,EAAK,CACrB,MAAO,IAAW,EAAK,KAAK,MAAM,IAAK,KAAK,MAAM,GAAG,EAAE,IAC3D,CAEA,GAAI,IAAoB,CACpB,IAAK,EACL,IAAK,CACT,EAEA,aAAgC,CAC5B,MAAO,MAAK,MAAM,GACtB,CAEA,aAAgC,CAC5B,MAAO,MAAK,MAAM,GACtB,CAIA,YAAoB,EAAO,CACvB,GAAI,GAAO,KAAK,WAAW,EAAE,KAAK,IAAI,EACtC,MAAO,IAAS,KAAO,EAAO,KAAK,IAAK,GAAQ,GAAQ,EAAG,GAAG,CAClE,CAEA,YAAuB,EAAO,CAC1B,GAAI,GAAO,GAAW,KAAM,EAAG,CAAC,EAAE,KAClC,MAAO,IAAS,KAAO,EAAO,KAAK,IAAK,GAAQ,GAAQ,EAAG,GAAG,CAClE,CAIA,EAAe,IAAK,EAAG,KAAM,KAAK,EAElC,EAAe,KAAM,EAAG,EAAG,SAAU,EAAQ,CACzC,MAAO,MAAK,WAAW,EAAE,YAAY,KAAM,CAAM,CACrD,CAAC,EAED,EAAe,MAAO,EAAG,EAAG,SAAU,EAAQ,CAC1C,MAAO,MAAK,WAAW,EAAE,cAAc,KAAM,CAAM,CACvD,CAAC,EAED,EAAe,OAAQ,EAAG,EAAG,SAAU,EAAQ,CAC3C,MAAO,MAAK,WAAW,EAAE,SAAS,KAAM,CAAM,CAClD,CAAC,EAED,EAAe,IAAK,EAAG,EAAG,SAAS,EACnC,EAAe,IAAK,EAAG,EAAG,YAAY,EAItC,GAAa,MAAO,GAAG,EACvB,GAAa,UAAW,GAAG,EAC3B,GAAa,aAAc,GAAG,EAG9B,EAAgB,MAAO,EAAE,EACzB,EAAgB,UAAW,EAAE,EAC7B,EAAgB,aAAc,EAAE,EAIhC,GAAc,IAAK,EAAS,EAC5B,GAAc,IAAK,EAAS,EAC5B,GAAc,IAAK,EAAS,EAC5B,GAAc,KAAM,SAAU,EAAU,EAAQ,CAC5C,MAAO,GAAO,iBAAiB,CAAQ,CAC3C,CAAC,EACD,GAAc,MAAO,SAAU,EAAU,EAAQ,CAC7C,MAAO,GAAO,mBAAmB,CAAQ,CAC7C,CAAC,EACD,GAAc,OAAQ,SAAU,EAAU,EAAQ,CAC9C,MAAO,GAAO,cAAc,CAAQ,CACxC,CAAC,EAED,GAAkB,CAAC,KAAM,MAAO,MAAM,EAAG,SAAU,EAAO,EAAM,EAAQ,EAAO,CAC3E,GAAI,GAAU,EAAO,QAAQ,cAAc,EAAO,EAAO,EAAO,OAAO,EAEvE,AAAI,GAAW,KACX,EAAK,EAAI,EAET,EAAgB,CAAM,EAAE,eAAiB,CAEjD,CAAC,EAED,GAAkB,CAAC,IAAK,IAAK,GAAG,EAAG,SAAU,EAAO,EAAM,EAAQ,EAAO,CACrE,EAAK,GAAS,EAAM,CAAK,CAC7B,CAAC,EAID,YAAsB,EAAO,EAAQ,CACjC,MAAI,OAAO,IAAU,SACV,EAGN,MAAM,CAAK,EAIhB,GAAQ,EAAO,cAAc,CAAK,EAC9B,MAAO,IAAU,SACV,EAGJ,MARI,SAAS,EAAO,EAAE,CASjC,CAEA,YAAyB,EAAO,EAAQ,CACpC,MAAI,OAAO,IAAU,SACV,EAAO,cAAc,CAAK,EAAI,GAAK,EAEvC,MAAM,CAAK,EAAI,KAAO,CACjC,CAGA,YAAuB,EAAI,EAAG,CAC1B,MAAO,GAAG,MAAM,EAAG,CAAC,EAAE,OAAO,EAAG,MAAM,EAAG,CAAC,CAAC,CAC/C,CAEA,GAAI,IACI,2DAA2D,MAAM,GAAG,EACxE,GAA6B,8BAA8B,MAAM,GAAG,EACpE,GAA2B,uBAAuB,MAAM,GAAG,EAC3D,GAAuB,GACvB,GAA4B,GAC5B,GAA0B,GAE9B,YAAwB,EAAG,EAAQ,CAC/B,GAAI,GAAW,EAAQ,KAAK,SAAS,EAC/B,KAAK,UACL,KAAK,UACD,GAAK,IAAM,IAAQ,KAAK,UAAU,SAAS,KAAK,CAAM,EAChD,SACA,cAEhB,MAAO,KAAM,GACP,GAAc,EAAU,KAAK,MAAM,GAAG,EACtC,EACA,EAAS,EAAE,IAAI,GACf,CACV,CAEA,YAA6B,EAAG,CAC5B,MAAO,KAAM,GACP,GAAc,KAAK,eAAgB,KAAK,MAAM,GAAG,EACjD,EACA,KAAK,eAAe,EAAE,IAAI,GAC1B,KAAK,cACf,CAEA,YAA2B,EAAG,CAC1B,MAAO,KAAM,GACP,GAAc,KAAK,aAAc,KAAK,MAAM,GAAG,EAC/C,EACA,KAAK,aAAa,EAAE,IAAI,GACxB,KAAK,YACf,CAEA,YAA6B,EAAa,EAAQ,EAAQ,CACtD,GAAI,GACA,EACA,EACA,EAAM,EAAY,kBAAkB,EACxC,GAAI,CAAC,KAAK,eAKN,IAJA,KAAK,eAAiB,CAAC,EACvB,KAAK,oBAAsB,CAAC,EAC5B,KAAK,kBAAoB,CAAC,EAErB,EAAI,EAAG,EAAI,EAAG,EAAE,EACjB,EAAM,EAAU,CAAC,IAAM,CAAC,CAAC,EAAE,IAAI,CAAC,EAChC,KAAK,kBAAkB,GAAK,KAAK,YAC7B,EACA,EACJ,EAAE,kBAAkB,EACpB,KAAK,oBAAoB,GAAK,KAAK,cAC/B,EACA,EACJ,EAAE,kBAAkB,EACpB,KAAK,eAAe,GAAK,KAAK,SAAS,EAAK,EAAE,EAAE,kBAAkB,EAI1E,MAAI,GACI,IAAW,OACX,GAAK,GAAQ,KAAK,KAAK,eAAgB,CAAG,EACnC,IAAO,GAAK,EAAK,MACjB,IAAW,MAClB,GAAK,GAAQ,KAAK,KAAK,oBAAqB,CAAG,EACxC,IAAO,GAAK,EAAK,MAExB,GAAK,GAAQ,KAAK,KAAK,kBAAmB,CAAG,EACtC,IAAO,GAAK,EAAK,MAGxB,IAAW,OACX,GAAK,GAAQ,KAAK,KAAK,eAAgB,CAAG,EACtC,IAAO,IAGX,GAAK,GAAQ,KAAK,KAAK,oBAAqB,CAAG,EAC3C,IAAO,IACA,EAEX,GAAK,GAAQ,KAAK,KAAK,kBAAmB,CAAG,EACtC,IAAO,GAAK,EAAK,OACjB,IAAW,MAClB,GAAK,GAAQ,KAAK,KAAK,oBAAqB,CAAG,EAC3C,IAAO,IAGX,GAAK,GAAQ,KAAK,KAAK,eAAgB,CAAG,EACtC,IAAO,IACA,EAEX,GAAK,GAAQ,KAAK,KAAK,kBAAmB,CAAG,EACtC,IAAO,GAAK,EAAK,OAExB,GAAK,GAAQ,KAAK,KAAK,kBAAmB,CAAG,EACzC,IAAO,IAGX,GAAK,GAAQ,KAAK,KAAK,eAAgB,CAAG,EACtC,IAAO,IACA,EAEX,GAAK,GAAQ,KAAK,KAAK,oBAAqB,CAAG,EACxC,IAAO,GAAK,EAAK,MAGpC,CAEA,YAA6B,EAAa,EAAQ,EAAQ,CACtD,GAAI,GAAG,EAAK,EAEZ,GAAI,KAAK,oBACL,MAAO,IAAoB,KAAK,KAAM,EAAa,EAAQ,CAAM,EAUrE,IAPK,KAAK,gBACN,MAAK,eAAiB,CAAC,EACvB,KAAK,kBAAoB,CAAC,EAC1B,KAAK,oBAAsB,CAAC,EAC5B,KAAK,mBAAqB,CAAC,GAG1B,EAAI,EAAG,EAAI,EAAG,IAAK,CA6BpB,GA1BA,EAAM,EAAU,CAAC,IAAM,CAAC,CAAC,EAAE,IAAI,CAAC,EAC5B,GAAU,CAAC,KAAK,mBAAmB,IACnC,MAAK,mBAAmB,GAAK,GAAI,QAC7B,IAAM,KAAK,SAAS,EAAK,EAAE,EAAE,QAAQ,IAAK,MAAM,EAAI,IACpD,GACJ,EACA,KAAK,oBAAoB,GAAK,GAAI,QAC9B,IAAM,KAAK,cAAc,EAAK,EAAE,EAAE,QAAQ,IAAK,MAAM,EAAI,IACzD,GACJ,EACA,KAAK,kBAAkB,GAAK,GAAI,QAC5B,IAAM,KAAK,YAAY,EAAK,EAAE,EAAE,QAAQ,IAAK,MAAM,EAAI,IACvD,GACJ,GAEC,KAAK,eAAe,IACrB,GACI,IACA,KAAK,SAAS,EAAK,EAAE,EACrB,KACA,KAAK,cAAc,EAAK,EAAE,EAC1B,KACA,KAAK,YAAY,EAAK,EAAE,EAC5B,KAAK,eAAe,GAAK,GAAI,QAAO,EAAM,QAAQ,IAAK,EAAE,EAAG,GAAG,GAI/D,GACA,IAAW,QACX,KAAK,mBAAmB,GAAG,KAAK,CAAW,EAE3C,MAAO,GACJ,GACH,GACA,IAAW,OACX,KAAK,oBAAoB,GAAG,KAAK,CAAW,EAE5C,MAAO,GACJ,GACH,GACA,IAAW,MACX,KAAK,kBAAkB,GAAG,KAAK,CAAW,EAE1C,MAAO,GACJ,GAAI,CAAC,GAAU,KAAK,eAAe,GAAG,KAAK,CAAW,EACzD,MAAO,EAEf,CACJ,CAIA,YAAyB,EAAO,CAC5B,GAAI,CAAC,KAAK,QAAQ,EACd,MAAO,IAAS,KAAO,KAAO,IAElC,GAAI,GAAM,KAAK,OAAS,KAAK,GAAG,UAAU,EAAI,KAAK,GAAG,OAAO,EAC7D,MAAI,IAAS,KACT,GAAQ,GAAa,EAAO,KAAK,WAAW,CAAC,EACtC,KAAK,IAAI,EAAQ,EAAK,GAAG,GAEzB,CAEf,CAEA,YAA+B,EAAO,CAClC,GAAI,CAAC,KAAK,QAAQ,EACd,MAAO,IAAS,KAAO,KAAO,IAElC,GAAI,GAAW,MAAK,IAAI,EAAI,EAAI,KAAK,WAAW,EAAE,MAAM,KAAO,EAC/D,MAAO,IAAS,KAAO,EAAU,KAAK,IAAI,EAAQ,EAAS,GAAG,CAClE,CAEA,YAA4B,EAAO,CAC/B,GAAI,CAAC,KAAK,QAAQ,EACd,MAAO,IAAS,KAAO,KAAO,IAOlC,GAAI,GAAS,KAAM,CACf,GAAI,GAAU,GAAgB,EAAO,KAAK,WAAW,CAAC,EACtD,MAAO,MAAK,IAAI,KAAK,IAAI,EAAI,EAAI,EAAU,EAAU,CAAC,CAC1D,KACI,OAAO,MAAK,IAAI,GAAK,CAE7B,CAEA,YAAuB,EAAU,CAC7B,MAAI,MAAK,oBACA,GAAW,KAAM,gBAAgB,GAClC,GAAqB,KAAK,IAAI,EAE9B,EACO,KAAK,qBAEL,KAAK,gBAGX,GAAW,KAAM,gBAAgB,GAClC,MAAK,eAAiB,IAEnB,KAAK,sBAAwB,EAC9B,KAAK,qBACL,KAAK,eAEnB,CAEA,WAA4B,EAAU,CAClC,MAAI,MAAK,oBACA,GAAW,KAAM,gBAAgB,GAClC,GAAqB,KAAK,IAAI,EAE9B,EACO,KAAK,0BAEL,KAAK,qBAGX,GAAW,KAAM,qBAAqB,GACvC,MAAK,oBAAsB,IAExB,KAAK,2BAA6B,EACnC,KAAK,0BACL,KAAK,oBAEnB,CAEA,WAA0B,EAAU,CAChC,MAAI,MAAK,oBACA,GAAW,KAAM,gBAAgB,GAClC,GAAqB,KAAK,IAAI,EAE9B,EACO,KAAK,wBAEL,KAAK,mBAGX,GAAW,KAAM,mBAAmB,GACrC,MAAK,kBAAoB,IAEtB,KAAK,yBAA2B,EACjC,KAAK,wBACL,KAAK,kBAEnB,CAEA,aAAgC,CAC5B,WAAmB,GAAG,GAAG,CACrB,MAAO,IAAE,OAAS,GAAE,MACxB,CAEA,GAAI,GAAY,CAAC,EACb,EAAc,CAAC,EACf,EAAa,CAAC,EACd,EAAc,CAAC,EACf,EACA,EACA,GACA,GACA,GACJ,IAAK,EAAI,EAAG,EAAI,EAAG,IAEf,EAAM,EAAU,CAAC,IAAM,CAAC,CAAC,EAAE,IAAI,CAAC,EAChC,GAAO,GAAY,KAAK,YAAY,EAAK,EAAE,CAAC,EAC5C,GAAS,GAAY,KAAK,cAAc,EAAK,EAAE,CAAC,EAChD,GAAQ,GAAY,KAAK,SAAS,EAAK,EAAE,CAAC,EAC1C,EAAU,KAAK,EAAI,EACnB,EAAY,KAAK,EAAM,EACvB,EAAW,KAAK,EAAK,EACrB,EAAY,KAAK,EAAI,EACrB,EAAY,KAAK,EAAM,EACvB,EAAY,KAAK,EAAK,EAI1B,EAAU,KAAK,CAAS,EACxB,EAAY,KAAK,CAAS,EAC1B,EAAW,KAAK,CAAS,EACzB,EAAY,KAAK,CAAS,EAE1B,KAAK,eAAiB,GAAI,QAAO,KAAO,EAAY,KAAK,GAAG,EAAI,IAAK,GAAG,EACxE,KAAK,oBAAsB,KAAK,eAChC,KAAK,kBAAoB,KAAK,eAE9B,KAAK,qBAAuB,GAAI,QAC5B,KAAO,EAAW,KAAK,GAAG,EAAI,IAC9B,GACJ,EACA,KAAK,0BAA4B,GAAI,QACjC,KAAO,EAAY,KAAK,GAAG,EAAI,IAC/B,GACJ,EACA,KAAK,wBAA0B,GAAI,QAC/B,KAAO,EAAU,KAAK,GAAG,EAAI,IAC7B,GACJ,CACJ,CAIA,aAAmB,CACf,MAAO,MAAK,MAAM,EAAI,IAAM,EAChC,CAEA,aAAmB,CACf,MAAO,MAAK,MAAM,GAAK,EAC3B,CAEA,EAAe,IAAK,CAAC,KAAM,CAAC,EAAG,EAAG,MAAM,EACxC,EAAe,IAAK,CAAC,KAAM,CAAC,EAAG,EAAG,EAAO,EACzC,EAAe,IAAK,CAAC,KAAM,CAAC,EAAG,EAAG,EAAO,EAEzC,EAAe,MAAO,EAAG,EAAG,UAAY,CACpC,MAAO,GAAK,GAAQ,MAAM,IAAI,EAAI,GAAS,KAAK,QAAQ,EAAG,CAAC,CAChE,CAAC,EAED,EAAe,QAAS,EAAG,EAAG,UAAY,CACtC,MACI,GACA,GAAQ,MAAM,IAAI,EAClB,GAAS,KAAK,QAAQ,EAAG,CAAC,EAC1B,GAAS,KAAK,QAAQ,EAAG,CAAC,CAElC,CAAC,EAED,EAAe,MAAO,EAAG,EAAG,UAAY,CACpC,MAAO,GAAK,KAAK,MAAM,EAAI,GAAS,KAAK,QAAQ,EAAG,CAAC,CACzD,CAAC,EAED,EAAe,QAAS,EAAG,EAAG,UAAY,CACtC,MACI,GACA,KAAK,MAAM,EACX,GAAS,KAAK,QAAQ,EAAG,CAAC,EAC1B,GAAS,KAAK,QAAQ,EAAG,CAAC,CAElC,CAAC,EAED,YAAkB,EAAO,EAAW,CAChC,EAAe,EAAO,EAAG,EAAG,UAAY,CACpC,MAAO,MAAK,WAAW,EAAE,SACrB,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,CACJ,CACJ,CAAC,CACL,CAEA,GAAS,IAAK,EAAI,EAClB,GAAS,IAAK,EAAK,EAInB,GAAa,OAAQ,GAAG,EAGxB,EAAgB,OAAQ,EAAE,EAI1B,YAAuB,EAAU,EAAQ,CACrC,MAAO,GAAO,cAClB,CAEA,GAAc,IAAK,EAAa,EAChC,GAAc,IAAK,EAAa,EAChC,GAAc,IAAK,EAAS,EAC5B,GAAc,IAAK,EAAS,EAC5B,GAAc,IAAK,EAAS,EAC5B,GAAc,KAAM,GAAW,EAAM,EACrC,GAAc,KAAM,GAAW,EAAM,EACrC,GAAc,KAAM,GAAW,EAAM,EAErC,GAAc,MAAO,EAAS,EAC9B,GAAc,QAAS,EAAS,EAChC,GAAc,MAAO,EAAS,EAC9B,GAAc,QAAS,EAAS,EAEhC,GAAc,CAAC,IAAK,IAAI,EAAG,EAAI,EAC/B,GAAc,CAAC,IAAK,IAAI,EAAG,SAAU,EAAO,EAAO,EAAQ,CACvD,GAAI,GAAS,EAAM,CAAK,EACxB,EAAM,IAAQ,IAAW,GAAK,EAAI,CACtC,CAAC,EACD,GAAc,CAAC,IAAK,GAAG,EAAG,SAAU,EAAO,EAAO,EAAQ,CACtD,EAAO,MAAQ,EAAO,QAAQ,KAAK,CAAK,EACxC,EAAO,UAAY,CACvB,CAAC,EACD,GAAc,CAAC,IAAK,IAAI,EAAG,SAAU,EAAO,EAAO,EAAQ,CACvD,EAAM,IAAQ,EAAM,CAAK,EACzB,EAAgB,CAAM,EAAE,QAAU,EACtC,CAAC,EACD,GAAc,MAAO,SAAU,EAAO,EAAO,EAAQ,CACjD,GAAI,GAAM,EAAM,OAAS,EACzB,EAAM,IAAQ,EAAM,EAAM,OAAO,EAAG,CAAG,CAAC,EACxC,EAAM,IAAU,EAAM,EAAM,OAAO,CAAG,CAAC,EACvC,EAAgB,CAAM,EAAE,QAAU,EACtC,CAAC,EACD,GAAc,QAAS,SAAU,EAAO,EAAO,EAAQ,CACnD,GAAI,GAAO,EAAM,OAAS,EACtB,EAAO,EAAM,OAAS,EAC1B,EAAM,IAAQ,EAAM,EAAM,OAAO,EAAG,CAAI,CAAC,EACzC,EAAM,IAAU,EAAM,EAAM,OAAO,EAAM,CAAC,CAAC,EAC3C,EAAM,IAAU,EAAM,EAAM,OAAO,CAAI,CAAC,EACxC,EAAgB,CAAM,EAAE,QAAU,EACtC,CAAC,EACD,GAAc,MAAO,SAAU,EAAO,EAAO,EAAQ,CACjD,GAAI,GAAM,EAAM,OAAS,EACzB,EAAM,IAAQ,EAAM,EAAM,OAAO,EAAG,CAAG,CAAC,EACxC,EAAM,IAAU,EAAM,EAAM,OAAO,CAAG,CAAC,CAC3C,CAAC,EACD,GAAc,QAAS,SAAU,EAAO,EAAO,EAAQ,CACnD,GAAI,GAAO,EAAM,OAAS,EACtB,EAAO,EAAM,OAAS,EAC1B,EAAM,IAAQ,EAAM,EAAM,OAAO,EAAG,CAAI,CAAC,EACzC,EAAM,IAAU,EAAM,EAAM,OAAO,EAAM,CAAC,CAAC,EAC3C,EAAM,IAAU,EAAM,EAAM,OAAO,CAAI,CAAC,CAC5C,CAAC,EAID,YAAoB,EAAO,CAGvB,MAAQ,GAAQ,IAAI,YAAY,EAAE,OAAO,CAAC,IAAM,GACpD,CAEA,GAAI,IAA6B,gBAK7B,GAAa,GAAW,QAAS,EAAI,EAEzC,YAAwB,EAAO,EAAS,EAAS,CAC7C,MAAI,GAAQ,GACD,EAAU,KAAO,KAEjB,EAAU,KAAO,IAEhC,CAEA,GAAI,IAAa,CACb,SAAU,GACV,eAAgB,EAChB,YAAa,GACb,QAAS,GACT,uBAAwB,GACxB,aAAc,GAEd,OAAQ,GACR,YAAa,GAEb,KAAM,GAEN,SAAU,GACV,YAAa,GACb,cAAe,GAEf,cAAe,EACnB,EAGI,GAAU,CAAC,EACX,GAAiB,CAAC,EAClB,GAEJ,YAAsB,EAAM,EAAM,CAC9B,GAAI,GACA,EAAO,KAAK,IAAI,EAAK,OAAQ,EAAK,MAAM,EAC5C,IAAK,EAAI,EAAG,EAAI,EAAM,GAAK,EACvB,GAAI,EAAK,KAAO,EAAK,GACjB,MAAO,GAGf,MAAO,EACX,CAEA,YAAyB,EAAK,CAC1B,MAAO,IAAM,EAAI,YAAY,EAAE,QAAQ,IAAK,GAAG,CACnD,CAKA,YAAsB,EAAO,CAOzB,OANI,GAAI,EACJ,EACA,EACA,EACA,EAEG,EAAI,EAAM,QAAQ,CAKrB,IAJA,EAAQ,GAAgB,EAAM,EAAE,EAAE,MAAM,GAAG,EAC3C,EAAI,EAAM,OACV,EAAO,GAAgB,EAAM,EAAI,EAAE,EACnC,EAAO,EAAO,EAAK,MAAM,GAAG,EAAI,KACzB,EAAI,GAAG,CAEV,GADA,EAAS,GAAW,EAAM,MAAM,EAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAC3C,EACA,MAAO,GAEX,GACI,GACA,EAAK,QAAU,GACf,GAAa,EAAO,CAAI,GAAK,EAAI,EAGjC,MAEJ,GACJ,CACA,GACJ,CACA,MAAO,GACX,CAEA,YAA0B,EAAM,CAE5B,MAAO,GAAK,MAAM,aAAa,GAAK,IACxC,CAEA,YAAoB,EAAM,CACtB,GAAI,GAAY,KACZ,EAEJ,GACI,GAAQ,KAAU,QAClB,MAAO,IAAW,KAClB,IACA,GAAO,SACP,GAAiB,CAAI,EAErB,GAAI,CACA,EAAY,GAAa,MACzB,EAAiB,GACjB,EAAe,YAAc,CAAI,EACjC,GAAmB,CAAS,CAChC,OAAS,EAAP,CAGE,GAAQ,GAAQ,IACpB,CAEJ,MAAO,IAAQ,EACnB,CAKA,YAA4B,EAAK,EAAQ,CACrC,GAAI,GACJ,MAAI,IACA,CAAI,EAAY,CAAM,EAClB,EAAO,GAAU,CAAG,EAEpB,EAAO,GAAa,EAAK,CAAM,EAGnC,AAAI,EAEA,GAAe,EAEX,MAAO,SAAY,KAAe,QAAQ,MAE1C,QAAQ,KACJ,UAAY,EAAM,wCACtB,GAKL,GAAa,KACxB,CAEA,YAAsB,EAAM,EAAQ,CAChC,GAAI,IAAW,KAAM,CACjB,GAAI,GACA,EAAe,GAEnB,GADA,EAAO,KAAO,EACV,GAAQ,IAAS,KACjB,GACI,uBACA,yOAIJ,EACA,EAAe,GAAQ,GAAM,gBACtB,EAAO,cAAgB,KAC9B,GAAI,GAAQ,EAAO,eAAiB,KAChC,EAAe,GAAQ,EAAO,cAAc,gBAE5C,EAAS,GAAW,EAAO,YAAY,EACnC,GAAU,KACV,EAAe,EAAO,YAEtB,OAAK,IAAe,EAAO,eACvB,IAAe,EAAO,cAAgB,CAAC,GAE3C,GAAe,EAAO,cAAc,KAAK,CACrC,KAAM,EACN,OAAQ,CACZ,CAAC,EACM,KAInB,UAAQ,GAAQ,GAAI,IAAO,GAAa,EAAc,CAAM,CAAC,EAEzD,GAAe,IACf,GAAe,GAAM,QAAQ,SAAU,EAAG,CACtC,GAAa,EAAE,KAAM,EAAE,MAAM,CACjC,CAAC,EAML,GAAmB,CAAI,EAEhB,GAAQ,EACnB,KAEI,cAAO,IAAQ,GACR,IAEf,CAEA,YAAsB,EAAM,EAAQ,CAChC,GAAI,GAAU,KAAM,CAChB,GAAI,GACA,EACA,EAAe,GAEnB,AAAI,GAAQ,IAAS,MAAQ,GAAQ,GAAM,cAAgB,KAEvD,GAAQ,GAAM,IAAI,GAAa,GAAQ,GAAM,QAAS,CAAM,CAAC,EAG7D,GAAY,GAAW,CAAI,EACvB,GAAa,MACb,GAAe,EAAU,SAE7B,EAAS,GAAa,EAAc,CAAM,EACtC,GAAa,MAIb,GAAO,KAAO,GAElB,EAAS,GAAI,IAAO,CAAM,EAC1B,EAAO,aAAe,GAAQ,GAC9B,GAAQ,GAAQ,GAIpB,GAAmB,CAAI,CAC3B,KAEI,AAAI,IAAQ,IAAS,MACjB,CAAI,GAAQ,GAAM,cAAgB,KAC9B,IAAQ,GAAQ,GAAQ,GAAM,aAC1B,IAAS,GAAmB,GAC5B,GAAmB,CAAI,GAEpB,GAAQ,IAAS,MACxB,MAAO,IAAQ,IAI3B,MAAO,IAAQ,EACnB,CAGA,YAAmB,EAAK,CACpB,GAAI,GAMJ,GAJI,GAAO,EAAI,SAAW,EAAI,QAAQ,OAClC,GAAM,EAAI,QAAQ,OAGlB,CAAC,EACD,MAAO,IAGX,GAAI,CAAC,EAAQ,CAAG,EAAG,CAGf,GADA,EAAS,GAAW,CAAG,EACnB,EACA,MAAO,GAEX,EAAM,CAAC,CAAG,CACd,CAEA,MAAO,IAAa,CAAG,CAC3B,CAEA,aAAuB,CACnB,MAAO,IAAK,EAAO,CACvB,CAEA,YAAuB,EAAG,CACtB,GAAI,GACA,EAAI,EAAE,GAEV,MAAI,IAAK,EAAgB,CAAC,EAAE,WAAa,IACrC,GACI,EAAE,IAAS,GAAK,EAAE,IAAS,GACrB,GACA,EAAE,IAAQ,GAAK,EAAE,IAAQ,GAAY,EAAE,IAAO,EAAE,GAAM,EACtD,GACA,EAAE,IAAQ,GACV,EAAE,IAAQ,IACT,EAAE,MAAU,IACR,GAAE,MAAY,GACX,EAAE,MAAY,GACd,EAAE,MAAiB,GAC3B,GACA,EAAE,IAAU,GAAK,EAAE,IAAU,GAC7B,GACA,EAAE,IAAU,GAAK,EAAE,IAAU,GAC7B,GACA,EAAE,IAAe,GAAK,EAAE,IAAe,IACvC,GACA,GAGN,EAAgB,CAAC,EAAE,oBAClB,GAAW,IAAQ,EAAW,KAE/B,GAAW,IAEX,EAAgB,CAAC,EAAE,gBAAkB,IAAa,IAClD,GAAW,IAEX,EAAgB,CAAC,EAAE,kBAAoB,IAAa,IACpD,GAAW,IAGf,EAAgB,CAAC,EAAE,SAAW,GAG3B,CACX,CAIA,GAAI,IACI,iJACJ,GACI,6IACJ,GAAU,wBACV,GAAW,CACP,CAAC,eAAgB,qBAAqB,EACtC,CAAC,aAAc,iBAAiB,EAChC,CAAC,eAAgB,gBAAgB,EACjC,CAAC,aAAc,cAAe,EAAK,EACnC,CAAC,WAAY,aAAa,EAC1B,CAAC,UAAW,aAAc,EAAK,EAC/B,CAAC,aAAc,YAAY,EAC3B,CAAC,WAAY,OAAO,EACpB,CAAC,aAAc,aAAa,EAC5B,CAAC,YAAa,cAAe,EAAK,EAClC,CAAC,UAAW,OAAO,EACnB,CAAC,SAAU,QAAS,EAAK,EACzB,CAAC,OAAQ,QAAS,EAAK,CAC3B,EAEA,GAAW,CACP,CAAC,gBAAiB,qBAAqB,EACvC,CAAC,gBAAiB,oBAAoB,EACtC,CAAC,WAAY,gBAAgB,EAC7B,CAAC,QAAS,WAAW,EACrB,CAAC,cAAe,mBAAmB,EACnC,CAAC,cAAe,kBAAkB,EAClC,CAAC,SAAU,cAAc,EACzB,CAAC,OAAQ,UAAU,EACnB,CAAC,KAAM,MAAM,CACjB,EACA,GAAkB,qBAElB,GACI,0LACJ,GAAa,CACT,GAAI,EACJ,IAAK,EACL,IAAK,GAAK,GACV,IAAK,GAAK,GACV,IAAK,GAAK,GACV,IAAK,GAAK,GACV,IAAK,GAAK,GACV,IAAK,GAAK,GACV,IAAK,GAAK,GACV,IAAK,GAAK,EACd,EAGJ,YAAuB,EAAQ,CAC3B,GAAI,GACA,EACA,EAAS,EAAO,GAChB,EAAQ,GAAiB,KAAK,CAAM,GAAK,GAAc,KAAK,CAAM,EAClE,EACA,EACA,GACA,GACA,GAAc,GAAS,OACvB,GAAc,GAAS,OAE3B,GAAI,EAAO,CAEP,IADA,EAAgB,CAAM,EAAE,IAAM,GACzB,EAAI,EAAG,EAAI,GAAa,EAAI,EAAG,IAChC,GAAI,GAAS,GAAG,GAAG,KAAK,EAAM,EAAE,EAAG,CAC/B,EAAa,GAAS,GAAG,GACzB,EAAY,GAAS,GAAG,KAAO,GAC/B,KACJ,CAEJ,GAAI,GAAc,KAAM,CACpB,EAAO,SAAW,GAClB,MACJ,CACA,GAAI,EAAM,GAAI,CACV,IAAK,EAAI,EAAG,EAAI,GAAa,EAAI,EAAG,IAChC,GAAI,GAAS,GAAG,GAAG,KAAK,EAAM,EAAE,EAAG,CAE/B,GAAc,GAAM,IAAM,KAAO,GAAS,GAAG,GAC7C,KACJ,CAEJ,GAAI,IAAc,KAAM,CACpB,EAAO,SAAW,GAClB,MACJ,CACJ,CACA,GAAI,CAAC,GAAa,IAAc,KAAM,CAClC,EAAO,SAAW,GAClB,MACJ,CACA,GAAI,EAAM,GACN,GAAI,GAAQ,KAAK,EAAM,EAAE,EACrB,GAAW,QACR,CACH,EAAO,SAAW,GAClB,MACJ,CAEJ,EAAO,GAAK,EAAc,KAAc,IAAO,KAAY,IAC3D,GAA0B,CAAM,CACpC,KACI,GAAO,SAAW,EAE1B,CAEA,YACI,EACA,EACA,EACA,EACA,EACA,EACF,CACE,GAAI,GAAS,CACT,GAAe,CAAO,EACtB,GAAyB,QAAQ,CAAQ,EACzC,SAAS,EAAQ,EAAE,EACnB,SAAS,EAAS,EAAE,EACpB,SAAS,EAAW,EAAE,CAC1B,EAEA,MAAI,IACA,EAAO,KAAK,SAAS,EAAW,EAAE,CAAC,EAGhC,CACX,CAEA,YAAwB,EAAS,CAC7B,GAAI,GAAO,SAAS,EAAS,EAAE,EAC/B,MAAI,IAAQ,GACD,IAAO,EACP,GAAQ,IACR,KAAO,EAEX,CACX,CAEA,YAA2B,EAAG,CAE1B,MAAO,GACF,QAAQ,oBAAqB,GAAG,EAChC,QAAQ,WAAY,GAAG,EACvB,QAAQ,SAAU,EAAE,EACpB,QAAQ,SAAU,EAAE,CAC7B,CAEA,YAAsB,EAAY,EAAa,EAAQ,CACnD,GAAI,EAAY,CAEZ,GAAI,GAAkB,GAA2B,QAAQ,CAAU,EAC/D,EAAgB,GAAI,MAChB,EAAY,GACZ,EAAY,GACZ,EAAY,EAChB,EAAE,OAAO,EACb,GAAI,IAAoB,EACpB,SAAgB,CAAM,EAAE,gBAAkB,GAC1C,EAAO,SAAW,GACX,EAEf,CACA,MAAO,EACX,CAEA,YAAyB,EAAW,EAAgB,EAAW,CAC3D,GAAI,EACA,MAAO,IAAW,GACf,GAAI,EAEP,MAAO,GAEP,GAAI,GAAK,SAAS,EAAW,EAAE,EAC3B,EAAI,EAAK,IACT,EAAK,GAAK,GAAK,IACnB,MAAO,GAAI,GAAK,CAExB,CAGA,YAA2B,EAAQ,CAC/B,GAAI,GAAQ,GAAQ,KAAK,GAAkB,EAAO,EAAE,CAAC,EACjD,EACJ,GAAI,EAAO,CASP,GARA,EAAc,GACV,EAAM,GACN,EAAM,GACN,EAAM,GACN,EAAM,GACN,EAAM,GACN,EAAM,EACV,EACI,CAAC,GAAa,EAAM,GAAI,EAAa,CAAM,EAC3C,OAGJ,EAAO,GAAK,EACZ,EAAO,KAAO,GAAgB,EAAM,GAAI,EAAM,GAAI,EAAM,GAAG,EAE3D,EAAO,GAAK,GAAc,MAAM,KAAM,EAAO,EAAE,EAC/C,EAAO,GAAG,cAAc,EAAO,GAAG,cAAc,EAAI,EAAO,IAAI,EAE/D,EAAgB,CAAM,EAAE,QAAU,EACtC,KACI,GAAO,SAAW,EAE1B,CAGA,YAA0B,EAAQ,CAC9B,GAAI,GAAU,GAAgB,KAAK,EAAO,EAAE,EAC5C,GAAI,IAAY,KAAM,CAClB,EAAO,GAAK,GAAI,MAAK,CAAC,EAAQ,EAAE,EAChC,MACJ,CAGA,GADA,GAAc,CAAM,EAChB,EAAO,WAAa,GACpB,MAAO,GAAO,aAEd,QAIJ,GADA,GAAkB,CAAM,EACpB,EAAO,WAAa,GACpB,MAAO,GAAO,aAEd,QAGJ,AAAI,EAAO,QACP,EAAO,SAAW,GAGlB,EAAM,wBAAwB,CAAM,CAE5C,CAEA,EAAM,wBAA0B,GAC5B,gSAGA,SAAU,EAAQ,CACd,EAAO,GAAK,GAAI,MAAK,EAAO,GAAM,GAAO,QAAU,OAAS,GAAG,CACnE,CACJ,EAGA,YAAkB,EAAG,EAAG,EAAG,CACvB,MAAI,IAAK,KACE,EAEP,GAAK,KACE,EAEJ,CACX,CAEA,YAA0B,EAAQ,CAE9B,GAAI,GAAW,GAAI,MAAK,EAAM,IAAI,CAAC,EACnC,MAAI,GAAO,QACA,CACH,EAAS,eAAe,EACxB,EAAS,YAAY,EACrB,EAAS,WAAW,CACxB,EAEG,CAAC,EAAS,YAAY,EAAG,EAAS,SAAS,EAAG,EAAS,QAAQ,CAAC,CAC3E,CAMA,YAAyB,EAAQ,CAC7B,GAAI,GACA,EACA,EAAQ,CAAC,EACT,EACA,EACA,EAEJ,GAAI,GAAO,GAgCX,KA5BA,EAAc,GAAiB,CAAM,EAGjC,EAAO,IAAM,EAAO,GAAG,KAAS,MAAQ,EAAO,GAAG,KAAU,MAC5D,GAAsB,CAAM,EAI5B,EAAO,YAAc,MACrB,GAAY,GAAS,EAAO,GAAG,IAAO,EAAY,GAAK,EAGnD,GAAO,WAAa,GAAW,CAAS,GACxC,EAAO,aAAe,IAEtB,GAAgB,CAAM,EAAE,mBAAqB,IAGjD,EAAO,GAAc,EAAW,EAAG,EAAO,UAAU,EACpD,EAAO,GAAG,IAAS,EAAK,YAAY,EACpC,EAAO,GAAG,IAAQ,EAAK,WAAW,GAQjC,EAAI,EAAG,EAAI,GAAK,EAAO,GAAG,IAAM,KAAM,EAAE,EACzC,EAAO,GAAG,GAAK,EAAM,GAAK,EAAY,GAI1C,KAAO,EAAI,EAAG,IACV,EAAO,GAAG,GAAK,EAAM,GACjB,EAAO,GAAG,IAAM,KAAQ,IAAM,EAAI,EAAI,EAAK,EAAO,GAAG,GAI7D,AACI,EAAO,GAAG,MAAU,IACpB,EAAO,GAAG,MAAY,GACtB,EAAO,GAAG,MAAY,GACtB,EAAO,GAAG,MAAiB,GAE3B,GAAO,SAAW,GAClB,EAAO,GAAG,IAAQ,GAGtB,EAAO,GAAM,GAAO,QAAU,GAAgB,IAAY,MACtD,KACA,CACJ,EACA,EAAkB,EAAO,QACnB,EAAO,GAAG,UAAU,EACpB,EAAO,GAAG,OAAO,EAInB,EAAO,MAAQ,MACf,EAAO,GAAG,cAAc,EAAO,GAAG,cAAc,EAAI,EAAO,IAAI,EAG/D,EAAO,UACP,GAAO,GAAG,IAAQ,IAKlB,EAAO,IACP,MAAO,GAAO,GAAG,EAAM,KACvB,EAAO,GAAG,IAAM,GAEhB,GAAgB,CAAM,EAAE,gBAAkB,IAElD,CAEA,YAA+B,EAAQ,CACnC,GAAI,GAAG,EAAU,EAAM,EAAS,EAAK,EAAK,GAAM,GAAiB,GAEjE,EAAI,EAAO,GACX,AAAI,EAAE,IAAM,MAAQ,EAAE,GAAK,MAAQ,EAAE,GAAK,KACtC,GAAM,EACN,EAAM,EAMN,EAAW,GACP,EAAE,GACF,EAAO,GAAG,IACV,GAAW,GAAY,EAAG,EAAG,CAAC,EAAE,IACpC,EACA,EAAO,GAAS,EAAE,EAAG,CAAC,EACtB,EAAU,GAAS,EAAE,EAAG,CAAC,EACrB,GAAU,GAAK,EAAU,IACzB,IAAkB,KAGtB,GAAM,EAAO,QAAQ,MAAM,IAC3B,EAAM,EAAO,QAAQ,MAAM,IAE3B,GAAU,GAAW,GAAY,EAAG,EAAK,CAAG,EAE5C,EAAW,GAAS,EAAE,GAAI,EAAO,GAAG,IAAO,GAAQ,IAAI,EAGvD,EAAO,GAAS,EAAE,EAAG,GAAQ,IAAI,EAEjC,AAAI,EAAE,GAAK,KAEP,GAAU,EAAE,EACR,GAAU,GAAK,EAAU,IACzB,IAAkB,KAEnB,AAAI,EAAE,GAAK,KAEd,GAAU,EAAE,EAAI,EACZ,GAAE,EAAI,GAAK,EAAE,EAAI,IACjB,IAAkB,KAItB,EAAU,GAGlB,AAAI,EAAO,GAAK,EAAO,GAAY,EAAU,EAAK,CAAG,EACjD,EAAgB,CAAM,EAAE,eAAiB,GACtC,AAAI,IAAmB,KAC1B,EAAgB,CAAM,EAAE,iBAAmB,GAE3C,IAAO,GAAmB,EAAU,EAAM,EAAS,EAAK,CAAG,EAC3D,EAAO,GAAG,IAAQ,GAAK,KACvB,EAAO,WAAa,GAAK,UAEjC,CAGA,EAAM,SAAW,UAAY,CAAC,EAG9B,EAAM,SAAW,UAAY,CAAC,EAG9B,YAAmC,EAAQ,CAEvC,GAAI,EAAO,KAAO,EAAM,SAAU,CAC9B,GAAc,CAAM,EACpB,MACJ,CACA,GAAI,EAAO,KAAO,EAAM,SAAU,CAC9B,GAAkB,CAAM,EACxB,MACJ,CACA,EAAO,GAAK,CAAC,EACb,EAAgB,CAAM,EAAE,MAAQ,GAGhC,GAAI,GAAS,GAAK,EAAO,GACrB,EACA,EACA,EACA,EACA,EACA,GAAe,EAAO,OACtB,GAAyB,EACzB,GACA,GAKJ,IAHA,EACI,GAAa,EAAO,GAAI,EAAO,OAAO,EAAE,MAAM,EAAgB,GAAK,CAAC,EACxE,GAAW,EAAO,OACb,EAAI,EAAG,EAAI,GAAU,IACtB,EAAQ,EAAO,GACf,EAAe,GAAO,MAAM,GAAsB,EAAO,CAAM,CAAC,GAC5D,CAAC,GAAG,GACJ,GACA,GAAU,EAAO,OAAO,EAAG,EAAO,QAAQ,CAAW,CAAC,EAClD,EAAQ,OAAS,GACjB,EAAgB,CAAM,EAAE,YAAY,KAAK,CAAO,EAEpD,EAAS,EAAO,MACZ,EAAO,QAAQ,CAAW,EAAI,EAAY,MAC9C,EACA,IAA0B,EAAY,QAG1C,AAAI,GAAqB,GACrB,CAAI,EACA,EAAgB,CAAM,EAAE,MAAQ,GAEhC,EAAgB,CAAM,EAAE,aAAa,KAAK,CAAK,EAEnD,GAAwB,EAAO,EAAa,CAAM,GAC3C,EAAO,SAAW,CAAC,GAC1B,EAAgB,CAAM,EAAE,aAAa,KAAK,CAAK,EAKvD,EAAgB,CAAM,EAAE,cACpB,GAAe,GACf,EAAO,OAAS,GAChB,EAAgB,CAAM,EAAE,YAAY,KAAK,CAAM,EAK/C,EAAO,GAAG,KAAS,IACnB,EAAgB,CAAM,EAAE,UAAY,IACpC,EAAO,GAAG,IAAQ,GAElB,GAAgB,CAAM,EAAE,QAAU,QAGtC,EAAgB,CAAM,EAAE,gBAAkB,EAAO,GAAG,MAAM,CAAC,EAC3D,EAAgB,CAAM,EAAE,SAAW,EAAO,UAE1C,EAAO,GAAG,IAAQ,GACd,EAAO,QACP,EAAO,GAAG,IACV,EAAO,SACX,EAGA,GAAM,EAAgB,CAAM,EAAE,IAC1B,KAAQ,MACR,GAAO,GAAG,IAAQ,EAAO,QAAQ,gBAAgB,GAAK,EAAO,GAAG,GAAK,GAGzE,GAAgB,CAAM,EACtB,GAAc,CAAM,CACxB,CAEA,YAAyB,EAAQ,EAAM,EAAU,CAC7C,GAAI,GAEJ,MAAI,IAAY,KAEL,EAEP,EAAO,cAAgB,KAChB,EAAO,aAAa,EAAM,CAAQ,EAClC,GAAO,MAAQ,MAEtB,GAAO,EAAO,KAAK,CAAQ,EACvB,GAAQ,EAAO,IACf,IAAQ,IAER,CAAC,GAAQ,IAAS,IAClB,GAAO,IAEJ,EAKf,CAGA,YAAkC,EAAQ,CACtC,GAAI,GACA,EACA,EACA,EACA,EACA,EACA,GAAoB,GACpB,GAAa,EAAO,GAAG,OAE3B,GAAI,KAAe,EAAG,CAClB,EAAgB,CAAM,EAAE,cAAgB,GACxC,EAAO,GAAK,GAAI,MAAK,GAAG,EACxB,MACJ,CAEA,IAAK,EAAI,EAAG,EAAI,GAAY,IACxB,EAAe,EACf,EAAmB,GACnB,EAAa,GAAW,CAAC,EAAG,CAAM,EAC9B,EAAO,SAAW,MAClB,GAAW,QAAU,EAAO,SAEhC,EAAW,GAAK,EAAO,GAAG,GAC1B,GAA0B,CAAU,EAEhC,EAAQ,CAAU,GAClB,GAAmB,IAIvB,GAAgB,EAAgB,CAAU,EAAE,cAG5C,GAAgB,EAAgB,CAAU,EAAE,aAAa,OAAS,GAElE,EAAgB,CAAU,EAAE,MAAQ,EAEpC,AAAK,GAaG,EAAe,GACf,GAAc,EACd,EAAa,GAbb,IAAe,MACf,EAAe,GACf,IAEA,GAAc,EACd,EAAa,EACT,GACA,IAAoB,KAWpC,EAAO,EAAQ,GAAc,CAAU,CAC3C,CAEA,YAA0B,EAAQ,CAC9B,GAAI,GAAO,GAIX,IAAI,GAAI,GAAqB,EAAO,EAAE,EAClC,EAAY,EAAE,MAAQ,OAAY,EAAE,KAAO,EAAE,IACjD,EAAO,GAAK,EACR,CAAC,EAAE,KAAM,EAAE,MAAO,EAAW,EAAE,KAAM,EAAE,OAAQ,EAAE,OAAQ,EAAE,WAAW,EACtE,SAAU,EAAK,CACX,MAAO,IAAO,SAAS,EAAK,EAAE,CAClC,CACJ,EAEA,GAAgB,CAAM,EAC1B,CAEA,YAA0B,EAAQ,CAC9B,GAAI,GAAM,GAAI,IAAO,GAAc,GAAc,CAAM,CAAC,CAAC,EACzD,MAAI,GAAI,UAEJ,GAAI,IAAI,EAAG,GAAG,EACd,EAAI,SAAW,QAGZ,CACX,CAEA,YAAuB,EAAQ,CAC3B,GAAI,GAAQ,EAAO,GACf,EAAS,EAAO,GAIpB,MAFA,GAAO,QAAU,EAAO,SAAW,GAAU,EAAO,EAAE,EAElD,IAAU,MAAS,IAAW,QAAa,IAAU,GAC9C,EAAc,CAAE,UAAW,EAAK,CAAC,EAGxC,OAAO,IAAU,UACjB,GAAO,GAAK,EAAQ,EAAO,QAAQ,SAAS,CAAK,GAGjD,GAAS,CAAK,EACP,GAAI,IAAO,GAAc,CAAK,CAAC,EACnC,CAAI,EAAO,CAAK,EACnB,EAAO,GAAK,EACT,AAAI,EAAQ,CAAM,EACrB,GAAyB,CAAM,EAC5B,AAAI,EACP,GAA0B,CAAM,EAEhC,GAAgB,CAAM,EAGrB,EAAQ,CAAM,GACf,GAAO,GAAK,MAGT,GACX,CAEA,YAAyB,EAAQ,CAC7B,GAAI,GAAQ,EAAO,GACnB,AAAI,EAAY,CAAK,EACjB,EAAO,GAAK,GAAI,MAAK,EAAM,IAAI,CAAC,EAC7B,AAAI,EAAO,CAAK,EACnB,EAAO,GAAK,GAAI,MAAK,EAAM,QAAQ,CAAC,EACjC,AAAI,MAAO,IAAU,SACxB,GAAiB,CAAM,EACpB,AAAI,EAAQ,CAAK,EACpB,GAAO,GAAK,EAAI,EAAM,MAAM,CAAC,EAAG,SAAU,EAAK,CAC3C,MAAO,UAAS,EAAK,EAAE,CAC3B,CAAC,EACD,GAAgB,CAAM,GACnB,AAAI,EAAS,CAAK,EACrB,GAAiB,CAAM,EACpB,AAAI,EAAS,CAAK,EAErB,EAAO,GAAK,GAAI,MAAK,CAAK,EAE1B,EAAM,wBAAwB,CAAM,CAE5C,CAEA,YAA0B,EAAO,EAAQ,EAAQ,EAAQ,EAAO,CAC5D,GAAI,GAAI,CAAC,EAET,MAAI,KAAW,IAAQ,IAAW,KAC9B,GAAS,EACT,EAAS,QAGT,KAAW,IAAQ,IAAW,KAC9B,GAAS,EACT,EAAS,QAIR,GAAS,CAAK,GAAK,EAAc,CAAK,GACtC,EAAQ,CAAK,GAAK,EAAM,SAAW,IAEpC,GAAQ,QAIZ,EAAE,iBAAmB,GACrB,EAAE,QAAU,EAAE,OAAS,EACvB,EAAE,GAAK,EACP,EAAE,GAAK,EACP,EAAE,GAAK,EACP,EAAE,QAAU,EAEL,GAAiB,CAAC,CAC7B,CAEA,YAAqB,EAAO,EAAQ,EAAQ,EAAQ,CAChD,MAAO,IAAiB,EAAO,EAAQ,EAAQ,EAAQ,EAAK,CAChE,CAEA,GAAI,IAAe,GACX,qGACA,UAAY,CACR,GAAI,GAAQ,GAAY,MAAM,KAAM,SAAS,EAC7C,MAAI,MAAK,QAAQ,GAAK,EAAM,QAAQ,EACzB,EAAQ,KAAO,KAAO,EAEtB,EAAc,CAE7B,CACJ,EACA,GAAe,GACX,qGACA,UAAY,CACR,GAAI,GAAQ,GAAY,MAAM,KAAM,SAAS,EAC7C,MAAI,MAAK,QAAQ,GAAK,EAAM,QAAQ,EACzB,EAAQ,KAAO,KAAO,EAEtB,EAAc,CAE7B,CACJ,EAOJ,YAAgB,EAAI,EAAS,CACzB,GAAI,GAAK,EAIT,GAHI,EAAQ,SAAW,GAAK,EAAQ,EAAQ,EAAE,GAC1C,GAAU,EAAQ,IAElB,CAAC,EAAQ,OACT,MAAO,IAAY,EAGvB,IADA,EAAM,EAAQ,GACT,EAAI,EAAG,EAAI,EAAQ,OAAQ,EAAE,EAC9B,AAAI,EAAC,EAAQ,GAAG,QAAQ,GAAK,EAAQ,GAAG,GAAI,CAAG,IAC3C,GAAM,EAAQ,IAGtB,MAAO,EACX,CAGA,aAAe,CACX,GAAI,GAAO,CAAC,EAAE,MAAM,KAAK,UAAW,CAAC,EAErC,MAAO,IAAO,WAAY,CAAI,CAClC,CAEA,aAAe,CACX,GAAI,GAAO,CAAC,EAAE,MAAM,KAAK,UAAW,CAAC,EAErC,MAAO,IAAO,UAAW,CAAI,CACjC,CAEA,GAAI,IAAM,UAAY,CAClB,MAAO,MAAK,IAAM,KAAK,IAAI,EAAI,CAAC,GAAI,KACxC,EAEI,GAAW,CACX,OACA,UACA,QACA,OACA,MACA,OACA,SACA,SACA,aACJ,EAEA,YAAyB,EAAG,CACxB,GAAI,GACA,EAAiB,GACjB,EACA,EAAW,GAAS,OACxB,IAAK,IAAO,GACR,GACI,EAAW,EAAG,CAAG,GACjB,CACI,IAAQ,KAAK,GAAU,CAAG,IAAM,IAC/B,GAAE,IAAQ,MAAQ,CAAC,MAAM,EAAE,EAAI,IAGpC,MAAO,GAIf,IAAK,EAAI,EAAG,EAAI,EAAU,EAAE,EACxB,GAAI,EAAE,GAAS,IAAK,CAChB,GAAI,EACA,MAAO,GAEX,AAAI,WAAW,EAAE,GAAS,GAAG,IAAM,EAAM,EAAE,GAAS,GAAG,GACnD,GAAiB,GAEzB,CAGJ,MAAO,EACX,CAEA,aAAqB,CACjB,MAAO,MAAK,QAChB,CAEA,aAA2B,CACvB,MAAO,IAAe,GAAG,CAC7B,CAEA,YAAkB,EAAU,CACxB,GAAI,GAAkB,GAAqB,CAAQ,EAC/C,EAAQ,EAAgB,MAAQ,EAChC,EAAW,EAAgB,SAAW,EACtC,EAAS,EAAgB,OAAS,EAClC,EAAQ,EAAgB,MAAQ,EAAgB,SAAW,EAC3D,EAAO,EAAgB,KAAO,EAC9B,GAAQ,EAAgB,MAAQ,EAChC,GAAU,EAAgB,QAAU,EACpC,GAAU,EAAgB,QAAU,EACpC,GAAe,EAAgB,aAAe,EAElD,KAAK,SAAW,GAAgB,CAAe,EAG/C,KAAK,cACD,CAAC,GACD,GAAU,IACV,GAAU,IACV,GAAQ,IAAO,GAAK,GAGxB,KAAK,MAAQ,CAAC,EAAO,EAAQ,EAI7B,KAAK,QAAU,CAAC,EAAS,EAAW,EAAI,EAAQ,GAEhD,KAAK,MAAQ,CAAC,EAEd,KAAK,QAAU,GAAU,EAEzB,KAAK,QAAQ,CACjB,CAEA,YAAoB,EAAK,CACrB,MAAO,aAAe,GAC1B,CAEA,YAAkB,EAAQ,CACtB,MAAI,GAAS,EACF,KAAK,MAAM,GAAK,CAAM,EAAI,GAE1B,KAAK,MAAM,CAAM,CAEhC,CAGA,YAAuB,EAAQ,EAAQ,EAAa,CAChD,GAAI,GAAM,KAAK,IAAI,EAAO,OAAQ,EAAO,MAAM,EAC3C,EAAa,KAAK,IAAI,EAAO,OAAS,EAAO,MAAM,EACnD,EAAQ,EACR,EACJ,IAAK,EAAI,EAAG,EAAI,EAAK,IACjB,AACK,IAAe,EAAO,KAAO,EAAO,IACpC,CAAC,GAAe,EAAM,EAAO,EAAE,IAAM,EAAM,EAAO,EAAE,IAErD,IAGR,MAAO,GAAQ,CACnB,CAIA,YAAgB,EAAO,EAAW,CAC9B,EAAe,EAAO,EAAG,EAAG,UAAY,CACpC,GAAI,GAAS,KAAK,UAAU,EACxB,EAAO,IACX,MAAI,GAAS,GACT,GAAS,CAAC,EACV,EAAO,KAGP,EACA,GAAS,CAAC,CAAE,GAAS,IAAK,CAAC,EAC3B,EACA,GAAS,CAAC,CAAC,EAAS,GAAI,CAAC,CAEjC,CAAC,CACL,CAEA,GAAO,IAAK,GAAG,EACf,GAAO,KAAM,EAAE,EAIf,GAAc,IAAK,EAAgB,EACnC,GAAc,KAAM,EAAgB,EACpC,GAAc,CAAC,IAAK,IAAI,EAAG,SAAU,EAAO,EAAO,EAAQ,CACvD,EAAO,QAAU,GACjB,EAAO,KAAO,GAAiB,GAAkB,CAAK,CAC1D,CAAC,EAOD,GAAI,IAAc,kBAElB,YAA0B,EAAS,EAAQ,CACvC,GAAI,GAAW,IAAU,IAAI,MAAM,CAAO,EACtC,EACA,EACA,EAEJ,MAAI,KAAY,KACL,KAGX,GAAQ,EAAQ,EAAQ,OAAS,IAAM,CAAC,EACxC,EAAS,GAAQ,IAAI,MAAM,EAAW,GAAK,CAAC,IAAK,EAAG,CAAC,EACrD,EAAU,CAAE,GAAM,GAAK,IAAM,EAAM,EAAM,EAAE,EAEpC,IAAY,EAAI,EAAI,EAAM,KAAO,IAAM,EAAU,CAAC,EAC7D,CAGA,YAAyB,EAAO,EAAO,CACnC,GAAI,GAAK,EACT,MAAI,GAAM,OACN,GAAM,EAAM,MAAM,EAClB,EACK,IAAS,CAAK,GAAK,EAAO,CAAK,EAC1B,EAAM,QAAQ,EACd,GAAY,CAAK,EAAE,QAAQ,GAAK,EAAI,QAAQ,EAEtD,EAAI,GAAG,QAAQ,EAAI,GAAG,QAAQ,EAAI,CAAI,EACtC,EAAM,aAAa,EAAK,EAAK,EACtB,GAEA,GAAY,CAAK,EAAE,MAAM,CAExC,CAEA,YAAuB,EAAG,CAGtB,MAAO,CAAC,KAAK,MAAM,EAAE,GAAG,kBAAkB,CAAC,CAC/C,CAMA,EAAM,aAAe,UAAY,CAAC,EAclC,YAAsB,EAAO,EAAe,EAAa,CACrD,GAAI,GAAS,KAAK,SAAW,EACzB,EACJ,GAAI,CAAC,KAAK,QAAQ,EACd,MAAO,IAAS,KAAO,KAAO,IAElC,GAAI,GAAS,KAAM,CACf,GAAI,MAAO,IAAU,UAEjB,GADA,EAAQ,GAAiB,GAAkB,CAAK,EAC5C,IAAU,KACV,MAAO,UAER,AAAI,MAAK,IAAI,CAAK,EAAI,IAAM,CAAC,GAChC,GAAQ,EAAQ,IAEpB,MAAI,CAAC,KAAK,QAAU,GAChB,GAAc,GAAc,IAAI,GAEpC,KAAK,QAAU,EACf,KAAK,OAAS,GACV,GAAe,MACf,KAAK,IAAI,EAAa,GAAG,EAEzB,IAAW,GACX,CAAI,CAAC,GAAiB,KAAK,kBACvB,GACI,KACA,GAAe,EAAQ,EAAQ,GAAG,EAClC,EACA,EACJ,EACQ,KAAK,mBACb,MAAK,kBAAoB,GACzB,EAAM,aAAa,KAAM,EAAI,EAC7B,KAAK,kBAAoB,OAG1B,IACX,KACI,OAAO,MAAK,OAAS,EAAS,GAAc,IAAI,CAExD,CAEA,YAAoB,EAAO,EAAe,CACtC,MAAI,IAAS,KACL,OAAO,IAAU,UACjB,GAAQ,CAAC,GAGb,KAAK,UAAU,EAAO,CAAa,EAE5B,MAEA,CAAC,KAAK,UAAU,CAE/B,CAEA,YAAwB,EAAe,CACnC,MAAO,MAAK,UAAU,EAAG,CAAa,CAC1C,CAEA,YAA0B,EAAe,CACrC,MAAI,MAAK,QACL,MAAK,UAAU,EAAG,CAAa,EAC/B,KAAK,OAAS,GAEV,GACA,KAAK,SAAS,GAAc,IAAI,EAAG,GAAG,GAGvC,IACX,CAEA,aAAmC,CAC/B,GAAI,KAAK,MAAQ,KACb,KAAK,UAAU,KAAK,KAAM,GAAO,EAAI,UAC9B,MAAO,MAAK,IAAO,SAAU,CACpC,GAAI,GAAQ,GAAiB,GAAa,KAAK,EAAE,EACjD,AAAI,GAAS,KACT,KAAK,UAAU,CAAK,EAEpB,KAAK,UAAU,EAAG,EAAI,CAE9B,CACA,MAAO,KACX,CAEA,YAA8B,EAAO,CACjC,MAAK,MAAK,QAAQ,EAGlB,GAAQ,EAAQ,GAAY,CAAK,EAAE,UAAU,EAAI,EAEzC,MAAK,UAAU,EAAI,GAAS,KAAO,GAJhC,EAKf,CAEA,aAAgC,CAC5B,MACI,MAAK,UAAU,EAAI,KAAK,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GACnD,KAAK,UAAU,EAAI,KAAK,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,CAE3D,CAEA,aAAuC,CACnC,GAAI,CAAC,EAAY,KAAK,aAAa,EAC/B,MAAO,MAAK,cAGhB,GAAI,GAAI,CAAC,EACL,EAEJ,UAAW,EAAG,IAAI,EAClB,EAAI,GAAc,CAAC,EAEnB,AAAI,EAAE,GACF,GAAQ,EAAE,OAAS,EAAU,EAAE,EAAE,EAAI,GAAY,EAAE,EAAE,EACrD,KAAK,cACD,KAAK,QAAQ,GAAK,GAAc,EAAE,GAAI,EAAM,QAAQ,CAAC,EAAI,GAE7D,KAAK,cAAgB,GAGlB,KAAK,aAChB,CAEA,aAAmB,CACf,MAAO,MAAK,QAAQ,EAAI,CAAC,KAAK,OAAS,EAC3C,CAEA,aAAuB,CACnB,MAAO,MAAK,QAAQ,EAAI,KAAK,OAAS,EAC1C,CAEA,aAAiB,CACb,MAAO,MAAK,QAAQ,EAAI,KAAK,QAAU,KAAK,UAAY,EAAI,EAChE,CAGA,GAAI,IAAc,wDAId,GACI,sKAER,YAAwB,EAAO,EAAK,CAChC,GAAI,GAAW,EAEX,EAAQ,KACR,EACA,EACA,EAEJ,MAAI,IAAW,CAAK,EAChB,EAAW,CACP,GAAI,EAAM,cACV,EAAG,EAAM,MACT,EAAG,EAAM,OACb,EACG,AAAI,EAAS,CAAK,GAAK,CAAC,MAAM,CAAC,CAAK,EACvC,GAAW,CAAC,EACZ,AAAI,EACA,EAAS,GAAO,CAAC,EAEjB,EAAS,aAAe,CAAC,GAE1B,AAAK,GAAQ,GAAY,KAAK,CAAK,GACtC,GAAO,EAAM,KAAO,IAAM,GAAK,EAC/B,EAAW,CACP,EAAG,EACH,EAAG,EAAM,EAAM,GAAK,EAAI,EACxB,EAAG,EAAM,EAAM,GAAK,EAAI,EACxB,EAAG,EAAM,EAAM,GAAO,EAAI,EAC1B,EAAG,EAAM,EAAM,GAAO,EAAI,EAC1B,GAAI,EAAM,GAAS,EAAM,IAAe,GAAI,CAAC,EAAI,CACrD,GACG,AAAK,GAAQ,GAAS,KAAK,CAAK,GACnC,GAAO,EAAM,KAAO,IAAM,GAAK,EAC/B,EAAW,CACP,EAAG,GAAS,EAAM,GAAI,CAAI,EAC1B,EAAG,GAAS,EAAM,GAAI,CAAI,EAC1B,EAAG,GAAS,EAAM,GAAI,CAAI,EAC1B,EAAG,GAAS,EAAM,GAAI,CAAI,EAC1B,EAAG,GAAS,EAAM,GAAI,CAAI,EAC1B,EAAG,GAAS,EAAM,GAAI,CAAI,EAC1B,EAAG,GAAS,EAAM,GAAI,CAAI,CAC9B,GACG,AAAI,GAAY,KAEnB,EAAW,CAAC,EAEZ,MAAO,IAAa,UACnB,SAAU,IAAY,MAAQ,KAE/B,GAAU,GACN,GAAY,EAAS,IAAI,EACzB,GAAY,EAAS,EAAE,CAC3B,EAEA,EAAW,CAAC,EACZ,EAAS,GAAK,EAAQ,aACtB,EAAS,EAAI,EAAQ,QAGzB,EAAM,GAAI,IAAS,CAAQ,EAEvB,GAAW,CAAK,GAAK,EAAW,EAAO,SAAS,GAChD,GAAI,QAAU,EAAM,SAGpB,GAAW,CAAK,GAAK,EAAW,EAAO,UAAU,GACjD,GAAI,SAAW,EAAM,UAGlB,CACX,CAEA,GAAe,GAAK,GAAS,UAC7B,GAAe,QAAU,GAEzB,YAAkB,EAAK,EAAM,CAIzB,GAAI,GAAM,GAAO,WAAW,EAAI,QAAQ,IAAK,GAAG,CAAC,EAEjD,MAAQ,OAAM,CAAG,EAAI,EAAI,GAAO,CACpC,CAEA,YAAmC,EAAM,EAAO,CAC5C,GAAI,GAAM,CAAC,EAEX,SAAI,OACA,EAAM,MAAM,EAAI,EAAK,MAAM,EAAK,GAAM,KAAK,EAAI,EAAK,KAAK,GAAK,GAC9D,EAAK,MAAM,EAAE,IAAI,EAAI,OAAQ,GAAG,EAAE,QAAQ,CAAK,GAC/C,EAAE,EAAI,OAGV,EAAI,aAAe,CAAC,EAAQ,CAAC,EAAK,MAAM,EAAE,IAAI,EAAI,OAAQ,GAAG,EAEtD,CACX,CAEA,YAA2B,EAAM,EAAO,CACpC,GAAI,GACJ,MAAM,GAAK,QAAQ,GAAK,EAAM,QAAQ,EAItC,GAAQ,GAAgB,EAAO,CAAI,EACnC,AAAI,EAAK,SAAS,CAAK,EACnB,EAAM,GAA0B,EAAM,CAAK,EAE3C,GAAM,GAA0B,EAAO,CAAI,EAC3C,EAAI,aAAe,CAAC,EAAI,aACxB,EAAI,OAAS,CAAC,EAAI,QAGf,GAZI,CAAE,aAAc,EAAG,OAAQ,CAAE,CAa5C,CAGA,YAAqB,EAAW,EAAM,CAClC,MAAO,UAAU,EAAK,EAAQ,CAC1B,GAAI,GAAK,EAET,MAAI,KAAW,MAAQ,CAAC,MAAM,CAAC,CAAM,GACjC,IACI,EACA,YACI,EACA,uDACA,EACA,gGAER,EACA,EAAM,EACN,EAAM,EACN,EAAS,GAGb,EAAM,GAAe,EAAK,CAAM,EAChC,GAAY,KAAM,EAAK,CAAS,EACzB,IACX,CACJ,CAEA,YAAqB,EAAK,EAAU,EAAU,EAAc,CACxD,GAAI,GAAe,EAAS,cACxB,EAAO,GAAS,EAAS,KAAK,EAC9B,EAAS,GAAS,EAAS,OAAO,EAEtC,AAAI,CAAC,EAAI,QAAQ,GAKjB,GAAe,GAAgB,KAAO,GAAO,EAEzC,GACA,GAAS,EAAK,GAAI,EAAK,OAAO,EAAI,EAAS,CAAQ,EAEnD,GACA,GAAM,EAAK,OAAQ,GAAI,EAAK,MAAM,EAAI,EAAO,CAAQ,EAErD,GACA,EAAI,GAAG,QAAQ,EAAI,GAAG,QAAQ,EAAI,EAAe,CAAQ,EAEzD,GACA,EAAM,aAAa,EAAK,GAAQ,CAAM,EAE9C,CAEA,GAAI,IAAM,GAAY,EAAG,KAAK,EAC1B,GAAW,GAAY,GAAI,UAAU,EAEzC,YAAkB,EAAO,CACrB,MAAO,OAAO,IAAU,UAAY,YAAiB,OACzD,CAGA,YAAuB,EAAO,CAC1B,MACI,IAAS,CAAK,GACd,EAAO,CAAK,GACZ,GAAS,CAAK,GACd,EAAS,CAAK,GACd,GAAsB,CAAK,GAC3B,GAAoB,CAAK,GACzB,IAAU,MACV,IAAU,MAElB,CAEA,YAA6B,EAAO,CAChC,GAAI,GAAa,EAAS,CAAK,GAAK,CAAC,EAAc,CAAK,EACpD,EAAe,GACf,EAAa,CACT,QACA,OACA,IACA,SACA,QACA,IACA,OACA,MACA,IACA,QACA,OACA,IACA,QACA,OACA,IACA,UACA,SACA,IACA,UACA,SACA,IACA,eACA,cACA,IACJ,EACA,EACA,EACA,EAAc,EAAW,OAE7B,IAAK,EAAI,EAAG,EAAI,EAAa,GAAK,EAC9B,EAAW,EAAW,GACtB,EAAe,GAAgB,EAAW,EAAO,CAAQ,EAG7D,MAAO,IAAc,CACzB,CAEA,YAA+B,EAAO,CAClC,GAAI,GAAY,EAAQ,CAAK,EACzB,EAAe,GACnB,MAAI,IACA,GACI,EAAM,OAAO,SAAU,EAAM,CACzB,MAAO,CAAC,EAAS,CAAI,GAAK,GAAS,CAAK,CAC5C,CAAC,EAAE,SAAW,GAEf,GAAa,CACxB,CAEA,YAAwB,EAAO,CAC3B,GAAI,GAAa,EAAS,CAAK,GAAK,CAAC,EAAc,CAAK,EACpD,EAAe,GACf,EAAa,CACT,UACA,UACA,UACA,WACA,WACA,UACJ,EACA,EACA,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAW,OAAQ,GAAK,EACpC,EAAW,EAAW,GACtB,EAAe,GAAgB,EAAW,EAAO,CAAQ,EAG7D,MAAO,IAAc,CACzB,CAEA,YAA2B,EAAU,EAAK,CACtC,GAAI,GAAO,EAAS,KAAK,EAAK,OAAQ,EAAI,EAC1C,MAAO,GAAO,GACR,WACA,EAAO,GACP,WACA,EAAO,EACP,UACA,EAAO,EACP,UACA,EAAO,EACP,UACA,EAAO,EACP,WACA,UACV,CAEA,YAAoB,EAAM,EAAS,CAE/B,AAAI,UAAU,SAAW,GACrB,CAAK,UAAU,GAGR,AAAI,GAAc,UAAU,EAAE,EACjC,GAAO,UAAU,GACjB,EAAU,QACH,GAAe,UAAU,EAAE,GAClC,GAAU,UAAU,GACpB,EAAO,QAPP,GAAO,OACP,EAAU,SAWlB,GAAI,GAAM,GAAQ,GAAY,EAC1B,EAAM,GAAgB,EAAK,IAAI,EAAE,QAAQ,KAAK,EAC9C,EAAS,EAAM,eAAe,KAAM,CAAG,GAAK,WAC5C,EACI,GACC,IAAW,EAAQ,EAAO,EACrB,EAAQ,GAAQ,KAAK,KAAM,CAAG,EAC9B,EAAQ,IAEtB,MAAO,MAAK,OACR,GAAU,KAAK,WAAW,EAAE,SAAS,EAAQ,KAAM,GAAY,CAAG,CAAC,CACvE,CACJ,CAEA,aAAiB,CACb,MAAO,IAAI,IAAO,IAAI,CAC1B,CAEA,YAAiB,EAAO,EAAO,CAC3B,GAAI,GAAa,GAAS,CAAK,EAAI,EAAQ,GAAY,CAAK,EAC5D,MAAM,MAAK,QAAQ,GAAK,EAAW,QAAQ,EAG3C,GAAQ,GAAe,CAAK,GAAK,cAC7B,IAAU,cACH,KAAK,QAAQ,EAAI,EAAW,QAAQ,EAEpC,EAAW,QAAQ,EAAI,KAAK,MAAM,EAAE,QAAQ,CAAK,EAAE,QAAQ,GAN3D,EAQf,CAEA,YAAkB,EAAO,EAAO,CAC5B,GAAI,GAAa,GAAS,CAAK,EAAI,EAAQ,GAAY,CAAK,EAC5D,MAAM,MAAK,QAAQ,GAAK,EAAW,QAAQ,EAG3C,GAAQ,GAAe,CAAK,GAAK,cAC7B,IAAU,cACH,KAAK,QAAQ,EAAI,EAAW,QAAQ,EAEpC,KAAK,MAAM,EAAE,MAAM,CAAK,EAAE,QAAQ,EAAI,EAAW,QAAQ,GANzD,EAQf,CAEA,YAAmB,EAAM,EAAI,EAAO,EAAa,CAC7C,GAAI,GAAY,GAAS,CAAI,EAAI,EAAO,GAAY,CAAI,EACpD,EAAU,GAAS,CAAE,EAAI,EAAK,GAAY,CAAE,EAChD,MAAM,MAAK,QAAQ,GAAK,EAAU,QAAQ,GAAK,EAAQ,QAAQ,EAG/D,GAAc,GAAe,KAExB,GAAY,KAAO,IACd,KAAK,QAAQ,EAAW,CAAK,EAC7B,CAAC,KAAK,SAAS,EAAW,CAAK,IACpC,GAAY,KAAO,IACd,KAAK,SAAS,EAAS,CAAK,EAC5B,CAAC,KAAK,QAAQ,EAAS,CAAK,IAT3B,EAWf,CAEA,YAAgB,EAAO,EAAO,CAC1B,GAAI,GAAa,GAAS,CAAK,EAAI,EAAQ,GAAY,CAAK,EACxD,EACJ,MAAM,MAAK,QAAQ,GAAK,EAAW,QAAQ,EAG3C,GAAQ,GAAe,CAAK,GAAK,cAC7B,IAAU,cACH,KAAK,QAAQ,IAAM,EAAW,QAAQ,EAE7C,GAAU,EAAW,QAAQ,EAEzB,KAAK,MAAM,EAAE,QAAQ,CAAK,EAAE,QAAQ,GAAK,GACzC,GAAW,KAAK,MAAM,EAAE,MAAM,CAAK,EAAE,QAAQ,IAT1C,EAYf,CAEA,YAAuB,EAAO,EAAO,CACjC,MAAO,MAAK,OAAO,EAAO,CAAK,GAAK,KAAK,QAAQ,EAAO,CAAK,CACjE,CAEA,YAAwB,EAAO,EAAO,CAClC,MAAO,MAAK,OAAO,EAAO,CAAK,GAAK,KAAK,SAAS,EAAO,CAAK,CAClE,CAEA,YAAc,EAAO,EAAO,EAAS,CACjC,GAAI,GAAM,EAAW,EAErB,GAAI,CAAC,KAAK,QAAQ,EACd,MAAO,KAKX,GAFA,EAAO,GAAgB,EAAO,IAAI,EAE9B,CAAC,EAAK,QAAQ,EACd,MAAO,KAOX,OAJA,EAAa,GAAK,UAAU,EAAI,KAAK,UAAU,GAAK,IAEpD,EAAQ,GAAe,CAAK,EAEpB,OACC,OACD,EAAS,GAAU,KAAM,CAAI,EAAI,GACjC,UACC,QACD,EAAS,GAAU,KAAM,CAAI,EAC7B,UACC,UACD,EAAS,GAAU,KAAM,CAAI,EAAI,EACjC,UACC,SACD,EAAU,MAAO,GAAQ,IACzB,UACC,SACD,EAAU,MAAO,GAAQ,IACzB,UACC,OACD,EAAU,MAAO,GAAQ,KACzB,UACC,MACD,EAAU,MAAO,EAAO,GAAa,MACrC,UACC,OACD,EAAU,MAAO,EAAO,GAAa,OACrC,cAEA,EAAS,KAAO,EAGxB,MAAO,GAAU,EAAS,EAAS,CAAM,CAC7C,CAEA,YAAmB,EAAG,EAAG,CACrB,GAAI,EAAE,KAAK,EAAI,EAAE,KAAK,EAGlB,MAAO,CAAC,GAAU,EAAG,CAAC,EAG1B,GAAI,GAAkB,GAAE,KAAK,EAAI,EAAE,KAAK,GAAK,GAAM,GAAE,MAAM,EAAI,EAAE,MAAM,GAEnE,EAAS,EAAE,MAAM,EAAE,IAAI,EAAgB,QAAQ,EAC/C,EACA,EAEJ,MAAI,GAAI,EAAS,EACb,GAAU,EAAE,MAAM,EAAE,IAAI,EAAiB,EAAG,QAAQ,EAEpD,EAAU,GAAI,GAAW,GAAS,IAElC,GAAU,EAAE,MAAM,EAAE,IAAI,EAAiB,EAAG,QAAQ,EAEpD,EAAU,GAAI,GAAW,GAAU,IAIhC,CAAE,GAAiB,IAAW,CACzC,CAEA,EAAM,cAAgB,uBACtB,EAAM,iBAAmB,yBAEzB,aAAoB,CAChB,MAAO,MAAK,MAAM,EAAE,OAAO,IAAI,EAAE,OAAO,kCAAkC,CAC9E,CAEA,YAAqB,EAAY,CAC7B,GAAI,CAAC,KAAK,QAAQ,EACd,MAAO,MAEX,GAAI,GAAM,IAAe,GACrB,EAAI,EAAM,KAAK,MAAM,EAAE,IAAI,EAAI,KACnC,MAAI,GAAE,KAAK,EAAI,GAAK,EAAE,KAAK,EAAI,KACpB,GACH,EACA,EACM,iCACA,8BACV,EAEA,GAAW,KAAK,UAAU,WAAW,EAEjC,EACO,KAAK,OAAO,EAAE,YAAY,EAE1B,GAAI,MAAK,KAAK,QAAQ,EAAI,KAAK,UAAU,EAAI,GAAK,GAAI,EACxD,YAAY,EACZ,QAAQ,IAAK,GAAa,EAAG,GAAG,CAAC,EAGvC,GACH,EACA,EAAM,+BAAiC,4BAC3C,CACJ,CAQA,aAAmB,CACf,GAAI,CAAC,KAAK,QAAQ,EACd,MAAO,qBAAuB,KAAK,GAAK,OAE5C,GAAI,GAAO,SACP,EAAO,GACP,EACA,EACA,EACA,EACJ,MAAK,MAAK,QAAQ,GACd,GAAO,KAAK,UAAU,IAAM,EAAI,aAAe,mBAC/C,EAAO,KAEX,EAAS,IAAM,EAAO,MACtB,EAAO,GAAK,KAAK,KAAK,GAAK,KAAK,KAAK,GAAK,KAAO,OAAS,SAC1D,EAAW,wBACX,EAAS,EAAO,OAET,KAAK,OAAO,EAAS,EAAO,EAAW,CAAM,CACxD,CAEA,YAAgB,EAAa,CACzB,AAAK,GACD,GAAc,KAAK,MAAM,EACnB,EAAM,iBACN,EAAM,eAEhB,GAAI,GAAS,GAAa,KAAM,CAAW,EAC3C,MAAO,MAAK,WAAW,EAAE,WAAW,CAAM,CAC9C,CAEA,YAAc,EAAM,EAAe,CAC/B,MACI,MAAK,QAAQ,GACX,IAAS,CAAI,GAAK,EAAK,QAAQ,GAAM,GAAY,CAAI,EAAE,QAAQ,GAE1D,GAAe,CAAE,GAAI,KAAM,KAAM,CAAK,CAAC,EACzC,OAAO,KAAK,OAAO,CAAC,EACpB,SAAS,CAAC,CAAa,EAErB,KAAK,WAAW,EAAE,YAAY,CAE7C,CAEA,YAAiB,EAAe,CAC5B,MAAO,MAAK,KAAK,GAAY,EAAG,CAAa,CACjD,CAEA,YAAY,EAAM,EAAe,CAC7B,MACI,MAAK,QAAQ,GACX,IAAS,CAAI,GAAK,EAAK,QAAQ,GAAM,GAAY,CAAI,EAAE,QAAQ,GAE1D,GAAe,CAAE,KAAM,KAAM,GAAI,CAAK,CAAC,EACzC,OAAO,KAAK,OAAO,CAAC,EACpB,SAAS,CAAC,CAAa,EAErB,KAAK,WAAW,EAAE,YAAY,CAE7C,CAEA,YAAe,EAAe,CAC1B,MAAO,MAAK,GAAG,GAAY,EAAG,CAAa,CAC/C,CAKA,YAAgB,EAAK,CACjB,GAAI,GAEJ,MAAI,KAAQ,OACD,KAAK,QAAQ,MAEpB,GAAgB,GAAU,CAAG,EACzB,GAAiB,MACjB,MAAK,QAAU,GAEZ,KAEf,CAEA,GAAI,IAAO,GACP,kJACA,SAAU,EAAK,CACX,MAAI,KAAQ,OACD,KAAK,WAAW,EAEhB,KAAK,OAAO,CAAG,CAE9B,CACJ,EAEA,aAAsB,CAClB,MAAO,MAAK,OAChB,CAEA,GAAI,IAAgB,IAChB,GAAgB,GAAK,GACrB,GAAc,GAAK,GACnB,GAAoB,KAAM,IAAM,IAAM,GAAK,GAG/C,YAAe,EAAU,EAAS,CAC9B,MAAS,GAAW,EAAW,GAAW,CAC9C,CAEA,YAA0B,EAAG,EAAG,EAAG,CAE/B,MAAI,GAAI,KAAO,GAAK,EAET,GAAI,MAAK,EAAI,IAAK,EAAG,CAAC,EAAI,GAE1B,GAAI,MAAK,EAAG,EAAG,CAAC,EAAE,QAAQ,CAEzC,CAEA,YAAwB,EAAG,EAAG,EAAG,CAE7B,MAAI,GAAI,KAAO,GAAK,EAET,KAAK,IAAI,EAAI,IAAK,EAAG,CAAC,EAAI,GAE1B,KAAK,IAAI,EAAG,EAAG,CAAC,CAE/B,CAEA,YAAiB,EAAO,CACpB,GAAI,GAAM,EAEV,GADA,EAAQ,GAAe,CAAK,EACxB,IAAU,QAAa,IAAU,eAAiB,CAAC,KAAK,QAAQ,EAChE,MAAO,MAKX,OAFA,EAAc,KAAK,OAAS,GAAiB,GAErC,OACC,OACD,EAAO,EAAY,KAAK,KAAK,EAAG,EAAG,CAAC,EACpC,UACC,UACD,EAAO,EACH,KAAK,KAAK,EACV,KAAK,MAAM,EAAK,KAAK,MAAM,EAAI,EAC/B,CACJ,EACA,UACC,QACD,EAAO,EAAY,KAAK,KAAK,EAAG,KAAK,MAAM,EAAG,CAAC,EAC/C,UACC,OACD,EAAO,EACH,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,KAAK,EAAI,KAAK,QAAQ,CAC/B,EACA,UACC,UACD,EAAO,EACH,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,KAAK,EAAK,MAAK,WAAW,EAAI,EACvC,EACA,UACC,UACA,OACD,EAAO,EAAY,KAAK,KAAK,EAAG,KAAK,MAAM,EAAG,KAAK,KAAK,CAAC,EACzD,UACC,OACD,EAAO,KAAK,GAAG,QAAQ,EACvB,GAAQ,GACJ,EAAQ,MAAK,OAAS,EAAI,KAAK,UAAU,EAAI,IAC7C,EACJ,EACA,UACC,SACD,EAAO,KAAK,GAAG,QAAQ,EACvB,GAAQ,GAAM,EAAM,EAAa,EACjC,UACC,SACD,EAAO,KAAK,GAAG,QAAQ,EACvB,GAAQ,GAAM,EAAM,EAAa,EACjC,MAGR,YAAK,GAAG,QAAQ,CAAI,EACpB,EAAM,aAAa,KAAM,EAAI,EACtB,IACX,CAEA,YAAe,EAAO,CAClB,GAAI,GAAM,EAEV,GADA,EAAQ,GAAe,CAAK,EACxB,IAAU,QAAa,IAAU,eAAiB,CAAC,KAAK,QAAQ,EAChE,MAAO,MAKX,OAFA,EAAc,KAAK,OAAS,GAAiB,GAErC,OACC,OACD,EAAO,EAAY,KAAK,KAAK,EAAI,EAAG,EAAG,CAAC,EAAI,EAC5C,UACC,UACD,EACI,EACI,KAAK,KAAK,EACV,KAAK,MAAM,EAAK,KAAK,MAAM,EAAI,EAAK,EACpC,CACJ,EAAI,EACR,UACC,QACD,EAAO,EAAY,KAAK,KAAK,EAAG,KAAK,MAAM,EAAI,EAAG,CAAC,EAAI,EACvD,UACC,OACD,EACI,EACI,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,KAAK,EAAI,KAAK,QAAQ,EAAI,CACnC,EAAI,EACR,UACC,UACD,EACI,EACI,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,KAAK,EAAK,MAAK,WAAW,EAAI,GAAK,CAC5C,EAAI,EACR,UACC,UACA,OACD,EAAO,EAAY,KAAK,KAAK,EAAG,KAAK,MAAM,EAAG,KAAK,KAAK,EAAI,CAAC,EAAI,EACjE,UACC,OACD,EAAO,KAAK,GAAG,QAAQ,EACvB,GACI,GACA,GACI,EAAQ,MAAK,OAAS,EAAI,KAAK,UAAU,EAAI,IAC7C,EACJ,EACA,EACJ,UACC,SACD,EAAO,KAAK,GAAG,QAAQ,EACvB,GAAQ,GAAgB,GAAM,EAAM,EAAa,EAAI,EACrD,UACC,SACD,EAAO,KAAK,GAAG,QAAQ,EACvB,GAAQ,GAAgB,GAAM,EAAM,EAAa,EAAI,EACrD,MAGR,YAAK,GAAG,QAAQ,CAAI,EACpB,EAAM,aAAa,KAAM,EAAI,EACtB,IACX,CAEA,aAAmB,CACf,MAAO,MAAK,GAAG,QAAQ,EAAK,MAAK,SAAW,GAAK,GACrD,CAEA,aAAgB,CACZ,MAAO,MAAK,MAAM,KAAK,QAAQ,EAAI,GAAI,CAC3C,CAEA,aAAkB,CACd,MAAO,IAAI,MAAK,KAAK,QAAQ,CAAC,CAClC,CAEA,aAAmB,CACf,GAAI,GAAI,KACR,MAAO,CACH,EAAE,KAAK,EACP,EAAE,MAAM,EACR,EAAE,KAAK,EACP,EAAE,KAAK,EACP,EAAE,OAAO,EACT,EAAE,OAAO,EACT,EAAE,YAAY,CAClB,CACJ,CAEA,aAAoB,CAChB,GAAI,GAAI,KACR,MAAO,CACH,MAAO,EAAE,KAAK,EACd,OAAQ,EAAE,MAAM,EAChB,KAAM,EAAE,KAAK,EACb,MAAO,EAAE,MAAM,EACf,QAAS,EAAE,QAAQ,EACnB,QAAS,EAAE,QAAQ,EACnB,aAAc,EAAE,aAAa,CACjC,CACJ,CAEA,aAAkB,CAEd,MAAO,MAAK,QAAQ,EAAI,KAAK,YAAY,EAAI,IACjD,CAEA,aAAqB,CACjB,MAAO,GAAQ,IAAI,CACvB,CAEA,aAAwB,CACpB,MAAO,GAAO,CAAC,EAAG,EAAgB,IAAI,CAAC,CAC3C,CAEA,aAAqB,CACjB,MAAO,GAAgB,IAAI,EAAE,QACjC,CAEA,aAAwB,CACpB,MAAO,CACH,MAAO,KAAK,GACZ,OAAQ,KAAK,GACb,OAAQ,KAAK,QACb,MAAO,KAAK,OACZ,OAAQ,KAAK,OACjB,CACJ,CAEA,EAAe,IAAK,EAAG,EAAG,SAAS,EACnC,EAAe,KAAM,EAAG,EAAG,SAAS,EACpC,EAAe,MAAO,EAAG,EAAG,SAAS,EACrC,EAAe,OAAQ,EAAG,EAAG,SAAS,EACtC,EAAe,QAAS,EAAG,EAAG,WAAW,EAEzC,EAAe,IAAK,CAAC,IAAK,CAAC,EAAG,KAAM,SAAS,EAC7C,EAAe,IAAK,CAAC,KAAM,CAAC,EAAG,EAAG,SAAS,EAC3C,EAAe,IAAK,CAAC,MAAO,CAAC,EAAG,EAAG,SAAS,EAC5C,EAAe,IAAK,CAAC,OAAQ,CAAC,EAAG,EAAG,SAAS,EAE7C,GAAc,IAAK,EAAY,EAC/B,GAAc,KAAM,EAAY,EAChC,GAAc,MAAO,EAAY,EACjC,GAAc,OAAQ,EAAY,EAClC,GAAc,QAAS,EAAc,EAErC,GACI,CAAC,IAAK,KAAM,MAAO,OAAQ,OAAO,EAClC,SAAU,EAAO,EAAO,EAAQ,EAAO,CACnC,GAAI,GAAM,EAAO,QAAQ,UAAU,EAAO,EAAO,EAAO,OAAO,EAC/D,AAAI,EACA,EAAgB,CAAM,EAAE,IAAM,EAE9B,EAAgB,CAAM,EAAE,WAAa,CAE7C,CACJ,EAEA,GAAc,IAAK,EAAa,EAChC,GAAc,KAAM,EAAa,EACjC,GAAc,MAAO,EAAa,EAClC,GAAc,OAAQ,EAAa,EACnC,GAAc,KAAM,EAAmB,EAEvC,GAAc,CAAC,IAAK,KAAM,MAAO,MAAM,EAAG,EAAI,EAC9C,GAAc,CAAC,IAAI,EAAG,SAAU,EAAO,EAAO,EAAQ,EAAO,CACzD,GAAI,GACJ,AAAI,EAAO,QAAQ,sBACf,GAAQ,EAAM,MAAM,EAAO,QAAQ,oBAAoB,GAG3D,AAAI,EAAO,QAAQ,oBACf,EAAM,IAAQ,EAAO,QAAQ,oBAAoB,EAAO,CAAK,EAE7D,EAAM,IAAQ,SAAS,EAAO,EAAE,CAExC,CAAC,EAED,YAAoB,EAAG,EAAQ,CAC3B,GAAI,GACA,EACA,EACA,EAAO,KAAK,OAAS,GAAU,IAAI,EAAE,MACzC,IAAK,EAAI,EAAG,EAAI,EAAK,OAAQ,EAAI,EAAG,EAAE,EAAG,CACrC,OAAQ,MAAO,GAAK,GAAG,WACd,SAED,EAAO,EAAM,EAAK,GAAG,KAAK,EAAE,QAAQ,KAAK,EACzC,EAAK,GAAG,MAAQ,EAAK,QAAQ,EAC7B,MAGR,OAAQ,MAAO,GAAK,GAAG,WACd,YACD,EAAK,GAAG,MAAQ,IAChB,UACC,SAED,EAAO,EAAM,EAAK,GAAG,KAAK,EAAE,QAAQ,KAAK,EAAE,QAAQ,EACnD,EAAK,GAAG,MAAQ,EAAK,QAAQ,EAC7B,MAEZ,CACA,MAAO,EACX,CAEA,YAAyB,EAAS,EAAQ,EAAQ,CAC9C,GAAI,GACA,EACA,EAAO,KAAK,KAAK,EACjB,EACA,GACA,GAGJ,IAFA,EAAU,EAAQ,YAAY,EAEzB,EAAI,EAAG,EAAI,EAAK,OAAQ,EAAI,EAAG,EAAE,EAKlC,GAJA,EAAO,EAAK,GAAG,KAAK,YAAY,EAChC,GAAO,EAAK,GAAG,KAAK,YAAY,EAChC,GAAS,EAAK,GAAG,OAAO,YAAY,EAEhC,EACA,OAAQ,OACC,QACA,SACA,MACD,GAAI,KAAS,EACT,MAAO,GAAK,GAEhB,UAEC,OACD,GAAI,IAAS,EACT,MAAO,GAAK,GAEhB,UAEC,QACD,GAAI,KAAW,EACX,MAAO,GAAK,GAEhB,cAED,CAAC,EAAM,GAAM,EAAM,EAAE,QAAQ,CAAO,GAAK,EAChD,MAAO,GAAK,EAGxB,CAEA,YAA+B,EAAK,EAAM,CACtC,GAAI,GAAM,EAAI,OAAS,EAAI,MAAQ,EAAK,GACxC,MAAI,KAAS,OACF,EAAM,EAAI,KAAK,EAAE,KAAK,EAEtB,EAAM,EAAI,KAAK,EAAE,KAAK,EAAK,GAAO,EAAI,QAAU,CAE/D,CAEA,aAAsB,CAClB,GAAI,GACA,EACA,EACA,EAAO,KAAK,WAAW,EAAE,KAAK,EAClC,IAAK,EAAI,EAAG,EAAI,EAAK,OAAQ,EAAI,EAAG,EAAE,EAOlC,GALA,EAAM,KAAK,MAAM,EAAE,QAAQ,KAAK,EAAE,QAAQ,EAEtC,EAAK,GAAG,OAAS,GAAO,GAAO,EAAK,GAAG,OAGvC,EAAK,GAAG,OAAS,GAAO,GAAO,EAAK,GAAG,MACvC,MAAO,GAAK,GAAG,KAIvB,MAAO,EACX,CAEA,aAAwB,CACpB,GAAI,GACA,EACA,EACA,EAAO,KAAK,WAAW,EAAE,KAAK,EAClC,IAAK,EAAI,EAAG,EAAI,EAAK,OAAQ,EAAI,EAAG,EAAE,EAOlC,GALA,EAAM,KAAK,MAAM,EAAE,QAAQ,KAAK,EAAE,QAAQ,EAEtC,EAAK,GAAG,OAAS,GAAO,GAAO,EAAK,GAAG,OAGvC,EAAK,GAAG,OAAS,GAAO,GAAO,EAAK,GAAG,MACvC,MAAO,GAAK,GAAG,OAIvB,MAAO,EACX,CAEA,aAAsB,CAClB,GAAI,GACA,EACA,EACA,EAAO,KAAK,WAAW,EAAE,KAAK,EAClC,IAAK,EAAI,EAAG,EAAI,EAAK,OAAQ,EAAI,EAAG,EAAE,EAOlC,GALA,EAAM,KAAK,MAAM,EAAE,QAAQ,KAAK,EAAE,QAAQ,EAEtC,EAAK,GAAG,OAAS,GAAO,GAAO,EAAK,GAAG,OAGvC,EAAK,GAAG,OAAS,GAAO,GAAO,EAAK,GAAG,MACvC,MAAO,GAAK,GAAG,KAIvB,MAAO,EACX,CAEA,aAAsB,CAClB,GAAI,GACA,EACA,EACA,EACA,EAAO,KAAK,WAAW,EAAE,KAAK,EAClC,IAAK,EAAI,EAAG,EAAI,EAAK,OAAQ,EAAI,EAAG,EAAE,EAMlC,GALA,EAAM,EAAK,GAAG,OAAS,EAAK,GAAG,MAAQ,EAAK,GAG5C,EAAM,KAAK,MAAM,EAAE,QAAQ,KAAK,EAAE,QAAQ,EAGrC,EAAK,GAAG,OAAS,GAAO,GAAO,EAAK,GAAG,OACvC,EAAK,GAAG,OAAS,GAAO,GAAO,EAAK,GAAG,MAExC,MACK,MAAK,KAAK,EAAI,EAAM,EAAK,GAAG,KAAK,EAAE,KAAK,GAAK,EAC9C,EAAK,GAAG,OAKpB,MAAO,MAAK,KAAK,CACrB,CAEA,YAAuB,EAAU,CAC7B,MAAK,GAAW,KAAM,gBAAgB,GAClC,GAAiB,KAAK,IAAI,EAEvB,EAAW,KAAK,eAAiB,KAAK,UACjD,CAEA,YAAuB,EAAU,CAC7B,MAAK,GAAW,KAAM,gBAAgB,GAClC,GAAiB,KAAK,IAAI,EAEvB,EAAW,KAAK,eAAiB,KAAK,UACjD,CAEA,YAAyB,EAAU,CAC/B,MAAK,GAAW,KAAM,kBAAkB,GACpC,GAAiB,KAAK,IAAI,EAEvB,EAAW,KAAK,iBAAmB,KAAK,UACnD,CAEA,YAAsB,EAAU,EAAQ,CACpC,MAAO,GAAO,cAAc,CAAQ,CACxC,CAEA,YAAsB,EAAU,EAAQ,CACpC,MAAO,GAAO,cAAc,CAAQ,CACxC,CAEA,YAAwB,EAAU,EAAQ,CACtC,MAAO,GAAO,gBAAgB,CAAQ,CAC1C,CAEA,YAA6B,EAAU,EAAQ,CAC3C,MAAO,GAAO,sBAAwB,EAC1C,CAEA,aAA4B,CACxB,GAAI,GAAa,CAAC,EACd,EAAa,CAAC,EACd,EAAe,CAAC,EAChB,EAAc,CAAC,EACf,EACA,EACA,EAAO,KAAK,KAAK,EAErB,IAAK,EAAI,EAAG,EAAI,EAAK,OAAQ,EAAI,EAAG,EAAE,EAClC,EAAW,KAAK,GAAY,EAAK,GAAG,IAAI,CAAC,EACzC,EAAW,KAAK,GAAY,EAAK,GAAG,IAAI,CAAC,EACzC,EAAa,KAAK,GAAY,EAAK,GAAG,MAAM,CAAC,EAE7C,EAAY,KAAK,GAAY,EAAK,GAAG,IAAI,CAAC,EAC1C,EAAY,KAAK,GAAY,EAAK,GAAG,IAAI,CAAC,EAC1C,EAAY,KAAK,GAAY,EAAK,GAAG,MAAM,CAAC,EAGhD,KAAK,WAAa,GAAI,QAAO,KAAO,EAAY,KAAK,GAAG,EAAI,IAAK,GAAG,EACpE,KAAK,eAAiB,GAAI,QAAO,KAAO,EAAW,KAAK,GAAG,EAAI,IAAK,GAAG,EACvE,KAAK,eAAiB,GAAI,QAAO,KAAO,EAAW,KAAK,GAAG,EAAI,IAAK,GAAG,EACvE,KAAK,iBAAmB,GAAI,QACxB,KAAO,EAAa,KAAK,GAAG,EAAI,IAChC,GACJ,CACJ,CAIA,EAAe,EAAG,CAAC,KAAM,CAAC,EAAG,EAAG,UAAY,CACxC,MAAO,MAAK,SAAS,EAAI,GAC7B,CAAC,EAED,EAAe,EAAG,CAAC,KAAM,CAAC,EAAG,EAAG,UAAY,CACxC,MAAO,MAAK,YAAY,EAAI,GAChC,CAAC,EAED,YAAgC,EAAO,EAAQ,CAC3C,EAAe,EAAG,CAAC,EAAO,EAAM,MAAM,EAAG,EAAG,CAAM,CACtD,CAEA,GAAuB,OAAQ,UAAU,EACzC,GAAuB,QAAS,UAAU,EAC1C,GAAuB,OAAQ,aAAa,EAC5C,GAAuB,QAAS,aAAa,EAI7C,GAAa,WAAY,IAAI,EAC7B,GAAa,cAAe,IAAI,EAIhC,EAAgB,WAAY,CAAC,EAC7B,EAAgB,cAAe,CAAC,EAIhC,GAAc,IAAK,EAAW,EAC9B,GAAc,IAAK,EAAW,EAC9B,GAAc,KAAM,GAAW,EAAM,EACrC,GAAc,KAAM,GAAW,EAAM,EACrC,GAAc,OAAQ,GAAW,EAAM,EACvC,GAAc,OAAQ,GAAW,EAAM,EACvC,GAAc,QAAS,GAAW,EAAM,EACxC,GAAc,QAAS,GAAW,EAAM,EAExC,GACI,CAAC,OAAQ,QAAS,OAAQ,OAAO,EACjC,SAAU,EAAO,EAAM,EAAQ,EAAO,CAClC,EAAK,EAAM,OAAO,EAAG,CAAC,GAAK,EAAM,CAAK,CAC1C,CACJ,EAEA,GAAkB,CAAC,KAAM,IAAI,EAAG,SAAU,EAAO,EAAM,EAAQ,EAAO,CAClE,EAAK,GAAS,EAAM,kBAAkB,CAAK,CAC/C,CAAC,EAID,YAAwB,EAAO,CAC3B,MAAO,IAAqB,KACxB,KACA,EACA,KAAK,KAAK,EACV,KAAK,QAAQ,EACb,KAAK,WAAW,EAAE,MAAM,IACxB,KAAK,WAAW,EAAE,MAAM,GAC5B,CACJ,CAEA,YAA2B,EAAO,CAC9B,MAAO,IAAqB,KACxB,KACA,EACA,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,EACA,CACJ,CACJ,CAEA,aAA6B,CACzB,MAAO,IAAY,KAAK,KAAK,EAAG,EAAG,CAAC,CACxC,CAEA,aAAoC,CAChC,MAAO,IAAY,KAAK,YAAY,EAAG,EAAG,CAAC,CAC/C,CAEA,aAA0B,CACtB,GAAI,GAAW,KAAK,WAAW,EAAE,MACjC,MAAO,IAAY,KAAK,KAAK,EAAG,EAAS,IAAK,EAAS,GAAG,CAC9D,CAEA,aAA8B,CAC1B,GAAI,GAAW,KAAK,WAAW,EAAE,MACjC,MAAO,IAAY,KAAK,SAAS,EAAG,EAAS,IAAK,EAAS,GAAG,CAClE,CAEA,YAA8B,EAAO,EAAM,EAAS,EAAK,EAAK,CAC1D,GAAI,GACJ,MAAI,IAAS,KACF,GAAW,KAAM,EAAK,CAAG,EAAE,KAElC,GAAc,GAAY,EAAO,EAAK,CAAG,EACrC,EAAO,GACP,GAAO,GAEJ,GAAW,KAAK,KAAM,EAAO,EAAM,EAAS,EAAK,CAAG,EAEnE,CAEA,YAAoB,EAAU,EAAM,EAAS,EAAK,EAAK,CACnD,GAAI,GAAgB,GAAmB,EAAU,EAAM,EAAS,EAAK,CAAG,EACpE,EAAO,GAAc,EAAc,KAAM,EAAG,EAAc,SAAS,EAEvE,YAAK,KAAK,EAAK,eAAe,CAAC,EAC/B,KAAK,MAAM,EAAK,YAAY,CAAC,EAC7B,KAAK,KAAK,EAAK,WAAW,CAAC,EACpB,IACX,CAIA,EAAe,IAAK,EAAG,KAAM,SAAS,EAItC,GAAa,UAAW,GAAG,EAI3B,EAAgB,UAAW,CAAC,EAI5B,GAAc,IAAK,EAAM,EACzB,GAAc,IAAK,SAAU,EAAO,EAAO,CACvC,EAAM,IAAU,GAAM,CAAK,EAAI,GAAK,CACxC,CAAC,EAID,YAAuB,EAAO,CAC1B,MAAO,IAAS,KACV,KAAK,KAAM,MAAK,MAAM,EAAI,GAAK,CAAC,EAChC,KAAK,MAAO,GAAQ,GAAK,EAAK,KAAK,MAAM,EAAI,CAAE,CACzD,CAIA,EAAe,IAAK,CAAC,KAAM,CAAC,EAAG,KAAM,MAAM,EAI3C,GAAa,OAAQ,GAAG,EAGxB,EAAgB,OAAQ,CAAC,EAIzB,GAAc,IAAK,EAAS,EAC5B,GAAc,KAAM,GAAW,EAAM,EACrC,GAAc,KAAM,SAAU,EAAU,EAAQ,CAE5C,MAAO,GACD,EAAO,yBAA2B,EAAO,cACzC,EAAO,8BACjB,CAAC,EAED,GAAc,CAAC,IAAK,IAAI,EAAG,EAAI,EAC/B,GAAc,KAAM,SAAU,EAAO,EAAO,CACxC,EAAM,IAAQ,EAAM,EAAM,MAAM,EAAS,EAAE,EAAE,CACjD,CAAC,EAID,GAAI,IAAmB,GAAW,OAAQ,EAAI,EAI9C,EAAe,MAAO,CAAC,OAAQ,CAAC,EAAG,OAAQ,WAAW,EAItD,GAAa,YAAa,KAAK,EAG/B,EAAgB,YAAa,CAAC,EAI9B,GAAc,MAAO,EAAS,EAC9B,GAAc,OAAQ,EAAM,EAC5B,GAAc,CAAC,MAAO,MAAM,EAAG,SAAU,EAAO,EAAO,EAAQ,CAC3D,EAAO,WAAa,EAAM,CAAK,CACnC,CAAC,EAMD,YAAyB,EAAO,CAC5B,GAAI,GACA,KAAK,MACA,MAAK,MAAM,EAAE,QAAQ,KAAK,EAAI,KAAK,MAAM,EAAE,QAAQ,MAAM,GAAK,KACnE,EAAI,EACR,MAAO,IAAS,KAAO,EAAY,KAAK,IAAI,EAAQ,EAAW,GAAG,CACtE,CAIA,EAAe,IAAK,CAAC,KAAM,CAAC,EAAG,EAAG,QAAQ,EAI1C,GAAa,SAAU,GAAG,EAI1B,EAAgB,SAAU,EAAE,EAI5B,GAAc,IAAK,EAAS,EAC5B,GAAc,KAAM,GAAW,EAAM,EACrC,GAAc,CAAC,IAAK,IAAI,EAAG,EAAM,EAIjC,GAAI,IAAe,GAAW,UAAW,EAAK,EAI9C,EAAe,IAAK,CAAC,KAAM,CAAC,EAAG,EAAG,QAAQ,EAI1C,GAAa,SAAU,GAAG,EAI1B,EAAgB,SAAU,EAAE,EAI5B,GAAc,IAAK,EAAS,EAC5B,GAAc,KAAM,GAAW,EAAM,EACrC,GAAc,CAAC,IAAK,IAAI,EAAG,EAAM,EAIjC,GAAI,IAAe,GAAW,UAAW,EAAK,EAI9C,EAAe,IAAK,EAAG,EAAG,UAAY,CAClC,MAAO,CAAC,CAAE,MAAK,YAAY,EAAI,IACnC,CAAC,EAED,EAAe,EAAG,CAAC,KAAM,CAAC,EAAG,EAAG,UAAY,CACxC,MAAO,CAAC,CAAE,MAAK,YAAY,EAAI,GACnC,CAAC,EAED,EAAe,EAAG,CAAC,MAAO,CAAC,EAAG,EAAG,aAAa,EAC9C,EAAe,EAAG,CAAC,OAAQ,CAAC,EAAG,EAAG,UAAY,CAC1C,MAAO,MAAK,YAAY,EAAI,EAChC,CAAC,EACD,EAAe,EAAG,CAAC,QAAS,CAAC,EAAG,EAAG,UAAY,CAC3C,MAAO,MAAK,YAAY,EAAI,GAChC,CAAC,EACD,EAAe,EAAG,CAAC,SAAU,CAAC,EAAG,EAAG,UAAY,CAC5C,MAAO,MAAK,YAAY,EAAI,GAChC,CAAC,EACD,EAAe,EAAG,CAAC,UAAW,CAAC,EAAG,EAAG,UAAY,CAC7C,MAAO,MAAK,YAAY,EAAI,GAChC,CAAC,EACD,EAAe,EAAG,CAAC,WAAY,CAAC,EAAG,EAAG,UAAY,CAC9C,MAAO,MAAK,YAAY,EAAI,GAChC,CAAC,EACD,EAAe,EAAG,CAAC,YAAa,CAAC,EAAG,EAAG,UAAY,CAC/C,MAAO,MAAK,YAAY,EAAI,GAChC,CAAC,EAID,GAAa,cAAe,IAAI,EAIhC,EAAgB,cAAe,EAAE,EAIjC,GAAc,IAAK,GAAW,EAAM,EACpC,GAAc,KAAM,GAAW,EAAM,EACrC,GAAc,MAAO,GAAW,EAAM,EAEtC,GAAI,IAAO,GACX,IAAK,GAAQ,OAAQ,GAAM,QAAU,EAAG,IAAS,IAC7C,GAAc,GAAO,EAAa,EAGtC,YAAiB,EAAO,EAAO,CAC3B,EAAM,IAAe,EAAO,MAAO,GAAS,GAAI,CACpD,CAEA,IAAK,GAAQ,IAAK,GAAM,QAAU,EAAG,IAAS,IAC1C,GAAc,GAAO,EAAO,EAGhC,GAAoB,GAAW,eAAgB,EAAK,EAIpD,EAAe,IAAK,EAAG,EAAG,UAAU,EACpC,EAAe,KAAM,EAAG,EAAG,UAAU,EAIrC,aAAuB,CACnB,MAAO,MAAK,OAAS,MAAQ,EACjC,CAEA,aAAuB,CACnB,MAAO,MAAK,OAAS,6BAA+B,EACxD,CAEA,GAAI,GAAQ,GAAO,UAEnB,EAAM,IAAM,GACZ,EAAM,SAAW,GACjB,EAAM,MAAQ,GACd,EAAM,KAAO,GACb,EAAM,MAAQ,GACd,EAAM,OAAS,GACf,EAAM,KAAO,GACb,EAAM,QAAU,GAChB,EAAM,GAAK,GACX,EAAM,MAAQ,GACd,EAAM,IAAM,GACZ,EAAM,UAAY,GAClB,EAAM,QAAU,GAChB,EAAM,SAAW,GACjB,EAAM,UAAY,GAClB,EAAM,OAAS,GACf,EAAM,cAAgB,GACtB,EAAM,eAAiB,GACvB,EAAM,QAAU,GAChB,EAAM,KAAO,GACb,EAAM,OAAS,GACf,EAAM,WAAa,GACnB,EAAM,IAAM,GACZ,EAAM,IAAM,GACZ,EAAM,aAAe,GACrB,EAAM,IAAM,GACZ,EAAM,QAAU,GAChB,EAAM,SAAW,GACjB,EAAM,QAAU,GAChB,EAAM,SAAW,GACjB,EAAM,OAAS,GACf,EAAM,YAAc,GACpB,EAAM,QAAU,GACZ,MAAO,QAAW,KAAe,OAAO,KAAO,MAC/C,GAAM,OAAO,IAAI,4BAA4B,GAAK,UAAY,CAC1D,MAAO,UAAY,KAAK,OAAO,EAAI,GACvC,GAEJ,EAAM,OAAS,GACf,EAAM,SAAW,GACjB,EAAM,KAAO,GACb,EAAM,QAAU,GAChB,EAAM,aAAe,GACrB,EAAM,QAAU,GAChB,EAAM,UAAY,GAClB,EAAM,QAAU,GAChB,EAAM,QAAU,GAChB,EAAM,KAAO,GACb,EAAM,WAAa,GACnB,EAAM,SAAW,GACjB,EAAM,YAAc,GACpB,EAAM,QAAU,EAAM,SAAW,GACjC,EAAM,MAAQ,GACd,EAAM,YAAc,GACpB,EAAM,KAAO,EAAM,MAAQ,GAC3B,EAAM,QAAU,EAAM,SAAW,GACjC,EAAM,YAAc,GACpB,EAAM,gBAAkB,GACxB,EAAM,eAAiB,GACvB,EAAM,sBAAwB,GAC9B,EAAM,KAAO,GACb,EAAM,IAAM,EAAM,KAAO,GACzB,EAAM,QAAU,GAChB,EAAM,WAAa,GACnB,EAAM,UAAY,GAClB,EAAM,KAAO,EAAM,MAAQ,GAC3B,EAAM,OAAS,EAAM,QAAU,GAC/B,EAAM,OAAS,EAAM,QAAU,GAC/B,EAAM,YAAc,EAAM,aAAe,GACzC,EAAM,UAAY,GAClB,EAAM,IAAM,GACZ,EAAM,MAAQ,GACd,EAAM,UAAY,GAClB,EAAM,qBAAuB,GAC7B,EAAM,MAAQ,GACd,EAAM,QAAU,GAChB,EAAM,YAAc,GACpB,EAAM,MAAQ,GACd,EAAM,MAAQ,GACd,EAAM,SAAW,GACjB,EAAM,SAAW,GACjB,EAAM,MAAQ,GACV,kDACA,EACJ,EACA,EAAM,OAAS,GACX,mDACA,EACJ,EACA,EAAM,MAAQ,GACV,iDACA,EACJ,EACA,EAAM,KAAO,GACT,2GACA,EACJ,EACA,EAAM,aAAe,GACjB,0GACA,EACJ,EAEA,YAAoB,EAAO,CACvB,MAAO,IAAY,EAAQ,GAAI,CACnC,CAEA,aAAwB,CACpB,MAAO,IAAY,MAAM,KAAM,SAAS,EAAE,UAAU,CACxD,CAEA,YAA4B,EAAQ,CAChC,MAAO,EACX,CAEA,GAAI,IAAU,GAAO,UAErB,GAAQ,SAAW,GACnB,GAAQ,eAAiB,GACzB,GAAQ,YAAc,GACtB,GAAQ,QAAU,GAClB,GAAQ,SAAW,GACnB,GAAQ,WAAa,GACrB,GAAQ,aAAe,GACvB,GAAQ,WAAa,GACrB,GAAQ,IAAM,GACd,GAAQ,KAAO,GACf,GAAQ,UAAY,GACpB,GAAQ,gBAAkB,GAC1B,GAAQ,cAAgB,GACxB,GAAQ,cAAgB,GACxB,GAAQ,gBAAkB,GAE1B,GAAQ,OAAS,GACjB,GAAQ,YAAc,GACtB,GAAQ,YAAc,GACtB,GAAQ,YAAc,GACtB,GAAQ,iBAAmB,GAC3B,GAAQ,KAAO,GACf,GAAQ,eAAiB,GACzB,GAAQ,eAAiB,GAEzB,GAAQ,SAAW,GACnB,GAAQ,YAAc,GACtB,GAAQ,cAAgB,GACxB,GAAQ,cAAgB,GAExB,GAAQ,cAAgB,GACxB,GAAQ,mBAAqB,EAC7B,GAAQ,iBAAmB,EAE3B,GAAQ,KAAO,GACf,GAAQ,SAAW,GAEnB,YAAe,EAAQ,EAAO,EAAO,EAAQ,CACzC,GAAI,GAAS,GAAU,EACnB,EAAM,EAAU,EAAE,IAAI,EAAQ,CAAK,EACvC,MAAO,GAAO,GAAO,EAAK,CAAM,CACpC,CAEA,YAAwB,EAAQ,EAAO,EAAO,CAQ1C,GAPI,EAAS,CAAM,GACf,GAAQ,EACR,EAAS,QAGb,EAAS,GAAU,GAEf,GAAS,KACT,MAAO,IAAM,EAAQ,EAAO,EAAO,OAAO,EAG9C,GAAI,GACA,EAAM,CAAC,EACX,IAAK,EAAI,EAAG,EAAI,GAAI,IAChB,EAAI,GAAK,GAAM,EAAQ,EAAG,EAAO,OAAO,EAE5C,MAAO,EACX,CAUA,YAA0B,EAAc,EAAQ,EAAO,EAAO,CAC1D,AAAI,MAAO,IAAiB,UACpB,GAAS,CAAM,GACf,GAAQ,EACR,EAAS,QAGb,EAAS,GAAU,IAEnB,GAAS,EACT,EAAQ,EACR,EAAe,GAEX,EAAS,CAAM,GACf,GAAQ,EACR,EAAS,QAGb,EAAS,GAAU,IAGvB,GAAI,GAAS,GAAU,EACnB,EAAQ,EAAe,EAAO,MAAM,IAAM,EAC1C,EACA,GAAM,CAAC,EAEX,GAAI,GAAS,KACT,MAAO,IAAM,EAAS,GAAQ,GAAS,EAAG,EAAO,KAAK,EAG1D,IAAK,EAAI,EAAG,EAAI,EAAG,IACf,GAAI,GAAK,GAAM,EAAS,GAAI,GAAS,EAAG,EAAO,KAAK,EAExD,MAAO,GACX,CAEA,YAAoB,EAAQ,EAAO,CAC/B,MAAO,IAAe,EAAQ,EAAO,QAAQ,CACjD,CAEA,YAAyB,EAAQ,EAAO,CACpC,MAAO,IAAe,EAAQ,EAAO,aAAa,CACtD,CAEA,YAAsB,EAAc,EAAQ,EAAO,CAC/C,MAAO,IAAiB,EAAc,EAAQ,EAAO,UAAU,CACnE,CAEA,YAA2B,EAAc,EAAQ,EAAO,CACpD,MAAO,IAAiB,EAAc,EAAQ,EAAO,eAAe,CACxE,CAEA,YAAyB,EAAc,EAAQ,EAAO,CAClD,MAAO,IAAiB,EAAc,EAAQ,EAAO,aAAa,CACtE,CAEA,GAAmB,KAAM,CACrB,KAAM,CACF,CACI,MAAO,aACP,MAAO,IACP,OAAQ,EACR,KAAM,cACN,OAAQ,KACR,KAAM,IACV,EACA,CACI,MAAO,aACP,MAAO,KACP,OAAQ,EACR,KAAM,gBACN,OAAQ,KACR,KAAM,IACV,CACJ,EACA,uBAAwB,uBACxB,QAAS,SAAU,EAAQ,CACvB,GAAI,GAAI,EAAS,GACb,EACI,EAAO,EAAS,IAAO,EAAE,IAAM,EACzB,KACA,IAAM,EACN,KACA,IAAM,EACN,KACA,IAAM,EACN,KACA,KACd,MAAO,GAAS,CACpB,CACJ,CAAC,EAID,EAAM,KAAO,GACT,wDACA,EACJ,EACA,EAAM,SAAW,GACb,gEACA,EACJ,EAEA,GAAI,IAAU,KAAK,IAEnB,aAAe,CACX,GAAI,GAAO,KAAK,MAEhB,YAAK,cAAgB,GAAQ,KAAK,aAAa,EAC/C,KAAK,MAAQ,GAAQ,KAAK,KAAK,EAC/B,KAAK,QAAU,GAAQ,KAAK,OAAO,EAEnC,EAAK,aAAe,GAAQ,EAAK,YAAY,EAC7C,EAAK,QAAU,GAAQ,EAAK,OAAO,EACnC,EAAK,QAAU,GAAQ,EAAK,OAAO,EACnC,EAAK,MAAQ,GAAQ,EAAK,KAAK,EAC/B,EAAK,OAAS,GAAQ,EAAK,MAAM,EACjC,EAAK,MAAQ,GAAQ,EAAK,KAAK,EAExB,IACX,CAEA,YAAuB,EAAU,EAAO,EAAO,EAAW,CACtD,GAAI,GAAQ,GAAe,EAAO,CAAK,EAEvC,SAAS,eAAiB,EAAY,EAAM,cAC5C,EAAS,OAAS,EAAY,EAAM,MACpC,EAAS,SAAW,EAAY,EAAM,QAE/B,EAAS,QAAQ,CAC5B,CAGA,YAAe,EAAO,EAAO,CACzB,MAAO,IAAc,KAAM,EAAO,EAAO,CAAC,CAC9C,CAGA,YAAoB,EAAO,EAAO,CAC9B,MAAO,IAAc,KAAM,EAAO,EAAO,EAAE,CAC/C,CAEA,YAAiB,EAAQ,CACrB,MAAI,GAAS,EACF,KAAK,MAAM,CAAM,EAEjB,KAAK,KAAK,CAAM,CAE/B,CAEA,aAAkB,CACd,GAAI,GAAe,KAAK,cACpB,EAAO,KAAK,MACZ,EAAS,KAAK,QACd,EAAO,KAAK,MACZ,EACA,EACA,EACA,GACA,GAIJ,MAES,IAAgB,GAAK,GAAQ,GAAK,GAAU,GAC5C,GAAgB,GAAK,GAAQ,GAAK,GAAU,GAGjD,IAAgB,GAAQ,GAAa,CAAM,EAAI,CAAI,EAAI,MACvD,EAAO,EACP,EAAS,GAKb,EAAK,aAAe,EAAe,IAEnC,EAAU,EAAS,EAAe,GAAI,EACtC,EAAK,QAAU,EAAU,GAEzB,EAAU,EAAS,EAAU,EAAE,EAC/B,EAAK,QAAU,EAAU,GAEzB,EAAQ,EAAS,EAAU,EAAE,EAC7B,EAAK,MAAQ,EAAQ,GAErB,GAAQ,EAAS,EAAQ,EAAE,EAG3B,GAAiB,EAAS,GAAa,CAAI,CAAC,EAC5C,GAAU,GACV,GAAQ,GAAQ,GAAa,EAAc,CAAC,EAG5C,GAAQ,EAAS,EAAS,EAAE,EAC5B,GAAU,GAEV,EAAK,KAAO,EACZ,EAAK,OAAS,EACd,EAAK,MAAQ,GAEN,IACX,CAEA,YAAsB,EAAM,CAGxB,MAAQ,GAAO,KAAQ,MAC3B,CAEA,YAAsB,EAAQ,CAE1B,MAAQ,GAAS,OAAU,IAC/B,CAEA,YAAY,EAAO,CACf,GAAI,CAAC,KAAK,QAAQ,EACd,MAAO,KAEX,GAAI,GACA,EACA,EAAe,KAAK,cAIxB,GAFA,EAAQ,GAAe,CAAK,EAExB,IAAU,SAAW,IAAU,WAAa,IAAU,OAGtD,OAFA,EAAO,KAAK,MAAQ,EAAe,MACnC,EAAS,KAAK,QAAU,GAAa,CAAI,EACjC,OACC,QACD,MAAO,OACN,UACD,MAAO,GAAS,MACf,OACD,MAAO,GAAS,OAKxB,QADA,EAAO,KAAK,MAAQ,KAAK,MAAM,GAAa,KAAK,OAAO,CAAC,EACjD,OACC,OACD,MAAO,GAAO,EAAI,EAAe,WAChC,MACD,MAAO,GAAO,EAAe,UAC5B,OACD,MAAO,GAAO,GAAK,EAAe,SACjC,SACD,MAAO,GAAO,KAAO,EAAe,QACnC,SACD,MAAO,GAAO,MAAQ,EAAe,QAEpC,cACD,MAAO,MAAK,MAAM,EAAO,KAAK,EAAI,UAElC,KAAM,IAAI,OAAM,gBAAkB,CAAK,EAGvD,CAGA,aAAqB,CACjB,MAAK,MAAK,QAAQ,EAId,KAAK,cACL,KAAK,MAAQ,MACZ,KAAK,QAAU,GAAM,OACtB,EAAM,KAAK,QAAU,EAAE,EAAI,QANpB,GAQf,CAEA,YAAgB,EAAO,CACnB,MAAO,WAAY,CACf,MAAO,MAAK,GAAG,CAAK,CACxB,CACJ,CAEA,GAAI,IAAiB,GAAO,IAAI,EAC5B,GAAY,GAAO,GAAG,EACtB,GAAY,GAAO,GAAG,EACtB,GAAU,GAAO,GAAG,EACpB,GAAS,GAAO,GAAG,EACnB,GAAU,GAAO,GAAG,EACpB,GAAW,GAAO,GAAG,EACrB,GAAa,GAAO,GAAG,EACvB,GAAU,GAAO,GAAG,EAExB,aAAmB,CACf,MAAO,IAAe,IAAI,CAC9B,CAEA,YAAe,EAAO,CAClB,SAAQ,GAAe,CAAK,EACrB,KAAK,QAAQ,EAAI,KAAK,EAAQ,KAAK,EAAI,GAClD,CAEA,YAAoB,EAAM,CACtB,MAAO,WAAY,CACf,MAAO,MAAK,QAAQ,EAAI,KAAK,MAAM,GAAQ,GAC/C,CACJ,CAEA,GAAI,IAAe,GAAW,cAAc,EACxC,GAAU,GAAW,SAAS,EAC9B,GAAU,GAAW,SAAS,EAC9B,GAAQ,GAAW,OAAO,EAC1B,GAAO,GAAW,MAAM,EACxB,GAAS,GAAW,QAAQ,EAC5B,GAAQ,GAAW,OAAO,EAE9B,aAAiB,CACb,MAAO,GAAS,KAAK,KAAK,EAAI,CAAC,CACnC,CAEA,GAAI,IAAQ,KAAK,MACb,GAAa,CACT,GAAI,GACJ,EAAG,GACH,EAAG,GACH,EAAG,GACH,EAAG,GACH,EAAG,KACH,EAAG,EACP,EAGJ,YAA2B,EAAQ,EAAQ,EAAe,EAAU,EAAQ,CACxE,MAAO,GAAO,aAAa,GAAU,EAAG,CAAC,CAAC,EAAe,EAAQ,CAAQ,CAC7E,CAEA,YAAwB,EAAgB,EAAe,EAAY,EAAQ,CACvE,GAAI,GAAW,GAAe,CAAc,EAAE,IAAI,EAC9C,EAAU,GAAM,EAAS,GAAG,GAAG,CAAC,EAChC,EAAU,GAAM,EAAS,GAAG,GAAG,CAAC,EAChC,GAAQ,GAAM,EAAS,GAAG,GAAG,CAAC,EAC9B,GAAO,GAAM,EAAS,GAAG,GAAG,CAAC,EAC7B,GAAS,GAAM,EAAS,GAAG,GAAG,CAAC,EAC/B,GAAQ,GAAM,EAAS,GAAG,GAAG,CAAC,EAC9B,GAAQ,GAAM,EAAS,GAAG,GAAG,CAAC,EAC9B,GACK,GAAW,EAAW,IAAM,CAAC,IAAK,CAAO,GACzC,EAAU,EAAW,GAAK,CAAC,KAAM,CAAO,GACxC,GAAW,GAAK,CAAC,GAAG,GACpB,EAAU,EAAW,GAAK,CAAC,KAAM,CAAO,GACxC,IAAS,GAAK,CAAC,GAAG,GAClB,GAAQ,EAAW,GAAK,CAAC,KAAM,EAAK,GACpC,IAAQ,GAAK,CAAC,GAAG,GACjB,GAAO,EAAW,GAAK,CAAC,KAAM,EAAI,EAE3C,MAAI,GAAW,GAAK,MAChB,IACI,IACC,IAAS,GAAK,CAAC,GAAG,GAClB,GAAQ,EAAW,GAAK,CAAC,KAAM,EAAK,GAE7C,GAAI,IACC,IAAU,GAAK,CAAC,GAAG,GACnB,GAAS,EAAW,GAAK,CAAC,KAAM,EAAM,GACtC,IAAS,GAAK,CAAC,GAAG,GAAM,CAAC,KAAM,EAAK,EAEzC,GAAE,GAAK,EACP,GAAE,GAAK,CAAC,EAAiB,EACzB,GAAE,GAAK,EACA,GAAkB,MAAM,KAAM,EAAC,CAC1C,CAGA,YAAoC,EAAkB,CAClD,MAAI,KAAqB,OACd,GAEP,MAAO,IAAqB,WAC5B,IAAQ,EACD,IAEJ,EACX,CAGA,YAAqC,EAAW,EAAO,CACnD,MAAI,IAAW,KAAe,OACnB,GAEP,IAAU,OACH,GAAW,GAEtB,IAAW,GAAa,EACpB,IAAc,KACd,IAAW,GAAK,EAAQ,GAErB,GACX,CAEA,YAAkB,EAAe,EAAe,CAC5C,GAAI,CAAC,KAAK,QAAQ,EACd,MAAO,MAAK,WAAW,EAAE,YAAY,EAGzC,GAAI,GAAa,GACb,EAAK,GACL,EACA,EAEJ,MAAI,OAAO,IAAkB,UACzB,GAAgB,EAChB,EAAgB,IAEhB,MAAO,IAAkB,WACzB,GAAa,GAEb,MAAO,IAAkB,UACzB,GAAK,OAAO,OAAO,CAAC,EAAG,GAAY,CAAa,EAC5C,EAAc,GAAK,MAAQ,EAAc,IAAM,MAC/C,GAAG,GAAK,EAAc,EAAI,IAIlC,EAAS,KAAK,WAAW,EACzB,EAAS,GAAe,KAAM,CAAC,EAAY,EAAI,CAAM,EAEjD,GACA,GAAS,EAAO,WAAW,CAAC,KAAM,CAAM,GAGrC,EAAO,WAAW,CAAM,CACnC,CAEA,GAAI,IAAQ,KAAK,IAEjB,YAAc,EAAG,CACb,MAAQ,GAAI,GAAM,GAAI,IAAM,CAAC,CACjC,CAEA,aAAyB,CAQrB,GAAI,CAAC,KAAK,QAAQ,EACd,MAAO,MAAK,WAAW,EAAE,YAAY,EAGzC,GAAI,GAAU,GAAM,KAAK,aAAa,EAAI,IACtC,EAAO,GAAM,KAAK,KAAK,EACvB,EAAS,GAAM,KAAK,OAAO,EAC3B,EACA,EACA,EACA,EACA,GAAQ,KAAK,UAAU,EACvB,GACA,GACA,GACA,GAEJ,MAAK,IAOL,GAAU,EAAS,EAAU,EAAE,EAC/B,EAAQ,EAAS,EAAU,EAAE,EAC7B,GAAW,GACX,GAAW,GAGX,EAAQ,EAAS,EAAS,EAAE,EAC5B,GAAU,GAGV,EAAI,EAAU,EAAQ,QAAQ,CAAC,EAAE,QAAQ,SAAU,EAAE,EAAI,GAEzD,GAAY,GAAQ,EAAI,IAAM,GAC9B,GAAS,GAAK,KAAK,OAAO,IAAM,GAAK,EAAK,EAAI,IAAM,GACpD,GAAW,GAAK,KAAK,KAAK,IAAM,GAAK,EAAK,EAAI,IAAM,GACpD,GAAU,GAAK,KAAK,aAAa,IAAM,GAAK,EAAK,EAAI,IAAM,GAGvD,GACA,IACC,GAAQ,GAAS,EAAQ,IAAM,IAC/B,GAAS,GAAS,EAAS,IAAM,IACjC,GAAO,GAAW,EAAO,IAAM,IAC/B,IAAS,GAAW,EAAU,IAAM,IACpC,GAAQ,GAAU,EAAQ,IAAM,IAChC,GAAU,GAAU,EAAU,IAAM,IACpC,GAAU,GAAU,EAAI,IAAM,KA9BxB,KAgCf,CAEA,GAAI,IAAU,GAAS,UAEvB,GAAQ,QAAU,GAClB,GAAQ,IAAM,GACd,GAAQ,IAAM,GACd,GAAQ,SAAW,GACnB,GAAQ,GAAK,GACb,GAAQ,eAAiB,GACzB,GAAQ,UAAY,GACpB,GAAQ,UAAY,GACpB,GAAQ,QAAU,GAClB,GAAQ,OAAS,GACjB,GAAQ,QAAU,GAClB,GAAQ,SAAW,GACnB,GAAQ,WAAa,GACrB,GAAQ,QAAU,GAClB,GAAQ,QAAU,GAClB,GAAQ,QAAU,GAClB,GAAQ,MAAQ,GAChB,GAAQ,IAAM,GACd,GAAQ,aAAe,GACvB,GAAQ,QAAU,GAClB,GAAQ,QAAU,GAClB,GAAQ,MAAQ,GAChB,GAAQ,KAAO,GACf,GAAQ,MAAQ,GAChB,GAAQ,OAAS,GACjB,GAAQ,MAAQ,GAChB,GAAQ,SAAW,GACnB,GAAQ,YAAc,GACtB,GAAQ,SAAW,GACnB,GAAQ,OAAS,GACjB,GAAQ,OAAS,GACjB,GAAQ,WAAa,GAErB,GAAQ,YAAc,GAClB,sFACA,EACJ,EACA,GAAQ,KAAO,GAIf,EAAe,IAAK,EAAG,EAAG,MAAM,EAChC,EAAe,IAAK,EAAG,EAAG,SAAS,EAInC,GAAc,IAAK,EAAW,EAC9B,GAAc,IAAK,EAAc,EACjC,GAAc,IAAK,SAAU,EAAO,EAAO,EAAQ,CAC/C,EAAO,GAAK,GAAI,MAAK,WAAW,CAAK,EAAI,GAAI,CACjD,CAAC,EACD,GAAc,IAAK,SAAU,EAAO,EAAO,EAAQ,CAC/C,EAAO,GAAK,GAAI,MAAK,EAAM,CAAK,CAAC,CACrC,CAAC,EAED,AAEA,SAAM,QAAU,SAEhB,EAAgB,EAAW,EAE3B,EAAM,GAAK,EACX,EAAM,IAAM,GACZ,EAAM,IAAM,GACZ,EAAM,IAAM,GACZ,EAAM,IAAM,EACZ,EAAM,KAAO,GACb,EAAM,OAAS,GACf,EAAM,OAAS,EACf,EAAM,OAAS,GACf,EAAM,QAAU,EAChB,EAAM,SAAW,GACjB,EAAM,SAAW,GACjB,EAAM,SAAW,GACjB,EAAM,UAAY,GAClB,EAAM,WAAa,GACnB,EAAM,WAAa,GACnB,EAAM,YAAc,GACpB,EAAM,YAAc,GACpB,EAAM,aAAe,GACrB,EAAM,aAAe,GACrB,EAAM,QAAU,GAChB,EAAM,cAAgB,GACtB,EAAM,eAAiB,GACvB,EAAM,qBAAuB,GAC7B,EAAM,sBAAwB,GAC9B,EAAM,eAAiB,GACvB,EAAM,UAAY,EAGlB,EAAM,UAAY,CACd,eAAgB,mBAChB,uBAAwB,sBACxB,kBAAmB,0BACnB,KAAM,aACN,KAAM,QACN,aAAc,WACd,QAAS,eACT,KAAM,aACN,MAAO,SACX,EAEO,CAEX,CAAE;qFCpjLF,GACE,GAKE,OALF,eACA,EAIE,OAJF,eACA,EAGE,OAHF,SACA,EAEE,OAFF,eACA,EACE,OADF,yBAGI,EAAyB,OAAzB,OAAQ,EAAiB,OAAjB,KAAM,EAAW,OAAX,OACpB,EAA2B,MAAO,SAAY,KAAe,QAAvD,GAAN,EAAM,MAAO,GAAb,EAAa,UAEb,AAAK,IACH,IAAQ,SAAU,EAAK,EAAW,EAAM,CACtC,MAAO,GAAI,MAAM,EAAW,CAArB,CACR,GAGE,GACH,GAAS,SAAU,EAAG,CACpB,MAAO,EACR,GAGE,GACH,GAAO,SAAU,EAAG,CAClB,MAAO,EACR,GAGE,IACH,IAAY,SAAU,EAAM,EAAM,CACrB,MAAA,GAAA,EAAX,EAAmB,CAAnB,CAAA,CACD,GAGH,GAAM,IAAe,GAAQ,MAAM,UAAU,OAAjB,EAEtB,GAAW,GAAQ,MAAM,UAAU,GAAjB,EAClB,GAAY,GAAQ,MAAM,UAAU,IAAjB,EAGnB,GAAoB,GAAQ,OAAO,UAAU,WAAlB,EAC3B,GAAc,GAAQ,OAAO,UAAU,KAAlB,EACrB,GAAgB,GAAQ,OAAO,UAAU,OAAlB,EACvB,GAAgB,GAAQ,OAAO,UAAU,OAAlB,EACvB,GAAa,GAAQ,OAAO,UAAU,IAAlB,EAEpB,GAAa,GAAQ,OAAO,UAAU,IAAlB,EAEpB,GAAkB,GAAY,SAAD,EAE5B,YAAiB,EAAM,CAC5B,MAAO,UAAC,EAAD,CAAA,OAAA,GAAA,UAAA,OAAa,EAAb,GAAA,OAAA,EAAA,EAAA,EAAA,EAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAa,EAAb,EAAA,GAAA,UAAA,GAAA,MAAsB,IAAM,EAAM,EAAS,CAAhB,CAA3B,CACR,CAEM,YAAqB,EAAM,CACzB,MAAA,WAAA,CAAA,OAAA,GAAA,UAAA,OAAI,EAAJ,GAAA,OAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAI,EAAJ,GAAA,UAAA,GAAA,MAAa,IAAU,EAAM,CAAP,CAAtB,CACR,CAGM,YAAkB,EAAK,EAAO,CACnC,AAAI,GAIF,EAAe,EAAK,IAAN,EAIT,OADH,GAAI,EAAM,OACP,KAAK,CACV,GAAI,GAAU,EAAM,GACpB,GAAI,MAAO,IAAY,SAAU,CAC/B,GAAM,GAAY,GAAkB,CAAD,EAC/B,AAAA,IAAc,GAEX,GAAS,CAAD,GACX,GAAM,GAAK,GAGb,EAAU,EAEb,CAED,EAAI,GAAW,EAChB,CAED,MAAO,EACR,CAGM,YAAe,EAAQ,CAC5B,GAAM,GAAY,EAAO,IAAD,EAEpB,EACC,IAAA,IAAY,GACX,AAAA,GAAM,EAAgB,EAAQ,CAAC,CAAD,CAAzB,GACP,GAAU,GAAY,EAAO,IAIjC,MAAO,EACR,CAMD,YAAsB,EAAQ,EAAM,CAC3B,KAAA,IAAW,MAAM,CACtB,GAAM,GAAO,EAAyB,EAAQ,CAAT,EACrC,GAAI,EAAM,CACJ,GAAA,EAAK,IACP,MAAO,IAAQ,EAAK,GAAN,EAGhB,GAAI,MAAO,GAAK,OAAU,WACxB,MAAO,IAAQ,EAAK,KAAN,CAEjB,CAED,EAAS,EAAe,CAAD,CACxB,CAEQ,WAAc,EAAS,CAC9B,eAAQ,KAAK,qBAAsB,CAAnC,EACO,IACR,CAED,MAAO,EACR,CC/HM,GAAM,IAAO,EAAO,CACzB,IACA,OACA,UACA,UACA,OACA,UACA,QACA,QACA,IACA,MACA,MACA,MACA,QACA,aACA,OACA,KACA,SACA,SACA,UACA,SACA,OACA,OACA,MACA,WACA,UACA,OACA,WACA,KACA,YACA,MACA,UACA,MACA,SACA,MACA,MACA,KACA,KACA,UACA,KACA,WACA,aACA,SACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,MACA,OACA,UACA,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,UACA,SACA,SACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,KArHyB,CAAD,EAyHb,GAAM,EAAO,CACxB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,SACA,WACA,OACA,OACA,UACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,OACA,OA3CwB,CAAD,EA8CZ,GAAa,EAAO,CAC/B,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,cAxB+B,CAAD,EA+BnB,EAAgB,EAAO,CAClC,UACA,gBACA,SACA,UACA,eACA,YACA,mBACA,iBACA,gBACA,gBACA,gBACA,QACA,YACA,OACA,eACA,YACA,UACA,gBACA,SACA,MACA,aACA,UACA,KAvBkC,CAAD,EA0BtB,GAAS,EAAO,CAC3B,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,YA7B2B,CAAD,EAkCf,GAAmB,EAAO,CACrC,UACA,cACA,aACA,WACA,YACA,UACA,UACA,SACA,SACA,QACA,YACA,aACA,iBACA,cACA,MAfqC,CAAD,EAkBzB,GAAO,EAAO,CAAC,OAAD,CAAD,ECpRb,GAAO,EAAO,CACzB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,QACA,UACA,aACA,SACA,OACA,UACA,UACA,cACA,cACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,QACA,MA7GyB,CAAD,EAgHb,EAAM,EAAO,CACxB,gBACA,aACA,WACA,qBACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,gBACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,MACA,WACA,YACA,MACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,iBACA,WACA,UACA,UACA,YACA,mBACA,cACA,kBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,YAtLwB,CAAD,EAyLZ,GAAS,EAAO,CAC3B,SACA,cACA,QACA,WACA,QACA,eACA,cACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,SACA,gBACA,SACA,SACA,iBACA,YACA,WACA,cACA,UACA,UACA,gBACA,WACA,WACA,OACA,WACA,WACA,aACA,UACA,SACA,SACA,cACA,gBACA,uBACA,YACA,YACA,aACA,WACA,iBACA,iBACA,YACA,UACA,QACA,OArD2B,CAAD,EAwDf,GAAM,EAAO,CACxB,aACA,SACA,cACA,YACA,aALwB,CAAD,EChWZ,GAAgB,EAAK,2BAAD,EACpB,GAAW,EAAK,uBAAD,EACf,GAAY,EAAK,4BAAD,EAChB,GAAY,EAAK,gBAAD,EAChB,GAAiB,EAC5B,uFADgC,EAGrB,GAAoB,EAAK,uBAAD,EACxB,GAAkB,EAC7B,6DADiC,EAGtB,GAAe,EAAK,SAAD,ECM1B,GAAY,UAAA,CAAA,MAAO,OAAO,QAAW,IAAc,KAAO,MAA9C,EAUZ,GAA4B,SAAU,EAAc,EAAU,CAEhE,GAAA,EAAO,CAAP,IAAwB,UACxB,MAAO,GAAa,cAAiB,WAErC,MAAO,MAML,GAAA,GAAS,KACP,EAAY,wBAClB,AACE,EAAS,eACT,EAAS,cAAc,aAAa,CAApC,GAEA,GAAS,EAAS,cA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",
"names": []
}