CoolFace
Apppublic

admin08077/Githubgemini

sourceHugging Faceotherupdated 10mo agoView on Hugging Face
0likes
axe-core-Cc5paZPx.js.map1 linesDownload Raw Back to assets
1{"version":3,"file":"axe-core-Cc5paZPx.js","sources":["../../node_modules/axe-core/axe.js"],"sourcesContent":["/*! axe v4.11.0\n * Copyright (c) 2015 - 2025 Deque Systems, Inc.\n *\n * Your use of this Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n *\n * This entire copyright notice must appear in every copy of this file you\n * distribute or in any file that contains substantial portions of this source\n * code.\n */\n(function axeFunction(window) {\n  var global = window;\n  var document = window.document;\n  'use strict';\n  function _typeof(o) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function(o) {\n      return typeof o;\n    } : function(o) {\n      return o && 'function' == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? 'symbol' : typeof o;\n    }, _typeof(o);\n  }\n  var axe = axe || {};\n  axe.version = '4.11.0';\n  if (typeof define === 'function' && define.amd) {\n    define('axe-core', [], function() {\n      return axe;\n    });\n  }\n  if ((typeof module === 'undefined' ? 'undefined' : _typeof(module)) === 'object' && module.exports && typeof axeFunction.toString === 'function') {\n    axe.source = '(' + axeFunction.toString() + ')(typeof window === \"object\" ? window : this);';\n    module.exports = axe;\n  }\n  if (typeof window.getComputedStyle === 'function') {\n    window.axe = axe;\n  }\n  var commons;\n  'use strict';\n  var _excluded = [ 'precision', 'format', 'inGamut' ], _excluded2 = [ 'space' ], _excluded3 = [ 'algorithm' ], _excluded4 = [ 'method' ], _excluded5 = [ 'maxDeltaE', 'deltaEMethod', 'steps', 'maxSteps' ], _excluded6 = [ 'variant' ], _excluded7 = [ 'matches' ], _excluded8 = [ 'chromium' ], _excluded9 = [ 'noImplicit' ], _excluded0 = [ 'noPresentational' ], _excluded1 = [ 'node' ], _excluded10 = [ 'relatedNodes' ], _excluded11 = [ 'node' ], _excluded12 = [ 'node' ], _excluded13 = [ 'environmentData' ], _excluded14 = [ 'environmentData' ], _excluded15 = [ 'environmentData' ], _excluded16 = [ 'environmentData' ], _excluded17 = [ 'environmentData' ];\n  function _toArray(r) {\n    return _arrayWithHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableRest();\n  }\n  function _wrapNativeSuper(t) {\n    var r = 'function' == typeof Map ? new Map() : void 0;\n    return _wrapNativeSuper = function _wrapNativeSuper(t) {\n      if (null === t || !_isNativeFunction(t)) {\n        return t;\n      }\n      if ('function' != typeof t) {\n        throw new TypeError('Super expression must either be null or a function');\n      }\n      if (void 0 !== r) {\n        if (r.has(t)) {\n          return r.get(t);\n        }\n        r.set(t, Wrapper);\n      }\n      function Wrapper() {\n        return _construct(t, arguments, _getPrototypeOf(this).constructor);\n      }\n      return Wrapper.prototype = Object.create(t.prototype, {\n        constructor: {\n          value: Wrapper,\n          enumerable: !1,\n          writable: !0,\n          configurable: !0\n        }\n      }), _setPrototypeOf(Wrapper, t);\n    }, _wrapNativeSuper(t);\n  }\n  function _isNativeFunction(t) {\n    try {\n      return -1 !== Function.toString.call(t).indexOf('[native code]');\n    } catch (n) {\n      return 'function' == typeof t;\n    }\n  }\n  function _defineProperty(e, r, t) {\n    return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n      value: t,\n      enumerable: !0,\n      configurable: !0,\n      writable: !0\n    }) : e[r] = t, e;\n  }\n  function _construct(t, e, r) {\n    if (_isNativeReflectConstruct()) {\n      return Reflect.construct.apply(null, arguments);\n    }\n    var o = [ null ];\n    o.push.apply(o, e);\n    var p = new (t.bind.apply(t, o))();\n    return r && _setPrototypeOf(p, r.prototype), p;\n  }\n  function _objectWithoutProperties(e, t) {\n    if (null == e) {\n      return {};\n    }\n    var o, r, i = _objectWithoutPropertiesLoose(e, t);\n    if (Object.getOwnPropertySymbols) {\n      var n = Object.getOwnPropertySymbols(e);\n      for (r = 0; r < n.length; r++) {\n        o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n      }\n    }\n    return i;\n  }\n  function _objectWithoutPropertiesLoose(r, e) {\n    if (null == r) {\n      return {};\n    }\n    var t = {};\n    for (var n in r) {\n      if ({}.hasOwnProperty.call(r, n)) {\n        if (-1 !== e.indexOf(n)) {\n          continue;\n        }\n        t[n] = r[n];\n      }\n    }\n    return t;\n  }\n  function _callSuper(t, o, e) {\n    return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));\n  }\n  function _possibleConstructorReturn(t, e) {\n    if (e && ('object' == _typeof(e) || 'function' == typeof e)) {\n      return e;\n    }\n    if (void 0 !== e) {\n      throw new TypeError('Derived constructors may only return object or undefined');\n    }\n    return _assertThisInitialized(t);\n  }\n  function _assertThisInitialized(e) {\n    if (void 0 === e) {\n      throw new ReferenceError('this hasn\\'t been initialised - super() hasn\\'t been called');\n    }\n    return e;\n  }\n  function _isNativeReflectConstruct() {\n    try {\n      var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));\n    } catch (t) {}\n    return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n      return !!t;\n    })();\n  }\n  function _getPrototypeOf(t) {\n    return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(t) {\n      return t.__proto__ || Object.getPrototypeOf(t);\n    }, _getPrototypeOf(t);\n  }\n  function _inherits(t, e) {\n    if ('function' != typeof e && null !== e) {\n      throw new TypeError('Super expression must either be null or a function');\n    }\n    t.prototype = Object.create(e && e.prototype, {\n      constructor: {\n        value: t,\n        writable: !0,\n        configurable: !0\n      }\n    }), Object.defineProperty(t, 'prototype', {\n      writable: !1\n    }), e && _setPrototypeOf(t, e);\n  }\n  function _setPrototypeOf(t, e) {\n    return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(t, e) {\n      return t.__proto__ = e, t;\n    }, _setPrototypeOf(t, e);\n  }\n  function _extends() {\n    return _extends = Object.assign ? Object.assign.bind() : function(n) {\n      for (var e = 1; e < arguments.length; e++) {\n        var t = arguments[e];\n        for (var r in t) {\n          ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n        }\n      }\n      return n;\n    }, _extends.apply(null, arguments);\n  }\n  function _toConsumableArray(r) {\n    return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();\n  }\n  function _nonIterableSpread() {\n    throw new TypeError('Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');\n  }\n  function _iterableToArray(r) {\n    if ('undefined' != typeof Symbol && null != r[Symbol.iterator] || null != r['@@iterator']) {\n      return Array.from(r);\n    }\n  }\n  function _arrayWithoutHoles(r) {\n    if (Array.isArray(r)) {\n      return _arrayLikeToArray(r);\n    }\n  }\n  function _classPrivateFieldInitSpec(e, t, a) {\n    _checkPrivateRedeclaration(e, t), t.set(e, a);\n  }\n  function _classPrivateMethodInitSpec(e, a) {\n    _checkPrivateRedeclaration(e, a), a.add(e);\n  }\n  function _checkPrivateRedeclaration(e, t) {\n    if (t.has(e)) {\n      throw new TypeError('Cannot initialize the same private elements twice on an object');\n    }\n  }\n  function _classPrivateFieldGet(s, a) {\n    return s.get(_assertClassBrand(s, a));\n  }\n  function _classPrivateFieldSet(s, a, r) {\n    return s.set(_assertClassBrand(s, a), r), r;\n  }\n  function _assertClassBrand(e, t, n) {\n    if ('function' == typeof e ? e === t : e.has(t)) {\n      return arguments.length < 3 ? t : n;\n    }\n    throw new TypeError('Private element is not present on this object');\n  }\n  function _slicedToArray(r, e) {\n    return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();\n  }\n  function _nonIterableRest() {\n    throw new TypeError('Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');\n  }\n  function _iterableToArrayLimit(r, l) {\n    var t = null == r ? null : 'undefined' != typeof Symbol && r[Symbol.iterator] || r['@@iterator'];\n    if (null != t) {\n      var e, n, i, u, a = [], f = !0, o = !1;\n      try {\n        if (i = (t = t.call(r)).next, 0 === l) {\n          if (Object(t) !== t) {\n            return;\n          }\n          f = !1;\n        } else {\n          for (;!(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0) {}\n        }\n      } catch (r) {\n        o = !0, n = r;\n      } finally {\n        try {\n          if (!f && null != t['return'] && (u = t['return'](), Object(u) !== u)) {\n            return;\n          }\n        } finally {\n          if (o) {\n            throw n;\n          }\n        }\n      }\n      return a;\n    }\n  }\n  function _arrayWithHoles(r) {\n    if (Array.isArray(r)) {\n      return r;\n    }\n  }\n  function _classCallCheck(a, n) {\n    if (!(a instanceof n)) {\n      throw new TypeError('Cannot call a class as a function');\n    }\n  }\n  function _defineProperties(e, r) {\n    for (var t = 0; t < r.length; t++) {\n      var o = r[t];\n      o.enumerable = o.enumerable || !1, o.configurable = !0, 'value' in o && (o.writable = !0), \n      Object.defineProperty(e, _toPropertyKey(o.key), o);\n    }\n  }\n  function _createClass(e, r, t) {\n    return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), \n    Object.defineProperty(e, 'prototype', {\n      writable: !1\n    }), e;\n  }\n  function _toPropertyKey(t) {\n    var i = _toPrimitive(t, 'string');\n    return 'symbol' == _typeof(i) ? i : i + '';\n  }\n  function _toPrimitive(t, r) {\n    if ('object' != _typeof(t) || !t) {\n      return t;\n    }\n    var e = t[Symbol.toPrimitive];\n    if (void 0 !== e) {\n      var i = e.call(t, r || 'default');\n      if ('object' != _typeof(i)) {\n        return i;\n      }\n      throw new TypeError('@@toPrimitive must return a primitive value.');\n    }\n    return ('string' === r ? String : Number)(t);\n  }\n  function _createForOfIteratorHelper(r, e) {\n    var t = 'undefined' != typeof Symbol && r[Symbol.iterator] || r['@@iterator'];\n    if (!t) {\n      if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && 'number' == typeof r.length) {\n        t && (r = t);\n        var _n = 0, F = function F() {};\n        return {\n          s: F,\n          n: function n() {\n            return _n >= r.length ? {\n              done: !0\n            } : {\n              done: !1,\n              value: r[_n++]\n            };\n          },\n          e: function e(r) {\n            throw r;\n          },\n          f: F\n        };\n      }\n      throw new TypeError('Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');\n    }\n    var o, a = !0, u = !1;\n    return {\n      s: function s() {\n        t = t.call(r);\n      },\n      n: function n() {\n        var r = t.next();\n        return a = r.done, r;\n      },\n      e: function e(r) {\n        u = !0, o = r;\n      },\n      f: function f() {\n        try {\n          a || null == t['return'] || t['return']();\n        } finally {\n          if (u) {\n            throw o;\n          }\n        }\n      }\n    };\n  }\n  function _unsupportedIterableToArray(r, a) {\n    if (r) {\n      if ('string' == typeof r) {\n        return _arrayLikeToArray(r, a);\n      }\n      var t = {}.toString.call(r).slice(8, -1);\n      return 'Object' === t && r.constructor && (t = r.constructor.name), 'Map' === t || 'Set' === t ? Array.from(r) : 'Arguments' === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;\n    }\n  }\n  function _arrayLikeToArray(r, a) {\n    (null == a || a > r.length) && (a = r.length);\n    for (var e = 0, n = Array(a); e < a; e++) {\n      n[e] = r[e];\n    }\n    return n;\n  }\n  function _typeof(o) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function(o) {\n      return typeof o;\n    } : function(o) {\n      return o && 'function' == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? 'symbol' : typeof o;\n    }, _typeof(o);\n  }\n  (function(_Class_brand, _path, _CSS, _space, _r, _g, _b, _red, _green, _blue, _Class3_brand) {\n    var __create = Object.create;\n    var __defProp = Object.defineProperty;\n    var __getProtoOf = Object.getPrototypeOf;\n    var __hasOwnProp = Object.prototype.hasOwnProperty;\n    var __getOwnPropNames = Object.getOwnPropertyNames;\n    var __getOwnPropDesc = Object.getOwnPropertyDescriptor;\n    var __defNormalProp = function __defNormalProp(obj, key, value) {\n      return key in obj ? __defProp(obj, key, {\n        enumerable: true,\n        configurable: true,\n        writable: true,\n        value: value\n      }) : obj[key] = value;\n    };\n    var __markAsModule = function __markAsModule(target) {\n      return __defProp(target, '__esModule', {\n        value: true\n      });\n    };\n    var __commonJS = function __commonJS(cb, mod) {\n      return function() {\n        return mod || cb((mod = {\n          exports: {}\n        }).exports, mod), mod.exports;\n      };\n    };\n    var __export = function __export(target, all) {\n      for (var name in all) {\n        __defProp(target, name, {\n          get: all[name],\n          enumerable: true\n        });\n      }\n    };\n    var __exportStar = function __exportStar(target, module, desc) {\n      if (module && _typeof(module) === 'object' || typeof module === 'function') {\n        var _iterator = _createForOfIteratorHelper(__getOwnPropNames(module)), _step;\n        try {\n          var _loop = function _loop() {\n            var key = _step.value;\n            if (!__hasOwnProp.call(target, key) && key !== 'default') {\n              __defProp(target, key, {\n                get: function get() {\n                  return module[key];\n                },\n                enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable\n              });\n            }\n          };\n          for (_iterator.s(); !(_step = _iterator.n()).done; ) {\n            _loop();\n          }\n        } catch (err) {\n          _iterator.e(err);\n        } finally {\n          _iterator.f();\n        }\n      }\n      return target;\n    };\n    var __toModule = function __toModule(module) {\n      return __exportStar(__markAsModule(__defProp(module != null ? __create(__getProtoOf(module)) : {}, 'default', module && module.__esModule && 'default' in module ? {\n        get: function get() {\n          return module['default'];\n        },\n        enumerable: true\n      } : {\n        value: module,\n        enumerable: true\n      })), module);\n    };\n    var __publicField = function __publicField(obj, key, value) {\n      __defNormalProp(obj, _typeof(key) !== 'symbol' ? key + '' : key, value);\n      return value;\n    };\n    var require_es6_promise = __commonJS(function(exports, module) {\n      (function(global2, factory) {\n        _typeof(exports) === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : global2.ES6Promise = factory();\n      })(exports, function() {\n        'use strict';\n        function objectOrFunction(x) {\n          var type2 = _typeof(x);\n          return x !== null && (type2 === 'object' || type2 === 'function');\n        }\n        function isFunction(x) {\n          return typeof x === 'function';\n        }\n        var _isArray = void 0;\n        if (Array.isArray) {\n          _isArray = Array.isArray;\n        } else {\n          _isArray = function _isArray(x) {\n            return Object.prototype.toString.call(x) === '[object Array]';\n          };\n        }\n        var isArray = _isArray;\n        var len = 0;\n        var vertxNext = void 0;\n        var customSchedulerFn = void 0;\n        var asap = function asap2(callback, arg) {\n          queue2[len] = callback;\n          queue2[len + 1] = arg;\n          len += 2;\n          if (len === 2) {\n            if (customSchedulerFn) {\n              customSchedulerFn(flush);\n            } else {\n              scheduleFlush();\n            }\n          }\n        };\n        function setScheduler(scheduleFn) {\n          customSchedulerFn = scheduleFn;\n        }\n        function setAsap(asapFn) {\n          asap = asapFn;\n        }\n        var browserWindow = typeof window !== 'undefined' ? window : void 0;\n        var browserGlobal = browserWindow || {};\n        var BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\n        var isNode2 = typeof self === 'undefined' && typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n        var isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';\n        function useNextTick() {\n          return function() {\n            return process.nextTick(flush);\n          };\n        }\n        function useVertxTimer() {\n          if (typeof vertxNext !== 'undefined') {\n            return function() {\n              vertxNext(flush);\n            };\n          }\n          return useSetTimeout();\n        }\n        function useMutationObserver() {\n          var iterations = 0;\n          var observer = new BrowserMutationObserver(flush);\n          var node = document.createTextNode('');\n          observer.observe(node, {\n            characterData: true\n          });\n          return function() {\n            node.data = iterations = ++iterations % 2;\n          };\n        }\n        function useMessageChannel() {\n          var channel = new MessageChannel();\n          channel.port1.onmessage = flush;\n          return function() {\n            return channel.port2.postMessage(0);\n          };\n        }\n        function useSetTimeout() {\n          var globalSetTimeout = setTimeout;\n          return function() {\n            return globalSetTimeout(flush, 1);\n          };\n        }\n        var queue2 = new Array(1e3);\n        function flush() {\n          for (var i = 0; i < len; i += 2) {\n            var callback = queue2[i];\n            var arg = queue2[i + 1];\n            callback(arg);\n            queue2[i] = void 0;\n            queue2[i + 1] = void 0;\n          }\n          len = 0;\n        }\n        function attemptVertx() {\n          try {\n            var vertx = Function('return this')().require('vertx');\n            vertxNext = vertx.runOnLoop || vertx.runOnContext;\n            return useVertxTimer();\n          } catch (e) {\n            return useSetTimeout();\n          }\n        }\n        var scheduleFlush = void 0;\n        if (isNode2) {\n          scheduleFlush = useNextTick();\n        } else if (BrowserMutationObserver) {\n          scheduleFlush = useMutationObserver();\n        } else if (isWorker) {\n          scheduleFlush = useMessageChannel();\n        } else if (browserWindow === void 0 && true) {\n          scheduleFlush = attemptVertx();\n        } else {\n          scheduleFlush = useSetTimeout();\n        }\n        function then(onFulfillment, onRejection) {\n          var parent = this;\n          var child = new this.constructor(noop3);\n          if (child[PROMISE_ID] === void 0) {\n            makePromise(child);\n          }\n          var _state = parent._state;\n          if (_state) {\n            var callback = arguments[_state - 1];\n            asap(function() {\n              return invokeCallback(_state, child, callback, parent._result);\n            });\n          } else {\n            subscribe2(parent, child, onFulfillment, onRejection);\n          }\n          return child;\n        }\n        function resolve$1(object) {\n          var Constructor = this;\n          if (object && _typeof(object) === 'object' && object.constructor === Constructor) {\n            return object;\n          }\n          var promise = new Constructor(noop3);\n          resolve(promise, object);\n          return promise;\n        }\n        var PROMISE_ID = Math.random().toString(36).substring(2);\n        function noop3() {}\n        var PENDING = void 0;\n        var FULFILLED = 1;\n        var REJECTED = 2;\n        function selfFulfillment() {\n          return new TypeError('You cannot resolve a promise with itself');\n        }\n        function cannotReturnOwn() {\n          return new TypeError('A promises callback cannot return that same promise.');\n        }\n        function tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) {\n          try {\n            then$$1.call(value, fulfillmentHandler, rejectionHandler);\n          } catch (e) {\n            return e;\n          }\n        }\n        function handleForeignThenable(promise, thenable, then$$1) {\n          asap(function(promise2) {\n            var sealed = false;\n            var error = tryThen(then$$1, thenable, function(value) {\n              if (sealed) {\n                return;\n              }\n              sealed = true;\n              if (thenable !== value) {\n                resolve(promise2, value);\n              } else {\n                fulfill(promise2, value);\n              }\n            }, function(reason) {\n              if (sealed) {\n                return;\n              }\n              sealed = true;\n              reject(promise2, reason);\n            }, 'Settle: ' + (promise2._label || ' unknown promise'));\n            if (!sealed && error) {\n              sealed = true;\n              reject(promise2, error);\n            }\n          }, promise);\n        }\n        function handleOwnThenable(promise, thenable) {\n          if (thenable._state === FULFILLED) {\n            fulfill(promise, thenable._result);\n          } else if (thenable._state === REJECTED) {\n            reject(promise, thenable._result);\n          } else {\n            subscribe2(thenable, void 0, function(value) {\n              return resolve(promise, value);\n            }, function(reason) {\n              return reject(promise, reason);\n            });\n          }\n        }\n        function handleMaybeThenable(promise, maybeThenable, then$$1) {\n          if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) {\n            handleOwnThenable(promise, maybeThenable);\n          } else {\n            if (then$$1 === void 0) {\n              fulfill(promise, maybeThenable);\n            } else if (isFunction(then$$1)) {\n              handleForeignThenable(promise, maybeThenable, then$$1);\n            } else {\n              fulfill(promise, maybeThenable);\n            }\n          }\n        }\n        function resolve(promise, value) {\n          if (promise === value) {\n            reject(promise, selfFulfillment());\n          } else if (objectOrFunction(value)) {\n            var then$$1 = void 0;\n            try {\n              then$$1 = value.then;\n            } catch (error) {\n              reject(promise, error);\n              return;\n            }\n            handleMaybeThenable(promise, value, then$$1);\n          } else {\n            fulfill(promise, value);\n          }\n        }\n        function publishRejection(promise) {\n          if (promise._onerror) {\n            promise._onerror(promise._result);\n          }\n          publish(promise);\n        }\n        function fulfill(promise, value) {\n          if (promise._state !== PENDING) {\n            return;\n          }\n          promise._result = value;\n          promise._state = FULFILLED;\n          if (promise._subscribers.length !== 0) {\n            asap(publish, promise);\n          }\n        }\n        function reject(promise, reason) {\n          if (promise._state !== PENDING) {\n            return;\n          }\n          promise._state = REJECTED;\n          promise._result = reason;\n          asap(publishRejection, promise);\n        }\n        function subscribe2(parent, child, onFulfillment, onRejection) {\n          var _subscribers = parent._subscribers;\n          var length = _subscribers.length;\n          parent._onerror = null;\n          _subscribers[length] = child;\n          _subscribers[length + FULFILLED] = onFulfillment;\n          _subscribers[length + REJECTED] = onRejection;\n          if (length === 0 && parent._state) {\n            asap(publish, parent);\n          }\n        }\n        function publish(promise) {\n          var subscribers = promise._subscribers;\n          var settled = promise._state;\n          if (subscribers.length === 0) {\n            return;\n          }\n          var child = void 0, callback = void 0, detail = promise._result;\n          for (var i = 0; i < subscribers.length; i += 3) {\n            child = subscribers[i];\n            callback = subscribers[i + settled];\n            if (child) {\n              invokeCallback(settled, child, callback, detail);\n            } else {\n              callback(detail);\n            }\n          }\n          promise._subscribers.length = 0;\n        }\n        function invokeCallback(settled, promise, callback, detail) {\n          var hasCallback = isFunction(callback), value = void 0, error = void 0, succeeded = true;\n          if (hasCallback) {\n            try {\n              value = callback(detail);\n            } catch (e) {\n              succeeded = false;\n              error = e;\n            }\n            if (promise === value) {\n              reject(promise, cannotReturnOwn());\n              return;\n            }\n          } else {\n            value = detail;\n          }\n          if (promise._state !== PENDING) {} else if (hasCallback && succeeded) {\n            resolve(promise, value);\n          } else if (succeeded === false) {\n            reject(promise, error);\n          } else if (settled === FULFILLED) {\n            fulfill(promise, value);\n          } else if (settled === REJECTED) {\n            reject(promise, value);\n          }\n        }\n        function initializePromise(promise, resolver) {\n          try {\n            resolver(function resolvePromise(value) {\n              resolve(promise, value);\n            }, function rejectPromise(reason) {\n              reject(promise, reason);\n            });\n          } catch (e) {\n            reject(promise, e);\n          }\n        }\n        var id = 0;\n        function nextId() {\n          return id++;\n        }\n        function makePromise(promise) {\n          promise[PROMISE_ID] = id++;\n          promise._state = void 0;\n          promise._result = void 0;\n          promise._subscribers = [];\n        }\n        function validationError() {\n          return new Error('Array Methods must be provided an Array');\n        }\n        var Enumerator = function() {\n          function Enumerator2(Constructor, input) {\n            this._instanceConstructor = Constructor;\n            this.promise = new Constructor(noop3);\n            if (!this.promise[PROMISE_ID]) {\n              makePromise(this.promise);\n            }\n            if (isArray(input)) {\n              this.length = input.length;\n              this._remaining = input.length;\n              this._result = new Array(this.length);\n              if (this.length === 0) {\n                fulfill(this.promise, this._result);\n              } else {\n                this.length = this.length || 0;\n                this._enumerate(input);\n                if (this._remaining === 0) {\n                  fulfill(this.promise, this._result);\n                }\n              }\n            } else {\n              reject(this.promise, validationError());\n            }\n          }\n          Enumerator2.prototype._enumerate = function _enumerate(input) {\n            for (var i = 0; this._state === PENDING && i < input.length; i++) {\n              this._eachEntry(input[i], i);\n            }\n          };\n          Enumerator2.prototype._eachEntry = function _eachEntry(entry, i) {\n            var c4 = this._instanceConstructor;\n            var resolve$$1 = c4.resolve;\n            if (resolve$$1 === resolve$1) {\n              var _then = void 0;\n              var error = void 0;\n              var didError = false;\n              try {\n                _then = entry.then;\n              } catch (e) {\n                didError = true;\n                error = e;\n              }\n              if (_then === then && entry._state !== PENDING) {\n                this._settledAt(entry._state, i, entry._result);\n              } else if (typeof _then !== 'function') {\n                this._remaining--;\n                this._result[i] = entry;\n              } else if (c4 === Promise$1) {\n                var promise = new c4(noop3);\n                if (didError) {\n                  reject(promise, error);\n                } else {\n                  handleMaybeThenable(promise, entry, _then);\n                }\n                this._willSettleAt(promise, i);\n              } else {\n                this._willSettleAt(new c4(function(resolve$$12) {\n                  return resolve$$12(entry);\n                }), i);\n              }\n            } else {\n              this._willSettleAt(resolve$$1(entry), i);\n            }\n          };\n          Enumerator2.prototype._settledAt = function _settledAt(state, i, value) {\n            var promise = this.promise;\n            if (promise._state === PENDING) {\n              this._remaining--;\n              if (state === REJECTED) {\n                reject(promise, value);\n              } else {\n                this._result[i] = value;\n              }\n            }\n            if (this._remaining === 0) {\n              fulfill(promise, this._result);\n            }\n          };\n          Enumerator2.prototype._willSettleAt = function _willSettleAt(promise, i) {\n            var enumerator = this;\n            subscribe2(promise, void 0, function(value) {\n              return enumerator._settledAt(FULFILLED, i, value);\n            }, function(reason) {\n              return enumerator._settledAt(REJECTED, i, reason);\n            });\n          };\n          return Enumerator2;\n        }();\n        function all(entries) {\n          return new Enumerator(this, entries).promise;\n        }\n        function race(entries) {\n          var Constructor = this;\n          if (!isArray(entries)) {\n            return new Constructor(function(_, reject2) {\n              return reject2(new TypeError('You must pass an array to race.'));\n            });\n          } else {\n            return new Constructor(function(resolve2, reject2) {\n              var length = entries.length;\n              for (var i = 0; i < length; i++) {\n                Constructor.resolve(entries[i]).then(resolve2, reject2);\n              }\n            });\n          }\n        }\n        function reject$1(reason) {\n          var Constructor = this;\n          var promise = new Constructor(noop3);\n          reject(promise, reason);\n          return promise;\n        }\n        function needsResolver() {\n          throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n        }\n        function needsNew() {\n          throw new TypeError('Failed to construct \\'Promise\\': Please use the \\'new\\' operator, this object constructor cannot be called as a function.');\n        }\n        var Promise$1 = function() {\n          function Promise2(resolver) {\n            this[PROMISE_ID] = nextId();\n            this._result = this._state = void 0;\n            this._subscribers = [];\n            if (noop3 !== resolver) {\n              typeof resolver !== 'function' && needsResolver();\n              this instanceof Promise2 ? initializePromise(this, resolver) : needsNew();\n            }\n          }\n          Promise2.prototype['catch'] = function _catch(onRejection) {\n            return this.then(null, onRejection);\n          };\n          Promise2.prototype['finally'] = function _finally(callback) {\n            var promise = this;\n            var constructor = promise.constructor;\n            if (isFunction(callback)) {\n              return promise.then(function(value) {\n                return constructor.resolve(callback()).then(function() {\n                  return value;\n                });\n              }, function(reason) {\n                return constructor.resolve(callback()).then(function() {\n                  throw reason;\n                });\n              });\n            }\n            return promise.then(callback, callback);\n          };\n          return Promise2;\n        }();\n        Promise$1.prototype.then = then;\n        Promise$1.all = all;\n        Promise$1.race = race;\n        Promise$1.resolve = resolve$1;\n        Promise$1.reject = reject$1;\n        Promise$1._setScheduler = setScheduler;\n        Promise$1._setAsap = setAsap;\n        Promise$1._asap = asap;\n        function polyfill() {\n          var local = void 0;\n          if (typeof global !== 'undefined') {\n            local = global;\n          } else if (typeof self !== 'undefined') {\n            local = self;\n          } else {\n            try {\n              local = Function('return this')();\n            } catch (e) {\n              throw new Error('polyfill failed because global object is unavailable in this environment');\n            }\n          }\n          var P = local.Promise;\n          if (P) {\n            var promiseToString = null;\n            try {\n              promiseToString = Object.prototype.toString.call(P.resolve());\n            } catch (e) {}\n            if (promiseToString === '[object Promise]' && !P.cast) {\n              return;\n            }\n          }\n          local.Promise = Promise$1;\n        }\n        Promise$1.polyfill = polyfill;\n        Promise$1.Promise = Promise$1;\n        return Promise$1;\n      });\n    });\n    var require_typedarray = __commonJS(function(exports) {\n      var MAX_ARRAY_LENGTH = 1e5;\n      var ECMAScript = function() {\n        var opts = Object.prototype.toString;\n        var ophop = Object.prototype.hasOwnProperty;\n        return {\n          Class: function Class(v) {\n            return opts.call(v).replace(/^\\[object *|\\]$/g, '');\n          },\n          HasProperty: function HasProperty(o, p2) {\n            return p2 in o;\n          },\n          HasOwnProperty: function HasOwnProperty(o, p2) {\n            return ophop.call(o, p2);\n          },\n          IsCallable: function IsCallable(o) {\n            return typeof o === 'function';\n          },\n          ToInt32: function ToInt32(v) {\n            return v >> 0;\n          },\n          ToUint32: function ToUint32(v) {\n            return v >>> 0;\n          }\n        };\n      }();\n      var LN2 = Math.LN2;\n      var abs = Math.abs;\n      var floor = Math.floor;\n      var log2 = Math.log;\n      var min = Math.min;\n      var pow = Math.pow;\n      var round = Math.round;\n      function clamp3(v, minimum, max2) {\n        return v < minimum ? minimum : v > max2 ? max2 : v;\n      }\n      var getOwnPropNames = Object.getOwnPropertyNames || function(o) {\n        if (o !== Object(o)) {\n          throw new TypeError('Object.getOwnPropertyNames called on non-object');\n        }\n        var props = [], p2;\n        for (p2 in o) {\n          if (ECMAScript.HasOwnProperty(o, p2)) {\n            props.push(p2);\n          }\n        }\n        return props;\n      };\n      var defineProp;\n      if (Object.defineProperty && function() {\n        try {\n          Object.defineProperty({}, 'x', {});\n          return true;\n        } catch (e) {\n          return false;\n        }\n      }()) {\n        defineProp = Object.defineProperty;\n      } else {\n        defineProp = function defineProp(o, p2, desc) {\n          if (!o === Object(o)) {\n            throw new TypeError('Object.defineProperty called on non-object');\n          }\n          if (ECMAScript.HasProperty(desc, 'get') && Object.prototype.__defineGetter__) {\n            Object.prototype.__defineGetter__.call(o, p2, desc.get);\n          }\n          if (ECMAScript.HasProperty(desc, 'set') && Object.prototype.__defineSetter__) {\n            Object.prototype.__defineSetter__.call(o, p2, desc.set);\n          }\n          if (ECMAScript.HasProperty(desc, 'value')) {\n            o[p2] = desc.value;\n          }\n          return o;\n        };\n      }\n      function configureProperties(obj) {\n        if (getOwnPropNames && defineProp) {\n          var props = getOwnPropNames(obj), i;\n          for (i = 0; i < props.length; i += 1) {\n            defineProp(obj, props[i], {\n              value: obj[props[i]],\n              writable: false,\n              enumerable: false,\n              configurable: false\n            });\n          }\n        }\n      }\n      function makeArrayAccessors(obj) {\n        if (!defineProp) {\n          return;\n        }\n        if (obj.length > MAX_ARRAY_LENGTH) {\n          throw new RangeError('Array too large for polyfill');\n        }\n        function makeArrayAccessor(index) {\n          defineProp(obj, index, {\n            get: function get() {\n              return obj._getter(index);\n            },\n            set: function set(v) {\n              obj._setter(index, v);\n            },\n            enumerable: true,\n            configurable: false\n          });\n        }\n        var i;\n        for (i = 0; i < obj.length; i += 1) {\n          makeArrayAccessor(i);\n        }\n      }\n      function as_signed(value, bits) {\n        var s = 32 - bits;\n        return value << s >> s;\n      }\n      function as_unsigned(value, bits) {\n        var s = 32 - bits;\n        return value << s >>> s;\n      }\n      function packI8(n2) {\n        return [ n2 & 255 ];\n      }\n      function unpackI8(bytes) {\n        return as_signed(bytes[0], 8);\n      }\n      function packU8(n2) {\n        return [ n2 & 255 ];\n      }\n      function unpackU8(bytes) {\n        return as_unsigned(bytes[0], 8);\n      }\n      function packU8Clamped(n2) {\n        n2 = round(Number(n2));\n        return [ n2 < 0 ? 0 : n2 > 255 ? 255 : n2 & 255 ];\n      }\n      function packI16(n2) {\n        return [ n2 >> 8 & 255, n2 & 255 ];\n      }\n      function unpackI16(bytes) {\n        return as_signed(bytes[0] << 8 | bytes[1], 16);\n      }\n      function packU16(n2) {\n        return [ n2 >> 8 & 255, n2 & 255 ];\n      }\n      function unpackU16(bytes) {\n        return as_unsigned(bytes[0] << 8 | bytes[1], 16);\n      }\n      function packI32(n2) {\n        return [ n2 >> 24 & 255, n2 >> 16 & 255, n2 >> 8 & 255, n2 & 255 ];\n      }\n      function unpackI32(bytes) {\n        return as_signed(bytes[0] << 24 | bytes[1] << 16 | bytes[2] << 8 | bytes[3], 32);\n      }\n      function packU32(n2) {\n        return [ n2 >> 24 & 255, n2 >> 16 & 255, n2 >> 8 & 255, n2 & 255 ];\n      }\n      function unpackU32(bytes) {\n        return as_unsigned(bytes[0] << 24 | bytes[1] << 16 | bytes[2] << 8 | bytes[3], 32);\n      }\n      function packIEEE754(v, ebits, fbits) {\n        var bias = (1 << ebits - 1) - 1;\n        var s, e, f, i, bits, str, bytes;\n        function roundToEven(n2) {\n          var w = floor(n2);\n          var fl = n2 - w;\n          if (fl < .5) {\n            return w;\n          }\n          if (fl > .5) {\n            return w + 1;\n          }\n          return w % 2 ? w + 1 : w;\n        }\n        if (v !== v) {\n          e = (1 << ebits) - 1;\n          f = pow(2, fbits - 1);\n          s = 0;\n        } else if (v === Infinity || v === -Infinity) {\n          e = (1 << ebits) - 1;\n          f = 0;\n          s = v < 0 ? 1 : 0;\n        } else if (v === 0) {\n          e = 0;\n          f = 0;\n          s = 1 / v === -Infinity ? 1 : 0;\n        } else {\n          s = v < 0;\n          v = abs(v);\n          if (v >= pow(2, 1 - bias)) {\n            e = min(floor(log2(v) / LN2), 1023);\n            f = roundToEven(v / pow(2, e) * pow(2, fbits));\n            if (f / pow(2, fbits) >= 2) {\n              e = e + 1;\n              f = 1;\n            }\n            if (e > bias) {\n              e = (1 << ebits) - 1;\n              f = 0;\n            } else {\n              e = e + bias;\n              f = f - pow(2, fbits);\n            }\n          } else {\n            e = 0;\n            f = roundToEven(v / pow(2, 1 - bias - fbits));\n          }\n        }\n        bits = [];\n        for (i = fbits; i; i -= 1) {\n          bits.push(f % 2 ? 1 : 0);\n          f = floor(f / 2);\n        }\n        for (i = ebits; i; i -= 1) {\n          bits.push(e % 2 ? 1 : 0);\n          e = floor(e / 2);\n        }\n        bits.push(s ? 1 : 0);\n        bits.reverse();\n        str = bits.join('');\n        bytes = [];\n        while (str.length) {\n          bytes.push(parseInt(str.substring(0, 8), 2));\n          str = str.substring(8);\n        }\n        return bytes;\n      }\n      function unpackIEEE754(bytes, ebits, fbits) {\n        var bits = [], i, j, b2, str, bias, s, e, f;\n        for (i = bytes.length; i; i -= 1) {\n          b2 = bytes[i - 1];\n          for (j = 8; j; j -= 1) {\n            bits.push(b2 % 2 ? 1 : 0);\n            b2 = b2 >> 1;\n          }\n        }\n        bits.reverse();\n        str = bits.join('');\n        bias = (1 << ebits - 1) - 1;\n        s = parseInt(str.substring(0, 1), 2) ? -1 : 1;\n        e = parseInt(str.substring(1, 1 + ebits), 2);\n        f = parseInt(str.substring(1 + ebits), 2);\n        if (e === (1 << ebits) - 1) {\n          return f === 0 ? s * Infinity : NaN;\n        } else if (e > 0) {\n          return s * pow(2, e - bias) * (1 + f / pow(2, fbits));\n        } else if (f !== 0) {\n          return s * pow(2, -(bias - 1)) * (f / pow(2, fbits));\n        }\n        return s < 0 ? -0 : 0;\n      }\n      function unpackF64(b2) {\n        return unpackIEEE754(b2, 11, 52);\n      }\n      function packF64(v) {\n        return packIEEE754(v, 11, 52);\n      }\n      function unpackF32(b2) {\n        return unpackIEEE754(b2, 8, 23);\n      }\n      function packF32(v) {\n        return packIEEE754(v, 8, 23);\n      }\n      (function() {\n        function ArrayBuffer(length) {\n          length = ECMAScript.ToInt32(length);\n          if (length < 0) {\n            throw new RangeError('ArrayBuffer size is not a small enough positive integer');\n          }\n          this.byteLength = length;\n          this._bytes = [];\n          this._bytes.length = length;\n          var i;\n          for (i = 0; i < this.byteLength; i += 1) {\n            this._bytes[i] = 0;\n          }\n          configureProperties(this);\n        }\n        exports.ArrayBuffer = exports.ArrayBuffer || ArrayBuffer;\n        function ArrayBufferView() {}\n        function makeConstructor(bytesPerElement, pack, unpack) {\n          var _ctor;\n          _ctor = function ctor(buffer, byteOffset, length) {\n            var array, sequence, i, s;\n            if (!arguments.length || typeof arguments[0] === 'number') {\n              this.length = ECMAScript.ToInt32(arguments[0]);\n              if (length < 0) {\n                throw new RangeError('ArrayBufferView size is not a small enough positive integer');\n              }\n              this.byteLength = this.length * this.BYTES_PER_ELEMENT;\n              this.buffer = new ArrayBuffer(this.byteLength);\n              this.byteOffset = 0;\n            } else if (_typeof(arguments[0]) === 'object' && arguments[0].constructor === _ctor) {\n              array = arguments[0];\n              this.length = array.length;\n              this.byteLength = this.length * this.BYTES_PER_ELEMENT;\n              this.buffer = new ArrayBuffer(this.byteLength);\n              this.byteOffset = 0;\n              for (i = 0; i < this.length; i += 1) {\n                this._setter(i, array._getter(i));\n              }\n            } else if (_typeof(arguments[0]) === 'object' && !(arguments[0] instanceof ArrayBuffer || ECMAScript.Class(arguments[0]) === 'ArrayBuffer')) {\n              sequence = arguments[0];\n              this.length = ECMAScript.ToUint32(sequence.length);\n              this.byteLength = this.length * this.BYTES_PER_ELEMENT;\n              this.buffer = new ArrayBuffer(this.byteLength);\n              this.byteOffset = 0;\n              for (i = 0; i < this.length; i += 1) {\n                s = sequence[i];\n                this._setter(i, Number(s));\n              }\n            } else if (_typeof(arguments[0]) === 'object' && (arguments[0] instanceof ArrayBuffer || ECMAScript.Class(arguments[0]) === 'ArrayBuffer')) {\n              this.buffer = buffer;\n              this.byteOffset = ECMAScript.ToUint32(byteOffset);\n              if (this.byteOffset > this.buffer.byteLength) {\n                throw new RangeError('byteOffset out of range');\n              }\n              if (this.byteOffset % this.BYTES_PER_ELEMENT) {\n                throw new RangeError('ArrayBuffer length minus the byteOffset is not a multiple of the element size.');\n              }\n              if (arguments.length < 3) {\n                this.byteLength = this.buffer.byteLength - this.byteOffset;\n                if (this.byteLength % this.BYTES_PER_ELEMENT) {\n                  throw new RangeError('length of buffer minus byteOffset not a multiple of the element size');\n                }\n                this.length = this.byteLength / this.BYTES_PER_ELEMENT;\n              } else {\n                this.length = ECMAScript.ToUint32(length);\n                this.byteLength = this.length * this.BYTES_PER_ELEMENT;\n              }\n              if (this.byteOffset + this.byteLength > this.buffer.byteLength) {\n                throw new RangeError('byteOffset and length reference an area beyond the end of the buffer');\n              }\n            } else {\n              throw new TypeError('Unexpected argument type(s)');\n            }\n            this.constructor = _ctor;\n            configureProperties(this);\n            makeArrayAccessors(this);\n          };\n          _ctor.prototype = new ArrayBufferView();\n          _ctor.prototype.BYTES_PER_ELEMENT = bytesPerElement;\n          _ctor.prototype._pack = pack;\n          _ctor.prototype._unpack = unpack;\n          _ctor.BYTES_PER_ELEMENT = bytesPerElement;\n          _ctor.prototype._getter = function(index) {\n            if (arguments.length < 1) {\n              throw new SyntaxError('Not enough arguments');\n            }\n            index = ECMAScript.ToUint32(index);\n            if (index >= this.length) {\n              return void 0;\n            }\n            var bytes = [];\n            for (var i = 0, o = this.byteOffset + index * this.BYTES_PER_ELEMENT; i < this.BYTES_PER_ELEMENT; i += 1, \n            o += 1) {\n              bytes.push(this.buffer._bytes[o]);\n            }\n            return this._unpack(bytes);\n          };\n          _ctor.prototype.get = _ctor.prototype._getter;\n          _ctor.prototype._setter = function(index, value) {\n            if (arguments.length < 2) {\n              throw new SyntaxError('Not enough arguments');\n            }\n            index = ECMAScript.ToUint32(index);\n            if (index < this.length) {\n              var bytes = this._pack(value);\n              var i;\n              var o;\n              for (i = 0, o = this.byteOffset + index * this.BYTES_PER_ELEMENT; i < this.BYTES_PER_ELEMENT; i += 1, \n              o += 1) {\n                this.buffer._bytes[o] = bytes[i];\n              }\n            }\n          };\n          _ctor.prototype.set = function(index, value) {\n            if (arguments.length < 1) {\n              throw new SyntaxError('Not enough arguments');\n            }\n            var array, sequence, offset, len, i, s, d2, byteOffset, byteLength, tmp;\n            if (_typeof(arguments[0]) === 'object' && arguments[0].constructor === this.constructor) {\n              array = arguments[0];\n              offset = ECMAScript.ToUint32(arguments[1]);\n              if (offset + array.length > this.length) {\n                throw new RangeError('Offset plus length of array is out of range');\n              }\n              byteOffset = this.byteOffset + offset * this.BYTES_PER_ELEMENT;\n              byteLength = array.length * this.BYTES_PER_ELEMENT;\n              if (array.buffer === this.buffer) {\n                tmp = [];\n                for (i = 0, s = array.byteOffset; i < byteLength; i += 1, s += 1) {\n                  tmp[i] = array.buffer._bytes[s];\n                }\n                for (i = 0, d2 = byteOffset; i < byteLength; i += 1, d2 += 1) {\n                  this.buffer._bytes[d2] = tmp[i];\n                }\n              } else {\n                for (i = 0, s = array.byteOffset, d2 = byteOffset; i < byteLength; i += 1, \n                s += 1, d2 += 1) {\n                  this.buffer._bytes[d2] = array.buffer._bytes[s];\n                }\n              }\n            } else if (_typeof(arguments[0]) === 'object' && typeof arguments[0].length !== 'undefined') {\n              sequence = arguments[0];\n              len = ECMAScript.ToUint32(sequence.length);\n              offset = ECMAScript.ToUint32(arguments[1]);\n              if (offset + len > this.length) {\n                throw new RangeError('Offset plus length of array is out of range');\n              }\n              for (i = 0; i < len; i += 1) {\n                s = sequence[i];\n                this._setter(offset + i, Number(s));\n              }\n            } else {\n              throw new TypeError('Unexpected argument type(s)');\n            }\n          };\n          _ctor.prototype.subarray = function(start, end) {\n            start = ECMAScript.ToInt32(start);\n            end = ECMAScript.ToInt32(end);\n            if (arguments.length < 1) {\n              start = 0;\n            }\n            if (arguments.length < 2) {\n              end = this.length;\n            }\n            if (start < 0) {\n              start = this.length + start;\n            }\n            if (end < 0) {\n              end = this.length + end;\n            }\n            start = clamp3(start, 0, this.length);\n            end = clamp3(end, 0, this.length);\n            var len = end - start;\n            if (len < 0) {\n              len = 0;\n            }\n            return new this.constructor(this.buffer, this.byteOffset + start * this.BYTES_PER_ELEMENT, len);\n          };\n          return _ctor;\n        }\n        var Int8Array = makeConstructor(1, packI8, unpackI8);\n        var Uint8Array2 = makeConstructor(1, packU8, unpackU8);\n        var Uint8ClampedArray2 = makeConstructor(1, packU8Clamped, unpackU8);\n        var Int16Array = makeConstructor(2, packI16, unpackI16);\n        var Uint16Array = makeConstructor(2, packU16, unpackU16);\n        var Int32Array = makeConstructor(4, packI32, unpackI32);\n        var Uint32Array3 = makeConstructor(4, packU32, unpackU32);\n        var Float32Array = makeConstructor(4, packF32, unpackF32);\n        var Float64Array = makeConstructor(8, packF64, unpackF64);\n        exports.Int8Array = exports.Int8Array || Int8Array;\n        exports.Uint8Array = exports.Uint8Array || Uint8Array2;\n        exports.Uint8ClampedArray = exports.Uint8ClampedArray || Uint8ClampedArray2;\n        exports.Int16Array = exports.Int16Array || Int16Array;\n        exports.Uint16Array = exports.Uint16Array || Uint16Array;\n        exports.Int32Array = exports.Int32Array || Int32Array;\n        exports.Uint32Array = exports.Uint32Array || Uint32Array3;\n        exports.Float32Array = exports.Float32Array || Float32Array;\n        exports.Float64Array = exports.Float64Array || Float64Array;\n      })();\n      (function() {\n        function r(array, index) {\n          return ECMAScript.IsCallable(array.get) ? array.get(index) : array[index];\n        }\n        var IS_BIG_ENDIAN = function() {\n          var u16array = new exports.Uint16Array([ 4660 ]), u8array = new exports.Uint8Array(u16array.buffer);\n          return r(u8array, 0) === 18;\n        }();\n        function DataView(buffer, byteOffset, byteLength) {\n          if (arguments.length === 0) {\n            buffer = new exports.ArrayBuffer(0);\n          } else if (!(buffer instanceof exports.ArrayBuffer || ECMAScript.Class(buffer) === 'ArrayBuffer')) {\n            throw new TypeError('TypeError');\n          }\n          this.buffer = buffer || new exports.ArrayBuffer(0);\n          this.byteOffset = ECMAScript.ToUint32(byteOffset);\n          if (this.byteOffset > this.buffer.byteLength) {\n            throw new RangeError('byteOffset out of range');\n          }\n          if (arguments.length < 3) {\n            this.byteLength = this.buffer.byteLength - this.byteOffset;\n          } else {\n            this.byteLength = ECMAScript.ToUint32(byteLength);\n          }\n          if (this.byteOffset + this.byteLength > this.buffer.byteLength) {\n            throw new RangeError('byteOffset and length reference an area beyond the end of the buffer');\n          }\n          configureProperties(this);\n        }\n        function makeGetter(arrayType) {\n          return function(byteOffset, littleEndian) {\n            byteOffset = ECMAScript.ToUint32(byteOffset);\n            if (byteOffset + arrayType.BYTES_PER_ELEMENT > this.byteLength) {\n              throw new RangeError('Array index out of range');\n            }\n            byteOffset += this.byteOffset;\n            var uint8Array = new exports.Uint8Array(this.buffer, byteOffset, arrayType.BYTES_PER_ELEMENT), bytes = [], i;\n            for (i = 0; i < arrayType.BYTES_PER_ELEMENT; i += 1) {\n              bytes.push(r(uint8Array, i));\n            }\n            if (Boolean(littleEndian) === Boolean(IS_BIG_ENDIAN)) {\n              bytes.reverse();\n            }\n            return r(new arrayType(new exports.Uint8Array(bytes).buffer), 0);\n          };\n        }\n        DataView.prototype.getUint8 = makeGetter(exports.Uint8Array);\n        DataView.prototype.getInt8 = makeGetter(exports.Int8Array);\n        DataView.prototype.getUint16 = makeGetter(exports.Uint16Array);\n        DataView.prototype.getInt16 = makeGetter(exports.Int16Array);\n        DataView.prototype.getUint32 = makeGetter(exports.Uint32Array);\n        DataView.prototype.getInt32 = makeGetter(exports.Int32Array);\n        DataView.prototype.getFloat32 = makeGetter(exports.Float32Array);\n        DataView.prototype.getFloat64 = makeGetter(exports.Float64Array);\n        function makeSetter(arrayType) {\n          return function(byteOffset, value, littleEndian) {\n            byteOffset = ECMAScript.ToUint32(byteOffset);\n            if (byteOffset + arrayType.BYTES_PER_ELEMENT > this.byteLength) {\n              throw new RangeError('Array index out of range');\n            }\n            var typeArray = new arrayType([ value ]), byteArray = new exports.Uint8Array(typeArray.buffer), bytes = [], i, byteView;\n            for (i = 0; i < arrayType.BYTES_PER_ELEMENT; i += 1) {\n              bytes.push(r(byteArray, i));\n            }\n            if (Boolean(littleEndian) === Boolean(IS_BIG_ENDIAN)) {\n              bytes.reverse();\n            }\n            byteView = new exports.Uint8Array(this.buffer, byteOffset, arrayType.BYTES_PER_ELEMENT);\n            byteView.set(bytes);\n          };\n        }\n        DataView.prototype.setUint8 = makeSetter(exports.Uint8Array);\n        DataView.prototype.setInt8 = makeSetter(exports.Int8Array);\n        DataView.prototype.setUint16 = makeSetter(exports.Uint16Array);\n        DataView.prototype.setInt16 = makeSetter(exports.Int16Array);\n        DataView.prototype.setUint32 = makeSetter(exports.Uint32Array);\n        DataView.prototype.setInt32 = makeSetter(exports.Int32Array);\n        DataView.prototype.setFloat32 = makeSetter(exports.Float32Array);\n        DataView.prototype.setFloat64 = makeSetter(exports.Float64Array);\n        exports.DataView = exports.DataView || DataView;\n      })();\n    });\n    var require_weakmap_polyfill = __commonJS(function(exports) {\n      (function(self2) {\n        'use strict';\n        if (self2.WeakMap) {\n          return;\n        }\n        var hasOwnProperty2 = Object.prototype.hasOwnProperty;\n        var hasDefine = Object.defineProperty && function() {\n          try {\n            return Object.defineProperty({}, 'x', {\n              value: 1\n            }).x === 1;\n          } catch (e) {}\n        }();\n        var defineProperty = function defineProperty(object, name, value) {\n          if (hasDefine) {\n            Object.defineProperty(object, name, {\n              configurable: true,\n              writable: true,\n              value: value\n            });\n          } else {\n            object[name] = value;\n          }\n        };\n        self2.WeakMap = function() {\n          function WeakMap2() {\n            if (this === void 0) {\n              throw new TypeError('Constructor WeakMap requires \\'new\\'');\n            }\n            defineProperty(this, '_id', genId('_WeakMap'));\n            if (arguments.length > 0) {\n              throw new TypeError('WeakMap iterable is not supported');\n            }\n          }\n          defineProperty(WeakMap2.prototype, 'delete', function(key) {\n            checkInstance(this, 'delete');\n            if (!isObject(key)) {\n              return false;\n            }\n            var entry = key[this._id];\n            if (entry && entry[0] === key) {\n              delete key[this._id];\n              return true;\n            }\n            return false;\n          });\n          defineProperty(WeakMap2.prototype, 'get', function(key) {\n            checkInstance(this, 'get');\n            if (!isObject(key)) {\n              return void 0;\n            }\n            var entry = key[this._id];\n            if (entry && entry[0] === key) {\n              return entry[1];\n            }\n            return void 0;\n          });\n          defineProperty(WeakMap2.prototype, 'has', function(key) {\n            checkInstance(this, 'has');\n            if (!isObject(key)) {\n              return false;\n            }\n            var entry = key[this._id];\n            if (entry && entry[0] === key) {\n              return true;\n            }\n            return false;\n          });\n          defineProperty(WeakMap2.prototype, 'set', function(key, value) {\n            checkInstance(this, 'set');\n            if (!isObject(key)) {\n              throw new TypeError('Invalid value used as weak map key');\n            }\n            var entry = key[this._id];\n            if (entry && entry[0] === key) {\n              entry[1] = value;\n              return this;\n            }\n            defineProperty(key, this._id, [ key, value ]);\n            return this;\n          });\n          function checkInstance(x, methodName) {\n            if (!isObject(x) || !hasOwnProperty2.call(x, '_id')) {\n              throw new TypeError(methodName + ' method called on incompatible receiver ' + _typeof(x));\n            }\n          }\n          function genId(prefix) {\n            return prefix + '_' + rand() + '.' + rand();\n          }\n          function rand() {\n            return Math.random().toString().substring(2);\n          }\n          defineProperty(WeakMap2, '_polyfill', true);\n          return WeakMap2;\n        }();\n        function isObject(x) {\n          return Object(x) === x;\n        }\n      })(typeof globalThis !== 'undefined' ? globalThis : typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : exports);\n    });\n    var require_global_this = __commonJS(function(exports, module) {\n      'use strict';\n      var check = function check(it) {\n        return it && it.Math === Math && it;\n      };\n      module.exports = check((typeof globalThis === 'undefined' ? 'undefined' : _typeof(globalThis)) == 'object' && globalThis) || check((typeof window === 'undefined' ? 'undefined' : _typeof(window)) == 'object' && window) || check((typeof self === 'undefined' ? 'undefined' : _typeof(self)) == 'object' && self) || check((typeof global === 'undefined' ? 'undefined' : _typeof(global)) == 'object' && global) || check(_typeof(exports) == 'object' && exports) || function() {\n        return this;\n      }() || Function('return this')();\n    });\n    var require_fails = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = function(exec) {\n        try {\n          return !!exec();\n        } catch (error) {\n          return true;\n        }\n      };\n    });\n    var require_function_bind_native = __commonJS(function(exports, module) {\n      'use strict';\n      var fails = require_fails();\n      module.exports = !fails(function() {\n        var test = function() {}.bind();\n        return typeof test != 'function' || test.hasOwnProperty('prototype');\n      });\n    });\n    var require_function_apply = __commonJS(function(exports, module) {\n      'use strict';\n      var NATIVE_BIND = require_function_bind_native();\n      var FunctionPrototype = Function.prototype;\n      var apply = FunctionPrototype.apply;\n      var call = FunctionPrototype.call;\n      module.exports = (typeof Reflect === 'undefined' ? 'undefined' : _typeof(Reflect)) == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function() {\n        return call.apply(apply, arguments);\n      });\n    });\n    var require_function_uncurry_this = __commonJS(function(exports, module) {\n      'use strict';\n      var NATIVE_BIND = require_function_bind_native();\n      var FunctionPrototype = Function.prototype;\n      var call = FunctionPrototype.call;\n      var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n      module.exports = NATIVE_BIND ? uncurryThisWithBind : function(fn) {\n        return function() {\n          return call.apply(fn, arguments);\n        };\n      };\n    });\n    var require_classof_raw = __commonJS(function(exports, module) {\n      'use strict';\n      var uncurryThis = require_function_uncurry_this();\n      var toString = uncurryThis({}.toString);\n      var stringSlice = uncurryThis(''.slice);\n      module.exports = function(it) {\n        return stringSlice(toString(it), 8, -1);\n      };\n    });\n    var require_function_uncurry_this_clause = __commonJS(function(exports, module) {\n      'use strict';\n      var classofRaw = require_classof_raw();\n      var uncurryThis = require_function_uncurry_this();\n      module.exports = function(fn) {\n        if (classofRaw(fn) === 'Function') {\n          return uncurryThis(fn);\n        }\n      };\n    });\n    var require_is_callable = __commonJS(function(exports, module) {\n      'use strict';\n      var documentAll = (typeof document === 'undefined' ? 'undefined' : _typeof(document)) == 'object' && document.all;\n      module.exports = typeof documentAll == 'undefined' && documentAll !== void 0 ? function(argument) {\n        return typeof argument == 'function' || argument === documentAll;\n      } : function(argument) {\n        return typeof argument == 'function';\n      };\n    });\n    var require_descriptors = __commonJS(function(exports, module) {\n      'use strict';\n      var fails = require_fails();\n      module.exports = !fails(function() {\n        return Object.defineProperty({}, 1, {\n          get: function get() {\n            return 7;\n          }\n        })[1] !== 7;\n      });\n    });\n    var require_function_call = __commonJS(function(exports, module) {\n      'use strict';\n      var NATIVE_BIND = require_function_bind_native();\n      var call = Function.prototype.call;\n      module.exports = NATIVE_BIND ? call.bind(call) : function() {\n        return call.apply(call, arguments);\n      };\n    });\n    var require_object_property_is_enumerable = __commonJS(function(exports) {\n      'use strict';\n      var $propertyIsEnumerable = {}.propertyIsEnumerable;\n      var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n      var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({\n        1: 2\n      }, 1);\n      exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n        var descriptor = getOwnPropertyDescriptor(this, V);\n        return !!descriptor && descriptor.enumerable;\n      } : $propertyIsEnumerable;\n    });\n    var require_create_property_descriptor = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = function(bitmap, value) {\n        return {\n          enumerable: !(bitmap & 1),\n          configurable: !(bitmap & 2),\n          writable: !(bitmap & 4),\n          value: value\n        };\n      };\n    });\n    var require_indexed_object = __commonJS(function(exports, module) {\n      'use strict';\n      var uncurryThis = require_function_uncurry_this();\n      var fails = require_fails();\n      var classof = require_classof_raw();\n      var $Object = Object;\n      var split = uncurryThis(''.split);\n      module.exports = fails(function() {\n        return !$Object('z').propertyIsEnumerable(0);\n      }) ? function(it) {\n        return classof(it) === 'String' ? split(it, '') : $Object(it);\n      } : $Object;\n    });\n    var require_is_null_or_undefined = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = function(it) {\n        return it === null || it === void 0;\n      };\n    });\n    var require_require_object_coercible = __commonJS(function(exports, module) {\n      'use strict';\n      var isNullOrUndefined = require_is_null_or_undefined();\n      var $TypeError = TypeError;\n      module.exports = function(it) {\n        if (isNullOrUndefined(it)) {\n          throw new $TypeError('Can\\'t call method on ' + it);\n        }\n        return it;\n      };\n    });\n    var require_to_indexed_object = __commonJS(function(exports, module) {\n      'use strict';\n      var IndexedObject = require_indexed_object();\n      var requireObjectCoercible = require_require_object_coercible();\n      module.exports = function(it) {\n        return IndexedObject(requireObjectCoercible(it));\n      };\n    });\n    var require_is_object = __commonJS(function(exports, module) {\n      'use strict';\n      var isCallable = require_is_callable();\n      module.exports = function(it) {\n        return _typeof(it) == 'object' ? it !== null : isCallable(it);\n      };\n    });\n    var require_path = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = {};\n    });\n    var require_get_built_in = __commonJS(function(exports, module) {\n      'use strict';\n      var path = require_path();\n      var globalThis2 = require_global_this();\n      var isCallable = require_is_callable();\n      var aFunction = function aFunction(variable) {\n        return isCallable(variable) ? variable : void 0;\n      };\n      module.exports = function(namespace, method) {\n        return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(globalThis2[namespace]) : path[namespace] && path[namespace][method] || globalThis2[namespace] && globalThis2[namespace][method];\n      };\n    });\n    var require_object_is_prototype_of = __commonJS(function(exports, module) {\n      'use strict';\n      var uncurryThis = require_function_uncurry_this();\n      module.exports = uncurryThis({}.isPrototypeOf);\n    });\n    var require_environment_user_agent = __commonJS(function(exports, module) {\n      'use strict';\n      var globalThis2 = require_global_this();\n      var navigator = globalThis2.navigator;\n      var userAgent = navigator && navigator.userAgent;\n      module.exports = userAgent ? String(userAgent) : '';\n    });\n    var require_environment_v8_version = __commonJS(function(exports, module) {\n      'use strict';\n      var globalThis2 = require_global_this();\n      var userAgent = require_environment_user_agent();\n      var process2 = globalThis2.process;\n      var Deno = globalThis2.Deno;\n      var versions = process2 && process2.versions || Deno && Deno.version;\n      var v8 = versions && versions.v8;\n      var match;\n      var version;\n      if (v8) {\n        match = v8.split('.');\n        version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n      }\n      if (!version && userAgent) {\n        match = userAgent.match(/Edge\\/(\\d+)/);\n        if (!match || match[1] >= 74) {\n          match = userAgent.match(/Chrome\\/(\\d+)/);\n          if (match) {\n            version = +match[1];\n          }\n        }\n      }\n      module.exports = version;\n    });\n    var require_symbol_constructor_detection = __commonJS(function(exports, module) {\n      'use strict';\n      var V8_VERSION = require_environment_v8_version();\n      var fails = require_fails();\n      var globalThis2 = require_global_this();\n      var $String = globalThis2.String;\n      module.exports = !!Object.getOwnPropertySymbols && !fails(function() {\n        var symbol = Symbol('symbol detection');\n        return !$String(symbol) || !(Object(symbol) instanceof Symbol) || !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n      });\n    });\n    var require_use_symbol_as_uid = __commonJS(function(exports, module) {\n      'use strict';\n      var NATIVE_SYMBOL = require_symbol_constructor_detection();\n      module.exports = NATIVE_SYMBOL && !Symbol.sham && _typeof(Symbol.iterator) == 'symbol';\n    });\n    var require_is_symbol = __commonJS(function(exports, module) {\n      'use strict';\n      var getBuiltIn = require_get_built_in();\n      var isCallable = require_is_callable();\n      var isPrototypeOf = require_object_is_prototype_of();\n      var USE_SYMBOL_AS_UID = require_use_symbol_as_uid();\n      var $Object = Object;\n      module.exports = USE_SYMBOL_AS_UID ? function(it) {\n        return _typeof(it) == 'symbol';\n      } : function(it) {\n        var $Symbol = getBuiltIn('Symbol');\n        return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n      };\n    });\n    var require_try_to_string = __commonJS(function(exports, module) {\n      'use strict';\n      var $String = String;\n      module.exports = function(argument) {\n        try {\n          return $String(argument);\n        } catch (error) {\n          return 'Object';\n        }\n      };\n    });\n    var require_a_callable = __commonJS(function(exports, module) {\n      'use strict';\n      var isCallable = require_is_callable();\n      var tryToString = require_try_to_string();\n      var $TypeError = TypeError;\n      module.exports = function(argument) {\n        if (isCallable(argument)) {\n          return argument;\n        }\n        throw new $TypeError(tryToString(argument) + ' is not a function');\n      };\n    });\n    var require_get_method = __commonJS(function(exports, module) {\n      'use strict';\n      var aCallable = require_a_callable();\n      var isNullOrUndefined = require_is_null_or_undefined();\n      module.exports = function(V, P) {\n        var func = V[P];\n        return isNullOrUndefined(func) ? void 0 : aCallable(func);\n      };\n    });\n    var require_ordinary_to_primitive = __commonJS(function(exports, module) {\n      'use strict';\n      var call = require_function_call();\n      var isCallable = require_is_callable();\n      var isObject = require_is_object();\n      var $TypeError = TypeError;\n      module.exports = function(input, pref) {\n        var fn, val;\n        if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) {\n          return val;\n        }\n        if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) {\n          return val;\n        }\n        if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) {\n          return val;\n        }\n        throw new $TypeError('Can\\'t convert object to primitive value');\n      };\n    });\n    var require_is_pure = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = true;\n    });\n    var require_define_global_property = __commonJS(function(exports, module) {\n      'use strict';\n      var globalThis2 = require_global_this();\n      var defineProperty = Object.defineProperty;\n      module.exports = function(key, value) {\n        try {\n          defineProperty(globalThis2, key, {\n            value: value,\n            configurable: true,\n            writable: true\n          });\n        } catch (error) {\n          globalThis2[key] = value;\n        }\n        return value;\n      };\n    });\n    var require_shared_store = __commonJS(function(exports, module) {\n      'use strict';\n      var IS_PURE = require_is_pure();\n      var globalThis2 = require_global_this();\n      var defineGlobalProperty = require_define_global_property();\n      var SHARED = '__core-js_shared__';\n      var store = module.exports = globalThis2[SHARED] || defineGlobalProperty(SHARED, {});\n      (store.versions || (store.versions = [])).push({\n        version: '3.44.0',\n        mode: IS_PURE ? 'pure' : 'global',\n        copyright: '\\xa9 2014-2025 Denis Pushkarev (zloirock.ru)',\n        license: 'https://github.com/zloirock/core-js/blob/v3.44.0/LICENSE',\n        source: 'https://github.com/zloirock/core-js'\n      });\n    });\n    var require_shared = __commonJS(function(exports, module) {\n      'use strict';\n      var store = require_shared_store();\n      module.exports = function(key, value) {\n        return store[key] || (store[key] = value || {});\n      };\n    });\n    var require_to_object = __commonJS(function(exports, module) {\n      'use strict';\n      var requireObjectCoercible = require_require_object_coercible();\n      var $Object = Object;\n      module.exports = function(argument) {\n        return $Object(requireObjectCoercible(argument));\n      };\n    });\n    var require_has_own_property = __commonJS(function(exports, module) {\n      'use strict';\n      var uncurryThis = require_function_uncurry_this();\n      var toObject = require_to_object();\n      var hasOwnProperty2 = uncurryThis({}.hasOwnProperty);\n      module.exports = Object.hasOwn || function hasOwn2(it, key) {\n        return hasOwnProperty2(toObject(it), key);\n      };\n    });\n    var require_uid = __commonJS(function(exports, module) {\n      'use strict';\n      var uncurryThis = require_function_uncurry_this();\n      var id = 0;\n      var postfix = Math.random();\n      var toString = uncurryThis(1.1.toString);\n      module.exports = function(key) {\n        return 'Symbol(' + (key === void 0 ? '' : key) + ')_' + toString(++id + postfix, 36);\n      };\n    });\n    var require_well_known_symbol = __commonJS(function(exports, module) {\n      'use strict';\n      var globalThis2 = require_global_this();\n      var shared = require_shared();\n      var hasOwn2 = require_has_own_property();\n      var uid = require_uid();\n      var NATIVE_SYMBOL = require_symbol_constructor_detection();\n      var USE_SYMBOL_AS_UID = require_use_symbol_as_uid();\n      var Symbol2 = globalThis2.Symbol;\n      var WellKnownSymbolsStore = shared('wks');\n      var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol2['for'] || Symbol2 : Symbol2 && Symbol2.withoutSetter || uid;\n      module.exports = function(name) {\n        if (!hasOwn2(WellKnownSymbolsStore, name)) {\n          WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn2(Symbol2, name) ? Symbol2[name] : createWellKnownSymbol('Symbol.' + name);\n        }\n        return WellKnownSymbolsStore[name];\n      };\n    });\n    var require_to_primitive = __commonJS(function(exports, module) {\n      'use strict';\n      var call = require_function_call();\n      var isObject = require_is_object();\n      var isSymbol = require_is_symbol();\n      var getMethod = require_get_method();\n      var ordinaryToPrimitive = require_ordinary_to_primitive();\n      var wellKnownSymbol = require_well_known_symbol();\n      var $TypeError = TypeError;\n      var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n      module.exports = function(input, pref) {\n        if (!isObject(input) || isSymbol(input)) {\n          return input;\n        }\n        var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n        var result;\n        if (exoticToPrim) {\n          if (pref === void 0) {\n            pref = 'default';\n          }\n          result = call(exoticToPrim, input, pref);\n          if (!isObject(result) || isSymbol(result)) {\n            return result;\n          }\n          throw new $TypeError('Can\\'t convert object to primitive value');\n        }\n        if (pref === void 0) {\n          pref = 'number';\n        }\n        return ordinaryToPrimitive(input, pref);\n      };\n    });\n    var require_to_property_key = __commonJS(function(exports, module) {\n      'use strict';\n      var toPrimitive = require_to_primitive();\n      var isSymbol = require_is_symbol();\n      module.exports = function(argument) {\n        var key = toPrimitive(argument, 'string');\n        return isSymbol(key) ? key : key + '';\n      };\n    });\n    var require_document_create_element = __commonJS(function(exports, module) {\n      'use strict';\n      var globalThis2 = require_global_this();\n      var isObject = require_is_object();\n      var document2 = globalThis2.document;\n      var EXISTS = isObject(document2) && isObject(document2.createElement);\n      module.exports = function(it) {\n        return EXISTS ? document2.createElement(it) : {};\n      };\n    });\n    var require_ie8_dom_define = __commonJS(function(exports, module) {\n      'use strict';\n      var DESCRIPTORS = require_descriptors();\n      var fails = require_fails();\n      var createElement = require_document_create_element();\n      module.exports = !DESCRIPTORS && !fails(function() {\n        return Object.defineProperty(createElement('div'), 'a', {\n          get: function get() {\n            return 7;\n          }\n        }).a !== 7;\n      });\n    });\n    var require_object_get_own_property_descriptor = __commonJS(function(exports) {\n      'use strict';\n      var DESCRIPTORS = require_descriptors();\n      var call = require_function_call();\n      var propertyIsEnumerableModule = require_object_property_is_enumerable();\n      var createPropertyDescriptor = require_create_property_descriptor();\n      var toIndexedObject = require_to_indexed_object();\n      var toPropertyKey = require_to_property_key();\n      var hasOwn2 = require_has_own_property();\n      var IE8_DOM_DEFINE = require_ie8_dom_define();\n      var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n      exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n        O = toIndexedObject(O);\n        P = toPropertyKey(P);\n        if (IE8_DOM_DEFINE) {\n          try {\n            return $getOwnPropertyDescriptor(O, P);\n          } catch (error) {}\n        }\n        if (hasOwn2(O, P)) {\n          return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n        }\n      };\n    });\n    var require_is_forced = __commonJS(function(exports, module) {\n      'use strict';\n      var fails = require_fails();\n      var isCallable = require_is_callable();\n      var replacement = /#|\\.prototype\\./;\n      var isForced = function isForced(feature, detection) {\n        var value = data[normalize(feature)];\n        return value === POLYFILL ? true : value === NATIVE ? false : isCallable(detection) ? fails(detection) : !!detection;\n      };\n      var normalize = isForced.normalize = function(string) {\n        return String(string).replace(replacement, '.').toLowerCase();\n      };\n      var data = isForced.data = {};\n      var NATIVE = isForced.NATIVE = 'N';\n      var POLYFILL = isForced.POLYFILL = 'P';\n      module.exports = isForced;\n    });\n    var require_function_bind_context = __commonJS(function(exports, module) {\n      'use strict';\n      var uncurryThis = require_function_uncurry_this_clause();\n      var aCallable = require_a_callable();\n      var NATIVE_BIND = require_function_bind_native();\n      var bind = uncurryThis(uncurryThis.bind);\n      module.exports = function(fn, that) {\n        aCallable(fn);\n        return that === void 0 ? fn : NATIVE_BIND ? bind(fn, that) : function() {\n          return fn.apply(that, arguments);\n        };\n      };\n    });\n    var require_v8_prototype_define_bug = __commonJS(function(exports, module) {\n      'use strict';\n      var DESCRIPTORS = require_descriptors();\n      var fails = require_fails();\n      module.exports = DESCRIPTORS && fails(function() {\n        return Object.defineProperty(function() {}, 'prototype', {\n          value: 42,\n          writable: false\n        }).prototype !== 42;\n      });\n    });\n    var require_an_object = __commonJS(function(exports, module) {\n      'use strict';\n      var isObject = require_is_object();\n      var $String = String;\n      var $TypeError = TypeError;\n      module.exports = function(argument) {\n        if (isObject(argument)) {\n          return argument;\n        }\n        throw new $TypeError($String(argument) + ' is not an object');\n      };\n    });\n    var require_object_define_property = __commonJS(function(exports) {\n      'use strict';\n      var DESCRIPTORS = require_descriptors();\n      var IE8_DOM_DEFINE = require_ie8_dom_define();\n      var V8_PROTOTYPE_DEFINE_BUG = require_v8_prototype_define_bug();\n      var anObject = require_an_object();\n      var toPropertyKey = require_to_property_key();\n      var $TypeError = TypeError;\n      var $defineProperty = Object.defineProperty;\n      var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n      var ENUMERABLE = 'enumerable';\n      var CONFIGURABLE = 'configurable';\n      var WRITABLE = 'writable';\n      exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n        anObject(O);\n        P = toPropertyKey(P);\n        anObject(Attributes);\n        if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n          var current = $getOwnPropertyDescriptor(O, P);\n          if (current && current[WRITABLE]) {\n            O[P] = Attributes.value;\n            Attributes = {\n              configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n              enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n              writable: false\n            };\n          }\n        }\n        return $defineProperty(O, P, Attributes);\n      } : $defineProperty : function defineProperty(O, P, Attributes) {\n        anObject(O);\n        P = toPropertyKey(P);\n        anObject(Attributes);\n        if (IE8_DOM_DEFINE) {\n          try {\n            return $defineProperty(O, P, Attributes);\n          } catch (error) {}\n        }\n        if ('get' in Attributes || 'set' in Attributes) {\n          throw new $TypeError('Accessors not supported');\n        }\n        if ('value' in Attributes) {\n          O[P] = Attributes.value;\n        }\n        return O;\n      };\n    });\n    var require_create_non_enumerable_property = __commonJS(function(exports, module) {\n      'use strict';\n      var DESCRIPTORS = require_descriptors();\n      var definePropertyModule = require_object_define_property();\n      var createPropertyDescriptor = require_create_property_descriptor();\n      module.exports = DESCRIPTORS ? function(object, key, value) {\n        return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n      } : function(object, key, value) {\n        object[key] = value;\n        return object;\n      };\n    });\n    var require_export = __commonJS(function(exports, module) {\n      'use strict';\n      var globalThis2 = require_global_this();\n      var apply = require_function_apply();\n      var uncurryThis = require_function_uncurry_this_clause();\n      var isCallable = require_is_callable();\n      var getOwnPropertyDescriptor = require_object_get_own_property_descriptor().f;\n      var isForced = require_is_forced();\n      var path = require_path();\n      var bind = require_function_bind_context();\n      var createNonEnumerableProperty = require_create_non_enumerable_property();\n      var hasOwn2 = require_has_own_property();\n      require_shared_store();\n      var wrapConstructor = function wrapConstructor(NativeConstructor) {\n        var _Wrapper = function Wrapper(a2, b2, c4) {\n          if (this instanceof _Wrapper) {\n            switch (arguments.length) {\n             case 0:\n              return new NativeConstructor();\n\n             case 1:\n              return new NativeConstructor(a2);\n\n             case 2:\n              return new NativeConstructor(a2, b2);\n            }\n            return new NativeConstructor(a2, b2, c4);\n          }\n          return apply(NativeConstructor, this, arguments);\n        };\n        _Wrapper.prototype = NativeConstructor.prototype;\n        return _Wrapper;\n      };\n      module.exports = function(options, source) {\n        var TARGET = options.target;\n        var GLOBAL = options.global;\n        var STATIC = options.stat;\n        var PROTO = options.proto;\n        var nativeSource = GLOBAL ? globalThis2 : STATIC ? globalThis2[TARGET] : globalThis2[TARGET] && globalThis2[TARGET].prototype;\n        var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];\n        var targetPrototype = target.prototype;\n        var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n        var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n        for (key in source) {\n          FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n          USE_NATIVE = !FORCED && nativeSource && hasOwn2(nativeSource, key);\n          targetProperty = target[key];\n          if (USE_NATIVE) {\n            if (options.dontCallGetSet) {\n              descriptor = getOwnPropertyDescriptor(nativeSource, key);\n              nativeProperty = descriptor && descriptor.value;\n            } else {\n              nativeProperty = nativeSource[key];\n            }\n          }\n          sourceProperty = USE_NATIVE && nativeProperty ? nativeProperty : source[key];\n          if (!FORCED && !PROTO && _typeof(targetProperty) == _typeof(sourceProperty)) {\n            continue;\n          }\n          if (options.bind && USE_NATIVE) {\n            resultProperty = bind(sourceProperty, globalThis2);\n          } else if (options.wrap && USE_NATIVE) {\n            resultProperty = wrapConstructor(sourceProperty);\n          } else if (PROTO && isCallable(sourceProperty)) {\n            resultProperty = uncurryThis(sourceProperty);\n          } else {\n            resultProperty = sourceProperty;\n          }\n          if (options.sham || sourceProperty && sourceProperty.sham || targetProperty && targetProperty.sham) {\n            createNonEnumerableProperty(resultProperty, 'sham', true);\n          }\n          createNonEnumerableProperty(target, key, resultProperty);\n          if (PROTO) {\n            VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n            if (!hasOwn2(path, VIRTUAL_PROTOTYPE)) {\n              createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n            }\n            createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);\n            if (options.real && targetPrototype && (FORCED || !targetPrototype[key])) {\n              createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n            }\n          }\n        }\n      };\n    });\n    var require_es_object_has_own = __commonJS(function() {\n      'use strict';\n      var $ = require_export();\n      var hasOwn2 = require_has_own_property();\n      $({\n        target: 'Object',\n        stat: true\n      }, {\n        hasOwn: hasOwn2\n      });\n    });\n    var require_has_own = __commonJS(function(exports, module) {\n      'use strict';\n      require_es_object_has_own();\n      var path = require_path();\n      module.exports = path.Object.hasOwn;\n    });\n    var require_has_own2 = __commonJS(function(exports, module) {\n      'use strict';\n      var parent = require_has_own();\n      module.exports = parent;\n    });\n    var require_has_own3 = __commonJS(function(exports, module) {\n      'use strict';\n      var parent = require_has_own2();\n      module.exports = parent;\n    });\n    var require_shared_key = __commonJS(function(exports, module) {\n      'use strict';\n      var shared = require_shared();\n      var uid = require_uid();\n      var keys = shared('keys');\n      module.exports = function(key) {\n        return keys[key] || (keys[key] = uid(key));\n      };\n    });\n    var require_correct_prototype_getter = __commonJS(function(exports, module) {\n      'use strict';\n      var fails = require_fails();\n      module.exports = !fails(function() {\n        function F() {}\n        F.prototype.constructor = null;\n        return Object.getPrototypeOf(new F()) !== F.prototype;\n      });\n    });\n    var require_object_get_prototype_of = __commonJS(function(exports, module) {\n      'use strict';\n      var hasOwn2 = require_has_own_property();\n      var isCallable = require_is_callable();\n      var toObject = require_to_object();\n      var sharedKey = require_shared_key();\n      var CORRECT_PROTOTYPE_GETTER = require_correct_prototype_getter();\n      var IE_PROTO = sharedKey('IE_PROTO');\n      var $Object = Object;\n      var ObjectPrototype = $Object.prototype;\n      module.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function(O) {\n        var object = toObject(O);\n        if (hasOwn2(object, IE_PROTO)) {\n          return object[IE_PROTO];\n        }\n        var constructor = object.constructor;\n        if (isCallable(constructor) && object instanceof constructor) {\n          return constructor.prototype;\n        }\n        return object instanceof $Object ? ObjectPrototype : null;\n      };\n    });\n    var require_math_trunc = __commonJS(function(exports, module) {\n      'use strict';\n      var ceil = Math.ceil;\n      var floor = Math.floor;\n      module.exports = Math.trunc || function trunc(x) {\n        var n2 = +x;\n        return (n2 > 0 ? floor : ceil)(n2);\n      };\n    });\n    var require_to_integer_or_infinity = __commonJS(function(exports, module) {\n      'use strict';\n      var trunc = require_math_trunc();\n      module.exports = function(argument) {\n        var number = +argument;\n        return number !== number || number === 0 ? 0 : trunc(number);\n      };\n    });\n    var require_to_absolute_index = __commonJS(function(exports, module) {\n      'use strict';\n      var toIntegerOrInfinity = require_to_integer_or_infinity();\n      var max2 = Math.max;\n      var min = Math.min;\n      module.exports = function(index, length) {\n        var integer = toIntegerOrInfinity(index);\n        return integer < 0 ? max2(integer + length, 0) : min(integer, length);\n      };\n    });\n    var require_to_length = __commonJS(function(exports, module) {\n      'use strict';\n      var toIntegerOrInfinity = require_to_integer_or_infinity();\n      var min = Math.min;\n      module.exports = function(argument) {\n        var len = toIntegerOrInfinity(argument);\n        return len > 0 ? min(len, 9007199254740991) : 0;\n      };\n    });\n    var require_length_of_array_like = __commonJS(function(exports, module) {\n      'use strict';\n      var toLength = require_to_length();\n      module.exports = function(obj) {\n        return toLength(obj.length);\n      };\n    });\n    var require_array_includes = __commonJS(function(exports, module) {\n      'use strict';\n      var toIndexedObject = require_to_indexed_object();\n      var toAbsoluteIndex = require_to_absolute_index();\n      var lengthOfArrayLike = require_length_of_array_like();\n      var createMethod = function createMethod(IS_INCLUDES) {\n        return function($this, el, fromIndex) {\n          var O = toIndexedObject($this);\n          var length = lengthOfArrayLike(O);\n          if (length === 0) {\n            return !IS_INCLUDES && -1;\n          }\n          var index = toAbsoluteIndex(fromIndex, length);\n          var value;\n          if (IS_INCLUDES && el !== el) {\n            while (length > index) {\n              value = O[index++];\n              if (value !== value) {\n                return true;\n              }\n            }\n          } else {\n            for (;length > index; index++) {\n              if ((IS_INCLUDES || index in O) && O[index] === el) {\n                return IS_INCLUDES || index || 0;\n              }\n            }\n          }\n          return !IS_INCLUDES && -1;\n        };\n      };\n      module.exports = {\n        includes: createMethod(true),\n        indexOf: createMethod(false)\n      };\n    });\n    var require_hidden_keys = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = {};\n    });\n    var require_object_keys_internal = __commonJS(function(exports, module) {\n      'use strict';\n      var uncurryThis = require_function_uncurry_this();\n      var hasOwn2 = require_has_own_property();\n      var toIndexedObject = require_to_indexed_object();\n      var indexOf = require_array_includes().indexOf;\n      var hiddenKeys = require_hidden_keys();\n      var push = uncurryThis([].push);\n      module.exports = function(object, names) {\n        var O = toIndexedObject(object);\n        var i = 0;\n        var result = [];\n        var key;\n        for (key in O) {\n          !hasOwn2(hiddenKeys, key) && hasOwn2(O, key) && push(result, key);\n        }\n        while (names.length > i) {\n          if (hasOwn2(O, key = names[i++])) {\n            ~indexOf(result, key) || push(result, key);\n          }\n        }\n        return result;\n      };\n    });\n    var require_enum_bug_keys = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = [ 'constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', 'valueOf' ];\n    });\n    var require_object_keys = __commonJS(function(exports, module) {\n      'use strict';\n      var internalObjectKeys = require_object_keys_internal();\n      var enumBugKeys = require_enum_bug_keys();\n      module.exports = Object.keys || function keys(O) {\n        return internalObjectKeys(O, enumBugKeys);\n      };\n    });\n    var require_object_to_array = __commonJS(function(exports, module) {\n      'use strict';\n      var DESCRIPTORS = require_descriptors();\n      var fails = require_fails();\n      var uncurryThis = require_function_uncurry_this();\n      var objectGetPrototypeOf = require_object_get_prototype_of();\n      var objectKeys = require_object_keys();\n      var toIndexedObject = require_to_indexed_object();\n      var $propertyIsEnumerable = require_object_property_is_enumerable().f;\n      var propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\n      var push = uncurryThis([].push);\n      var IE_BUG = DESCRIPTORS && fails(function() {\n        var O = Object.create(null);\n        O[2] = 2;\n        return !propertyIsEnumerable(O, 2);\n      });\n      var createMethod = function createMethod(TO_ENTRIES) {\n        return function(it) {\n          var O = toIndexedObject(it);\n          var keys = objectKeys(O);\n          var IE_WORKAROUND = IE_BUG && objectGetPrototypeOf(O) === null;\n          var length = keys.length;\n          var i = 0;\n          var result = [];\n          var key;\n          while (length > i) {\n            key = keys[i++];\n            if (!DESCRIPTORS || (IE_WORKAROUND ? key in O : propertyIsEnumerable(O, key))) {\n              push(result, TO_ENTRIES ? [ key, O[key] ] : O[key]);\n            }\n          }\n          return result;\n        };\n      };\n      module.exports = {\n        entries: createMethod(true),\n        values: createMethod(false)\n      };\n    });\n    var require_es_object_values = __commonJS(function() {\n      'use strict';\n      var $ = require_export();\n      var $values = require_object_to_array().values;\n      $({\n        target: 'Object',\n        stat: true\n      }, {\n        values: function values2(O) {\n          return $values(O);\n        }\n      });\n    });\n    var require_values = __commonJS(function(exports, module) {\n      'use strict';\n      require_es_object_values();\n      var path = require_path();\n      module.exports = path.Object.values;\n    });\n    var require_values2 = __commonJS(function(exports, module) {\n      'use strict';\n      var parent = require_values();\n      module.exports = parent;\n    });\n    var require_values3 = __commonJS(function(exports, module) {\n      'use strict';\n      var parent = require_values2();\n      module.exports = parent;\n    });\n    var require_to_string_tag_support = __commonJS(function(exports, module) {\n      'use strict';\n      var wellKnownSymbol = require_well_known_symbol();\n      var TO_STRING_TAG = wellKnownSymbol('toStringTag');\n      var test = {};\n      test[TO_STRING_TAG] = 'z';\n      module.exports = String(test) === '[object z]';\n    });\n    var require_classof = __commonJS(function(exports, module) {\n      'use strict';\n      var TO_STRING_TAG_SUPPORT = require_to_string_tag_support();\n      var isCallable = require_is_callable();\n      var classofRaw = require_classof_raw();\n      var wellKnownSymbol = require_well_known_symbol();\n      var TO_STRING_TAG = wellKnownSymbol('toStringTag');\n      var $Object = Object;\n      var CORRECT_ARGUMENTS = classofRaw(function() {\n        return arguments;\n      }()) === 'Arguments';\n      var tryGet = function tryGet(it, key) {\n        try {\n          return it[key];\n        } catch (error) {}\n      };\n      module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function(it) {\n        var O, tag, result;\n        return it === void 0 ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n      };\n    });\n    var require_to_string = __commonJS(function(exports, module) {\n      'use strict';\n      var classof = require_classof();\n      var $String = String;\n      module.exports = function(argument) {\n        if (classof(argument) === 'Symbol') {\n          throw new TypeError('Cannot convert a Symbol value to a string');\n        }\n        return $String(argument);\n      };\n    });\n    var require_string_multibyte = __commonJS(function(exports, module) {\n      'use strict';\n      var uncurryThis = require_function_uncurry_this();\n      var toIntegerOrInfinity = require_to_integer_or_infinity();\n      var toString = require_to_string();\n      var requireObjectCoercible = require_require_object_coercible();\n      var charAt = uncurryThis(''.charAt);\n      var charCodeAt = uncurryThis(''.charCodeAt);\n      var stringSlice = uncurryThis(''.slice);\n      var createMethod = function createMethod(CONVERT_TO_STRING) {\n        return function($this, pos) {\n          var S = toString(requireObjectCoercible($this));\n          var position = toIntegerOrInfinity(pos);\n          var size = S.length;\n          var first, second;\n          if (position < 0 || position >= size) {\n            return CONVERT_TO_STRING ? '' : void 0;\n          }\n          first = charCodeAt(S, position);\n          return first < 55296 || first > 56319 || position + 1 === size || (second = charCodeAt(S, position + 1)) < 56320 || second > 57343 ? CONVERT_TO_STRING ? charAt(S, position) : first : CONVERT_TO_STRING ? stringSlice(S, position, position + 2) : (first - 55296 << 10) + (second - 56320) + 65536;\n        };\n      };\n      module.exports = {\n        codeAt: createMethod(false),\n        charAt: createMethod(true)\n      };\n    });\n    var require_weak_map_basic_detection = __commonJS(function(exports, module) {\n      'use strict';\n      var globalThis2 = require_global_this();\n      var isCallable = require_is_callable();\n      var WeakMap2 = globalThis2.WeakMap;\n      module.exports = isCallable(WeakMap2) && /native code/.test(String(WeakMap2));\n    });\n    var require_internal_state = __commonJS(function(exports, module) {\n      'use strict';\n      var NATIVE_WEAK_MAP = require_weak_map_basic_detection();\n      var globalThis2 = require_global_this();\n      var isObject = require_is_object();\n      var createNonEnumerableProperty = require_create_non_enumerable_property();\n      var hasOwn2 = require_has_own_property();\n      var shared = require_shared_store();\n      var sharedKey = require_shared_key();\n      var hiddenKeys = require_hidden_keys();\n      var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\n      var TypeError2 = globalThis2.TypeError;\n      var WeakMap2 = globalThis2.WeakMap;\n      var set2;\n      var get2;\n      var has;\n      var enforce = function enforce(it) {\n        return has(it) ? get2(it) : set2(it, {});\n      };\n      var getterFor = function getterFor(TYPE) {\n        return function(it) {\n          var state;\n          if (!isObject(it) || (state = get2(it)).type !== TYPE) {\n            throw new TypeError2('Incompatible receiver, ' + TYPE + ' required');\n          }\n          return state;\n        };\n      };\n      if (NATIVE_WEAK_MAP || shared.state) {\n        store = shared.state || (shared.state = new WeakMap2());\n        store.get = store.get;\n        store.has = store.has;\n        store.set = store.set;\n        set2 = function set2(it, metadata) {\n          if (store.has(it)) {\n            throw new TypeError2(OBJECT_ALREADY_INITIALIZED);\n          }\n          metadata.facade = it;\n          store.set(it, metadata);\n          return metadata;\n        };\n        get2 = function get2(it) {\n          return store.get(it) || {};\n        };\n        has = function has(it) {\n          return store.has(it);\n        };\n      } else {\n        STATE = sharedKey('state');\n        hiddenKeys[STATE] = true;\n        set2 = function set2(it, metadata) {\n          if (hasOwn2(it, STATE)) {\n            throw new TypeError2(OBJECT_ALREADY_INITIALIZED);\n          }\n          metadata.facade = it;\n          createNonEnumerableProperty(it, STATE, metadata);\n          return metadata;\n        };\n        get2 = function get2(it) {\n          return hasOwn2(it, STATE) ? it[STATE] : {};\n        };\n        has = function has(it) {\n          return hasOwn2(it, STATE);\n        };\n      }\n      var store;\n      var STATE;\n      module.exports = {\n        set: set2,\n        get: get2,\n        has: has,\n        enforce: enforce,\n        getterFor: getterFor\n      };\n    });\n    var require_function_name = __commonJS(function(exports, module) {\n      'use strict';\n      var DESCRIPTORS = require_descriptors();\n      var hasOwn2 = require_has_own_property();\n      var FunctionPrototype = Function.prototype;\n      var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n      var EXISTS = hasOwn2(FunctionPrototype, 'name');\n      var PROPER = EXISTS && function something() {}.name === 'something';\n      var CONFIGURABLE = EXISTS && (!DESCRIPTORS || DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable);\n      module.exports = {\n        EXISTS: EXISTS,\n        PROPER: PROPER,\n        CONFIGURABLE: CONFIGURABLE\n      };\n    });\n    var require_object_define_properties = __commonJS(function(exports) {\n      'use strict';\n      var DESCRIPTORS = require_descriptors();\n      var V8_PROTOTYPE_DEFINE_BUG = require_v8_prototype_define_bug();\n      var definePropertyModule = require_object_define_property();\n      var anObject = require_an_object();\n      var toIndexedObject = require_to_indexed_object();\n      var objectKeys = require_object_keys();\n      exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n        anObject(O);\n        var props = toIndexedObject(Properties);\n        var keys = objectKeys(Properties);\n        var length = keys.length;\n        var index = 0;\n        var key;\n        while (length > index) {\n          definePropertyModule.f(O, key = keys[index++], props[key]);\n        }\n        return O;\n      };\n    });\n    var require_html = __commonJS(function(exports, module) {\n      'use strict';\n      var getBuiltIn = require_get_built_in();\n      module.exports = getBuiltIn('document', 'documentElement');\n    });\n    var require_object_create = __commonJS(function(exports, module) {\n      'use strict';\n      var anObject = require_an_object();\n      var definePropertiesModule = require_object_define_properties();\n      var enumBugKeys = require_enum_bug_keys();\n      var hiddenKeys = require_hidden_keys();\n      var html = require_html();\n      var documentCreateElement = require_document_create_element();\n      var sharedKey = require_shared_key();\n      var GT = '>';\n      var LT = '<';\n      var PROTOTYPE = 'prototype';\n      var SCRIPT = 'script';\n      var IE_PROTO = sharedKey('IE_PROTO');\n      var EmptyConstructor = function EmptyConstructor() {};\n      var scriptTag = function scriptTag(content) {\n        return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n      };\n      var NullProtoObjectViaActiveX = function NullProtoObjectViaActiveX(activeXDocument2) {\n        activeXDocument2.write(scriptTag(''));\n        activeXDocument2.close();\n        var temp = activeXDocument2.parentWindow.Object;\n        activeXDocument2 = null;\n        return temp;\n      };\n      var NullProtoObjectViaIFrame = function NullProtoObjectViaIFrame() {\n        var iframe = documentCreateElement('iframe');\n        var JS = 'java' + SCRIPT + ':';\n        var iframeDocument;\n        iframe.style.display = 'none';\n        html.appendChild(iframe);\n        iframe.src = String(JS);\n        iframeDocument = iframe.contentWindow.document;\n        iframeDocument.open();\n        iframeDocument.write(scriptTag('document.F=Object'));\n        iframeDocument.close();\n        return iframeDocument.F;\n      };\n      var activeXDocument;\n      var _NullProtoObject = function NullProtoObject() {\n        try {\n          activeXDocument = new ActiveXObject('htmlfile');\n        } catch (error) {}\n        _NullProtoObject = typeof document != 'undefined' ? document.domain && activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame() : NullProtoObjectViaActiveX(activeXDocument);\n        var length = enumBugKeys.length;\n        while (length--) {\n          delete _NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n        }\n        return _NullProtoObject();\n      };\n      hiddenKeys[IE_PROTO] = true;\n      module.exports = Object.create || function create(O, Properties) {\n        var result;\n        if (O !== null) {\n          EmptyConstructor[PROTOTYPE] = anObject(O);\n          result = new EmptyConstructor();\n          EmptyConstructor[PROTOTYPE] = null;\n          result[IE_PROTO] = O;\n        } else {\n          result = _NullProtoObject();\n        }\n        return Properties === void 0 ? result : definePropertiesModule.f(result, Properties);\n      };\n    });\n    var require_define_built_in = __commonJS(function(exports, module) {\n      'use strict';\n      var createNonEnumerableProperty = require_create_non_enumerable_property();\n      module.exports = function(target, key, value, options) {\n        if (options && options.enumerable) {\n          target[key] = value;\n        } else {\n          createNonEnumerableProperty(target, key, value);\n        }\n        return target;\n      };\n    });\n    var require_iterators_core = __commonJS(function(exports, module) {\n      'use strict';\n      var fails = require_fails();\n      var isCallable = require_is_callable();\n      var isObject = require_is_object();\n      var create = require_object_create();\n      var getPrototypeOf = require_object_get_prototype_of();\n      var defineBuiltIn = require_define_built_in();\n      var wellKnownSymbol = require_well_known_symbol();\n      var IS_PURE = require_is_pure();\n      var ITERATOR = wellKnownSymbol('iterator');\n      var BUGGY_SAFARI_ITERATORS = false;\n      var IteratorPrototype;\n      var PrototypeOfArrayIteratorPrototype;\n      var arrayIterator;\n      if ([].keys) {\n        arrayIterator = [].keys();\n        if (!('next' in arrayIterator)) {\n          BUGGY_SAFARI_ITERATORS = true;\n        } else {\n          PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n          if (PrototypeOfArrayIteratorPrototype !== Object.prototype) {\n            IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n          }\n        }\n      }\n      var NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function() {\n        var test = {};\n        return IteratorPrototype[ITERATOR].call(test) !== test;\n      });\n      if (NEW_ITERATOR_PROTOTYPE) {\n        IteratorPrototype = {};\n      } else if (IS_PURE) {\n        IteratorPrototype = create(IteratorPrototype);\n      }\n      if (!isCallable(IteratorPrototype[ITERATOR])) {\n        defineBuiltIn(IteratorPrototype, ITERATOR, function() {\n          return this;\n        });\n      }\n      module.exports = {\n        IteratorPrototype: IteratorPrototype,\n        BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n      };\n    });\n    var require_object_to_string = __commonJS(function(exports, module) {\n      'use strict';\n      var TO_STRING_TAG_SUPPORT = require_to_string_tag_support();\n      var classof = require_classof();\n      module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n        return '[object ' + classof(this) + ']';\n      };\n    });\n    var require_set_to_string_tag = __commonJS(function(exports, module) {\n      'use strict';\n      var TO_STRING_TAG_SUPPORT = require_to_string_tag_support();\n      var defineProperty = require_object_define_property().f;\n      var createNonEnumerableProperty = require_create_non_enumerable_property();\n      var hasOwn2 = require_has_own_property();\n      var toString = require_object_to_string();\n      var wellKnownSymbol = require_well_known_symbol();\n      var TO_STRING_TAG = wellKnownSymbol('toStringTag');\n      module.exports = function(it, TAG, STATIC, SET_METHOD) {\n        var target = STATIC ? it : it && it.prototype;\n        if (target) {\n          if (!hasOwn2(target, TO_STRING_TAG)) {\n            defineProperty(target, TO_STRING_TAG, {\n              configurable: true,\n              value: TAG\n            });\n          }\n          if (SET_METHOD && !TO_STRING_TAG_SUPPORT) {\n            createNonEnumerableProperty(target, 'toString', toString);\n          }\n        }\n      };\n    });\n    var require_iterators = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = {};\n    });\n    var require_iterator_create_constructor = __commonJS(function(exports, module) {\n      'use strict';\n      var IteratorPrototype = require_iterators_core().IteratorPrototype;\n      var create = require_object_create();\n      var createPropertyDescriptor = require_create_property_descriptor();\n      var setToStringTag = require_set_to_string_tag();\n      var Iterators = require_iterators();\n      var returnThis = function returnThis() {\n        return this;\n      };\n      module.exports = function(IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n        var TO_STRING_TAG = NAME + ' Iterator';\n        IteratorConstructor.prototype = create(IteratorPrototype, {\n          next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next)\n        });\n        setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n        Iterators[TO_STRING_TAG] = returnThis;\n        return IteratorConstructor;\n      };\n    });\n    var require_function_uncurry_this_accessor = __commonJS(function(exports, module) {\n      'use strict';\n      var uncurryThis = require_function_uncurry_this();\n      var aCallable = require_a_callable();\n      module.exports = function(object, key, method) {\n        try {\n          return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n        } catch (error) {}\n      };\n    });\n    var require_is_possible_prototype = __commonJS(function(exports, module) {\n      'use strict';\n      var isObject = require_is_object();\n      module.exports = function(argument) {\n        return isObject(argument) || argument === null;\n      };\n    });\n    var require_a_possible_prototype = __commonJS(function(exports, module) {\n      'use strict';\n      var isPossiblePrototype = require_is_possible_prototype();\n      var $String = String;\n      var $TypeError = TypeError;\n      module.exports = function(argument) {\n        if (isPossiblePrototype(argument)) {\n          return argument;\n        }\n        throw new $TypeError('Can\\'t set ' + $String(argument) + ' as a prototype');\n      };\n    });\n    var require_object_set_prototype_of = __commonJS(function(exports, module) {\n      'use strict';\n      var uncurryThisAccessor = require_function_uncurry_this_accessor();\n      var isObject = require_is_object();\n      var requireObjectCoercible = require_require_object_coercible();\n      var aPossiblePrototype = require_a_possible_prototype();\n      module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function() {\n        var CORRECT_SETTER = false;\n        var test = {};\n        var setter;\n        try {\n          setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n          setter(test, []);\n          CORRECT_SETTER = test instanceof Array;\n        } catch (error) {}\n        return function setPrototypeOf(O, proto) {\n          requireObjectCoercible(O);\n          aPossiblePrototype(proto);\n          if (!isObject(O)) {\n            return O;\n          }\n          if (CORRECT_SETTER) {\n            setter(O, proto);\n          } else {\n            O.__proto__ = proto;\n          }\n          return O;\n        };\n      }() : void 0);\n    });\n    var require_iterator_define = __commonJS(function(exports, module) {\n      'use strict';\n      var $ = require_export();\n      var call = require_function_call();\n      var IS_PURE = require_is_pure();\n      var FunctionName = require_function_name();\n      var isCallable = require_is_callable();\n      var createIteratorConstructor = require_iterator_create_constructor();\n      var getPrototypeOf = require_object_get_prototype_of();\n      var setPrototypeOf = require_object_set_prototype_of();\n      var setToStringTag = require_set_to_string_tag();\n      var createNonEnumerableProperty = require_create_non_enumerable_property();\n      var defineBuiltIn = require_define_built_in();\n      var wellKnownSymbol = require_well_known_symbol();\n      var Iterators = require_iterators();\n      var IteratorsCore = require_iterators_core();\n      var PROPER_FUNCTION_NAME = FunctionName.PROPER;\n      var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\n      var IteratorPrototype = IteratorsCore.IteratorPrototype;\n      var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\n      var ITERATOR = wellKnownSymbol('iterator');\n      var KEYS = 'keys';\n      var VALUES = 'values';\n      var ENTRIES = 'entries';\n      var returnThis = function returnThis() {\n        return this;\n      };\n      module.exports = function(Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n        createIteratorConstructor(IteratorConstructor, NAME, next);\n        var getIterationMethod = function getIterationMethod(KIND) {\n          if (KIND === DEFAULT && defaultIterator) {\n            return defaultIterator;\n          }\n          if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) {\n            return IterablePrototype[KIND];\n          }\n          switch (KIND) {\n           case KEYS:\n            return function keys() {\n              return new IteratorConstructor(this, KIND);\n            };\n\n           case VALUES:\n            return function values2() {\n              return new IteratorConstructor(this, KIND);\n            };\n\n           case ENTRIES:\n            return function entries() {\n              return new IteratorConstructor(this, KIND);\n            };\n          }\n          return function() {\n            return new IteratorConstructor(this);\n          };\n        };\n        var TO_STRING_TAG = NAME + ' Iterator';\n        var INCORRECT_VALUES_NAME = false;\n        var IterablePrototype = Iterable.prototype;\n        var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT];\n        var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n        var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n        var CurrentIteratorPrototype, methods, KEY;\n        if (anyNativeIterator) {\n          CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n          if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n            if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n              if (setPrototypeOf) {\n                setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n              } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n                defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n              }\n            }\n            setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n            if (IS_PURE) {\n              Iterators[TO_STRING_TAG] = returnThis;\n            }\n          }\n        }\n        if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n          if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n            createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n          } else {\n            INCORRECT_VALUES_NAME = true;\n            defaultIterator = function values2() {\n              return call(nativeIterator, this);\n            };\n          }\n        }\n        if (DEFAULT) {\n          methods = {\n            values: getIterationMethod(VALUES),\n            keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n            entries: getIterationMethod(ENTRIES)\n          };\n          if (FORCED) {\n            for (KEY in methods) {\n              if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n                defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n              }\n            }\n          } else {\n            $({\n              target: NAME,\n              proto: true,\n              forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME\n            }, methods);\n          }\n        }\n        if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n          defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, {\n            name: DEFAULT\n          });\n        }\n        Iterators[NAME] = defaultIterator;\n        return methods;\n      };\n    });\n    var require_create_iter_result_object = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = function(value, done) {\n        return {\n          value: value,\n          done: done\n        };\n      };\n    });\n    var require_es_string_iterator = __commonJS(function() {\n      'use strict';\n      var charAt = require_string_multibyte().charAt;\n      var toString = require_to_string();\n      var InternalStateModule = require_internal_state();\n      var defineIterator = require_iterator_define();\n      var createIterResultObject = require_create_iter_result_object();\n      var STRING_ITERATOR = 'String Iterator';\n      var setInternalState = InternalStateModule.set;\n      var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n      defineIterator(String, 'String', function(iterated) {\n        setInternalState(this, {\n          type: STRING_ITERATOR,\n          string: toString(iterated),\n          index: 0\n        });\n      }, function next() {\n        var state = getInternalState(this);\n        var string = state.string;\n        var index = state.index;\n        var point;\n        if (index >= string.length) {\n          return createIterResultObject(void 0, true);\n        }\n        point = charAt(string, index);\n        state.index += point.length;\n        return createIterResultObject(point, false);\n      });\n    });\n    var require_iterator_close = __commonJS(function(exports, module) {\n      'use strict';\n      var call = require_function_call();\n      var anObject = require_an_object();\n      var getMethod = require_get_method();\n      module.exports = function(iterator, kind, value) {\n        var innerResult, innerError;\n        anObject(iterator);\n        try {\n          innerResult = getMethod(iterator, 'return');\n          if (!innerResult) {\n            if (kind === 'throw') {\n              throw value;\n            }\n            return value;\n          }\n          innerResult = call(innerResult, iterator);\n        } catch (error) {\n          innerError = true;\n          innerResult = error;\n        }\n        if (kind === 'throw') {\n          throw value;\n        }\n        if (innerError) {\n          throw innerResult;\n        }\n        anObject(innerResult);\n        return value;\n      };\n    });\n    var require_call_with_safe_iteration_closing = __commonJS(function(exports, module) {\n      'use strict';\n      var anObject = require_an_object();\n      var iteratorClose = require_iterator_close();\n      module.exports = function(iterator, fn, value, ENTRIES) {\n        try {\n          return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n        } catch (error) {\n          iteratorClose(iterator, 'throw', error);\n        }\n      };\n    });\n    var require_is_array_iterator_method = __commonJS(function(exports, module) {\n      'use strict';\n      var wellKnownSymbol = require_well_known_symbol();\n      var Iterators = require_iterators();\n      var ITERATOR = wellKnownSymbol('iterator');\n      var ArrayPrototype = Array.prototype;\n      module.exports = function(it) {\n        return it !== void 0 && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n      };\n    });\n    var require_inspect_source = __commonJS(function(exports, module) {\n      'use strict';\n      var uncurryThis = require_function_uncurry_this();\n      var isCallable = require_is_callable();\n      var store = require_shared_store();\n      var functionToString = uncurryThis(Function.toString);\n      if (!isCallable(store.inspectSource)) {\n        store.inspectSource = function(it) {\n          return functionToString(it);\n        };\n      }\n      module.exports = store.inspectSource;\n    });\n    var require_is_constructor = __commonJS(function(exports, module) {\n      'use strict';\n      var uncurryThis = require_function_uncurry_this();\n      var fails = require_fails();\n      var isCallable = require_is_callable();\n      var classof = require_classof();\n      var getBuiltIn = require_get_built_in();\n      var inspectSource = require_inspect_source();\n      var noop3 = function noop3() {};\n      var construct = getBuiltIn('Reflect', 'construct');\n      var constructorRegExp = /^\\s*(?:class|function)\\b/;\n      var exec = uncurryThis(constructorRegExp.exec);\n      var INCORRECT_TO_STRING = !constructorRegExp.test(noop3);\n      var isConstructorModern = function isConstructor(argument) {\n        if (!isCallable(argument)) {\n          return false;\n        }\n        try {\n          construct(noop3, [], argument);\n          return true;\n        } catch (error) {\n          return false;\n        }\n      };\n      var isConstructorLegacy = function isConstructor(argument) {\n        if (!isCallable(argument)) {\n          return false;\n        }\n        switch (classof(argument)) {\n         case 'AsyncFunction':\n         case 'GeneratorFunction':\n         case 'AsyncGeneratorFunction':\n          return false;\n        }\n        try {\n          return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n        } catch (error) {\n          return true;\n        }\n      };\n      isConstructorLegacy.sham = true;\n      module.exports = !construct || fails(function() {\n        var called;\n        return isConstructorModern(isConstructorModern.call) || !isConstructorModern(Object) || !isConstructorModern(function() {\n          called = true;\n        }) || called;\n      }) ? isConstructorLegacy : isConstructorModern;\n    });\n    var require_create_property = __commonJS(function(exports, module) {\n      'use strict';\n      var DESCRIPTORS = require_descriptors();\n      var definePropertyModule = require_object_define_property();\n      var createPropertyDescriptor = require_create_property_descriptor();\n      module.exports = function(object, key, value) {\n        if (DESCRIPTORS) {\n          definePropertyModule.f(object, key, createPropertyDescriptor(0, value));\n        } else {\n          object[key] = value;\n        }\n      };\n    });\n    var require_get_iterator_method = __commonJS(function(exports, module) {\n      'use strict';\n      var classof = require_classof();\n      var getMethod = require_get_method();\n      var isNullOrUndefined = require_is_null_or_undefined();\n      var Iterators = require_iterators();\n      var wellKnownSymbol = require_well_known_symbol();\n      var ITERATOR = wellKnownSymbol('iterator');\n      module.exports = function(it) {\n        if (!isNullOrUndefined(it)) {\n          return getMethod(it, ITERATOR) || getMethod(it, '@@iterator') || Iterators[classof(it)];\n        }\n      };\n    });\n    var require_get_iterator = __commonJS(function(exports, module) {\n      'use strict';\n      var call = require_function_call();\n      var aCallable = require_a_callable();\n      var anObject = require_an_object();\n      var tryToString = require_try_to_string();\n      var getIteratorMethod = require_get_iterator_method();\n      var $TypeError = TypeError;\n      module.exports = function(argument, usingIterator) {\n        var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n        if (aCallable(iteratorMethod)) {\n          return anObject(call(iteratorMethod, argument));\n        }\n        throw new $TypeError(tryToString(argument) + ' is not iterable');\n      };\n    });\n    var require_array_from = __commonJS(function(exports, module) {\n      'use strict';\n      var bind = require_function_bind_context();\n      var call = require_function_call();\n      var toObject = require_to_object();\n      var callWithSafeIterationClosing = require_call_with_safe_iteration_closing();\n      var isArrayIteratorMethod = require_is_array_iterator_method();\n      var isConstructor = require_is_constructor();\n      var lengthOfArrayLike = require_length_of_array_like();\n      var createProperty = require_create_property();\n      var getIterator = require_get_iterator();\n      var getIteratorMethod = require_get_iterator_method();\n      var $Array = Array;\n      module.exports = function from(arrayLike) {\n        var O = toObject(arrayLike);\n        var IS_CONSTRUCTOR = isConstructor(this);\n        var argumentsLength = arguments.length;\n        var mapfn = argumentsLength > 1 ? arguments[1] : void 0;\n        var mapping = mapfn !== void 0;\n        if (mapping) {\n          mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : void 0);\n        }\n        var iteratorMethod = getIteratorMethod(O);\n        var index = 0;\n        var length, result, step, iterator, next, value;\n        if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) {\n          result = IS_CONSTRUCTOR ? new this() : [];\n          iterator = getIterator(O, iteratorMethod);\n          next = iterator.next;\n          for (;!(step = call(next, iterator)).done; index++) {\n            value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [ step.value, index ], true) : step.value;\n            createProperty(result, index, value);\n          }\n        } else {\n          length = lengthOfArrayLike(O);\n          result = IS_CONSTRUCTOR ? new this(length) : $Array(length);\n          for (;length > index; index++) {\n            value = mapping ? mapfn(O[index], index) : O[index];\n            createProperty(result, index, value);\n          }\n        }\n        result.length = index;\n        return result;\n      };\n    });\n    var require_check_correctness_of_iteration = __commonJS(function(exports, module) {\n      'use strict';\n      var wellKnownSymbol = require_well_known_symbol();\n      var ITERATOR = wellKnownSymbol('iterator');\n      var SAFE_CLOSING = false;\n      try {\n        called = 0;\n        iteratorWithReturn = {\n          next: function next() {\n            return {\n              done: !!called++\n            };\n          },\n          return: function _return() {\n            SAFE_CLOSING = true;\n          }\n        };\n        iteratorWithReturn[ITERATOR] = function() {\n          return this;\n        };\n        Array.from(iteratorWithReturn, function() {\n          throw 2;\n        });\n      } catch (error) {}\n      var called;\n      var iteratorWithReturn;\n      module.exports = function(exec, SKIP_CLOSING) {\n        try {\n          if (!SKIP_CLOSING && !SAFE_CLOSING) {\n            return false;\n          }\n        } catch (error) {\n          return false;\n        }\n        var ITERATION_SUPPORT = false;\n        try {\n          var object = {};\n          object[ITERATOR] = function() {\n            return {\n              next: function next() {\n                return {\n                  done: ITERATION_SUPPORT = true\n                };\n              }\n            };\n          };\n          exec(object);\n        } catch (error) {}\n        return ITERATION_SUPPORT;\n      };\n    });\n    var require_es_array_from = __commonJS(function() {\n      'use strict';\n      var $ = require_export();\n      var from = require_array_from();\n      var checkCorrectnessOfIteration = require_check_correctness_of_iteration();\n      var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function(iterable) {\n        Array.from(iterable);\n      });\n      $({\n        target: 'Array',\n        stat: true,\n        forced: INCORRECT_ITERATION\n      }, {\n        from: from\n      });\n    });\n    var require_from = __commonJS(function(exports, module) {\n      'use strict';\n      require_es_string_iterator();\n      require_es_array_from();\n      var path = require_path();\n      module.exports = path.Array.from;\n    });\n    var require_from2 = __commonJS(function(exports, module) {\n      'use strict';\n      var parent = require_from();\n      module.exports = parent;\n    });\n    var require_from3 = __commonJS(function(exports, module) {\n      'use strict';\n      var parent = require_from2();\n      module.exports = parent;\n    });\n    var require_utils = __commonJS(function(exports) {\n      'use strict';\n      Object.defineProperty(exports, '__esModule', {\n        value: true\n      });\n      function isIdentStart(c4) {\n        return c4 >= 'a' && c4 <= 'z' || c4 >= 'A' && c4 <= 'Z' || c4 === '-' || c4 === '_';\n      }\n      exports.isIdentStart = isIdentStart;\n      function isIdent(c4) {\n        return c4 >= 'a' && c4 <= 'z' || c4 >= 'A' && c4 <= 'Z' || c4 >= '0' && c4 <= '9' || c4 === '-' || c4 === '_';\n      }\n      exports.isIdent = isIdent;\n      function isHex(c4) {\n        return c4 >= 'a' && c4 <= 'f' || c4 >= 'A' && c4 <= 'F' || c4 >= '0' && c4 <= '9';\n      }\n      exports.isHex = isHex;\n      function escapeIdentifier(s) {\n        var len = s.length;\n        var result = '';\n        var i = 0;\n        while (i < len) {\n          var chr = s.charAt(i);\n          if (exports.identSpecialChars[chr]) {\n            result += '\\\\' + chr;\n          } else {\n            if (!(chr === '_' || chr === '-' || chr >= 'A' && chr <= 'Z' || chr >= 'a' && chr <= 'z' || i !== 0 && chr >= '0' && chr <= '9')) {\n              var charCode = chr.charCodeAt(0);\n              if ((charCode & 63488) === 55296) {\n                var extraCharCode = s.charCodeAt(i++);\n                if ((charCode & 64512) !== 55296 || (extraCharCode & 64512) !== 56320) {\n                  throw Error('UCS-2(decode): illegal sequence');\n                }\n                charCode = ((charCode & 1023) << 10) + (extraCharCode & 1023) + 65536;\n              }\n              result += '\\\\' + charCode.toString(16) + ' ';\n            } else {\n              result += chr;\n            }\n          }\n          i++;\n        }\n        return result;\n      }\n      exports.escapeIdentifier = escapeIdentifier;\n      function escapeStr(s) {\n        var len = s.length;\n        var result = '';\n        var i = 0;\n        var replacement;\n        while (i < len) {\n          var chr = s.charAt(i);\n          if (chr === '\"') {\n            chr = '\\\\\"';\n          } else if (chr === '\\\\') {\n            chr = '\\\\\\\\';\n          } else if ((replacement = exports.strReplacementsRev[chr]) !== void 0) {\n            chr = replacement;\n          }\n          result += chr;\n          i++;\n        }\n        return '\"' + result + '\"';\n      }\n      exports.escapeStr = escapeStr;\n      exports.identSpecialChars = {\n        '!': true,\n        '\"': true,\n        '#': true,\n        $: true,\n        '%': true,\n        '&': true,\n        '\\'': true,\n        '(': true,\n        ')': true,\n        '*': true,\n        '+': true,\n        ',': true,\n        '.': true,\n        '/': true,\n        ';': true,\n        '<': true,\n        '=': true,\n        '>': true,\n        '?': true,\n        '@': true,\n        '[': true,\n        '\\\\': true,\n        ']': true,\n        '^': true,\n        '`': true,\n        '{': true,\n        '|': true,\n        '}': true,\n        '~': true\n      };\n      exports.strReplacementsRev = {\n        '\\n': '\\\\n',\n        '\\r': '\\\\r',\n        '\\t': '\\\\t',\n        '\\f': '\\\\f',\n        '\\v': '\\\\v'\n      };\n      exports.singleQuoteEscapeChars = {\n        n: '\\n',\n        r: '\\r',\n        t: '\\t',\n        f: '\\f',\n        '\\\\': '\\\\',\n        '\\'': '\\''\n      };\n      exports.doubleQuotesEscapeChars = {\n        n: '\\n',\n        r: '\\r',\n        t: '\\t',\n        f: '\\f',\n        '\\\\': '\\\\',\n        '\"': '\"'\n      };\n    });\n    var require_parser_context = __commonJS(function(exports) {\n      'use strict';\n      Object.defineProperty(exports, '__esModule', {\n        value: true\n      });\n      var utils_1 = require_utils();\n      function parseCssSelector(str, pos, pseudos, attrEqualityMods, ruleNestingOperators, substitutesEnabled) {\n        var l = str.length;\n        var chr = '';\n        function getStr(quote, escapeTable) {\n          var result = '';\n          pos++;\n          chr = str.charAt(pos);\n          while (pos < l) {\n            if (chr === quote) {\n              pos++;\n              return result;\n            } else if (chr === '\\\\') {\n              pos++;\n              chr = str.charAt(pos);\n              var esc = void 0;\n              if (chr === quote) {\n                result += quote;\n              } else if ((esc = escapeTable[chr]) !== void 0) {\n                result += esc;\n              } else if (utils_1.isHex(chr)) {\n                var hex = chr;\n                pos++;\n                chr = str.charAt(pos);\n                while (utils_1.isHex(chr)) {\n                  hex += chr;\n                  pos++;\n                  chr = str.charAt(pos);\n                }\n                if (chr === ' ') {\n                  pos++;\n                  chr = str.charAt(pos);\n                }\n                result += String.fromCharCode(parseInt(hex, 16));\n                continue;\n              } else {\n                result += chr;\n              }\n            } else {\n              result += chr;\n            }\n            pos++;\n            chr = str.charAt(pos);\n          }\n          return result;\n        }\n        function getIdent() {\n          var result = '';\n          chr = str.charAt(pos);\n          while (pos < l) {\n            if (utils_1.isIdent(chr)) {\n              result += chr;\n            } else if (chr === '\\\\') {\n              pos++;\n              if (pos >= l) {\n                throw Error('Expected symbol but end of file reached.');\n              }\n              chr = str.charAt(pos);\n              if (utils_1.identSpecialChars[chr]) {\n                result += chr;\n              } else if (utils_1.isHex(chr)) {\n                var hex = chr;\n                pos++;\n                chr = str.charAt(pos);\n                while (utils_1.isHex(chr)) {\n                  hex += chr;\n                  pos++;\n                  chr = str.charAt(pos);\n                }\n                if (chr === ' ') {\n                  pos++;\n                  chr = str.charAt(pos);\n                }\n                result += String.fromCharCode(parseInt(hex, 16));\n                continue;\n              } else {\n                result += chr;\n              }\n            } else {\n              return result;\n            }\n            pos++;\n            chr = str.charAt(pos);\n          }\n          return result;\n        }\n        function skipWhitespace() {\n          chr = str.charAt(pos);\n          var result = false;\n          while (chr === ' ' || chr === '\\t' || chr === '\\n' || chr === '\\r' || chr === '\\f') {\n            result = true;\n            pos++;\n            chr = str.charAt(pos);\n          }\n          return result;\n        }\n        function parse3() {\n          var res = parseSelector();\n          if (pos < l) {\n            throw Error('Rule expected but \"' + str.charAt(pos) + '\" found.');\n          }\n          return res;\n        }\n        function parseSelector() {\n          var selector = parseSingleSelector();\n          if (!selector) {\n            return null;\n          }\n          var res = selector;\n          chr = str.charAt(pos);\n          while (chr === ',') {\n            pos++;\n            skipWhitespace();\n            if (res.type !== 'selectors') {\n              res = {\n                type: 'selectors',\n                selectors: [ selector ]\n              };\n            }\n            selector = parseSingleSelector();\n            if (!selector) {\n              throw Error('Rule expected after \",\".');\n            }\n            res.selectors.push(selector);\n          }\n          return res;\n        }\n        function parseSingleSelector() {\n          skipWhitespace();\n          var selector = {\n            type: 'ruleSet'\n          };\n          var rule = parseRule();\n          if (!rule) {\n            return null;\n          }\n          var currentRule = selector;\n          while (rule) {\n            rule.type = 'rule';\n            currentRule.rule = rule;\n            currentRule = rule;\n            skipWhitespace();\n            chr = str.charAt(pos);\n            if (pos >= l || chr === ',' || chr === ')') {\n              break;\n            }\n            if (ruleNestingOperators[chr]) {\n              var op = chr;\n              pos++;\n              skipWhitespace();\n              rule = parseRule();\n              if (!rule) {\n                throw Error('Rule expected after \"' + op + '\".');\n              }\n              rule.nestingOperator = op;\n            } else {\n              rule = parseRule();\n              if (rule) {\n                rule.nestingOperator = null;\n              }\n            }\n          }\n          return selector;\n        }\n        function parseRule() {\n          var rule = null;\n          while (pos < l) {\n            chr = str.charAt(pos);\n            if (chr === '*') {\n              pos++;\n              (rule = rule || {}).tagName = '*';\n            } else if (utils_1.isIdentStart(chr) || chr === '\\\\') {\n              (rule = rule || {}).tagName = getIdent();\n            } else if (chr === '.') {\n              pos++;\n              rule = rule || {};\n              (rule.classNames = rule.classNames || []).push(getIdent());\n            } else if (chr === '#') {\n              pos++;\n              (rule = rule || {}).id = getIdent();\n            } else if (chr === '[') {\n              pos++;\n              skipWhitespace();\n              var attr = {\n                name: getIdent()\n              };\n              skipWhitespace();\n              if (chr === ']') {\n                pos++;\n              } else {\n                var operator = '';\n                if (attrEqualityMods[chr]) {\n                  operator = chr;\n                  pos++;\n                  chr = str.charAt(pos);\n                }\n                if (pos >= l) {\n                  throw Error('Expected \"=\" but end of file reached.');\n                }\n                if (chr !== '=') {\n                  throw Error('Expected \"=\" but \"' + chr + '\" found.');\n                }\n                attr.operator = operator + '=';\n                pos++;\n                skipWhitespace();\n                var attrValue = '';\n                attr.valueType = 'string';\n                if (chr === '\"') {\n                  attrValue = getStr('\"', utils_1.doubleQuotesEscapeChars);\n                } else if (chr === '\\'') {\n                  attrValue = getStr('\\'', utils_1.singleQuoteEscapeChars);\n                } else if (substitutesEnabled && chr === '$') {\n                  pos++;\n                  attrValue = getIdent();\n                  attr.valueType = 'substitute';\n                } else {\n                  while (pos < l) {\n                    if (chr === ']') {\n                      break;\n                    }\n                    attrValue += chr;\n                    pos++;\n                    chr = str.charAt(pos);\n                  }\n                  attrValue = attrValue.trim();\n                }\n                skipWhitespace();\n                if (pos >= l) {\n                  throw Error('Expected \"]\" but end of file reached.');\n                }\n                if (chr !== ']') {\n                  throw Error('Expected \"]\" but \"' + chr + '\" found.');\n                }\n                pos++;\n                attr.value = attrValue;\n              }\n              rule = rule || {};\n              (rule.attrs = rule.attrs || []).push(attr);\n            } else if (chr === ':') {\n              pos++;\n              var pseudoName = getIdent();\n              var pseudo = {\n                name: pseudoName\n              };\n              if (chr === '(') {\n                pos++;\n                var value = '';\n                skipWhitespace();\n                if (pseudos[pseudoName] === 'selector') {\n                  pseudo.valueType = 'selector';\n                  value = parseSelector();\n                } else {\n                  pseudo.valueType = pseudos[pseudoName] || 'string';\n                  if (chr === '\"') {\n                    value = getStr('\"', utils_1.doubleQuotesEscapeChars);\n                  } else if (chr === '\\'') {\n                    value = getStr('\\'', utils_1.singleQuoteEscapeChars);\n                  } else if (substitutesEnabled && chr === '$') {\n                    pos++;\n                    value = getIdent();\n                    pseudo.valueType = 'substitute';\n                  } else {\n                    while (pos < l) {\n                      if (chr === ')') {\n                        break;\n                      }\n                      value += chr;\n                      pos++;\n                      chr = str.charAt(pos);\n                    }\n                    value = value.trim();\n                  }\n                  skipWhitespace();\n                }\n                if (pos >= l) {\n                  throw Error('Expected \")\" but end of file reached.');\n                }\n                if (chr !== ')') {\n                  throw Error('Expected \")\" but \"' + chr + '\" found.');\n                }\n                pos++;\n                pseudo.value = value;\n              }\n              rule = rule || {};\n              (rule.pseudos = rule.pseudos || []).push(pseudo);\n            } else {\n              break;\n            }\n          }\n          return rule;\n        }\n        return parse3();\n      }\n      exports.parseCssSelector = parseCssSelector;\n    });\n    var require_render = __commonJS(function(exports) {\n      'use strict';\n      Object.defineProperty(exports, '__esModule', {\n        value: true\n      });\n      var utils_1 = require_utils();\n      function renderEntity(entity) {\n        var res = '';\n        switch (entity.type) {\n         case 'ruleSet':\n          var currentEntity = entity.rule;\n          var parts = [];\n          while (currentEntity) {\n            if (currentEntity.nestingOperator) {\n              parts.push(currentEntity.nestingOperator);\n            }\n            parts.push(renderEntity(currentEntity));\n            currentEntity = currentEntity.rule;\n          }\n          res = parts.join(' ');\n          break;\n\n         case 'selectors':\n          res = entity.selectors.map(renderEntity).join(', ');\n          break;\n\n         case 'rule':\n          if (entity.tagName) {\n            if (entity.tagName === '*') {\n              res = '*';\n            } else {\n              res = utils_1.escapeIdentifier(entity.tagName);\n            }\n          }\n          if (entity.id) {\n            res += '#' + utils_1.escapeIdentifier(entity.id);\n          }\n          if (entity.classNames) {\n            res += entity.classNames.map(function(cn) {\n              return '.' + utils_1.escapeIdentifier(cn);\n            }).join('');\n          }\n          if (entity.attrs) {\n            res += entity.attrs.map(function(attr) {\n              if ('operator' in attr) {\n                if (attr.valueType === 'substitute') {\n                  return '[' + utils_1.escapeIdentifier(attr.name) + attr.operator + '$' + attr.value + ']';\n                } else {\n                  return '[' + utils_1.escapeIdentifier(attr.name) + attr.operator + utils_1.escapeStr(attr.value) + ']';\n                }\n              } else {\n                return '[' + utils_1.escapeIdentifier(attr.name) + ']';\n              }\n            }).join('');\n          }\n          if (entity.pseudos) {\n            res += entity.pseudos.map(function(pseudo) {\n              if (pseudo.valueType) {\n                if (pseudo.valueType === 'selector') {\n                  return ':' + utils_1.escapeIdentifier(pseudo.name) + '(' + renderEntity(pseudo.value) + ')';\n                } else if (pseudo.valueType === 'substitute') {\n                  return ':' + utils_1.escapeIdentifier(pseudo.name) + '($' + pseudo.value + ')';\n                } else if (pseudo.valueType === 'numeric') {\n                  return ':' + utils_1.escapeIdentifier(pseudo.name) + '(' + pseudo.value + ')';\n                } else {\n                  return ':' + utils_1.escapeIdentifier(pseudo.name) + '(' + utils_1.escapeIdentifier(pseudo.value) + ')';\n                }\n              } else {\n                return ':' + utils_1.escapeIdentifier(pseudo.name);\n              }\n            }).join('');\n          }\n          break;\n\n         default:\n          throw Error('Unknown entity type: \"' + entity.type + '\".');\n        }\n        return res;\n      }\n      exports.renderEntity = renderEntity;\n    });\n    var require_lib = __commonJS(function(exports) {\n      'use strict';\n      Object.defineProperty(exports, '__esModule', {\n        value: true\n      });\n      var parser_context_1 = require_parser_context();\n      var render_1 = require_render();\n      var CssSelectorParser2 = function() {\n        function CssSelectorParser3() {\n          this.pseudos = {};\n          this.attrEqualityMods = {};\n          this.ruleNestingOperators = {};\n          this.substitutesEnabled = false;\n        }\n        CssSelectorParser3.prototype.registerSelectorPseudos = function() {\n          var pseudos = [];\n          for (var _i = 0; _i < arguments.length; _i++) {\n            pseudos[_i] = arguments[_i];\n          }\n          for (var _a = 0, pseudos_1 = pseudos; _a < pseudos_1.length; _a++) {\n            var pseudo = pseudos_1[_a];\n            this.pseudos[pseudo] = 'selector';\n          }\n          return this;\n        };\n        CssSelectorParser3.prototype.unregisterSelectorPseudos = function() {\n          var pseudos = [];\n          for (var _i = 0; _i < arguments.length; _i++) {\n            pseudos[_i] = arguments[_i];\n          }\n          for (var _a = 0, pseudos_2 = pseudos; _a < pseudos_2.length; _a++) {\n            var pseudo = pseudos_2[_a];\n            delete this.pseudos[pseudo];\n          }\n          return this;\n        };\n        CssSelectorParser3.prototype.registerNumericPseudos = function() {\n          var pseudos = [];\n          for (var _i = 0; _i < arguments.length; _i++) {\n            pseudos[_i] = arguments[_i];\n          }\n          for (var _a = 0, pseudos_3 = pseudos; _a < pseudos_3.length; _a++) {\n            var pseudo = pseudos_3[_a];\n            this.pseudos[pseudo] = 'numeric';\n          }\n          return this;\n        };\n        CssSelectorParser3.prototype.unregisterNumericPseudos = function() {\n          var pseudos = [];\n          for (var _i = 0; _i < arguments.length; _i++) {\n            pseudos[_i] = arguments[_i];\n          }\n          for (var _a = 0, pseudos_4 = pseudos; _a < pseudos_4.length; _a++) {\n            var pseudo = pseudos_4[_a];\n            delete this.pseudos[pseudo];\n          }\n          return this;\n        };\n        CssSelectorParser3.prototype.registerNestingOperators = function() {\n          var operators = [];\n          for (var _i = 0; _i < arguments.length; _i++) {\n            operators[_i] = arguments[_i];\n          }\n          for (var _a = 0, operators_1 = operators; _a < operators_1.length; _a++) {\n            var operator = operators_1[_a];\n            this.ruleNestingOperators[operator] = true;\n          }\n          return this;\n        };\n        CssSelectorParser3.prototype.unregisterNestingOperators = function() {\n          var operators = [];\n          for (var _i = 0; _i < arguments.length; _i++) {\n            operators[_i] = arguments[_i];\n          }\n          for (var _a = 0, operators_2 = operators; _a < operators_2.length; _a++) {\n            var operator = operators_2[_a];\n            delete this.ruleNestingOperators[operator];\n          }\n          return this;\n        };\n        CssSelectorParser3.prototype.registerAttrEqualityMods = function() {\n          var mods = [];\n          for (var _i = 0; _i < arguments.length; _i++) {\n            mods[_i] = arguments[_i];\n          }\n          for (var _a = 0, mods_1 = mods; _a < mods_1.length; _a++) {\n            var mod = mods_1[_a];\n            this.attrEqualityMods[mod] = true;\n          }\n          return this;\n        };\n        CssSelectorParser3.prototype.unregisterAttrEqualityMods = function() {\n          var mods = [];\n          for (var _i = 0; _i < arguments.length; _i++) {\n            mods[_i] = arguments[_i];\n          }\n          for (var _a = 0, mods_2 = mods; _a < mods_2.length; _a++) {\n            var mod = mods_2[_a];\n            delete this.attrEqualityMods[mod];\n          }\n          return this;\n        };\n        CssSelectorParser3.prototype.enableSubstitutes = function() {\n          this.substitutesEnabled = true;\n          return this;\n        };\n        CssSelectorParser3.prototype.disableSubstitutes = function() {\n          this.substitutesEnabled = false;\n          return this;\n        };\n        CssSelectorParser3.prototype.parse = function(str) {\n          return parser_context_1.parseCssSelector(str, 0, this.pseudos, this.attrEqualityMods, this.ruleNestingOperators, this.substitutesEnabled);\n        };\n        CssSelectorParser3.prototype.render = function(path) {\n          return render_1.renderEntity(path).trim();\n        };\n        return CssSelectorParser3;\n      }();\n      exports.CssSelectorParser = CssSelectorParser2;\n    });\n    var require_doT = __commonJS(function(exports, module) {\n      (function() {\n        'use strict';\n        var doT2 = {\n          name: 'doT',\n          version: '1.1.1',\n          templateSettings: {\n            evaluate: /\\{\\{([\\s\\S]+?(\\}?)+)\\}\\}/g,\n            interpolate: /\\{\\{=([\\s\\S]+?)\\}\\}/g,\n            encode: /\\{\\{!([\\s\\S]+?)\\}\\}/g,\n            use: /\\{\\{#([\\s\\S]+?)\\}\\}/g,\n            useParams: /(^|[^\\w$])def(?:\\.|\\[[\\'\\\"])([\\w$\\.]+)(?:[\\'\\\"]\\])?\\s*\\:\\s*([\\w$\\.]+|\\\"[^\\\"]+\\\"|\\'[^\\']+\\'|\\{[^\\}]+\\})/g,\n            define: /\\{\\{##\\s*([\\w\\.$]+)\\s*(\\:|=)([\\s\\S]+?)#\\}\\}/g,\n            defineParams: /^\\s*([\\w$]+):([\\s\\S]+)/,\n            conditional: /\\{\\{\\?(\\?)?\\s*([\\s\\S]*?)\\s*\\}\\}/g,\n            iterate: /\\{\\{~\\s*(?:\\}\\}|([\\s\\S]+?)\\s*\\:\\s*([\\w$]+)\\s*(?:\\:\\s*([\\w$]+))?\\s*\\}\\})/g,\n            varname: 'it',\n            strip: true,\n            append: true,\n            selfcontained: false,\n            doNotSkipEncoded: false\n          },\n          template: void 0,\n          compile: void 0,\n          log: true\n        };\n        (function() {\n          if ((typeof globalThis === 'undefined' ? 'undefined' : _typeof(globalThis)) === 'object') {\n            return;\n          }\n          try {\n            Object.defineProperty(Object.prototype, '__magic__', {\n              get: function get() {\n                return this;\n              },\n              configurable: true\n            });\n            __magic__.globalThis = __magic__;\n            delete Object.prototype.__magic__;\n          } catch (e) {\n            window.globalThis = function() {\n              if (typeof self !== 'undefined') {\n                return self;\n              }\n              if (typeof window !== 'undefined') {\n                return window;\n              }\n              if (typeof global !== 'undefined') {\n                return global;\n              }\n              if (typeof this !== 'undefined') {\n                return this;\n              }\n              throw new Error('Unable to locate global `this`');\n            }();\n          }\n        })();\n        doT2.encodeHTMLSource = function(doNotSkipEncoded) {\n          var encodeHTMLRules = {\n            '&': '&#38;',\n            '<': '&#60;',\n            '>': '&#62;',\n            '\"': '&#34;',\n            '\\'': '&#39;',\n            '/': '&#47;'\n          }, matchHTML = doNotSkipEncoded ? /[&<>\"'\\/]/g : /&(?!#?\\w+;)|<|>|\"|'|\\//g;\n          return function(code) {\n            return code ? code.toString().replace(matchHTML, function(m3) {\n              return encodeHTMLRules[m3] || m3;\n            }) : '';\n          };\n        };\n        if (typeof module !== 'undefined' && module.exports) {\n          module.exports = doT2;\n        } else if (typeof define === 'function' && define.amd) {\n          define(function() {\n            return doT2;\n          });\n        } else {\n          globalThis.doT = doT2;\n        }\n        var startend = {\n          append: {\n            start: '\\'+(',\n            end: ')+\\'',\n            startencode: '\\'+encodeHTML('\n          },\n          split: {\n            start: '\\';out+=(',\n            end: ');out+=\\'',\n            startencode: '\\';out+=encodeHTML('\n          }\n        }, skip = /$^/;\n        function resolveDefs(c4, block, def) {\n          return (typeof block === 'string' ? block : block.toString()).replace(c4.define || skip, function(m3, code, assign, value) {\n            if (code.indexOf('def.') === 0) {\n              code = code.substring(4);\n            }\n            if (!(code in def)) {\n              if (assign === ':') {\n                if (c4.defineParams) {\n                  value.replace(c4.defineParams, function(m4, param, v) {\n                    def[code] = {\n                      arg: param,\n                      text: v\n                    };\n                  });\n                }\n                if (!(code in def)) {\n                  def[code] = value;\n                }\n              } else {\n                new Function('def', 'def[\\'' + code + '\\']=' + value)(def);\n              }\n            }\n            return '';\n          }).replace(c4.use || skip, function(m3, code) {\n            if (c4.useParams) {\n              code = code.replace(c4.useParams, function(m4, s, d2, param) {\n                if (def[d2] && def[d2].arg && param) {\n                  var rw = (d2 + ':' + param).replace(/'|\\\\/g, '_');\n                  def.__exp = def.__exp || {};\n                  def.__exp[rw] = def[d2].text.replace(new RegExp('(^|[^\\\\w$])' + def[d2].arg + '([^\\\\w$])', 'g'), '$1' + param + '$2');\n                  return s + 'def.__exp[\\'' + rw + '\\']';\n                }\n              });\n            }\n            var v = new Function('def', 'return ' + code)(def);\n            return v ? resolveDefs(c4, v, def) : v;\n          });\n        }\n        function unescape(code) {\n          return code.replace(/\\\\('|\\\\)/g, '$1').replace(/[\\r\\t\\n]/g, ' ');\n        }\n        doT2.template = function(tmpl, c4, def) {\n          c4 = c4 || doT2.templateSettings;\n          var cse = c4.append ? startend.append : startend.split, needhtmlencode, sid = 0, indv, str = c4.use || c4.define ? resolveDefs(c4, tmpl, def || {}) : tmpl;\n          str = ('var out=\\'' + (c4.strip ? str.replace(/(^|\\r|\\n)\\t* +| +\\t*(\\r|\\n|$)/g, ' ').replace(/\\r|\\n|\\t|\\/\\*[\\s\\S]*?\\*\\//g, '') : str).replace(/'|\\\\/g, '\\\\$&').replace(c4.interpolate || skip, function(m3, code) {\n            return cse.start + unescape(code) + cse.end;\n          }).replace(c4.encode || skip, function(m3, code) {\n            needhtmlencode = true;\n            return cse.startencode + unescape(code) + cse.end;\n          }).replace(c4.conditional || skip, function(m3, elsecase, code) {\n            return elsecase ? code ? '\\';}else if(' + unescape(code) + '){out+=\\'' : '\\';}else{out+=\\'' : code ? '\\';if(' + unescape(code) + '){out+=\\'' : '\\';}out+=\\'';\n          }).replace(c4.iterate || skip, function(m3, iterate, vname, iname) {\n            if (!iterate) {\n              return '\\';} } out+=\\'';\n            }\n            sid += 1;\n            indv = iname || 'i' + sid;\n            iterate = unescape(iterate);\n            return '\\';var arr' + sid + '=' + iterate + ';if(arr' + sid + '){var ' + vname + ',' + indv + '=-1,l' + sid + '=arr' + sid + '.length-1;while(' + indv + '<l' + sid + '){' + vname + '=arr' + sid + '[' + indv + '+=1];out+=\\'';\n          }).replace(c4.evaluate || skip, function(m3, code) {\n            return '\\';' + unescape(code) + 'out+=\\'';\n          }) + '\\';return out;').replace(/\\n/g, '\\\\n').replace(/\\t/g, '\\\\t').replace(/\\r/g, '\\\\r').replace(/(\\s|;|\\}|^|\\{)out\\+='';/g, '$1').replace(/\\+''/g, '');\n          if (needhtmlencode) {\n            if (!c4.selfcontained && globalThis && !globalThis._encodeHTML) {\n              globalThis._encodeHTML = doT2.encodeHTMLSource(c4.doNotSkipEncoded);\n            }\n            str = 'var encodeHTML = typeof _encodeHTML !== \\'undefined\\' ? _encodeHTML : (' + doT2.encodeHTMLSource.toString() + '(' + (c4.doNotSkipEncoded || '') + '));' + str;\n          }\n          try {\n            return new Function(c4.varname, str);\n          } catch (e) {\n            if (typeof console !== 'undefined') {\n              console.log('Could not create a template function: ' + str);\n            }\n            throw e;\n          }\n        };\n        doT2.compile = function(tmpl, def) {\n          return doT2.template(tmpl, null, def);\n        };\n      })();\n    });\n    var require_noop = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = function() {};\n    });\n    var require_is_value = __commonJS(function(exports, module) {\n      'use strict';\n      var _undefined = require_noop()();\n      module.exports = function(val) {\n        return val !== _undefined && val !== null;\n      };\n    });\n    var require_normalize_options = __commonJS(function(exports, module) {\n      'use strict';\n      var isValue = require_is_value();\n      var forEach = Array.prototype.forEach;\n      var create = Object.create;\n      var process2 = function process2(src, obj) {\n        var key;\n        for (key in src) {\n          obj[key] = src[key];\n        }\n      };\n      module.exports = function(opts1) {\n        var result = create(null);\n        forEach.call(arguments, function(options) {\n          if (!isValue(options)) {\n            return;\n          }\n          process2(Object(options), result);\n        });\n        return result;\n      };\n    });\n    var require_is_implemented = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = function() {\n        var sign = Math.sign;\n        if (typeof sign !== 'function') {\n          return false;\n        }\n        return sign(10) === 1 && sign(-20) === -1;\n      };\n    });\n    var require_shim = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = function(value) {\n        value = Number(value);\n        if (isNaN(value) || value === 0) {\n          return value;\n        }\n        return value > 0 ? 1 : -1;\n      };\n    });\n    var require_sign = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = require_is_implemented()() ? Math.sign : require_shim();\n    });\n    var require_to_integer = __commonJS(function(exports, module) {\n      'use strict';\n      var sign = require_sign();\n      var abs = Math.abs;\n      var floor = Math.floor;\n      module.exports = function(value) {\n        if (isNaN(value)) {\n          return 0;\n        }\n        value = Number(value);\n        if (value === 0 || !isFinite(value)) {\n          return value;\n        }\n        return sign(value) * floor(abs(value));\n      };\n    });\n    var require_to_pos_integer = __commonJS(function(exports, module) {\n      'use strict';\n      var toInteger = require_to_integer();\n      var max2 = Math.max;\n      module.exports = function(value) {\n        return max2(0, toInteger(value));\n      };\n    });\n    var require_resolve_length = __commonJS(function(exports, module) {\n      'use strict';\n      var toPosInt = require_to_pos_integer();\n      module.exports = function(optsLength, fnLength, isAsync) {\n        var length;\n        if (isNaN(optsLength)) {\n          length = fnLength;\n          if (!(length >= 0)) {\n            return 1;\n          }\n          if (isAsync && length) {\n            return length - 1;\n          }\n          return length;\n        }\n        if (optsLength === false) {\n          return false;\n        }\n        return toPosInt(optsLength);\n      };\n    });\n    var require_valid_callable = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = function(fn) {\n        if (typeof fn !== 'function') {\n          throw new TypeError(fn + ' is not a function');\n        }\n        return fn;\n      };\n    });\n    var require_valid_value = __commonJS(function(exports, module) {\n      'use strict';\n      var isValue = require_is_value();\n      module.exports = function(value) {\n        if (!isValue(value)) {\n          throw new TypeError('Cannot use null or undefined');\n        }\n        return value;\n      };\n    });\n    var require_iterate = __commonJS(function(exports, module) {\n      'use strict';\n      var callable = require_valid_callable();\n      var value = require_valid_value();\n      var bind = Function.prototype.bind;\n      var call = Function.prototype.call;\n      var keys = Object.keys;\n      var objPropertyIsEnumerable = Object.prototype.propertyIsEnumerable;\n      module.exports = function(method, defVal) {\n        return function(obj, cb) {\n          var list, thisArg = arguments[2], compareFn = arguments[3];\n          obj = Object(value(obj));\n          callable(cb);\n          list = keys(obj);\n          if (compareFn) {\n            list.sort(typeof compareFn === 'function' ? bind.call(compareFn, obj) : void 0);\n          }\n          if (typeof method !== 'function') {\n            method = list[method];\n          }\n          return call.call(method, list, function(key, index) {\n            if (!objPropertyIsEnumerable.call(obj, key)) {\n              return defVal;\n            }\n            return call.call(cb, thisArg, obj[key], key, obj, index);\n          });\n        };\n      };\n    });\n    var require_for_each = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = require_iterate()('forEach');\n    });\n    var require_registered_extensions = __commonJS(function() {\n      'use strict';\n    });\n    var require_is_implemented2 = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = function() {\n        var assign = Object.assign, obj;\n        if (typeof assign !== 'function') {\n          return false;\n        }\n        obj = {\n          foo: 'raz'\n        };\n        assign(obj, {\n          bar: 'dwa'\n        }, {\n          trzy: 'trzy'\n        });\n        return obj.foo + obj.bar + obj.trzy === 'razdwatrzy';\n      };\n    });\n    var require_is_implemented3 = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = function() {\n        try {\n          Object.keys('primitive');\n          return true;\n        } catch (e) {\n          return false;\n        }\n      };\n    });\n    var require_shim2 = __commonJS(function(exports, module) {\n      'use strict';\n      var isValue = require_is_value();\n      var keys = Object.keys;\n      module.exports = function(object) {\n        return keys(isValue(object) ? Object(object) : object);\n      };\n    });\n    var require_keys = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = require_is_implemented3()() ? Object.keys : require_shim2();\n    });\n    var require_shim3 = __commonJS(function(exports, module) {\n      'use strict';\n      var keys = require_keys();\n      var value = require_valid_value();\n      var max2 = Math.max;\n      module.exports = function(dest, src) {\n        var error, i, length = max2(arguments.length, 2), assign;\n        dest = Object(value(dest));\n        assign = function assign(key) {\n          try {\n            dest[key] = src[key];\n          } catch (e) {\n            if (!error) {\n              error = e;\n            }\n          }\n        };\n        for (i = 1; i < length; ++i) {\n          src = arguments[i];\n          keys(src).forEach(assign);\n        }\n        if (error !== void 0) {\n          throw error;\n        }\n        return dest;\n      };\n    });\n    var require_assign = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = require_is_implemented2()() ? Object.assign : require_shim3();\n    });\n    var require_is_object2 = __commonJS(function(exports, module) {\n      'use strict';\n      var isValue = require_is_value();\n      var map = {\n        function: true,\n        object: true\n      };\n      module.exports = function(value) {\n        return isValue(value) && map[_typeof(value)] || false;\n      };\n    });\n    var require_custom = __commonJS(function(exports, module) {\n      'use strict';\n      var assign = require_assign();\n      var isObject = require_is_object2();\n      var isValue = require_is_value();\n      var captureStackTrace = Error.captureStackTrace;\n      module.exports = function(message) {\n        var err2 = new Error(message), code = arguments[1], ext = arguments[2];\n        if (!isValue(ext)) {\n          if (isObject(code)) {\n            ext = code;\n            code = null;\n          }\n        }\n        if (isValue(ext)) {\n          assign(err2, ext);\n        }\n        if (isValue(code)) {\n          err2.code = code;\n        }\n        if (captureStackTrace) {\n          captureStackTrace(err2, module.exports);\n        }\n        return err2;\n      };\n    });\n    var require_mixin = __commonJS(function(exports, module) {\n      'use strict';\n      var value = require_valid_value();\n      var defineProperty = Object.defineProperty;\n      var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n      var getOwnPropertyNames = Object.getOwnPropertyNames;\n      var getOwnPropertySymbols = Object.getOwnPropertySymbols;\n      module.exports = function(target, source) {\n        var error, sourceObject = Object(value(source));\n        target = Object(value(target));\n        getOwnPropertyNames(sourceObject).forEach(function(name) {\n          try {\n            defineProperty(target, name, getOwnPropertyDescriptor(source, name));\n          } catch (e) {\n            error = e;\n          }\n        });\n        if (typeof getOwnPropertySymbols === 'function') {\n          getOwnPropertySymbols(sourceObject).forEach(function(symbol) {\n            try {\n              defineProperty(target, symbol, getOwnPropertyDescriptor(source, symbol));\n            } catch (e) {\n              error = e;\n            }\n          });\n        }\n        if (error !== void 0) {\n          throw error;\n        }\n        return target;\n      };\n    });\n    var require_define_length = __commonJS(function(exports, module) {\n      'use strict';\n      var toPosInt = require_to_pos_integer();\n      var test = function test(arg1, arg2) {\n        return arg2;\n      };\n      var desc;\n      var defineProperty;\n      var generate;\n      var mixin;\n      try {\n        Object.defineProperty(test, 'length', {\n          configurable: true,\n          writable: false,\n          enumerable: false,\n          value: 1\n        });\n      } catch (ignore) {}\n      if (test.length === 1) {\n        desc = {\n          configurable: true,\n          writable: false,\n          enumerable: false\n        };\n        defineProperty = Object.defineProperty;\n        module.exports = function(fn, length) {\n          length = toPosInt(length);\n          if (fn.length === length) {\n            return fn;\n          }\n          desc.value = length;\n          return defineProperty(fn, 'length', desc);\n        };\n      } else {\n        mixin = require_mixin();\n        generate = function() {\n          var cache2 = [];\n          return function(length) {\n            var args, i = 0;\n            if (cache2[length]) {\n              return cache2[length];\n            }\n            args = [];\n            while (length--) {\n              args.push('a' + (++i).toString(36));\n            }\n            return new Function('fn', 'return function (' + args.join(', ') + ') { return fn.apply(this, arguments); };');\n          };\n        }();\n        module.exports = function(src, length) {\n          var target;\n          length = toPosInt(length);\n          if (src.length === length) {\n            return src;\n          }\n          target = generate(length)(src);\n          try {\n            mixin(target, src);\n          } catch (ignore) {}\n          return target;\n        };\n      }\n    });\n    var require_is = __commonJS(function(exports, module) {\n      'use strict';\n      var _undefined = void 0;\n      module.exports = function(value) {\n        return value !== _undefined && value !== null;\n      };\n    });\n    var require_is2 = __commonJS(function(exports, module) {\n      'use strict';\n      var isValue = require_is();\n      var possibleTypes = {\n        object: true,\n        function: true,\n        undefined: true\n      };\n      module.exports = function(value) {\n        if (!isValue(value)) {\n          return false;\n        }\n        return hasOwnProperty.call(possibleTypes, _typeof(value));\n      };\n    });\n    var require_is3 = __commonJS(function(exports, module) {\n      'use strict';\n      var isObject = require_is2();\n      module.exports = function(value) {\n        if (!isObject(value)) {\n          return false;\n        }\n        try {\n          if (!value.constructor) {\n            return false;\n          }\n          return value.constructor.prototype === value;\n        } catch (error) {\n          return false;\n        }\n      };\n    });\n    var require_is4 = __commonJS(function(exports, module) {\n      'use strict';\n      var isPrototype = require_is3();\n      module.exports = function(value) {\n        if (typeof value !== 'function') {\n          return false;\n        }\n        if (!hasOwnProperty.call(value, 'length')) {\n          return false;\n        }\n        try {\n          if (typeof value.length !== 'number') {\n            return false;\n          }\n          if (typeof value.call !== 'function') {\n            return false;\n          }\n          if (typeof value.apply !== 'function') {\n            return false;\n          }\n        } catch (error) {\n          return false;\n        }\n        return !isPrototype(value);\n      };\n    });\n    var require_is5 = __commonJS(function(exports, module) {\n      'use strict';\n      var isFunction = require_is4();\n      var classRe = /^\\s*class[\\s{/}]/;\n      var functionToString = Function.prototype.toString;\n      module.exports = function(value) {\n        if (!isFunction(value)) {\n          return false;\n        }\n        if (classRe.test(functionToString.call(value))) {\n          return false;\n        }\n        return true;\n      };\n    });\n    var require_is_implemented4 = __commonJS(function(exports, module) {\n      'use strict';\n      var str = 'razdwatrzy';\n      module.exports = function() {\n        if (typeof str.contains !== 'function') {\n          return false;\n        }\n        return str.contains('dwa') === true && str.contains('foo') === false;\n      };\n    });\n    var require_shim4 = __commonJS(function(exports, module) {\n      'use strict';\n      var indexOf = String.prototype.indexOf;\n      module.exports = function(searchString) {\n        return indexOf.call(this, searchString, arguments[1]) > -1;\n      };\n    });\n    var require_contains = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = require_is_implemented4()() ? String.prototype.contains : require_shim4();\n    });\n    var require_d = __commonJS(function(exports, module) {\n      'use strict';\n      var isValue = require_is();\n      var isPlainFunction = require_is5();\n      var assign = require_assign();\n      var normalizeOpts = require_normalize_options();\n      var contains3 = require_contains();\n      var d2 = module.exports = function(dscr, value) {\n        var c4, e, w, options, desc;\n        if (arguments.length < 2 || typeof dscr !== 'string') {\n          options = value;\n          value = dscr;\n          dscr = null;\n        } else {\n          options = arguments[2];\n        }\n        if (isValue(dscr)) {\n          c4 = contains3.call(dscr, 'c');\n          e = contains3.call(dscr, 'e');\n          w = contains3.call(dscr, 'w');\n        } else {\n          c4 = w = true;\n          e = false;\n        }\n        desc = {\n          value: value,\n          configurable: c4,\n          enumerable: e,\n          writable: w\n        };\n        return !options ? desc : assign(normalizeOpts(options), desc);\n      };\n      d2.gs = function(dscr, get2, set2) {\n        var c4, e, options, desc;\n        if (typeof dscr !== 'string') {\n          options = set2;\n          set2 = get2;\n          get2 = dscr;\n          dscr = null;\n        } else {\n          options = arguments[3];\n        }\n        if (!isValue(get2)) {\n          get2 = void 0;\n        } else if (!isPlainFunction(get2)) {\n          options = get2;\n          get2 = set2 = void 0;\n        } else if (!isValue(set2)) {\n          set2 = void 0;\n        } else if (!isPlainFunction(set2)) {\n          options = set2;\n          set2 = void 0;\n        }\n        if (isValue(dscr)) {\n          c4 = contains3.call(dscr, 'c');\n          e = contains3.call(dscr, 'e');\n        } else {\n          c4 = true;\n          e = false;\n        }\n        desc = {\n          get: get2,\n          set: set2,\n          configurable: c4,\n          enumerable: e\n        };\n        return !options ? desc : assign(normalizeOpts(options), desc);\n      };\n    });\n    var require_event_emitter = __commonJS(function(exports, module) {\n      'use strict';\n      var d2 = require_d();\n      var callable = require_valid_callable();\n      var apply = Function.prototype.apply;\n      var call = Function.prototype.call;\n      var create = Object.create;\n      var defineProperty = Object.defineProperty;\n      var defineProperties = Object.defineProperties;\n      var hasOwnProperty2 = Object.prototype.hasOwnProperty;\n      var descriptor = {\n        configurable: true,\n        enumerable: false,\n        writable: true\n      };\n      var on;\n      var once;\n      var off;\n      var emit;\n      var methods;\n      var descriptors;\n      var base;\n      on = function on(type2, listener) {\n        var data;\n        callable(listener);\n        if (!hasOwnProperty2.call(this, '__ee__')) {\n          data = descriptor.value = create(null);\n          defineProperty(this, '__ee__', descriptor);\n          descriptor.value = null;\n        } else {\n          data = this.__ee__;\n        }\n        if (!data[type2]) {\n          data[type2] = listener;\n        } else if (_typeof(data[type2]) === 'object') {\n          data[type2].push(listener);\n        } else {\n          data[type2] = [ data[type2], listener ];\n        }\n        return this;\n      };\n      once = function once(type2, listener) {\n        var _once, self2;\n        callable(listener);\n        self2 = this;\n        on.call(this, type2, _once = function once2() {\n          off.call(self2, type2, _once);\n          apply.call(listener, this, arguments);\n        });\n        _once.__eeOnceListener__ = listener;\n        return this;\n      };\n      off = function off(type2, listener) {\n        var data, listeners, candidate, i;\n        callable(listener);\n        if (!hasOwnProperty2.call(this, '__ee__')) {\n          return this;\n        }\n        data = this.__ee__;\n        if (!data[type2]) {\n          return this;\n        }\n        listeners = data[type2];\n        if (_typeof(listeners) === 'object') {\n          for (i = 0; candidate = listeners[i]; ++i) {\n            if (candidate === listener || candidate.__eeOnceListener__ === listener) {\n              if (listeners.length === 2) {\n                data[type2] = listeners[i ? 0 : 1];\n              } else {\n                listeners.splice(i, 1);\n              }\n            }\n          }\n        } else {\n          if (listeners === listener || listeners.__eeOnceListener__ === listener) {\n            delete data[type2];\n          }\n        }\n        return this;\n      };\n      emit = function emit(type2) {\n        var i, l, listener, listeners, args;\n        if (!hasOwnProperty2.call(this, '__ee__')) {\n          return;\n        }\n        listeners = this.__ee__[type2];\n        if (!listeners) {\n          return;\n        }\n        if (_typeof(listeners) === 'object') {\n          l = arguments.length;\n          args = new Array(l - 1);\n          for (i = 1; i < l; ++i) {\n            args[i - 1] = arguments[i];\n          }\n          listeners = listeners.slice();\n          for (i = 0; listener = listeners[i]; ++i) {\n            apply.call(listener, this, args);\n          }\n        } else {\n          switch (arguments.length) {\n           case 1:\n            call.call(listeners, this);\n            break;\n\n           case 2:\n            call.call(listeners, this, arguments[1]);\n            break;\n\n           case 3:\n            call.call(listeners, this, arguments[1], arguments[2]);\n            break;\n\n           default:\n            l = arguments.length;\n            args = new Array(l - 1);\n            for (i = 1; i < l; ++i) {\n              args[i - 1] = arguments[i];\n            }\n            apply.call(listeners, this, args);\n          }\n        }\n      };\n      methods = {\n        on: on,\n        once: once,\n        off: off,\n        emit: emit\n      };\n      descriptors = {\n        on: d2(on),\n        once: d2(once),\n        off: d2(off),\n        emit: d2(emit)\n      };\n      base = defineProperties({}, descriptors);\n      module.exports = exports = function exports(o) {\n        return o == null ? create(base) : defineProperties(Object(o), descriptors);\n      };\n      exports.methods = methods;\n    });\n    var require_is_implemented5 = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = function() {\n        var from = Array.from, arr, result;\n        if (typeof from !== 'function') {\n          return false;\n        }\n        arr = [ 'raz', 'dwa' ];\n        result = from(arr);\n        return Boolean(result && result !== arr && result[1] === 'dwa');\n      };\n    });\n    var require_is_implemented6 = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = function() {\n        if ((typeof globalThis === 'undefined' ? 'undefined' : _typeof(globalThis)) !== 'object') {\n          return false;\n        }\n        if (!globalThis) {\n          return false;\n        }\n        return globalThis.Array === Array;\n      };\n    });\n    var require_implementation = __commonJS(function(exports, module) {\n      var naiveFallback = function naiveFallback() {\n        if ((typeof self === 'undefined' ? 'undefined' : _typeof(self)) === 'object' && self) {\n          return self;\n        }\n        if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window) {\n          return window;\n        }\n        throw new Error('Unable to resolve global `this`');\n      };\n      module.exports = function() {\n        if (this) {\n          return this;\n        }\n        try {\n          Object.defineProperty(Object.prototype, '__global__', {\n            get: function get() {\n              return this;\n            },\n            configurable: true\n          });\n        } catch (error) {\n          return naiveFallback();\n        }\n        try {\n          if (!__global__) {\n            return naiveFallback();\n          }\n          return __global__;\n        } finally {\n          delete Object.prototype.__global__;\n        }\n      }();\n    });\n    var require_global_this2 = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = require_is_implemented6()() ? globalThis : require_implementation();\n    });\n    var require_is_implemented7 = __commonJS(function(exports, module) {\n      'use strict';\n      var global2 = require_global_this2();\n      var validTypes = {\n        object: true,\n        symbol: true\n      };\n      module.exports = function() {\n        var Symbol2 = global2.Symbol;\n        var symbol;\n        if (typeof Symbol2 !== 'function') {\n          return false;\n        }\n        symbol = Symbol2('test symbol');\n        try {\n          String(symbol);\n        } catch (e) {\n          return false;\n        }\n        if (!validTypes[_typeof(Symbol2.iterator)]) {\n          return false;\n        }\n        if (!validTypes[_typeof(Symbol2.toPrimitive)]) {\n          return false;\n        }\n        if (!validTypes[_typeof(Symbol2.toStringTag)]) {\n          return false;\n        }\n        return true;\n      };\n    });\n    var require_is_symbol2 = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = function(value) {\n        if (!value) {\n          return false;\n        }\n        if (_typeof(value) === 'symbol') {\n          return true;\n        }\n        if (!value.constructor) {\n          return false;\n        }\n        if (value.constructor.name !== 'Symbol') {\n          return false;\n        }\n        return value[value.constructor.toStringTag] === 'Symbol';\n      };\n    });\n    var require_validate_symbol = __commonJS(function(exports, module) {\n      'use strict';\n      var isSymbol = require_is_symbol2();\n      module.exports = function(value) {\n        if (!isSymbol(value)) {\n          throw new TypeError(value + ' is not a symbol');\n        }\n        return value;\n      };\n    });\n    var require_generate_name = __commonJS(function(exports, module) {\n      'use strict';\n      var d2 = require_d();\n      var create = Object.create;\n      var defineProperty = Object.defineProperty;\n      var objPrototype = Object.prototype;\n      var created = create(null);\n      module.exports = function(desc) {\n        var postfix = 0, name, ie11BugWorkaround;\n        while (created[desc + (postfix || '')]) {\n          ++postfix;\n        }\n        desc += postfix || '';\n        created[desc] = true;\n        name = '@@' + desc;\n        defineProperty(objPrototype, name, d2.gs(null, function(value) {\n          if (ie11BugWorkaround) {\n            return;\n          }\n          ie11BugWorkaround = true;\n          defineProperty(this, name, d2(value));\n          ie11BugWorkaround = false;\n        }));\n        return name;\n      };\n    });\n    var require_standard_symbols = __commonJS(function(exports, module) {\n      'use strict';\n      var d2 = require_d();\n      var NativeSymbol = require_global_this2().Symbol;\n      module.exports = function(SymbolPolyfill) {\n        return Object.defineProperties(SymbolPolyfill, {\n          hasInstance: d2('', NativeSymbol && NativeSymbol.hasInstance || SymbolPolyfill('hasInstance')),\n          isConcatSpreadable: d2('', NativeSymbol && NativeSymbol.isConcatSpreadable || SymbolPolyfill('isConcatSpreadable')),\n          iterator: d2('', NativeSymbol && NativeSymbol.iterator || SymbolPolyfill('iterator')),\n          match: d2('', NativeSymbol && NativeSymbol.match || SymbolPolyfill('match')),\n          replace: d2('', NativeSymbol && NativeSymbol.replace || SymbolPolyfill('replace')),\n          search: d2('', NativeSymbol && NativeSymbol.search || SymbolPolyfill('search')),\n          species: d2('', NativeSymbol && NativeSymbol.species || SymbolPolyfill('species')),\n          split: d2('', NativeSymbol && NativeSymbol.split || SymbolPolyfill('split')),\n          toPrimitive: d2('', NativeSymbol && NativeSymbol.toPrimitive || SymbolPolyfill('toPrimitive')),\n          toStringTag: d2('', NativeSymbol && NativeSymbol.toStringTag || SymbolPolyfill('toStringTag')),\n          unscopables: d2('', NativeSymbol && NativeSymbol.unscopables || SymbolPolyfill('unscopables'))\n        });\n      };\n    });\n    var require_symbol_registry = __commonJS(function(exports, module) {\n      'use strict';\n      var d2 = require_d();\n      var validateSymbol = require_validate_symbol();\n      var registry = Object.create(null);\n      module.exports = function(SymbolPolyfill) {\n        return Object.defineProperties(SymbolPolyfill, {\n          for: d2(function(key) {\n            if (registry[key]) {\n              return registry[key];\n            }\n            return registry[key] = SymbolPolyfill(String(key));\n          }),\n          keyFor: d2(function(symbol) {\n            var key;\n            validateSymbol(symbol);\n            for (key in registry) {\n              if (registry[key] === symbol) {\n                return key;\n              }\n            }\n            return void 0;\n          })\n        });\n      };\n    });\n    var require_polyfill = __commonJS(function(exports, module) {\n      'use strict';\n      var d2 = require_d();\n      var validateSymbol = require_validate_symbol();\n      var NativeSymbol = require_global_this2().Symbol;\n      var generateName = require_generate_name();\n      var setupStandardSymbols = require_standard_symbols();\n      var setupSymbolRegistry = require_symbol_registry();\n      var create = Object.create;\n      var defineProperties = Object.defineProperties;\n      var defineProperty = Object.defineProperty;\n      var SymbolPolyfill;\n      var HiddenSymbol;\n      var isNativeSafe;\n      if (typeof NativeSymbol === 'function') {\n        try {\n          String(NativeSymbol());\n          isNativeSafe = true;\n        } catch (ignore) {}\n      } else {\n        NativeSymbol = null;\n      }\n      HiddenSymbol = function Symbol2(description) {\n        if (this instanceof HiddenSymbol) {\n          throw new TypeError('Symbol is not a constructor');\n        }\n        return SymbolPolyfill(description);\n      };\n      module.exports = SymbolPolyfill = function Symbol2(description) {\n        var symbol;\n        if (this instanceof Symbol2) {\n          throw new TypeError('Symbol is not a constructor');\n        }\n        if (isNativeSafe) {\n          return NativeSymbol(description);\n        }\n        symbol = create(HiddenSymbol.prototype);\n        description = description === void 0 ? '' : String(description);\n        return defineProperties(symbol, {\n          __description__: d2('', description),\n          __name__: d2('', generateName(description))\n        });\n      };\n      setupStandardSymbols(SymbolPolyfill);\n      setupSymbolRegistry(SymbolPolyfill);\n      defineProperties(HiddenSymbol.prototype, {\n        constructor: d2(SymbolPolyfill),\n        toString: d2('', function() {\n          return this.__name__;\n        })\n      });\n      defineProperties(SymbolPolyfill.prototype, {\n        toString: d2(function() {\n          return 'Symbol (' + validateSymbol(this).__description__ + ')';\n        }),\n        valueOf: d2(function() {\n          return validateSymbol(this);\n        })\n      });\n      defineProperty(SymbolPolyfill.prototype, SymbolPolyfill.toPrimitive, d2('', function() {\n        var symbol = validateSymbol(this);\n        if (_typeof(symbol) === 'symbol') {\n          return symbol;\n        }\n        return symbol.toString();\n      }));\n      defineProperty(SymbolPolyfill.prototype, SymbolPolyfill.toStringTag, d2('c', 'Symbol'));\n      defineProperty(HiddenSymbol.prototype, SymbolPolyfill.toStringTag, d2('c', SymbolPolyfill.prototype[SymbolPolyfill.toStringTag]));\n      defineProperty(HiddenSymbol.prototype, SymbolPolyfill.toPrimitive, d2('c', SymbolPolyfill.prototype[SymbolPolyfill.toPrimitive]));\n    });\n    var require_es6_symbol = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = require_is_implemented7()() ? require_global_this2().Symbol : require_polyfill();\n    });\n    var require_is_arguments = __commonJS(function(exports, module) {\n      'use strict';\n      var objToString = Object.prototype.toString;\n      var id = objToString.call(function() {\n        return arguments;\n      }());\n      module.exports = function(value) {\n        return objToString.call(value) === id;\n      };\n    });\n    var require_is_function = __commonJS(function(exports, module) {\n      'use strict';\n      var objToString = Object.prototype.toString;\n      var isFunctionStringTag = RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);\n      module.exports = function(value) {\n        return typeof value === 'function' && isFunctionStringTag(objToString.call(value));\n      };\n    });\n    var require_is_string = __commonJS(function(exports, module) {\n      'use strict';\n      var objToString = Object.prototype.toString;\n      var id = objToString.call('');\n      module.exports = function(value) {\n        return typeof value === 'string' || value && _typeof(value) === 'object' && (value instanceof String || objToString.call(value) === id) || false;\n      };\n    });\n    var require_shim5 = __commonJS(function(exports, module) {\n      'use strict';\n      var iteratorSymbol = require_es6_symbol().iterator;\n      var isArguments = require_is_arguments();\n      var isFunction = require_is_function();\n      var toPosInt = require_to_pos_integer();\n      var callable = require_valid_callable();\n      var validValue = require_valid_value();\n      var isValue = require_is_value();\n      var isString2 = require_is_string();\n      var isArray = Array.isArray;\n      var call = Function.prototype.call;\n      var desc = {\n        configurable: true,\n        enumerable: true,\n        writable: true,\n        value: null\n      };\n      var defineProperty = Object.defineProperty;\n      module.exports = function(arrayLike) {\n        var mapFn = arguments[1], thisArg = arguments[2], Context2, i, j, arr, length, code, iterator, result, getIterator, value;\n        arrayLike = Object(validValue(arrayLike));\n        if (isValue(mapFn)) {\n          callable(mapFn);\n        }\n        if (!this || this === Array || !isFunction(this)) {\n          if (!mapFn) {\n            if (isArguments(arrayLike)) {\n              length = arrayLike.length;\n              if (length !== 1) {\n                return Array.apply(null, arrayLike);\n              }\n              arr = new Array(1);\n              arr[0] = arrayLike[0];\n              return arr;\n            }\n            if (isArray(arrayLike)) {\n              arr = new Array(length = arrayLike.length);\n              for (i = 0; i < length; ++i) {\n                arr[i] = arrayLike[i];\n              }\n              return arr;\n            }\n          }\n          arr = [];\n        } else {\n          Context2 = this;\n        }\n        if (!isArray(arrayLike)) {\n          if ((getIterator = arrayLike[iteratorSymbol]) !== void 0) {\n            iterator = callable(getIterator).call(arrayLike);\n            if (Context2) {\n              arr = new Context2();\n            }\n            result = iterator.next();\n            i = 0;\n            while (!result.done) {\n              value = mapFn ? call.call(mapFn, thisArg, result.value, i) : result.value;\n              if (Context2) {\n                desc.value = value;\n                defineProperty(arr, i, desc);\n              } else {\n                arr[i] = value;\n              }\n              result = iterator.next();\n              ++i;\n            }\n            length = i;\n          } else if (isString2(arrayLike)) {\n            length = arrayLike.length;\n            if (Context2) {\n              arr = new Context2();\n            }\n            for (i = 0, j = 0; i < length; ++i) {\n              value = arrayLike[i];\n              if (i + 1 < length) {\n                code = value.charCodeAt(0);\n                if (code >= 55296 && code <= 56319) {\n                  value += arrayLike[++i];\n                }\n              }\n              value = mapFn ? call.call(mapFn, thisArg, value, j) : value;\n              if (Context2) {\n                desc.value = value;\n                defineProperty(arr, j, desc);\n              } else {\n                arr[j] = value;\n              }\n              ++j;\n            }\n            length = j;\n          }\n        }\n        if (length === void 0) {\n          length = toPosInt(arrayLike.length);\n          if (Context2) {\n            arr = new Context2(length);\n          }\n          for (i = 0; i < length; ++i) {\n            value = mapFn ? call.call(mapFn, thisArg, arrayLike[i], i) : arrayLike[i];\n            if (Context2) {\n              desc.value = value;\n              defineProperty(arr, i, desc);\n            } else {\n              arr[i] = value;\n            }\n          }\n        }\n        if (Context2) {\n          desc.value = null;\n          arr.length = length;\n        }\n        return arr;\n      };\n    });\n    var require_from4 = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = require_is_implemented5()() ? Array.from : require_shim5();\n    });\n    var require_to_array = __commonJS(function(exports, module) {\n      'use strict';\n      var from = require_from4();\n      var isArray = Array.isArray;\n      module.exports = function(arrayLike) {\n        return isArray(arrayLike) ? arrayLike : from(arrayLike);\n      };\n    });\n    var require_resolve_resolve = __commonJS(function(exports, module) {\n      'use strict';\n      var toArray2 = require_to_array();\n      var isValue = require_is_value();\n      var callable = require_valid_callable();\n      var slice = Array.prototype.slice;\n      var resolveArgs;\n      resolveArgs = function resolveArgs(args) {\n        return this.map(function(resolve, i) {\n          return resolve ? resolve(args[i]) : args[i];\n        }).concat(slice.call(args, this.length));\n      };\n      module.exports = function(resolvers) {\n        resolvers = toArray2(resolvers);\n        resolvers.forEach(function(resolve) {\n          if (isValue(resolve)) {\n            callable(resolve);\n          }\n        });\n        return resolveArgs.bind(resolvers);\n      };\n    });\n    var require_resolve_normalize = __commonJS(function(exports, module) {\n      'use strict';\n      var callable = require_valid_callable();\n      module.exports = function(userNormalizer) {\n        var normalizer;\n        if (typeof userNormalizer === 'function') {\n          return {\n            set: userNormalizer,\n            get: userNormalizer\n          };\n        }\n        normalizer = {\n          get: callable(userNormalizer.get)\n        };\n        if (userNormalizer.set !== void 0) {\n          normalizer.set = callable(userNormalizer.set);\n          if (userNormalizer['delete']) {\n            normalizer['delete'] = callable(userNormalizer['delete']);\n          }\n          if (userNormalizer.clear) {\n            normalizer.clear = callable(userNormalizer.clear);\n          }\n          return normalizer;\n        }\n        normalizer.set = normalizer.get;\n        return normalizer;\n      };\n    });\n    var require_configure_map = __commonJS(function(exports, module) {\n      'use strict';\n      var customError = require_custom();\n      var defineLength = require_define_length();\n      var d2 = require_d();\n      var ee = require_event_emitter().methods;\n      var resolveResolve = require_resolve_resolve();\n      var resolveNormalize = require_resolve_normalize();\n      var apply = Function.prototype.apply;\n      var call = Function.prototype.call;\n      var create = Object.create;\n      var defineProperties = Object.defineProperties;\n      var _on = ee.on;\n      var emit = ee.emit;\n      module.exports = function(original, length, options) {\n        var cache2 = create(null), conf, memLength, get2, set2, del, _clear, extDel, extGet, extHas, normalizer, getListeners, setListeners, deleteListeners, memoized, resolve;\n        if (length !== false) {\n          memLength = length;\n        } else if (isNaN(original.length)) {\n          memLength = 1;\n        } else {\n          memLength = original.length;\n        }\n        if (options.normalizer) {\n          normalizer = resolveNormalize(options.normalizer);\n          get2 = normalizer.get;\n          set2 = normalizer.set;\n          del = normalizer['delete'];\n          _clear = normalizer.clear;\n        }\n        if (options.resolvers != null) {\n          resolve = resolveResolve(options.resolvers);\n        }\n        if (get2) {\n          memoized = defineLength(function(arg) {\n            var id, result, args = arguments;\n            if (resolve) {\n              args = resolve(args);\n            }\n            id = get2(args);\n            if (id !== null) {\n              if (hasOwnProperty.call(cache2, id)) {\n                if (getListeners) {\n                  conf.emit('get', id, args, this);\n                }\n                return cache2[id];\n              }\n            }\n            if (args.length === 1) {\n              result = call.call(original, this, args[0]);\n            } else {\n              result = apply.call(original, this, args);\n            }\n            if (id === null) {\n              id = get2(args);\n              if (id !== null) {\n                throw customError('Circular invocation', 'CIRCULAR_INVOCATION');\n              }\n              id = set2(args);\n            } else if (hasOwnProperty.call(cache2, id)) {\n              throw customError('Circular invocation', 'CIRCULAR_INVOCATION');\n            }\n            cache2[id] = result;\n            if (setListeners) {\n              conf.emit('set', id, null, result);\n            }\n            return result;\n          }, memLength);\n        } else if (length === 0) {\n          memoized = function memoized() {\n            var result;\n            if (hasOwnProperty.call(cache2, 'data')) {\n              if (getListeners) {\n                conf.emit('get', 'data', arguments, this);\n              }\n              return cache2.data;\n            }\n            if (arguments.length) {\n              result = apply.call(original, this, arguments);\n            } else {\n              result = call.call(original, this);\n            }\n            if (hasOwnProperty.call(cache2, 'data')) {\n              throw customError('Circular invocation', 'CIRCULAR_INVOCATION');\n            }\n            cache2.data = result;\n            if (setListeners) {\n              conf.emit('set', 'data', null, result);\n            }\n            return result;\n          };\n        } else {\n          memoized = function memoized(arg) {\n            var result, args = arguments, id;\n            if (resolve) {\n              args = resolve(arguments);\n            }\n            id = String(args[0]);\n            if (hasOwnProperty.call(cache2, id)) {\n              if (getListeners) {\n                conf.emit('get', id, args, this);\n              }\n              return cache2[id];\n            }\n            if (args.length === 1) {\n              result = call.call(original, this, args[0]);\n            } else {\n              result = apply.call(original, this, args);\n            }\n            if (hasOwnProperty.call(cache2, id)) {\n              throw customError('Circular invocation', 'CIRCULAR_INVOCATION');\n            }\n            cache2[id] = result;\n            if (setListeners) {\n              conf.emit('set', id, null, result);\n            }\n            return result;\n          };\n        }\n        conf = {\n          original: original,\n          memoized: memoized,\n          profileName: options.profileName,\n          get: function get(args) {\n            if (resolve) {\n              args = resolve(args);\n            }\n            if (get2) {\n              return get2(args);\n            }\n            return String(args[0]);\n          },\n          has: function has(id) {\n            return hasOwnProperty.call(cache2, id);\n          },\n          delete: function _delete(id) {\n            var result;\n            if (!hasOwnProperty.call(cache2, id)) {\n              return;\n            }\n            if (del) {\n              del(id);\n            }\n            result = cache2[id];\n            delete cache2[id];\n            if (deleteListeners) {\n              conf.emit('delete', id, result);\n            }\n          },\n          clear: function clear() {\n            var oldCache = cache2;\n            if (_clear) {\n              _clear();\n            }\n            cache2 = create(null);\n            conf.emit('clear', oldCache);\n          },\n          on: function on(type2, listener) {\n            if (type2 === 'get') {\n              getListeners = true;\n            } else if (type2 === 'set') {\n              setListeners = true;\n            } else if (type2 === 'delete') {\n              deleteListeners = true;\n            }\n            return _on.call(this, type2, listener);\n          },\n          emit: emit,\n          updateEnv: function updateEnv() {\n            original = conf.original;\n          }\n        };\n        if (get2) {\n          extDel = defineLength(function(arg) {\n            var id, args = arguments;\n            if (resolve) {\n              args = resolve(args);\n            }\n            id = get2(args);\n            if (id === null) {\n              return;\n            }\n            conf['delete'](id);\n          }, memLength);\n        } else if (length === 0) {\n          extDel = function extDel() {\n            return conf['delete']('data');\n          };\n        } else {\n          extDel = function extDel(arg) {\n            if (resolve) {\n              arg = resolve(arguments)[0];\n            }\n            return conf['delete'](arg);\n          };\n        }\n        extGet = defineLength(function() {\n          var id, args = arguments;\n          if (length === 0) {\n            return cache2.data;\n          }\n          if (resolve) {\n            args = resolve(args);\n          }\n          if (get2) {\n            id = get2(args);\n          } else {\n            id = String(args[0]);\n          }\n          return cache2[id];\n        });\n        extHas = defineLength(function() {\n          var id, args = arguments;\n          if (length === 0) {\n            return conf.has('data');\n          }\n          if (resolve) {\n            args = resolve(args);\n          }\n          if (get2) {\n            id = get2(args);\n          } else {\n            id = String(args[0]);\n          }\n          if (id === null) {\n            return false;\n          }\n          return conf.has(id);\n        });\n        defineProperties(memoized, {\n          __memoized__: d2(true),\n          delete: d2(extDel),\n          clear: d2(conf.clear),\n          _get: d2(extGet),\n          _has: d2(extHas)\n        });\n        return conf;\n      };\n    });\n    var require_plain = __commonJS(function(exports, module) {\n      'use strict';\n      var callable = require_valid_callable();\n      var forEach = require_for_each();\n      var extensions = require_registered_extensions();\n      var configure4 = require_configure_map();\n      var resolveLength = require_resolve_length();\n      module.exports = function self2(fn) {\n        var options, length, conf;\n        callable(fn);\n        options = Object(arguments[1]);\n        if (options.async && options.promise) {\n          throw new Error('Options \\'async\\' and \\'promise\\' cannot be used together');\n        }\n        if (hasOwnProperty.call(fn, '__memoized__') && !options.force) {\n          return fn;\n        }\n        length = resolveLength(options.length, fn.length, options.async && extensions.async);\n        conf = configure4(fn, length, options);\n        forEach(extensions, function(extFn, name) {\n          if (options[name]) {\n            extFn(options[name], conf, options);\n          }\n        });\n        if (self2.__profiler__) {\n          self2.__profiler__(conf);\n        }\n        conf.updateEnv();\n        return conf.memoized;\n      };\n    });\n    var require_primitive = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = function(args) {\n        var id, i, length = args.length;\n        if (!length) {\n          return '\\x02';\n        }\n        id = String(args[i = 0]);\n        while (--length) {\n          id += '\\x01' + args[++i];\n        }\n        return id;\n      };\n    });\n    var require_get_primitive_fixed = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = function(length) {\n        if (!length) {\n          return function() {\n            return '';\n          };\n        }\n        return function(args) {\n          var id = String(args[0]), i = 0, currentLength = length;\n          while (--currentLength) {\n            id += '\\x01' + args[++i];\n          }\n          return id;\n        };\n      };\n    });\n    var require_is_implemented8 = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = function() {\n        var numberIsNaN = Number.isNaN;\n        if (typeof numberIsNaN !== 'function') {\n          return false;\n        }\n        return !numberIsNaN({}) && numberIsNaN(NaN) && !numberIsNaN(34);\n      };\n    });\n    var require_shim6 = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = function(value) {\n        return value !== value;\n      };\n    });\n    var require_is_nan = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = require_is_implemented8()() ? Number.isNaN : require_shim6();\n    });\n    var require_e_index_of = __commonJS(function(exports, module) {\n      'use strict';\n      var numberIsNaN = require_is_nan();\n      var toPosInt = require_to_pos_integer();\n      var value = require_valid_value();\n      var indexOf = Array.prototype.indexOf;\n      var objHasOwnProperty = Object.prototype.hasOwnProperty;\n      var abs = Math.abs;\n      var floor = Math.floor;\n      module.exports = function(searchElement) {\n        var i, length, fromIndex, val;\n        if (!numberIsNaN(searchElement)) {\n          return indexOf.apply(this, arguments);\n        }\n        length = toPosInt(value(this).length);\n        fromIndex = arguments[1];\n        if (isNaN(fromIndex)) {\n          fromIndex = 0;\n        } else if (fromIndex >= 0) {\n          fromIndex = floor(fromIndex);\n        } else {\n          fromIndex = toPosInt(this.length) - floor(abs(fromIndex));\n        }\n        for (i = fromIndex; i < length; ++i) {\n          if (objHasOwnProperty.call(this, i)) {\n            val = this[i];\n            if (numberIsNaN(val)) {\n              return i;\n            }\n          }\n        }\n        return -1;\n      };\n    });\n    var require_get = __commonJS(function(exports, module) {\n      'use strict';\n      var indexOf = require_e_index_of();\n      var create = Object.create;\n      module.exports = function() {\n        var lastId = 0, map = [], cache2 = create(null);\n        return {\n          get: function get(args) {\n            var index = 0, set2 = map, i, length = args.length;\n            if (length === 0) {\n              return set2[length] || null;\n            }\n            if (set2 = set2[length]) {\n              while (index < length - 1) {\n                i = indexOf.call(set2[0], args[index]);\n                if (i === -1) {\n                  return null;\n                }\n                set2 = set2[1][i];\n                ++index;\n              }\n              i = indexOf.call(set2[0], args[index]);\n              if (i === -1) {\n                return null;\n              }\n              return set2[1][i] || null;\n            }\n            return null;\n          },\n          set: function set(args) {\n            var index = 0, set2 = map, i, length = args.length;\n            if (length === 0) {\n              set2[length] = ++lastId;\n            } else {\n              if (!set2[length]) {\n                set2[length] = [ [], [] ];\n              }\n              set2 = set2[length];\n              while (index < length - 1) {\n                i = indexOf.call(set2[0], args[index]);\n                if (i === -1) {\n                  i = set2[0].push(args[index]) - 1;\n                  set2[1].push([ [], [] ]);\n                }\n                set2 = set2[1][i];\n                ++index;\n              }\n              i = indexOf.call(set2[0], args[index]);\n              if (i === -1) {\n                i = set2[0].push(args[index]) - 1;\n              }\n              set2[1][i] = ++lastId;\n            }\n            cache2[lastId] = args;\n            return lastId;\n          },\n          delete: function _delete(id) {\n            var index = 0, set2 = map, i, args = cache2[id], length = args.length, path = [];\n            if (length === 0) {\n              delete set2[length];\n            } else if (set2 = set2[length]) {\n              while (index < length - 1) {\n                i = indexOf.call(set2[0], args[index]);\n                if (i === -1) {\n                  return;\n                }\n                path.push(set2, i);\n                set2 = set2[1][i];\n                ++index;\n              }\n              i = indexOf.call(set2[0], args[index]);\n              if (i === -1) {\n                return;\n              }\n              id = set2[1][i];\n              set2[0].splice(i, 1);\n              set2[1].splice(i, 1);\n              while (!set2[0].length && path.length) {\n                i = path.pop();\n                set2 = path.pop();\n                set2[0].splice(i, 1);\n                set2[1].splice(i, 1);\n              }\n            }\n            delete cache2[id];\n          },\n          clear: function clear() {\n            map = [];\n            cache2 = create(null);\n          }\n        };\n      };\n    });\n    var require_get_1 = __commonJS(function(exports, module) {\n      'use strict';\n      var indexOf = require_e_index_of();\n      module.exports = function() {\n        var lastId = 0, argsMap = [], cache2 = [];\n        return {\n          get: function get(args) {\n            var index = indexOf.call(argsMap, args[0]);\n            return index === -1 ? null : cache2[index];\n          },\n          set: function set(args) {\n            argsMap.push(args[0]);\n            cache2.push(++lastId);\n            return lastId;\n          },\n          delete: function _delete(id) {\n            var index = indexOf.call(cache2, id);\n            if (index !== -1) {\n              argsMap.splice(index, 1);\n              cache2.splice(index, 1);\n            }\n          },\n          clear: function clear() {\n            argsMap = [];\n            cache2 = [];\n          }\n        };\n      };\n    });\n    var require_get_fixed = __commonJS(function(exports, module) {\n      'use strict';\n      var indexOf = require_e_index_of();\n      var create = Object.create;\n      module.exports = function(length) {\n        var lastId = 0, map = [ [], [] ], cache2 = create(null);\n        return {\n          get: function get(args) {\n            var index = 0, set2 = map, i;\n            while (index < length - 1) {\n              i = indexOf.call(set2[0], args[index]);\n              if (i === -1) {\n                return null;\n              }\n              set2 = set2[1][i];\n              ++index;\n            }\n            i = indexOf.call(set2[0], args[index]);\n            if (i === -1) {\n              return null;\n            }\n            return set2[1][i] || null;\n          },\n          set: function set(args) {\n            var index = 0, set2 = map, i;\n            while (index < length - 1) {\n              i = indexOf.call(set2[0], args[index]);\n              if (i === -1) {\n                i = set2[0].push(args[index]) - 1;\n                set2[1].push([ [], [] ]);\n              }\n              set2 = set2[1][i];\n              ++index;\n            }\n            i = indexOf.call(set2[0], args[index]);\n            if (i === -1) {\n              i = set2[0].push(args[index]) - 1;\n            }\n            set2[1][i] = ++lastId;\n            cache2[lastId] = args;\n            return lastId;\n          },\n          delete: function _delete(id) {\n            var index = 0, set2 = map, i, path = [], args = cache2[id];\n            while (index < length - 1) {\n              i = indexOf.call(set2[0], args[index]);\n              if (i === -1) {\n                return;\n              }\n              path.push(set2, i);\n              set2 = set2[1][i];\n              ++index;\n            }\n            i = indexOf.call(set2[0], args[index]);\n            if (i === -1) {\n              return;\n            }\n            id = set2[1][i];\n            set2[0].splice(i, 1);\n            set2[1].splice(i, 1);\n            while (!set2[0].length && path.length) {\n              i = path.pop();\n              set2 = path.pop();\n              set2[0].splice(i, 1);\n              set2[1].splice(i, 1);\n            }\n            delete cache2[id];\n          },\n          clear: function clear() {\n            map = [ [], [] ];\n            cache2 = create(null);\n          }\n        };\n      };\n    });\n    var require_map = __commonJS(function(exports, module) {\n      'use strict';\n      var callable = require_valid_callable();\n      var forEach = require_for_each();\n      var call = Function.prototype.call;\n      module.exports = function(obj, cb) {\n        var result = {}, thisArg = arguments[2];\n        callable(cb);\n        forEach(obj, function(value, key, targetObj, index) {\n          result[key] = call.call(cb, thisArg, value, key, targetObj, index);\n        });\n        return result;\n      };\n    });\n    var require_next_tick = __commonJS(function(exports, module) {\n      'use strict';\n      var ensureCallable = function ensureCallable(fn) {\n        if (typeof fn !== 'function') {\n          throw new TypeError(fn + ' is not a function');\n        }\n        return fn;\n      };\n      var byObserver = function byObserver(Observer) {\n        var node = document.createTextNode(''), queue2, currentQueue, i = 0;\n        new Observer(function() {\n          var callback;\n          if (!queue2) {\n            if (!currentQueue) {\n              return;\n            }\n            queue2 = currentQueue;\n          } else if (currentQueue) {\n            queue2 = currentQueue.concat(queue2);\n          }\n          currentQueue = queue2;\n          queue2 = null;\n          if (typeof currentQueue === 'function') {\n            callback = currentQueue;\n            currentQueue = null;\n            callback();\n            return;\n          }\n          node.data = i = ++i % 2;\n          while (currentQueue) {\n            callback = currentQueue.shift();\n            if (!currentQueue.length) {\n              currentQueue = null;\n            }\n            callback();\n          }\n        }).observe(node, {\n          characterData: true\n        });\n        return function(fn) {\n          ensureCallable(fn);\n          if (queue2) {\n            if (typeof queue2 === 'function') {\n              queue2 = [ queue2, fn ];\n            } else {\n              queue2.push(fn);\n            }\n            return;\n          }\n          queue2 = fn;\n          node.data = i = ++i % 2;\n        };\n      };\n      module.exports = function() {\n        if ((typeof process === 'undefined' ? 'undefined' : _typeof(process)) === 'object' && process && typeof process.nextTick === 'function') {\n          return process.nextTick;\n        }\n        if (typeof queueMicrotask === 'function') {\n          return function(cb) {\n            queueMicrotask(ensureCallable(cb));\n          };\n        }\n        if ((typeof document === 'undefined' ? 'undefined' : _typeof(document)) === 'object' && document) {\n          if (typeof MutationObserver === 'function') {\n            return byObserver(MutationObserver);\n          }\n          if (typeof WebKitMutationObserver === 'function') {\n            return byObserver(WebKitMutationObserver);\n          }\n        }\n        if (typeof setImmediate === 'function') {\n          return function(cb) {\n            setImmediate(ensureCallable(cb));\n          };\n        }\n        if (typeof setTimeout === 'function' || (typeof setTimeout === 'undefined' ? 'undefined' : _typeof(setTimeout)) === 'object') {\n          return function(cb) {\n            setTimeout(ensureCallable(cb), 0);\n          };\n        }\n        return null;\n      }();\n    });\n    var require_async = __commonJS(function() {\n      'use strict';\n      var aFrom = require_from4();\n      var objectMap = require_map();\n      var mixin = require_mixin();\n      var defineLength = require_define_length();\n      var nextTick = require_next_tick();\n      var slice = Array.prototype.slice;\n      var apply = Function.prototype.apply;\n      var create = Object.create;\n      require_registered_extensions().async = function(tbi, conf) {\n        var waiting = create(null), cache2 = create(null), base = conf.memoized, original = conf.original, currentCallback, currentContext, currentArgs;\n        conf.memoized = defineLength(function(arg) {\n          var args = arguments, last2 = args[args.length - 1];\n          if (typeof last2 === 'function') {\n            currentCallback = last2;\n            args = slice.call(args, 0, -1);\n          }\n          return base.apply(currentContext = this, currentArgs = args);\n        }, base);\n        try {\n          mixin(conf.memoized, base);\n        } catch (ignore) {}\n        conf.on('get', function(id) {\n          var cb, context, args;\n          if (!currentCallback) {\n            return;\n          }\n          if (waiting[id]) {\n            if (typeof waiting[id] === 'function') {\n              waiting[id] = [ waiting[id], currentCallback ];\n            } else {\n              waiting[id].push(currentCallback);\n            }\n            currentCallback = null;\n            return;\n          }\n          cb = currentCallback;\n          context = currentContext;\n          args = currentArgs;\n          currentCallback = currentContext = currentArgs = null;\n          nextTick(function() {\n            var data;\n            if (hasOwnProperty.call(cache2, id)) {\n              data = cache2[id];\n              conf.emit('getasync', id, args, context);\n              apply.call(cb, data.context, data.args);\n            } else {\n              currentCallback = cb;\n              currentContext = context;\n              currentArgs = args;\n              base.apply(context, args);\n            }\n          });\n        });\n        conf.original = function() {\n          var args, cb, origCb, result;\n          if (!currentCallback) {\n            return apply.call(original, this, arguments);\n          }\n          args = aFrom(arguments);\n          cb = function self2(err2) {\n            var cb2, args2, id = self2.id;\n            if (id == null) {\n              nextTick(apply.bind(self2, this, arguments));\n              return void 0;\n            }\n            delete self2.id;\n            cb2 = waiting[id];\n            delete waiting[id];\n            if (!cb2) {\n              return void 0;\n            }\n            args2 = aFrom(arguments);\n            if (conf.has(id)) {\n              if (err2) {\n                conf['delete'](id);\n              } else {\n                cache2[id] = {\n                  context: this,\n                  args: args2\n                };\n                conf.emit('setasync', id, typeof cb2 === 'function' ? 1 : cb2.length);\n              }\n            }\n            if (typeof cb2 === 'function') {\n              result = apply.call(cb2, this, args2);\n            } else {\n              cb2.forEach(function(cb3) {\n                result = apply.call(cb3, this, args2);\n              }, this);\n            }\n            return result;\n          };\n          origCb = currentCallback;\n          currentCallback = currentContext = currentArgs = null;\n          args.push(cb);\n          result = apply.call(original, this, args);\n          cb.cb = origCb;\n          currentCallback = cb;\n          return result;\n        };\n        conf.on('set', function(id) {\n          if (!currentCallback) {\n            conf['delete'](id);\n            return;\n          }\n          if (waiting[id]) {\n            if (typeof waiting[id] === 'function') {\n              waiting[id] = [ waiting[id], currentCallback.cb ];\n            } else {\n              waiting[id].push(currentCallback.cb);\n            }\n          } else {\n            waiting[id] = currentCallback.cb;\n          }\n          delete currentCallback.cb;\n          currentCallback.id = id;\n          currentCallback = null;\n        });\n        conf.on('delete', function(id) {\n          var result;\n          if (hasOwnProperty.call(waiting, id)) {\n            return;\n          }\n          if (!cache2[id]) {\n            return;\n          }\n          result = cache2[id];\n          delete cache2[id];\n          conf.emit('deleteasync', id, slice.call(result.args, 1));\n        });\n        conf.on('clear', function() {\n          var oldCache = cache2;\n          cache2 = create(null);\n          conf.emit('clearasync', objectMap(oldCache, function(data) {\n            return slice.call(data.args, 1);\n          }));\n        });\n      };\n    });\n    var require_primitive_set = __commonJS(function(exports, module) {\n      'use strict';\n      var forEach = Array.prototype.forEach;\n      var create = Object.create;\n      module.exports = function(arg) {\n        var set2 = create(null);\n        forEach.call(arguments, function(name) {\n          set2[name] = true;\n        });\n        return set2;\n      };\n    });\n    var require_is_callable2 = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = function(obj) {\n        return typeof obj === 'function';\n      };\n    });\n    var require_validate_stringifiable = __commonJS(function(exports, module) {\n      'use strict';\n      var isCallable = require_is_callable2();\n      module.exports = function(stringifiable) {\n        try {\n          if (stringifiable && isCallable(stringifiable.toString)) {\n            return stringifiable.toString();\n          }\n          return String(stringifiable);\n        } catch (e) {\n          throw new TypeError('Passed argument cannot be stringifed');\n        }\n      };\n    });\n    var require_validate_stringifiable_value = __commonJS(function(exports, module) {\n      'use strict';\n      var ensureValue = require_valid_value();\n      var stringifiable = require_validate_stringifiable();\n      module.exports = function(value) {\n        return stringifiable(ensureValue(value));\n      };\n    });\n    var require_safe_to_string = __commonJS(function(exports, module) {\n      'use strict';\n      var isCallable = require_is_callable2();\n      module.exports = function(value) {\n        try {\n          if (value && isCallable(value.toString)) {\n            return value.toString();\n          }\n          return String(value);\n        } catch (e) {\n          return '<Non-coercible to string value>';\n        }\n      };\n    });\n    var require_to_short_string_representation = __commonJS(function(exports, module) {\n      'use strict';\n      var safeToString = require_safe_to_string();\n      var reNewLine = /[\\n\\r\\u2028\\u2029]/g;\n      module.exports = function(value) {\n        var string = safeToString(value);\n        if (string.length > 100) {\n          string = string.slice(0, 99) + '\\u2026';\n        }\n        string = string.replace(reNewLine, function(_char) {\n          return JSON.stringify(_char).slice(1, -1);\n        });\n        return string;\n      };\n    });\n    var require_is_promise = __commonJS(function(exports, module) {\n      module.exports = isPromise;\n      module.exports['default'] = isPromise;\n      function isPromise(obj) {\n        return !!obj && (_typeof(obj) === 'object' || typeof obj === 'function') && typeof obj.then === 'function';\n      }\n    });\n    var require_promise = __commonJS(function() {\n      'use strict';\n      var objectMap = require_map();\n      var primitiveSet = require_primitive_set();\n      var ensureString = require_validate_stringifiable_value();\n      var toShortString = require_to_short_string_representation();\n      var isPromise = require_is_promise();\n      var nextTick = require_next_tick();\n      var create = Object.create;\n      var supportedModes = primitiveSet('then', 'then:finally', 'done', 'done:finally');\n      require_registered_extensions().promise = function(mode, conf) {\n        var waiting = create(null), cache2 = create(null), promises = create(null);\n        if (mode === true) {\n          mode = null;\n        } else {\n          mode = ensureString(mode);\n          if (!supportedModes[mode]) {\n            throw new TypeError('\\'' + toShortString(mode) + '\\' is not valid promise mode');\n          }\n        }\n        conf.on('set', function(id, ignore, promise) {\n          var isFailed = false;\n          if (!isPromise(promise)) {\n            cache2[id] = promise;\n            conf.emit('setasync', id, 1);\n            return;\n          }\n          waiting[id] = 1;\n          promises[id] = promise;\n          var onSuccess = function onSuccess(result) {\n            var count = waiting[id];\n            if (isFailed) {\n              throw new Error('Memoizee error: Detected unordered then|done & finally resolution, which in turn makes proper detection of success/failure impossible (when in \\'done:finally\\' mode)\\nConsider to rely on \\'then\\' or \\'done\\' mode instead.');\n            }\n            if (!count) {\n              return;\n            }\n            delete waiting[id];\n            cache2[id] = result;\n            conf.emit('setasync', id, count);\n          };\n          var onFailure = function onFailure() {\n            isFailed = true;\n            if (!waiting[id]) {\n              return;\n            }\n            delete waiting[id];\n            delete promises[id];\n            conf['delete'](id);\n          };\n          var resolvedMode = mode;\n          if (!resolvedMode) {\n            resolvedMode = 'then';\n          }\n          if (resolvedMode === 'then') {\n            var nextTickFailure = function nextTickFailure() {\n              nextTick(onFailure);\n            };\n            promise = promise.then(function(result) {\n              nextTick(onSuccess.bind(this, result));\n            }, nextTickFailure);\n            if (typeof promise['finally'] === 'function') {\n              promise['finally'](nextTickFailure);\n            }\n          } else if (resolvedMode === 'done') {\n            if (typeof promise.done !== 'function') {\n              throw new Error('Memoizee error: Retrieved promise does not implement \\'done\\' in \\'done\\' mode');\n            }\n            promise.done(onSuccess, onFailure);\n          } else if (resolvedMode === 'done:finally') {\n            if (typeof promise.done !== 'function') {\n              throw new Error('Memoizee error: Retrieved promise does not implement \\'done\\' in \\'done:finally\\' mode');\n            }\n            if (typeof promise['finally'] !== 'function') {\n              throw new Error('Memoizee error: Retrieved promise does not implement \\'finally\\' in \\'done:finally\\' mode');\n            }\n            promise.done(onSuccess);\n            promise['finally'](onFailure);\n          }\n        });\n        conf.on('get', function(id, args, context) {\n          var promise;\n          if (waiting[id]) {\n            ++waiting[id];\n            return;\n          }\n          promise = promises[id];\n          var emit = function emit() {\n            conf.emit('getasync', id, args, context);\n          };\n          if (isPromise(promise)) {\n            if (typeof promise.done === 'function') {\n              promise.done(emit);\n            } else {\n              promise.then(function() {\n                nextTick(emit);\n              });\n            }\n          } else {\n            emit();\n          }\n        });\n        conf.on('delete', function(id) {\n          delete promises[id];\n          if (waiting[id]) {\n            delete waiting[id];\n            return;\n          }\n          if (!hasOwnProperty.call(cache2, id)) {\n            return;\n          }\n          var result = cache2[id];\n          delete cache2[id];\n          conf.emit('deleteasync', id, [ result ]);\n        });\n        conf.on('clear', function() {\n          var oldCache = cache2;\n          cache2 = create(null);\n          waiting = create(null);\n          promises = create(null);\n          conf.emit('clearasync', objectMap(oldCache, function(data) {\n            return [ data ];\n          }));\n        });\n      };\n    });\n    var require_dispose = __commonJS(function() {\n      'use strict';\n      var callable = require_valid_callable();\n      var forEach = require_for_each();\n      var extensions = require_registered_extensions();\n      var apply = Function.prototype.apply;\n      extensions.dispose = function(dispose, conf, options) {\n        var del;\n        callable(dispose);\n        if (options.async && extensions.async || options.promise && extensions.promise) {\n          conf.on('deleteasync', del = function del(id, resultArray) {\n            apply.call(dispose, null, resultArray);\n          });\n          conf.on('clearasync', function(cache2) {\n            forEach(cache2, function(result, id) {\n              del(id, result);\n            });\n          });\n          return;\n        }\n        conf.on('delete', del = function del(id, result) {\n          dispose(result);\n        });\n        conf.on('clear', function(cache2) {\n          forEach(cache2, function(result, id) {\n            del(id, result);\n          });\n        });\n      };\n    });\n    var require_max_timeout = __commonJS(function(exports, module) {\n      'use strict';\n      module.exports = 2147483647;\n    });\n    var require_valid_timeout = __commonJS(function(exports, module) {\n      'use strict';\n      var toPosInt = require_to_pos_integer();\n      var maxTimeout = require_max_timeout();\n      module.exports = function(value) {\n        value = toPosInt(value);\n        if (value > maxTimeout) {\n          throw new TypeError(value + ' exceeds maximum possible timeout');\n        }\n        return value;\n      };\n    });\n    var require_max_age = __commonJS(function() {\n      'use strict';\n      var aFrom = require_from4();\n      var forEach = require_for_each();\n      var nextTick = require_next_tick();\n      var isPromise = require_is_promise();\n      var timeout = require_valid_timeout();\n      var extensions = require_registered_extensions();\n      var noop3 = Function.prototype;\n      var max2 = Math.max;\n      var min = Math.min;\n      var create = Object.create;\n      extensions.maxAge = function(maxAge, conf, options) {\n        var timeouts, postfix, preFetchAge, preFetchTimeouts;\n        maxAge = timeout(maxAge);\n        if (!maxAge) {\n          return;\n        }\n        timeouts = create(null);\n        postfix = options.async && extensions.async || options.promise && extensions.promise ? 'async' : '';\n        conf.on('set' + postfix, function(id) {\n          timeouts[id] = setTimeout(function() {\n            conf['delete'](id);\n          }, maxAge);\n          if (typeof timeouts[id].unref === 'function') {\n            timeouts[id].unref();\n          }\n          if (!preFetchTimeouts) {\n            return;\n          }\n          if (preFetchTimeouts[id]) {\n            if (preFetchTimeouts[id] !== 'nextTick') {\n              clearTimeout(preFetchTimeouts[id]);\n            }\n          }\n          preFetchTimeouts[id] = setTimeout(function() {\n            delete preFetchTimeouts[id];\n          }, preFetchAge);\n          if (typeof preFetchTimeouts[id].unref === 'function') {\n            preFetchTimeouts[id].unref();\n          }\n        });\n        conf.on('delete' + postfix, function(id) {\n          clearTimeout(timeouts[id]);\n          delete timeouts[id];\n          if (!preFetchTimeouts) {\n            return;\n          }\n          if (preFetchTimeouts[id] !== 'nextTick') {\n            clearTimeout(preFetchTimeouts[id]);\n          }\n          delete preFetchTimeouts[id];\n        });\n        if (options.preFetch) {\n          if (options.preFetch === true || isNaN(options.preFetch)) {\n            preFetchAge = .333;\n          } else {\n            preFetchAge = max2(min(Number(options.preFetch), 1), 0);\n          }\n          if (preFetchAge) {\n            preFetchTimeouts = {};\n            preFetchAge = (1 - preFetchAge) * maxAge;\n            conf.on('get' + postfix, function(id, args, context) {\n              if (!preFetchTimeouts[id]) {\n                preFetchTimeouts[id] = 'nextTick';\n                nextTick(function() {\n                  var result;\n                  if (preFetchTimeouts[id] !== 'nextTick') {\n                    return;\n                  }\n                  delete preFetchTimeouts[id];\n                  conf['delete'](id);\n                  if (options.async) {\n                    args = aFrom(args);\n                    args.push(noop3);\n                  }\n                  result = conf.memoized.apply(context, args);\n                  if (options.promise) {\n                    if (isPromise(result)) {\n                      if (typeof result.done === 'function') {\n                        result.done(noop3, noop3);\n                      } else {\n                        result.then(noop3, noop3);\n                      }\n                    }\n                  }\n                });\n              }\n            });\n          }\n        }\n        conf.on('clear' + postfix, function() {\n          forEach(timeouts, function(id) {\n            clearTimeout(id);\n          });\n          timeouts = {};\n          if (preFetchTimeouts) {\n            forEach(preFetchTimeouts, function(id) {\n              if (id !== 'nextTick') {\n                clearTimeout(id);\n              }\n            });\n            preFetchTimeouts = {};\n          }\n        });\n      };\n    });\n    var require_lru_queue = __commonJS(function(exports, module) {\n      'use strict';\n      var toPosInt = require_to_pos_integer();\n      var create = Object.create;\n      var hasOwnProperty2 = Object.prototype.hasOwnProperty;\n      module.exports = function(limit) {\n        var size = 0, base = 1, queue2 = create(null), map = create(null), index = 0, del;\n        limit = toPosInt(limit);\n        return {\n          hit: function hit(id) {\n            var oldIndex = map[id], nuIndex = ++index;\n            queue2[nuIndex] = id;\n            map[id] = nuIndex;\n            if (!oldIndex) {\n              ++size;\n              if (size <= limit) {\n                return;\n              }\n              id = queue2[base];\n              del(id);\n              return id;\n            }\n            delete queue2[oldIndex];\n            if (base !== oldIndex) {\n              return;\n            }\n            while (!hasOwnProperty2.call(queue2, ++base)) {\n              continue;\n            }\n          },\n          delete: del = function del(id) {\n            var oldIndex = map[id];\n            if (!oldIndex) {\n              return;\n            }\n            delete queue2[oldIndex];\n            delete map[id];\n            --size;\n            if (base !== oldIndex) {\n              return;\n            }\n            if (!size) {\n              index = 0;\n              base = 1;\n              return;\n            }\n            while (!hasOwnProperty2.call(queue2, ++base)) {\n              continue;\n            }\n          },\n          clear: function clear() {\n            size = 0;\n            base = 1;\n            queue2 = create(null);\n            map = create(null);\n            index = 0;\n          }\n        };\n      };\n    });\n    var require_max = __commonJS(function() {\n      'use strict';\n      var toPosInteger = require_to_pos_integer();\n      var lruQueue = require_lru_queue();\n      var extensions = require_registered_extensions();\n      extensions.max = function(max2, conf, options) {\n        var postfix, queue2, hit;\n        max2 = toPosInteger(max2);\n        if (!max2) {\n          return;\n        }\n        queue2 = lruQueue(max2);\n        postfix = options.async && extensions.async || options.promise && extensions.promise ? 'async' : '';\n        conf.on('set' + postfix, hit = function hit(id) {\n          id = queue2.hit(id);\n          if (id === void 0) {\n            return;\n          }\n          conf['delete'](id);\n        });\n        conf.on('get' + postfix, hit);\n        conf.on('delete' + postfix, queue2['delete']);\n        conf.on('clear' + postfix, queue2.clear);\n      };\n    });\n    var require_ref_counter = __commonJS(function() {\n      'use strict';\n      var d2 = require_d();\n      var extensions = require_registered_extensions();\n      var create = Object.create;\n      var defineProperties = Object.defineProperties;\n      extensions.refCounter = function(ignore, conf, options) {\n        var cache2, postfix;\n        cache2 = create(null);\n        postfix = options.async && extensions.async || options.promise && extensions.promise ? 'async' : '';\n        conf.on('set' + postfix, function(id, length) {\n          cache2[id] = length || 1;\n        });\n        conf.on('get' + postfix, function(id) {\n          ++cache2[id];\n        });\n        conf.on('delete' + postfix, function(id) {\n          delete cache2[id];\n        });\n        conf.on('clear' + postfix, function() {\n          cache2 = {};\n        });\n        defineProperties(conf.memoized, {\n          deleteRef: d2(function() {\n            var id = conf.get(arguments);\n            if (id === null) {\n              return null;\n            }\n            if (!cache2[id]) {\n              return null;\n            }\n            if (!--cache2[id]) {\n              conf['delete'](id);\n              return true;\n            }\n            return false;\n          }),\n          getRefCount: d2(function() {\n            var id = conf.get(arguments);\n            if (id === null) {\n              return 0;\n            }\n            if (!cache2[id]) {\n              return 0;\n            }\n            return cache2[id];\n          })\n        });\n      };\n    });\n    var require_memoizee = __commonJS(function(exports, module) {\n      'use strict';\n      var normalizeOpts = require_normalize_options();\n      var resolveLength = require_resolve_length();\n      var plain = require_plain();\n      module.exports = function(fn) {\n        var options = normalizeOpts(arguments[1]), length;\n        if (!options.normalizer) {\n          length = options.length = resolveLength(options.length, fn.length, options.async);\n          if (length !== 0) {\n            if (options.primitive) {\n              if (length === false) {\n                options.normalizer = require_primitive();\n              } else if (length > 1) {\n                options.normalizer = require_get_primitive_fixed()(length);\n              }\n            } else if (length === false) {\n              options.normalizer = require_get()();\n            } else if (length === 1) {\n              options.normalizer = require_get_1()();\n            } else {\n              options.normalizer = require_get_fixed()(length);\n            }\n          }\n        }\n        if (options.async) {\n          require_async();\n        }\n        if (options.promise) {\n          require_promise();\n        }\n        if (options.dispose) {\n          require_dispose();\n        }\n        if (options.maxAge) {\n          require_max_age();\n        }\n        if (options.max) {\n          require_max();\n        }\n        if (options.refCounter) {\n          require_ref_counter();\n        }\n        return plain(fn, options);\n      };\n    });\n    var definitions = [ {\n      name: 'NA',\n      value: 'inapplicable',\n      priority: 0,\n      group: 'inapplicable'\n    }, {\n      name: 'PASS',\n      value: 'passed',\n      priority: 1,\n      group: 'passes'\n    }, {\n      name: 'CANTTELL',\n      value: 'cantTell',\n      priority: 2,\n      group: 'incomplete'\n    }, {\n      name: 'FAIL',\n      value: 'failed',\n      priority: 3,\n      group: 'violations'\n    } ];\n    var constants = {\n      helpUrlBase: 'https://dequeuniversity.com/rules/',\n      gridSize: 200,\n      selectorSimilarFilterLimit: 700,\n      results: [],\n      resultGroups: [],\n      resultGroupMap: {},\n      impact: Object.freeze([ 'minor', 'moderate', 'serious', 'critical' ]),\n      preload: Object.freeze({\n        assets: [ 'cssom', 'media' ],\n        timeout: 1e4\n      }),\n      allOrigins: '<unsafe_all_origins>',\n      sameOrigin: '<same_origin>',\n      serializableErrorProps: Object.freeze([ 'message', 'stack', 'name', 'code', 'ruleId', 'method' ])\n    };\n    definitions.forEach(function(definition) {\n      var name = definition.name;\n      var value = definition.value;\n      var priority = definition.priority;\n      var group = definition.group;\n      constants[name] = value;\n      constants[name + '_PRIO'] = priority;\n      constants[name + '_GROUP'] = group;\n      constants.results[priority] = value;\n      constants.resultGroups[priority] = group;\n      constants.resultGroupMap[value] = group;\n    });\n    Object.freeze(constants.results);\n    Object.freeze(constants.resultGroups);\n    Object.freeze(constants.resultGroupMap);\n    Object.freeze(constants);\n    var constants_default = constants;\n    function log() {\n      if ((typeof console === 'undefined' ? 'undefined' : _typeof(console)) === 'object' && console.log) {\n        Function.prototype.apply.call(console.log, console, arguments);\n      }\n    }\n    var log_default = log;\n    var whitespaceRegex = /[\\t\\r\\n\\f]/g;\n    var AbstractVirtualNode = function() {\n      function AbstractVirtualNode() {\n        _classCallCheck(this, AbstractVirtualNode);\n        this.parent = void 0;\n      }\n      return _createClass(AbstractVirtualNode, [ {\n        key: 'props',\n        get: function get() {\n          throw new Error('VirtualNode class must have a \"props\" object consisting of \"nodeType\" and \"nodeName\" properties');\n        }\n      }, {\n        key: 'attrNames',\n        get: function get() {\n          throw new Error('VirtualNode class must have an \"attrNames\" property');\n        }\n      }, {\n        key: 'attr',\n        value: function attr() {\n          throw new Error('VirtualNode class must have an \"attr\" function');\n        }\n      }, {\n        key: 'hasAttr',\n        value: function hasAttr() {\n          throw new Error('VirtualNode class must have a \"hasAttr\" function');\n        }\n      }, {\n        key: 'hasClass',\n        value: function hasClass(className) {\n          var classAttr = this.attr('class');\n          if (!classAttr) {\n            return false;\n          }\n          var selector = ' ' + className + ' ';\n          return (' ' + classAttr + ' ').replace(whitespaceRegex, ' ').indexOf(selector) >= 0;\n        }\n      } ]);\n    }();\n    var abstract_virtual_node_default = AbstractVirtualNode;\n    var utils_exports = {};\n    __export(utils_exports, {\n      DqElement: function DqElement() {\n        return dq_element_default;\n      },\n      RuleError: function RuleError() {\n        return rule_error_default;\n      },\n      aggregate: function aggregate() {\n        return aggregate_default;\n      },\n      aggregateChecks: function aggregateChecks() {\n        return aggregate_checks_default;\n      },\n      aggregateNodeResults: function aggregateNodeResults() {\n        return aggregate_node_results_default;\n      },\n      aggregateResult: function aggregateResult() {\n        return aggregate_result_default;\n      },\n      areStylesSet: function areStylesSet() {\n        return are_styles_set_default;\n      },\n      assert: function assert() {\n        return assert_default;\n      },\n      checkHelper: function checkHelper() {\n        return check_helper_default;\n      },\n      clone: function clone() {\n        return clone2;\n      },\n      closest: function closest() {\n        return closest_default;\n      },\n      collectResultsFromFrames: function collectResultsFromFrames() {\n        return _collectResultsFromFrames;\n      },\n      contains: function contains() {\n        return _contains;\n      },\n      convertSelector: function convertSelector() {\n        return _convertSelector;\n      },\n      cssParser: function cssParser() {\n        return css_parser_default;\n      },\n      deepMerge: function deepMerge() {\n        return deep_merge_default;\n      },\n      escapeSelector: function escapeSelector() {\n        return escape_selector_default;\n      },\n      extendMetaData: function extendMetaData() {\n        return extend_meta_data_default;\n      },\n      filterHtmlAttrs: function filterHtmlAttrs() {\n        return _filterHtmlAttrs;\n      },\n      finalizeRuleResult: function finalizeRuleResult() {\n        return _finalizeRuleResult;\n      },\n      findBy: function findBy() {\n        return find_by_default;\n      },\n      getAllChecks: function getAllChecks() {\n        return get_all_checks_default;\n      },\n      getAncestry: function getAncestry() {\n        return _getAncestry;\n      },\n      getBaseLang: function getBaseLang() {\n        return get_base_lang_default;\n      },\n      getCheckMessage: function getCheckMessage() {\n        return get_check_message_default;\n      },\n      getCheckOption: function getCheckOption() {\n        return get_check_option_default;\n      },\n      getEnvironmentData: function getEnvironmentData() {\n        return _getEnvironmentData;\n      },\n      getFlattenedTree: function getFlattenedTree() {\n        return _getFlattenedTree;\n      },\n      getFrameContexts: function getFrameContexts() {\n        return _getFrameContexts;\n      },\n      getFriendlyUriEnd: function getFriendlyUriEnd() {\n        return get_friendly_uri_end_default;\n      },\n      getNodeAttributes: function getNodeAttributes() {\n        return get_node_attributes_default;\n      },\n      getNodeFromTree: function getNodeFromTree() {\n        return get_node_from_tree_default;\n      },\n      getPreloadConfig: function getPreloadConfig() {\n        return _getPreloadConfig;\n      },\n      getRootNode: function getRootNode() {\n        return get_root_node_default;\n      },\n      getRule: function getRule() {\n        return _getRule;\n      },\n      getScroll: function getScroll() {\n        return get_scroll_default;\n      },\n      getScrollState: function getScrollState() {\n        return get_scroll_state_default;\n      },\n      getSelector: function getSelector() {\n        return get_selector_default;\n      },\n      getSelectorData: function getSelectorData() {\n        return _getSelectorData;\n      },\n      getShadowSelector: function getShadowSelector() {\n        return _getShadowSelector;\n      },\n      getStandards: function getStandards() {\n        return _getStandards;\n      },\n      getStyleSheetFactory: function getStyleSheetFactory() {\n        return get_stylesheet_factory_default;\n      },\n      getXpath: function getXpath() {\n        return get_xpath_default;\n      },\n      injectStyle: function injectStyle() {\n        return inject_style_default;\n      },\n      isArrayLike: function isArrayLike() {\n        return _isArrayLike;\n      },\n      isContextObject: function isContextObject() {\n        return _isContextObject;\n      },\n      isContextProp: function isContextProp() {\n        return _isContextProp;\n      },\n      isContextSpec: function isContextSpec() {\n        return _isContextSpec;\n      },\n      isHidden: function isHidden() {\n        return is_hidden_default;\n      },\n      isHtmlElement: function isHtmlElement() {\n        return is_html_element_default;\n      },\n      isLabelledFramesSelector: function isLabelledFramesSelector() {\n        return _isLabelledFramesSelector;\n      },\n      isLabelledShadowDomSelector: function isLabelledShadowDomSelector() {\n        return _isLabelledShadowDomSelector;\n      },\n      isNodeInContext: function isNodeInContext() {\n        return _isNodeInContext;\n      },\n      isShadowRoot: function isShadowRoot() {\n        return is_shadow_root_default;\n      },\n      isValidLang: function isValidLang() {\n        return valid_langs_default;\n      },\n      isXHTML: function isXHTML() {\n        return is_xhtml_default;\n      },\n      matchAncestry: function matchAncestry() {\n        return _matchAncestry;\n      },\n      matches: function matches() {\n        return _matches;\n      },\n      matchesExpression: function matchesExpression() {\n        return _matchesExpression;\n      },\n      matchesSelector: function matchesSelector() {\n        return element_matches_default;\n      },\n      memoize: function memoize() {\n        return memoize_default;\n      },\n      mergeResults: function mergeResults() {\n        return merge_results_default;\n      },\n      nodeLookup: function nodeLookup() {\n        return _nodeLookup;\n      },\n      nodeSerializer: function nodeSerializer() {\n        return node_serializer_default;\n      },\n      nodeSorter: function nodeSorter() {\n        return node_sorter_default;\n      },\n      objectHasOwn: function objectHasOwn() {\n        return _objectHasOwn;\n      },\n      parseCrossOriginStylesheet: function parseCrossOriginStylesheet() {\n        return parse_crossorigin_stylesheet_default;\n      },\n      parseSameOriginStylesheet: function parseSameOriginStylesheet() {\n        return parse_sameorigin_stylesheet_default;\n      },\n      parseStylesheet: function parseStylesheet() {\n        return parse_stylesheet_default;\n      },\n      parseTabindex: function parseTabindex() {\n        return parse_tabindex_default;\n      },\n      performanceTimer: function performanceTimer() {\n        return performance_timer_default;\n      },\n      pollyfillElementsFromPoint: function pollyfillElementsFromPoint() {\n        return _pollyfillElementsFromPoint;\n      },\n      preload: function preload() {\n        return _preload;\n      },\n      preloadCssom: function preloadCssom() {\n        return preload_cssom_default;\n      },\n      preloadMedia: function preloadMedia() {\n        return preload_media_default;\n      },\n      processMessage: function processMessage() {\n        return process_message_default;\n      },\n      publishMetaData: function publishMetaData() {\n        return _publishMetaData;\n      },\n      querySelectorAll: function querySelectorAll() {\n        return query_selector_all_default;\n      },\n      querySelectorAllFilter: function querySelectorAllFilter() {\n        return query_selector_all_filter_default;\n      },\n      queue: function queue() {\n        return queue_default;\n      },\n      respondable: function respondable() {\n        return _respondable;\n      },\n      ruleShouldRun: function ruleShouldRun() {\n        return rule_should_run_default;\n      },\n      select: function select() {\n        return _select;\n      },\n      sendCommandToFrame: function sendCommandToFrame() {\n        return _sendCommandToFrame;\n      },\n      serializeError: function serializeError() {\n        return _serializeError;\n      },\n      setScrollState: function setScrollState() {\n        return set_scroll_state_default;\n      },\n      shadowSelect: function shadowSelect() {\n        return _shadowSelect;\n      },\n      shadowSelectAll: function shadowSelectAll() {\n        return _shadowSelectAll;\n      },\n      shouldPreload: function shouldPreload() {\n        return _shouldPreload;\n      },\n      toArray: function toArray() {\n        return to_array_default;\n      },\n      tokenList: function tokenList() {\n        return token_list_default;\n      },\n      uniqueArray: function uniqueArray() {\n        return unique_array_default;\n      },\n      uuid: function uuid() {\n        return uuid_default;\n      },\n      validInputTypes: function validInputTypes() {\n        return valid_input_type_default;\n      },\n      validLangs: function validLangs() {\n        return _validLangs;\n      }\n    });\n    function aggregate(map, values2, initial) {\n      values2 = values2.slice();\n      if (initial) {\n        values2.push(initial);\n      }\n      var sorting = values2.map(function(val) {\n        return map.indexOf(val);\n      }).sort();\n      return map[sorting.pop()];\n    }\n    var aggregate_default = aggregate;\n    var CANTTELL_PRIO = constants_default.CANTTELL_PRIO, FAIL_PRIO = constants_default.FAIL_PRIO;\n    var checkMap = [];\n    checkMap[constants_default.PASS_PRIO] = true;\n    checkMap[constants_default.CANTTELL_PRIO] = null;\n    checkMap[constants_default.FAIL_PRIO] = false;\n    var checkTypes = [ 'any', 'all', 'none' ];\n    function anyAllNone(obj, functor) {\n      return checkTypes.reduce(function(out, type2) {\n        out[type2] = (obj[type2] || []).map(function(val) {\n          return functor(val, type2);\n        });\n        return out;\n      }, {});\n    }\n    function aggregateChecks(nodeResOriginal) {\n      var nodeResult = Object.assign({}, nodeResOriginal);\n      anyAllNone(nodeResult, function(check, type2) {\n        var i = typeof check.result === 'undefined' ? -1 : checkMap.indexOf(check.result);\n        check.priority = i !== -1 ? i : constants_default.CANTTELL_PRIO;\n        if (type2 === 'none') {\n          if (check.priority === constants_default.PASS_PRIO) {\n            check.priority = constants_default.FAIL_PRIO;\n          } else if (check.priority === constants_default.FAIL_PRIO) {\n            check.priority = constants_default.PASS_PRIO;\n          }\n        }\n      });\n      var priorities = {\n        all: nodeResult.all.reduce(function(a2, b2) {\n          return Math.max(a2, b2.priority);\n        }, 0),\n        none: nodeResult.none.reduce(function(a2, b2) {\n          return Math.max(a2, b2.priority);\n        }, 0),\n        any: nodeResult.any.reduce(function(a2, b2) {\n          return Math.min(a2, b2.priority);\n        }, 4) % 4\n      };\n      nodeResult.priority = Math.max(priorities.all, priorities.none, priorities.any);\n      var impacts = [];\n      checkTypes.forEach(function(type2) {\n        nodeResult[type2] = nodeResult[type2].filter(function(check) {\n          return check.priority === nodeResult.priority && check.priority === priorities[type2];\n        });\n        nodeResult[type2].forEach(function(check) {\n          return impacts.push(check.impact);\n        });\n      });\n      if ([ CANTTELL_PRIO, FAIL_PRIO ].includes(nodeResult.priority)) {\n        nodeResult.impact = aggregate_default(constants_default.impact, impacts);\n      } else {\n        nodeResult.impact = null;\n      }\n      anyAllNone(nodeResult, function(c4) {\n        delete c4.result;\n        delete c4.priority;\n      });\n      nodeResult.result = constants_default.results[nodeResult.priority];\n      delete nodeResult.priority;\n      return nodeResult;\n    }\n    var aggregate_checks_default = aggregateChecks;\n    function _finalizeRuleResult(ruleResult) {\n      var rule = axe._audit.rules.find(function(_ref) {\n        var id = _ref.id;\n        return id === ruleResult.id;\n      });\n      if (rule && rule.impact) {\n        ruleResult.nodes.forEach(function(node) {\n          [ 'any', 'all', 'none' ].forEach(function(checkType) {\n            (node[checkType] || []).forEach(function(checkResult) {\n              checkResult.impact = rule.impact;\n            });\n          });\n        });\n      }\n      Object.assign(ruleResult, aggregate_node_results_default(ruleResult.nodes));\n      delete ruleResult.nodes;\n      return ruleResult;\n    }\n    function aggregateNodeResults(nodeResults) {\n      var ruleResult = {};\n      nodeResults = nodeResults.map(function(nodeResult) {\n        if (nodeResult.any && nodeResult.all && nodeResult.none) {\n          return aggregate_checks_default(nodeResult);\n        } else if (Array.isArray(nodeResult.node)) {\n          return _finalizeRuleResult(nodeResult);\n        } else {\n          throw new TypeError('Invalid Result type');\n        }\n      });\n      if (nodeResults && nodeResults.length) {\n        var resultList = nodeResults.map(function(node) {\n          return node.result;\n        });\n        ruleResult.result = aggregate_default(constants_default.results, resultList, ruleResult.result);\n      } else {\n        ruleResult.result = 'inapplicable';\n      }\n      constants_default.resultGroups.forEach(function(group) {\n        return ruleResult[group] = [];\n      });\n      nodeResults.forEach(function(nodeResult) {\n        var groupName = constants_default.resultGroupMap[nodeResult.result];\n        ruleResult[groupName].push(nodeResult);\n      });\n      var impactGroup = constants_default.FAIL_GROUP;\n      if (ruleResult[impactGroup].length === 0) {\n        impactGroup = constants_default.CANTTELL_GROUP;\n      }\n      if (ruleResult[impactGroup].length > 0) {\n        var impactList = ruleResult[impactGroup].map(function(failure) {\n          return failure.impact;\n        });\n        ruleResult.impact = aggregate_default(constants_default.impact, impactList) || null;\n      } else {\n        ruleResult.impact = null;\n      }\n      return ruleResult;\n    }\n    var aggregate_node_results_default = aggregateNodeResults;\n    function copyToGroup(resultObject, subResult, group) {\n      var resultCopy = Object.assign({}, subResult);\n      resultCopy.nodes = (resultCopy[group] || []).concat();\n      constants_default.resultGroups.forEach(function(resultGroup) {\n        delete resultCopy[resultGroup];\n      });\n      resultObject[group].push(resultCopy);\n    }\n    function aggregateResult(results) {\n      var resultObject = {};\n      constants_default.resultGroups.forEach(function(groupName) {\n        return resultObject[groupName] = [];\n      });\n      results.forEach(function(subResult) {\n        if (subResult.error) {\n          copyToGroup(resultObject, subResult, constants_default.CANTTELL_GROUP);\n        } else if (subResult.result === constants_default.NA) {\n          copyToGroup(resultObject, subResult, constants_default.NA_GROUP);\n        } else {\n          constants_default.resultGroups.forEach(function(group) {\n            if (Array.isArray(subResult[group]) && subResult[group].length > 0) {\n              copyToGroup(resultObject, subResult, group);\n            }\n          });\n        }\n      });\n      return resultObject;\n    }\n    var aggregate_result_default = aggregateResult;\n    function areStylesSet(el, styles, stopAt) {\n      var styl = window.getComputedStyle(el, null);\n      if (!styl) {\n        return false;\n      }\n      for (var i = 0; i < styles.length; ++i) {\n        var att = styles[i];\n        if (styl.getPropertyValue(att.property) === att.value) {\n          return true;\n        }\n      }\n      if (!el.parentNode || el.nodeName.toUpperCase() === stopAt.toUpperCase()) {\n        return false;\n      }\n      return areStylesSet(el.parentNode, styles, stopAt);\n    }\n    var are_styles_set_default = areStylesSet;\n    function assert(bool, message) {\n      if (!bool) {\n        throw new Error(message);\n      }\n    }\n    var assert_default = assert;\n    function toArray(thing) {\n      return Array.prototype.slice.call(thing);\n    }\n    var to_array_default = toArray;\n    function escapeSelector(value) {\n      var string = String(value);\n      var length = string.length;\n      var index = -1;\n      var codeUnit;\n      var result = '';\n      var firstCodeUnit = string.charCodeAt(0);\n      while (++index < length) {\n        codeUnit = string.charCodeAt(index);\n        if (codeUnit == 0) {\n          result += '\\ufffd';\n          continue;\n        }\n        if (codeUnit >= 1 && codeUnit <= 31 || codeUnit == 127 || index == 0 && codeUnit >= 48 && codeUnit <= 57 || index == 1 && codeUnit >= 48 && codeUnit <= 57 && firstCodeUnit == 45) {\n          result += '\\\\' + codeUnit.toString(16) + ' ';\n          continue;\n        }\n        if (index == 0 && length == 1 && codeUnit == 45) {\n          result += '\\\\' + string.charAt(index);\n          continue;\n        }\n        if (codeUnit >= 128 || codeUnit == 45 || codeUnit == 95 || codeUnit >= 48 && codeUnit <= 57 || codeUnit >= 65 && codeUnit <= 90 || codeUnit >= 97 && codeUnit <= 122) {\n          result += string.charAt(index);\n          continue;\n        }\n        result += '\\\\' + string.charAt(index);\n      }\n      return result;\n    }\n    var escape_selector_default = escapeSelector;\n    function isMostlyNumbers() {\n      var str = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n      return str.length !== 0 && (str.match(/[0-9]/g) || '').length >= str.length / 2;\n    }\n    function splitString(str, splitIndex) {\n      return [ str.substring(0, splitIndex), str.substring(splitIndex) ];\n    }\n    function trimRight(str) {\n      return str.replace(/\\s+$/, '');\n    }\n    function uriParser(url) {\n      var original = url;\n      var protocol = '', domain = '', port = '', path = '', query = '', hash = '';\n      if (url.includes('#')) {\n        var _splitString = splitString(url, url.indexOf('#'));\n        var _splitString2 = _slicedToArray(_splitString, 2);\n        url = _splitString2[0];\n        hash = _splitString2[1];\n      }\n      if (url.includes('?')) {\n        var _splitString3 = splitString(url, url.indexOf('?'));\n        var _splitString4 = _slicedToArray(_splitString3, 2);\n        url = _splitString4[0];\n        query = _splitString4[1];\n      }\n      if (url.includes('://')) {\n        var _url$split = url.split('://');\n        var _url$split2 = _slicedToArray(_url$split, 2);\n        protocol = _url$split2[0];\n        url = _url$split2[1];\n        var _splitString5 = splitString(url, url.indexOf('/'));\n        var _splitString6 = _slicedToArray(_splitString5, 2);\n        domain = _splitString6[0];\n        url = _splitString6[1];\n      } else if (url.substr(0, 2) === '//') {\n        url = url.substr(2);\n        var _splitString7 = splitString(url, url.indexOf('/'));\n        var _splitString8 = _slicedToArray(_splitString7, 2);\n        domain = _splitString8[0];\n        url = _splitString8[1];\n      }\n      if (domain.substr(0, 4) === 'www.') {\n        domain = domain.substr(4);\n      }\n      if (domain && domain.includes(':')) {\n        var _splitString9 = splitString(domain, domain.indexOf(':'));\n        var _splitString0 = _slicedToArray(_splitString9, 2);\n        domain = _splitString0[0];\n        port = _splitString0[1];\n      }\n      path = url;\n      return {\n        original: original,\n        protocol: protocol,\n        domain: domain,\n        port: port,\n        path: path,\n        query: query,\n        hash: hash\n      };\n    }\n    function getFriendlyUriEnd() {\n      var uri = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n      var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      if (uri.length <= 1 || uri.substr(0, 5) === 'data:' || uri.substr(0, 11) === 'javascript:' || uri.includes('?')) {\n        return;\n      }\n      var currentDomain = options.currentDomain, _options$maxLength = options.maxLength, maxLength = _options$maxLength === void 0 ? 25 : _options$maxLength;\n      var _uriParser = uriParser(uri), path = _uriParser.path, domain = _uriParser.domain, hash = _uriParser.hash;\n      var pathEnd = path.substr(path.substr(0, path.length - 2).lastIndexOf('/') + 1);\n      if (hash) {\n        if (pathEnd && (pathEnd + hash).length <= maxLength) {\n          return trimRight(pathEnd + hash);\n        } else if (pathEnd.length < 2 && hash.length > 2 && hash.length <= maxLength) {\n          return trimRight(hash);\n        } else {\n          return;\n        }\n      } else if (domain && domain.length < maxLength && path.length <= 1) {\n        return trimRight(domain + path);\n      }\n      if (path === '/' + pathEnd && domain && currentDomain && domain !== currentDomain && (domain + path).length <= maxLength) {\n        return trimRight(domain + path);\n      }\n      var lastDotIndex = pathEnd.lastIndexOf('.');\n      if ((lastDotIndex === -1 || lastDotIndex > 1) && (lastDotIndex !== -1 || pathEnd.length > 2) && pathEnd.length <= maxLength && !pathEnd.match(/index(\\.[a-zA-Z]{2-4})?/) && !isMostlyNumbers(pathEnd)) {\n        return trimRight(pathEnd);\n      }\n    }\n    var get_friendly_uri_end_default = getFriendlyUriEnd;\n    function getNodeAttributes(node) {\n      if (node.attributes instanceof window.NamedNodeMap) {\n        return node.attributes;\n      }\n      return node.cloneNode(false).attributes;\n    }\n    var get_node_attributes_default = getNodeAttributes;\n    var matchesSelector = function() {\n      var method;\n      function getMethod(node) {\n        var candidates = [ 'matches', 'matchesSelector', 'mozMatchesSelector', 'webkitMatchesSelector', 'msMatchesSelector' ];\n        var length = candidates.length;\n        var index, candidate;\n        for (index = 0; index < length; index++) {\n          candidate = candidates[index];\n          if (node[candidate]) {\n            return candidate;\n          }\n        }\n      }\n      return function(node, selector) {\n        if (!method || !node[method]) {\n          method = getMethod(node);\n        }\n        if (node[method]) {\n          return node[method](selector);\n        }\n        return false;\n      };\n    }();\n    var element_matches_default = matchesSelector;\n    var imports_exports = {};\n    __export(imports_exports, {\n      ArrayFrom: function ArrayFrom() {\n        return import_from2['default'];\n      },\n      Colorjs: function Colorjs() {\n        return _Color;\n      },\n      CssSelectorParser: function CssSelectorParser() {\n        return import_css_selector_parser.CssSelectorParser;\n      },\n      doT: function doT() {\n        return import_dot['default'];\n      },\n      emojiRegexText: function emojiRegexText() {\n        return emoji_regex_default;\n      },\n      memoize: function memoize() {\n        return import_memoizee['default'];\n      }\n    });\n    var import_es6_promise = __toModule(require_es6_promise());\n    var import_typedarray = __toModule(require_typedarray());\n    var import_weakmap_polyfill = __toModule(require_weakmap_polyfill());\n    var import_has_own = __toModule(require_has_own3());\n    var import_values = __toModule(require_values3());\n    var import_from = __toModule(require_from3());\n    if (!('hasOwn' in Object)) {\n      Object.hasOwn = import_has_own['default'];\n    }\n    if (!('values' in Object)) {\n      Object.values = import_values['default'];\n    }\n    if (!('Promise' in window)) {\n      import_es6_promise['default'].polyfill();\n    }\n    if (!('Uint32Array' in window)) {\n      window.Uint32Array = import_typedarray.Uint32Array;\n    }\n    if (window.Uint32Array) {\n      if (!('some' in window.Uint32Array.prototype)) {\n        Object.defineProperty(window.Uint32Array.prototype, 'some', {\n          value: Array.prototype.some\n        });\n      }\n      if (!('reduce' in window.Uint32Array.prototype)) {\n        Object.defineProperty(window.Uint32Array.prototype, 'reduce', {\n          value: Array.prototype.reduce\n        });\n      }\n    }\n    if (typeof Object.assign !== 'function') {\n      (function() {\n        Object.assign = function(target) {\n          if (target === void 0 || target === null) {\n            throw new TypeError('Cannot convert undefined or null to object');\n          }\n          var output = Object(target);\n          for (var index = 1; index < arguments.length; index++) {\n            var source = arguments[index];\n            if (source !== void 0 && source !== null) {\n              for (var nextKey in source) {\n                if (source.hasOwnProperty(nextKey)) {\n                  output[nextKey] = source[nextKey];\n                }\n              }\n            }\n          }\n          return output;\n        };\n      })();\n    }\n    if (!Array.prototype.find) {\n      Object.defineProperty(Array.prototype, 'find', {\n        value: function value(predicate) {\n          if (this === null) {\n            throw new TypeError('Array.prototype.find called on null or undefined');\n          }\n          if (typeof predicate !== 'function') {\n            throw new TypeError('predicate must be a function');\n          }\n          var list = Object(this);\n          var length = list.length >>> 0;\n          var thisArg = arguments[1];\n          var value;\n          for (var i = 0; i < length; i++) {\n            value = list[i];\n            if (predicate.call(thisArg, value, i, list)) {\n              return value;\n            }\n          }\n          return void 0;\n        }\n      });\n    }\n    if (!Array.prototype.findIndex) {\n      Object.defineProperty(Array.prototype, 'findIndex', {\n        value: function value(predicate, thisArg) {\n          if (this === null) {\n            throw new TypeError('Array.prototype.find called on null or undefined');\n          }\n          if (typeof predicate !== 'function') {\n            throw new TypeError('predicate must be a function');\n          }\n          var list = Object(this);\n          var length = list.length >>> 0;\n          var value;\n          for (var i = 0; i < length; i++) {\n            value = list[i];\n            if (predicate.call(thisArg, value, i, list)) {\n              return i;\n            }\n          }\n          return -1;\n        }\n      });\n    }\n    if (!Array.prototype.includes) {\n      Object.defineProperty(Array.prototype, 'includes', {\n        value: function value(searchElement) {\n          var O = Object(this);\n          var len = parseInt(O.length, 10) || 0;\n          if (len === 0) {\n            return false;\n          }\n          var n2 = parseInt(arguments[1], 10) || 0;\n          var k;\n          if (n2 >= 0) {\n            k = n2;\n          } else {\n            k = len + n2;\n            if (k < 0) {\n              k = 0;\n            }\n          }\n          var currentElement;\n          while (k < len) {\n            currentElement = O[k];\n            if (searchElement === currentElement || searchElement !== searchElement && currentElement !== currentElement) {\n              return true;\n            }\n            k++;\n          }\n          return false;\n        }\n      });\n    }\n    if (!Array.prototype.some) {\n      Object.defineProperty(Array.prototype, 'some', {\n        value: function value(fun) {\n          if (this == null) {\n            throw new TypeError('Array.prototype.some called on null or undefined');\n          }\n          if (typeof fun !== 'function') {\n            throw new TypeError();\n          }\n          var t = Object(this);\n          var len = t.length >>> 0;\n          var thisArg = arguments.length >= 2 ? arguments[1] : void 0;\n          for (var i = 0; i < len; i++) {\n            if (i in t && fun.call(thisArg, t[i], i, t)) {\n              return true;\n            }\n          }\n          return false;\n        }\n      });\n    }\n    if (!Array.from) {\n      Array.from = import_from['default'];\n    }\n    if (!String.prototype.includes) {\n      String.prototype.includes = function(search, start) {\n        if (typeof start !== 'number') {\n          start = 0;\n        }\n        if (start + search.length > this.length) {\n          return false;\n        } else {\n          return this.indexOf(search, start) !== -1;\n        }\n      };\n    }\n    if (!Array.prototype.flat) {\n      Object.defineProperty(Array.prototype, 'flat', {\n        configurable: true,\n        value: function flat() {\n          var depth = isNaN(arguments[0]) ? 1 : Number(arguments[0]);\n          return depth ? Array.prototype.reduce.call(this, function(acc, cur) {\n            if (Array.isArray(cur)) {\n              acc.push.apply(acc, flat.call(cur, depth - 1));\n            } else {\n              acc.push(cur);\n            }\n            return acc;\n          }, []) : Array.prototype.slice.call(this);\n        },\n        writable: true\n      });\n    }\n    if (window.Node && !('isConnected' in window.Node.prototype)) {\n      Object.defineProperty(window.Node.prototype, 'isConnected', {\n        get: function get() {\n          return !this.ownerDocument || !(this.ownerDocument.compareDocumentPosition(this) & this.DOCUMENT_POSITION_DISCONNECTED);\n        }\n      });\n    }\n    var import_css_selector_parser = __toModule(require_lib());\n    var import_dot = __toModule(require_doT());\n    var emoji_regex_default = function emoji_regex_default() {\n      return /[#*0-9]\\uFE0F?\\u20E3|[\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23ED-\\u23EF\\u23F1\\u23F2\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB\\u25FC\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692\\u2694-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A7\\u26AA\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C8\\u26CF\\u26D1\\u26E9\\u26F0-\\u26F5\\u26F7\\u26F8\\u26FA\\u2702\\u2708\\u2709\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2733\\u2734\\u2744\\u2747\\u2757\\u2763\\u27A1\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B55\\u3030\\u303D\\u3297\\u3299]\\uFE0F?|[\\u261D\\u270C\\u270D](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|[\\u270A\\u270B](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u2693\\u26A1\\u26AB\\u26C5\\u26CE\\u26D4\\u26EA\\u26FD\\u2705\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2795-\\u2797\\u27B0\\u27BF\\u2B50]|\\u26D3\\uFE0F?(?:\\u200D\\uD83D\\uDCA5)?|\\u26F9(?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\u2764\\uFE0F?(?:\\u200D(?:\\uD83D\\uDD25|\\uD83E\\uDE79))?|\\uD83C(?:[\\uDC04\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDE02\\uDE37\\uDF21\\uDF24-\\uDF2C\\uDF36\\uDF7D\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E\\uDF9F\\uDFCD\\uDFCE\\uDFD4-\\uDFDF\\uDFF5\\uDFF7]\\uFE0F?|[\\uDF85\\uDFC2\\uDFC7](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDFC4\\uDFCA](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDFCB\\uDFCC](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF43\\uDF45-\\uDF4A\\uDF4C-\\uDF7C\\uDF7E-\\uDF84\\uDF86-\\uDF93\\uDFA0-\\uDFC1\\uDFC5\\uDFC6\\uDFC8\\uDFC9\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF8-\\uDFFF]|\\uDDE6\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF]|\\uDDE7\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF]|\\uDDE8\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF7\\uDDFA-\\uDDFF]|\\uDDE9\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF]|\\uDDEA\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA]|\\uDDEB\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7]|\\uDDEC\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE]|\\uDDED\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA]|\\uDDEE\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9]|\\uDDEF\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5]|\\uDDF0\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF]|\\uDDF1\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE]|\\uDDF2\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF]|\\uDDF3\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF]|\\uDDF4\\uD83C\\uDDF2|\\uDDF5\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE]|\\uDDF6\\uD83C\\uDDE6|\\uDDF7\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC]|\\uDDF8\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF]|\\uDDF9\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF]|\\uDDFA\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF]|\\uDDFB\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA]|\\uDDFC\\uD83C[\\uDDEB\\uDDF8]|\\uDDFD\\uD83C\\uDDF0|\\uDDFE\\uD83C[\\uDDEA\\uDDF9]|\\uDDFF\\uD83C[\\uDDE6\\uDDF2\\uDDFC]|\\uDF44(?:\\u200D\\uD83D\\uDFEB)?|\\uDF4B(?:\\u200D\\uD83D\\uDFE9)?|\\uDFC3(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?|\\uDFF3\\uFE0F?(?:\\u200D(?:\\u26A7\\uFE0F?|\\uD83C\\uDF08))?|\\uDFF4(?:\\u200D\\u2620\\uFE0F?|\\uDB40\\uDC67\\uDB40\\uDC62\\uDB40(?:\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F)?)|\\uD83D(?:[\\uDC3F\\uDCFD\\uDD49\\uDD4A\\uDD6F\\uDD70\\uDD73\\uDD76-\\uDD79\\uDD87\\uDD8A-\\uDD8D\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA\\uDECB\\uDECD-\\uDECF\\uDEE0-\\uDEE5\\uDEE9\\uDEF0\\uDEF3]\\uFE0F?|[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDC8F\\uDC91\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDC6E-\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4\\uDEB5](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD74\\uDD90](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|[\\uDC00-\\uDC07\\uDC09-\\uDC14\\uDC16-\\uDC25\\uDC27-\\uDC3A\\uDC3C-\\uDC3E\\uDC40\\uDC44\\uDC45\\uDC51-\\uDC65\\uDC6A\\uDC79-\\uDC7B\\uDC7D-\\uDC80\\uDC84\\uDC88-\\uDC8E\\uDC90\\uDC92-\\uDCA9\\uDCAB-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDDA4\\uDDFB-\\uDE2D\\uDE2F-\\uDE34\\uDE37-\\uDE41\\uDE43\\uDE44\\uDE48-\\uDE4A\\uDE80-\\uDEA2\\uDEA4-\\uDEB3\\uDEB7-\\uDEBF\\uDEC1-\\uDEC5\\uDED0-\\uDED2\\uDED5-\\uDED8\\uDEDC-\\uDEDF\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB\\uDFF0]|\\uDC08(?:\\u200D\\u2B1B)?|\\uDC15(?:\\u200D\\uD83E\\uDDBA)?|\\uDC26(?:\\u200D(?:\\u2B1B|\\uD83D\\uDD25))?|\\uDC3B(?:\\u200D\\u2744\\uFE0F?)?|\\uDC41\\uFE0F?(?:\\u200D\\uD83D\\uDDE8\\uFE0F?)?|\\uDC68(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDC68\\uDC69]\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFC-\\uDFFF])|\\uD83E(?:[\\uDD1D\\uDEEF]\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFC-\\uDFFF]|[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83E(?:[\\uDD1D\\uDEEF]\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83E(?:[\\uDD1D\\uDEEF]\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83E(?:[\\uDD1D\\uDEEF]\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFE])|\\uD83E(?:[\\uDD1D\\uDEEF]\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFE]|[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3])))?))?|\\uDC69(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?[\\uDC68\\uDC69]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?|\\uDC69\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?))|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFC-\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFC-\\uDFFF]|\\uDEEF\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFC-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|\\uDEEF\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|\\uDEEF\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|\\uDEEF\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB-\\uDFFE])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFE]|\\uDEEF\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDD75(?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uDE2E(?:\\u200D\\uD83D\\uDCA8)?|\\uDE35(?:\\u200D\\uD83D\\uDCAB)?|\\uDE36(?:\\u200D\\uD83C\\uDF2B\\uFE0F?)?|\\uDE42(?:\\u200D[\\u2194\\u2195]\\uFE0F?)?|\\uDEB6(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?)|\\uD83E(?:[\\uDD0C\\uDD0F\\uDD18-\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2\\uDDD3\\uDDD5\\uDEC3-\\uDEC5\\uDEF0\\uDEF2-\\uDEF8](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3C-\\uDD3E\\uDDB8\\uDDB9\\uDDCD\\uDDCF\\uDDD4\\uDDD6-\\uDDDD](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDDDE\\uDDDF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD0D\\uDD0E\\uDD10-\\uDD17\\uDD20-\\uDD25\\uDD27-\\uDD2F\\uDD3A\\uDD3F-\\uDD45\\uDD47-\\uDD76\\uDD78-\\uDDB4\\uDDB7\\uDDBA\\uDDBC-\\uDDCC\\uDDD0\\uDDE0-\\uDDFF\\uDE70-\\uDE7C\\uDE80-\\uDE8A\\uDE8E-\\uDEC2\\uDEC6\\uDEC8\\uDECD-\\uDEDC\\uDEDF-\\uDEEA\\uDEEF]|\\uDDCE(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?|\\uDDD1(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3\\uDE70]|\\uDD1D\\u200D\\uD83E\\uDDD1|\\uDDD1\\u200D\\uD83E\\uDDD2(?:\\u200D\\uD83E\\uDDD2)?|\\uDDD2(?:\\u200D\\uD83E\\uDDD2)?))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFC-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFC-\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3\\uDE70]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|\\uDEEF\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFC-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3\\uDE70]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|\\uDEEF\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3\\uDE70]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|\\uDEEF\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3\\uDE70]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|\\uDEEF\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFE]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFE])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3\\uDE70]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|\\uDEEF\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDEF1(?:\\uD83C(?:\\uDFFB(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFC-\\uDFFF])?|\\uDFFC(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])?|\\uDFFD(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])?|\\uDFFE(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])?|\\uDFFF(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB-\\uDFFE])?))?)/g;\n    };\n    var import_memoizee = __toModule(require_memoizee());\n    function multiplyMatrices(A, B) {\n      var m3 = A.length;\n      if (!Array.isArray(A[0])) {\n        A = [ A ];\n      }\n      if (!Array.isArray(B[0])) {\n        B = B.map(function(x) {\n          return [ x ];\n        });\n      }\n      var p2 = B[0].length;\n      var B_cols = B[0].map(function(_, i) {\n        return B.map(function(x) {\n          return x[i];\n        });\n      });\n      var product = A.map(function(row) {\n        return B_cols.map(function(col) {\n          var ret = 0;\n          if (!Array.isArray(row)) {\n            var _iterator2 = _createForOfIteratorHelper(col), _step2;\n            try {\n              for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) {\n                var c4 = _step2.value;\n                ret += row * c4;\n              }\n            } catch (err) {\n              _iterator2.e(err);\n            } finally {\n              _iterator2.f();\n            }\n            return ret;\n          }\n          for (var i = 0; i < row.length; i++) {\n            ret += row[i] * (col[i] || 0);\n          }\n          return ret;\n        });\n      });\n      if (m3 === 1) {\n        product = product[0];\n      }\n      if (p2 === 1) {\n        return product.map(function(x) {\n          return x[0];\n        });\n      }\n      return product;\n    }\n    function isString(str) {\n      return type(str) === 'string';\n    }\n    function type(o) {\n      var str = Object.prototype.toString.call(o);\n      return (str.match(/^\\[object\\s+(.*?)\\]$/)[1] || '').toLowerCase();\n    }\n    function toPrecision(n2, precision) {\n      n2 = +n2;\n      precision = +precision;\n      var integerLength = (Math.floor(n2) + '').length;\n      if (precision > integerLength) {\n        return +n2.toFixed(precision - integerLength);\n      } else {\n        var p10 = Math.pow(10, integerLength - precision);\n        return Math.round(n2 / p10) * p10;\n      }\n    }\n    function parseFunction(str) {\n      if (!str) {\n        return;\n      }\n      str = str.trim();\n      var isFunctionRegex = /^([a-z]+)\\((.+?)\\)$/i;\n      var isNumberRegex = /^-?[\\d.]+$/;\n      var parts = str.match(isFunctionRegex);\n      if (parts) {\n        var args = [];\n        parts[2].replace(/\\/?\\s*([-\\w.]+(?:%|deg)?)/g, function($0, arg) {\n          if (/%$/.test(arg)) {\n            arg = new Number(arg.slice(0, -1) / 100);\n            arg.type = '<percentage>';\n          } else if (/deg$/.test(arg)) {\n            arg = new Number(+arg.slice(0, -3));\n            arg.type = '<angle>';\n            arg.unit = 'deg';\n          } else if (isNumberRegex.test(arg)) {\n            arg = new Number(arg);\n            arg.type = '<number>';\n          }\n          if ($0.startsWith('/')) {\n            arg = arg instanceof Number ? arg : new Number(arg);\n            arg.alpha = true;\n          }\n          args.push(arg);\n        });\n        return {\n          name: parts[1].toLowerCase(),\n          rawName: parts[1],\n          rawArgs: parts[2],\n          args: args\n        };\n      }\n    }\n    function last(arr) {\n      return arr[arr.length - 1];\n    }\n    function interpolate(start, end, p2) {\n      if (isNaN(start)) {\n        return end;\n      }\n      if (isNaN(end)) {\n        return start;\n      }\n      return start + (end - start) * p2;\n    }\n    function interpolateInv(start, end, value) {\n      return (value - start) / (end - start);\n    }\n    function mapRange(from, to2, value) {\n      return interpolate(to2[0], to2[1], interpolateInv(from[0], from[1], value));\n    }\n    function parseCoordGrammar(coordGrammars) {\n      return coordGrammars.map(function(coordGrammar2) {\n        return coordGrammar2.split('|').map(function(type2) {\n          type2 = type2.trim();\n          var range2 = type2.match(/^(<[a-z]+>)\\[(-?[.\\d]+),\\s*(-?[.\\d]+)\\]?$/);\n          if (range2) {\n            var ret = new String(range2[1]);\n            ret.range = [ +range2[2], +range2[3] ];\n            return ret;\n          }\n          return type2;\n        });\n      });\n    }\n    var util = Object.freeze({\n      __proto__: null,\n      isString: isString,\n      type: type,\n      toPrecision: toPrecision,\n      parseFunction: parseFunction,\n      last: last,\n      interpolate: interpolate,\n      interpolateInv: interpolateInv,\n      mapRange: mapRange,\n      parseCoordGrammar: parseCoordGrammar,\n      multiplyMatrices: multiplyMatrices\n    });\n    var Hooks = function() {\n      function Hooks() {\n        _classCallCheck(this, Hooks);\n      }\n      return _createClass(Hooks, [ {\n        key: 'add',\n        value: function add(name, callback, first) {\n          if (typeof arguments[0] != 'string') {\n            for (var name in arguments[0]) {\n              this.add(name, arguments[0][name], arguments[1]);\n            }\n            return;\n          }\n          (Array.isArray(name) ? name : [ name ]).forEach(function(name2) {\n            this[name2] = this[name2] || [];\n            if (callback) {\n              this[name2][first ? 'unshift' : 'push'](callback);\n            }\n          }, this);\n        }\n      }, {\n        key: 'run',\n        value: function run(name, env) {\n          this[name] = this[name] || [];\n          this[name].forEach(function(callback) {\n            callback.call(env && env.context ? env.context : env, env);\n          });\n        }\n      } ]);\n    }();\n    var hooks = new Hooks();\n    var defaults = {\n      gamut_mapping: 'lch.c',\n      precision: 5,\n      deltaE: '76'\n    };\n    var WHITES = {\n      D50: [ .3457 / .3585, 1, (1 - .3457 - .3585) / .3585 ],\n      D65: [ .3127 / .329, 1, (1 - .3127 - .329) / .329 ]\n    };\n    function getWhite(name) {\n      if (Array.isArray(name)) {\n        return name;\n      }\n      return WHITES[name];\n    }\n    function adapt$1(W1, W2, XYZ) {\n      var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n      W1 = getWhite(W1);\n      W2 = getWhite(W2);\n      if (!W1 || !W2) {\n        throw new TypeError('Missing white point to convert '.concat(!W1 ? 'from' : '').concat(!W1 && !W2 ? '/' : '').concat(!W2 ? 'to' : ''));\n      }\n      if (W1 === W2) {\n        return XYZ;\n      }\n      var env = {\n        W1: W1,\n        W2: W2,\n        XYZ: XYZ,\n        options: options\n      };\n      hooks.run('chromatic-adaptation-start', env);\n      if (!env.M) {\n        if (env.W1 === WHITES.D65 && env.W2 === WHITES.D50) {\n          env.M = [ [ 1.0479298208405488, .022946793341019088, -.05019222954313557 ], [ .029627815688159344, .990434484573249, -.01707382502938514 ], [ -.009243058152591178, .015055144896577895, .7518742899580008 ] ];\n        } else if (env.W1 === WHITES.D50 && env.W2 === WHITES.D65) {\n          env.M = [ [ .9554734527042182, -.023098536874261423, .0632593086610217 ], [ -.028369706963208136, 1.0099954580058226, .021041398966943008 ], [ .012314001688319899, -.020507696433477912, 1.3303659366080753 ] ];\n        }\n      }\n      hooks.run('chromatic-adaptation-end', env);\n      if (env.M) {\n        return multiplyMatrices(env.M, env.XYZ);\n      } else {\n        throw new TypeError('Only Bradford CAT with white points D50 and D65 supported for now.');\n      }\n    }\n    var \\u03b5$4 = 75e-6;\n    var _ColorSpace2 = (_Class_brand = new WeakSet(), _path = new WeakMap(), function() {\n      function _ColorSpace(options) {\n        var _options$coords, _ref2, _options$white, _options$formats, _this$formats$functio, _this$formats, _this$formats2;\n        _classCallCheck(this, _ColorSpace);\n        _classPrivateMethodInitSpec(this, _Class_brand);\n        _classPrivateFieldInitSpec(this, _path, void 0);\n        this.id = options.id;\n        this.name = options.name;\n        this.base = options.base ? _ColorSpace2.get(options.base) : null;\n        this.aliases = options.aliases;\n        if (this.base) {\n          this.fromBase = options.fromBase;\n          this.toBase = options.toBase;\n        }\n        var _coords = (_options$coords = options.coords) !== null && _options$coords !== void 0 ? _options$coords : this.base.coords;\n        this.coords = _coords;\n        var white2 = (_ref2 = (_options$white = options.white) !== null && _options$white !== void 0 ? _options$white : this.base.white) !== null && _ref2 !== void 0 ? _ref2 : 'D65';\n        this.white = getWhite(white2);\n        this.formats = (_options$formats = options.formats) !== null && _options$formats !== void 0 ? _options$formats : {};\n        for (var name in this.formats) {\n          var format = this.formats[name];\n          format.type || (format.type = 'function');\n          format.name || (format.name = name);\n        }\n        if (options.cssId && !((_this$formats$functio = this.formats.functions) !== null && _this$formats$functio !== void 0 && _this$formats$functio.color)) {\n          this.formats.color = {\n            id: options.cssId\n          };\n          Object.defineProperty(this, 'cssId', {\n            value: options.cssId\n          });\n        } else if ((_this$formats = this.formats) !== null && _this$formats !== void 0 && _this$formats.color && !((_this$formats2 = this.formats) !== null && _this$formats2 !== void 0 && _this$formats2.color.id)) {\n          this.formats.color.id = this.id;\n        }\n        this.referred = options.referred;\n        _classPrivateFieldSet(_path, this, _assertClassBrand(_Class_brand, this, _getPath).call(this).reverse());\n        hooks.run('colorspace-init-end', this);\n      }\n      return _createClass(_ColorSpace, [ {\n        key: 'inGamut',\n        value: function inGamut(coords) {\n          var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref3$epsilon = _ref3.epsilon, epsilon = _ref3$epsilon === void 0 ? \\u03b5$4 : _ref3$epsilon;\n          if (this.isPolar) {\n            coords = this.toBase(coords);\n            return this.base.inGamut(coords, {\n              epsilon: epsilon\n            });\n          }\n          var coordMeta = Object.values(this.coords);\n          return coords.every(function(c4, i) {\n            var meta = coordMeta[i];\n            if (meta.type !== 'angle' && meta.range) {\n              if (Number.isNaN(c4)) {\n                return true;\n              }\n              var _meta$range = _slicedToArray(meta.range, 2), min = _meta$range[0], max2 = _meta$range[1];\n              return (min === void 0 || c4 >= min - epsilon) && (max2 === void 0 || c4 <= max2 + epsilon);\n            }\n            return true;\n          });\n        }\n      }, {\n        key: 'cssId',\n        get: function get() {\n          var _this$formats$functio2;\n          return ((_this$formats$functio2 = this.formats.functions) === null || _this$formats$functio2 === void 0 || (_this$formats$functio2 = _this$formats$functio2.color) === null || _this$formats$functio2 === void 0 ? void 0 : _this$formats$functio2.id) || this.id;\n        }\n      }, {\n        key: 'isPolar',\n        get: function get() {\n          for (var id in this.coords) {\n            if (this.coords[id].type === 'angle') {\n              return true;\n            }\n          }\n          return false;\n        }\n      }, {\n        key: 'getFormat',\n        value: function getFormat(format) {\n          if (_typeof(format) === 'object') {\n            format = _assertClassBrand(_Class_brand, this, _processFormat).call(this, format);\n            return format;\n          }\n          var ret;\n          if (format === 'default') {\n            ret = Object.values(this.formats)[0];\n          } else {\n            ret = this.formats[format];\n          }\n          if (ret) {\n            ret = _assertClassBrand(_Class_brand, this, _processFormat).call(this, ret);\n            return ret;\n          }\n          return null;\n        }\n      }, {\n        key: 'to',\n        value: function to(space, coords) {\n          if (arguments.length === 1) {\n            var _ref4 = [ space.space, space.coords ];\n            space = _ref4[0];\n            coords = _ref4[1];\n          }\n          space = _ColorSpace2.get(space);\n          if (this === space) {\n            return coords;\n          }\n          coords = coords.map(function(c4) {\n            return Number.isNaN(c4) ? 0 : c4;\n          });\n          var myPath = _classPrivateFieldGet(_path, this);\n          var otherPath = _classPrivateFieldGet(_path, space);\n          var connectionSpace, connectionSpaceIndex;\n          for (var i = 0; i < myPath.length; i++) {\n            if (myPath[i] === otherPath[i]) {\n              connectionSpace = myPath[i];\n              connectionSpaceIndex = i;\n            } else {\n              break;\n            }\n          }\n          if (!connectionSpace) {\n            throw new Error('Cannot convert between color spaces '.concat(this, ' and ').concat(space, ': no connection space was found'));\n          }\n          for (var _i2 = myPath.length - 1; _i2 > connectionSpaceIndex; _i2--) {\n            coords = myPath[_i2].toBase(coords);\n          }\n          for (var _i3 = connectionSpaceIndex + 1; _i3 < otherPath.length; _i3++) {\n            coords = otherPath[_i3].fromBase(coords);\n          }\n          return coords;\n        }\n      }, {\n        key: 'from',\n        value: function from(space, coords) {\n          if (arguments.length === 1) {\n            var _ref5 = [ space.space, space.coords ];\n            space = _ref5[0];\n            coords = _ref5[1];\n          }\n          space = _ColorSpace2.get(space);\n          return space.to(this, coords);\n        }\n      }, {\n        key: 'toString',\n        value: function toString() {\n          return ''.concat(this.name, ' (').concat(this.id, ')');\n        }\n      }, {\n        key: 'getMinCoords',\n        value: function getMinCoords() {\n          var ret = [];\n          for (var id in this.coords) {\n            var _range2$min;\n            var meta = this.coords[id];\n            var range2 = meta.range || meta.refRange;\n            ret.push((_range2$min = range2 === null || range2 === void 0 ? void 0 : range2.min) !== null && _range2$min !== void 0 ? _range2$min : 0);\n          }\n          return ret;\n        }\n      } ], [ {\n        key: 'all',\n        get: function get() {\n          return _toConsumableArray(new Set(Object.values(_ColorSpace2.registry)));\n        }\n      }, {\n        key: 'register',\n        value: function register(id, space) {\n          if (arguments.length === 1) {\n            space = arguments[0];\n            id = space.id;\n          }\n          space = this.get(space);\n          if (this.registry[id] && this.registry[id] !== space) {\n            throw new Error('Duplicate color space registration: \\''.concat(id, '\\''));\n          }\n          this.registry[id] = space;\n          if (arguments.length === 1 && space.aliases) {\n            var _iterator3 = _createForOfIteratorHelper(space.aliases), _step3;\n            try {\n              for (_iterator3.s(); !(_step3 = _iterator3.n()).done; ) {\n                var alias = _step3.value;\n                this.register(alias, space);\n              }\n            } catch (err) {\n              _iterator3.e(err);\n            } finally {\n              _iterator3.f();\n            }\n          }\n          return space;\n        }\n      }, {\n        key: 'get',\n        value: function get(space) {\n          if (!space || space instanceof _ColorSpace2) {\n            return space;\n          }\n          var argType = type(space);\n          if (argType === 'string') {\n            var ret = _ColorSpace2.registry[space.toLowerCase()];\n            if (!ret) {\n              throw new TypeError('No color space found with id = \"'.concat(space, '\"'));\n            }\n            return ret;\n          }\n          for (var _len = arguments.length, alternatives = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n            alternatives[_key - 1] = arguments[_key];\n          }\n          if (alternatives.length) {\n            return _ColorSpace2.get.apply(_ColorSpace2, alternatives);\n          }\n          throw new TypeError(''.concat(space, ' is not a valid color space'));\n        }\n      }, {\n        key: 'resolveCoord',\n        value: function resolveCoord(ref, workingSpace) {\n          var coordType = type(ref);\n          var space, coord;\n          if (coordType === 'string') {\n            if (ref.includes('.')) {\n              var _ref$split = ref.split('.');\n              var _ref$split2 = _slicedToArray(_ref$split, 2);\n              space = _ref$split2[0];\n              coord = _ref$split2[1];\n            } else {\n              space = void 0;\n              coord = ref;\n            }\n          } else if (Array.isArray(ref)) {\n            var _ref6 = _slicedToArray(ref, 2);\n            space = _ref6[0];\n            coord = _ref6[1];\n          } else {\n            space = ref.space;\n            coord = ref.coordId;\n          }\n          space = _ColorSpace2.get(space);\n          if (!space) {\n            space = workingSpace;\n          }\n          if (!space) {\n            throw new TypeError('Cannot resolve coordinate reference '.concat(ref, ': No color space specified and relative references are not allowed here'));\n          }\n          coordType = type(coord);\n          if (coordType === 'number' || coordType === 'string' && coord >= 0) {\n            var meta = Object.entries(space.coords)[coord];\n            if (meta) {\n              return _extends({\n                space: space,\n                id: meta[0],\n                index: coord\n              }, meta[1]);\n            }\n          }\n          space = _ColorSpace2.get(space);\n          var normalizedCoord = coord.toLowerCase();\n          var i = 0;\n          for (var id in space.coords) {\n            var _meta$name;\n            var _meta = space.coords[id];\n            if (id.toLowerCase() === normalizedCoord || ((_meta$name = _meta.name) === null || _meta$name === void 0 ? void 0 : _meta$name.toLowerCase()) === normalizedCoord) {\n              return _extends({\n                space: space,\n                id: id,\n                index: i\n              }, _meta);\n            }\n            i++;\n          }\n          throw new TypeError('No \"'.concat(coord, '\" coordinate found in ').concat(space.name, '. Its coordinates are: ').concat(Object.keys(space.coords).join(', ')));\n        }\n      } ]);\n    }());\n    function _processFormat(format) {\n      if (format.coords && !format.coordGrammar) {\n        format.type || (format.type = 'function');\n        format.name || (format.name = 'color');\n        format.coordGrammar = parseCoordGrammar(format.coords);\n        var coordFormats = Object.entries(this.coords).map(function(_ref149, i) {\n          var _ref150 = _slicedToArray(_ref149, 2), id = _ref150[0], coordMeta = _ref150[1];\n          var outputType = format.coordGrammar[i][0];\n          var fromRange = coordMeta.range || coordMeta.refRange;\n          var toRange = outputType.range, suffix = '';\n          if (outputType == '<percentage>') {\n            toRange = [ 0, 100 ];\n            suffix = '%';\n          } else if (outputType == '<angle>') {\n            suffix = 'deg';\n          }\n          return {\n            fromRange: fromRange,\n            toRange: toRange,\n            suffix: suffix\n          };\n        });\n        format.serializeCoords = function(coords, precision) {\n          return coords.map(function(c4, i) {\n            var _coordFormats$i = coordFormats[i], fromRange = _coordFormats$i.fromRange, toRange = _coordFormats$i.toRange, suffix = _coordFormats$i.suffix;\n            if (fromRange && toRange) {\n              c4 = mapRange(fromRange, toRange, c4);\n            }\n            c4 = toPrecision(c4, precision);\n            if (suffix) {\n              c4 += suffix;\n            }\n            return c4;\n          });\n        };\n      }\n      return format;\n    }\n    function _getPath() {\n      var ret = [ this ];\n      for (var _space2 = this; _space2 = _space2.base; ) {\n        ret.push(_space2);\n      }\n      return ret;\n    }\n    var ColorSpace = _ColorSpace2;\n    __publicField(ColorSpace, 'registry', {});\n    __publicField(ColorSpace, 'DEFAULT_FORMAT', {\n      type: 'functions',\n      name: 'color'\n    });\n    var XYZ_D65 = new ColorSpace({\n      id: 'xyz-d65',\n      name: 'XYZ D65',\n      coords: {\n        x: {\n          name: 'X'\n        },\n        y: {\n          name: 'Y'\n        },\n        z: {\n          name: 'Z'\n        }\n      },\n      white: 'D65',\n      formats: {\n        color: {\n          ids: [ 'xyz-d65', 'xyz' ]\n        }\n      },\n      aliases: [ 'xyz' ]\n    });\n    var RGBColorSpace = function(_ColorSpace3) {\n      function RGBColorSpace(options) {\n        var _options$referred;\n        var _this;\n        _classCallCheck(this, RGBColorSpace);\n        if (!options.coords) {\n          options.coords = {\n            r: {\n              range: [ 0, 1 ],\n              name: 'Red'\n            },\n            g: {\n              range: [ 0, 1 ],\n              name: 'Green'\n            },\n            b: {\n              range: [ 0, 1 ],\n              name: 'Blue'\n            }\n          };\n        }\n        if (!options.base) {\n          options.base = XYZ_D65;\n        }\n        if (options.toXYZ_M && options.fromXYZ_M) {\n          var _options$toBase, _options$fromBase;\n          (_options$toBase = options.toBase) !== null && _options$toBase !== void 0 ? _options$toBase : options.toBase = function(rgb) {\n            var xyz = multiplyMatrices(options.toXYZ_M, rgb);\n            if (_this.white !== _this.base.white) {\n              xyz = adapt$1(_this.white, _this.base.white, xyz);\n            }\n            return xyz;\n          };\n          (_options$fromBase = options.fromBase) !== null && _options$fromBase !== void 0 ? _options$fromBase : options.fromBase = function(xyz) {\n            xyz = adapt$1(_this.base.white, _this.white, xyz);\n            return multiplyMatrices(options.fromXYZ_M, xyz);\n          };\n        }\n        (_options$referred = options.referred) !== null && _options$referred !== void 0 ? _options$referred : options.referred = 'display';\n        return _this = _callSuper(this, RGBColorSpace, [ options ]);\n      }\n      _inherits(RGBColorSpace, _ColorSpace3);\n      return _createClass(RGBColorSpace);\n    }(ColorSpace);\n    function parse(str) {\n      var _String;\n      var env = {\n        str: (_String = String(str)) === null || _String === void 0 ? void 0 : _String.trim()\n      };\n      hooks.run('parse-start', env);\n      if (env.color) {\n        return env.color;\n      }\n      env.parsed = parseFunction(env.str);\n      if (env.parsed) {\n        var name = env.parsed.name;\n        if (name === 'color') {\n          var id = env.parsed.args.shift();\n          var alpha = env.parsed.rawArgs.indexOf('/') > 0 ? env.parsed.args.pop() : 1;\n          var _iterator4 = _createForOfIteratorHelper(ColorSpace.all), _step4;\n          try {\n            var _loop2 = function _loop2() {\n              var space = _step4.value;\n              var colorSpec = space.getFormat('color');\n              if (colorSpec) {\n                var _colorSpec$ids;\n                if (id === colorSpec.id || (_colorSpec$ids = colorSpec.ids) !== null && _colorSpec$ids !== void 0 && _colorSpec$ids.includes(id)) {\n                  var argCount = Object.keys(space.coords).length;\n                  var coords = Array(argCount).fill(0);\n                  coords.forEach(function(_, i) {\n                    return coords[i] = env.parsed.args[i] || 0;\n                  });\n                  return {\n                    v: {\n                      spaceId: space.id,\n                      coords: coords,\n                      alpha: alpha\n                    }\n                  };\n                }\n              }\n            }, _ret;\n            for (_iterator4.s(); !(_step4 = _iterator4.n()).done; ) {\n              _ret = _loop2();\n              if (_ret) {\n                return _ret.v;\n              }\n            }\n          } catch (err) {\n            _iterator4.e(err);\n          } finally {\n            _iterator4.f();\n          }\n          var didYouMean = '';\n          if (id in ColorSpace.registry) {\n            var _ColorSpace$registry$;\n            var cssId = (_ColorSpace$registry$ = ColorSpace.registry[id].formats) === null || _ColorSpace$registry$ === void 0 || (_ColorSpace$registry$ = _ColorSpace$registry$.functions) === null || _ColorSpace$registry$ === void 0 || (_ColorSpace$registry$ = _ColorSpace$registry$.color) === null || _ColorSpace$registry$ === void 0 ? void 0 : _ColorSpace$registry$.id;\n            if (cssId) {\n              didYouMean = 'Did you mean color('.concat(cssId, ')?');\n            }\n          }\n          throw new TypeError('Cannot parse color('.concat(id, '). ') + (didYouMean || 'Missing a plugin?'));\n        } else {\n          var _iterator5 = _createForOfIteratorHelper(ColorSpace.all), _step5;\n          try {\n            var _loop3 = function _loop3() {\n              var space = _step5.value;\n              var format = space.getFormat(name);\n              if (format && format.type === 'function') {\n                var _alpha = 1;\n                if (format.lastAlpha || last(env.parsed.args).alpha) {\n                  _alpha = env.parsed.args.pop();\n                }\n                var coords = env.parsed.args;\n                if (format.coordGrammar) {\n                  Object.entries(space.coords).forEach(function(_ref7, i) {\n                    var _coords$i;\n                    var _ref8 = _slicedToArray(_ref7, 2), id = _ref8[0], coordMeta = _ref8[1];\n                    var coordGrammar2 = format.coordGrammar[i];\n                    var providedType = (_coords$i = coords[i]) === null || _coords$i === void 0 ? void 0 : _coords$i.type;\n                    coordGrammar2 = coordGrammar2.find(function(c4) {\n                      return c4 == providedType;\n                    });\n                    if (!coordGrammar2) {\n                      var coordName = coordMeta.name || id;\n                      throw new TypeError(''.concat(providedType, ' not allowed for ').concat(coordName, ' in ').concat(name, '()'));\n                    }\n                    var fromRange = coordGrammar2.range;\n                    if (providedType === '<percentage>') {\n                      fromRange || (fromRange = [ 0, 1 ]);\n                    }\n                    var toRange = coordMeta.range || coordMeta.refRange;\n                    if (fromRange && toRange) {\n                      coords[i] = mapRange(fromRange, toRange, coords[i]);\n                    }\n                  });\n                }\n                return {\n                  v: {\n                    spaceId: space.id,\n                    coords: coords,\n                    alpha: _alpha\n                  }\n                };\n              }\n            }, _ret2;\n            for (_iterator5.s(); !(_step5 = _iterator5.n()).done; ) {\n              _ret2 = _loop3();\n              if (_ret2) {\n                return _ret2.v;\n              }\n            }\n          } catch (err) {\n            _iterator5.e(err);\n          } finally {\n            _iterator5.f();\n          }\n        }\n      } else {\n        var _iterator6 = _createForOfIteratorHelper(ColorSpace.all), _step6;\n        try {\n          for (_iterator6.s(); !(_step6 = _iterator6.n()).done; ) {\n            var space = _step6.value;\n            for (var formatId in space.formats) {\n              var format = space.formats[formatId];\n              if (format.type !== 'custom') {\n                continue;\n              }\n              if (format.test && !format.test(env.str)) {\n                continue;\n              }\n              var color = format.parse(env.str);\n              if (color) {\n                var _color$alpha;\n                (_color$alpha = color.alpha) !== null && _color$alpha !== void 0 ? _color$alpha : color.alpha = 1;\n                return color;\n              }\n            }\n          }\n        } catch (err) {\n          _iterator6.e(err);\n        } finally {\n          _iterator6.f();\n        }\n      }\n      throw new TypeError('Could not parse '.concat(str, ' as a color. Missing a plugin?'));\n    }\n    function getColor(color) {\n      if (!color) {\n        throw new TypeError('Empty color reference');\n      }\n      if (isString(color)) {\n        color = parse(color);\n      }\n      var space = color.space || color.spaceId;\n      if (!(space instanceof ColorSpace)) {\n        color.space = ColorSpace.get(space);\n      }\n      if (color.alpha === void 0) {\n        color.alpha = 1;\n      }\n      return color;\n    }\n    function getAll(color, space) {\n      space = ColorSpace.get(space);\n      return space.from(color);\n    }\n    function get(color, prop) {\n      var _ColorSpace$resolveCo = ColorSpace.resolveCoord(prop, color.space), space = _ColorSpace$resolveCo.space, index = _ColorSpace$resolveCo.index;\n      var coords = getAll(color, space);\n      return coords[index];\n    }\n    function setAll(color, space, coords) {\n      space = ColorSpace.get(space);\n      color.coords = space.to(color.space, coords);\n      return color;\n    }\n    function set(color, prop, value) {\n      color = getColor(color);\n      if (arguments.length === 2 && type(arguments[1]) === 'object') {\n        var object = arguments[1];\n        for (var p2 in object) {\n          set(color, p2, object[p2]);\n        }\n      } else {\n        if (typeof value === 'function') {\n          value = value(get(color, prop));\n        }\n        var _ColorSpace$resolveCo2 = ColorSpace.resolveCoord(prop, color.space), space = _ColorSpace$resolveCo2.space, index = _ColorSpace$resolveCo2.index;\n        var coords = getAll(color, space);\n        coords[index] = value;\n        setAll(color, space, coords);\n      }\n      return color;\n    }\n    var XYZ_D50 = new ColorSpace({\n      id: 'xyz-d50',\n      name: 'XYZ D50',\n      white: 'D50',\n      base: XYZ_D65,\n      fromBase: function fromBase(coords) {\n        return adapt$1(XYZ_D65.white, 'D50', coords);\n      },\n      toBase: function toBase(coords) {\n        return adapt$1('D50', XYZ_D65.white, coords);\n      },\n      formats: {\n        color: {}\n      }\n    });\n    var \\u03b5$3 = 216 / 24389;\n    var \\u03b53$1 = 24 / 116;\n    var \\u03ba$1 = 24389 / 27;\n    var white$1 = WHITES.D50;\n    var lab = new ColorSpace({\n      id: 'lab',\n      name: 'Lab',\n      coords: {\n        l: {\n          refRange: [ 0, 100 ],\n          name: 'L'\n        },\n        a: {\n          refRange: [ -125, 125 ]\n        },\n        b: {\n          refRange: [ -125, 125 ]\n        }\n      },\n      white: white$1,\n      base: XYZ_D50,\n      fromBase: function fromBase(XYZ) {\n        var xyz = XYZ.map(function(value, i) {\n          return value / white$1[i];\n        });\n        var f = xyz.map(function(value) {\n          return value > \\u03b5$3 ? Math.cbrt(value) : (\\u03ba$1 * value + 16) / 116;\n        });\n        return [ 116 * f[1] - 16, 500 * (f[0] - f[1]), 200 * (f[1] - f[2]) ];\n      },\n      toBase: function toBase(Lab) {\n        var f = [];\n        f[1] = (Lab[0] + 16) / 116;\n        f[0] = Lab[1] / 500 + f[1];\n        f[2] = f[1] - Lab[2] / 200;\n        var xyz = [ f[0] > \\u03b53$1 ? Math.pow(f[0], 3) : (116 * f[0] - 16) / \\u03ba$1, Lab[0] > 8 ? Math.pow((Lab[0] + 16) / 116, 3) : Lab[0] / \\u03ba$1, f[2] > \\u03b53$1 ? Math.pow(f[2], 3) : (116 * f[2] - 16) / \\u03ba$1 ];\n        return xyz.map(function(value, i) {\n          return value * white$1[i];\n        });\n      },\n      formats: {\n        lab: {\n          coords: [ '<number> | <percentage>', '<number>', '<number>' ]\n        }\n      }\n    });\n    function constrain(angle) {\n      return (angle % 360 + 360) % 360;\n    }\n    function adjust(arc, angles) {\n      if (arc === 'raw') {\n        return angles;\n      }\n      var _angles$map = angles.map(constrain), _angles$map2 = _slicedToArray(_angles$map, 2), a1 = _angles$map2[0], a2 = _angles$map2[1];\n      var angleDiff = a2 - a1;\n      if (arc === 'increasing') {\n        if (angleDiff < 0) {\n          a2 += 360;\n        }\n      } else if (arc === 'decreasing') {\n        if (angleDiff > 0) {\n          a1 += 360;\n        }\n      } else if (arc === 'longer') {\n        if (-180 < angleDiff && angleDiff < 180) {\n          if (angleDiff > 0) {\n            a2 += 360;\n          } else {\n            a1 += 360;\n          }\n        }\n      } else if (arc === 'shorter') {\n        if (angleDiff > 180) {\n          a1 += 360;\n        } else if (angleDiff < -180) {\n          a2 += 360;\n        }\n      }\n      return [ a1, a2 ];\n    }\n    var lch = new ColorSpace({\n      id: 'lch',\n      name: 'LCH',\n      coords: {\n        l: {\n          refRange: [ 0, 100 ],\n          name: 'Lightness'\n        },\n        c: {\n          refRange: [ 0, 150 ],\n          name: 'Chroma'\n        },\n        h: {\n          refRange: [ 0, 360 ],\n          type: 'angle',\n          name: 'Hue'\n        }\n      },\n      base: lab,\n      fromBase: function fromBase(Lab) {\n        var _Lab = _slicedToArray(Lab, 3), L = _Lab[0], a2 = _Lab[1], b2 = _Lab[2];\n        var hue;\n        var \\u03b52 = .02;\n        if (Math.abs(a2) < \\u03b52 && Math.abs(b2) < \\u03b52) {\n          hue = NaN;\n        } else {\n          hue = Math.atan2(b2, a2) * 180 / Math.PI;\n        }\n        return [ L, Math.sqrt(Math.pow(a2, 2) + Math.pow(b2, 2)), constrain(hue) ];\n      },\n      toBase: function toBase(LCH) {\n        var _LCH = _slicedToArray(LCH, 3), Lightness = _LCH[0], Chroma = _LCH[1], Hue = _LCH[2];\n        if (Chroma < 0) {\n          Chroma = 0;\n        }\n        if (isNaN(Hue)) {\n          Hue = 0;\n        }\n        return [ Lightness, Chroma * Math.cos(Hue * Math.PI / 180), Chroma * Math.sin(Hue * Math.PI / 180) ];\n      },\n      formats: {\n        lch: {\n          coords: [ '<number> | <percentage>', '<number>', '<number> | <angle>' ]\n        }\n      }\n    });\n    var Gfactor = Math.pow(25, 7);\n    var \\u03c0$1 = Math.PI;\n    var r2d = 180 / \\u03c0$1;\n    var d2r$1 = \\u03c0$1 / 180;\n    function deltaE2000(color, sample) {\n      var _ref9 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, _ref9$kL = _ref9.kL, kL = _ref9$kL === void 0 ? 1 : _ref9$kL, _ref9$kC = _ref9.kC, kC = _ref9$kC === void 0 ? 1 : _ref9$kC, _ref9$kH = _ref9.kH, kH = _ref9$kH === void 0 ? 1 : _ref9$kH;\n      var _lab$from = lab.from(color), _lab$from2 = _slicedToArray(_lab$from, 3), L1 = _lab$from2[0], a1 = _lab$from2[1], b1 = _lab$from2[2];\n      var C1 = lch.from(lab, [ L1, a1, b1 ])[1];\n      var _lab$from3 = lab.from(sample), _lab$from4 = _slicedToArray(_lab$from3, 3), L2 = _lab$from4[0], a2 = _lab$from4[1], b2 = _lab$from4[2];\n      var C2 = lch.from(lab, [ L2, a2, b2 ])[1];\n      if (C1 < 0) {\n        C1 = 0;\n      }\n      if (C2 < 0) {\n        C2 = 0;\n      }\n      var Cbar = (C1 + C2) / 2;\n      var C7 = Math.pow(Cbar, 7);\n      var G = .5 * (1 - Math.sqrt(C7 / (C7 + Gfactor)));\n      var adash1 = (1 + G) * a1;\n      var adash2 = (1 + G) * a2;\n      var Cdash1 = Math.sqrt(Math.pow(adash1, 2) + Math.pow(b1, 2));\n      var Cdash2 = Math.sqrt(Math.pow(adash2, 2) + Math.pow(b2, 2));\n      var h1 = adash1 === 0 && b1 === 0 ? 0 : Math.atan2(b1, adash1);\n      var h2 = adash2 === 0 && b2 === 0 ? 0 : Math.atan2(b2, adash2);\n      if (h1 < 0) {\n        h1 += 2 * \\u03c0$1;\n      }\n      if (h2 < 0) {\n        h2 += 2 * \\u03c0$1;\n      }\n      h1 *= r2d;\n      h2 *= r2d;\n      var \\u0394L = L2 - L1;\n      var \\u0394C = Cdash2 - Cdash1;\n      var hdiff = h2 - h1;\n      var hsum = h1 + h2;\n      var habs = Math.abs(hdiff);\n      var \\u0394h;\n      if (Cdash1 * Cdash2 === 0) {\n        \\u0394h = 0;\n      } else if (habs <= 180) {\n        \\u0394h = hdiff;\n      } else if (hdiff > 180) {\n        \\u0394h = hdiff - 360;\n      } else if (hdiff < -180) {\n        \\u0394h = hdiff + 360;\n      } else {\n        console.log('the unthinkable has happened');\n      }\n      var \\u0394H = 2 * Math.sqrt(Cdash2 * Cdash1) * Math.sin(\\u0394h * d2r$1 / 2);\n      var Ldash = (L1 + L2) / 2;\n      var Cdash = (Cdash1 + Cdash2) / 2;\n      var Cdash7 = Math.pow(Cdash, 7);\n      var hdash;\n      if (Cdash1 * Cdash2 === 0) {\n        hdash = hsum;\n      } else if (habs <= 180) {\n        hdash = hsum / 2;\n      } else if (hsum < 360) {\n        hdash = (hsum + 360) / 2;\n      } else {\n        hdash = (hsum - 360) / 2;\n      }\n      var lsq = Math.pow(Ldash - 50, 2);\n      var SL = 1 + .015 * lsq / Math.sqrt(20 + lsq);\n      var SC = 1 + .045 * Cdash;\n      var T = 1;\n      T -= .17 * Math.cos((hdash - 30) * d2r$1);\n      T += .24 * Math.cos(2 * hdash * d2r$1);\n      T += .32 * Math.cos((3 * hdash + 6) * d2r$1);\n      T -= .2 * Math.cos((4 * hdash - 63) * d2r$1);\n      var SH = 1 + .015 * Cdash * T;\n      var \\u0394\\u03b8 = 30 * Math.exp(-1 * Math.pow((hdash - 275) / 25, 2));\n      var RC = 2 * Math.sqrt(Cdash7 / (Cdash7 + Gfactor));\n      var RT = -1 * Math.sin(2 * \\u0394\\u03b8 * d2r$1) * RC;\n      var dE = Math.pow(\\u0394L / (kL * SL), 2);\n      dE += Math.pow(\\u0394C / (kC * SC), 2);\n      dE += Math.pow(\\u0394H / (kH * SH), 2);\n      dE += RT * (\\u0394C / (kC * SC)) * (\\u0394H / (kH * SH));\n      return Math.sqrt(dE);\n    }\n    var \\u03b5$2 = 75e-6;\n    function inGamut(color) {\n      var space = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : color.space;\n      var _ref0 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, _ref0$epsilon = _ref0.epsilon, epsilon = _ref0$epsilon === void 0 ? \\u03b5$2 : _ref0$epsilon;\n      color = getColor(color);\n      space = ColorSpace.get(space);\n      var coords = color.coords;\n      if (space !== color.space) {\n        coords = space.from(color);\n      }\n      return space.inGamut(coords, {\n        epsilon: epsilon\n      });\n    }\n    function clone(color) {\n      return {\n        space: color.space,\n        coords: color.coords.slice(),\n        alpha: color.alpha\n      };\n    }\n    function toGamut(color) {\n      var _ref1 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref1$method = _ref1.method, method = _ref1$method === void 0 ? defaults.gamut_mapping : _ref1$method, _ref1$space = _ref1.space, space = _ref1$space === void 0 ? color.space : _ref1$space;\n      if (isString(arguments[1])) {\n        space = arguments[1];\n      }\n      space = ColorSpace.get(space);\n      if (inGamut(color, space, {\n        epsilon: 0\n      })) {\n        return color;\n      }\n      var spaceColor = to(color, space);\n      if (method !== 'clip' && !inGamut(color, space)) {\n        var clipped = toGamut(clone(spaceColor), {\n          method: 'clip',\n          space: space\n        });\n        if (deltaE2000(color, clipped) > 2) {\n          var coordMeta = ColorSpace.resolveCoord(method);\n          var mapSpace = coordMeta.space;\n          var coordId = coordMeta.id;\n          var mappedColor = to(spaceColor, mapSpace);\n          var bounds = coordMeta.range || coordMeta.refRange;\n          var min = bounds[0];\n          var \\u03b52 = .01;\n          var low = min;\n          var high = get(mappedColor, coordId);\n          while (high - low > \\u03b52) {\n            var clipped2 = clone(mappedColor);\n            clipped2 = toGamut(clipped2, {\n              space: space,\n              method: 'clip'\n            });\n            var deltaE2 = deltaE2000(mappedColor, clipped2);\n            if (deltaE2 - 2 < \\u03b52) {\n              low = get(mappedColor, coordId);\n            } else {\n              high = get(mappedColor, coordId);\n            }\n            set(mappedColor, coordId, (low + high) / 2);\n          }\n          spaceColor = to(mappedColor, space);\n        } else {\n          spaceColor = clipped;\n        }\n      }\n      if (method === 'clip' || !inGamut(spaceColor, space, {\n        epsilon: 0\n      })) {\n        var _bounds = Object.values(space.coords).map(function(c4) {\n          return c4.range || [];\n        });\n        spaceColor.coords = spaceColor.coords.map(function(c4, i) {\n          var _bounds$i = _slicedToArray(_bounds[i], 2), min = _bounds$i[0], max2 = _bounds$i[1];\n          if (min !== void 0) {\n            c4 = Math.max(min, c4);\n          }\n          if (max2 !== void 0) {\n            c4 = Math.min(c4, max2);\n          }\n          return c4;\n        });\n      }\n      if (space !== color.space) {\n        spaceColor = to(spaceColor, color.space);\n      }\n      color.coords = spaceColor.coords;\n      return color;\n    }\n    toGamut.returns = 'color';\n    function to(color, space) {\n      var _ref10 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, inGamut2 = _ref10.inGamut;\n      color = getColor(color);\n      space = ColorSpace.get(space);\n      var coords = space.from(color);\n      var ret = {\n        space: space,\n        coords: coords,\n        alpha: color.alpha\n      };\n      if (inGamut2) {\n        ret = toGamut(ret);\n      }\n      return ret;\n    }\n    to.returns = 'color';\n    function serialize(color) {\n      var _ref12, _color$space$getForma;\n      var _ref11 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      var _ref11$precision = _ref11.precision, precision = _ref11$precision === void 0 ? defaults.precision : _ref11$precision, _ref11$format = _ref11.format, format = _ref11$format === void 0 ? 'default' : _ref11$format, _ref11$inGamut = _ref11.inGamut, inGamut$1 = _ref11$inGamut === void 0 ? true : _ref11$inGamut, customOptions = _objectWithoutProperties(_ref11, _excluded);\n      var ret;\n      color = getColor(color);\n      var formatId = format;\n      format = (_ref12 = (_color$space$getForma = color.space.getFormat(format)) !== null && _color$space$getForma !== void 0 ? _color$space$getForma : color.space.getFormat('default')) !== null && _ref12 !== void 0 ? _ref12 : ColorSpace.DEFAULT_FORMAT;\n      inGamut$1 || (inGamut$1 = format.toGamut);\n      var coords = color.coords;\n      coords = coords.map(function(c4) {\n        return c4 ? c4 : 0;\n      });\n      if (inGamut$1 && !inGamut(color)) {\n        coords = toGamut(clone(color), inGamut$1 === true ? void 0 : inGamut$1).coords;\n      }\n      if (format.type === 'custom') {\n        customOptions.precision = precision;\n        if (format.serialize) {\n          ret = format.serialize(coords, color.alpha, customOptions);\n        } else {\n          throw new TypeError('format '.concat(formatId, ' can only be used to parse colors, not for serialization'));\n        }\n      } else {\n        var name = format.name || 'color';\n        if (format.serializeCoords) {\n          coords = format.serializeCoords(coords, precision);\n        } else {\n          if (precision !== null) {\n            coords = coords.map(function(c4) {\n              return toPrecision(c4, precision);\n            });\n          }\n        }\n        var args = _toConsumableArray(coords);\n        if (name === 'color') {\n          var _format$ids;\n          var cssId = format.id || ((_format$ids = format.ids) === null || _format$ids === void 0 ? void 0 : _format$ids[0]) || color.space.id;\n          args.unshift(cssId);\n        }\n        var alpha = color.alpha;\n        if (precision !== null) {\n          alpha = toPrecision(alpha, precision);\n        }\n        var strAlpha = color.alpha < 1 && !format.noAlpha ? ''.concat(format.commas ? ',' : ' /', ' ').concat(alpha) : '';\n        ret = ''.concat(name, '(').concat(args.join(format.commas ? ', ' : ' ')).concat(strAlpha, ')');\n      }\n      return ret;\n    }\n    var toXYZ_M$5 = [ [ .6369580483012914, .14461690358620832, .1688809751641721 ], [ .2627002120112671, .6779980715188708, .05930171646986196 ], [ 0, .028072693049087428, 1.060985057710791 ] ];\n    var fromXYZ_M$5 = [ [ 1.716651187971268, -.355670783776392, -.25336628137366 ], [ -.666684351832489, 1.616481236634939, .0157685458139111 ], [ .017639857445311, -.042770613257809, .942103121235474 ] ];\n    var REC2020Linear = new RGBColorSpace({\n      id: 'rec2020-linear',\n      name: 'Linear REC.2020',\n      white: 'D65',\n      toXYZ_M: toXYZ_M$5,\n      fromXYZ_M: fromXYZ_M$5,\n      formats: {\n        color: {}\n      }\n    });\n    var \\u03b1 = 1.09929682680944;\n    var \\u03b2 = .018053968510807;\n    var REC2020 = new RGBColorSpace({\n      id: 'rec2020',\n      name: 'REC.2020',\n      base: REC2020Linear,\n      toBase: function toBase(RGB) {\n        return RGB.map(function(val) {\n          if (val < \\u03b2 * 4.5) {\n            return val / 4.5;\n          }\n          return Math.pow((val + \\u03b1 - 1) / \\u03b1, 1 / .45);\n        });\n      },\n      fromBase: function fromBase(RGB) {\n        return RGB.map(function(val) {\n          if (val >= \\u03b2) {\n            return \\u03b1 * Math.pow(val, .45) - (\\u03b1 - 1);\n          }\n          return 4.5 * val;\n        });\n      },\n      formats: {\n        color: {}\n      }\n    });\n    var toXYZ_M$4 = [ [ .4865709486482162, .26566769316909306, .1982172852343625 ], [ .2289745640697488, .6917385218365064, .079286914093745 ], [ 0, .04511338185890264, 1.043944368900976 ] ];\n    var fromXYZ_M$4 = [ [ 2.493496911941425, -.9313836179191239, -.40271078445071684 ], [ -.8294889695615747, 1.7626640603183463, .023624685841943577 ], [ .03584583024378447, -.07617238926804182, .9568845240076872 ] ];\n    var P3Linear = new RGBColorSpace({\n      id: 'p3-linear',\n      name: 'Linear P3',\n      white: 'D65',\n      toXYZ_M: toXYZ_M$4,\n      fromXYZ_M: fromXYZ_M$4\n    });\n    var toXYZ_M$3 = [ [ .41239079926595934, .357584339383878, .1804807884018343 ], [ .21263900587151027, .715168678767756, .07219231536073371 ], [ .01933081871559182, .11919477979462598, .9505321522496607 ] ];\n    var fromXYZ_M$3 = [ [ 3.2409699419045226, -1.537383177570094, -.4986107602930034 ], [ -.9692436362808796, 1.8759675015077202, .04155505740717559 ], [ .05563007969699366, -.20397695888897652, 1.0569715142428786 ] ];\n    var sRGBLinear = new RGBColorSpace({\n      id: 'srgb-linear',\n      name: 'Linear sRGB',\n      white: 'D65',\n      toXYZ_M: toXYZ_M$3,\n      fromXYZ_M: fromXYZ_M$3,\n      formats: {\n        color: {}\n      }\n    });\n    var KEYWORDS = {\n      aliceblue: [ 240 / 255, 248 / 255, 1 ],\n      antiquewhite: [ 250 / 255, 235 / 255, 215 / 255 ],\n      aqua: [ 0, 1, 1 ],\n      aquamarine: [ 127 / 255, 1, 212 / 255 ],\n      azure: [ 240 / 255, 1, 1 ],\n      beige: [ 245 / 255, 245 / 255, 220 / 255 ],\n      bisque: [ 1, 228 / 255, 196 / 255 ],\n      black: [ 0, 0, 0 ],\n      blanchedalmond: [ 1, 235 / 255, 205 / 255 ],\n      blue: [ 0, 0, 1 ],\n      blueviolet: [ 138 / 255, 43 / 255, 226 / 255 ],\n      brown: [ 165 / 255, 42 / 255, 42 / 255 ],\n      burlywood: [ 222 / 255, 184 / 255, 135 / 255 ],\n      cadetblue: [ 95 / 255, 158 / 255, 160 / 255 ],\n      chartreuse: [ 127 / 255, 1, 0 ],\n      chocolate: [ 210 / 255, 105 / 255, 30 / 255 ],\n      coral: [ 1, 127 / 255, 80 / 255 ],\n      cornflowerblue: [ 100 / 255, 149 / 255, 237 / 255 ],\n      cornsilk: [ 1, 248 / 255, 220 / 255 ],\n      crimson: [ 220 / 255, 20 / 255, 60 / 255 ],\n      cyan: [ 0, 1, 1 ],\n      darkblue: [ 0, 0, 139 / 255 ],\n      darkcyan: [ 0, 139 / 255, 139 / 255 ],\n      darkgoldenrod: [ 184 / 255, 134 / 255, 11 / 255 ],\n      darkgray: [ 169 / 255, 169 / 255, 169 / 255 ],\n      darkgreen: [ 0, 100 / 255, 0 ],\n      darkgrey: [ 169 / 255, 169 / 255, 169 / 255 ],\n      darkkhaki: [ 189 / 255, 183 / 255, 107 / 255 ],\n      darkmagenta: [ 139 / 255, 0, 139 / 255 ],\n      darkolivegreen: [ 85 / 255, 107 / 255, 47 / 255 ],\n      darkorange: [ 1, 140 / 255, 0 ],\n      darkorchid: [ 153 / 255, 50 / 255, 204 / 255 ],\n      darkred: [ 139 / 255, 0, 0 ],\n      darksalmon: [ 233 / 255, 150 / 255, 122 / 255 ],\n      darkseagreen: [ 143 / 255, 188 / 255, 143 / 255 ],\n      darkslateblue: [ 72 / 255, 61 / 255, 139 / 255 ],\n      darkslategray: [ 47 / 255, 79 / 255, 79 / 255 ],\n      darkslategrey: [ 47 / 255, 79 / 255, 79 / 255 ],\n      darkturquoise: [ 0, 206 / 255, 209 / 255 ],\n      darkviolet: [ 148 / 255, 0, 211 / 255 ],\n      deeppink: [ 1, 20 / 255, 147 / 255 ],\n      deepskyblue: [ 0, 191 / 255, 1 ],\n      dimgray: [ 105 / 255, 105 / 255, 105 / 255 ],\n      dimgrey: [ 105 / 255, 105 / 255, 105 / 255 ],\n      dodgerblue: [ 30 / 255, 144 / 255, 1 ],\n      firebrick: [ 178 / 255, 34 / 255, 34 / 255 ],\n      floralwhite: [ 1, 250 / 255, 240 / 255 ],\n      forestgreen: [ 34 / 255, 139 / 255, 34 / 255 ],\n      fuchsia: [ 1, 0, 1 ],\n      gainsboro: [ 220 / 255, 220 / 255, 220 / 255 ],\n      ghostwhite: [ 248 / 255, 248 / 255, 1 ],\n      gold: [ 1, 215 / 255, 0 ],\n      goldenrod: [ 218 / 255, 165 / 255, 32 / 255 ],\n      gray: [ 128 / 255, 128 / 255, 128 / 255 ],\n      green: [ 0, 128 / 255, 0 ],\n      greenyellow: [ 173 / 255, 1, 47 / 255 ],\n      grey: [ 128 / 255, 128 / 255, 128 / 255 ],\n      honeydew: [ 240 / 255, 1, 240 / 255 ],\n      hotpink: [ 1, 105 / 255, 180 / 255 ],\n      indianred: [ 205 / 255, 92 / 255, 92 / 255 ],\n      indigo: [ 75 / 255, 0, 130 / 255 ],\n      ivory: [ 1, 1, 240 / 255 ],\n      khaki: [ 240 / 255, 230 / 255, 140 / 255 ],\n      lavender: [ 230 / 255, 230 / 255, 250 / 255 ],\n      lavenderblush: [ 1, 240 / 255, 245 / 255 ],\n      lawngreen: [ 124 / 255, 252 / 255, 0 ],\n      lemonchiffon: [ 1, 250 / 255, 205 / 255 ],\n      lightblue: [ 173 / 255, 216 / 255, 230 / 255 ],\n      lightcoral: [ 240 / 255, 128 / 255, 128 / 255 ],\n      lightcyan: [ 224 / 255, 1, 1 ],\n      lightgoldenrodyellow: [ 250 / 255, 250 / 255, 210 / 255 ],\n      lightgray: [ 211 / 255, 211 / 255, 211 / 255 ],\n      lightgreen: [ 144 / 255, 238 / 255, 144 / 255 ],\n      lightgrey: [ 211 / 255, 211 / 255, 211 / 255 ],\n      lightpink: [ 1, 182 / 255, 193 / 255 ],\n      lightsalmon: [ 1, 160 / 255, 122 / 255 ],\n      lightseagreen: [ 32 / 255, 178 / 255, 170 / 255 ],\n      lightskyblue: [ 135 / 255, 206 / 255, 250 / 255 ],\n      lightslategray: [ 119 / 255, 136 / 255, 153 / 255 ],\n      lightslategrey: [ 119 / 255, 136 / 255, 153 / 255 ],\n      lightsteelblue: [ 176 / 255, 196 / 255, 222 / 255 ],\n      lightyellow: [ 1, 1, 224 / 255 ],\n      lime: [ 0, 1, 0 ],\n      limegreen: [ 50 / 255, 205 / 255, 50 / 255 ],\n      linen: [ 250 / 255, 240 / 255, 230 / 255 ],\n      magenta: [ 1, 0, 1 ],\n      maroon: [ 128 / 255, 0, 0 ],\n      mediumaquamarine: [ 102 / 255, 205 / 255, 170 / 255 ],\n      mediumblue: [ 0, 0, 205 / 255 ],\n      mediumorchid: [ 186 / 255, 85 / 255, 211 / 255 ],\n      mediumpurple: [ 147 / 255, 112 / 255, 219 / 255 ],\n      mediumseagreen: [ 60 / 255, 179 / 255, 113 / 255 ],\n      mediumslateblue: [ 123 / 255, 104 / 255, 238 / 255 ],\n      mediumspringgreen: [ 0, 250 / 255, 154 / 255 ],\n      mediumturquoise: [ 72 / 255, 209 / 255, 204 / 255 ],\n      mediumvioletred: [ 199 / 255, 21 / 255, 133 / 255 ],\n      midnightblue: [ 25 / 255, 25 / 255, 112 / 255 ],\n      mintcream: [ 245 / 255, 1, 250 / 255 ],\n      mistyrose: [ 1, 228 / 255, 225 / 255 ],\n      moccasin: [ 1, 228 / 255, 181 / 255 ],\n      navajowhite: [ 1, 222 / 255, 173 / 255 ],\n      navy: [ 0, 0, 128 / 255 ],\n      oldlace: [ 253 / 255, 245 / 255, 230 / 255 ],\n      olive: [ 128 / 255, 128 / 255, 0 ],\n      olivedrab: [ 107 / 255, 142 / 255, 35 / 255 ],\n      orange: [ 1, 165 / 255, 0 ],\n      orangered: [ 1, 69 / 255, 0 ],\n      orchid: [ 218 / 255, 112 / 255, 214 / 255 ],\n      palegoldenrod: [ 238 / 255, 232 / 255, 170 / 255 ],\n      palegreen: [ 152 / 255, 251 / 255, 152 / 255 ],\n      paleturquoise: [ 175 / 255, 238 / 255, 238 / 255 ],\n      palevioletred: [ 219 / 255, 112 / 255, 147 / 255 ],\n      papayawhip: [ 1, 239 / 255, 213 / 255 ],\n      peachpuff: [ 1, 218 / 255, 185 / 255 ],\n      peru: [ 205 / 255, 133 / 255, 63 / 255 ],\n      pink: [ 1, 192 / 255, 203 / 255 ],\n      plum: [ 221 / 255, 160 / 255, 221 / 255 ],\n      powderblue: [ 176 / 255, 224 / 255, 230 / 255 ],\n      purple: [ 128 / 255, 0, 128 / 255 ],\n      rebeccapurple: [ 102 / 255, 51 / 255, 153 / 255 ],\n      red: [ 1, 0, 0 ],\n      rosybrown: [ 188 / 255, 143 / 255, 143 / 255 ],\n      royalblue: [ 65 / 255, 105 / 255, 225 / 255 ],\n      saddlebrown: [ 139 / 255, 69 / 255, 19 / 255 ],\n      salmon: [ 250 / 255, 128 / 255, 114 / 255 ],\n      sandybrown: [ 244 / 255, 164 / 255, 96 / 255 ],\n      seagreen: [ 46 / 255, 139 / 255, 87 / 255 ],\n      seashell: [ 1, 245 / 255, 238 / 255 ],\n      sienna: [ 160 / 255, 82 / 255, 45 / 255 ],\n      silver: [ 192 / 255, 192 / 255, 192 / 255 ],\n      skyblue: [ 135 / 255, 206 / 255, 235 / 255 ],\n      slateblue: [ 106 / 255, 90 / 255, 205 / 255 ],\n      slategray: [ 112 / 255, 128 / 255, 144 / 255 ],\n      slategrey: [ 112 / 255, 128 / 255, 144 / 255 ],\n      snow: [ 1, 250 / 255, 250 / 255 ],\n      springgreen: [ 0, 1, 127 / 255 ],\n      steelblue: [ 70 / 255, 130 / 255, 180 / 255 ],\n      tan: [ 210 / 255, 180 / 255, 140 / 255 ],\n      teal: [ 0, 128 / 255, 128 / 255 ],\n      thistle: [ 216 / 255, 191 / 255, 216 / 255 ],\n      tomato: [ 1, 99 / 255, 71 / 255 ],\n      turquoise: [ 64 / 255, 224 / 255, 208 / 255 ],\n      violet: [ 238 / 255, 130 / 255, 238 / 255 ],\n      wheat: [ 245 / 255, 222 / 255, 179 / 255 ],\n      white: [ 1, 1, 1 ],\n      whitesmoke: [ 245 / 255, 245 / 255, 245 / 255 ],\n      yellow: [ 1, 1, 0 ],\n      yellowgreen: [ 154 / 255, 205 / 255, 50 / 255 ]\n    };\n    var coordGrammar = Array(3).fill('<percentage> | <number>[0, 255]');\n    var coordGrammarNumber = Array(3).fill('<number>[0, 255]');\n    var sRGB = new RGBColorSpace({\n      id: 'srgb',\n      name: 'sRGB',\n      base: sRGBLinear,\n      fromBase: function fromBase(rgb) {\n        return rgb.map(function(val) {\n          var sign = val < 0 ? -1 : 1;\n          var abs = val * sign;\n          if (abs > .0031308) {\n            return sign * (1.055 * Math.pow(abs, 1 / 2.4) - .055);\n          }\n          return 12.92 * val;\n        });\n      },\n      toBase: function toBase(rgb) {\n        return rgb.map(function(val) {\n          var sign = val < 0 ? -1 : 1;\n          var abs = val * sign;\n          if (abs < .04045) {\n            return val / 12.92;\n          }\n          return sign * Math.pow((abs + .055) / 1.055, 2.4);\n        });\n      },\n      formats: {\n        rgb: {\n          coords: coordGrammar\n        },\n        rgb_number: {\n          name: 'rgb',\n          commas: true,\n          coords: coordGrammarNumber,\n          noAlpha: true\n        },\n        color: {},\n        rgba: {\n          coords: coordGrammar,\n          commas: true,\n          lastAlpha: true\n        },\n        rgba_number: {\n          name: 'rgba',\n          commas: true,\n          coords: coordGrammarNumber\n        },\n        hex: {\n          type: 'custom',\n          toGamut: true,\n          test: function test(str) {\n            return /^#([a-f0-9]{3,4}){1,2}$/i.test(str);\n          },\n          parse: function parse(str) {\n            if (str.length <= 5) {\n              str = str.replace(/[a-f0-9]/gi, '$&$&');\n            }\n            var rgba = [];\n            str.replace(/[a-f0-9]{2}/gi, function(component) {\n              rgba.push(parseInt(component, 16) / 255);\n            });\n            return {\n              spaceId: 'srgb',\n              coords: rgba.slice(0, 3),\n              alpha: rgba.slice(3)[0]\n            };\n          },\n          serialize: function serialize(coords, alpha) {\n            var _ref13 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, _ref13$collapse = _ref13.collapse, collapse = _ref13$collapse === void 0 ? true : _ref13$collapse;\n            if (alpha < 1) {\n              coords.push(alpha);\n            }\n            coords = coords.map(function(c4) {\n              return Math.round(c4 * 255);\n            });\n            var collapsible = collapse && coords.every(function(c4) {\n              return c4 % 17 === 0;\n            });\n            var hex = coords.map(function(c4) {\n              if (collapsible) {\n                return (c4 / 17).toString(16);\n              }\n              return c4.toString(16).padStart(2, '0');\n            }).join('');\n            return '#' + hex;\n          }\n        },\n        keyword: {\n          type: 'custom',\n          test: function test(str) {\n            return /^[a-z]+$/i.test(str);\n          },\n          parse: function parse(str) {\n            str = str.toLowerCase();\n            var ret = {\n              spaceId: 'srgb',\n              coords: null,\n              alpha: 1\n            };\n            if (str === 'transparent') {\n              ret.coords = KEYWORDS.black;\n              ret.alpha = 0;\n            } else {\n              ret.coords = KEYWORDS[str];\n            }\n            if (ret.coords) {\n              return ret;\n            }\n          }\n        }\n      }\n    });\n    var P3 = new RGBColorSpace({\n      id: 'p3',\n      name: 'P3',\n      base: P3Linear,\n      fromBase: sRGB.fromBase,\n      toBase: sRGB.toBase,\n      formats: {\n        color: {\n          id: 'display-p3'\n        }\n      }\n    });\n    defaults.display_space = sRGB;\n    if (typeof CSS !== 'undefined' && (_CSS = CSS) !== null && _CSS !== void 0 && _CSS.supports) {\n      for (var _i4 = 0, _arr = [ lab, REC2020, P3 ]; _i4 < _arr.length; _i4++) {\n        var space = _arr[_i4];\n        var coords = space.getMinCoords();\n        var color = {\n          space: space,\n          coords: coords,\n          alpha: 1\n        };\n        var str = serialize(color);\n        if (CSS.supports('color', str)) {\n          defaults.display_space = space;\n          break;\n        }\n      }\n    }\n    function _display(color) {\n      var _CSS2;\n      var _ref14 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      var _ref14$space = _ref14.space, space = _ref14$space === void 0 ? defaults.display_space : _ref14$space, options = _objectWithoutProperties(_ref14, _excluded2);\n      var ret = serialize(color, options);\n      if (typeof CSS === 'undefined' || (_CSS2 = CSS) !== null && _CSS2 !== void 0 && _CSS2.supports('color', ret) || !defaults.display_space) {\n        ret = new String(ret);\n        ret.color = color;\n      } else {\n        var fallbackColor = to(color, space);\n        ret = new String(serialize(fallbackColor, options));\n        ret.color = fallbackColor;\n      }\n      return ret;\n    }\n    function distance(color1, color2) {\n      var space = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'lab';\n      space = ColorSpace.get(space);\n      var coords1 = space.from(color1);\n      var coords2 = space.from(color2);\n      return Math.sqrt(coords1.reduce(function(acc, c12, i) {\n        var c22 = coords2[i];\n        if (isNaN(c12) || isNaN(c22)) {\n          return acc;\n        }\n        return acc + Math.pow(c22 - c12, 2);\n      }, 0));\n    }\n    function equals(color1, color2) {\n      color1 = getColor(color1);\n      color2 = getColor(color2);\n      return color1.space === color2.space && color1.alpha === color2.alpha && color1.coords.every(function(c4, i) {\n        return c4 === color2.coords[i];\n      });\n    }\n    function getLuminance(color) {\n      return get(color, [ XYZ_D65, 'y' ]);\n    }\n    function setLuminance(color, value) {\n      set(color, [ XYZ_D65, 'y' ], value);\n    }\n    function register$2(Color3) {\n      Object.defineProperty(Color3.prototype, 'luminance', {\n        get: function get() {\n          return getLuminance(this);\n        },\n        set: function set(value) {\n          setLuminance(this, value);\n        }\n      });\n    }\n    var luminance = Object.freeze({\n      __proto__: null,\n      getLuminance: getLuminance,\n      setLuminance: setLuminance,\n      register: register$2\n    });\n    function contrastWCAG21(color1, color2) {\n      color1 = getColor(color1);\n      color2 = getColor(color2);\n      var Y1 = Math.max(getLuminance(color1), 0);\n      var Y2 = Math.max(getLuminance(color2), 0);\n      if (Y2 > Y1) {\n        var _ref15 = [ Y2, Y1 ];\n        Y1 = _ref15[0];\n        Y2 = _ref15[1];\n      }\n      return (Y1 + .05) / (Y2 + .05);\n    }\n    var normBG = .56;\n    var normTXT = .57;\n    var revTXT = .62;\n    var revBG = .65;\n    var blkThrs = .022;\n    var blkClmp = 1.414;\n    var loClip = .1;\n    var deltaYmin = 5e-4;\n    var scaleBoW = 1.14;\n    var loBoWoffset = .027;\n    var scaleWoB = 1.14;\n    function fclamp(Y) {\n      if (Y >= blkThrs) {\n        return Y;\n      }\n      return Y + Math.pow(blkThrs - Y, blkClmp);\n    }\n    function linearize(val) {\n      var sign = val < 0 ? -1 : 1;\n      var abs = Math.abs(val);\n      return sign * Math.pow(abs, 2.4);\n    }\n    function contrastAPCA(background, foreground) {\n      foreground = getColor(foreground);\n      background = getColor(background);\n      var S;\n      var C;\n      var Sapc;\n      var R, G, B;\n      foreground = to(foreground, 'srgb');\n      var _foreground$coords = _slicedToArray(foreground.coords, 3);\n      R = _foreground$coords[0];\n      G = _foreground$coords[1];\n      B = _foreground$coords[2];\n      var lumTxt = linearize(R) * .2126729 + linearize(G) * .7151522 + linearize(B) * .072175;\n      background = to(background, 'srgb');\n      var _background$coords = _slicedToArray(background.coords, 3);\n      R = _background$coords[0];\n      G = _background$coords[1];\n      B = _background$coords[2];\n      var lumBg = linearize(R) * .2126729 + linearize(G) * .7151522 + linearize(B) * .072175;\n      var Ytxt = fclamp(lumTxt);\n      var Ybg = fclamp(lumBg);\n      var BoW = Ybg > Ytxt;\n      if (Math.abs(Ybg - Ytxt) < deltaYmin) {\n        C = 0;\n      } else {\n        if (BoW) {\n          S = Math.pow(Ybg, normBG) - Math.pow(Ytxt, normTXT);\n          C = S * scaleBoW;\n        } else {\n          S = Math.pow(Ybg, revBG) - Math.pow(Ytxt, revTXT);\n          C = S * scaleWoB;\n        }\n      }\n      if (Math.abs(C) < loClip) {\n        Sapc = 0;\n      } else if (C > 0) {\n        Sapc = C - loBoWoffset;\n      } else {\n        Sapc = C + loBoWoffset;\n      }\n      return Sapc * 100;\n    }\n    function contrastMichelson(color1, color2) {\n      color1 = getColor(color1);\n      color2 = getColor(color2);\n      var Y1 = Math.max(getLuminance(color1), 0);\n      var Y2 = Math.max(getLuminance(color2), 0);\n      if (Y2 > Y1) {\n        var _ref16 = [ Y2, Y1 ];\n        Y1 = _ref16[0];\n        Y2 = _ref16[1];\n      }\n      var denom = Y1 + Y2;\n      return denom === 0 ? 0 : (Y1 - Y2) / denom;\n    }\n    var max = 5e4;\n    function contrastWeber(color1, color2) {\n      color1 = getColor(color1);\n      color2 = getColor(color2);\n      var Y1 = Math.max(getLuminance(color1), 0);\n      var Y2 = Math.max(getLuminance(color2), 0);\n      if (Y2 > Y1) {\n        var _ref17 = [ Y2, Y1 ];\n        Y1 = _ref17[0];\n        Y2 = _ref17[1];\n      }\n      return Y2 === 0 ? max : (Y1 - Y2) / Y2;\n    }\n    function contrastLstar(color1, color2) {\n      color1 = getColor(color1);\n      color2 = getColor(color2);\n      var L1 = get(color1, [ lab, 'l' ]);\n      var L2 = get(color2, [ lab, 'l' ]);\n      return Math.abs(L1 - L2);\n    }\n    var \\u03b5$1 = 216 / 24389;\n    var \\u03b53 = 24 / 116;\n    var \\u03ba = 24389 / 27;\n    var white = WHITES.D65;\n    var lab_d65 = new ColorSpace({\n      id: 'lab-d65',\n      name: 'Lab D65',\n      coords: {\n        l: {\n          refRange: [ 0, 100 ],\n          name: 'L'\n        },\n        a: {\n          refRange: [ -125, 125 ]\n        },\n        b: {\n          refRange: [ -125, 125 ]\n        }\n      },\n      white: white,\n      base: XYZ_D65,\n      fromBase: function fromBase(XYZ) {\n        var xyz = XYZ.map(function(value, i) {\n          return value / white[i];\n        });\n        var f = xyz.map(function(value) {\n          return value > \\u03b5$1 ? Math.cbrt(value) : (\\u03ba * value + 16) / 116;\n        });\n        return [ 116 * f[1] - 16, 500 * (f[0] - f[1]), 200 * (f[1] - f[2]) ];\n      },\n      toBase: function toBase(Lab) {\n        var f = [];\n        f[1] = (Lab[0] + 16) / 116;\n        f[0] = Lab[1] / 500 + f[1];\n        f[2] = f[1] - Lab[2] / 200;\n        var xyz = [ f[0] > \\u03b53 ? Math.pow(f[0], 3) : (116 * f[0] - 16) / \\u03ba, Lab[0] > 8 ? Math.pow((Lab[0] + 16) / 116, 3) : Lab[0] / \\u03ba, f[2] > \\u03b53 ? Math.pow(f[2], 3) : (116 * f[2] - 16) / \\u03ba ];\n        return xyz.map(function(value, i) {\n          return value * white[i];\n        });\n      },\n      formats: {\n        'lab-d65': {\n          coords: [ '<number> | <percentage>', '<number>', '<number>' ]\n        }\n      }\n    });\n    var phi = Math.pow(5, .5) * .5 + .5;\n    function contrastDeltaPhi(color1, color2) {\n      color1 = getColor(color1);\n      color2 = getColor(color2);\n      var Lstr1 = get(color1, [ lab_d65, 'l' ]);\n      var Lstr2 = get(color2, [ lab_d65, 'l' ]);\n      var deltaPhiStar = Math.abs(Math.pow(Lstr1, phi) - Math.pow(Lstr2, phi));\n      var contrast2 = Math.pow(deltaPhiStar, 1 / phi) * Math.SQRT2 - 40;\n      return contrast2 < 7.5 ? 0 : contrast2;\n    }\n    var contrastMethods = Object.freeze({\n      __proto__: null,\n      contrastWCAG21: contrastWCAG21,\n      contrastAPCA: contrastAPCA,\n      contrastMichelson: contrastMichelson,\n      contrastWeber: contrastWeber,\n      contrastLstar: contrastLstar,\n      contrastDeltaPhi: contrastDeltaPhi\n    });\n    function contrast(background, foreground) {\n      var o = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n      if (isString(o)) {\n        o = {\n          algorithm: o\n        };\n      }\n      var _o = o, algorithm = _o.algorithm, rest = _objectWithoutProperties(_o, _excluded3);\n      if (!algorithm) {\n        var algorithms = Object.keys(contrastMethods).map(function(a2) {\n          return a2.replace(/^contrast/, '');\n        }).join(', ');\n        throw new TypeError('contrast() function needs a contrast algorithm. Please specify one of: '.concat(algorithms));\n      }\n      background = getColor(background);\n      foreground = getColor(foreground);\n      for (var a2 in contrastMethods) {\n        if ('contrast' + algorithm.toLowerCase() === a2.toLowerCase()) {\n          return contrastMethods[a2](background, foreground, rest);\n        }\n      }\n      throw new TypeError('Unknown contrast algorithm: '.concat(algorithm));\n    }\n    function uv(color) {\n      var _getAll = getAll(color, XYZ_D65), _getAll2 = _slicedToArray(_getAll, 3), X = _getAll2[0], Y = _getAll2[1], Z = _getAll2[2];\n      var denom = X + 15 * Y + 3 * Z;\n      return [ 4 * X / denom, 9 * Y / denom ];\n    }\n    function xy(color) {\n      var _getAll3 = getAll(color, XYZ_D65), _getAll4 = _slicedToArray(_getAll3, 3), X = _getAll4[0], Y = _getAll4[1], Z = _getAll4[2];\n      var sum = X + Y + Z;\n      return [ X / sum, Y / sum ];\n    }\n    function register$1(Color3) {\n      Object.defineProperty(Color3.prototype, 'uv', {\n        get: function get() {\n          return uv(this);\n        }\n      });\n      Object.defineProperty(Color3.prototype, 'xy', {\n        get: function get() {\n          return xy(this);\n        }\n      });\n    }\n    var chromaticity = Object.freeze({\n      __proto__: null,\n      uv: uv,\n      xy: xy,\n      register: register$1\n    });\n    function deltaE76(color, sample) {\n      return distance(color, sample, 'lab');\n    }\n    var \\u03c0 = Math.PI;\n    var d2r = \\u03c0 / 180;\n    function deltaECMC(color, sample) {\n      var _ref18 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, _ref18$l = _ref18.l, l = _ref18$l === void 0 ? 2 : _ref18$l, _ref18$c = _ref18.c, c4 = _ref18$c === void 0 ? 1 : _ref18$c;\n      var _lab$from5 = lab.from(color), _lab$from6 = _slicedToArray(_lab$from5, 3), L1 = _lab$from6[0], a1 = _lab$from6[1], b1 = _lab$from6[2];\n      var _lch$from = lch.from(lab, [ L1, a1, b1 ]), _lch$from2 = _slicedToArray(_lch$from, 3), C1 = _lch$from2[1], H1 = _lch$from2[2];\n      var _lab$from7 = lab.from(sample), _lab$from8 = _slicedToArray(_lab$from7, 3), L2 = _lab$from8[0], a2 = _lab$from8[1], b2 = _lab$from8[2];\n      var C2 = lch.from(lab, [ L2, a2, b2 ])[1];\n      if (C1 < 0) {\n        C1 = 0;\n      }\n      if (C2 < 0) {\n        C2 = 0;\n      }\n      var \\u0394L = L1 - L2;\n      var \\u0394C = C1 - C2;\n      var \\u0394a = a1 - a2;\n      var \\u0394b = b1 - b2;\n      var H2 = Math.pow(\\u0394a, 2) + Math.pow(\\u0394b, 2) - Math.pow(\\u0394C, 2);\n      var SL = .511;\n      if (L1 >= 16) {\n        SL = .040975 * L1 / (1 + .01765 * L1);\n      }\n      var SC = .0638 * C1 / (1 + .0131 * C1) + .638;\n      var T;\n      if (Number.isNaN(H1)) {\n        H1 = 0;\n      }\n      if (H1 >= 164 && H1 <= 345) {\n        T = .56 + Math.abs(.2 * Math.cos((H1 + 168) * d2r));\n      } else {\n        T = .36 + Math.abs(.4 * Math.cos((H1 + 35) * d2r));\n      }\n      var C4 = Math.pow(C1, 4);\n      var F = Math.sqrt(C4 / (C4 + 1900));\n      var SH = SC * (F * T + 1 - F);\n      var dE = Math.pow(\\u0394L / (l * SL), 2);\n      dE += Math.pow(\\u0394C / (c4 * SC), 2);\n      dE += H2 / Math.pow(SH, 2);\n      return Math.sqrt(dE);\n    }\n    var Yw$1 = 203;\n    var XYZ_Abs_D65 = new ColorSpace({\n      id: 'xyz-abs-d65',\n      name: 'Absolute XYZ D65',\n      coords: {\n        x: {\n          refRange: [ 0, 9504.7 ],\n          name: 'Xa'\n        },\n        y: {\n          refRange: [ 0, 1e4 ],\n          name: 'Ya'\n        },\n        z: {\n          refRange: [ 0, 10888.3 ],\n          name: 'Za'\n        }\n      },\n      base: XYZ_D65,\n      fromBase: function fromBase(XYZ) {\n        return XYZ.map(function(v) {\n          return Math.max(v * Yw$1, 0);\n        });\n      },\n      toBase: function toBase(AbsXYZ) {\n        return AbsXYZ.map(function(v) {\n          return Math.max(v / Yw$1, 0);\n        });\n      }\n    });\n    var b$1 = 1.15;\n    var g = .66;\n    var n$1 = 2610 / Math.pow(2, 14);\n    var ninv$1 = Math.pow(2, 14) / 2610;\n    var c1$2 = 3424 / Math.pow(2, 12);\n    var c2$2 = 2413 / Math.pow(2, 7);\n    var c3$2 = 2392 / Math.pow(2, 7);\n    var p = 1.7 * 2523 / Math.pow(2, 5);\n    var pinv = Math.pow(2, 5) / (1.7 * 2523);\n    var d = -.56;\n    var d0 = 16295499532821565e-27;\n    var XYZtoCone_M = [ [ .41478972, .579999, .014648 ], [ -.20151, 1.120649, .0531008 ], [ -.0166008, .2648, .6684799 ] ];\n    var ConetoXYZ_M = [ [ 1.9242264357876067, -1.0047923125953657, .037651404030618 ], [ .35031676209499907, .7264811939316552, -.06538442294808501 ], [ -.09098281098284752, -.3127282905230739, 1.5227665613052603 ] ];\n    var ConetoIab_M = [ [ .5, .5, 0 ], [ 3.524, -4.066708, .542708 ], [ .199076, 1.096799, -1.295875 ] ];\n    var IabtoCone_M = [ [ 1, .1386050432715393, .05804731615611886 ], [ .9999999999999999, -.1386050432715393, -.05804731615611886 ], [ .9999999999999998, -.09601924202631895, -.8118918960560388 ] ];\n    var Jzazbz = new ColorSpace({\n      id: 'jzazbz',\n      name: 'Jzazbz',\n      coords: {\n        jz: {\n          refRange: [ 0, 1 ],\n          name: 'Jz'\n        },\n        az: {\n          refRange: [ -.5, .5 ]\n        },\n        bz: {\n          refRange: [ -.5, .5 ]\n        }\n      },\n      base: XYZ_Abs_D65,\n      fromBase: function fromBase(XYZ) {\n        var _XYZ = _slicedToArray(XYZ, 3), Xa = _XYZ[0], Ya = _XYZ[1], Za = _XYZ[2];\n        var Xm = b$1 * Xa - (b$1 - 1) * Za;\n        var Ym = g * Ya - (g - 1) * Xa;\n        var LMS = multiplyMatrices(XYZtoCone_M, [ Xm, Ym, Za ]);\n        var PQLMS = LMS.map(function(val) {\n          var num = c1$2 + c2$2 * Math.pow(val / 1e4, n$1);\n          var denom = 1 + c3$2 * Math.pow(val / 1e4, n$1);\n          return Math.pow(num / denom, p);\n        });\n        var _multiplyMatrices = multiplyMatrices(ConetoIab_M, PQLMS), _multiplyMatrices2 = _slicedToArray(_multiplyMatrices, 3), Iz = _multiplyMatrices2[0], az = _multiplyMatrices2[1], bz = _multiplyMatrices2[2];\n        var Jz = (1 + d) * Iz / (1 + d * Iz) - d0;\n        return [ Jz, az, bz ];\n      },\n      toBase: function toBase(Jzazbz2) {\n        var _Jzazbz = _slicedToArray(Jzazbz2, 3), Jz = _Jzazbz[0], az = _Jzazbz[1], bz = _Jzazbz[2];\n        var Iz = (Jz + d0) / (1 + d - d * (Jz + d0));\n        var PQLMS = multiplyMatrices(IabtoCone_M, [ Iz, az, bz ]);\n        var LMS = PQLMS.map(function(val) {\n          var num = c1$2 - Math.pow(val, pinv);\n          var denom = c3$2 * Math.pow(val, pinv) - c2$2;\n          var x = 1e4 * Math.pow(num / denom, ninv$1);\n          return x;\n        });\n        var _multiplyMatrices3 = multiplyMatrices(ConetoXYZ_M, LMS), _multiplyMatrices4 = _slicedToArray(_multiplyMatrices3, 3), Xm = _multiplyMatrices4[0], Ym = _multiplyMatrices4[1], Za = _multiplyMatrices4[2];\n        var Xa = (Xm + (b$1 - 1) * Za) / b$1;\n        var Ya = (Ym + (g - 1) * Xa) / g;\n        return [ Xa, Ya, Za ];\n      },\n      formats: {\n        color: {}\n      }\n    });\n    var jzczhz = new ColorSpace({\n      id: 'jzczhz',\n      name: 'JzCzHz',\n      coords: {\n        jz: {\n          refRange: [ 0, 1 ],\n          name: 'Jz'\n        },\n        cz: {\n          refRange: [ 0, 1 ],\n          name: 'Chroma'\n        },\n        hz: {\n          refRange: [ 0, 360 ],\n          type: 'angle',\n          name: 'Hue'\n        }\n      },\n      base: Jzazbz,\n      fromBase: function fromBase(jzazbz) {\n        var _jzazbz = _slicedToArray(jzazbz, 3), Jz = _jzazbz[0], az = _jzazbz[1], bz = _jzazbz[2];\n        var hue;\n        var \\u03b52 = 2e-4;\n        if (Math.abs(az) < \\u03b52 && Math.abs(bz) < \\u03b52) {\n          hue = NaN;\n        } else {\n          hue = Math.atan2(bz, az) * 180 / Math.PI;\n        }\n        return [ Jz, Math.sqrt(Math.pow(az, 2) + Math.pow(bz, 2)), constrain(hue) ];\n      },\n      toBase: function toBase(jzczhz2) {\n        return [ jzczhz2[0], jzczhz2[1] * Math.cos(jzczhz2[2] * Math.PI / 180), jzczhz2[1] * Math.sin(jzczhz2[2] * Math.PI / 180) ];\n      },\n      formats: {\n        color: {}\n      }\n    });\n    function deltaEJz(color, sample) {\n      var _jzczhz$from = jzczhz.from(color), _jzczhz$from2 = _slicedToArray(_jzczhz$from, 3), Jz1 = _jzczhz$from2[0], Cz1 = _jzczhz$from2[1], Hz1 = _jzczhz$from2[2];\n      var _jzczhz$from3 = jzczhz.from(sample), _jzczhz$from4 = _slicedToArray(_jzczhz$from3, 3), Jz2 = _jzczhz$from4[0], Cz2 = _jzczhz$from4[1], Hz2 = _jzczhz$from4[2];\n      var \\u0394J = Jz1 - Jz2;\n      var \\u0394C = Cz1 - Cz2;\n      if (Number.isNaN(Hz1) && Number.isNaN(Hz2)) {\n        Hz1 = 0;\n        Hz2 = 0;\n      } else if (Number.isNaN(Hz1)) {\n        Hz1 = Hz2;\n      } else if (Number.isNaN(Hz2)) {\n        Hz2 = Hz1;\n      }\n      var \\u0394h = Hz1 - Hz2;\n      var \\u0394H = 2 * Math.sqrt(Cz1 * Cz2) * Math.sin(\\u0394h / 2 * (Math.PI / 180));\n      return Math.sqrt(Math.pow(\\u0394J, 2) + Math.pow(\\u0394C, 2) + Math.pow(\\u0394H, 2));\n    }\n    var c1$1 = 3424 / 4096;\n    var c2$1 = 2413 / 128;\n    var c3$1 = 2392 / 128;\n    var m1 = 2610 / 16384;\n    var m2 = 2523 / 32;\n    var im1 = 16384 / 2610;\n    var im2 = 32 / 2523;\n    var XYZtoLMS_M$1 = [ [ .3592, .6976, -.0358 ], [ -.1922, 1.1004, .0755 ], [ .007, .0749, .8434 ] ];\n    var LMStoIPT_M = [ [ 2048 / 4096, 2048 / 4096, 0 ], [ 6610 / 4096, -13613 / 4096, 7003 / 4096 ], [ 17933 / 4096, -17390 / 4096, -543 / 4096 ] ];\n    var IPTtoLMS_M = [ [ .9999888965628402, .008605050147287059, .11103437159861648 ], [ 1.00001110343716, -.008605050147287059, -.11103437159861648 ], [ 1.0000320633910054, .56004913547279, -.3206339100541203 ] ];\n    var LMStoXYZ_M$1 = [ [ 2.0701800566956137, -1.326456876103021, .20661600684785517 ], [ .3649882500326575, .6804673628522352, -.04542175307585323 ], [ -.04959554223893211, -.04942116118675749, 1.1879959417328034 ] ];\n    var ictcp = new ColorSpace({\n      id: 'ictcp',\n      name: 'ICTCP',\n      coords: {\n        i: {\n          refRange: [ 0, 1 ],\n          name: 'I'\n        },\n        ct: {\n          refRange: [ -.5, .5 ],\n          name: 'CT'\n        },\n        cp: {\n          refRange: [ -.5, .5 ],\n          name: 'CP'\n        }\n      },\n      base: XYZ_Abs_D65,\n      fromBase: function fromBase(XYZ) {\n        var LMS = multiplyMatrices(XYZtoLMS_M$1, XYZ);\n        return LMStoICtCp(LMS);\n      },\n      toBase: function toBase(ICtCp) {\n        var LMS = ICtCptoLMS(ICtCp);\n        return multiplyMatrices(LMStoXYZ_M$1, LMS);\n      },\n      formats: {\n        color: {}\n      }\n    });\n    function LMStoICtCp(LMS) {\n      var PQLMS = LMS.map(function(val) {\n        var num = c1$1 + c2$1 * Math.pow(val / 1e4, m1);\n        var denom = 1 + c3$1 * Math.pow(val / 1e4, m1);\n        return Math.pow(num / denom, m2);\n      });\n      return multiplyMatrices(LMStoIPT_M, PQLMS);\n    }\n    function ICtCptoLMS(ICtCp) {\n      var PQLMS = multiplyMatrices(IPTtoLMS_M, ICtCp);\n      var LMS = PQLMS.map(function(val) {\n        var num = Math.max(Math.pow(val, im2) - c1$1, 0);\n        var denom = c2$1 - c3$1 * Math.pow(val, im2);\n        return 1e4 * Math.pow(num / denom, im1);\n      });\n      return LMS;\n    }\n    function deltaEITP(color, sample) {\n      var _ictcp$from = ictcp.from(color), _ictcp$from2 = _slicedToArray(_ictcp$from, 3), I1 = _ictcp$from2[0], T1 = _ictcp$from2[1], P1 = _ictcp$from2[2];\n      var _ictcp$from3 = ictcp.from(sample), _ictcp$from4 = _slicedToArray(_ictcp$from3, 3), I2 = _ictcp$from4[0], T2 = _ictcp$from4[1], P2 = _ictcp$from4[2];\n      return 720 * Math.sqrt(Math.pow(I1 - I2, 2) + .25 * Math.pow(T1 - T2, 2) + Math.pow(P1 - P2, 2));\n    }\n    var XYZtoLMS_M = [ [ .8190224432164319, .3619062562801221, -.12887378261216414 ], [ .0329836671980271, .9292868468965546, .03614466816999844 ], [ .048177199566046255, .26423952494422764, .6335478258136937 ] ];\n    var LMStoXYZ_M = [ [ 1.2268798733741557, -.5578149965554813, .28139105017721583 ], [ -.04057576262431372, 1.1122868293970594, -.07171106666151701 ], [ -.07637294974672142, -.4214933239627914, 1.5869240244272418 ] ];\n    var LMStoLab_M = [ [ .2104542553, .793617785, -.0040720468 ], [ 1.9779984951, -2.428592205, .4505937099 ], [ .0259040371, .7827717662, -.808675766 ] ];\n    var LabtoLMS_M = [ [ .9999999984505198, .39633779217376786, .2158037580607588 ], [ 1.0000000088817609, -.10556134232365635, -.06385417477170591 ], [ 1.0000000546724108, -.08948418209496575, -1.2914855378640917 ] ];\n    var OKLab = new ColorSpace({\n      id: 'oklab',\n      name: 'OKLab',\n      coords: {\n        l: {\n          refRange: [ 0, 1 ],\n          name: 'L'\n        },\n        a: {\n          refRange: [ -.4, .4 ]\n        },\n        b: {\n          refRange: [ -.4, .4 ]\n        }\n      },\n      white: 'D65',\n      base: XYZ_D65,\n      fromBase: function fromBase(XYZ) {\n        var LMS = multiplyMatrices(XYZtoLMS_M, XYZ);\n        var LMSg = LMS.map(function(val) {\n          return Math.cbrt(val);\n        });\n        return multiplyMatrices(LMStoLab_M, LMSg);\n      },\n      toBase: function toBase(OKLab2) {\n        var LMSg = multiplyMatrices(LabtoLMS_M, OKLab2);\n        var LMS = LMSg.map(function(val) {\n          return Math.pow(val, 3);\n        });\n        return multiplyMatrices(LMStoXYZ_M, LMS);\n      },\n      formats: {\n        oklab: {\n          coords: [ '<number> | <percentage>', '<number>', '<number>' ]\n        }\n      }\n    });\n    function deltaEOK(color, sample) {\n      var _OKLab$from = OKLab.from(color), _OKLab$from2 = _slicedToArray(_OKLab$from, 3), L1 = _OKLab$from2[0], a1 = _OKLab$from2[1], b1 = _OKLab$from2[2];\n      var _OKLab$from3 = OKLab.from(sample), _OKLab$from4 = _slicedToArray(_OKLab$from3, 3), L2 = _OKLab$from4[0], a2 = _OKLab$from4[1], b2 = _OKLab$from4[2];\n      var \\u0394L = L1 - L2;\n      var \\u0394a = a1 - a2;\n      var \\u0394b = b1 - b2;\n      return Math.sqrt(Math.pow(\\u0394L, 2) + Math.pow(\\u0394a, 2) + Math.pow(\\u0394b, 2));\n    }\n    var deltaEMethods = Object.freeze({\n      __proto__: null,\n      deltaE76: deltaE76,\n      deltaECMC: deltaECMC,\n      deltaE2000: deltaE2000,\n      deltaEJz: deltaEJz,\n      deltaEITP: deltaEITP,\n      deltaEOK: deltaEOK\n    });\n    function deltaE(c12, c22) {\n      var o = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n      if (isString(o)) {\n        o = {\n          method: o\n        };\n      }\n      var _o2 = o, _o2$method = _o2.method, method = _o2$method === void 0 ? defaults.deltaE : _o2$method, rest = _objectWithoutProperties(_o2, _excluded4);\n      c12 = getColor(c12);\n      c22 = getColor(c22);\n      for (var m3 in deltaEMethods) {\n        if ('deltae' + method.toLowerCase() === m3.toLowerCase()) {\n          return deltaEMethods[m3](c12, c22, rest);\n        }\n      }\n      throw new TypeError('Unknown deltaE method: '.concat(method));\n    }\n    function lighten(color) {\n      var amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : .25;\n      var space = ColorSpace.get('oklch', 'lch');\n      var lightness = [ space, 'l' ];\n      return set(color, lightness, function(l) {\n        return l * (1 + amount);\n      });\n    }\n    function darken(color) {\n      var amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : .25;\n      var space = ColorSpace.get('oklch', 'lch');\n      var lightness = [ space, 'l' ];\n      return set(color, lightness, function(l) {\n        return l * (1 - amount);\n      });\n    }\n    var variations = Object.freeze({\n      __proto__: null,\n      lighten: lighten,\n      darken: darken\n    });\n    function mix(c12, c22) {\n      var p2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : .5;\n      var o = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n      var _ref19 = [ getColor(c12), getColor(c22) ];\n      c12 = _ref19[0];\n      c22 = _ref19[1];\n      if (type(p2) === 'object') {\n        var _ref20 = [ .5, p2 ];\n        p2 = _ref20[0];\n        o = _ref20[1];\n      }\n      var _o3 = o, space = _o3.space, outputSpace = _o3.outputSpace, premultiplied = _o3.premultiplied;\n      var r = range(c12, c22, {\n        space: space,\n        outputSpace: outputSpace,\n        premultiplied: premultiplied\n      });\n      return r(p2);\n    }\n    function steps(c12, c22) {\n      var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n      var colorRange;\n      if (isRange(c12)) {\n        colorRange = c12;\n        options = c22;\n        var _colorRange$rangeArgs = _slicedToArray(colorRange.rangeArgs.colors, 2);\n        c12 = _colorRange$rangeArgs[0];\n        c22 = _colorRange$rangeArgs[1];\n      }\n      var _options = options, maxDeltaE = _options.maxDeltaE, deltaEMethod = _options.deltaEMethod, _options$steps = _options.steps, steps2 = _options$steps === void 0 ? 2 : _options$steps, _options$maxSteps = _options.maxSteps, maxSteps = _options$maxSteps === void 0 ? 1e3 : _options$maxSteps, rangeOptions = _objectWithoutProperties(_options, _excluded5);\n      if (!colorRange) {\n        var _ref21 = [ getColor(c12), getColor(c22) ];\n        c12 = _ref21[0];\n        c22 = _ref21[1];\n        colorRange = range(c12, c22, rangeOptions);\n      }\n      var totalDelta = deltaE(c12, c22);\n      var actualSteps = maxDeltaE > 0 ? Math.max(steps2, Math.ceil(totalDelta / maxDeltaE) + 1) : steps2;\n      var ret = [];\n      if (maxSteps !== void 0) {\n        actualSteps = Math.min(actualSteps, maxSteps);\n      }\n      if (actualSteps === 1) {\n        ret = [ {\n          p: .5,\n          color: colorRange(.5)\n        } ];\n      } else {\n        var step = 1 / (actualSteps - 1);\n        ret = Array.from({\n          length: actualSteps\n        }, function(_, i) {\n          var p2 = i * step;\n          return {\n            p: p2,\n            color: colorRange(p2)\n          };\n        });\n      }\n      if (maxDeltaE > 0) {\n        var maxDelta = ret.reduce(function(acc, cur, i) {\n          if (i === 0) {\n            return 0;\n          }\n          var \\u0394\\u0395 = deltaE(cur.color, ret[i - 1].color, deltaEMethod);\n          return Math.max(acc, \\u0394\\u0395);\n        }, 0);\n        while (maxDelta > maxDeltaE) {\n          maxDelta = 0;\n          for (var i = 1; i < ret.length && ret.length < maxSteps; i++) {\n            var prev = ret[i - 1];\n            var cur = ret[i];\n            var p2 = (cur.p + prev.p) / 2;\n            var _color = colorRange(p2);\n            maxDelta = Math.max(maxDelta, deltaE(_color, prev.color), deltaE(_color, cur.color));\n            ret.splice(i, 0, {\n              p: p2,\n              color: colorRange(p2)\n            });\n            i++;\n          }\n        }\n      }\n      ret = ret.map(function(a2) {\n        return a2.color;\n      });\n      return ret;\n    }\n    function range(color1, color2) {\n      var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n      if (isRange(color1)) {\n        var r = color1, options2 = color2;\n        return range.apply(void 0, _toConsumableArray(r.rangeArgs.colors).concat([ _extends({}, r.rangeArgs.options, options2) ]));\n      }\n      var space = options.space, outputSpace = options.outputSpace, progression = options.progression, premultiplied = options.premultiplied;\n      color1 = getColor(color1);\n      color2 = getColor(color2);\n      color1 = clone(color1);\n      color2 = clone(color2);\n      var rangeArgs = {\n        colors: [ color1, color2 ],\n        options: options\n      };\n      if (space) {\n        space = ColorSpace.get(space);\n      } else {\n        space = ColorSpace.registry[defaults.interpolationSpace] || color1.space;\n      }\n      outputSpace = outputSpace ? ColorSpace.get(outputSpace) : space;\n      color1 = to(color1, space);\n      color2 = to(color2, space);\n      color1 = toGamut(color1);\n      color2 = toGamut(color2);\n      if (space.coords.h && space.coords.h.type === 'angle') {\n        var arc = options.hue = options.hue || 'shorter';\n        var hue = [ space, 'h' ];\n        var _ref22 = [ get(color1, hue), get(color2, hue) ], \\u03b81 = _ref22[0], \\u03b82 = _ref22[1];\n        var _adjust = adjust(arc, [ \\u03b81, \\u03b82 ]);\n        var _adjust2 = _slicedToArray(_adjust, 2);\n        \\u03b81 = _adjust2[0];\n        \\u03b82 = _adjust2[1];\n        set(color1, hue, \\u03b81);\n        set(color2, hue, \\u03b82);\n      }\n      if (premultiplied) {\n        color1.coords = color1.coords.map(function(c4) {\n          return c4 * color1.alpha;\n        });\n        color2.coords = color2.coords.map(function(c4) {\n          return c4 * color2.alpha;\n        });\n      }\n      return Object.assign(function(p2) {\n        p2 = progression ? progression(p2) : p2;\n        var coords = color1.coords.map(function(start, i) {\n          var end = color2.coords[i];\n          return interpolate(start, end, p2);\n        });\n        var alpha = interpolate(color1.alpha, color2.alpha, p2);\n        var ret = {\n          space: space,\n          coords: coords,\n          alpha: alpha\n        };\n        if (premultiplied) {\n          ret.coords = ret.coords.map(function(c4) {\n            return c4 / alpha;\n          });\n        }\n        if (outputSpace !== space) {\n          ret = to(ret, outputSpace);\n        }\n        return ret;\n      }, {\n        rangeArgs: rangeArgs\n      });\n    }\n    function isRange(val) {\n      return type(val) === 'function' && !!val.rangeArgs;\n    }\n    defaults.interpolationSpace = 'lab';\n    function register(Color3) {\n      Color3.defineFunction('mix', mix, {\n        returns: 'color'\n      });\n      Color3.defineFunction('range', range, {\n        returns: 'function<color>'\n      });\n      Color3.defineFunction('steps', steps, {\n        returns: 'array<color>'\n      });\n    }\n    var interpolation = Object.freeze({\n      __proto__: null,\n      mix: mix,\n      steps: steps,\n      range: range,\n      isRange: isRange,\n      register: register\n    });\n    var HSL = new ColorSpace({\n      id: 'hsl',\n      name: 'HSL',\n      coords: {\n        h: {\n          refRange: [ 0, 360 ],\n          type: 'angle',\n          name: 'Hue'\n        },\n        s: {\n          range: [ 0, 100 ],\n          name: 'Saturation'\n        },\n        l: {\n          range: [ 0, 100 ],\n          name: 'Lightness'\n        }\n      },\n      base: sRGB,\n      fromBase: function fromBase(rgb) {\n        var max2 = Math.max.apply(Math, _toConsumableArray(rgb));\n        var min = Math.min.apply(Math, _toConsumableArray(rgb));\n        var _rgb = _slicedToArray(rgb, 3), r = _rgb[0], g2 = _rgb[1], b2 = _rgb[2];\n        var h = NaN, s = 0, l = (min + max2) / 2;\n        var d2 = max2 - min;\n        if (d2 !== 0) {\n          s = l === 0 || l === 1 ? 0 : (max2 - l) / Math.min(l, 1 - l);\n          switch (max2) {\n           case r:\n            h = (g2 - b2) / d2 + (g2 < b2 ? 6 : 0);\n            break;\n\n           case g2:\n            h = (b2 - r) / d2 + 2;\n            break;\n\n           case b2:\n            h = (r - g2) / d2 + 4;\n          }\n          h = h * 60;\n        }\n        return [ h, s * 100, l * 100 ];\n      },\n      toBase: function toBase(hsl) {\n        var _hsl = _slicedToArray(hsl, 3), h = _hsl[0], s = _hsl[1], l = _hsl[2];\n        h = h % 360;\n        if (h < 0) {\n          h += 360;\n        }\n        s /= 100;\n        l /= 100;\n        function f(n2) {\n          var k = (n2 + h / 30) % 12;\n          var a2 = s * Math.min(l, 1 - l);\n          return l - a2 * Math.max(-1, Math.min(k - 3, 9 - k, 1));\n        }\n        return [ f(0), f(8), f(4) ];\n      },\n      formats: {\n        hsl: {\n          toGamut: true,\n          coords: [ '<number> | <angle>', '<percentage>', '<percentage>' ]\n        },\n        hsla: {\n          coords: [ '<number> | <angle>', '<percentage>', '<percentage>' ],\n          commas: true,\n          lastAlpha: true\n        }\n      }\n    });\n    var HSV = new ColorSpace({\n      id: 'hsv',\n      name: 'HSV',\n      coords: {\n        h: {\n          refRange: [ 0, 360 ],\n          type: 'angle',\n          name: 'Hue'\n        },\n        s: {\n          range: [ 0, 100 ],\n          name: 'Saturation'\n        },\n        v: {\n          range: [ 0, 100 ],\n          name: 'Value'\n        }\n      },\n      base: HSL,\n      fromBase: function fromBase(hsl) {\n        var _hsl2 = _slicedToArray(hsl, 3), h = _hsl2[0], s = _hsl2[1], l = _hsl2[2];\n        s /= 100;\n        l /= 100;\n        var v = l + s * Math.min(l, 1 - l);\n        return [ h, v === 0 ? 0 : 200 * (1 - l / v), 100 * v ];\n      },\n      toBase: function toBase(hsv) {\n        var _hsv = _slicedToArray(hsv, 3), h = _hsv[0], s = _hsv[1], v = _hsv[2];\n        s /= 100;\n        v /= 100;\n        var l = v * (1 - s / 2);\n        return [ h, l === 0 || l === 1 ? 0 : (v - l) / Math.min(l, 1 - l) * 100, l * 100 ];\n      },\n      formats: {\n        color: {\n          toGamut: true\n        }\n      }\n    });\n    var hwb = new ColorSpace({\n      id: 'hwb',\n      name: 'HWB',\n      coords: {\n        h: {\n          refRange: [ 0, 360 ],\n          type: 'angle',\n          name: 'Hue'\n        },\n        w: {\n          range: [ 0, 100 ],\n          name: 'Whiteness'\n        },\n        b: {\n          range: [ 0, 100 ],\n          name: 'Blackness'\n        }\n      },\n      base: HSV,\n      fromBase: function fromBase(hsv) {\n        var _hsv2 = _slicedToArray(hsv, 3), h = _hsv2[0], s = _hsv2[1], v = _hsv2[2];\n        return [ h, v * (100 - s) / 100, 100 - v ];\n      },\n      toBase: function toBase(hwb2) {\n        var _hwb = _slicedToArray(hwb2, 3), h = _hwb[0], w = _hwb[1], b2 = _hwb[2];\n        w /= 100;\n        b2 /= 100;\n        var sum = w + b2;\n        if (sum >= 1) {\n          var gray = w / sum;\n          return [ h, 0, gray * 100 ];\n        }\n        var v = 1 - b2;\n        var s = v === 0 ? 0 : 1 - w / v;\n        return [ h, s * 100, v * 100 ];\n      },\n      formats: {\n        hwb: {\n          toGamut: true,\n          coords: [ '<number> | <angle>', '<percentage>', '<percentage>' ]\n        }\n      }\n    });\n    var toXYZ_M$2 = [ [ .5766690429101305, .1855582379065463, .1882286462349947 ], [ .29734497525053605, .6273635662554661, .07529145849399788 ], [ .02703136138641234, .07068885253582723, .9913375368376388 ] ];\n    var fromXYZ_M$2 = [ [ 2.0415879038107465, -.5650069742788596, -.34473135077832956 ], [ -.9692436362808795, 1.8759675015077202, .04155505740717557 ], [ .013444280632031142, -.11836239223101838, 1.0151749943912054 ] ];\n    var A98Linear = new RGBColorSpace({\n      id: 'a98rgb-linear',\n      name: 'Linear Adobe\\xae 98 RGB compatible',\n      white: 'D65',\n      toXYZ_M: toXYZ_M$2,\n      fromXYZ_M: fromXYZ_M$2\n    });\n    var a98rgb = new RGBColorSpace({\n      id: 'a98rgb',\n      name: 'Adobe\\xae 98 RGB compatible',\n      base: A98Linear,\n      toBase: function toBase(RGB) {\n        return RGB.map(function(val) {\n          return Math.pow(Math.abs(val), 563 / 256) * Math.sign(val);\n        });\n      },\n      fromBase: function fromBase(RGB) {\n        return RGB.map(function(val) {\n          return Math.pow(Math.abs(val), 256 / 563) * Math.sign(val);\n        });\n      },\n      formats: {\n        color: {\n          id: 'a98-rgb'\n        }\n      }\n    });\n    var toXYZ_M$1 = [ [ .7977604896723027, .13518583717574031, .0313493495815248 ], [ .2880711282292934, .7118432178101014, 8565396060525902e-20 ], [ 0, 0, .8251046025104601 ] ];\n    var fromXYZ_M$1 = [ [ 1.3457989731028281, -.25558010007997534, -.05110628506753401 ], [ -.5446224939028347, 1.5082327413132781, .02053603239147973 ], [ 0, 0, 1.2119675456389454 ] ];\n    var ProPhotoLinear = new RGBColorSpace({\n      id: 'prophoto-linear',\n      name: 'Linear ProPhoto',\n      white: 'D50',\n      base: XYZ_D50,\n      toXYZ_M: toXYZ_M$1,\n      fromXYZ_M: fromXYZ_M$1\n    });\n    var Et = 1 / 512;\n    var Et2 = 16 / 512;\n    var prophoto = new RGBColorSpace({\n      id: 'prophoto',\n      name: 'ProPhoto',\n      base: ProPhotoLinear,\n      toBase: function toBase(RGB) {\n        return RGB.map(function(v) {\n          return v < Et2 ? v / 16 : Math.pow(v, 1.8);\n        });\n      },\n      fromBase: function fromBase(RGB) {\n        return RGB.map(function(v) {\n          return v >= Et ? Math.pow(v, 1 / 1.8) : 16 * v;\n        });\n      },\n      formats: {\n        color: {\n          id: 'prophoto-rgb'\n        }\n      }\n    });\n    var oklch = new ColorSpace({\n      id: 'oklch',\n      name: 'OKLCh',\n      coords: {\n        l: {\n          refRange: [ 0, 1 ],\n          name: 'Lightness'\n        },\n        c: {\n          refRange: [ 0, .4 ],\n          name: 'Chroma'\n        },\n        h: {\n          refRange: [ 0, 360 ],\n          type: 'angle',\n          name: 'Hue'\n        }\n      },\n      white: 'D65',\n      base: OKLab,\n      fromBase: function fromBase(oklab) {\n        var _oklab = _slicedToArray(oklab, 3), L = _oklab[0], a2 = _oklab[1], b2 = _oklab[2];\n        var h;\n        var \\u03b52 = 2e-4;\n        if (Math.abs(a2) < \\u03b52 && Math.abs(b2) < \\u03b52) {\n          h = NaN;\n        } else {\n          h = Math.atan2(b2, a2) * 180 / Math.PI;\n        }\n        return [ L, Math.sqrt(Math.pow(a2, 2) + Math.pow(b2, 2)), constrain(h) ];\n      },\n      toBase: function toBase(oklch2) {\n        var _oklch = _slicedToArray(oklch2, 3), L = _oklch[0], C = _oklch[1], h = _oklch[2];\n        var a2, b2;\n        if (isNaN(h)) {\n          a2 = 0;\n          b2 = 0;\n        } else {\n          a2 = C * Math.cos(h * Math.PI / 180);\n          b2 = C * Math.sin(h * Math.PI / 180);\n        }\n        return [ L, a2, b2 ];\n      },\n      formats: {\n        oklch: {\n          coords: [ '<number> | <percentage>', '<number>', '<number> | <angle>' ]\n        }\n      }\n    });\n    var Yw = 203;\n    var n = 2610 / Math.pow(2, 14);\n    var ninv = Math.pow(2, 14) / 2610;\n    var m = 2523 / Math.pow(2, 5);\n    var minv = Math.pow(2, 5) / 2523;\n    var c1 = 3424 / Math.pow(2, 12);\n    var c2 = 2413 / Math.pow(2, 7);\n    var c3 = 2392 / Math.pow(2, 7);\n    var rec2100Pq = new RGBColorSpace({\n      id: 'rec2100pq',\n      name: 'REC.2100-PQ',\n      base: REC2020Linear,\n      toBase: function toBase(RGB) {\n        return RGB.map(function(val) {\n          var x = Math.pow(Math.max(Math.pow(val, minv) - c1, 0) / (c2 - c3 * Math.pow(val, minv)), ninv);\n          return x * 1e4 / Yw;\n        });\n      },\n      fromBase: function fromBase(RGB) {\n        return RGB.map(function(val) {\n          var x = Math.max(val * Yw / 1e4, 0);\n          var num = c1 + c2 * Math.pow(x, n);\n          var denom = 1 + c3 * Math.pow(x, n);\n          return Math.pow(num / denom, m);\n        });\n      },\n      formats: {\n        color: {\n          id: 'rec2100-pq'\n        }\n      }\n    });\n    var a = .17883277;\n    var b = .28466892;\n    var c = .55991073;\n    var scale = 3.7743;\n    var rec2100Hlg = new RGBColorSpace({\n      id: 'rec2100hlg',\n      cssid: 'rec2100-hlg',\n      name: 'REC.2100-HLG',\n      referred: 'scene',\n      base: REC2020Linear,\n      toBase: function toBase(RGB) {\n        return RGB.map(function(val) {\n          if (val <= .5) {\n            return Math.pow(val, 2) / 3 * scale;\n          }\n          return Math.exp((val - c) / a + b) / 12 * scale;\n        });\n      },\n      fromBase: function fromBase(RGB) {\n        return RGB.map(function(val) {\n          val /= scale;\n          if (val <= 1 / 12) {\n            return Math.sqrt(3 * val);\n          }\n          return a * Math.log(12 * val - b) + c;\n        });\n      },\n      formats: {\n        color: {\n          id: 'rec2100-hlg'\n        }\n      }\n    });\n    var CATs = {};\n    hooks.add('chromatic-adaptation-start', function(env) {\n      if (env.options.method) {\n        env.M = adapt(env.W1, env.W2, env.options.method);\n      }\n    });\n    hooks.add('chromatic-adaptation-end', function(env) {\n      if (!env.M) {\n        env.M = adapt(env.W1, env.W2, env.options.method);\n      }\n    });\n    function defineCAT(_ref23) {\n      var id = _ref23.id, toCone_M = _ref23.toCone_M, fromCone_M = _ref23.fromCone_M;\n      CATs[id] = arguments[0];\n    }\n    function adapt(W1, W2) {\n      var id = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'Bradford';\n      var method = CATs[id];\n      var _multiplyMatrices5 = multiplyMatrices(method.toCone_M, W1), _multiplyMatrices6 = _slicedToArray(_multiplyMatrices5, 3), \\u03c1s = _multiplyMatrices6[0], \\u03b3s = _multiplyMatrices6[1], \\u03b2s = _multiplyMatrices6[2];\n      var _multiplyMatrices7 = multiplyMatrices(method.toCone_M, W2), _multiplyMatrices8 = _slicedToArray(_multiplyMatrices7, 3), \\u03c1d = _multiplyMatrices8[0], \\u03b3d = _multiplyMatrices8[1], \\u03b2d = _multiplyMatrices8[2];\n      var scale2 = [ [ \\u03c1d / \\u03c1s, 0, 0 ], [ 0, \\u03b3d / \\u03b3s, 0 ], [ 0, 0, \\u03b2d / \\u03b2s ] ];\n      var scaled_cone_M = multiplyMatrices(scale2, method.toCone_M);\n      var adapt_M = multiplyMatrices(method.fromCone_M, scaled_cone_M);\n      return adapt_M;\n    }\n    defineCAT({\n      id: 'von Kries',\n      toCone_M: [ [ .40024, .7076, -.08081 ], [ -.2263, 1.16532, .0457 ], [ 0, 0, .91822 ] ],\n      fromCone_M: [ [ 1.8599364, -1.1293816, .2198974 ], [ .3611914, .6388125, -64e-7 ], [ 0, 0, 1.0890636 ] ]\n    });\n    defineCAT({\n      id: 'Bradford',\n      toCone_M: [ [ .8951, .2664, -.1614 ], [ -.7502, 1.7135, .0367 ], [ .0389, -.0685, 1.0296 ] ],\n      fromCone_M: [ [ .9869929, -.1470543, .1599627 ], [ .4323053, .5183603, .0492912 ], [ -.0085287, .0400428, .9684867 ] ]\n    });\n    defineCAT({\n      id: 'CAT02',\n      toCone_M: [ [ .7328, .4296, -.1624 ], [ -.7036, 1.6975, .0061 ], [ .003, .0136, .9834 ] ],\n      fromCone_M: [ [ 1.0961238, -.278869, .1827452 ], [ .454369, .4735332, .0720978 ], [ -.0096276, -.005698, 1.0153256 ] ]\n    });\n    defineCAT({\n      id: 'CAT16',\n      toCone_M: [ [ .401288, .650173, -.051461 ], [ -.250268, 1.204414, .045854 ], [ -.002079, .048952, .953127 ] ],\n      fromCone_M: [ [ 1.862067855087233, -1.011254630531685, .1491867754444518 ], [ .3875265432361372, .6214474419314753, -.008973985167612518 ], [ -.01584149884933386, -.03412293802851557, 1.04996443687785 ] ]\n    });\n    Object.assign(WHITES, {\n      A: [ 1.0985, 1, .35585 ],\n      C: [ .98074, 1, 1.18232 ],\n      D55: [ .95682, 1, .92149 ],\n      D75: [ .94972, 1, 1.22638 ],\n      E: [ 1, 1, 1 ],\n      F2: [ .99186, 1, .67393 ],\n      F7: [ .95041, 1, 1.08747 ],\n      F11: [ 1.00962, 1, .6435 ]\n    });\n    WHITES.ACES = [ .32168 / .33767, 1, (1 - .32168 - .33767) / .33767 ];\n    var toXYZ_M = [ [ .6624541811085053, .13400420645643313, .1561876870049078 ], [ .27222871678091454, .6740817658111484, .05368951740793705 ], [ -.005574649490394108, .004060733528982826, 1.0103391003129971 ] ];\n    var fromXYZ_M = [ [ 1.6410233796943257, -.32480329418479, -.23642469523761225 ], [ -.6636628587229829, 1.6153315916573379, .016756347685530137 ], [ .011721894328375376, -.008284441996237409, .9883948585390215 ] ];\n    var ACEScg = new RGBColorSpace({\n      id: 'acescg',\n      name: 'ACEScg',\n      coords: {\n        r: {\n          range: [ 0, 65504 ],\n          name: 'Red'\n        },\n        g: {\n          range: [ 0, 65504 ],\n          name: 'Green'\n        },\n        b: {\n          range: [ 0, 65504 ],\n          name: 'Blue'\n        }\n      },\n      referred: 'scene',\n      white: WHITES.ACES,\n      toXYZ_M: toXYZ_M,\n      fromXYZ_M: fromXYZ_M,\n      formats: {\n        color: {}\n      }\n    });\n    var \\u03b5 = Math.pow(2, -16);\n    var ACES_min_nonzero = -.35828683;\n    var ACES_cc_max = (Math.log2(65504) + 9.72) / 17.52;\n    var acescc = new RGBColorSpace({\n      id: 'acescc',\n      name: 'ACEScc',\n      coords: {\n        r: {\n          range: [ ACES_min_nonzero, ACES_cc_max ],\n          name: 'Red'\n        },\n        g: {\n          range: [ ACES_min_nonzero, ACES_cc_max ],\n          name: 'Green'\n        },\n        b: {\n          range: [ ACES_min_nonzero, ACES_cc_max ],\n          name: 'Blue'\n        }\n      },\n      referred: 'scene',\n      base: ACEScg,\n      toBase: function toBase(RGB) {\n        var low = (9.72 - 15) / 17.52;\n        return RGB.map(function(val) {\n          if (val <= low) {\n            return (Math.pow(2, val * 17.52 - 9.72) - \\u03b5) * 2;\n          } else if (val < ACES_cc_max) {\n            return Math.pow(2, val * 17.52 - 9.72);\n          } else {\n            return 65504;\n          }\n        });\n      },\n      fromBase: function fromBase(RGB) {\n        return RGB.map(function(val) {\n          if (val <= 0) {\n            return (Math.log2(\\u03b5) + 9.72) / 17.52;\n          } else if (val < \\u03b5) {\n            return (Math.log2(\\u03b5 + val * .5) + 9.72) / 17.52;\n          } else {\n            return (Math.log2(val) + 9.72) / 17.52;\n          }\n        });\n      },\n      formats: {\n        color: {}\n      }\n    });\n    var spaces = Object.freeze({\n      __proto__: null,\n      XYZ_D65: XYZ_D65,\n      XYZ_D50: XYZ_D50,\n      XYZ_ABS_D65: XYZ_Abs_D65,\n      Lab_D65: lab_d65,\n      Lab: lab,\n      LCH: lch,\n      sRGB_Linear: sRGBLinear,\n      sRGB: sRGB,\n      HSL: HSL,\n      HWB: hwb,\n      HSV: HSV,\n      P3_Linear: P3Linear,\n      P3: P3,\n      A98RGB_Linear: A98Linear,\n      A98RGB: a98rgb,\n      ProPhoto_Linear: ProPhotoLinear,\n      ProPhoto: prophoto,\n      REC_2020_Linear: REC2020Linear,\n      REC_2020: REC2020,\n      OKLab: OKLab,\n      OKLCH: oklch,\n      Jzazbz: Jzazbz,\n      JzCzHz: jzczhz,\n      ICTCP: ictcp,\n      REC_2100_PQ: rec2100Pq,\n      REC_2100_HLG: rec2100Hlg,\n      ACEScg: ACEScg,\n      ACEScc: acescc\n    });\n    var _Color = (_space = new WeakMap(), function() {\n      function Color() {\n        var _this2 = this;\n        _classCallCheck(this, Color);\n        _classPrivateFieldInitSpec(this, _space, void 0);\n        var color;\n        for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n          args[_key2] = arguments[_key2];\n        }\n        if (args.length === 1) {\n          color = getColor(args[0]);\n        }\n        var space, coords, alpha;\n        if (color) {\n          space = color.space || color.spaceId;\n          coords = color.coords;\n          alpha = color.alpha;\n        } else {\n          space = args[0];\n          coords = args[1];\n          alpha = args[2];\n        }\n        _classPrivateFieldSet(_space, this, ColorSpace.get(space));\n        this.coords = coords ? coords.slice() : [ 0, 0, 0 ];\n        this.alpha = alpha < 1 ? alpha : 1;\n        for (var i = 0; i < this.coords.length; i++) {\n          if (this.coords[i] === 'NaN') {\n            this.coords[i] = NaN;\n          }\n        }\n        var _loop4 = function _loop4(id) {\n          Object.defineProperty(_this2, id, {\n            get: function get() {\n              return _this2.get(id);\n            },\n            set: function set(value) {\n              return _this2.set(id, value);\n            }\n          });\n        };\n        for (var id in _classPrivateFieldGet(_space, this).coords) {\n          _loop4(id);\n        }\n      }\n      return _createClass(Color, [ {\n        key: 'space',\n        get: function get() {\n          return _classPrivateFieldGet(_space, this);\n        }\n      }, {\n        key: 'spaceId',\n        get: function get() {\n          return _classPrivateFieldGet(_space, this).id;\n        }\n      }, {\n        key: 'clone',\n        value: function clone() {\n          return new _Color(this.space, this.coords, this.alpha);\n        }\n      }, {\n        key: 'toJSON',\n        value: function toJSON() {\n          return {\n            spaceId: this.spaceId,\n            coords: this.coords,\n            alpha: this.alpha\n          };\n        }\n      }, {\n        key: 'display',\n        value: function display() {\n          for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n            args[_key3] = arguments[_key3];\n          }\n          var ret = _display.apply(void 0, [ this ].concat(args));\n          ret.color = new _Color(ret.color);\n          return ret;\n        }\n      } ], [ {\n        key: 'get',\n        value: function get(color) {\n          if (color instanceof _Color) {\n            return color;\n          }\n          for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n            args[_key4 - 1] = arguments[_key4];\n          }\n          return _construct(_Color, [ color ].concat(args));\n        }\n      }, {\n        key: 'defineFunction',\n        value: function defineFunction(name, code) {\n          var o = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : code;\n          var _o$instance = o.instance, instance = _o$instance === void 0 ? true : _o$instance, returns = o.returns;\n          var func = function func() {\n            var ret = code.apply(void 0, arguments);\n            if (returns === 'color') {\n              ret = _Color.get(ret);\n            } else if (returns === 'function<color>') {\n              var f = ret;\n              ret = function ret() {\n                var ret2 = f.apply(void 0, arguments);\n                return _Color.get(ret2);\n              };\n              Object.assign(ret, f);\n            } else if (returns === 'array<color>') {\n              ret = ret.map(function(c4) {\n                return _Color.get(c4);\n              });\n            }\n            return ret;\n          };\n          if (!(name in _Color)) {\n            _Color[name] = func;\n          }\n          if (instance) {\n            _Color.prototype[name] = function() {\n              for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n                args[_key5] = arguments[_key5];\n              }\n              return func.apply(void 0, [ this ].concat(args));\n            };\n          }\n        }\n      }, {\n        key: 'defineFunctions',\n        value: function defineFunctions(o) {\n          for (var name in o) {\n            _Color.defineFunction(name, o[name], o[name]);\n          }\n        }\n      }, {\n        key: 'extend',\n        value: function extend(exports) {\n          if (exports.register) {\n            exports.register(_Color);\n          } else {\n            for (var name in exports) {\n              _Color.defineFunction(name, exports[name]);\n            }\n          }\n        }\n      } ]);\n    }());\n    _Color.defineFunctions({\n      get: get,\n      getAll: getAll,\n      set: set,\n      setAll: setAll,\n      to: to,\n      equals: equals,\n      inGamut: inGamut,\n      toGamut: toGamut,\n      distance: distance,\n      toString: serialize\n    });\n    Object.assign(_Color, {\n      util: util,\n      hooks: hooks,\n      WHITES: WHITES,\n      Space: ColorSpace,\n      spaces: ColorSpace.registry,\n      parse: parse,\n      defaults: defaults\n    });\n    for (var _i5 = 0, _Object$keys = Object.keys(spaces); _i5 < _Object$keys.length; _i5++) {\n      var key = _Object$keys[_i5];\n      ColorSpace.register(spaces[key]);\n    }\n    for (var id in ColorSpace.registry) {\n      addSpaceAccessors(id, ColorSpace.registry[id]);\n    }\n    hooks.add('colorspace-init-end', function(space) {\n      var _space$aliases;\n      addSpaceAccessors(space.id, space);\n      (_space$aliases = space.aliases) === null || _space$aliases === void 0 || _space$aliases.forEach(function(alias) {\n        addSpaceAccessors(alias, space);\n      });\n    });\n    function addSpaceAccessors(id, space) {\n      Object.keys(space.coords);\n      Object.values(space.coords).map(function(c4) {\n        return c4.name;\n      });\n      var propId = id.replace(/-/g, '_');\n      Object.defineProperty(_Color.prototype, propId, {\n        get: function get() {\n          var _this3 = this;\n          var ret = this.getAll(id);\n          if (typeof Proxy === 'undefined') {\n            return ret;\n          }\n          return new Proxy(ret, {\n            has: function has(obj, property) {\n              try {\n                ColorSpace.resolveCoord([ space, property ]);\n                return true;\n              } catch (e) {}\n              return Reflect.has(obj, property);\n            },\n            get: function get(obj, property, receiver) {\n              if (property && _typeof(property) !== 'symbol' && !(property in obj)) {\n                var _ColorSpace$resolveCo3 = ColorSpace.resolveCoord([ space, property ]), index = _ColorSpace$resolveCo3.index;\n                if (index >= 0) {\n                  return obj[index];\n                }\n              }\n              return Reflect.get(obj, property, receiver);\n            },\n            set: function set(obj, property, value, receiver) {\n              if (property && _typeof(property) !== 'symbol' && !(property in obj) || property >= 0) {\n                var _ColorSpace$resolveCo4 = ColorSpace.resolveCoord([ space, property ]), index = _ColorSpace$resolveCo4.index;\n                if (index >= 0) {\n                  obj[index] = value;\n                  _this3.setAll(id, obj);\n                  return true;\n                }\n              }\n              return Reflect.set(obj, property, value, receiver);\n            }\n          });\n        },\n        set: function set(coords) {\n          this.setAll(id, coords);\n        },\n        configurable: true,\n        enumerable: true\n      });\n    }\n    _Color.extend(deltaEMethods);\n    _Color.extend({\n      deltaE: deltaE\n    });\n    _Color.extend(variations);\n    _Color.extend({\n      contrast: contrast\n    });\n    _Color.extend(chromaticity);\n    _Color.extend(luminance);\n    _Color.extend(interpolation);\n    _Color.extend(contrastMethods);\n    var import_from2 = __toModule(require_from3());\n    import_dot['default'].templateSettings.strip = false;\n    axe._memoizedFns = [];\n    function memoizeImplementation(fn) {\n      var memoized = (0, import_memoizee['default'])(fn);\n      axe._memoizedFns.push(memoized);\n      return memoized;\n    }\n    var memoize_default = memoizeImplementation;\n    var isXHTML = memoize_default(function(doc) {\n      if (!(doc !== null && doc !== void 0 && doc.createElement)) {\n        return false;\n      }\n      return doc.createElement('A').localName === 'A';\n    });\n    var is_xhtml_default = isXHTML;\n    function _getShadowSelector(generateSelector2, elm) {\n      var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n      if (!elm) {\n        return '';\n      }\n      var doc = elm.getRootNode && elm.getRootNode() || document;\n      if (doc.nodeType !== 11) {\n        return generateSelector2(elm, options, doc);\n      }\n      var stack = [];\n      while (doc.nodeType === 11) {\n        if (!doc.host) {\n          return '';\n        }\n        stack.unshift({\n          elm: elm,\n          doc: doc\n        });\n        elm = doc.host;\n        doc = elm.getRootNode();\n      }\n      stack.unshift({\n        elm: elm,\n        doc: doc\n      });\n      return stack.map(function(item) {\n        return generateSelector2(item.elm, options, item.doc);\n      });\n    }\n    var ignoredAttributes = [ 'class', 'style', 'id', 'selected', 'checked', 'disabled', 'tabindex', 'aria-checked', 'aria-selected', 'aria-invalid', 'aria-activedescendant', 'aria-busy', 'aria-disabled', 'aria-expanded', 'aria-grabbed', 'aria-pressed', 'aria-valuenow', 'xmlns' ];\n    var MAXATTRIBUTELENGTH = 31;\n    var attrCharsRegex = /([\\\\\"])/g;\n    var newlineChars = /(\\r\\n|\\r|\\n)/g;\n    function escapeAttribute(str) {\n      return str.replace(attrCharsRegex, '\\\\$1').replace(newlineChars, '\\\\a ');\n    }\n    function getAttributeNameValue(node, at) {\n      var name = at.name;\n      var atnv;\n      if (name.indexOf('href') !== -1 || name.indexOf('src') !== -1) {\n        var friendly = get_friendly_uri_end_default(node.getAttribute(name));\n        if (friendly) {\n          atnv = escape_selector_default(at.name) + '$=\"' + escapeAttribute(friendly) + '\"';\n        } else {\n          atnv = escape_selector_default(at.name) + '=\"' + escapeAttribute(node.getAttribute(name)) + '\"';\n        }\n      } else {\n        atnv = escape_selector_default(name) + '=\"' + escapeAttribute(at.value) + '\"';\n      }\n      return atnv;\n    }\n    function countSort(a2, b2) {\n      return a2.count < b2.count ? -1 : a2.count === b2.count ? 0 : 1;\n    }\n    function filterAttributes(at) {\n      return !ignoredAttributes.includes(at.name) && at.name.indexOf(':') === -1 && (!at.value || at.value.length < MAXATTRIBUTELENGTH);\n    }\n    function _getSelectorData(domTree) {\n      var data = {\n        classes: {},\n        tags: {},\n        attributes: {}\n      };\n      domTree = Array.isArray(domTree) ? domTree : [ domTree ];\n      var currentLevel = domTree.slice();\n      var stack = [];\n      var _loop5 = function _loop5() {\n        var current = currentLevel.pop();\n        var node = current.actualNode;\n        if (!!node.querySelectorAll) {\n          var tag = node.nodeName;\n          if (data.tags[tag]) {\n            data.tags[tag]++;\n          } else {\n            data.tags[tag] = 1;\n          }\n          if (node.classList) {\n            Array.from(node.classList).forEach(function(cl) {\n              var ind = escape_selector_default(cl);\n              if (data.classes[ind]) {\n                data.classes[ind]++;\n              } else {\n                data.classes[ind] = 1;\n              }\n            });\n          }\n          if (node.hasAttributes()) {\n            Array.from(get_node_attributes_default(node)).filter(filterAttributes).forEach(function(at) {\n              var atnv = getAttributeNameValue(node, at);\n              if (atnv) {\n                if (data.attributes[atnv]) {\n                  data.attributes[atnv]++;\n                } else {\n                  data.attributes[atnv] = 1;\n                }\n              }\n            });\n          }\n        }\n        if (current.children.length) {\n          stack.push(currentLevel);\n          currentLevel = current.children.slice();\n        }\n        while (!currentLevel.length && stack.length) {\n          currentLevel = stack.pop();\n        }\n      };\n      while (currentLevel.length) {\n        _loop5();\n      }\n      return data;\n    }\n    function uncommonClasses(node, selectorData) {\n      var retVal = [];\n      var classData = selectorData.classes;\n      var tagData = selectorData.tags;\n      if (node.classList) {\n        Array.from(node.classList).forEach(function(cl) {\n          var ind = escape_selector_default(cl);\n          if (classData[ind] < tagData[node.nodeName]) {\n            retVal.push({\n              name: ind,\n              count: classData[ind],\n              species: 'class'\n            });\n          }\n        });\n      }\n      return retVal.sort(countSort);\n    }\n    function getNthChildString(elm, selector) {\n      var siblings = elm.parentNode && Array.from(elm.parentNode.children || '') || [];\n      var hasMatchingSiblings = siblings.find(function(sibling) {\n        return sibling !== elm && element_matches_default(sibling, selector);\n      });\n      if (hasMatchingSiblings) {\n        var nthChild = 1 + siblings.indexOf(elm);\n        return ':nth-child(' + nthChild + ')';\n      } else {\n        return '';\n      }\n    }\n    function getElmId(elm) {\n      if (!elm.getAttribute('id')) {\n        return;\n      }\n      var doc = elm.getRootNode && elm.getRootNode() || document;\n      var id = '#' + escape_selector_default(elm.getAttribute('id') || '');\n      if (!id.match(/player_uid_/) && doc.querySelectorAll(id).length === 1) {\n        return id;\n      }\n    }\n    function getBaseSelector(elm) {\n      var xhtml = is_xhtml_default(document);\n      return escape_selector_default(xhtml ? elm.localName : elm.nodeName.toLowerCase());\n    }\n    function uncommonAttributes(node, selectorData) {\n      var retVal = [];\n      var attData = selectorData.attributes;\n      var tagData = selectorData.tags;\n      if (node.hasAttributes()) {\n        Array.from(get_node_attributes_default(node)).filter(filterAttributes).forEach(function(at) {\n          var atnv = getAttributeNameValue(node, at);\n          if (atnv && attData[atnv] < tagData[node.nodeName]) {\n            retVal.push({\n              name: atnv,\n              count: attData[atnv],\n              species: 'attribute'\n            });\n          }\n        });\n      }\n      return retVal.sort(countSort);\n    }\n    function getThreeLeastCommonFeatures(elm, selectorData) {\n      var selector = '';\n      var features;\n      var clss = uncommonClasses(elm, selectorData);\n      var atts = uncommonAttributes(elm, selectorData);\n      if (clss.length && clss[0].count === 1) {\n        features = [ clss[0] ];\n      } else if (atts.length && atts[0].count === 1) {\n        features = [ atts[0] ];\n        selector = getBaseSelector(elm);\n      } else {\n        features = clss.concat(atts);\n        features.sort(countSort);\n        features = features.slice(0, 3);\n        if (!features.some(function(feat) {\n          return feat.species === 'class';\n        })) {\n          selector = getBaseSelector(elm);\n        } else {\n          features.sort(function(a2, b2) {\n            return a2.species !== b2.species && a2.species === 'class' ? -1 : a2.species === b2.species ? 0 : 1;\n          });\n        }\n      }\n      return selector += features.reduce(function(val, feat) {\n        switch (feat.species) {\n         case 'class':\n          return val + '.' + feat.name;\n\n         case 'attribute':\n          return val + '[' + feat.name + ']';\n        }\n        return val;\n      }, '');\n    }\n    function generateSelector(elm, options, doc) {\n      if (!axe._selectorData) {\n        throw new Error('Expect axe._selectorData to be set up');\n      }\n      var _options$toRoot = options.toRoot, toRoot = _options$toRoot === void 0 ? false : _options$toRoot;\n      var selector;\n      var similar;\n      do {\n        var features = getElmId(elm);\n        if (!features) {\n          features = getThreeLeastCommonFeatures(elm, axe._selectorData);\n          features += getNthChildString(elm, features);\n        }\n        if (selector) {\n          selector = features + ' > ' + selector;\n        } else {\n          selector = features;\n        }\n        if (!similar || similar.length > constants_default.selectorSimilarFilterLimit) {\n          similar = findSimilar(doc, selector);\n        } else {\n          similar = similar.filter(function(item) {\n            return element_matches_default(item, selector);\n          });\n        }\n        elm = elm.parentElement;\n      } while ((similar.length > 1 || toRoot) && elm && elm.nodeType !== 11);\n      if (similar.length === 1) {\n        return selector;\n      } else if (selector.indexOf(' > ') !== -1) {\n        return ':root' + selector.substring(selector.indexOf(' > '));\n      }\n      return ':root';\n    }\n    function getSelector(elm, options) {\n      return _getShadowSelector(generateSelector, elm, options);\n    }\n    var get_selector_default = memoize_default(getSelector);\n    var findSimilar = memoize_default(function(doc, selector) {\n      return Array.from(doc.querySelectorAll(selector));\n    });\n    function generateAncestry(node) {\n      var nodeName2 = node.nodeName.toLowerCase();\n      var parentElement = node.parentElement;\n      var parentNode = node.parentNode;\n      var nthChild = '';\n      if (nodeName2 !== 'head' && nodeName2 !== 'body' && (parentNode === null || parentNode === void 0 ? void 0 : parentNode.children.length) > 1) {\n        var index = Array.prototype.indexOf.call(parentNode.children, node) + 1;\n        nthChild = ':nth-child('.concat(index, ')');\n      }\n      if (!parentElement) {\n        return nodeName2 + nthChild;\n      }\n      return generateAncestry(parentElement) + ' > ' + nodeName2 + nthChild;\n    }\n    function _getAncestry(elm, options) {\n      return _getShadowSelector(generateAncestry, elm, options);\n    }\n    function getXPathArray(node, path) {\n      var sibling, count;\n      if (!node) {\n        return [];\n      }\n      if (!path && node.nodeType === 9) {\n        path = [ {\n          str: 'html'\n        } ];\n        return path;\n      }\n      path = path || [];\n      if (node.parentNode && node.parentNode !== node) {\n        path = getXPathArray(node.parentNode, path);\n      }\n      if (node.previousSibling) {\n        count = 1;\n        sibling = node.previousSibling;\n        do {\n          if (sibling.nodeType === 1 && sibling.nodeName === node.nodeName) {\n            count++;\n          }\n          sibling = sibling.previousSibling;\n        } while (sibling);\n        if (count === 1) {\n          count = null;\n        }\n      } else if (node.nextSibling) {\n        sibling = node.nextSibling;\n        do {\n          if (sibling.nodeType === 1 && sibling.nodeName === node.nodeName) {\n            count = 1;\n            sibling = null;\n          } else {\n            count = null;\n            sibling = sibling.previousSibling;\n          }\n        } while (sibling);\n      }\n      if (node.nodeType === 1) {\n        var element = {};\n        element.str = node.nodeName.toLowerCase();\n        var _id = node.getAttribute && escape_selector_default(node.getAttribute('id'));\n        if (_id && node.ownerDocument.querySelectorAll('#' + _id).length === 1) {\n          element.id = node.getAttribute('id');\n        }\n        if (count > 1) {\n          element.count = count;\n        }\n        path.push(element);\n      }\n      return path;\n    }\n    function xpathToString(xpathArray) {\n      return xpathArray.reduce(function(str, elm) {\n        if (elm.id) {\n          return '//'.concat(elm.str, '[@id=\\'').concat(elm.id, '\\']');\n        } else {\n          return str + '/'.concat(elm.str) + (elm.count > 0 ? '['.concat(elm.count, ']') : '');\n        }\n      }, '');\n    }\n    function getXpath(node) {\n      var xpathArray = getXPathArray(node);\n      return xpathToString(xpathArray);\n    }\n    var get_xpath_default = getXpath;\n    var _cache = {};\n    var cache = {\n      set: function set(key, value) {\n        validateKey(key);\n        _cache[key] = value;\n      },\n      get: function get(key, creator) {\n        validateCreator(creator);\n        if (key in _cache) {\n          return _cache[key];\n        }\n        if (typeof creator === 'function') {\n          var value = creator();\n          assert_default(value !== void 0, 'Cache creator function should not return undefined');\n          this.set(key, value);\n          return _cache[key];\n        }\n      },\n      clear: function clear() {\n        _cache = {};\n      }\n    };\n    function validateKey(key) {\n      assert_default(typeof key === 'string', 'key must be a string, ' + _typeof(key) + ' given');\n      assert_default(key !== '', 'key must not be empty');\n    }\n    function validateCreator(creator) {\n      assert_default(typeof creator === 'function' || typeof creator === 'undefined', 'creator must be a function or undefined, ' + _typeof(creator) + ' given');\n    }\n    var cache_default = cache;\n    function getNodeFromTree(vNode, node) {\n      var el = node || vNode;\n      return cache_default.get('nodeMap') ? cache_default.get('nodeMap').get(el) : null;\n    }\n    var get_node_from_tree_default = getNodeFromTree;\n    var dom_exports = {};\n    __export(dom_exports, {\n      createGrid: function createGrid() {\n        return _createGrid;\n      },\n      findElmsInContext: function findElmsInContext() {\n        return find_elms_in_context_default;\n      },\n      findNearbyElms: function findNearbyElms() {\n        return _findNearbyElms;\n      },\n      findUp: function findUp() {\n        return find_up_default;\n      },\n      findUpVirtual: function findUpVirtual() {\n        return find_up_virtual_default;\n      },\n      focusDisabled: function focusDisabled() {\n        return focus_disabled_default;\n      },\n      getComposedParent: function getComposedParent() {\n        return get_composed_parent_default;\n      },\n      getElementByReference: function getElementByReference() {\n        return get_element_by_reference_default;\n      },\n      getElementCoordinates: function getElementCoordinates() {\n        return get_element_coordinates_default;\n      },\n      getElementStack: function getElementStack() {\n        return get_element_stack_default;\n      },\n      getModalDialog: function getModalDialog() {\n        return get_modal_dialog_default;\n      },\n      getNodeGrid: function getNodeGrid() {\n        return _getNodeGrid;\n      },\n      getOverflowHiddenAncestors: function getOverflowHiddenAncestors() {\n        return get_overflow_hidden_ancestors_default;\n      },\n      getRootNode: function getRootNode() {\n        return get_root_node_default2;\n      },\n      getScrollOffset: function getScrollOffset() {\n        return get_scroll_offset_default;\n      },\n      getTabbableElements: function getTabbableElements() {\n        return get_tabbable_elements_default;\n      },\n      getTargetRects: function getTargetRects() {\n        return get_target_rects_default;\n      },\n      getTargetSize: function getTargetSize() {\n        return get_target_size_default;\n      },\n      getTextElementStack: function getTextElementStack() {\n        return get_text_element_stack_default;\n      },\n      getViewportSize: function getViewportSize() {\n        return get_viewport_size_default;\n      },\n      getVisibleChildTextRects: function getVisibleChildTextRects() {\n        return get_visible_child_text_rects_default;\n      },\n      hasContent: function hasContent() {\n        return has_content_default;\n      },\n      hasContentVirtual: function hasContentVirtual() {\n        return has_content_virtual_default;\n      },\n      hasLangText: function hasLangText() {\n        return _hasLangText;\n      },\n      idrefs: function idrefs() {\n        return idrefs_default;\n      },\n      insertedIntoFocusOrder: function insertedIntoFocusOrder() {\n        return inserted_into_focus_order_default;\n      },\n      isCurrentPageLink: function isCurrentPageLink() {\n        return _isCurrentPageLink;\n      },\n      isFocusable: function isFocusable() {\n        return _isFocusable;\n      },\n      isHTML5: function isHTML5() {\n        return is_html5_default;\n      },\n      isHiddenForEveryone: function isHiddenForEveryone() {\n        return _isHiddenForEveryone;\n      },\n      isHiddenWithCSS: function isHiddenWithCSS() {\n        return is_hidden_with_css_default;\n      },\n      isInTabOrder: function isInTabOrder() {\n        return _isInTabOrder;\n      },\n      isInTextBlock: function isInTextBlock() {\n        return is_in_text_block_default;\n      },\n      isInert: function isInert() {\n        return _isInert;\n      },\n      isModalOpen: function isModalOpen() {\n        return is_modal_open_default;\n      },\n      isMultiline: function isMultiline() {\n        return _isMultiline;\n      },\n      isNativelyFocusable: function isNativelyFocusable() {\n        return is_natively_focusable_default;\n      },\n      isNode: function isNode() {\n        return is_node_default;\n      },\n      isOffscreen: function isOffscreen() {\n        return is_offscreen_default;\n      },\n      isOpaque: function isOpaque() {\n        return is_opaque_default;\n      },\n      isSkipLink: function isSkipLink() {\n        return _isSkipLink;\n      },\n      isVisible: function isVisible() {\n        return is_visible_default;\n      },\n      isVisibleOnScreen: function isVisibleOnScreen() {\n        return _isVisibleOnScreen;\n      },\n      isVisibleToScreenReaders: function isVisibleToScreenReaders() {\n        return _isVisibleToScreenReaders;\n      },\n      isVisualContent: function isVisualContent() {\n        return is_visual_content_default;\n      },\n      reduceToElementsBelowFloating: function reduceToElementsBelowFloating() {\n        return reduce_to_elements_below_floating_default;\n      },\n      shadowElementsFromPoint: function shadowElementsFromPoint() {\n        return shadow_elements_from_point_default;\n      },\n      urlPropsFromAttribute: function urlPropsFromAttribute() {\n        return url_props_from_attribute_default;\n      },\n      visuallyContains: function visuallyContains() {\n        return _visuallyContains;\n      },\n      visuallyOverlaps: function visuallyOverlaps() {\n        return visually_overlaps_default;\n      },\n      visuallySort: function visuallySort() {\n        return _visuallySort;\n      }\n    });\n    function getRootNode(node) {\n      var doc = node.getRootNode && node.getRootNode() || document;\n      if (doc === node) {\n        doc = document;\n      }\n      return doc;\n    }\n    var get_root_node_default = getRootNode;\n    var get_root_node_default2 = get_root_node_default;\n    function findElmsInContext(_ref24) {\n      var context = _ref24.context, value = _ref24.value, attr = _ref24.attr, _ref24$elm = _ref24.elm, elm = _ref24$elm === void 0 ? '' : _ref24$elm;\n      var root;\n      var escapedValue = escape_selector_default(value);\n      if (context.nodeType === 9 || context.nodeType === 11) {\n        root = context;\n      } else {\n        root = get_root_node_default2(context);\n      }\n      return Array.from(root.querySelectorAll(elm + '[' + attr + '=' + escapedValue + ']'));\n    }\n    var find_elms_in_context_default = findElmsInContext;\n    function findUpVirtual(element, target) {\n      var parent;\n      parent = element.actualNode;\n      if (!element.shadowId && typeof element.actualNode.closest === 'function') {\n        var match = element.actualNode.closest(target);\n        if (match) {\n          return match;\n        }\n        return null;\n      }\n      do {\n        parent = parent.assignedSlot ? parent.assignedSlot : parent.parentNode;\n        if (parent && parent.nodeType === 11) {\n          parent = parent.host;\n        }\n      } while (parent && !element_matches_default(parent, target) && parent !== document.documentElement);\n      if (!parent) {\n        return null;\n      }\n      if (!element_matches_default(parent, target)) {\n        return null;\n      }\n      return parent;\n    }\n    var find_up_virtual_default = findUpVirtual;\n    function findUp(element, target) {\n      return find_up_virtual_default(get_node_from_tree_default(element), target);\n    }\n    var find_up_default = findUp;\n    function _rectsOverlap(rect1, rect2) {\n      return (rect1.left | 0) < (rect2.right | 0) && (rect1.right | 0) > (rect2.left | 0) && (rect1.top | 0) < (rect2.bottom | 0) && (rect1.bottom | 0) > (rect2.top | 0);\n    }\n    var getOverflowHiddenAncestors = memoize_default(function getOverflowHiddenAncestorsMemoized(vNode) {\n      var ancestors = [];\n      if (!vNode) {\n        return ancestors;\n      }\n      var overflow = vNode.getComputedStylePropertyValue('overflow');\n      if (overflow === 'hidden') {\n        ancestors.push(vNode);\n      }\n      return ancestors.concat(getOverflowHiddenAncestors(vNode.parent));\n    });\n    var get_overflow_hidden_ancestors_default = getOverflowHiddenAncestors;\n    var clipRegex = /rect\\s*\\(([0-9]+)px,?\\s*([0-9]+)px,?\\s*([0-9]+)px,?\\s*([0-9]+)px\\s*\\)/;\n    var clipPathRegex = /(\\w+)\\((\\d+)/;\n    function nativelyHidden(vNode) {\n      return [ 'style', 'script', 'noscript', 'template' ].includes(vNode.props.nodeName);\n    }\n    function displayHidden(vNode) {\n      if (vNode.props.nodeName === 'area') {\n        return false;\n      }\n      return vNode.getComputedStylePropertyValue('display') === 'none';\n    }\n    function visibilityHidden(vNode) {\n      var _ref25 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, isAncestor = _ref25.isAncestor;\n      return !isAncestor && [ 'hidden', 'collapse' ].includes(vNode.getComputedStylePropertyValue('visibility'));\n    }\n    function contentVisibiltyHidden(vNode) {\n      var _ref26 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, isAncestor = _ref26.isAncestor;\n      return !!isAncestor && vNode.getComputedStylePropertyValue('content-visibility') === 'hidden';\n    }\n    function ariaHidden(vNode) {\n      return vNode.attr('aria-hidden') === 'true';\n    }\n    function opacityHidden(vNode) {\n      return vNode.getComputedStylePropertyValue('opacity') === '0';\n    }\n    function scrollHidden(vNode) {\n      var scroll = get_scroll_default(vNode.actualNode);\n      var elHeight = parseInt(vNode.getComputedStylePropertyValue('height'));\n      var elWidth = parseInt(vNode.getComputedStylePropertyValue('width'));\n      return !!scroll && (elHeight === 0 || elWidth === 0);\n    }\n    function overflowHidden(vNode) {\n      var _ref27 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, isAncestor = _ref27.isAncestor;\n      if (isAncestor) {\n        return false;\n      }\n      var position = vNode.getComputedStylePropertyValue('position');\n      if (position === 'fixed') {\n        return false;\n      }\n      var nodes = get_overflow_hidden_ancestors_default(vNode);\n      if (!nodes.length) {\n        return false;\n      }\n      var rect = vNode.boundingClientRect;\n      return nodes.some(function(node) {\n        if (position === 'absolute' && !hasPositionedAncestorBetween(vNode, node) && node.getComputedStylePropertyValue('position') === 'static') {\n          return false;\n        }\n        var nodeRect = node.boundingClientRect;\n        if (nodeRect.width < 2 || nodeRect.height < 2) {\n          return true;\n        }\n        return !_rectsOverlap(rect, nodeRect);\n      });\n    }\n    function clipHidden(vNode) {\n      var matchesClip = vNode.getComputedStylePropertyValue('clip').match(clipRegex);\n      var matchesClipPath = vNode.getComputedStylePropertyValue('clip-path').match(clipPathRegex);\n      if (matchesClip && matchesClip.length === 5) {\n        var position = vNode.getComputedStylePropertyValue('position');\n        if ([ 'fixed', 'absolute' ].includes(position)) {\n          return matchesClip[3] - matchesClip[1] <= 0 && matchesClip[2] - matchesClip[4] <= 0;\n        }\n      }\n      if (matchesClipPath) {\n        var type2 = matchesClipPath[1];\n        var value = parseInt(matchesClipPath[2], 10);\n        switch (type2) {\n         case 'inset':\n          return value >= 50;\n\n         case 'circle':\n          return value === 0;\n\n         default:\n        }\n      }\n      return false;\n    }\n    function areaHidden(vNode, visibleFunction) {\n      var mapEl = closest_default(vNode, 'map');\n      if (!mapEl) {\n        return true;\n      }\n      var mapElName = mapEl.attr('name');\n      if (!mapElName) {\n        return true;\n      }\n      var mapElRootNode = get_root_node_default(vNode.actualNode);\n      if (!mapElRootNode || mapElRootNode.nodeType !== 9) {\n        return true;\n      }\n      var refs = query_selector_all_default(axe._tree, 'img[usemap=\"#'.concat(escape_selector_default(mapElName), '\"]'));\n      if (!refs || !refs.length) {\n        return true;\n      }\n      return refs.some(function(ref) {\n        return !visibleFunction(ref);\n      });\n    }\n    function detailsHidden(vNode) {\n      var _vNode$parent;\n      if (((_vNode$parent = vNode.parent) === null || _vNode$parent === void 0 ? void 0 : _vNode$parent.props.nodeName) !== 'details') {\n        return false;\n      }\n      if (vNode.props.nodeName === 'summary') {\n        var firstSummary = vNode.parent.children.find(function(node) {\n          return node.props.nodeName === 'summary';\n        });\n        if (firstSummary === vNode) {\n          return false;\n        }\n      }\n      return !vNode.parent.hasAttr('open');\n    }\n    function hasPositionedAncestorBetween(child, ancestor) {\n      var node = child.parent;\n      while (node && node !== ancestor) {\n        if ([ 'relative', 'sticky' ].includes(node.getComputedStylePropertyValue('position'))) {\n          return true;\n        }\n        node = node.parent;\n      }\n      return false;\n    }\n    var hiddenMethods = [ displayHidden, visibilityHidden, contentVisibiltyHidden, detailsHidden ];\n    function _isHiddenForEveryone(vNode) {\n      var _ref28 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, skipAncestors = _ref28.skipAncestors, _ref28$isAncestor = _ref28.isAncestor, isAncestor = _ref28$isAncestor === void 0 ? false : _ref28$isAncestor;\n      vNode = _nodeLookup(vNode).vNode;\n      if (skipAncestors) {\n        return isHiddenSelf(vNode, isAncestor);\n      }\n      return isHiddenAncestors(vNode, isAncestor);\n    }\n    var isHiddenSelf = memoize_default(function isHiddenSelfMemoized(vNode, isAncestor) {\n      if (nativelyHidden(vNode)) {\n        return true;\n      }\n      if (!vNode.actualNode) {\n        return false;\n      }\n      if (hiddenMethods.some(function(method) {\n        return method(vNode, {\n          isAncestor: isAncestor\n        });\n      })) {\n        return true;\n      }\n      if (!vNode.actualNode.isConnected) {\n        return true;\n      }\n      return false;\n    });\n    var isHiddenAncestors = memoize_default(function isHiddenAncestorsMemoized(vNode, isAncestor) {\n      if (isHiddenSelf(vNode, isAncestor)) {\n        return true;\n      }\n      if (!vNode.parent) {\n        return false;\n      }\n      return isHiddenAncestors(vNode.parent, true);\n    });\n    function getComposedParent(element) {\n      if (element.assignedSlot) {\n        return getComposedParent(element.assignedSlot);\n      } else if (element.parentNode) {\n        var parentNode = element.parentNode;\n        if (parentNode.nodeType === 1) {\n          return parentNode;\n        } else if (parentNode.host) {\n          return parentNode.host;\n        }\n      }\n      return null;\n    }\n    var get_composed_parent_default = getComposedParent;\n    function getScrollOffset(element) {\n      if (!element.nodeType && element.document) {\n        element = element.document;\n      }\n      if (element.nodeType === 9) {\n        var docElement = element.documentElement, body = element.body;\n        return {\n          left: docElement && docElement.scrollLeft || body && body.scrollLeft || 0,\n          top: docElement && docElement.scrollTop || body && body.scrollTop || 0\n        };\n      }\n      return {\n        left: element.scrollLeft,\n        top: element.scrollTop\n      };\n    }\n    var get_scroll_offset_default = getScrollOffset;\n    function getElementCoordinates(element) {\n      var scrollOffset = get_scroll_offset_default(document), xOffset = scrollOffset.left, yOffset = scrollOffset.top, coords = element.getBoundingClientRect();\n      return {\n        top: coords.top + yOffset,\n        right: coords.right + xOffset,\n        bottom: coords.bottom + yOffset,\n        left: coords.left + xOffset,\n        width: coords.right - coords.left,\n        height: coords.bottom - coords.top\n      };\n    }\n    var get_element_coordinates_default = getElementCoordinates;\n    function getViewportSize(win) {\n      var doc = win.document;\n      var docElement = doc.documentElement;\n      if (win.innerWidth) {\n        return {\n          width: win.innerWidth,\n          height: win.innerHeight\n        };\n      }\n      if (docElement) {\n        return {\n          width: docElement.clientWidth,\n          height: docElement.clientHeight\n        };\n      }\n      var body = doc.body;\n      return {\n        width: body.clientWidth,\n        height: body.clientHeight\n      };\n    }\n    var get_viewport_size_default = getViewportSize;\n    function noParentScrolled(element, offset) {\n      element = get_composed_parent_default(element);\n      while (element && element.nodeName.toLowerCase() !== 'html') {\n        if (element.scrollTop) {\n          offset += element.scrollTop;\n          if (offset >= 0) {\n            return false;\n          }\n        }\n        element = get_composed_parent_default(element);\n      }\n      return true;\n    }\n    function isOffscreen(element) {\n      var _ref29 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, isAncestor = _ref29.isAncestor;\n      if (isAncestor) {\n        return false;\n      }\n      var _nodeLookup2 = _nodeLookup(element), domNode = _nodeLookup2.domNode;\n      if (!domNode) {\n        return void 0;\n      }\n      var leftBoundary;\n      var docElement = document.documentElement;\n      var styl = window.getComputedStyle(domNode);\n      var dir = window.getComputedStyle(document.body || docElement).getPropertyValue('direction');\n      var coords = get_element_coordinates_default(domNode);\n      if (coords.bottom < 0 && (noParentScrolled(domNode, coords.bottom) || styl.position === 'absolute')) {\n        return true;\n      }\n      if (coords.left === 0 && coords.right === 0) {\n        return false;\n      }\n      if (dir === 'ltr') {\n        if (coords.right <= 0) {\n          return true;\n        }\n      } else {\n        leftBoundary = Math.max(docElement.scrollWidth, get_viewport_size_default(window).width);\n        if (coords.left >= leftBoundary) {\n          return true;\n        }\n      }\n      return false;\n    }\n    var is_offscreen_default = isOffscreen;\n    var hiddenMethods2 = [ opacityHidden, scrollHidden, overflowHidden, clipHidden, is_offscreen_default ];\n    function _isVisibleOnScreen(vNode) {\n      vNode = _nodeLookup(vNode).vNode;\n      return isVisibleOnScreenVirtual(vNode);\n    }\n    var isVisibleOnScreenVirtual = memoize_default(function isVisibleOnScreenMemoized(vNode, isAncestor) {\n      if (vNode.actualNode && vNode.props.nodeName === 'area') {\n        return !areaHidden(vNode, isVisibleOnScreenVirtual);\n      }\n      if (_isHiddenForEveryone(vNode, {\n        skipAncestors: true,\n        isAncestor: isAncestor\n      })) {\n        return false;\n      }\n      if (vNode.actualNode && hiddenMethods2.some(function(method) {\n        return method(vNode, {\n          isAncestor: isAncestor\n        });\n      })) {\n        return false;\n      }\n      if (!vNode.parent) {\n        return true;\n      }\n      return isVisibleOnScreenVirtual(vNode.parent, true);\n    });\n    function _getBoundingRect(rectA, rectB) {\n      var top = Math.min(rectA.top, rectB.top);\n      var right = Math.max(rectA.right, rectB.right);\n      var bottom = Math.max(rectA.bottom, rectB.bottom);\n      var left = Math.min(rectA.left, rectB.left);\n      return new window.DOMRect(left, top, right - left, bottom - top);\n    }\n    function _isPointInRect(_ref30, _ref31) {\n      var x = _ref30.x, y = _ref30.y;\n      var top = _ref31.top, right = _ref31.right, bottom = _ref31.bottom, left = _ref31.left;\n      return y >= top && x <= right && y <= bottom && x >= left;\n    }\n    var math_exports = {};\n    __export(math_exports, {\n      getBoundingRect: function getBoundingRect() {\n        return _getBoundingRect;\n      },\n      getIntersectionRect: function getIntersectionRect() {\n        return _getIntersectionRect;\n      },\n      getOffset: function getOffset() {\n        return _getOffset;\n      },\n      getRectCenter: function getRectCenter() {\n        return _getRectCenter;\n      },\n      hasVisualOverlap: function hasVisualOverlap() {\n        return _hasVisualOverlap;\n      },\n      isPointInRect: function isPointInRect() {\n        return _isPointInRect;\n      },\n      rectHasMinimumSize: function rectHasMinimumSize() {\n        return _rectHasMinimumSize;\n      },\n      rectsOverlap: function rectsOverlap() {\n        return _rectsOverlap;\n      },\n      splitRects: function splitRects() {\n        return _splitRects;\n      }\n    });\n    function _getIntersectionRect(rect1, rect2) {\n      var leftX = Math.max(rect1.left, rect2.left);\n      var rightX = Math.min(rect1.right, rect2.right);\n      var topY = Math.max(rect1.top, rect2.top);\n      var bottomY = Math.min(rect1.bottom, rect2.bottom);\n      if (leftX >= rightX || topY >= bottomY) {\n        return null;\n      }\n      return new window.DOMRect(leftX, topY, rightX - leftX, bottomY - topY);\n    }\n    function _getRectCenter(_ref32) {\n      var left = _ref32.left, top = _ref32.top, width = _ref32.width, height = _ref32.height;\n      return new window.DOMPoint(left + width / 2, top + height / 2);\n    }\n    var roundingMargin = .05;\n    function _rectHasMinimumSize(minSize, _ref33) {\n      var width = _ref33.width, height = _ref33.height;\n      return width + roundingMargin >= minSize && height + roundingMargin >= minSize;\n    }\n    function _getOffset(vTarget, vNeighbor) {\n      var minRadiusNeighbour = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 12;\n      var targetRects = get_target_rects_default(vTarget);\n      var neighborRects = get_target_rects_default(vNeighbor);\n      if (!targetRects.length || !neighborRects.length) {\n        return null;\n      }\n      var targetBoundingBox = targetRects.reduce(_getBoundingRect);\n      var targetCenter = _getRectCenter(targetBoundingBox);\n      var minDistance = Infinity;\n      var _iterator7 = _createForOfIteratorHelper(neighborRects), _step7;\n      try {\n        for (_iterator7.s(); !(_step7 = _iterator7.n()).done; ) {\n          var rect = _step7.value;\n          if (_isPointInRect(targetCenter, rect)) {\n            return 0;\n          }\n          var closestPoint = getClosestPoint(targetCenter, rect);\n          var distance2 = pointDistance(targetCenter, closestPoint);\n          minDistance = Math.min(minDistance, distance2);\n        }\n      } catch (err) {\n        _iterator7.e(err);\n      } finally {\n        _iterator7.f();\n      }\n      var neighborTargetSize = get_target_size_default(vNeighbor);\n      if (_rectHasMinimumSize(minRadiusNeighbour * 2, neighborTargetSize)) {\n        return minDistance;\n      }\n      var neighborBoundingBox = neighborRects.reduce(_getBoundingRect);\n      var neighborCenter = _getRectCenter(neighborBoundingBox);\n      var centerDistance = pointDistance(targetCenter, neighborCenter) - minRadiusNeighbour;\n      return Math.max(0, Math.min(minDistance, centerDistance));\n    }\n    function getClosestPoint(point, rect) {\n      var x;\n      var y;\n      if (point.x < rect.left) {\n        x = rect.left;\n      } else if (point.x > rect.right) {\n        x = rect.right;\n      } else {\n        x = point.x;\n      }\n      if (point.y < rect.top) {\n        y = rect.top;\n      } else if (point.y > rect.bottom) {\n        y = rect.bottom;\n      } else {\n        y = point.y;\n      }\n      return {\n        x: x,\n        y: y\n      };\n    }\n    function pointDistance(pointA, pointB) {\n      return Math.hypot(pointA.x - pointB.x, pointA.y - pointB.y);\n    }\n    function _hasVisualOverlap(vNodeA, vNodeB) {\n      var rectA = vNodeA.boundingClientRect;\n      var rectB = vNodeB.boundingClientRect;\n      if (rectA.left >= rectB.right || rectA.right <= rectB.left || rectA.top >= rectB.bottom || rectA.bottom <= rectB.top) {\n        return false;\n      }\n      return _visuallySort(vNodeA, vNodeB) > 0;\n    }\n    function _splitRects(outerRect, overlapRects) {\n      var uniqueRects = [ outerRect ];\n      var _iterator8 = _createForOfIteratorHelper(overlapRects), _step8;\n      try {\n        var _loop6 = function _loop6() {\n          var overlapRect = _step8.value;\n          uniqueRects = uniqueRects.reduce(function(rects, inputRect) {\n            return rects.concat(splitRect(inputRect, overlapRect));\n          }, []);\n          if (uniqueRects.length > 4e3) {\n            throw new Error('splitRects: Too many rects');\n          }\n        };\n        for (_iterator8.s(); !(_step8 = _iterator8.n()).done; ) {\n          _loop6();\n        }\n      } catch (err) {\n        _iterator8.e(err);\n      } finally {\n        _iterator8.f();\n      }\n      return uniqueRects;\n    }\n    function splitRect(inputRect, clipRect) {\n      var top = inputRect.top, left = inputRect.left, bottom = inputRect.bottom, right = inputRect.right;\n      var yAligned = top < clipRect.bottom && bottom > clipRect.top;\n      var xAligned = left < clipRect.right && right > clipRect.left;\n      var rects = [];\n      if (between(clipRect.top, top, bottom) && xAligned) {\n        rects.push({\n          top: top,\n          left: left,\n          bottom: clipRect.top,\n          right: right\n        });\n      }\n      if (between(clipRect.right, left, right) && yAligned) {\n        rects.push({\n          top: top,\n          left: clipRect.right,\n          bottom: bottom,\n          right: right\n        });\n      }\n      if (between(clipRect.bottom, top, bottom) && xAligned) {\n        rects.push({\n          top: clipRect.bottom,\n          right: right,\n          bottom: bottom,\n          left: left\n        });\n      }\n      if (between(clipRect.left, left, right) && yAligned) {\n        rects.push({\n          top: top,\n          left: left,\n          bottom: bottom,\n          right: clipRect.left\n        });\n      }\n      if (rects.length === 0) {\n        if (isEnclosedRect(inputRect, clipRect)) {\n          return [];\n        }\n        rects.push(inputRect);\n      }\n      return rects.map(computeRect);\n    }\n    var between = function between(num, min, max2) {\n      return num > min && num < max2;\n    };\n    function computeRect(baseRect) {\n      return new window.DOMRect(baseRect.left, baseRect.top, baseRect.right - baseRect.left, baseRect.bottom - baseRect.top);\n    }\n    function isEnclosedRect(rectA, rectB) {\n      return rectA.top >= rectB.top && rectA.left >= rectB.left && rectA.bottom <= rectB.bottom && rectA.right <= rectB.right;\n    }\n    var ROOT_LEVEL = 0;\n    var DEFAULT_LEVEL = .1;\n    var FLOAT_LEVEL = .2;\n    var POSITION_LEVEL = .3;\n    var nodeIndex = 0;\n    function _createGrid() {\n      var root = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document.body;\n      var rootGrid = arguments.length > 1 ? arguments[1] : undefined;\n      var parentVNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n      if (cache_default.get('gridCreated') && !parentVNode) {\n        return constants_default.gridSize;\n      }\n      cache_default.set('gridCreated', true);\n      if (!parentVNode) {\n        var vNode = get_node_from_tree_default(document.documentElement);\n        if (!vNode) {\n          vNode = new virtual_node_default(document.documentElement);\n        }\n        nodeIndex = 0;\n        vNode._stackingOrder = [ createStackingContext(ROOT_LEVEL, nodeIndex++, null) ];\n        rootGrid !== null && rootGrid !== void 0 ? rootGrid : rootGrid = new Grid();\n        addNodeToGrid(rootGrid, vNode);\n        if (get_scroll_default(vNode.actualNode)) {\n          var subGrid = new Grid(vNode);\n          vNode._subGrid = subGrid;\n        }\n      }\n      var treeWalker = document.createTreeWalker(root, window.NodeFilter.SHOW_ELEMENT, null, false);\n      var node = parentVNode ? treeWalker.nextNode() : treeWalker.currentNode;\n      while (node) {\n        var _vNode = get_node_from_tree_default(node);\n        if (_vNode && _vNode.parent) {\n          parentVNode = _vNode.parent;\n        } else if (node.assignedSlot) {\n          parentVNode = get_node_from_tree_default(node.assignedSlot);\n        } else if (node.parentElement) {\n          parentVNode = get_node_from_tree_default(node.parentElement);\n        } else if (node.parentNode && get_node_from_tree_default(node.parentNode)) {\n          parentVNode = get_node_from_tree_default(node.parentNode);\n        }\n        if (!_vNode) {\n          _vNode = new axe.VirtualNode(node, parentVNode);\n        }\n        _vNode._stackingOrder = createStackingOrder(_vNode, parentVNode, nodeIndex++);\n        var scrollRegionParent = findScrollRegionParent(_vNode, parentVNode);\n        var grid = scrollRegionParent ? scrollRegionParent._subGrid : rootGrid;\n        if (get_scroll_default(_vNode.actualNode)) {\n          var _subGrid = new Grid(_vNode);\n          _vNode._subGrid = _subGrid;\n        }\n        var rect = _vNode.boundingClientRect;\n        if (rect.width !== 0 && rect.height !== 0 && _isVisibleOnScreen(node)) {\n          addNodeToGrid(grid, _vNode);\n        }\n        if (is_shadow_root_default(node)) {\n          _createGrid(node.shadowRoot, grid, _vNode);\n        }\n        node = treeWalker.nextNode();\n      }\n      return constants_default.gridSize;\n    }\n    function isStackingContext(vNode, parentVNode) {\n      var position = vNode.getComputedStylePropertyValue('position');\n      var zIndex = vNode.getComputedStylePropertyValue('z-index');\n      if (position === 'fixed' || position === 'sticky') {\n        return true;\n      }\n      if (zIndex !== 'auto' && position !== 'static') {\n        return true;\n      }\n      if (vNode.getComputedStylePropertyValue('opacity') !== '1') {\n        return true;\n      }\n      var transform = vNode.getComputedStylePropertyValue('-webkit-transform') || vNode.getComputedStylePropertyValue('-ms-transform') || vNode.getComputedStylePropertyValue('transform') || 'none';\n      if (transform !== 'none') {\n        return true;\n      }\n      var mixBlendMode = vNode.getComputedStylePropertyValue('mix-blend-mode');\n      if (mixBlendMode && mixBlendMode !== 'normal') {\n        return true;\n      }\n      var filter = vNode.getComputedStylePropertyValue('filter');\n      if (filter && filter !== 'none') {\n        return true;\n      }\n      var perspective = vNode.getComputedStylePropertyValue('perspective');\n      if (perspective && perspective !== 'none') {\n        return true;\n      }\n      var clipPath = vNode.getComputedStylePropertyValue('clip-path');\n      if (clipPath && clipPath !== 'none') {\n        return true;\n      }\n      var mask = vNode.getComputedStylePropertyValue('-webkit-mask') || vNode.getComputedStylePropertyValue('mask') || 'none';\n      if (mask !== 'none') {\n        return true;\n      }\n      var maskImage = vNode.getComputedStylePropertyValue('-webkit-mask-image') || vNode.getComputedStylePropertyValue('mask-image') || 'none';\n      if (maskImage !== 'none') {\n        return true;\n      }\n      var maskBorder = vNode.getComputedStylePropertyValue('-webkit-mask-border') || vNode.getComputedStylePropertyValue('mask-border') || 'none';\n      if (maskBorder !== 'none') {\n        return true;\n      }\n      if (vNode.getComputedStylePropertyValue('isolation') === 'isolate') {\n        return true;\n      }\n      var willChange = vNode.getComputedStylePropertyValue('will-change');\n      if (willChange === 'transform' || willChange === 'opacity') {\n        return true;\n      }\n      if (vNode.getComputedStylePropertyValue('-webkit-overflow-scrolling') === 'touch') {\n        return true;\n      }\n      var contain = vNode.getComputedStylePropertyValue('contain');\n      if ([ 'layout', 'paint', 'strict', 'content' ].includes(contain)) {\n        return true;\n      }\n      if (zIndex !== 'auto' && isFlexOrGridContainer(parentVNode)) {\n        return true;\n      }\n      return false;\n    }\n    function isFlexOrGridContainer(vNode) {\n      if (!vNode) {\n        return false;\n      }\n      var display2 = vNode.getComputedStylePropertyValue('display');\n      return [ 'flex', 'inline-flex', 'grid', 'inline-grid' ].includes(display2);\n    }\n    function createStackingOrder(vNode, parentVNode, treeOrder) {\n      var stackingOrder = parentVNode._stackingOrder.slice();\n      if (isStackingContext(vNode, parentVNode)) {\n        var index = stackingOrder.findIndex(function(_ref34) {\n          var stackLevel2 = _ref34.stackLevel;\n          return [ ROOT_LEVEL, FLOAT_LEVEL, POSITION_LEVEL ].includes(stackLevel2);\n        });\n        if (index !== -1) {\n          stackingOrder.splice(index, stackingOrder.length - index);\n        }\n      }\n      var stackLevel = getStackLevel(vNode, parentVNode);\n      if (stackLevel !== null) {\n        stackingOrder.push(createStackingContext(stackLevel, treeOrder, vNode));\n      }\n      return stackingOrder;\n    }\n    function createStackingContext(stackLevel, treeOrder, vNode) {\n      return {\n        stackLevel: stackLevel,\n        treeOrder: treeOrder,\n        vNode: vNode\n      };\n    }\n    function getStackLevel(vNode, parentVNode) {\n      var zIndex = getRealZIndex(vNode, parentVNode);\n      if (![ 'auto', '0' ].includes(zIndex)) {\n        return parseInt(zIndex);\n      }\n      if (vNode.getComputedStylePropertyValue('position') !== 'static') {\n        return POSITION_LEVEL;\n      }\n      if (vNode.getComputedStylePropertyValue('float') !== 'none') {\n        return FLOAT_LEVEL;\n      }\n      if (isStackingContext(vNode, parentVNode)) {\n        return DEFAULT_LEVEL;\n      }\n      return null;\n    }\n    function getRealZIndex(vNode, parentVNode) {\n      var position = vNode.getComputedStylePropertyValue('position');\n      if (position === 'static' && !isFlexOrGridContainer(parentVNode)) {\n        return 'auto';\n      }\n      return vNode.getComputedStylePropertyValue('z-index');\n    }\n    function findScrollRegionParent(vNode, parentVNode) {\n      var scrollRegionParent = null;\n      var checkedNodes = [ vNode ];\n      while (parentVNode) {\n        if (get_scroll_default(parentVNode.actualNode)) {\n          scrollRegionParent = parentVNode;\n          break;\n        }\n        if (parentVNode._scrollRegionParent) {\n          scrollRegionParent = parentVNode._scrollRegionParent;\n          break;\n        }\n        checkedNodes.push(parentVNode);\n        parentVNode = get_node_from_tree_default(parentVNode.actualNode.parentElement || parentVNode.actualNode.parentNode);\n      }\n      checkedNodes.forEach(function(virtualNode) {\n        return virtualNode._scrollRegionParent = scrollRegionParent;\n      });\n      return scrollRegionParent;\n    }\n    function addNodeToGrid(grid, vNode) {\n      var overflowHiddenNodes = get_overflow_hidden_ancestors_default(vNode);\n      vNode.clientRects.forEach(function(clientRect) {\n        var _vNode$_grid;\n        var visibleRect = overflowHiddenNodes.reduce(function(rect, overflowNode) {\n          return rect && _getIntersectionRect(rect, overflowNode.boundingClientRect);\n        }, clientRect);\n        if (!visibleRect) {\n          return;\n        }\n        (_vNode$_grid = vNode._grid) !== null && _vNode$_grid !== void 0 ? _vNode$_grid : vNode._grid = grid;\n        var gridRect = grid.getGridPositionOfRect(visibleRect);\n        grid.loopGridPosition(gridRect, function(gridCell) {\n          if (!gridCell.includes(vNode)) {\n            gridCell.push(vNode);\n          }\n        });\n      });\n    }\n    var Grid = function() {\n      function Grid() {\n        var container = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n        _classCallCheck(this, Grid);\n        this.container = container;\n        this.cells = [];\n      }\n      return _createClass(Grid, [ {\n        key: 'toGridIndex',\n        value: function toGridIndex(num) {\n          return Math.floor(num / constants_default.gridSize);\n        }\n      }, {\n        key: 'getCellFromPoint',\n        value: function getCellFromPoint(_ref35) {\n          var _this$cells, _row;\n          var x = _ref35.x, y = _ref35.y;\n          assert_default(this.boundaries, 'Grid does not have cells added');\n          var rowIndex = this.toGridIndex(y);\n          var colIndex = this.toGridIndex(x);\n          assert_default(_isPointInRect({\n            y: rowIndex,\n            x: colIndex\n          }, this.boundaries), 'Element midpoint exceeds the grid bounds');\n          var row = (_this$cells = this.cells[rowIndex - this.cells._negativeIndex]) !== null && _this$cells !== void 0 ? _this$cells : [];\n          return (_row = row[colIndex - row._negativeIndex]) !== null && _row !== void 0 ? _row : [];\n        }\n      }, {\n        key: 'loopGridPosition',\n        value: function loopGridPosition(gridPosition, callback) {\n          var _gridPosition = gridPosition, left = _gridPosition.left, right = _gridPosition.right, top = _gridPosition.top, bottom = _gridPosition.bottom;\n          if (this.boundaries) {\n            gridPosition = _getBoundingRect(this.boundaries, gridPosition);\n          }\n          this.boundaries = gridPosition;\n          loopNegativeIndexMatrix(this.cells, top, bottom, function(gridRow, row) {\n            loopNegativeIndexMatrix(gridRow, left, right, function(gridCell, col) {\n              callback(gridCell, {\n                row: row,\n                col: col\n              });\n            });\n          });\n        }\n      }, {\n        key: 'getGridPositionOfRect',\n        value: function getGridPositionOfRect(_ref36) {\n          var top = _ref36.top, right = _ref36.right, bottom = _ref36.bottom, left = _ref36.left;\n          var margin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n          top = this.toGridIndex(top - margin);\n          right = this.toGridIndex(right + margin - 1);\n          bottom = this.toGridIndex(bottom + margin - 1);\n          left = this.toGridIndex(left - margin);\n          return new window.DOMRect(left, top, right - left, bottom - top);\n        }\n      } ]);\n    }();\n    function loopNegativeIndexMatrix(matrix, start, end, callback) {\n      var _matrix$_negativeInde;\n      (_matrix$_negativeInde = matrix._negativeIndex) !== null && _matrix$_negativeInde !== void 0 ? _matrix$_negativeInde : matrix._negativeIndex = 0;\n      if (start < matrix._negativeIndex) {\n        for (var i = 0; i < matrix._negativeIndex - start; i++) {\n          matrix.splice(0, 0, []);\n        }\n        matrix._negativeIndex = start;\n      }\n      var startOffset = start - matrix._negativeIndex;\n      var endOffset = end - matrix._negativeIndex;\n      for (var index = startOffset; index <= endOffset; index++) {\n        var _index, _matrix$_index;\n        (_matrix$_index = matrix[_index = index]) !== null && _matrix$_index !== void 0 ? _matrix$_index : matrix[_index] = [];\n        callback(matrix[index], index + matrix._negativeIndex);\n      }\n    }\n    function _getNodeGrid(node) {\n      _createGrid();\n      var _nodeLookup3 = _nodeLookup(node), vNode = _nodeLookup3.vNode;\n      return vNode._grid;\n    }\n    function _findNearbyElms(vNode) {\n      var _grid$cells;\n      var margin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n      var grid = _getNodeGrid(vNode);\n      if (!(grid !== null && grid !== void 0 && (_grid$cells = grid.cells) !== null && _grid$cells !== void 0 && _grid$cells.length)) {\n        return [];\n      }\n      var rect = vNode.boundingClientRect;\n      var selfIsFixed = hasFixedPosition(vNode);\n      var gridPosition = grid.getGridPositionOfRect(rect, margin);\n      var neighbors = [];\n      grid.loopGridPosition(gridPosition, function(vNeighbors) {\n        var _iterator9 = _createForOfIteratorHelper(vNeighbors), _step9;\n        try {\n          for (_iterator9.s(); !(_step9 = _iterator9.n()).done; ) {\n            var vNeighbor = _step9.value;\n            if (vNeighbor && vNeighbor !== vNode && !neighbors.includes(vNeighbor) && selfIsFixed === hasFixedPosition(vNeighbor)) {\n              neighbors.push(vNeighbor);\n            }\n          }\n        } catch (err) {\n          _iterator9.e(err);\n        } finally {\n          _iterator9.f();\n        }\n      });\n      return neighbors;\n    }\n    var hasFixedPosition = memoize_default(function(vNode) {\n      if (!vNode) {\n        return false;\n      }\n      if (vNode.getComputedStylePropertyValue('position') === 'fixed') {\n        return true;\n      }\n      return hasFixedPosition(vNode.parent);\n    });\n    var getModalDialog = memoize_default(function getModalDialogMemoized() {\n      var _dialogs$find;\n      if (!axe._tree) {\n        return null;\n      }\n      var dialogs = query_selector_all_filter_default(axe._tree[0], 'dialog[open]', function(vNode) {\n        var rect = vNode.boundingClientRect;\n        var stack = document.elementsFromPoint(rect.left + 1, rect.top + 1);\n        return stack.includes(vNode.actualNode) && _isVisibleOnScreen(vNode);\n      });\n      if (!dialogs.length) {\n        return null;\n      }\n      var modalDialog = dialogs.find(function(dialog) {\n        var rect = dialog.boundingClientRect;\n        var stack = document.elementsFromPoint(rect.left - 10, rect.top - 10);\n        return stack.includes(dialog.actualNode);\n      });\n      if (modalDialog) {\n        return modalDialog;\n      }\n      return (_dialogs$find = dialogs.find(function(dialog) {\n        var _getNodeFromGrid;\n        var _ref37 = (_getNodeFromGrid = getNodeFromGrid(dialog)) !== null && _getNodeFromGrid !== void 0 ? _getNodeFromGrid : {}, vNode = _ref37.vNode, rect = _ref37.rect;\n        if (!vNode) {\n          return false;\n        }\n        var stack = document.elementsFromPoint(rect.left + 1, rect.top + 1);\n        return !stack.includes(vNode.actualNode);\n      })) !== null && _dialogs$find !== void 0 ? _dialogs$find : null;\n    });\n    var get_modal_dialog_default = getModalDialog;\n    function getNodeFromGrid(dialog) {\n      _createGrid();\n      var grid = axe._tree[0]._grid;\n      var viewRect = new window.DOMRect(0, 0, window.innerWidth, window.innerHeight);\n      if (!grid) {\n        return;\n      }\n      for (var row = 0; row < grid.cells.length; row++) {\n        var cols = grid.cells[row];\n        if (!cols) {\n          continue;\n        }\n        for (var col = 0; col < cols.length; col++) {\n          var cells = cols[col];\n          if (!cells) {\n            continue;\n          }\n          for (var i = 0; i < cells.length; i++) {\n            var vNode = cells[i];\n            var rect = vNode.boundingClientRect;\n            var intersection = _getIntersectionRect(rect, viewRect);\n            if (vNode.props.nodeName !== 'html' && vNode !== dialog && vNode.getComputedStylePropertyValue('pointer-events') !== 'none' && intersection) {\n              return {\n                vNode: vNode,\n                rect: intersection\n              };\n            }\n          }\n        }\n      }\n    }\n    function _isInert(vNode) {\n      var _ref38 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, skipAncestors = _ref38.skipAncestors, isAncestor = _ref38.isAncestor;\n      if (skipAncestors) {\n        return isInertSelf(vNode, isAncestor);\n      }\n      return isInertAncestors(vNode, isAncestor);\n    }\n    var isInertSelf = memoize_default(function isInertSelfMemoized(vNode, isAncestor) {\n      if (vNode.hasAttr('inert')) {\n        return true;\n      }\n      if (!isAncestor && vNode.actualNode) {\n        var modalDialog = get_modal_dialog_default();\n        if (modalDialog && !_contains(modalDialog, vNode)) {\n          return true;\n        }\n      }\n      return false;\n    });\n    var isInertAncestors = memoize_default(function isInertAncestorsMemoized(vNode, isAncestor) {\n      if (isInertSelf(vNode, isAncestor)) {\n        return true;\n      }\n      if (!vNode.parent) {\n        return false;\n      }\n      return isInertAncestors(vNode.parent, true);\n    });\n    var allowedDisabledNodeNames = [ 'button', 'command', 'fieldset', 'keygen', 'optgroup', 'option', 'select', 'textarea', 'input' ];\n    function isDisabledAttrAllowed(nodeName2) {\n      return allowedDisabledNodeNames.includes(nodeName2);\n    }\n    function focusDisabled(el) {\n      var _nodeLookup4 = _nodeLookup(el), vNode = _nodeLookup4.vNode;\n      if (isDisabledAttrAllowed(vNode.props.nodeName) && vNode.hasAttr('disabled') || _isInert(vNode)) {\n        return true;\n      }\n      var parentNode = vNode.parent;\n      var ancestors = [];\n      var fieldsetDisabled = false;\n      while (parentNode && parentNode.shadowId === vNode.shadowId && !fieldsetDisabled) {\n        ancestors.push(parentNode);\n        if (parentNode.props.nodeName === 'legend') {\n          break;\n        }\n        if (parentNode._inDisabledFieldset !== void 0) {\n          fieldsetDisabled = parentNode._inDisabledFieldset;\n          break;\n        }\n        if (parentNode.props.nodeName === 'fieldset' && parentNode.hasAttr('disabled')) {\n          fieldsetDisabled = true;\n        }\n        parentNode = parentNode.parent;\n      }\n      ancestors.forEach(function(ancestor) {\n        return ancestor._inDisabledFieldset = fieldsetDisabled;\n      });\n      if (fieldsetDisabled) {\n        return true;\n      }\n      if (vNode.props.nodeName !== 'area') {\n        if (!vNode.actualNode) {\n          return false;\n        }\n        return _isHiddenForEveryone(vNode);\n      }\n      return false;\n    }\n    var focus_disabled_default = focusDisabled;\n    var angularSkipLinkRegex = /^\\/\\#/;\n    var angularRouterLinkRegex = /^#[!/]/;\n    function _isCurrentPageLink(anchor) {\n      var _window$location;\n      var href = anchor.getAttribute('href');\n      if (!href || href === '#') {\n        return false;\n      }\n      if (angularSkipLinkRegex.test(href)) {\n        return true;\n      }\n      var hash = anchor.hash, protocol = anchor.protocol, hostname = anchor.hostname, port = anchor.port, pathname = anchor.pathname;\n      if (angularRouterLinkRegex.test(hash)) {\n        return false;\n      }\n      if (href.charAt(0) === '#') {\n        return true;\n      }\n      if (typeof ((_window$location = window.location) === null || _window$location === void 0 ? void 0 : _window$location.origin) !== 'string' || window.location.origin.indexOf('://') === -1) {\n        return null;\n      }\n      var currentPageUrl = window.location.origin + window.location.pathname;\n      var url;\n      if (!hostname) {\n        url = window.location.origin;\n      } else {\n        url = ''.concat(protocol, '//').concat(hostname).concat(port ? ':'.concat(port) : '');\n      }\n      if (!pathname) {\n        url += window.location.pathname;\n      } else {\n        url += (pathname[0] !== '/' ? '/' : '') + pathname;\n      }\n      return url === currentPageUrl;\n    }\n    function getElementByReference(node, attr) {\n      var fragment = node.getAttribute(attr);\n      if (!fragment) {\n        return null;\n      }\n      if (attr === 'href' && !_isCurrentPageLink(node)) {\n        return null;\n      }\n      if (fragment.indexOf('#') !== -1) {\n        fragment = decodeURIComponent(fragment.substr(fragment.indexOf('#') + 1));\n      }\n      var candidate = document.getElementById(fragment);\n      if (candidate) {\n        return candidate;\n      }\n      candidate = document.getElementsByName(fragment);\n      if (candidate.length) {\n        return candidate[0];\n      }\n      return null;\n    }\n    var get_element_by_reference_default = getElementByReference;\n    function _visuallySort(a2, b2) {\n      _createGrid();\n      var length = Math.max(a2._stackingOrder.length, b2._stackingOrder.length);\n      for (var i = 0; i < length; i++) {\n        if (typeof b2._stackingOrder[i] === 'undefined') {\n          return -1;\n        } else if (typeof a2._stackingOrder[i] === 'undefined') {\n          return 1;\n        }\n        if (b2._stackingOrder[i].stackLevel > a2._stackingOrder[i].stackLevel) {\n          return 1;\n        }\n        if (b2._stackingOrder[i].stackLevel < a2._stackingOrder[i].stackLevel) {\n          return -1;\n        }\n        if (b2._stackingOrder[i].treeOrder !== a2._stackingOrder[i].treeOrder) {\n          return b2._stackingOrder[i].treeOrder - a2._stackingOrder[i].treeOrder;\n        }\n      }\n      var aNode = a2.actualNode;\n      var bNode = b2.actualNode;\n      if (aNode.getRootNode && aNode.getRootNode() !== bNode.getRootNode()) {\n        var boundaries = [];\n        while (aNode) {\n          boundaries.push({\n            root: aNode.getRootNode(),\n            node: aNode\n          });\n          aNode = aNode.getRootNode().host;\n        }\n        while (bNode && !boundaries.find(function(boundary) {\n          return boundary.root === bNode.getRootNode();\n        })) {\n          bNode = bNode.getRootNode().host;\n        }\n        aNode = boundaries.find(function(boundary) {\n          return boundary.root === bNode.getRootNode();\n        }).node;\n        if (aNode === bNode) {\n          return a2.actualNode.getRootNode() !== aNode.getRootNode() ? -1 : 1;\n        }\n      }\n      var _window$Node = window.Node, DOCUMENT_POSITION_FOLLOWING = _window$Node.DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_CONTAINS = _window$Node.DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_CONTAINED_BY = _window$Node.DOCUMENT_POSITION_CONTAINED_BY;\n      var docPosition = aNode.compareDocumentPosition(bNode);\n      var DOMOrder = docPosition & DOCUMENT_POSITION_FOLLOWING ? 1 : -1;\n      var isDescendant = docPosition & DOCUMENT_POSITION_CONTAINS || docPosition & DOCUMENT_POSITION_CONTAINED_BY;\n      var aPosition = getPositionOrder(a2);\n      var bPosition = getPositionOrder(b2);\n      if (aPosition === bPosition || isDescendant) {\n        return DOMOrder;\n      }\n      return bPosition - aPosition;\n    }\n    function getPositionOrder(vNode) {\n      if (vNode.getComputedStylePropertyValue('display').indexOf('inline') !== -1) {\n        return 2;\n      }\n      if (isFloated(vNode)) {\n        return 1;\n      }\n      return 0;\n    }\n    function isFloated(vNode) {\n      if (!vNode) {\n        return false;\n      }\n      if (vNode._isFloated !== void 0) {\n        return vNode._isFloated;\n      }\n      var floatStyle = vNode.getComputedStylePropertyValue('float');\n      if (floatStyle !== 'none') {\n        vNode._isFloated = true;\n        return true;\n      }\n      var floated = isFloated(vNode.parent);\n      vNode._isFloated = floated;\n      return floated;\n    }\n    function getRectStack(grid, rect) {\n      var recursed = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n      var center = _getRectCenter(rect);\n      var gridCell = grid.getCellFromPoint(center) || [];\n      var floorX = Math.floor(center.x);\n      var floorY = Math.floor(center.y);\n      var stack = gridCell.filter(function(gridCellNode) {\n        return gridCellNode.clientRects.some(function(clientRect) {\n          var rectX = clientRect.left;\n          var rectY = clientRect.top;\n          return floorX < Math.floor(rectX + clientRect.width) && floorX >= Math.floor(rectX) && floorY < Math.floor(rectY + clientRect.height) && floorY >= Math.floor(rectY);\n        });\n      });\n      var gridContainer = grid.container;\n      if (gridContainer) {\n        stack = getRectStack(gridContainer._grid, gridContainer.boundingClientRect, true).concat(stack);\n      }\n      if (!recursed) {\n        stack = stack.sort(_visuallySort).map(function(vNode) {\n          return vNode.actualNode;\n        }).concat(document.documentElement).filter(function(node, index, array) {\n          return array.indexOf(node) === index;\n        });\n      }\n      return stack;\n    }\n    function getElementStack(node) {\n      var grid = _getNodeGrid(node);\n      if (!grid) {\n        return [];\n      }\n      var rect = get_node_from_tree_default(node).boundingClientRect;\n      return getRectStack(grid, rect);\n    }\n    var get_element_stack_default = getElementStack;\n    function getTabbableElements(virtualNode) {\n      var nodeAndDescendents = query_selector_all_default(virtualNode, '*');\n      var tabbableElements = nodeAndDescendents.filter(function(vNode) {\n        var isFocusable2 = vNode.isFocusable;\n        var tabIndex = parse_tabindex_default(vNode.actualNode.getAttribute('tabindex'));\n        return tabIndex !== null ? isFocusable2 && tabIndex >= 0 : isFocusable2;\n      });\n      return tabbableElements;\n    }\n    var get_tabbable_elements_default = getTabbableElements;\n    function isNativelyFocusable(el) {\n      var _nodeLookup5 = _nodeLookup(el), vNode = _nodeLookup5.vNode;\n      if (!vNode || focus_disabled_default(vNode)) {\n        return false;\n      }\n      switch (vNode.props.nodeName) {\n       case 'a':\n       case 'area':\n        if (vNode.hasAttr('href')) {\n          return true;\n        }\n        break;\n\n       case 'input':\n        return vNode.props.type !== 'hidden';\n\n       case 'textarea':\n       case 'select':\n       case 'summary':\n       case 'button':\n        return true;\n\n       case 'details':\n        return !query_selector_all_default(vNode, 'summary').length;\n      }\n      return false;\n    }\n    var is_natively_focusable_default = isNativelyFocusable;\n    function _isFocusable(el) {\n      var _nodeLookup6 = _nodeLookup(el), vNode = _nodeLookup6.vNode;\n      if (vNode.props.nodeType !== 1) {\n        return false;\n      }\n      if (focus_disabled_default(vNode)) {\n        return false;\n      } else if (is_natively_focusable_default(vNode)) {\n        return true;\n      }\n      var tabindex = parse_tabindex_default(vNode.attr('tabindex'));\n      return tabindex !== null;\n    }\n    function _isInTabOrder(el) {\n      var _nodeLookup7 = _nodeLookup(el), vNode = _nodeLookup7.vNode;\n      if (vNode.props.nodeType !== 1) {\n        return false;\n      }\n      var tabindex = parse_tabindex_default(vNode.attr('tabindex'));\n      if (tabindex <= -1) {\n        return false;\n      }\n      return _isFocusable(vNode);\n    }\n    var get_target_rects_default = memoize_default(getTargetRects);\n    function getTargetRects(vNode) {\n      var nodeRect = vNode.boundingClientRect;\n      var overlappingVNodes = _findNearbyElms(vNode).filter(function(vNeighbor) {\n        return _hasVisualOverlap(vNode, vNeighbor) && vNeighbor.getComputedStylePropertyValue('pointer-events') !== 'none' && !isDescendantNotInTabOrder(vNode, vNeighbor);\n      });\n      if (!overlappingVNodes.length) {\n        return [ nodeRect ];\n      }\n      var obscuringRects = overlappingVNodes.map(function(_ref39) {\n        var rect = _ref39.boundingClientRect;\n        return rect;\n      });\n      return _splitRects(nodeRect, obscuringRects);\n    }\n    function isDescendantNotInTabOrder(vAncestor, vNode) {\n      return _contains(vAncestor, vNode) && !_isInTabOrder(vNode);\n    }\n    var get_target_size_default = memoize_default(getTargetSize);\n    function getTargetSize(vNode, minSize) {\n      var rects = get_target_rects_default(vNode);\n      return getLargestRect(rects, minSize);\n    }\n    function getLargestRect(rects, minSize) {\n      return rects.reduce(function(rectA, rectB) {\n        var rectAisMinimum = _rectHasMinimumSize(minSize, rectA);\n        var rectBisMinimum = _rectHasMinimumSize(minSize, rectB);\n        if (rectAisMinimum !== rectBisMinimum) {\n          return rectAisMinimum ? rectA : rectB;\n        }\n        var areaA = rectA.width * rectA.height;\n        var areaB = rectB.width * rectB.height;\n        return areaA > areaB ? rectA : rectB;\n      });\n    }\n    var text_exports = {};\n    __export(text_exports, {\n      accessibleText: function accessibleText() {\n        return accessible_text_default;\n      },\n      accessibleTextVirtual: function accessibleTextVirtual() {\n        return _accessibleTextVirtual;\n      },\n      autocomplete: function autocomplete() {\n        return _autocomplete;\n      },\n      formControlValue: function formControlValue() {\n        return form_control_value_default;\n      },\n      formControlValueMethods: function formControlValueMethods() {\n        return _formControlValueMethods;\n      },\n      hasUnicode: function hasUnicode() {\n        return has_unicode_default;\n      },\n      isHumanInterpretable: function isHumanInterpretable() {\n        return is_human_interpretable_default;\n      },\n      isIconLigature: function isIconLigature() {\n        return _isIconLigature;\n      },\n      isValidAutocomplete: function isValidAutocomplete() {\n        return is_valid_autocomplete_default;\n      },\n      label: function label() {\n        return label_default;\n      },\n      labelText: function labelText() {\n        return label_text_default;\n      },\n      labelVirtual: function labelVirtual() {\n        return label_virtual_default2;\n      },\n      nativeElementType: function nativeElementType() {\n        return native_element_type_default;\n      },\n      nativeTextAlternative: function nativeTextAlternative() {\n        return _nativeTextAlternative;\n      },\n      nativeTextMethods: function nativeTextMethods() {\n        return native_text_methods_default;\n      },\n      removeUnicode: function removeUnicode() {\n        return remove_unicode_default;\n      },\n      sanitize: function sanitize() {\n        return sanitize_default;\n      },\n      subtreeText: function subtreeText() {\n        return subtree_text_default;\n      },\n      titleText: function titleText() {\n        return title_text_default;\n      },\n      unsupported: function unsupported() {\n        return unsupported_default;\n      },\n      visible: function visible() {\n        return visible_default;\n      },\n      visibleTextNodes: function visibleTextNodes() {\n        return visible_text_nodes_default;\n      },\n      visibleVirtual: function visibleVirtual() {\n        return visible_virtual_default;\n      }\n    });\n    function idrefs(node, attr) {\n      node = node.actualNode || node;\n      try {\n        var doc = get_root_node_default2(node);\n        var result = [];\n        var attrValue = node.getAttribute(attr);\n        if (attrValue) {\n          attrValue = token_list_default(attrValue);\n          for (var index = 0; index < attrValue.length; index++) {\n            result.push(doc.getElementById(attrValue[index]));\n          }\n        }\n        return result;\n      } catch (_unused) {\n        throw new TypeError('Cannot resolve id references for non-DOM nodes');\n      }\n    }\n    var idrefs_default = idrefs;\n    function accessibleText(element, context) {\n      var virtualNode = get_node_from_tree_default(element);\n      return _accessibleTextVirtual(virtualNode, context);\n    }\n    var accessible_text_default = accessibleText;\n    function arialabelledbyText(element) {\n      var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      var _nodeLookup8 = _nodeLookup(element), vNode = _nodeLookup8.vNode;\n      if ((vNode === null || vNode === void 0 ? void 0 : vNode.props.nodeType) !== 1) {\n        return '';\n      }\n      if (vNode.props.nodeType !== 1 || context.inLabelledByContext || context.inControlContext || !vNode.attr('aria-labelledby')) {\n        return '';\n      }\n      var refs = idrefs_default(vNode, 'aria-labelledby').filter(function(elm) {\n        return elm;\n      });\n      return refs.reduce(function(accessibleName, elm) {\n        var accessibleNameAdd = accessible_text_default(elm, _extends({\n          inLabelledByContext: true,\n          startNode: context.startNode || vNode\n        }, context));\n        if (!accessibleName) {\n          return accessibleNameAdd;\n        } else {\n          return ''.concat(accessibleName, ' ').concat(accessibleNameAdd);\n        }\n      }, '');\n    }\n    var arialabelledby_text_default = arialabelledbyText;\n    function _arialabelText(element) {\n      var _nodeLookup9 = _nodeLookup(element), vNode = _nodeLookup9.vNode;\n      if ((vNode === null || vNode === void 0 ? void 0 : vNode.props.nodeType) !== 1) {\n        return '';\n      }\n      return vNode.attr('aria-label') || '';\n    }\n    var ariaAttrs = {\n      'aria-activedescendant': {\n        type: 'idref',\n        allowEmpty: true\n      },\n      'aria-atomic': {\n        type: 'boolean',\n        global: true\n      },\n      'aria-autocomplete': {\n        type: 'nmtoken',\n        values: [ 'inline', 'list', 'both', 'none' ]\n      },\n      'aria-braillelabel': {\n        type: 'string',\n        allowEmpty: true,\n        global: true\n      },\n      'aria-brailleroledescription': {\n        type: 'string',\n        allowEmpty: true,\n        global: true\n      },\n      'aria-busy': {\n        type: 'boolean',\n        global: true\n      },\n      'aria-checked': {\n        type: 'nmtoken',\n        values: [ 'false', 'mixed', 'true', 'undefined' ]\n      },\n      'aria-colcount': {\n        type: 'int',\n        minValue: -1\n      },\n      'aria-colindex': {\n        type: 'int',\n        minValue: 1\n      },\n      'aria-colspan': {\n        type: 'int',\n        minValue: 1\n      },\n      'aria-controls': {\n        type: 'idrefs',\n        allowEmpty: true,\n        global: true\n      },\n      'aria-current': {\n        type: 'nmtoken',\n        allowEmpty: true,\n        values: [ 'page', 'step', 'location', 'date', 'time', 'true', 'false' ],\n        global: true\n      },\n      'aria-describedby': {\n        type: 'idrefs',\n        allowEmpty: true,\n        global: true\n      },\n      'aria-description': {\n        type: 'string',\n        allowEmpty: true,\n        global: true\n      },\n      'aria-details': {\n        type: 'idref',\n        allowEmpty: true,\n        global: true\n      },\n      'aria-disabled': {\n        type: 'boolean',\n        global: true\n      },\n      'aria-dropeffect': {\n        type: 'nmtokens',\n        values: [ 'copy', 'execute', 'link', 'move', 'none', 'popup' ],\n        global: true\n      },\n      'aria-errormessage': {\n        type: 'idref',\n        allowEmpty: true,\n        global: true\n      },\n      'aria-expanded': {\n        type: 'nmtoken',\n        values: [ 'true', 'false', 'undefined' ]\n      },\n      'aria-flowto': {\n        type: 'idrefs',\n        allowEmpty: true,\n        global: true\n      },\n      'aria-grabbed': {\n        type: 'nmtoken',\n        values: [ 'true', 'false', 'undefined' ],\n        global: true\n      },\n      'aria-haspopup': {\n        type: 'nmtoken',\n        allowEmpty: true,\n        values: [ 'true', 'false', 'menu', 'listbox', 'tree', 'grid', 'dialog' ],\n        global: true\n      },\n      'aria-hidden': {\n        type: 'nmtoken',\n        values: [ 'true', 'false', 'undefined' ],\n        global: true\n      },\n      'aria-invalid': {\n        type: 'nmtoken',\n        values: [ 'grammar', 'false', 'spelling', 'true' ],\n        global: true\n      },\n      'aria-keyshortcuts': {\n        type: 'string',\n        allowEmpty: true,\n        global: true\n      },\n      'aria-label': {\n        type: 'string',\n        allowEmpty: true,\n        global: true\n      },\n      'aria-labelledby': {\n        type: 'idrefs',\n        allowEmpty: true,\n        global: true\n      },\n      'aria-level': {\n        type: 'int',\n        minValue: 1\n      },\n      'aria-live': {\n        type: 'nmtoken',\n        values: [ 'assertive', 'off', 'polite' ],\n        global: true\n      },\n      'aria-modal': {\n        type: 'boolean'\n      },\n      'aria-multiline': {\n        type: 'boolean'\n      },\n      'aria-multiselectable': {\n        type: 'boolean'\n      },\n      'aria-orientation': {\n        type: 'nmtoken',\n        values: [ 'horizontal', 'undefined', 'vertical' ]\n      },\n      'aria-owns': {\n        type: 'idrefs',\n        allowEmpty: true,\n        global: true\n      },\n      'aria-placeholder': {\n        type: 'string',\n        allowEmpty: true\n      },\n      'aria-posinset': {\n        type: 'int',\n        minValue: 1\n      },\n      'aria-pressed': {\n        type: 'nmtoken',\n        values: [ 'false', 'mixed', 'true', 'undefined' ]\n      },\n      'aria-readonly': {\n        type: 'boolean'\n      },\n      'aria-relevant': {\n        type: 'nmtokens',\n        values: [ 'additions', 'all', 'removals', 'text' ],\n        global: true\n      },\n      'aria-required': {\n        type: 'boolean'\n      },\n      'aria-roledescription': {\n        type: 'string',\n        allowEmpty: true,\n        global: true\n      },\n      'aria-rowcount': {\n        type: 'int',\n        minValue: -1\n      },\n      'aria-rowindex': {\n        type: 'int',\n        minValue: 1\n      },\n      'aria-rowspan': {\n        type: 'int',\n        minValue: 0\n      },\n      'aria-selected': {\n        type: 'nmtoken',\n        values: [ 'false', 'true', 'undefined' ]\n      },\n      'aria-setsize': {\n        type: 'int',\n        minValue: -1\n      },\n      'aria-sort': {\n        type: 'nmtoken',\n        values: [ 'ascending', 'descending', 'none', 'other' ]\n      },\n      'aria-valuemax': {\n        type: 'decimal'\n      },\n      'aria-valuemin': {\n        type: 'decimal'\n      },\n      'aria-valuenow': {\n        type: 'decimal'\n      },\n      'aria-valuetext': {\n        type: 'string',\n        allowEmpty: true\n      }\n    };\n    var aria_attrs_default = ariaAttrs;\n    var ariaRoles = {\n      alert: {\n        type: 'structure',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'section' ]\n      },\n      alertdialog: {\n        type: 'window',\n        allowedAttrs: [ 'aria-expanded', 'aria-modal' ],\n        superclassRole: [ 'alert', 'dialog' ],\n        accessibleNameRequired: true\n      },\n      application: {\n        type: 'landmark',\n        allowedAttrs: [ 'aria-activedescendant', 'aria-expanded' ],\n        superclassRole: [ 'structure' ],\n        accessibleNameRequired: true\n      },\n      article: {\n        type: 'structure',\n        allowedAttrs: [ 'aria-posinset', 'aria-setsize', 'aria-expanded' ],\n        superclassRole: [ 'document' ]\n      },\n      banner: {\n        type: 'landmark',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'landmark' ]\n      },\n      blockquote: {\n        type: 'structure',\n        superclassRole: [ 'section' ]\n      },\n      button: {\n        type: 'widget',\n        allowedAttrs: [ 'aria-expanded', 'aria-pressed' ],\n        superclassRole: [ 'command' ],\n        accessibleNameRequired: true,\n        nameFromContent: true,\n        childrenPresentational: true\n      },\n      caption: {\n        type: 'structure',\n        requiredContext: [ 'figure', 'table', 'grid', 'treegrid' ],\n        superclassRole: [ 'section' ],\n        prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]\n      },\n      cell: {\n        type: 'structure',\n        requiredContext: [ 'row' ],\n        allowedAttrs: [ 'aria-colindex', 'aria-colspan', 'aria-rowindex', 'aria-rowspan', 'aria-expanded' ],\n        superclassRole: [ 'section' ],\n        nameFromContent: true\n      },\n      checkbox: {\n        type: 'widget',\n        requiredAttrs: [ 'aria-checked' ],\n        allowedAttrs: [ 'aria-readonly', 'aria-expanded', 'aria-required' ],\n        superclassRole: [ 'input' ],\n        accessibleNameRequired: true,\n        nameFromContent: true,\n        childrenPresentational: true\n      },\n      code: {\n        type: 'structure',\n        superclassRole: [ 'section' ],\n        prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]\n      },\n      columnheader: {\n        type: 'structure',\n        requiredContext: [ 'row' ],\n        allowedAttrs: [ 'aria-sort', 'aria-colindex', 'aria-colspan', 'aria-expanded', 'aria-readonly', 'aria-required', 'aria-rowindex', 'aria-rowspan', 'aria-selected' ],\n        superclassRole: [ 'cell', 'gridcell', 'sectionhead' ],\n        accessibleNameRequired: false,\n        nameFromContent: true\n      },\n      combobox: {\n        type: 'widget',\n        requiredAttrs: [ 'aria-expanded', 'aria-controls' ],\n        allowedAttrs: [ 'aria-owns', 'aria-autocomplete', 'aria-readonly', 'aria-required', 'aria-activedescendant', 'aria-orientation' ],\n        superclassRole: [ 'select' ],\n        accessibleNameRequired: true\n      },\n      command: {\n        type: 'abstract',\n        superclassRole: [ 'widget' ]\n      },\n      complementary: {\n        type: 'landmark',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'landmark' ]\n      },\n      composite: {\n        type: 'abstract',\n        superclassRole: [ 'widget' ]\n      },\n      contentinfo: {\n        type: 'landmark',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'landmark' ]\n      },\n      comment: {\n        type: 'structure',\n        allowedAttrs: [ 'aria-level', 'aria-posinset', 'aria-setsize' ],\n        superclassRole: [ 'article' ]\n      },\n      definition: {\n        type: 'structure',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'section' ]\n      },\n      deletion: {\n        type: 'structure',\n        superclassRole: [ 'section' ],\n        prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]\n      },\n      dialog: {\n        type: 'window',\n        allowedAttrs: [ 'aria-expanded', 'aria-modal' ],\n        superclassRole: [ 'window' ],\n        accessibleNameRequired: true\n      },\n      directory: {\n        type: 'structure',\n        deprecated: true,\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'list' ],\n        nameFromContent: true\n      },\n      document: {\n        type: 'structure',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'structure' ]\n      },\n      emphasis: {\n        type: 'structure',\n        superclassRole: [ 'section' ],\n        prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]\n      },\n      feed: {\n        type: 'structure',\n        requiredOwned: [ 'article' ],\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'list' ]\n      },\n      figure: {\n        type: 'structure',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'section' ],\n        nameFromContent: true\n      },\n      form: {\n        type: 'landmark',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'landmark' ]\n      },\n      grid: {\n        type: 'composite',\n        requiredOwned: [ 'rowgroup', 'row' ],\n        allowedAttrs: [ 'aria-level', 'aria-multiselectable', 'aria-readonly', 'aria-activedescendant', 'aria-colcount', 'aria-expanded', 'aria-rowcount' ],\n        superclassRole: [ 'composite', 'table' ],\n        accessibleNameRequired: false\n      },\n      gridcell: {\n        type: 'widget',\n        requiredContext: [ 'row' ],\n        allowedAttrs: [ 'aria-readonly', 'aria-required', 'aria-selected', 'aria-colindex', 'aria-colspan', 'aria-expanded', 'aria-rowindex', 'aria-rowspan' ],\n        superclassRole: [ 'cell', 'widget' ],\n        nameFromContent: true\n      },\n      group: {\n        type: 'structure',\n        allowedAttrs: [ 'aria-activedescendant', 'aria-expanded' ],\n        superclassRole: [ 'section' ]\n      },\n      heading: {\n        type: 'structure',\n        requiredAttrs: [ 'aria-level' ],\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'sectionhead' ],\n        accessibleNameRequired: false,\n        nameFromContent: true\n      },\n      img: {\n        type: 'structure',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'section' ],\n        accessibleNameRequired: true,\n        childrenPresentational: true\n      },\n      input: {\n        type: 'abstract',\n        superclassRole: [ 'widget' ]\n      },\n      insertion: {\n        type: 'structure',\n        superclassRole: [ 'section' ],\n        prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]\n      },\n      landmark: {\n        type: 'abstract',\n        superclassRole: [ 'section' ]\n      },\n      link: {\n        type: 'widget',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'command' ],\n        accessibleNameRequired: true,\n        nameFromContent: true\n      },\n      list: {\n        type: 'structure',\n        requiredOwned: [ 'listitem' ],\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'section' ]\n      },\n      listbox: {\n        type: 'widget',\n        requiredOwned: [ 'group', 'option' ],\n        allowedAttrs: [ 'aria-multiselectable', 'aria-readonly', 'aria-required', 'aria-activedescendant', 'aria-expanded', 'aria-orientation' ],\n        superclassRole: [ 'select' ],\n        accessibleNameRequired: true\n      },\n      listitem: {\n        type: 'structure',\n        requiredContext: [ 'list' ],\n        allowedAttrs: [ 'aria-level', 'aria-posinset', 'aria-setsize', 'aria-expanded' ],\n        superclassRole: [ 'section' ],\n        nameFromContent: true\n      },\n      log: {\n        type: 'structure',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'section' ]\n      },\n      main: {\n        type: 'landmark',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'landmark' ]\n      },\n      marquee: {\n        type: 'structure',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'section' ]\n      },\n      math: {\n        type: 'structure',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'section' ],\n        childrenPresentational: true\n      },\n      menu: {\n        type: 'composite',\n        requiredOwned: [ 'group', 'menuitemradio', 'menuitem', 'menuitemcheckbox', 'menu', 'separator' ],\n        allowedAttrs: [ 'aria-activedescendant', 'aria-expanded', 'aria-orientation' ],\n        superclassRole: [ 'select' ]\n      },\n      menubar: {\n        type: 'composite',\n        requiredOwned: [ 'group', 'menuitemradio', 'menuitem', 'menuitemcheckbox', 'menu', 'separator' ],\n        allowedAttrs: [ 'aria-activedescendant', 'aria-expanded', 'aria-orientation' ],\n        superclassRole: [ 'menu' ]\n      },\n      menuitem: {\n        type: 'widget',\n        requiredContext: [ 'menu', 'menubar', 'group' ],\n        allowedAttrs: [ 'aria-posinset', 'aria-setsize', 'aria-expanded' ],\n        superclassRole: [ 'command' ],\n        accessibleNameRequired: true,\n        nameFromContent: true\n      },\n      menuitemcheckbox: {\n        type: 'widget',\n        requiredContext: [ 'menu', 'menubar', 'group' ],\n        requiredAttrs: [ 'aria-checked' ],\n        allowedAttrs: [ 'aria-expanded', 'aria-posinset', 'aria-readonly', 'aria-setsize' ],\n        superclassRole: [ 'checkbox', 'menuitem' ],\n        accessibleNameRequired: true,\n        nameFromContent: true,\n        childrenPresentational: true\n      },\n      menuitemradio: {\n        type: 'widget',\n        requiredContext: [ 'menu', 'menubar', 'group' ],\n        requiredAttrs: [ 'aria-checked' ],\n        allowedAttrs: [ 'aria-expanded', 'aria-posinset', 'aria-readonly', 'aria-setsize' ],\n        superclassRole: [ 'menuitemcheckbox', 'radio' ],\n        accessibleNameRequired: true,\n        nameFromContent: true,\n        childrenPresentational: true\n      },\n      meter: {\n        type: 'structure',\n        requiredAttrs: [ 'aria-valuenow' ],\n        allowedAttrs: [ 'aria-valuemax', 'aria-valuemin', 'aria-valuetext' ],\n        superclassRole: [ 'range' ],\n        accessibleNameRequired: true,\n        childrenPresentational: true\n      },\n      mark: {\n        type: 'structure',\n        superclassRole: [ 'section' ],\n        prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]\n      },\n      navigation: {\n        type: 'landmark',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'landmark' ]\n      },\n      none: {\n        type: 'structure',\n        superclassRole: [ 'structure' ],\n        prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]\n      },\n      note: {\n        type: 'structure',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'section' ]\n      },\n      option: {\n        type: 'widget',\n        requiredContext: [ 'group', 'listbox' ],\n        allowedAttrs: [ 'aria-selected', 'aria-checked', 'aria-posinset', 'aria-setsize' ],\n        superclassRole: [ 'input' ],\n        accessibleNameRequired: true,\n        nameFromContent: true,\n        childrenPresentational: true\n      },\n      paragraph: {\n        type: 'structure',\n        superclassRole: [ 'section' ],\n        prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]\n      },\n      presentation: {\n        type: 'structure',\n        superclassRole: [ 'structure' ],\n        prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]\n      },\n      progressbar: {\n        type: 'widget',\n        allowedAttrs: [ 'aria-expanded', 'aria-valuemax', 'aria-valuemin', 'aria-valuenow', 'aria-valuetext' ],\n        superclassRole: [ 'range' ],\n        accessibleNameRequired: true,\n        childrenPresentational: true\n      },\n      radio: {\n        type: 'widget',\n        requiredAttrs: [ 'aria-checked' ],\n        allowedAttrs: [ 'aria-posinset', 'aria-setsize', 'aria-required' ],\n        superclassRole: [ 'input' ],\n        accessibleNameRequired: true,\n        nameFromContent: true,\n        childrenPresentational: true\n      },\n      radiogroup: {\n        type: 'composite',\n        allowedAttrs: [ 'aria-readonly', 'aria-required', 'aria-activedescendant', 'aria-expanded', 'aria-orientation' ],\n        superclassRole: [ 'select' ],\n        accessibleNameRequired: false\n      },\n      range: {\n        type: 'abstract',\n        superclassRole: [ 'widget' ]\n      },\n      region: {\n        type: 'landmark',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'landmark' ],\n        accessibleNameRequired: false\n      },\n      roletype: {\n        type: 'abstract',\n        superclassRole: []\n      },\n      row: {\n        type: 'structure',\n        requiredContext: [ 'grid', 'rowgroup', 'table', 'treegrid' ],\n        requiredOwned: [ 'cell', 'columnheader', 'gridcell', 'rowheader' ],\n        allowedAttrs: [ 'aria-colindex', 'aria-level', 'aria-rowindex', 'aria-selected', 'aria-activedescendant', 'aria-expanded', 'aria-posinset', 'aria-setsize' ],\n        superclassRole: [ 'group', 'widget' ],\n        nameFromContent: true\n      },\n      rowgroup: {\n        type: 'structure',\n        requiredContext: [ 'grid', 'table', 'treegrid' ],\n        requiredOwned: [ 'row' ],\n        superclassRole: [ 'structure' ],\n        nameFromContent: true\n      },\n      rowheader: {\n        type: 'structure',\n        requiredContext: [ 'row' ],\n        allowedAttrs: [ 'aria-sort', 'aria-colindex', 'aria-colspan', 'aria-expanded', 'aria-readonly', 'aria-required', 'aria-rowindex', 'aria-rowspan', 'aria-selected' ],\n        superclassRole: [ 'cell', 'gridcell', 'sectionhead' ],\n        accessibleNameRequired: false,\n        nameFromContent: true\n      },\n      scrollbar: {\n        type: 'widget',\n        requiredAttrs: [ 'aria-valuenow' ],\n        allowedAttrs: [ 'aria-controls', 'aria-orientation', 'aria-valuemax', 'aria-valuemin', 'aria-valuetext' ],\n        superclassRole: [ 'range' ],\n        childrenPresentational: true\n      },\n      search: {\n        type: 'landmark',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'landmark' ]\n      },\n      searchbox: {\n        type: 'widget',\n        allowedAttrs: [ 'aria-activedescendant', 'aria-autocomplete', 'aria-multiline', 'aria-placeholder', 'aria-readonly', 'aria-required' ],\n        superclassRole: [ 'textbox' ],\n        accessibleNameRequired: true\n      },\n      section: {\n        type: 'abstract',\n        superclassRole: [ 'structure' ],\n        nameFromContent: true\n      },\n      sectionhead: {\n        type: 'abstract',\n        superclassRole: [ 'structure' ],\n        nameFromContent: true\n      },\n      select: {\n        type: 'abstract',\n        superclassRole: [ 'composite', 'group' ]\n      },\n      separator: {\n        type: 'structure',\n        requiredAttrs: [ 'aria-valuenow' ],\n        allowedAttrs: [ 'aria-valuemax', 'aria-valuemin', 'aria-orientation', 'aria-valuetext' ],\n        superclassRole: [ 'structure', 'widget' ],\n        childrenPresentational: true\n      },\n      slider: {\n        type: 'widget',\n        requiredAttrs: [ 'aria-valuenow' ],\n        allowedAttrs: [ 'aria-valuemax', 'aria-valuemin', 'aria-orientation', 'aria-readonly', 'aria-required', 'aria-valuetext' ],\n        superclassRole: [ 'input', 'range' ],\n        accessibleNameRequired: true,\n        childrenPresentational: true\n      },\n      spinbutton: {\n        type: 'widget',\n        allowedAttrs: [ 'aria-valuemax', 'aria-valuemin', 'aria-readonly', 'aria-required', 'aria-activedescendant', 'aria-valuetext', 'aria-valuenow' ],\n        superclassRole: [ 'composite', 'input', 'range' ],\n        accessibleNameRequired: true\n      },\n      status: {\n        type: 'structure',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'section' ]\n      },\n      strong: {\n        type: 'structure',\n        superclassRole: [ 'section' ],\n        prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]\n      },\n      structure: {\n        type: 'abstract',\n        superclassRole: [ 'roletype' ]\n      },\n      subscript: {\n        type: 'structure',\n        superclassRole: [ 'section' ],\n        prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]\n      },\n      superscript: {\n        type: 'structure',\n        superclassRole: [ 'section' ],\n        prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]\n      },\n      switch: {\n        type: 'widget',\n        requiredAttrs: [ 'aria-checked' ],\n        allowedAttrs: [ 'aria-expanded', 'aria-readonly', 'aria-required' ],\n        superclassRole: [ 'checkbox' ],\n        accessibleNameRequired: true,\n        nameFromContent: true,\n        childrenPresentational: true\n      },\n      suggestion: {\n        type: 'structure',\n        requiredOwned: [ 'insertion', 'deletion' ],\n        superclassRole: [ 'section' ],\n        prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]\n      },\n      tab: {\n        type: 'widget',\n        requiredContext: [ 'tablist' ],\n        allowedAttrs: [ 'aria-posinset', 'aria-selected', 'aria-setsize', 'aria-expanded' ],\n        superclassRole: [ 'sectionhead', 'widget' ],\n        nameFromContent: true,\n        childrenPresentational: true\n      },\n      table: {\n        type: 'structure',\n        requiredOwned: [ 'rowgroup', 'row' ],\n        allowedAttrs: [ 'aria-colcount', 'aria-rowcount', 'aria-expanded' ],\n        superclassRole: [ 'section' ],\n        accessibleNameRequired: false,\n        nameFromContent: true\n      },\n      tablist: {\n        type: 'composite',\n        requiredOwned: [ 'tab' ],\n        allowedAttrs: [ 'aria-level', 'aria-multiselectable', 'aria-orientation', 'aria-activedescendant', 'aria-expanded' ],\n        superclassRole: [ 'composite' ]\n      },\n      tabpanel: {\n        type: 'structure',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'section' ],\n        accessibleNameRequired: false\n      },\n      term: {\n        type: 'structure',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'section' ],\n        nameFromContent: true\n      },\n      text: {\n        type: 'structure',\n        superclassRole: [ 'section' ],\n        nameFromContent: true\n      },\n      textbox: {\n        type: 'widget',\n        allowedAttrs: [ 'aria-activedescendant', 'aria-autocomplete', 'aria-multiline', 'aria-placeholder', 'aria-readonly', 'aria-required' ],\n        superclassRole: [ 'input' ],\n        accessibleNameRequired: true\n      },\n      time: {\n        type: 'structure',\n        superclassRole: [ 'section' ]\n      },\n      timer: {\n        type: 'structure',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'status' ]\n      },\n      toolbar: {\n        type: 'structure',\n        allowedAttrs: [ 'aria-orientation', 'aria-activedescendant', 'aria-expanded' ],\n        superclassRole: [ 'group' ],\n        accessibleNameRequired: true\n      },\n      tooltip: {\n        type: 'structure',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'section' ],\n        nameFromContent: true\n      },\n      tree: {\n        type: 'composite',\n        requiredOwned: [ 'group', 'treeitem' ],\n        allowedAttrs: [ 'aria-multiselectable', 'aria-required', 'aria-activedescendant', 'aria-expanded', 'aria-orientation' ],\n        superclassRole: [ 'select' ],\n        accessibleNameRequired: false\n      },\n      treegrid: {\n        type: 'composite',\n        requiredOwned: [ 'rowgroup', 'row' ],\n        allowedAttrs: [ 'aria-activedescendant', 'aria-colcount', 'aria-expanded', 'aria-level', 'aria-multiselectable', 'aria-orientation', 'aria-readonly', 'aria-required', 'aria-rowcount' ],\n        superclassRole: [ 'grid', 'tree' ],\n        accessibleNameRequired: false\n      },\n      treeitem: {\n        type: 'widget',\n        requiredContext: [ 'group', 'tree' ],\n        allowedAttrs: [ 'aria-checked', 'aria-expanded', 'aria-level', 'aria-posinset', 'aria-selected', 'aria-setsize' ],\n        superclassRole: [ 'listitem', 'option' ],\n        accessibleNameRequired: true,\n        nameFromContent: true\n      },\n      widget: {\n        type: 'abstract',\n        superclassRole: [ 'roletype' ]\n      },\n      window: {\n        type: 'abstract',\n        superclassRole: [ 'roletype' ]\n      }\n    };\n    var aria_roles_default = ariaRoles;\n    var dpubRoles = {\n      'doc-abstract': {\n        type: 'section',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'section' ]\n      },\n      'doc-acknowledgments': {\n        type: 'landmark',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'landmark' ]\n      },\n      'doc-afterword': {\n        type: 'landmark',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'landmark' ]\n      },\n      'doc-appendix': {\n        type: 'landmark',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'landmark' ]\n      },\n      'doc-backlink': {\n        type: 'link',\n        allowedAttrs: [ 'aria-expanded' ],\n        nameFromContent: true,\n        superclassRole: [ 'link' ]\n      },\n      'doc-biblioentry': {\n        type: 'listitem',\n        allowedAttrs: [ 'aria-expanded', 'aria-level', 'aria-posinset', 'aria-setsize' ],\n        superclassRole: [ 'listitem' ],\n        deprecated: true\n      },\n      'doc-bibliography': {\n        type: 'landmark',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'landmark' ]\n      },\n      'doc-biblioref': {\n        type: 'link',\n        allowedAttrs: [ 'aria-expanded' ],\n        nameFromContent: true,\n        superclassRole: [ 'link' ]\n      },\n      'doc-chapter': {\n        type: 'landmark',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'landmark' ]\n      },\n      'doc-colophon': {\n        type: 'section',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'section' ]\n      },\n      'doc-conclusion': {\n        type: 'landmark',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'landmark' ]\n      },\n      'doc-cover': {\n        type: 'img',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'img' ]\n      },\n      'doc-credit': {\n        type: 'section',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'section' ]\n      },\n      'doc-credits': {\n        type: 'landmark',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'landmark' ]\n      },\n      'doc-dedication': {\n        type: 'section',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'section' ]\n      },\n      'doc-endnote': {\n        type: 'listitem',\n        allowedAttrs: [ 'aria-expanded', 'aria-level', 'aria-posinset', 'aria-setsize' ],\n        superclassRole: [ 'listitem' ],\n        deprecated: true\n      },\n      'doc-endnotes': {\n        type: 'landmark',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'landmark' ]\n      },\n      'doc-epigraph': {\n        type: 'section',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'section' ]\n      },\n      'doc-epilogue': {\n        type: 'landmark',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'landmark' ]\n      },\n      'doc-errata': {\n        type: 'landmark',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'landmark' ]\n      },\n      'doc-example': {\n        type: 'section',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'section' ]\n      },\n      'doc-footnote': {\n        type: 'section',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'section' ]\n      },\n      'doc-foreword': {\n        type: 'landmark',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'landmark' ]\n      },\n      'doc-glossary': {\n        type: 'landmark',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'landmark' ]\n      },\n      'doc-glossref': {\n        type: 'link',\n        allowedAttrs: [ 'aria-expanded' ],\n        nameFromContent: true,\n        superclassRole: [ 'link' ]\n      },\n      'doc-index': {\n        type: 'navigation',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'navigation' ]\n      },\n      'doc-introduction': {\n        type: 'landmark',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'landmark' ]\n      },\n      'doc-noteref': {\n        type: 'link',\n        allowedAttrs: [ 'aria-expanded' ],\n        nameFromContent: true,\n        superclassRole: [ 'link' ]\n      },\n      'doc-notice': {\n        type: 'note',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'note' ]\n      },\n      'doc-pagebreak': {\n        type: 'separator',\n        allowedAttrs: [ 'aria-expanded', 'aria-orientation' ],\n        superclassRole: [ 'separator' ],\n        childrenPresentational: true\n      },\n      'doc-pagelist': {\n        type: 'navigation',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'navigation' ]\n      },\n      'doc-part': {\n        type: 'landmark',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'landmark' ]\n      },\n      'doc-preface': {\n        type: 'landmark',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'landmark' ]\n      },\n      'doc-prologue': {\n        type: 'landmark',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'landmark' ]\n      },\n      'doc-pullquote': {\n        type: 'none',\n        superclassRole: [ 'none' ]\n      },\n      'doc-qna': {\n        type: 'section',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'section' ]\n      },\n      'doc-subtitle': {\n        type: 'sectionhead',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'sectionhead' ]\n      },\n      'doc-tip': {\n        type: 'note',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'note' ]\n      },\n      'doc-toc': {\n        type: 'navigation',\n        allowedAttrs: [ 'aria-expanded' ],\n        superclassRole: [ 'navigation' ]\n      }\n    };\n    var dpub_roles_default = dpubRoles;\n    var graphicsRoles = {\n      'graphics-document': {\n        type: 'structure',\n        superclassRole: [ 'document' ],\n        accessibleNameRequired: true\n      },\n      'graphics-object': {\n        type: 'structure',\n        superclassRole: [ 'group' ],\n        nameFromContent: true\n      },\n      'graphics-symbol': {\n        type: 'structure',\n        superclassRole: [ 'img' ],\n        accessibleNameRequired: true,\n        childrenPresentational: true\n      }\n    };\n    var graphics_roles_default = graphicsRoles;\n    var htmlElms = {\n      a: {\n        variant: {\n          href: {\n            matches: '[href]',\n            contentTypes: [ 'interactive', 'phrasing', 'flow' ],\n            allowedRoles: [ 'button', 'checkbox', 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'option', 'radio', 'switch', 'tab', 'treeitem', 'doc-backlink', 'doc-biblioref', 'doc-glossref', 'doc-noteref' ],\n            namingMethods: [ 'subtreeText' ]\n          },\n          default: {\n            contentTypes: [ 'phrasing', 'flow' ],\n            allowedRoles: true\n          }\n        }\n      },\n      abbr: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: true\n      },\n      address: {\n        contentTypes: [ 'flow' ],\n        allowedRoles: true\n      },\n      area: {\n        variant: {\n          href: {\n            matches: '[href]',\n            allowedRoles: false\n          },\n          default: {\n            allowedRoles: [ 'button', 'link' ]\n          }\n        },\n        contentTypes: [ 'phrasing', 'flow' ],\n        namingMethods: [ 'altText' ]\n      },\n      article: {\n        contentTypes: [ 'sectioning', 'flow' ],\n        allowedRoles: [ 'feed', 'presentation', 'none', 'document', 'application', 'main', 'region' ],\n        shadowRoot: true\n      },\n      aside: {\n        contentTypes: [ 'sectioning', 'flow' ],\n        allowedRoles: [ 'feed', 'note', 'presentation', 'none', 'region', 'search', 'doc-dedication', 'doc-example', 'doc-footnote', 'doc-glossary', 'doc-pullquote', 'doc-tip' ]\n      },\n      audio: {\n        variant: {\n          controls: {\n            matches: '[controls]',\n            contentTypes: [ 'interactive', 'embedded', 'phrasing', 'flow' ]\n          },\n          default: {\n            contentTypes: [ 'embedded', 'phrasing', 'flow' ]\n          }\n        },\n        allowedRoles: [ 'application' ],\n        chromiumRole: 'Audio'\n      },\n      b: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: true\n      },\n      base: {\n        allowedRoles: false,\n        noAriaAttrs: true\n      },\n      bdi: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: true\n      },\n      bdo: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: true\n      },\n      blockquote: {\n        contentTypes: [ 'flow' ],\n        allowedRoles: true,\n        shadowRoot: true\n      },\n      body: {\n        allowedRoles: false,\n        shadowRoot: true\n      },\n      br: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: [ 'presentation', 'none' ],\n        namingMethods: [ 'titleText', 'singleSpace' ]\n      },\n      button: {\n        contentTypes: [ 'interactive', 'phrasing', 'flow' ],\n        allowedRoles: [ 'checkbox', 'combobox', 'gridcell', 'link', 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'option', 'radio', 'separator', 'slider', 'switch', 'tab', 'treeitem' ],\n        namingMethods: [ 'subtreeText' ]\n      },\n      canvas: {\n        allowedRoles: true,\n        contentTypes: [ 'embedded', 'phrasing', 'flow' ],\n        chromiumRole: 'Canvas'\n      },\n      caption: {\n        allowedRoles: false\n      },\n      cite: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: true\n      },\n      code: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: true\n      },\n      col: {\n        allowedRoles: false,\n        noAriaAttrs: true\n      },\n      colgroup: {\n        allowedRoles: false,\n        noAriaAttrs: true\n      },\n      data: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: true\n      },\n      datalist: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: false,\n        noAriaAttrs: true,\n        implicitAttrs: {\n          'aria-multiselectable': 'false'\n        }\n      },\n      dd: {\n        allowedRoles: false\n      },\n      del: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: true\n      },\n      dfn: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: true\n      },\n      details: {\n        contentTypes: [ 'interactive', 'flow' ],\n        allowedRoles: false\n      },\n      dialog: {\n        contentTypes: [ 'flow' ],\n        allowedRoles: [ 'alertdialog' ]\n      },\n      div: {\n        contentTypes: [ 'flow' ],\n        allowedRoles: true,\n        shadowRoot: true\n      },\n      dl: {\n        contentTypes: [ 'flow' ],\n        allowedRoles: [ 'group', 'list', 'presentation', 'none' ],\n        chromiumRole: 'DescriptionList'\n      },\n      dt: {\n        allowedRoles: [ 'listitem' ]\n      },\n      em: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: true\n      },\n      embed: {\n        contentTypes: [ 'interactive', 'embedded', 'phrasing', 'flow' ],\n        allowedRoles: [ 'application', 'document', 'img', 'presentation', 'none' ],\n        chromiumRole: 'EmbeddedObject'\n      },\n      fieldset: {\n        contentTypes: [ 'flow' ],\n        allowedRoles: [ 'none', 'presentation', 'radiogroup' ],\n        namingMethods: [ 'fieldsetLegendText' ]\n      },\n      figcaption: {\n        allowedRoles: [ 'group', 'none', 'presentation' ]\n      },\n      figure: {\n        contentTypes: [ 'flow' ],\n        allowedRoles: true,\n        namingMethods: [ 'figureText', 'titleText' ]\n      },\n      footer: {\n        contentTypes: [ 'flow' ],\n        allowedRoles: [ 'group', 'none', 'presentation', 'doc-footnote' ],\n        shadowRoot: true\n      },\n      form: {\n        contentTypes: [ 'flow' ],\n        allowedRoles: [ 'form', 'search', 'none', 'presentation' ]\n      },\n      h1: {\n        contentTypes: [ 'heading', 'flow' ],\n        allowedRoles: [ 'none', 'presentation', 'tab', 'doc-subtitle' ],\n        shadowRoot: true,\n        implicitAttrs: {\n          'aria-level': '1'\n        }\n      },\n      h2: {\n        contentTypes: [ 'heading', 'flow' ],\n        allowedRoles: [ 'none', 'presentation', 'tab', 'doc-subtitle' ],\n        shadowRoot: true,\n        implicitAttrs: {\n          'aria-level': '2'\n        }\n      },\n      h3: {\n        contentTypes: [ 'heading', 'flow' ],\n        allowedRoles: [ 'none', 'presentation', 'tab', 'doc-subtitle' ],\n        shadowRoot: true,\n        implicitAttrs: {\n          'aria-level': '3'\n        }\n      },\n      h4: {\n        contentTypes: [ 'heading', 'flow' ],\n        allowedRoles: [ 'none', 'presentation', 'tab', 'doc-subtitle' ],\n        shadowRoot: true,\n        implicitAttrs: {\n          'aria-level': '4'\n        }\n      },\n      h5: {\n        contentTypes: [ 'heading', 'flow' ],\n        allowedRoles: [ 'none', 'presentation', 'tab', 'doc-subtitle' ],\n        shadowRoot: true,\n        implicitAttrs: {\n          'aria-level': '5'\n        }\n      },\n      h6: {\n        contentTypes: [ 'heading', 'flow' ],\n        allowedRoles: [ 'none', 'presentation', 'tab', 'doc-subtitle' ],\n        shadowRoot: true,\n        implicitAttrs: {\n          'aria-level': '6'\n        }\n      },\n      head: {\n        allowedRoles: false,\n        noAriaAttrs: true\n      },\n      header: {\n        contentTypes: [ 'flow' ],\n        allowedRoles: [ 'group', 'none', 'presentation', 'doc-footnote' ],\n        shadowRoot: true\n      },\n      hgroup: {\n        contentTypes: [ 'heading', 'flow' ],\n        allowedRoles: true\n      },\n      hr: {\n        contentTypes: [ 'flow' ],\n        allowedRoles: [ 'none', 'presentation', 'doc-pagebreak' ],\n        namingMethods: [ 'titleText', 'singleSpace' ]\n      },\n      html: {\n        allowedRoles: false,\n        noAriaAttrs: true\n      },\n      i: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: true\n      },\n      iframe: {\n        contentTypes: [ 'interactive', 'embedded', 'phrasing', 'flow' ],\n        allowedRoles: [ 'application', 'document', 'img', 'none', 'presentation' ],\n        chromiumRole: 'Iframe'\n      },\n      img: {\n        variant: {\n          nonEmptyAlt: {\n            matches: [ {\n              attributes: {\n                alt: '/.+/'\n              }\n            }, {\n              hasAccessibleName: true\n            } ],\n            allowedRoles: [ 'button', 'checkbox', 'link', 'math', 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'meter', 'option', 'progressbar', 'radio', 'scrollbar', 'separator', 'slider', 'switch', 'tab', 'treeitem', 'doc-cover' ]\n          },\n          usemap: {\n            matches: '[usemap]',\n            contentTypes: [ 'interactive', 'embedded', 'flow' ]\n          },\n          default: {\n            allowedRoles: [ 'presentation', 'none' ],\n            contentTypes: [ 'embedded', 'flow' ]\n          }\n        },\n        namingMethods: [ 'altText' ]\n      },\n      input: {\n        variant: {\n          button: {\n            matches: {\n              properties: {\n                type: 'button'\n              }\n            },\n            allowedRoles: [ 'checkbox', 'combobox', 'link', 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'option', 'radio', 'switch', 'tab' ]\n          },\n          buttonType: {\n            matches: {\n              properties: {\n                type: [ 'button', 'submit', 'reset' ]\n              }\n            },\n            namingMethods: [ 'valueText', 'titleText', 'buttonDefaultText' ]\n          },\n          checkboxPressed: {\n            matches: {\n              properties: {\n                type: 'checkbox'\n              },\n              attributes: {\n                'aria-pressed': '/.*/'\n              }\n            },\n            allowedRoles: [ 'button', 'menuitemcheckbox', 'option', 'switch' ],\n            implicitAttrs: {\n              'aria-checked': 'false'\n            }\n          },\n          checkbox: {\n            matches: {\n              properties: {\n                type: 'checkbox'\n              },\n              attributes: {\n                'aria-pressed': null\n              }\n            },\n            allowedRoles: [ 'menuitemcheckbox', 'option', 'switch' ],\n            implicitAttrs: {\n              'aria-checked': 'false'\n            }\n          },\n          noRoles: {\n            matches: {\n              properties: {\n                type: [ 'color', 'date', 'datetime-local', 'file', 'month', 'number', 'password', 'range', 'reset', 'submit', 'time', 'week' ]\n              }\n            },\n            allowedRoles: false\n          },\n          hidden: {\n            matches: {\n              properties: {\n                type: 'hidden'\n              }\n            },\n            contentTypes: [ 'flow' ],\n            allowedRoles: false,\n            noAriaAttrs: true\n          },\n          image: {\n            matches: {\n              properties: {\n                type: 'image'\n              }\n            },\n            allowedRoles: [ 'link', 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'radio', 'switch' ],\n            namingMethods: [ 'altText', 'valueText', 'labelText', 'titleText', 'buttonDefaultText' ]\n          },\n          radio: {\n            matches: {\n              properties: {\n                type: 'radio'\n              }\n            },\n            allowedRoles: [ 'menuitemradio' ],\n            implicitAttrs: {\n              'aria-checked': 'false'\n            }\n          },\n          textWithList: {\n            matches: {\n              properties: {\n                type: 'text'\n              },\n              attributes: {\n                list: '/.*/'\n              }\n            },\n            allowedRoles: false\n          },\n          default: {\n            contentTypes: [ 'interactive', 'flow' ],\n            allowedRoles: [ 'combobox', 'searchbox', 'spinbutton' ],\n            implicitAttrs: {\n              'aria-valuenow': ''\n            },\n            namingMethods: [ 'labelText', 'placeholderText' ]\n          }\n        }\n      },\n      ins: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: true\n      },\n      kbd: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: true\n      },\n      label: {\n        contentTypes: [ 'interactive', 'phrasing', 'flow' ],\n        allowedRoles: false,\n        chromiumRole: 'Label'\n      },\n      legend: {\n        allowedRoles: false\n      },\n      li: {\n        allowedRoles: [ 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'option', 'none', 'presentation', 'radio', 'separator', 'tab', 'treeitem', 'doc-biblioentry', 'doc-endnote' ],\n        implicitAttrs: {\n          'aria-setsize': '1',\n          'aria-posinset': '1'\n        }\n      },\n      link: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: false,\n        noAriaAttrs: true\n      },\n      main: {\n        contentTypes: [ 'flow' ],\n        allowedRoles: false,\n        shadowRoot: true\n      },\n      map: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: false,\n        noAriaAttrs: true\n      },\n      math: {\n        contentTypes: [ 'embedded', 'phrasing', 'flow' ],\n        allowedRoles: false\n      },\n      mark: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: true\n      },\n      menu: {\n        contentTypes: [ 'flow' ],\n        allowedRoles: [ 'directory', 'group', 'listbox', 'menu', 'menubar', 'none', 'presentation', 'radiogroup', 'tablist', 'toolbar', 'tree' ]\n      },\n      meta: {\n        variant: {\n          itemprop: {\n            matches: '[itemprop]',\n            contentTypes: [ 'phrasing', 'flow' ]\n          }\n        },\n        allowedRoles: false,\n        noAriaAttrs: true\n      },\n      meter: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: false,\n        chromiumRole: 'progressbar'\n      },\n      nav: {\n        contentTypes: [ 'sectioning', 'flow' ],\n        allowedRoles: [ 'doc-index', 'doc-pagelist', 'doc-toc', 'menu', 'menubar', 'none', 'presentation', 'tablist' ],\n        shadowRoot: true\n      },\n      noscript: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: false,\n        noAriaAttrs: true\n      },\n      object: {\n        variant: {\n          usemap: {\n            matches: '[usemap]',\n            contentTypes: [ 'interactive', 'embedded', 'phrasing', 'flow' ]\n          },\n          default: {\n            contentTypes: [ 'embedded', 'phrasing', 'flow' ]\n          }\n        },\n        allowedRoles: [ 'application', 'document', 'img' ],\n        chromiumRole: 'PluginObject'\n      },\n      ol: {\n        contentTypes: [ 'flow' ],\n        allowedRoles: [ 'directory', 'group', 'listbox', 'menu', 'menubar', 'none', 'presentation', 'radiogroup', 'tablist', 'toolbar', 'tree' ]\n      },\n      optgroup: {\n        allowedRoles: false\n      },\n      option: {\n        allowedRoles: false,\n        implicitAttrs: {\n          'aria-selected': 'false'\n        }\n      },\n      output: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: true,\n        namingMethods: [ 'subtreeText' ]\n      },\n      p: {\n        contentTypes: [ 'flow' ],\n        allowedRoles: true,\n        shadowRoot: true\n      },\n      param: {\n        allowedRoles: false,\n        noAriaAttrs: true\n      },\n      picture: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: false,\n        noAriaAttrs: true\n      },\n      pre: {\n        contentTypes: [ 'flow' ],\n        allowedRoles: true\n      },\n      progress: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: false,\n        implicitAttrs: {\n          'aria-valuemax': '100',\n          'aria-valuemin': '0',\n          'aria-valuenow': '0'\n        }\n      },\n      q: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: true\n      },\n      rp: {\n        allowedRoles: true\n      },\n      rt: {\n        allowedRoles: true\n      },\n      ruby: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: true\n      },\n      s: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: true\n      },\n      samp: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: true\n      },\n      script: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: false,\n        noAriaAttrs: true\n      },\n      search: {\n        contentTypes: [ 'flow' ],\n        allowedRoles: [ 'form', 'group', 'none', 'presentation', 'region', 'search' ]\n      },\n      section: {\n        contentTypes: [ 'sectioning', 'flow' ],\n        allowedRoles: [ 'alert', 'alertdialog', 'application', 'banner', 'complementary', 'contentinfo', 'dialog', 'document', 'feed', 'group', 'log', 'main', 'marquee', 'navigation', 'none', 'note', 'presentation', 'search', 'status', 'tabpanel', 'doc-abstract', 'doc-acknowledgments', 'doc-afterword', 'doc-appendix', 'doc-bibliography', 'doc-chapter', 'doc-colophon', 'doc-conclusion', 'doc-credit', 'doc-credits', 'doc-dedication', 'doc-endnotes', 'doc-epigraph', 'doc-epilogue', 'doc-errata', 'doc-example', 'doc-foreword', 'doc-glossary', 'doc-index', 'doc-introduction', 'doc-notice', 'doc-pagelist', 'doc-part', 'doc-preface', 'doc-prologue', 'doc-pullquote', 'doc-qna', 'doc-toc' ],\n        shadowRoot: true\n      },\n      select: {\n        variant: {\n          combobox: {\n            matches: {\n              attributes: {\n                multiple: null,\n                size: [ null, '1' ]\n              }\n            },\n            allowedRoles: [ 'menu' ]\n          },\n          default: {\n            allowedRoles: false\n          }\n        },\n        contentTypes: [ 'interactive', 'phrasing', 'flow' ],\n        implicitAttrs: {\n          'aria-valuenow': ''\n        },\n        namingMethods: [ 'labelText' ]\n      },\n      slot: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: false,\n        noAriaAttrs: true\n      },\n      small: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: true\n      },\n      source: {\n        allowedRoles: false,\n        noAriaAttrs: true\n      },\n      span: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: true,\n        shadowRoot: true\n      },\n      strong: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: true\n      },\n      style: {\n        allowedRoles: false,\n        noAriaAttrs: true\n      },\n      svg: {\n        contentTypes: [ 'embedded', 'phrasing', 'flow' ],\n        allowedRoles: true,\n        chromiumRole: 'SVGRoot',\n        namingMethods: [ 'svgTitleText' ]\n      },\n      sub: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: true\n      },\n      summary: {\n        allowedRoles: false,\n        namingMethods: [ 'subtreeText' ]\n      },\n      sup: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: true\n      },\n      table: {\n        contentTypes: [ 'flow' ],\n        allowedRoles: true,\n        namingMethods: [ 'tableCaptionText', 'tableSummaryText' ]\n      },\n      tbody: {\n        allowedRoles: true\n      },\n      template: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: false,\n        noAriaAttrs: true\n      },\n      textarea: {\n        contentTypes: [ 'interactive', 'phrasing', 'flow' ],\n        allowedRoles: false,\n        implicitAttrs: {\n          'aria-valuenow': '',\n          'aria-multiline': 'true'\n        },\n        namingMethods: [ 'labelText', 'placeholderText' ]\n      },\n      tfoot: {\n        allowedRoles: true\n      },\n      thead: {\n        allowedRoles: true\n      },\n      time: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: true\n      },\n      title: {\n        allowedRoles: false,\n        noAriaAttrs: true\n      },\n      td: {\n        allowedRoles: true\n      },\n      th: {\n        allowedRoles: true\n      },\n      tr: {\n        allowedRoles: true\n      },\n      track: {\n        allowedRoles: false,\n        noAriaAttrs: true\n      },\n      u: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: true\n      },\n      ul: {\n        contentTypes: [ 'flow' ],\n        allowedRoles: [ 'directory', 'group', 'listbox', 'menu', 'menubar', 'none', 'presentation', 'radiogroup', 'tablist', 'toolbar', 'tree' ]\n      },\n      var: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: true\n      },\n      video: {\n        variant: {\n          controls: {\n            matches: '[controls]',\n            contentTypes: [ 'interactive', 'embedded', 'phrasing', 'flow' ]\n          },\n          default: {\n            contentTypes: [ 'embedded', 'phrasing', 'flow' ]\n          }\n        },\n        allowedRoles: [ 'application' ],\n        chromiumRole: 'video'\n      },\n      wbr: {\n        contentTypes: [ 'phrasing', 'flow' ],\n        allowedRoles: [ 'presentation', 'none' ]\n      }\n    };\n    var html_elms_default = htmlElms;\n    var cssColors = {\n      aliceblue: [ 240, 248, 255 ],\n      antiquewhite: [ 250, 235, 215 ],\n      aqua: [ 0, 255, 255 ],\n      aquamarine: [ 127, 255, 212 ],\n      azure: [ 240, 255, 255 ],\n      beige: [ 245, 245, 220 ],\n      bisque: [ 255, 228, 196 ],\n      black: [ 0, 0, 0 ],\n      blanchedalmond: [ 255, 235, 205 ],\n      blue: [ 0, 0, 255 ],\n      blueviolet: [ 138, 43, 226 ],\n      brown: [ 165, 42, 42 ],\n      burlywood: [ 222, 184, 135 ],\n      cadetblue: [ 95, 158, 160 ],\n      chartreuse: [ 127, 255, 0 ],\n      chocolate: [ 210, 105, 30 ],\n      coral: [ 255, 127, 80 ],\n      cornflowerblue: [ 100, 149, 237 ],\n      cornsilk: [ 255, 248, 220 ],\n      crimson: [ 220, 20, 60 ],\n      cyan: [ 0, 255, 255 ],\n      darkblue: [ 0, 0, 139 ],\n      darkcyan: [ 0, 139, 139 ],\n      darkgoldenrod: [ 184, 134, 11 ],\n      darkgray: [ 169, 169, 169 ],\n      darkgreen: [ 0, 100, 0 ],\n      darkgrey: [ 169, 169, 169 ],\n      darkkhaki: [ 189, 183, 107 ],\n      darkmagenta: [ 139, 0, 139 ],\n      darkolivegreen: [ 85, 107, 47 ],\n      darkorange: [ 255, 140, 0 ],\n      darkorchid: [ 153, 50, 204 ],\n      darkred: [ 139, 0, 0 ],\n      darksalmon: [ 233, 150, 122 ],\n      darkseagreen: [ 143, 188, 143 ],\n      darkslateblue: [ 72, 61, 139 ],\n      darkslategray: [ 47, 79, 79 ],\n      darkslategrey: [ 47, 79, 79 ],\n      darkturquoise: [ 0, 206, 209 ],\n      darkviolet: [ 148, 0, 211 ],\n      deeppink: [ 255, 20, 147 ],\n      deepskyblue: [ 0, 191, 255 ],\n      dimgray: [ 105, 105, 105 ],\n      dimgrey: [ 105, 105, 105 ],\n      dodgerblue: [ 30, 144, 255 ],\n      firebrick: [ 178, 34, 34 ],\n      floralwhite: [ 255, 250, 240 ],\n      forestgreen: [ 34, 139, 34 ],\n      fuchsia: [ 255, 0, 255 ],\n      gainsboro: [ 220, 220, 220 ],\n      ghostwhite: [ 248, 248, 255 ],\n      gold: [ 255, 215, 0 ],\n      goldenrod: [ 218, 165, 32 ],\n      gray: [ 128, 128, 128 ],\n      green: [ 0, 128, 0 ],\n      greenyellow: [ 173, 255, 47 ],\n      grey: [ 128, 128, 128 ],\n      honeydew: [ 240, 255, 240 ],\n      hotpink: [ 255, 105, 180 ],\n      indianred: [ 205, 92, 92 ],\n      indigo: [ 75, 0, 130 ],\n      ivory: [ 255, 255, 240 ],\n      khaki: [ 240, 230, 140 ],\n      lavender: [ 230, 230, 250 ],\n      lavenderblush: [ 255, 240, 245 ],\n      lawngreen: [ 124, 252, 0 ],\n      lemonchiffon: [ 255, 250, 205 ],\n      lightblue: [ 173, 216, 230 ],\n      lightcoral: [ 240, 128, 128 ],\n      lightcyan: [ 224, 255, 255 ],\n      lightgoldenrodyellow: [ 250, 250, 210 ],\n      lightgray: [ 211, 211, 211 ],\n      lightgreen: [ 144, 238, 144 ],\n      lightgrey: [ 211, 211, 211 ],\n      lightpink: [ 255, 182, 193 ],\n      lightsalmon: [ 255, 160, 122 ],\n      lightseagreen: [ 32, 178, 170 ],\n      lightskyblue: [ 135, 206, 250 ],\n      lightslategray: [ 119, 136, 153 ],\n      lightslategrey: [ 119, 136, 153 ],\n      lightsteelblue: [ 176, 196, 222 ],\n      lightyellow: [ 255, 255, 224 ],\n      lime: [ 0, 255, 0 ],\n      limegreen: [ 50, 205, 50 ],\n      linen: [ 250, 240, 230 ],\n      magenta: [ 255, 0, 255 ],\n      maroon: [ 128, 0, 0 ],\n      mediumaquamarine: [ 102, 205, 170 ],\n      mediumblue: [ 0, 0, 205 ],\n      mediumorchid: [ 186, 85, 211 ],\n      mediumpurple: [ 147, 112, 219 ],\n      mediumseagreen: [ 60, 179, 113 ],\n      mediumslateblue: [ 123, 104, 238 ],\n      mediumspringgreen: [ 0, 250, 154 ],\n      mediumturquoise: [ 72, 209, 204 ],\n      mediumvioletred: [ 199, 21, 133 ],\n      midnightblue: [ 25, 25, 112 ],\n      mintcream: [ 245, 255, 250 ],\n      mistyrose: [ 255, 228, 225 ],\n      moccasin: [ 255, 228, 181 ],\n      navajowhite: [ 255, 222, 173 ],\n      navy: [ 0, 0, 128 ],\n      oldlace: [ 253, 245, 230 ],\n      olive: [ 128, 128, 0 ],\n      olivedrab: [ 107, 142, 35 ],\n      orange: [ 255, 165, 0 ],\n      orangered: [ 255, 69, 0 ],\n      orchid: [ 218, 112, 214 ],\n      palegoldenrod: [ 238, 232, 170 ],\n      palegreen: [ 152, 251, 152 ],\n      paleturquoise: [ 175, 238, 238 ],\n      palevioletred: [ 219, 112, 147 ],\n      papayawhip: [ 255, 239, 213 ],\n      peachpuff: [ 255, 218, 185 ],\n      peru: [ 205, 133, 63 ],\n      pink: [ 255, 192, 203 ],\n      plum: [ 221, 160, 221 ],\n      powderblue: [ 176, 224, 230 ],\n      purple: [ 128, 0, 128 ],\n      rebeccapurple: [ 102, 51, 153 ],\n      red: [ 255, 0, 0 ],\n      rosybrown: [ 188, 143, 143 ],\n      royalblue: [ 65, 105, 225 ],\n      saddlebrown: [ 139, 69, 19 ],\n      salmon: [ 250, 128, 114 ],\n      sandybrown: [ 244, 164, 96 ],\n      seagreen: [ 46, 139, 87 ],\n      seashell: [ 255, 245, 238 ],\n      sienna: [ 160, 82, 45 ],\n      silver: [ 192, 192, 192 ],\n      skyblue: [ 135, 206, 235 ],\n      slateblue: [ 106, 90, 205 ],\n      slategray: [ 112, 128, 144 ],\n      slategrey: [ 112, 128, 144 ],\n      snow: [ 255, 250, 250 ],\n      springgreen: [ 0, 255, 127 ],\n      steelblue: [ 70, 130, 180 ],\n      tan: [ 210, 180, 140 ],\n      teal: [ 0, 128, 128 ],\n      thistle: [ 216, 191, 216 ],\n      tomato: [ 255, 99, 71 ],\n      turquoise: [ 64, 224, 208 ],\n      violet: [ 238, 130, 238 ],\n      wheat: [ 245, 222, 179 ],\n      white: [ 255, 255, 255 ],\n      whitesmoke: [ 245, 245, 245 ],\n      yellow: [ 255, 255, 0 ],\n      yellowgreen: [ 154, 205, 50 ]\n    };\n    var css_colors_default = cssColors;\n    var originals = {\n      ariaAttrs: aria_attrs_default,\n      ariaRoles: _extends({}, aria_roles_default, dpub_roles_default, graphics_roles_default),\n      htmlElms: html_elms_default,\n      cssColors: css_colors_default\n    };\n    var standards = _extends({}, originals);\n    function configureStandards(config) {\n      Object.keys(standards).forEach(function(propName) {\n        if (config[propName]) {\n          standards[propName] = deep_merge_default(standards[propName], config[propName]);\n        }\n      });\n    }\n    function resetStandards() {\n      Object.keys(standards).forEach(function(propName) {\n        standards[propName] = originals[propName];\n      });\n    }\n    var standards_default = standards;\n    function isUnsupportedRole(role) {\n      var roleDefinition = standards_default.ariaRoles[role];\n      return roleDefinition ? !!roleDefinition.unsupported : false;\n    }\n    var is_unsupported_role_default = isUnsupportedRole;\n    function isValidRole(role) {\n      var _ref40 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, allowAbstract = _ref40.allowAbstract, _ref40$flagUnsupporte = _ref40.flagUnsupported, flagUnsupported = _ref40$flagUnsupporte === void 0 ? false : _ref40$flagUnsupporte;\n      var roleDefinition = standards_default.ariaRoles[role];\n      var isRoleUnsupported = is_unsupported_role_default(role);\n      if (!roleDefinition || flagUnsupported && isRoleUnsupported) {\n        return false;\n      }\n      return allowAbstract ? true : roleDefinition.type !== 'abstract';\n    }\n    var is_valid_role_default = isValidRole;\n    function getExplicitRole(vNode) {\n      var _ref41 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, fallback = _ref41.fallback, abstracts = _ref41.abstracts, dpub = _ref41.dpub;\n      vNode = vNode instanceof abstract_virtual_node_default ? vNode : get_node_from_tree_default(vNode);\n      if (vNode.props.nodeType !== 1) {\n        return null;\n      }\n      var roleAttr = (vNode.attr('role') || '').trim().toLowerCase();\n      var roleList = fallback ? token_list_default(roleAttr) : [ roleAttr ];\n      var firstValidRole = roleList.find(function(role) {\n        if (!dpub && role.substr(0, 4) === 'doc-') {\n          return false;\n        }\n        return is_valid_role_default(role, {\n          allowAbstract: abstracts\n        });\n      });\n      return firstValidRole || null;\n    }\n    var get_explicit_role_default = getExplicitRole;\n    function getElementsByContentType(type2) {\n      return Object.keys(standards_default.htmlElms).filter(function(nodeName2) {\n        var elm = standards_default.htmlElms[nodeName2];\n        if (elm.contentTypes) {\n          return elm.contentTypes.includes(type2);\n        }\n        if (!elm.variant) {\n          return false;\n        }\n        if (elm.variant['default'] && elm.variant['default'].contentTypes) {\n          return elm.variant['default'].contentTypes.includes(type2);\n        }\n        return false;\n      });\n    }\n    var get_elements_by_content_type_default = getElementsByContentType;\n    function getGlobalAriaAttrs() {\n      return cache_default.get('globalAriaAttrs', function() {\n        return Object.keys(standards_default.ariaAttrs).filter(function(attrName) {\n          return standards_default.ariaAttrs[attrName].global;\n        });\n      });\n    }\n    var get_global_aria_attrs_default = getGlobalAriaAttrs;\n    function toGrid(node) {\n      var table = [];\n      var rows = node.rows;\n      for (var i = 0, rowLength = rows.length; i < rowLength; i++) {\n        var cells = rows[i].cells;\n        table[i] = table[i] || [];\n        var columnIndex = 0;\n        for (var j = 0, cellLength = cells.length; j < cellLength; j++) {\n          for (var colSpan = 0; colSpan < cells[j].colSpan; colSpan++) {\n            var rowspanAttr = cells[j].getAttribute('rowspan');\n            var rowspanValue = parseInt(rowspanAttr) === 0 || cells[j].rowspan === 0 ? rows.length : cells[j].rowSpan;\n            for (var rowSpan = 0; rowSpan < rowspanValue; rowSpan++) {\n              table[i + rowSpan] = table[i + rowSpan] || [];\n              while (table[i + rowSpan][columnIndex]) {\n                columnIndex++;\n              }\n              table[i + rowSpan][columnIndex] = cells[j];\n            }\n            columnIndex++;\n          }\n        }\n      }\n      return table;\n    }\n    var to_grid_default = memoize_default(toGrid);\n    function getCellPosition(cell, tableGrid) {\n      var rowIndex, index;\n      if (!tableGrid) {\n        tableGrid = to_grid_default(find_up_default(cell, 'table'));\n      }\n      for (rowIndex = 0; rowIndex < tableGrid.length; rowIndex++) {\n        if (tableGrid[rowIndex]) {\n          index = tableGrid[rowIndex].indexOf(cell);\n          if (index !== -1) {\n            return {\n              x: index,\n              y: rowIndex\n            };\n          }\n        }\n      }\n    }\n    var get_cell_position_default = memoize_default(getCellPosition);\n    function _getScope(el) {\n      var _nodeLookup0 = _nodeLookup(el), vNode = _nodeLookup0.vNode, cell = _nodeLookup0.domNode;\n      var scope = vNode.attr('scope');\n      var role = get_explicit_role_default(vNode);\n      if (![ 'td', 'th' ].includes(vNode.props.nodeName)) {\n        throw new TypeError('Expected TD or TH element');\n      }\n      if (role === 'columnheader') {\n        return 'col';\n      } else if (role === 'rowheader') {\n        return 'row';\n      } else if (scope === 'col' || scope === 'row') {\n        return scope;\n      } else if (vNode.props.nodeName !== 'th') {\n        return false;\n      } else if (!vNode.actualNode) {\n        return 'auto';\n      }\n      var tableGrid = to_grid_default(find_up_default(cell, 'table'));\n      var pos = get_cell_position_default(cell, tableGrid);\n      var headerRow = tableGrid[pos.y].every(function(node) {\n        return node.nodeName.toUpperCase() === 'TH';\n      });\n      if (headerRow) {\n        return 'col';\n      }\n      var headerCol = tableGrid.map(function(col) {\n        return col[pos.x];\n      }).every(function(node) {\n        return node && node.nodeName.toUpperCase() === 'TH';\n      });\n      if (headerCol) {\n        return 'row';\n      }\n      return 'auto';\n    }\n    function isColumnHeader(element) {\n      return [ 'col', 'auto' ].indexOf(_getScope(element)) !== -1;\n    }\n    var is_column_header_default = isColumnHeader;\n    function isRowHeader(cell) {\n      return [ 'row', 'auto' ].includes(_getScope(cell));\n    }\n    var is_row_header_default = isRowHeader;\n    function sanitize(str) {\n      if (!str) {\n        return '';\n      }\n      return str.replace(/\\r\\n/g, '\\n').replace(/\\u00A0/g, ' ').replace(/[\\s]{2,}/g, ' ').trim();\n    }\n    var sanitize_default = sanitize;\n    var getSectioningContentSelector = function getSectioningContentSelector() {\n      return cache_default.get('sectioningContentSelector', function() {\n        return get_elements_by_content_type_default('sectioning').map(function(nodeName2) {\n          return ''.concat(nodeName2, ':not([role])');\n        }).join(', ') + ' , [role=article], [role=complementary], [role=navigation], [role=region]';\n      });\n    };\n    var getSectioningContentPlusMainSelector = function getSectioningContentPlusMainSelector() {\n      return cache_default.get('sectioningContentPlusMainSelector', function() {\n        return getSectioningContentSelector() + ' , main:not([role]), [role=main]';\n      });\n    };\n    function hasAccessibleName(vNode) {\n      var _ref42 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref42$checkTitle = _ref42.checkTitle, checkTitle = _ref42$checkTitle === void 0 ? false : _ref42$checkTitle;\n      return !!(sanitize_default(arialabelledby_text_default(vNode)) || sanitize_default(_arialabelText(vNode)) || checkTitle && (vNode === null || vNode === void 0 ? void 0 : vNode.props.nodeType) === 1 && sanitize_default(vNode.attr('title')));\n    }\n    var implicitHtmlRoles = {\n      a: function a(vNode) {\n        return vNode.hasAttr('href') ? 'link' : null;\n      },\n      area: function area(vNode) {\n        return vNode.hasAttr('href') ? 'link' : null;\n      },\n      article: 'article',\n      aside: function aside(vNode) {\n        if (closest_default(vNode.parent, getSectioningContentSelector()) && !hasAccessibleName(vNode, {\n          checkTitle: true\n        })) {\n          return null;\n        }\n        return 'complementary';\n      },\n      body: 'document',\n      button: 'button',\n      datalist: 'listbox',\n      dd: 'definition',\n      dfn: 'term',\n      details: 'group',\n      dialog: 'dialog',\n      dt: 'term',\n      fieldset: 'group',\n      figure: 'figure',\n      footer: function footer(vNode) {\n        var sectioningElement = closest_default(vNode, getSectioningContentPlusMainSelector());\n        return !sectioningElement ? 'contentinfo' : null;\n      },\n      form: function form(vNode) {\n        return hasAccessibleName(vNode) ? 'form' : null;\n      },\n      h1: 'heading',\n      h2: 'heading',\n      h3: 'heading',\n      h4: 'heading',\n      h5: 'heading',\n      h6: 'heading',\n      header: function header(vNode) {\n        var sectioningElement = closest_default(vNode, getSectioningContentPlusMainSelector());\n        return !sectioningElement ? 'banner' : null;\n      },\n      hr: 'separator',\n      img: function img(vNode) {\n        var emptyAlt = vNode.hasAttr('alt') && !vNode.attr('alt');\n        var hasGlobalAria = get_global_aria_attrs_default().find(function(attr) {\n          return vNode.hasAttr(attr);\n        });\n        return emptyAlt && !hasGlobalAria && !_isFocusable(vNode) ? 'presentation' : 'img';\n      },\n      input: function input(vNode) {\n        var suggestionsSourceElement;\n        if (vNode.hasAttr('list')) {\n          var listElement = idrefs_default(vNode.actualNode, 'list').filter(function(node) {\n            return !!node;\n          })[0];\n          suggestionsSourceElement = listElement && listElement.nodeName.toLowerCase() === 'datalist';\n        }\n        switch (vNode.props.type) {\n         case 'checkbox':\n          return 'checkbox';\n\n         case 'number':\n          return 'spinbutton';\n\n         case 'radio':\n          return 'radio';\n\n         case 'range':\n          return 'slider';\n\n         case 'search':\n          return !suggestionsSourceElement ? 'searchbox' : 'combobox';\n\n         case 'button':\n         case 'image':\n         case 'reset':\n         case 'submit':\n          return 'button';\n\n         case 'text':\n         case 'tel':\n         case 'url':\n         case 'email':\n         case '':\n          return !suggestionsSourceElement ? 'textbox' : 'combobox';\n\n         default:\n          return 'textbox';\n        }\n      },\n      li: 'listitem',\n      main: 'main',\n      math: 'math',\n      menu: 'list',\n      meter: 'meter',\n      nav: 'navigation',\n      ol: 'list',\n      optgroup: 'group',\n      option: 'option',\n      output: 'status',\n      progress: 'progressbar',\n      search: 'search',\n      section: function section(vNode) {\n        return hasAccessibleName(vNode) ? 'region' : null;\n      },\n      select: function select(vNode) {\n        return vNode.hasAttr('multiple') || parseInt(vNode.attr('size')) > 1 ? 'listbox' : 'combobox';\n      },\n      summary: 'button',\n      table: 'table',\n      tbody: 'rowgroup',\n      td: function td(vNode) {\n        var table = closest_default(vNode, 'table');\n        var role = get_explicit_role_default(table);\n        return [ 'grid', 'treegrid' ].includes(role) ? 'gridcell' : 'cell';\n      },\n      textarea: 'textbox',\n      tfoot: 'rowgroup',\n      th: function th(vNode) {\n        if (is_column_header_default(vNode)) {\n          return 'columnheader';\n        }\n        if (is_row_header_default(vNode)) {\n          return 'rowheader';\n        }\n      },\n      thead: 'rowgroup',\n      tr: 'row',\n      ul: 'list'\n    };\n    var implicit_html_roles_default = implicitHtmlRoles;\n    function fromPrimative(someString, matcher) {\n      var matcherType = _typeof(matcher);\n      if (Array.isArray(matcher) && typeof someString !== 'undefined') {\n        return matcher.includes(someString);\n      }\n      if (matcherType === 'function') {\n        return !!matcher(someString);\n      }\n      if (someString !== null && someString !== void 0) {\n        if (matcher instanceof RegExp) {\n          return matcher.test(someString);\n        }\n        if (/^\\/.*\\/$/.test(matcher)) {\n          var pattern = matcher.substring(1, matcher.length - 1);\n          return new RegExp(pattern).test(someString);\n        }\n      }\n      return matcher === someString;\n    }\n    var from_primative_default = fromPrimative;\n    function hasAccessibleName2(vNode, matcher) {\n      return from_primative_default(!!_accessibleTextVirtual(vNode), matcher);\n    }\n    var has_accessible_name_default = hasAccessibleName2;\n    function fromFunction(getValue, matcher) {\n      var matcherType = _typeof(matcher);\n      if (matcherType !== 'object' || Array.isArray(matcher) || matcher instanceof RegExp) {\n        throw new Error('Expect matcher to be an object');\n      }\n      return Object.keys(matcher).every(function(propName) {\n        return from_primative_default(getValue(propName), matcher[propName]);\n      });\n    }\n    var from_function_default = fromFunction;\n    function attributes(vNode, matcher) {\n      vNode = _nodeLookup(vNode).vNode;\n      return from_function_default(function(attrName) {\n        return vNode.attr(attrName);\n      }, matcher);\n    }\n    var attributes_default = attributes;\n    function condition(arg, matcher) {\n      return !!matcher(arg);\n    }\n    function explicitRole(vNode, matcher) {\n      return from_primative_default(get_explicit_role_default(vNode), matcher);\n    }\n    var explicit_role_default = explicitRole;\n    function implicitRole(vNode, matcher) {\n      return from_primative_default(implicit_role_default(vNode), matcher);\n    }\n    var implicit_role_default2 = implicitRole;\n    function nodeName(vNode, matcher) {\n      vNode = _nodeLookup(vNode).vNode;\n      return from_primative_default(vNode.props.nodeName, matcher);\n    }\n    var node_name_default = nodeName;\n    function properties(vNode, matcher) {\n      vNode = _nodeLookup(vNode).vNode;\n      return from_function_default(function(propName) {\n        return vNode.props[propName];\n      }, matcher);\n    }\n    var properties_default = properties;\n    function semanticRole(vNode, matcher) {\n      return from_primative_default(get_role_default(vNode), matcher);\n    }\n    var semantic_role_default = semanticRole;\n    var matchers = {\n      hasAccessibleName: has_accessible_name_default,\n      attributes: attributes_default,\n      condition: condition,\n      explicitRole: explicit_role_default,\n      implicitRole: implicit_role_default2,\n      nodeName: node_name_default,\n      properties: properties_default,\n      semanticRole: semantic_role_default\n    };\n    function fromDefinition(vNode, definition) {\n      vNode = _nodeLookup(vNode).vNode;\n      if (Array.isArray(definition)) {\n        return definition.some(function(definitionItem) {\n          return fromDefinition(vNode, definitionItem);\n        });\n      }\n      if (typeof definition === 'string') {\n        return _matches(vNode, definition);\n      }\n      return Object.keys(definition).every(function(matcherName) {\n        if (!matchers[matcherName]) {\n          throw new Error('Unknown matcher type \"'.concat(matcherName, '\"'));\n        }\n        var matchMethod = matchers[matcherName];\n        var matcher = definition[matcherName];\n        return matchMethod(vNode, matcher);\n      });\n    }\n    var from_definition_default = fromDefinition;\n    function matches2(vNode, definition) {\n      return from_definition_default(vNode, definition);\n    }\n    var matches_default = matches2;\n    matches_default.hasAccessibleName = has_accessible_name_default;\n    matches_default.attributes = attributes_default;\n    matches_default.condition = condition;\n    matches_default.explicitRole = explicit_role_default;\n    matches_default.fromDefinition = from_definition_default;\n    matches_default.fromFunction = from_function_default;\n    matches_default.fromPrimative = from_primative_default;\n    matches_default.implicitRole = implicit_role_default2;\n    matches_default.nodeName = node_name_default;\n    matches_default.properties = properties_default;\n    matches_default.semanticRole = semantic_role_default;\n    var matches_default2 = matches_default;\n    function getElementSpec(vNode) {\n      var _ref43 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref43$noMatchAccessi = _ref43.noMatchAccessibleName, noMatchAccessibleName = _ref43$noMatchAccessi === void 0 ? false : _ref43$noMatchAccessi;\n      var standard = standards_default.htmlElms[vNode.props.nodeName];\n      if (!standard) {\n        return {};\n      }\n      if (!standard.variant) {\n        return standard;\n      }\n      var variant = standard.variant, spec = _objectWithoutProperties(standard, _excluded6);\n      for (var variantName in variant) {\n        if (!variant.hasOwnProperty(variantName) || variantName === 'default') {\n          continue;\n        }\n        var _variant$variantName = variant[variantName], matches4 = _variant$variantName.matches, props = _objectWithoutProperties(_variant$variantName, _excluded7);\n        var matchProperties = Array.isArray(matches4) ? matches4 : [ matches4 ];\n        for (var i = 0; i < matchProperties.length && noMatchAccessibleName; i++) {\n          if (matchProperties[i].hasOwnProperty('hasAccessibleName')) {\n            return standard;\n          }\n        }\n        if (matches_default2(vNode, matches4)) {\n          for (var propName in props) {\n            if (props.hasOwnProperty(propName)) {\n              spec[propName] = props[propName];\n            }\n          }\n        }\n      }\n      for (var _propName in variant['default']) {\n        if (variant['default'].hasOwnProperty(_propName) && typeof spec[_propName] === 'undefined') {\n          spec[_propName] = variant['default'][_propName];\n        }\n      }\n      return spec;\n    }\n    var get_element_spec_default = getElementSpec;\n    function implicitRole2(node) {\n      var _ref44 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, chromium = _ref44.chromium;\n      var vNode = node instanceof abstract_virtual_node_default ? node : get_node_from_tree_default(node);\n      node = vNode.actualNode;\n      if (!vNode) {\n        throw new ReferenceError('Cannot get implicit role of a node outside the current scope.');\n      }\n      var nodeName2 = vNode.props.nodeName;\n      var role = implicit_html_roles_default[nodeName2];\n      if (!role && chromium) {\n        var _get_element_spec_def = get_element_spec_default(vNode), chromiumRole = _get_element_spec_def.chromiumRole;\n        return chromiumRole || null;\n      }\n      if (typeof role === 'function') {\n        return role(vNode);\n      }\n      return role || null;\n    }\n    var implicit_role_default = implicitRole2;\n    var inheritsPresentationChain = {\n      td: [ 'tr' ],\n      th: [ 'tr' ],\n      tr: [ 'thead', 'tbody', 'tfoot', 'table' ],\n      thead: [ 'table' ],\n      tbody: [ 'table' ],\n      tfoot: [ 'table' ],\n      li: [ 'ol', 'ul' ],\n      dt: [ 'dl', 'div' ],\n      dd: [ 'dl', 'div' ],\n      div: [ 'dl' ]\n    };\n    function getInheritedRole(vNode, explicitRoleOptions) {\n      var parentNodeNames = inheritsPresentationChain[vNode.props.nodeName];\n      if (!parentNodeNames) {\n        return null;\n      }\n      if (!vNode.parent) {\n        if (!vNode.actualNode) {\n          return null;\n        }\n        throw new ReferenceError('Cannot determine role presentational inheritance of a required parent outside the current scope.');\n      }\n      if (!parentNodeNames.includes(vNode.parent.props.nodeName)) {\n        return null;\n      }\n      var parentRole = get_explicit_role_default(vNode.parent, explicitRoleOptions);\n      if ([ 'none', 'presentation' ].includes(parentRole) && !hasConflictResolution(vNode.parent)) {\n        return parentRole;\n      }\n      if (parentRole) {\n        return null;\n      }\n      return getInheritedRole(vNode.parent, explicitRoleOptions);\n    }\n    function resolveImplicitRole(vNode, _ref45) {\n      var chromium = _ref45.chromium, explicitRoleOptions = _objectWithoutProperties(_ref45, _excluded8);\n      var implicitRole3 = implicit_role_default(vNode, {\n        chromium: chromium\n      });\n      if (!implicitRole3) {\n        return null;\n      }\n      var presentationalRole = getInheritedRole(vNode, explicitRoleOptions);\n      if (presentationalRole) {\n        return presentationalRole;\n      }\n      return implicitRole3;\n    }\n    function hasConflictResolution(vNode) {\n      var hasGlobalAria = get_global_aria_attrs_default().some(function(attr) {\n        return vNode.hasAttr(attr);\n      });\n      return hasGlobalAria || _isFocusable(vNode);\n    }\n    function resolveRole(node) {\n      var _ref46 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      var noImplicit = _ref46.noImplicit, roleOptions = _objectWithoutProperties(_ref46, _excluded9);\n      var _nodeLookup1 = _nodeLookup(node), vNode = _nodeLookup1.vNode;\n      if (vNode.props.nodeType !== 1) {\n        return null;\n      }\n      var explicitRole2 = get_explicit_role_default(vNode, roleOptions);\n      if (!explicitRole2) {\n        return noImplicit ? null : resolveImplicitRole(vNode, roleOptions);\n      }\n      if (![ 'presentation', 'none' ].includes(explicitRole2)) {\n        return explicitRole2;\n      }\n      if (hasConflictResolution(vNode)) {\n        return noImplicit ? null : resolveImplicitRole(vNode, roleOptions);\n      }\n      return explicitRole2;\n    }\n    function getRole(node) {\n      var _ref47 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      var noPresentational = _ref47.noPresentational, options = _objectWithoutProperties(_ref47, _excluded0);\n      var role = resolveRole(node, options);\n      if (noPresentational && [ 'presentation', 'none' ].includes(role)) {\n        return null;\n      }\n      return role;\n    }\n    var get_role_default = getRole;\n    var alwaysTitleElements = [ 'iframe' ];\n    function titleText(node) {\n      var _nodeLookup10 = _nodeLookup(node), vNode = _nodeLookup10.vNode;\n      if (vNode.props.nodeType !== 1 || !node.hasAttr('title')) {\n        return '';\n      }\n      if (!matches_default(vNode, alwaysTitleElements) && [ 'none', 'presentation' ].includes(get_role_default(vNode))) {\n        return '';\n      }\n      return vNode.attr('title');\n    }\n    var title_text_default = titleText;\n    function namedFromContents(vNode) {\n      var _ref48 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, strict = _ref48.strict;\n      vNode = vNode instanceof abstract_virtual_node_default ? vNode : get_node_from_tree_default(vNode);\n      if (vNode.props.nodeType !== 1) {\n        return false;\n      }\n      var role = get_role_default(vNode);\n      var roleDef = standards_default.ariaRoles[role];\n      if (roleDef && roleDef.nameFromContent) {\n        return true;\n      }\n      if (strict) {\n        return false;\n      }\n      return !roleDef || [ 'presentation', 'none' ].includes(role);\n    }\n    var named_from_contents_default = namedFromContents;\n    function getOwnedVirtual(virtualNode) {\n      var actualNode = virtualNode.actualNode, children = virtualNode.children;\n      if (!children) {\n        throw new Error('getOwnedVirtual requires a virtual node');\n      }\n      if (virtualNode.hasAttr('aria-owns')) {\n        var owns = idrefs_default(actualNode, 'aria-owns').filter(function(element) {\n          return !!element;\n        }).map(function(element) {\n          return axe.utils.getNodeFromTree(element);\n        });\n        return [].concat(_toConsumableArray(children), _toConsumableArray(owns));\n      }\n      return _toConsumableArray(children);\n    }\n    var get_owned_virtual_default = getOwnedVirtual;\n    var unsupported_default = {\n      accessibleNameFromFieldValue: [ 'progressbar' ]\n    };\n    function _isVisibleToScreenReaders(vNode) {\n      vNode = _nodeLookup(vNode).vNode;\n      return isVisibleToScreenReadersVirtual(vNode);\n    }\n    var isVisibleToScreenReadersVirtual = memoize_default(function isVisibleToScreenReadersMemoized(vNode, isAncestor) {\n      if (ariaHidden(vNode) || _isInert(vNode, {\n        skipAncestors: true,\n        isAncestor: isAncestor\n      })) {\n        return false;\n      }\n      if (vNode.actualNode && vNode.props.nodeName === 'area') {\n        return !areaHidden(vNode, isVisibleToScreenReadersVirtual);\n      }\n      if (_isHiddenForEveryone(vNode, {\n        skipAncestors: true,\n        isAncestor: isAncestor\n      })) {\n        return false;\n      }\n      if (!vNode.parent) {\n        return true;\n      }\n      return isVisibleToScreenReadersVirtual(vNode.parent, true);\n    });\n    function visibleVirtual(element, screenReader, noRecursing) {\n      var _nodeLookup11 = _nodeLookup(element), vNode = _nodeLookup11.vNode;\n      var visibleMethod = screenReader ? _isVisibleToScreenReaders : _isVisibleOnScreen;\n      var visible2 = !element.actualNode || element.actualNode && visibleMethod(element);\n      var result = vNode.children.map(function(child) {\n        var _child$props = child.props, nodeType = _child$props.nodeType, nodeValue = _child$props.nodeValue;\n        if (nodeType === 3) {\n          if (nodeValue && visible2) {\n            return nodeValue;\n          }\n        } else if (!noRecursing) {\n          return visibleVirtual(child, screenReader);\n        }\n      }).join('');\n      return sanitize_default(result);\n    }\n    var visible_virtual_default = visibleVirtual;\n    var nonTextInputTypes = [ 'button', 'checkbox', 'color', 'file', 'hidden', 'image', 'password', 'radio', 'reset', 'submit' ];\n    function isNativeTextbox(node) {\n      node = node instanceof abstract_virtual_node_default ? node : get_node_from_tree_default(node);\n      var nodeName2 = node.props.nodeName;\n      return nodeName2 === 'textarea' || nodeName2 === 'input' && !nonTextInputTypes.includes((node.attr('type') || '').toLowerCase());\n    }\n    var is_native_textbox_default = isNativeTextbox;\n    function isNativeSelect(node) {\n      node = node instanceof abstract_virtual_node_default ? node : get_node_from_tree_default(node);\n      var nodeName2 = node.props.nodeName;\n      return nodeName2 === 'select';\n    }\n    var is_native_select_default = isNativeSelect;\n    function isAriaTextbox(node) {\n      var role = get_explicit_role_default(node);\n      return role === 'textbox';\n    }\n    var is_aria_textbox_default = isAriaTextbox;\n    function isAriaListbox(node) {\n      var role = get_explicit_role_default(node);\n      return role === 'listbox';\n    }\n    var is_aria_listbox_default = isAriaListbox;\n    function isAriaCombobox(node) {\n      var role = get_explicit_role_default(node);\n      return role === 'combobox';\n    }\n    var is_aria_combobox_default = isAriaCombobox;\n    var rangeRoles = [ 'progressbar', 'scrollbar', 'slider', 'spinbutton' ];\n    function isAriaRange(node) {\n      var role = get_explicit_role_default(node);\n      return rangeRoles.includes(role);\n    }\n    var is_aria_range_default = isAriaRange;\n    var controlValueRoles = [ 'textbox', 'progressbar', 'scrollbar', 'slider', 'spinbutton', 'combobox', 'listbox' ];\n    var _formControlValueMethods = {\n      nativeTextboxValue: nativeTextboxValue,\n      nativeSelectValue: nativeSelectValue,\n      ariaTextboxValue: ariaTextboxValue,\n      ariaListboxValue: ariaListboxValue,\n      ariaComboboxValue: ariaComboboxValue,\n      ariaRangeValue: ariaRangeValue\n    };\n    function formControlValue(virtualNode) {\n      var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      var actualNode = virtualNode.actualNode;\n      var unsupportedRoles = unsupported_default.accessibleNameFromFieldValue || [];\n      var role = get_role_default(virtualNode);\n      if (context.startNode === virtualNode || !controlValueRoles.includes(role) || unsupportedRoles.includes(role)) {\n        return '';\n      }\n      var valueMethods = Object.keys(_formControlValueMethods).map(function(name) {\n        return _formControlValueMethods[name];\n      });\n      var valueString = valueMethods.reduce(function(accName, step) {\n        return accName || step(virtualNode, context);\n      }, '');\n      if (context.debug) {\n        log_default(valueString || '{empty-value}', actualNode, context);\n      }\n      return valueString;\n    }\n    function nativeTextboxValue(node) {\n      var _nodeLookup12 = _nodeLookup(node), vNode = _nodeLookup12.vNode;\n      if (is_native_textbox_default(vNode)) {\n        return vNode.props.value || '';\n      }\n      return '';\n    }\n    function nativeSelectValue(node) {\n      var _nodeLookup13 = _nodeLookup(node), vNode = _nodeLookup13.vNode;\n      if (!is_native_select_default(vNode)) {\n        return '';\n      }\n      var options = query_selector_all_default(vNode, 'option');\n      var selectedOptions = options.filter(function(option) {\n        return option.props.selected;\n      });\n      if (!selectedOptions.length) {\n        selectedOptions.push(options[0]);\n      }\n      return selectedOptions.map(function(option) {\n        return visible_virtual_default(option);\n      }).join(' ') || '';\n    }\n    function ariaTextboxValue(node) {\n      var _nodeLookup14 = _nodeLookup(node), vNode = _nodeLookup14.vNode, domNode = _nodeLookup14.domNode;\n      if (!is_aria_textbox_default(vNode)) {\n        return '';\n      }\n      if (!domNode || domNode && !_isHiddenForEveryone(domNode)) {\n        return visible_virtual_default(vNode, true);\n      } else {\n        return domNode.textContent;\n      }\n    }\n    function ariaListboxValue(node, context) {\n      var _nodeLookup15 = _nodeLookup(node), vNode = _nodeLookup15.vNode;\n      if (!is_aria_listbox_default(vNode)) {\n        return '';\n      }\n      var selected = get_owned_virtual_default(vNode).filter(function(owned) {\n        return get_role_default(owned) === 'option' && owned.attr('aria-selected') === 'true';\n      });\n      if (selected.length === 0) {\n        return '';\n      }\n      return _accessibleTextVirtual(selected[0], context);\n    }\n    function ariaComboboxValue(node, context) {\n      var _nodeLookup16 = _nodeLookup(node), vNode = _nodeLookup16.vNode;\n      if (!is_aria_combobox_default(vNode)) {\n        return '';\n      }\n      var listbox = get_owned_virtual_default(vNode).filter(function(elm) {\n        return get_role_default(elm) === 'listbox';\n      })[0];\n      return listbox ? ariaListboxValue(listbox, context) : '';\n    }\n    function ariaRangeValue(node) {\n      var _nodeLookup17 = _nodeLookup(node), vNode = _nodeLookup17.vNode;\n      if (!is_aria_range_default(vNode) || !vNode.hasAttr('aria-valuenow')) {\n        return '';\n      }\n      var valueNow = +vNode.attr('aria-valuenow');\n      return !isNaN(valueNow) ? String(valueNow) : '0';\n    }\n    var form_control_value_default = formControlValue;\n    function subtreeText(virtualNode) {\n      var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      var alreadyProcessed2 = _accessibleTextVirtual.alreadyProcessed;\n      context.startNode = context.startNode || virtualNode;\n      var _context = context, strict = _context.strict, inControlContext = _context.inControlContext, inLabelledByContext = _context.inLabelledByContext;\n      var role = get_role_default(virtualNode);\n      var _get_element_spec_def2 = get_element_spec_default(virtualNode, {\n        noMatchAccessibleName: true\n      }), contentTypes = _get_element_spec_def2.contentTypes;\n      if (alreadyProcessed2(virtualNode, context) || virtualNode.props.nodeType !== 1 || contentTypes !== null && contentTypes !== void 0 && contentTypes.includes('embedded') || controlValueRoles.includes(role)) {\n        return '';\n      }\n      if (!context.subtreeDescendant && !context.inLabelledByContext && !named_from_contents_default(virtualNode, {\n        strict: strict\n      })) {\n        return '';\n      }\n      if (!strict) {\n        var subtreeDescendant = !inControlContext && !inLabelledByContext;\n        context = _extends({\n          subtreeDescendant: subtreeDescendant\n        }, context);\n      }\n      return get_owned_virtual_default(virtualNode).reduce(function(contentText, child) {\n        return appendAccessibleText(contentText, child, context);\n      }, '');\n    }\n    var phrasingElements = get_elements_by_content_type_default('phrasing').concat([ '#text' ]);\n    function appendAccessibleText(contentText, virtualNode, context) {\n      var nodeName2 = virtualNode.props.nodeName;\n      var contentTextAdd = _accessibleTextVirtual(virtualNode, context);\n      if (!contentTextAdd) {\n        return contentText;\n      }\n      if (!phrasingElements.includes(nodeName2)) {\n        if (contentTextAdd[0] !== ' ') {\n          contentTextAdd += ' ';\n        }\n        if (contentText && contentText[contentText.length - 1] !== ' ') {\n          contentTextAdd = ' ' + contentTextAdd;\n        }\n      }\n      return contentText + contentTextAdd;\n    }\n    var subtree_text_default = subtreeText;\n    function labelText(virtualNode) {\n      var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      var alreadyProcessed2 = _accessibleTextVirtual.alreadyProcessed;\n      if (context.inControlContext || context.inLabelledByContext || alreadyProcessed2(virtualNode, context)) {\n        return '';\n      }\n      if (!context.startNode) {\n        context.startNode = virtualNode;\n      }\n      var labelContext = _extends({\n        inControlContext: true\n      }, context);\n      var explicitLabels = getExplicitLabels(virtualNode);\n      var implicitLabel = closest_default(virtualNode, 'label');\n      var labels;\n      if (implicitLabel) {\n        labels = [].concat(_toConsumableArray(explicitLabels), [ implicitLabel.actualNode ]);\n        labels.sort(node_sorter_default);\n      } else {\n        labels = explicitLabels;\n      }\n      return labels.map(function(label3) {\n        return accessible_text_default(label3, labelContext);\n      }).filter(function(text) {\n        return text !== '';\n      }).join(' ');\n    }\n    function getExplicitLabels(virtualNode) {\n      if (!virtualNode.attr('id')) {\n        return [];\n      }\n      if (!virtualNode.actualNode) {\n        throw new TypeError('Cannot resolve explicit label reference for non-DOM nodes');\n      }\n      return find_elms_in_context_default({\n        elm: 'label',\n        attr: 'for',\n        value: virtualNode.attr('id'),\n        context: virtualNode.actualNode\n      });\n    }\n    var label_text_default = labelText;\n    var defaultButtonValues = {\n      submit: 'Submit',\n      image: 'Submit',\n      reset: 'Reset',\n      button: ''\n    };\n    var nativeTextMethods = {\n      valueText: function valueText(vNode) {\n        return vNode.props.value || '';\n      },\n      buttonDefaultText: function buttonDefaultText(vNode) {\n        return defaultButtonValues[vNode.props.type] || '';\n      },\n      tableCaptionText: descendantText.bind(null, 'caption'),\n      figureText: descendantText.bind(null, 'figcaption'),\n      svgTitleText: descendantText.bind(null, 'title'),\n      fieldsetLegendText: descendantText.bind(null, 'legend'),\n      altText: attrText.bind(null, 'alt'),\n      tableSummaryText: attrText.bind(null, 'summary'),\n      titleText: title_text_default,\n      subtreeText: subtree_text_default,\n      labelText: label_text_default,\n      singleSpace: function singleSpace() {\n        return ' ';\n      },\n      placeholderText: attrText.bind(null, 'placeholder')\n    };\n    function attrText(attr, vNode) {\n      return vNode.attr(attr) || '';\n    }\n    function descendantText(nodeName2, _ref49, context) {\n      var actualNode = _ref49.actualNode;\n      nodeName2 = nodeName2.toLowerCase();\n      var nodeNames2 = [ nodeName2, actualNode.nodeName.toLowerCase() ].join(',');\n      var candidate = actualNode.querySelector(nodeNames2);\n      if (!candidate || candidate.nodeName.toLowerCase() !== nodeName2) {\n        return '';\n      }\n      return accessible_text_default(candidate, context);\n    }\n    var native_text_methods_default = nativeTextMethods;\n    function _nativeTextAlternative(virtualNode) {\n      var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      var actualNode = virtualNode.actualNode;\n      if (virtualNode.props.nodeType !== 1 || [ 'presentation', 'none' ].includes(get_role_default(virtualNode))) {\n        return '';\n      }\n      var textMethods = findTextMethods(virtualNode);\n      var accessibleName = textMethods.reduce(function(accName, step) {\n        return accName || step(virtualNode, context);\n      }, '');\n      if (context.debug) {\n        axe.log(accessibleName || '{empty-value}', actualNode, context);\n      }\n      return accessibleName;\n    }\n    function findTextMethods(virtualNode) {\n      var elmSpec = get_element_spec_default(virtualNode, {\n        noMatchAccessibleName: true\n      });\n      var methods = elmSpec.namingMethods || [];\n      return methods.map(function(methodName) {\n        return native_text_methods_default[methodName];\n      });\n    }\n    function getUnicodeNonBmpRegExp() {\n      return /[\\u1D00-\\u1D7F\\u1D80-\\u1DBF\\u1DC0-\\u1DFF\\u20A0-\\u20CF\\u20D0-\\u20FF\\u2100-\\u214F\\u2150-\\u218F\\u2190-\\u21FF\\u2200-\\u22FF\\u2300-\\u23FF\\u2400-\\u243F\\u2440-\\u245F\\u2460-\\u24FF\\u2500-\\u257F\\u2580-\\u259F\\u25A0-\\u25FF\\u2600-\\u26FF\\u2700-\\u27BF\\uE000-\\uF8FF]/g;\n    }\n    function getPunctuationRegExp() {\n      return /[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&\\xa3\\xa2\\xa5\\xa7\\u20ac()*+,\\-.\\/:;<=>?@\\[\\]^_`{|}~\\xb1]/g;\n    }\n    function getSupplementaryPrivateUseRegExp() {\n      return /[\\uDB80-\\uDBBF][\\uDC00-\\uDFFF]/g;\n    }\n    function getCategoryFormatRegExp() {\n      return /[\\xAD\\u0600-\\u0605\\u061C\\u06DD\\u070F\\u08E2\\u180E\\u200B-\\u200F\\u202A-\\u202E\\u2060-\\u2064\\u2066-\\u206F\\uFEFF\\uFFF9-\\uFFFB]|\\uD804[\\uDCBD\\uDCCD]|\\uD80D[\\uDC30-\\uDC38]|\\uD82F[\\uDCA0-\\uDCA3]|\\uD834[\\uDD73-\\uDD7A]|\\uDB40[\\uDC01\\uDC20-\\uDC7F]/g;\n    }\n    function hasUnicode(str, options) {\n      var emoji = options.emoji, nonBmp = options.nonBmp, punctuations = options.punctuations;\n      var value = false;\n      if (emoji) {\n        value || (value = emoji_regex_default().test(str));\n      }\n      if (nonBmp) {\n        value || (value = getUnicodeNonBmpRegExp().test(str) || getSupplementaryPrivateUseRegExp().test(str) || getCategoryFormatRegExp().test(str));\n      }\n      if (punctuations) {\n        value || (value = getPunctuationRegExp().test(str));\n      }\n      return value;\n    }\n    var has_unicode_default = hasUnicode;\n    function _isIconLigature(textVNode) {\n      var differenceThreshold = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : .15;\n      var occurrenceThreshold = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 3;\n      var nodeValue = textVNode.actualNode.nodeValue.trim();\n      if (!sanitize_default(nodeValue) || has_unicode_default(nodeValue, {\n        emoji: true,\n        nonBmp: true\n      })) {\n        return false;\n      }\n      var canvasContext = cache_default.get('canvasContext', function() {\n        return document.createElement('canvas').getContext('2d', {\n          willReadFrequently: true\n        });\n      });\n      var canvas = canvasContext.canvas;\n      var fonts = cache_default.get('fonts', function() {\n        return {};\n      });\n      var style = window.getComputedStyle(textVNode.parent.actualNode);\n      var fontFamily = style.getPropertyValue('font-family');\n      if (!fonts[fontFamily]) {\n        fonts[fontFamily] = {\n          occurrences: 0,\n          numLigatures: 0\n        };\n      }\n      var font = fonts[fontFamily];\n      if (font.occurrences >= occurrenceThreshold) {\n        if (font.numLigatures / font.occurrences === 1) {\n          return true;\n        } else if (font.numLigatures === 0) {\n          return false;\n        }\n      }\n      font.occurrences++;\n      var fontSize = 30;\n      var fontStyle = ''.concat(fontSize, 'px ').concat(fontFamily);\n      canvasContext.font = fontStyle;\n      var firstChar = nodeValue.charAt(0);\n      var width = canvasContext.measureText(firstChar).width;\n      if (width === 0) {\n        font.numLigatures++;\n        return true;\n      }\n      if (width < 30) {\n        var diff = 30 / width;\n        width *= diff;\n        fontSize *= diff;\n        fontStyle = ''.concat(fontSize, 'px ').concat(fontFamily);\n      }\n      canvas.width = width;\n      canvas.height = fontSize;\n      canvasContext.font = fontStyle;\n      canvasContext.textAlign = 'left';\n      canvasContext.textBaseline = 'top';\n      canvasContext.fillText(firstChar, 0, 0);\n      var compareData = new Uint32Array(canvasContext.getImageData(0, 0, width, fontSize).data.buffer);\n      if (!compareData.some(function(pixel) {\n        return pixel;\n      })) {\n        font.numLigatures++;\n        return true;\n      }\n      canvasContext.clearRect(0, 0, width, fontSize);\n      canvasContext.fillText(nodeValue, 0, 0);\n      var compareWith = new Uint32Array(canvasContext.getImageData(0, 0, width, fontSize).data.buffer);\n      var differences = compareData.reduce(function(diff, pixel, i) {\n        if (pixel === 0 && compareWith[i] === 0) {\n          return diff;\n        }\n        if (pixel !== 0 && compareWith[i] !== 0) {\n          return diff;\n        }\n        return ++diff;\n      }, 0);\n      var expectedWidth = nodeValue.split('').reduce(function(totalWidth, _char2) {\n        return totalWidth + canvasContext.measureText(_char2).width;\n      }, 0);\n      var actualWidth = canvasContext.measureText(nodeValue).width;\n      var pixelDifference = differences / compareData.length;\n      var sizeDifference = 1 - actualWidth / expectedWidth;\n      if (pixelDifference >= differenceThreshold && sizeDifference >= differenceThreshold) {\n        font.numLigatures++;\n        return true;\n      }\n      return false;\n    }\n    function _accessibleTextVirtual(virtualNode) {\n      var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      context = prepareContext(virtualNode, context);\n      if (shouldIgnoreHidden(virtualNode, context)) {\n        return '';\n      }\n      if (shouldIgnoreIconLigature(virtualNode, context)) {\n        return '';\n      }\n      var computationSteps = [ arialabelledby_text_default, _arialabelText, _nativeTextAlternative, form_control_value_default, subtree_text_default, textNodeValue, title_text_default ];\n      var accessibleName = computationSteps.reduce(function(accName, step) {\n        if (context.startNode === virtualNode) {\n          accName = sanitize_default(accName);\n        }\n        if (accName !== '') {\n          return accName;\n        }\n        return step(virtualNode, context);\n      }, '');\n      if (context.debug) {\n        axe.log(accessibleName || '{empty-value}', virtualNode.actualNode, context);\n      }\n      return accessibleName;\n    }\n    function textNodeValue(virtualNode) {\n      if (virtualNode.props.nodeType !== 3) {\n        return '';\n      }\n      return virtualNode.props.nodeValue;\n    }\n    function shouldIgnoreHidden(virtualNode, context) {\n      if (!virtualNode) {\n        return false;\n      }\n      if (virtualNode.props.nodeType !== 1 || context.includeHidden) {\n        return false;\n      }\n      return !_isVisibleToScreenReaders(virtualNode);\n    }\n    function shouldIgnoreIconLigature(virtualNode, context) {\n      var _context$occurrenceTh;\n      var ignoreIconLigature = context.ignoreIconLigature, pixelThreshold = context.pixelThreshold;\n      var occurrenceThreshold = (_context$occurrenceTh = context.occurrenceThreshold) !== null && _context$occurrenceTh !== void 0 ? _context$occurrenceTh : context.occuranceThreshold;\n      if (virtualNode.props.nodeType !== 3 || !ignoreIconLigature) {\n        return false;\n      }\n      return _isIconLigature(virtualNode, pixelThreshold, occurrenceThreshold);\n    }\n    function prepareContext(virtualNode, context) {\n      if (!context.startNode) {\n        context = _extends({\n          startNode: virtualNode\n        }, context);\n      }\n      if (virtualNode.props.nodeType === 1 && context.inLabelledByContext && context.includeHidden === void 0) {\n        context = _extends({\n          includeHidden: !_isVisibleToScreenReaders(virtualNode)\n        }, context);\n      }\n      return context;\n    }\n    _accessibleTextVirtual.alreadyProcessed = function alreadyProcessed(virtualnode, context) {\n      context.processed = context.processed || [];\n      if (context.processed.includes(virtualnode)) {\n        return true;\n      }\n      context.processed.push(virtualnode);\n      return false;\n    };\n    function removeUnicode(str, options) {\n      var emoji = options.emoji, nonBmp = options.nonBmp, punctuations = options.punctuations;\n      if (emoji) {\n        str = str.replace(emoji_regex_default(), '');\n      }\n      if (nonBmp) {\n        str = str.replace(getUnicodeNonBmpRegExp(), '').replace(getSupplementaryPrivateUseRegExp(), '').replace(getCategoryFormatRegExp(), '');\n      }\n      if (punctuations) {\n        str = str.replace(getPunctuationRegExp(), '');\n      }\n      return str;\n    }\n    var remove_unicode_default = removeUnicode;\n    function isHumanInterpretable(str) {\n      if (isEmpty(str) || isNonDigitCharacter(str) || isSymbolicText(str) || isUnicodeOrPunctuation(str)) {\n        return 0;\n      }\n      return 1;\n    }\n    function isEmpty(str) {\n      return sanitize_default(str).length === 0;\n    }\n    function isNonDigitCharacter(str) {\n      return str.length === 1 && str.match(/\\D/);\n    }\n    function isSymbolicText(str) {\n      var symbolicText = [ 'aa', 'abc' ];\n      return symbolicText.includes(str.toLowerCase());\n    }\n    function isUnicodeOrPunctuation(str) {\n      var noUnicodeStr = remove_unicode_default(str, {\n        emoji: true,\n        nonBmp: true,\n        punctuations: true\n      });\n      return !sanitize_default(noUnicodeStr);\n    }\n    var is_human_interpretable_default = isHumanInterpretable;\n    var _autocomplete = {\n      stateTerms: [ 'on', 'off' ],\n      standaloneTerms: [ 'name', 'honorific-prefix', 'given-name', 'additional-name', 'family-name', 'honorific-suffix', 'nickname', 'username', 'new-password', 'current-password', 'organization-title', 'organization', 'street-address', 'address-line1', 'address-line2', 'address-line3', 'address-level4', 'address-level3', 'address-level2', 'address-level1', 'country', 'country-name', 'postal-code', 'cc-name', 'cc-given-name', 'cc-additional-name', 'cc-family-name', 'cc-number', 'cc-exp', 'cc-exp-month', 'cc-exp-year', 'cc-csc', 'cc-type', 'transaction-currency', 'transaction-amount', 'language', 'bday', 'bday-day', 'bday-month', 'bday-year', 'sex', 'url', 'photo', 'one-time-code' ],\n      qualifiers: [ 'home', 'work', 'mobile', 'fax', 'pager' ],\n      qualifiedTerms: [ 'tel', 'tel-country-code', 'tel-national', 'tel-area-code', 'tel-local', 'tel-local-prefix', 'tel-local-suffix', 'tel-extension', 'email', 'impp' ],\n      locations: [ 'billing', 'shipping' ]\n    };\n    function isValidAutocomplete(autocompleteValue) {\n      var _ref50 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref50$looseTyped = _ref50.looseTyped, looseTyped = _ref50$looseTyped === void 0 ? false : _ref50$looseTyped, _ref50$stateTerms = _ref50.stateTerms, stateTerms = _ref50$stateTerms === void 0 ? [] : _ref50$stateTerms, _ref50$locations = _ref50.locations, locations = _ref50$locations === void 0 ? [] : _ref50$locations, _ref50$qualifiers = _ref50.qualifiers, qualifiers = _ref50$qualifiers === void 0 ? [] : _ref50$qualifiers, _ref50$standaloneTerm = _ref50.standaloneTerms, standaloneTerms = _ref50$standaloneTerm === void 0 ? [] : _ref50$standaloneTerm, _ref50$qualifiedTerms = _ref50.qualifiedTerms, qualifiedTerms = _ref50$qualifiedTerms === void 0 ? [] : _ref50$qualifiedTerms, _ref50$ignoredValues = _ref50.ignoredValues, ignoredValues = _ref50$ignoredValues === void 0 ? [] : _ref50$ignoredValues;\n      autocompleteValue = autocompleteValue.toLowerCase().trim();\n      stateTerms = stateTerms.concat(_autocomplete.stateTerms);\n      if (stateTerms.includes(autocompleteValue) || autocompleteValue === '') {\n        return true;\n      }\n      qualifiers = qualifiers.concat(_autocomplete.qualifiers);\n      locations = locations.concat(_autocomplete.locations);\n      standaloneTerms = standaloneTerms.concat(_autocomplete.standaloneTerms);\n      qualifiedTerms = qualifiedTerms.concat(_autocomplete.qualifiedTerms);\n      var autocompleteTerms = autocompleteValue.split(/\\s+/g);\n      if (autocompleteTerms[autocompleteTerms.length - 1] === 'webauthn') {\n        autocompleteTerms.pop();\n        if (autocompleteTerms.length === 0) {\n          return false;\n        }\n      }\n      if (!looseTyped) {\n        if (autocompleteTerms[0].length > 8 && autocompleteTerms[0].substr(0, 8) === 'section-') {\n          autocompleteTerms.shift();\n        }\n        if (locations.includes(autocompleteTerms[0])) {\n          autocompleteTerms.shift();\n        }\n        if (qualifiers.includes(autocompleteTerms[0])) {\n          autocompleteTerms.shift();\n          standaloneTerms = [];\n        }\n        if (autocompleteTerms.length !== 1) {\n          return false;\n        }\n      }\n      var purposeTerm = autocompleteTerms[autocompleteTerms.length - 1];\n      if (ignoredValues.includes(purposeTerm)) {\n        return void 0;\n      }\n      return standaloneTerms.includes(purposeTerm) || qualifiedTerms.includes(purposeTerm);\n    }\n    var is_valid_autocomplete_default = isValidAutocomplete;\n    function labelVirtual(virtualNode) {\n      var ref, candidate;\n      if (virtualNode.attr('aria-labelledby')) {\n        ref = idrefs_default(virtualNode.actualNode, 'aria-labelledby');\n        candidate = ref.map(function(thing) {\n          var vNode = get_node_from_tree_default(thing);\n          return vNode ? visible_virtual_default(vNode) : '';\n        }).join(' ').trim();\n        if (candidate) {\n          return candidate;\n        }\n      }\n      candidate = virtualNode.attr('aria-label');\n      if (candidate) {\n        candidate = sanitize_default(candidate);\n        if (candidate) {\n          return candidate;\n        }\n      }\n      return null;\n    }\n    var label_virtual_default = labelVirtual;\n    function visible(element, screenReader, noRecursing) {\n      element = get_node_from_tree_default(element);\n      return visible_virtual_default(element, screenReader, noRecursing);\n    }\n    var visible_default = visible;\n    function labelVirtual2(virtualNode) {\n      var ref, candidate, doc;\n      candidate = label_virtual_default(virtualNode);\n      if (candidate) {\n        return candidate;\n      }\n      if (virtualNode.attr('id')) {\n        if (!virtualNode.actualNode) {\n          throw new TypeError('Cannot resolve explicit label reference for non-DOM nodes');\n        }\n        var _id2 = escape_selector_default(virtualNode.attr('id'));\n        doc = get_root_node_default2(virtualNode.actualNode);\n        ref = doc.querySelector('label[for=\"' + _id2 + '\"]');\n        candidate = ref && visible_default(ref, true);\n        if (candidate) {\n          return candidate;\n        }\n      }\n      ref = closest_default(virtualNode, 'label');\n      candidate = ref && visible_virtual_default(ref, true);\n      if (candidate) {\n        return candidate;\n      }\n      return null;\n    }\n    var label_virtual_default2 = labelVirtual2;\n    function label(node) {\n      node = get_node_from_tree_default(node);\n      return label_virtual_default2(node);\n    }\n    var label_default = label;\n    var nativeElementType = [ {\n      matches: [ {\n        nodeName: 'textarea'\n      }, {\n        nodeName: 'input',\n        properties: {\n          type: [ 'text', 'password', 'search', 'tel', 'email', 'url' ]\n        }\n      } ],\n      namingMethods: 'labelText'\n    }, {\n      matches: {\n        nodeName: 'input',\n        properties: {\n          type: [ 'button', 'submit', 'reset' ]\n        }\n      },\n      namingMethods: [ 'valueText', 'titleText', 'buttonDefaultText' ]\n    }, {\n      matches: {\n        nodeName: 'input',\n        properties: {\n          type: 'image'\n        }\n      },\n      namingMethods: [ 'altText', 'valueText', 'labelText', 'titleText', 'buttonDefaultText' ]\n    }, {\n      matches: 'button',\n      namingMethods: 'subtreeText'\n    }, {\n      matches: 'fieldset',\n      namingMethods: 'fieldsetLegendText'\n    }, {\n      matches: 'OUTPUT',\n      namingMethods: 'subtreeText'\n    }, {\n      matches: [ {\n        nodeName: 'select'\n      }, {\n        nodeName: 'input',\n        properties: {\n          type: /^(?!text|password|search|tel|email|url|button|submit|reset)/\n        }\n      } ],\n      namingMethods: 'labelText'\n    }, {\n      matches: 'summary',\n      namingMethods: 'subtreeText'\n    }, {\n      matches: 'figure',\n      namingMethods: [ 'figureText', 'titleText' ]\n    }, {\n      matches: 'img',\n      namingMethods: 'altText'\n    }, {\n      matches: 'table',\n      namingMethods: [ 'tableCaptionText', 'tableSummaryText' ]\n    }, {\n      matches: [ 'hr', 'br' ],\n      namingMethods: [ 'titleText', 'singleSpace' ]\n    } ];\n    var native_element_type_default = nativeElementType;\n    function visibleTextNodes(vNode) {\n      var parentVisible = _isVisibleOnScreen(vNode);\n      var nodes = [];\n      vNode.children.forEach(function(child) {\n        if (child.actualNode.nodeType === 3) {\n          if (parentVisible) {\n            nodes.push(child);\n          }\n        } else {\n          nodes = nodes.concat(visibleTextNodes(child));\n        }\n      });\n      return nodes;\n    }\n    var visible_text_nodes_default = visibleTextNodes;\n    var getVisibleChildTextRects = memoize_default(function getVisibleChildTextRectsMemoized(node) {\n      var vNode = get_node_from_tree_default(node);\n      var nodeRect = vNode.boundingClientRect;\n      var clientRects = [];\n      var overflowHiddenNodes = get_overflow_hidden_ancestors_default(vNode);\n      node.childNodes.forEach(function(textNode) {\n        if (textNode.nodeType !== 3 || sanitize_default(textNode.nodeValue) === '') {\n          return;\n        }\n        var contentRects = getContentRects(textNode);\n        if (isOutsideNodeBounds(contentRects, nodeRect)) {\n          return;\n        }\n        clientRects.push.apply(clientRects, _toConsumableArray(filterHiddenRects(contentRects, overflowHiddenNodes)));\n      });\n      return clientRects.length ? clientRects : filterHiddenRects([ nodeRect ], overflowHiddenNodes);\n    });\n    var get_visible_child_text_rects_default = getVisibleChildTextRects;\n    function getContentRects(node) {\n      var range2 = document.createRange();\n      range2.selectNodeContents(node);\n      return Array.from(range2.getClientRects());\n    }\n    function isOutsideNodeBounds(rects, nodeRect) {\n      return rects.some(function(rect) {\n        var centerPoint = _getRectCenter(rect);\n        return !_isPointInRect(centerPoint, nodeRect);\n      });\n    }\n    function filterHiddenRects(contentRects, overflowHiddenNodes) {\n      var visibleRects = [];\n      contentRects.forEach(function(contentRect) {\n        if (contentRect.width < 1 || contentRect.height < 1) {\n          return;\n        }\n        var visibleRect = overflowHiddenNodes.reduce(function(rect, overflowNode) {\n          return rect && _getIntersectionRect(rect, overflowNode.boundingClientRect);\n        }, contentRect);\n        if (visibleRect) {\n          visibleRects.push(visibleRect);\n        }\n      });\n      return visibleRects;\n    }\n    function getTextElementStack(node) {\n      var grid = _getNodeGrid(node);\n      if (!grid) {\n        return [];\n      }\n      var clientRects = get_visible_child_text_rects_default(node);\n      return clientRects.map(function(rect) {\n        return getRectStack(grid, rect);\n      });\n    }\n    var get_text_element_stack_default = getTextElementStack;\n    var visualRoles = [ 'checkbox', 'img', 'meter', 'progressbar', 'scrollbar', 'radio', 'slider', 'spinbutton', 'textbox' ];\n    function isVisualContent(el) {\n      var _nodeLookup18 = _nodeLookup(el), vNode = _nodeLookup18.vNode;\n      var role = axe.commons.aria.getExplicitRole(vNode);\n      if (role) {\n        return visualRoles.indexOf(role) !== -1;\n      }\n      switch (vNode.props.nodeName) {\n       case 'img':\n       case 'iframe':\n       case 'object':\n       case 'video':\n       case 'audio':\n       case 'canvas':\n       case 'svg':\n       case 'math':\n       case 'button':\n       case 'select':\n       case 'textarea':\n       case 'keygen':\n       case 'progress':\n       case 'meter':\n        return true;\n\n       case 'input':\n        return vNode.props.type !== 'hidden';\n\n       default:\n        return false;\n      }\n    }\n    var is_visual_content_default = isVisualContent;\n    var hiddenTextElms = [ 'head', 'title', 'template', 'script', 'style', 'iframe', 'object', 'video', 'audio', 'noscript' ];\n    function hasChildTextNodes(elm) {\n      if (hiddenTextElms.includes(elm.props.nodeName)) {\n        return false;\n      }\n      return elm.children.some(function(_ref51) {\n        var props = _ref51.props;\n        return props.nodeType === 3 && props.nodeValue.trim();\n      });\n    }\n    function hasContentVirtual(elm, noRecursion, ignoreAria) {\n      return hasChildTextNodes(elm) || is_visual_content_default(elm.actualNode) || !ignoreAria && !!label_virtual_default(elm) || !noRecursion && elm.children.some(function(child) {\n        return child.actualNode.nodeType === 1 && hasContentVirtual(child);\n      });\n    }\n    var has_content_virtual_default = hasContentVirtual;\n    function hasContent(elm, noRecursion, ignoreAria) {\n      elm = get_node_from_tree_default(elm);\n      return has_content_virtual_default(elm, noRecursion, ignoreAria);\n    }\n    var has_content_default = hasContent;\n    function _hasLangText(virtualNode) {\n      if (typeof virtualNode.children === 'undefined' || hasChildTextNodes(virtualNode)) {\n        return true;\n      }\n      if (virtualNode.props.nodeType === 1 && is_visual_content_default(virtualNode)) {\n        return !!axe.commons.text.accessibleTextVirtual(virtualNode);\n      }\n      return virtualNode.children.some(function(child) {\n        return !child.attr('lang') && _hasLangText(child) && !_isHiddenForEveryone(child);\n      });\n    }\n    function insertedIntoFocusOrder(el) {\n      var tabIndex = parse_tabindex_default(el.getAttribute('tabindex'));\n      return tabIndex > -1 && _isFocusable(el) && !is_natively_focusable_default(el);\n    }\n    var inserted_into_focus_order_default = insertedIntoFocusOrder;\n    function isHiddenWithCSS(el, descendentVisibilityValue) {\n      var _nodeLookup19 = _nodeLookup(el), vNode = _nodeLookup19.vNode, domNode = _nodeLookup19.domNode;\n      if (!vNode) {\n        return _isHiddenWithCSS(domNode, descendentVisibilityValue);\n      }\n      if (vNode._isHiddenWithCSS === void 0) {\n        vNode._isHiddenWithCSS = _isHiddenWithCSS(domNode, descendentVisibilityValue);\n      }\n      return vNode._isHiddenWithCSS;\n    }\n    function _isHiddenWithCSS(el, descendentVisibilityValue) {\n      if (el.nodeType === 9) {\n        return false;\n      }\n      if (el.nodeType === 11) {\n        el = el.host;\n      }\n      if ([ 'STYLE', 'SCRIPT' ].includes(el.nodeName.toUpperCase())) {\n        return false;\n      }\n      var style = window.getComputedStyle(el, null);\n      if (!style) {\n        throw new Error('Style does not exist for the given element.');\n      }\n      var displayValue = style.getPropertyValue('display');\n      if (displayValue === 'none') {\n        return true;\n      }\n      var HIDDEN_VISIBILITY_VALUES = [ 'hidden', 'collapse' ];\n      var visibilityValue = style.getPropertyValue('visibility');\n      if (HIDDEN_VISIBILITY_VALUES.includes(visibilityValue) && !descendentVisibilityValue) {\n        return true;\n      }\n      if (HIDDEN_VISIBILITY_VALUES.includes(visibilityValue) && descendentVisibilityValue && HIDDEN_VISIBILITY_VALUES.includes(descendentVisibilityValue)) {\n        return true;\n      }\n      var parent = get_composed_parent_default(el);\n      if (parent && !HIDDEN_VISIBILITY_VALUES.includes(visibilityValue)) {\n        return isHiddenWithCSS(parent, visibilityValue);\n      }\n      return false;\n    }\n    var is_hidden_with_css_default = isHiddenWithCSS;\n    function isHTML5(doc) {\n      var node = doc.doctype;\n      if (node === null) {\n        return false;\n      }\n      return node.name === 'html' && !node.publicId && !node.systemId;\n    }\n    var is_html5_default = isHTML5;\n    function getRoleType(role) {\n      var _window;\n      if (role instanceof abstract_virtual_node_default || (_window = window) !== null && _window !== void 0 && _window.Node && role instanceof window.Node) {\n        role = axe.commons.aria.getRole(role);\n      }\n      var roleDef = standards_default.ariaRoles[role];\n      return (roleDef === null || roleDef === void 0 ? void 0 : roleDef.type) || null;\n    }\n    var get_role_type_default = getRoleType;\n    function walkDomNode(node, functor) {\n      if (functor(node.actualNode) !== false) {\n        node.children.forEach(function(child) {\n          return walkDomNode(child, functor);\n        });\n      }\n    }\n    var blockLike = [ 'block', 'list-item', 'table', 'flex', 'grid', 'inline-block' ];\n    function isBlock(elm) {\n      var display2 = window.getComputedStyle(elm).getPropertyValue('display');\n      return blockLike.includes(display2) || display2.substr(0, 6) === 'table-';\n    }\n    function getBlockParent(node) {\n      var parentBlock = get_composed_parent_default(node);\n      while (parentBlock && !isBlock(parentBlock)) {\n        parentBlock = get_composed_parent_default(parentBlock);\n      }\n      return get_node_from_tree_default(parentBlock);\n    }\n    function isInTextBlock(node, options) {\n      if (isBlock(node)) {\n        return false;\n      }\n      var virtualParent = getBlockParent(node);\n      var parentText = '';\n      var widgetText = '';\n      var inBrBlock = 0;\n      walkDomNode(virtualParent, function(currNode) {\n        if (inBrBlock === 2) {\n          return false;\n        }\n        if (currNode.nodeType === 3) {\n          parentText += currNode.nodeValue;\n        }\n        if (currNode.nodeType !== 1) {\n          return;\n        }\n        var nodeName2 = (currNode.nodeName || '').toUpperCase();\n        if (currNode === node) {\n          inBrBlock = 1;\n        }\n        if ([ 'BR', 'HR' ].includes(nodeName2)) {\n          if (inBrBlock === 0) {\n            parentText = '';\n            widgetText = '';\n          } else {\n            inBrBlock = 2;\n          }\n        } else if (currNode.style.display === 'none' || currNode.style.overflow === 'hidden' || ![ '', null, 'none' ].includes(currNode.style['float']) || ![ '', null, 'relative' ].includes(currNode.style.position)) {\n          return false;\n        } else if (get_role_type_default(currNode) === 'widget') {\n          widgetText += currNode.textContent;\n          return false;\n        }\n      });\n      parentText = sanitize_default(parentText);\n      if (options !== null && options !== void 0 && options.noLengthCompare) {\n        return parentText.length !== 0;\n      }\n      widgetText = sanitize_default(widgetText);\n      return parentText.length > widgetText.length;\n    }\n    var is_in_text_block_default = isInTextBlock;\n    function isModalOpen(options) {\n      options = options || {};\n      var modalPercent = options.modalPercent || .75;\n      if (cache_default.get('isModalOpen')) {\n        return cache_default.get('isModalOpen');\n      }\n      var definiteModals = query_selector_all_filter_default(axe._tree[0], 'dialog, [role=dialog], [aria-modal=true]', _isVisibleOnScreen);\n      if (definiteModals.length) {\n        cache_default.set('isModalOpen', true);\n        return true;\n      }\n      var viewport = get_viewport_size_default(window);\n      var percentWidth = viewport.width * modalPercent;\n      var percentHeight = viewport.height * modalPercent;\n      var x = (viewport.width - percentWidth) / 2;\n      var y = (viewport.height - percentHeight) / 2;\n      var points = [ {\n        x: x,\n        y: y\n      }, {\n        x: viewport.width - x,\n        y: y\n      }, {\n        x: viewport.width / 2,\n        y: viewport.height / 2\n      }, {\n        x: x,\n        y: viewport.height - y\n      }, {\n        x: viewport.width - x,\n        y: viewport.height - y\n      } ];\n      var stacks = points.map(function(point) {\n        return Array.from(document.elementsFromPoint(point.x, point.y));\n      });\n      var _loop7 = function _loop7() {\n        var modalElement = stacks[i].find(function(elm) {\n          var style = window.getComputedStyle(elm);\n          return parseInt(style.width, 10) >= percentWidth && parseInt(style.height, 10) >= percentHeight && style.getPropertyValue('pointer-events') !== 'none' && (style.position === 'absolute' || style.position === 'fixed');\n        });\n        if (modalElement && stacks.every(function(stack) {\n          return stack.includes(modalElement);\n        })) {\n          cache_default.set('isModalOpen', true);\n          return {\n            v: true\n          };\n        }\n      }, _ret3;\n      for (var i = 0; i < stacks.length; i++) {\n        _ret3 = _loop7();\n        if (_ret3) {\n          return _ret3.v;\n        }\n      }\n      cache_default.set('isModalOpen', void 0);\n      return void 0;\n    }\n    var is_modal_open_default = isModalOpen;\n    function _isMultiline(domNode) {\n      var margin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n      var range2 = domNode.ownerDocument.createRange();\n      range2.setStart(domNode, 0);\n      range2.setEnd(domNode, domNode.childNodes.length);\n      var lastLineEnd = 0;\n      var lineCount = 0;\n      var _iterator0 = _createForOfIteratorHelper(range2.getClientRects()), _step0;\n      try {\n        for (_iterator0.s(); !(_step0 = _iterator0.n()).done; ) {\n          var rect = _step0.value;\n          if (rect.height <= margin) {\n            continue;\n          }\n          if (lastLineEnd > rect.top + margin) {\n            lastLineEnd = Math.max(lastLineEnd, rect.bottom);\n          } else if (lineCount === 0) {\n            lastLineEnd = rect.bottom;\n            lineCount++;\n          } else {\n            return true;\n          }\n        }\n      } catch (err) {\n        _iterator0.e(err);\n      } finally {\n        _iterator0.f();\n      }\n      return false;\n    }\n    function isNode(element) {\n      return element instanceof window.Node;\n    }\n    var is_node_default = isNode;\n    var cacheKey = 'color.incompleteData';\n    var incompleteData = {\n      set: function set(key, reason) {\n        if (typeof key !== 'string') {\n          throw new Error('Incomplete data: key must be a string');\n        }\n        var data = cache_default.get(cacheKey, function() {\n          return {};\n        });\n        if (reason) {\n          data[key] = reason;\n        }\n        return data[key];\n      },\n      get: function get(key) {\n        var data = cache_default.get(cacheKey);\n        return data === null || data === void 0 ? void 0 : data[key];\n      },\n      clear: function clear() {\n        cache_default.set(cacheKey, {});\n      }\n    };\n    var incomplete_data_default = incompleteData;\n    function elementHasImage(elm, style) {\n      var graphicNodes = [ 'IMG', 'CANVAS', 'OBJECT', 'IFRAME', 'VIDEO', 'SVG' ];\n      var nodeName2 = elm.nodeName.toUpperCase();\n      if (graphicNodes.includes(nodeName2)) {\n        incomplete_data_default.set('bgColor', 'imgNode');\n        return true;\n      }\n      style = style || window.getComputedStyle(elm);\n      var bgImageStyle = style.getPropertyValue('background-image');\n      var hasBgImage = bgImageStyle !== 'none';\n      if (hasBgImage) {\n        var hasGradient = /gradient/.test(bgImageStyle);\n        incomplete_data_default.set('bgColor', hasGradient ? 'bgGradient' : 'bgImage');\n      }\n      return hasBgImage;\n    }\n    var element_has_image_default = elementHasImage;\n    var hexRegex = /^#[0-9a-f]{3,8}$/i;\n    var hslRegex = /hsl\\(\\s*([-\\d.]+)(rad|turn)/;\n    var _Color2 = (_r = new WeakMap(), _g = new WeakMap(), _b = new WeakMap(), _red = new WeakMap(), \n    _green = new WeakMap(), _blue = new WeakMap(), _Class3_brand = new WeakSet(), \n    function() {\n      function Color2(red, green, blue) {\n        var alpha = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n        _classCallCheck(this, Color2);\n        _classPrivateMethodInitSpec(this, _Class3_brand);\n        _classPrivateFieldInitSpec(this, _r, void 0);\n        _classPrivateFieldInitSpec(this, _g, void 0);\n        _classPrivateFieldInitSpec(this, _b, void 0);\n        _classPrivateFieldInitSpec(this, _red, void 0);\n        _classPrivateFieldInitSpec(this, _green, void 0);\n        _classPrivateFieldInitSpec(this, _blue, void 0);\n        if (red instanceof _Color2) {\n          var r = red.r, g2 = red.g, b2 = red.b;\n          this.r = r;\n          this.g = g2;\n          this.b = b2;\n          this.alpha = red.alpha;\n          return;\n        }\n        this.red = red;\n        this.green = green;\n        this.blue = blue;\n        this.alpha = alpha;\n      }\n      return _createClass(Color2, [ {\n        key: 'r',\n        get: function get() {\n          return _classPrivateFieldGet(_r, this);\n        },\n        set: function set(value) {\n          _classPrivateFieldSet(_r, this, value);\n          _classPrivateFieldSet(_red, this, Math.round(clamp(value, 0, 1) * 255));\n        }\n      }, {\n        key: 'g',\n        get: function get() {\n          return _classPrivateFieldGet(_g, this);\n        },\n        set: function set(value) {\n          _classPrivateFieldSet(_g, this, value);\n          _classPrivateFieldSet(_green, this, Math.round(clamp(value, 0, 1) * 255));\n        }\n      }, {\n        key: 'b',\n        get: function get() {\n          return _classPrivateFieldGet(_b, this);\n        },\n        set: function set(value) {\n          _classPrivateFieldSet(_b, this, value);\n          _classPrivateFieldSet(_blue, this, Math.round(clamp(value, 0, 1) * 255));\n        }\n      }, {\n        key: 'red',\n        get: function get() {\n          return _classPrivateFieldGet(_red, this);\n        },\n        set: function set(value) {\n          _classPrivateFieldSet(_r, this, value / 255);\n          _classPrivateFieldSet(_red, this, clamp(value, 0, 255));\n        }\n      }, {\n        key: 'green',\n        get: function get() {\n          return _classPrivateFieldGet(_green, this);\n        },\n        set: function set(value) {\n          _classPrivateFieldSet(_g, this, value / 255);\n          _classPrivateFieldSet(_green, this, clamp(value, 0, 255));\n        }\n      }, {\n        key: 'blue',\n        get: function get() {\n          return _classPrivateFieldGet(_blue, this);\n        },\n        set: function set(value) {\n          _classPrivateFieldSet(_b, this, value / 255);\n          _classPrivateFieldSet(_blue, this, clamp(value, 0, 255));\n        }\n      }, {\n        key: 'toHexString',\n        value: function toHexString() {\n          var redString = Math.round(this.red).toString(16);\n          var greenString = Math.round(this.green).toString(16);\n          var blueString = Math.round(this.blue).toString(16);\n          return '#' + (this.red > 15.5 ? redString : '0' + redString) + (this.green > 15.5 ? greenString : '0' + greenString) + (this.blue > 15.5 ? blueString : '0' + blueString);\n        }\n      }, {\n        key: 'toJSON',\n        value: function toJSON() {\n          var red = this.red, green = this.green, blue = this.blue, alpha = this.alpha;\n          return {\n            red: red,\n            green: green,\n            blue: blue,\n            alpha: alpha\n          };\n        }\n      }, {\n        key: 'parseString',\n        value: function parseString(colorString) {\n          colorString = colorString.replace(hslRegex, function(match, angle, unit) {\n            var value = angle + unit;\n            switch (unit) {\n             case 'rad':\n              return match.replace(value, radToDeg(angle));\n\n             case 'turn':\n              return match.replace(value, turnToDeg(angle));\n            }\n          });\n          try {\n            var prototypeArrayFrom;\n            if ('Prototype' in window && 'Version' in window.Prototype) {\n              prototypeArrayFrom = Array.from;\n              Array.from = import_from2['default'];\n            }\n            var _color2 = new _Color(colorString).to('srgb');\n            if (prototypeArrayFrom) {\n              Array.from = prototypeArrayFrom;\n              prototypeArrayFrom = null;\n            }\n            this.r = _color2.r;\n            this.g = _color2.g;\n            this.b = _color2.b;\n            this.alpha = +_color2.alpha;\n          } catch (_unused2) {\n            throw new Error('Unable to parse color \"'.concat(colorString, '\"'));\n          }\n          return this;\n        }\n      }, {\n        key: 'parseRgbString',\n        value: function parseRgbString(colorString) {\n          this.parseString(colorString);\n        }\n      }, {\n        key: 'parseHexString',\n        value: function parseHexString(colorString) {\n          if (!colorString.match(hexRegex) || [ 6, 8 ].includes(colorString.length)) {\n            return;\n          }\n          this.parseString(colorString);\n        }\n      }, {\n        key: 'parseColorFnString',\n        value: function parseColorFnString(colorString) {\n          this.parseString(colorString);\n        }\n      }, {\n        key: 'getRelativeLuminance',\n        value: function getRelativeLuminance() {\n          var rSRGB = this.r, gSRGB = this.g, bSRGB = this.b;\n          var r = rSRGB <= .03928 ? rSRGB / 12.92 : Math.pow((rSRGB + .055) / 1.055, 2.4);\n          var g2 = gSRGB <= .03928 ? gSRGB / 12.92 : Math.pow((gSRGB + .055) / 1.055, 2.4);\n          var b2 = bSRGB <= .03928 ? bSRGB / 12.92 : Math.pow((bSRGB + .055) / 1.055, 2.4);\n          return .2126 * r + .7152 * g2 + .0722 * b2;\n        }\n      }, {\n        key: 'getLuminosity',\n        value: function getLuminosity() {\n          return .3 * this.r + .59 * this.g + .11 * this.b;\n        }\n      }, {\n        key: 'setLuminosity',\n        value: function setLuminosity(L) {\n          var d2 = L - this.getLuminosity();\n          return _assertClassBrand(_Class3_brand, this, _add).call(this, d2).clip();\n        }\n      }, {\n        key: 'getSaturation',\n        value: function getSaturation() {\n          return Math.max(this.r, this.g, this.b) - Math.min(this.r, this.g, this.b);\n        }\n      }, {\n        key: 'setSaturation',\n        value: function setSaturation(s) {\n          var C = new _Color2(this);\n          var colorEntires = [ {\n            name: 'r',\n            value: C.r\n          }, {\n            name: 'g',\n            value: C.g\n          }, {\n            name: 'b',\n            value: C.b\n          } ];\n          var _colorEntires$sort = colorEntires.sort(function(a2, b2) {\n            return a2.value - b2.value;\n          }), _colorEntires$sort2 = _slicedToArray(_colorEntires$sort, 3), Cmin = _colorEntires$sort2[0], Cmid = _colorEntires$sort2[1], Cmax = _colorEntires$sort2[2];\n          if (Cmax.value > Cmin.value) {\n            Cmid.value = (Cmid.value - Cmin.value) * s / (Cmax.value - Cmin.value);\n            Cmax.value = s;\n          } else {\n            Cmid.value = Cmax.value = 0;\n          }\n          Cmin.value = 0;\n          C[Cmax.name] = Cmax.value;\n          C[Cmin.name] = Cmin.value;\n          C[Cmid.name] = Cmid.value;\n          return C;\n        }\n      }, {\n        key: 'clip',\n        value: function clip() {\n          var C = new _Color2(this);\n          var L = C.getLuminosity();\n          var n2 = Math.min(C.r, C.g, C.b);\n          var x = Math.max(C.r, C.g, C.b);\n          if (n2 < 0) {\n            C.r = L + (C.r - L) * L / (L - n2);\n            C.g = L + (C.g - L) * L / (L - n2);\n            C.b = L + (C.b - L) * L / (L - n2);\n          }\n          if (x > 1) {\n            C.r = L + (C.r - L) * (1 - L) / (x - L);\n            C.g = L + (C.g - L) * (1 - L) / (x - L);\n            C.b = L + (C.b - L) * (1 - L) / (x - L);\n          }\n          return C;\n        }\n      } ]);\n    }());\n    function _add(value) {\n      var C = new _Color2(this);\n      C.r += value;\n      C.g += value;\n      C.b += value;\n      return C;\n    }\n    var color_default = _Color2;\n    function clamp(value, min, max2) {\n      return Math.min(Math.max(min, value), max2);\n    }\n    function radToDeg(rad) {\n      return rad * 180 / Math.PI;\n    }\n    function turnToDeg(turn) {\n      return turn * 360;\n    }\n    function getOwnBackgroundColor(elmStyle) {\n      var bgColor = new color_default();\n      bgColor.parseString(elmStyle.getPropertyValue('background-color'));\n      if (bgColor.alpha !== 0) {\n        var opacity = elmStyle.getPropertyValue('opacity');\n        bgColor.alpha = bgColor.alpha * opacity;\n      }\n      return bgColor;\n    }\n    var get_own_background_color_default = getOwnBackgroundColor;\n    function isOpaque(node) {\n      var style = window.getComputedStyle(node);\n      return element_has_image_default(node, style) || get_own_background_color_default(style).alpha === 1;\n    }\n    var is_opaque_default = isOpaque;\n    function _isSkipLink(element) {\n      if (!element.href) {\n        return false;\n      }\n      var firstPageLink = cache_default.get('firstPageLink', generateFirstPageLink);\n      if (!firstPageLink) {\n        return true;\n      }\n      return element.compareDocumentPosition(firstPageLink.actualNode) === element.DOCUMENT_POSITION_FOLLOWING;\n    }\n    function generateFirstPageLink() {\n      var firstPageLink;\n      if (!window.location.origin) {\n        firstPageLink = query_selector_all_default(axe._tree, 'a:not([href^=\"#\"]):not([href^=\"/#\"]):not([href^=\"javascript:\"])')[0];\n      } else {\n        firstPageLink = query_selector_all_default(axe._tree, 'a[href]:not([href^=\"javascript:\"])').find(function(link) {\n          return !_isCurrentPageLink(link.actualNode);\n        });\n      }\n      return firstPageLink || null;\n    }\n    var clipRegex2 = /rect\\s*\\(([0-9]+)px,?\\s*([0-9]+)px,?\\s*([0-9]+)px,?\\s*([0-9]+)px\\s*\\)/;\n    var clipPathRegex2 = /(\\w+)\\((\\d+)/;\n    function isClipped(style) {\n      var matchesClip = style.getPropertyValue('clip').match(clipRegex2);\n      var matchesClipPath = style.getPropertyValue('clip-path').match(clipPathRegex2);\n      if (matchesClip && matchesClip.length === 5) {\n        var position = style.getPropertyValue('position');\n        if ([ 'fixed', 'absolute' ].includes(position)) {\n          return matchesClip[3] - matchesClip[1] <= 0 && matchesClip[2] - matchesClip[4] <= 0;\n        }\n      }\n      if (matchesClipPath) {\n        var type2 = matchesClipPath[1];\n        var value = parseInt(matchesClipPath[2], 10);\n        switch (type2) {\n         case 'inset':\n          return value >= 50;\n\n         case 'circle':\n          return value === 0;\n\n         default:\n        }\n      }\n      return false;\n    }\n    function isAreaVisible(el, screenReader, recursed) {\n      var mapEl = find_up_default(el, 'map');\n      if (!mapEl) {\n        return false;\n      }\n      var mapElName = mapEl.getAttribute('name');\n      if (!mapElName) {\n        return false;\n      }\n      var mapElRootNode = get_root_node_default2(el);\n      if (!mapElRootNode || mapElRootNode.nodeType !== 9) {\n        return false;\n      }\n      var refs = query_selector_all_default(axe._tree, 'img[usemap=\"#'.concat(escape_selector_default(mapElName), '\"]'));\n      if (!refs || !refs.length) {\n        return false;\n      }\n      return refs.some(function(_ref52) {\n        var actualNode = _ref52.actualNode;\n        return isVisible(actualNode, screenReader, recursed);\n      });\n    }\n    function isVisible(el, screenReader, recursed) {\n      var _window$Node2;\n      if (!el) {\n        throw new TypeError('Cannot determine if element is visible for non-DOM nodes');\n      }\n      var vNode = el instanceof abstract_virtual_node_default ? el : get_node_from_tree_default(el);\n      el = vNode ? vNode.actualNode : el;\n      var cacheName = '_isVisible' + (screenReader ? 'ScreenReader' : '');\n      var _ref53 = (_window$Node2 = window.Node) !== null && _window$Node2 !== void 0 ? _window$Node2 : {}, DOCUMENT_NODE = _ref53.DOCUMENT_NODE, DOCUMENT_FRAGMENT_NODE = _ref53.DOCUMENT_FRAGMENT_NODE;\n      var nodeType = vNode ? vNode.props.nodeType : el.nodeType;\n      var nodeName2 = vNode ? vNode.props.nodeName : el.nodeName.toLowerCase();\n      if (vNode && typeof vNode[cacheName] !== 'undefined') {\n        return vNode[cacheName];\n      }\n      if (nodeType === DOCUMENT_NODE) {\n        return true;\n      }\n      if ([ 'style', 'script', 'noscript', 'template' ].includes(nodeName2)) {\n        return false;\n      }\n      if (el && nodeType === DOCUMENT_FRAGMENT_NODE) {\n        el = el.host;\n      }\n      if (screenReader) {\n        var ariaHiddenValue = vNode ? vNode.attr('aria-hidden') : el.getAttribute('aria-hidden');\n        if (ariaHiddenValue === 'true') {\n          return false;\n        }\n      }\n      if (!el) {\n        var parent2 = vNode.parent;\n        var visible3 = true;\n        if (parent2) {\n          visible3 = isVisible(parent2, screenReader, true);\n        }\n        if (vNode) {\n          vNode[cacheName] = visible3;\n        }\n        return visible3;\n      }\n      var style = window.getComputedStyle(el, null);\n      if (style === null) {\n        return false;\n      }\n      if (nodeName2 === 'area') {\n        return isAreaVisible(el, screenReader, recursed);\n      }\n      if (style.getPropertyValue('display') === 'none') {\n        return false;\n      }\n      var elHeight = parseInt(style.getPropertyValue('height'));\n      var elWidth = parseInt(style.getPropertyValue('width'));\n      var scroll = get_scroll_default(el);\n      var scrollableWithZeroHeight = scroll && elHeight === 0;\n      var scrollableWithZeroWidth = scroll && elWidth === 0;\n      var posAbsoluteOverflowHiddenAndSmall = style.getPropertyValue('position') === 'absolute' && (elHeight < 2 || elWidth < 2) && style.getPropertyValue('overflow') === 'hidden';\n      if (!screenReader && (isClipped(style) || style.getPropertyValue('opacity') === '0' || scrollableWithZeroHeight || scrollableWithZeroWidth || posAbsoluteOverflowHiddenAndSmall)) {\n        return false;\n      }\n      if (!recursed && (style.getPropertyValue('visibility') === 'hidden' || !screenReader && is_offscreen_default(el))) {\n        return false;\n      }\n      var parent = el.assignedSlot ? el.assignedSlot : el.parentNode;\n      var visible2 = false;\n      if (parent) {\n        visible2 = isVisible(parent, screenReader, true);\n      }\n      if (vNode) {\n        vNode[cacheName] = visible2;\n      }\n      return visible2;\n    }\n    var is_visible_default = isVisible;\n    function reduceToElementsBelowFloating(elements, targetNode) {\n      var floatingPositions = [ 'fixed', 'sticky' ];\n      var finalElements = [];\n      var targetFound = false;\n      for (var index = 0; index < elements.length; ++index) {\n        var currentNode = elements[index];\n        if (currentNode === targetNode) {\n          targetFound = true;\n        }\n        var style = window.getComputedStyle(currentNode);\n        if (!targetFound && floatingPositions.indexOf(style.position) !== -1) {\n          finalElements = [];\n          continue;\n        }\n        finalElements.push(currentNode);\n      }\n      return finalElements;\n    }\n    var reduce_to_elements_below_floating_default = reduceToElementsBelowFloating;\n    function _visuallyContains(node, parent) {\n      var parentScrollAncestor = getScrollAncestor(parent);\n      do {\n        var nextScrollAncestor = getScrollAncestor(node);\n        if (nextScrollAncestor === parentScrollAncestor || nextScrollAncestor === parent) {\n          return contains2(node, parent);\n        }\n        node = nextScrollAncestor;\n      } while (node);\n      return false;\n    }\n    function getScrollAncestor(node) {\n      var vNode = get_node_from_tree_default(node);\n      var ancestor = vNode.parent;\n      while (ancestor) {\n        if (get_scroll_default(ancestor.actualNode)) {\n          return ancestor.actualNode;\n        }\n        ancestor = ancestor.parent;\n      }\n    }\n    function contains2(node, parent) {\n      var style = window.getComputedStyle(parent);\n      var overflow = style.getPropertyValue('overflow');\n      if (style.getPropertyValue('display') === 'inline') {\n        return true;\n      }\n      var clientRects = Array.from(node.getClientRects());\n      var boundingRect = parent.getBoundingClientRect();\n      var rect = {\n        left: boundingRect.left,\n        top: boundingRect.top,\n        width: boundingRect.width,\n        height: boundingRect.height\n      };\n      if ([ 'scroll', 'auto' ].includes(overflow) || parent instanceof window.HTMLHtmlElement) {\n        rect.width = parent.scrollWidth;\n        rect.height = parent.scrollHeight;\n      }\n      if (clientRects.length === 1 && overflow === 'hidden' && style.getPropertyValue('white-space') === 'nowrap') {\n        clientRects[0] = rect;\n      }\n      return clientRects.some(function(clientRect) {\n        return !(Math.ceil(clientRect.left) < Math.floor(rect.left) || Math.ceil(clientRect.top) < Math.floor(rect.top) || Math.floor(clientRect.left + clientRect.width) > Math.ceil(rect.left + rect.width) || Math.floor(clientRect.top + clientRect.height) > Math.ceil(rect.top + rect.height));\n      });\n    }\n    function shadowElementsFromPoint(nodeX, nodeY) {\n      var root = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : document;\n      var i = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n      if (i > 999) {\n        throw new Error('Infinite loop detected');\n      }\n      return Array.from(root.elementsFromPoint(nodeX, nodeY) || []).filter(function(nodes) {\n        return get_root_node_default2(nodes) === root;\n      }).reduce(function(stack, elm) {\n        if (is_shadow_root_default(elm)) {\n          var shadowStack = shadowElementsFromPoint(nodeX, nodeY, elm.shadowRoot, i + 1);\n          stack = stack.concat(shadowStack);\n          if (stack.length && _visuallyContains(stack[0], elm)) {\n            stack.push(elm);\n          }\n        } else {\n          stack.push(elm);\n        }\n        return stack;\n      }, []);\n    }\n    var shadow_elements_from_point_default = shadowElementsFromPoint;\n    function urlPropsFromAttribute(node, attribute) {\n      if (!node.hasAttribute(attribute)) {\n        return void 0;\n      }\n      var nodeName2 = node.nodeName.toUpperCase();\n      var parser2 = node;\n      if (![ 'A', 'AREA' ].includes(nodeName2) || node.ownerSVGElement) {\n        parser2 = document.createElement('a');\n        parser2.href = node.getAttribute(attribute);\n      }\n      var protocol = [ 'https:', 'ftps:' ].includes(parser2.protocol) ? parser2.protocol.replace(/s:$/, ':') : parser2.protocol;\n      var parserPathname = /^\\//.test(parser2.pathname) ? parser2.pathname : '/'.concat(parser2.pathname);\n      var _getPathnameOrFilenam = getPathnameOrFilename(parserPathname), pathname = _getPathnameOrFilenam.pathname, filename = _getPathnameOrFilenam.filename;\n      return {\n        protocol: protocol,\n        hostname: parser2.hostname,\n        port: getPort(parser2.port),\n        pathname: /\\/$/.test(pathname) ? pathname : ''.concat(pathname, '/'),\n        search: getSearchPairs(parser2.search),\n        hash: getHashRoute(parser2.hash),\n        filename: filename\n      };\n    }\n    function getPort(port) {\n      var excludePorts = [ '443', '80' ];\n      return !excludePorts.includes(port) ? port : '';\n    }\n    function getPathnameOrFilename(pathname) {\n      var filename = pathname.split('/').pop();\n      if (!filename || filename.indexOf('.') === -1) {\n        return {\n          pathname: pathname,\n          filename: ''\n        };\n      }\n      return {\n        pathname: pathname.replace(filename, ''),\n        filename: /index./.test(filename) ? '' : filename\n      };\n    }\n    function getSearchPairs(searchStr) {\n      var query = {};\n      if (!searchStr || !searchStr.length) {\n        return query;\n      }\n      var pairs = searchStr.substring(1).split('&');\n      if (!pairs || !pairs.length) {\n        return query;\n      }\n      for (var index = 0; index < pairs.length; index++) {\n        var pair = pairs[index];\n        var _pair$split = pair.split('='), _pair$split2 = _slicedToArray(_pair$split, 2), _key6 = _pair$split2[0], _pair$split2$ = _pair$split2[1], value = _pair$split2$ === void 0 ? '' : _pair$split2$;\n        query[decodeURIComponent(_key6)] = decodeURIComponent(value);\n      }\n      return query;\n    }\n    function getHashRoute(hash) {\n      if (!hash) {\n        return '';\n      }\n      var hashRegex = /#!?\\/?/g;\n      var hasMatch = hash.match(hashRegex);\n      if (!hasMatch) {\n        return '';\n      }\n      var _hasMatch = _slicedToArray(hasMatch, 1), matchedStr = _hasMatch[0];\n      if (matchedStr === '#') {\n        return '';\n      }\n      return hash;\n    }\n    var url_props_from_attribute_default = urlPropsFromAttribute;\n    function visuallyOverlaps(rect, parent) {\n      var parentRect = parent.getBoundingClientRect();\n      var parentTop = parentRect.top;\n      var parentLeft = parentRect.left;\n      var parentScrollArea = {\n        top: parentTop - parent.scrollTop,\n        bottom: parentTop - parent.scrollTop + parent.scrollHeight,\n        left: parentLeft - parent.scrollLeft,\n        right: parentLeft - parent.scrollLeft + parent.scrollWidth\n      };\n      if (rect.left > parentScrollArea.right && rect.left > parentRect.right || rect.top > parentScrollArea.bottom && rect.top > parentRect.bottom || rect.right < parentScrollArea.left && rect.right < parentRect.left || rect.bottom < parentScrollArea.top && rect.bottom < parentRect.top) {\n        return false;\n      }\n      var style = window.getComputedStyle(parent);\n      if (rect.left > parentRect.right || rect.top > parentRect.bottom) {\n        return style.overflow === 'scroll' || style.overflow === 'auto' || parent instanceof window.HTMLBodyElement || parent instanceof window.HTMLHtmlElement;\n      }\n      return true;\n    }\n    var visually_overlaps_default = visuallyOverlaps;\n    var nodeIndex2 = 0;\n    var VirtualNode = function(_abstract_virtual_nod) {\n      function VirtualNode(node, parent, shadowId) {\n        var _this4;\n        _classCallCheck(this, VirtualNode);\n        _this4 = _callSuper(this, VirtualNode);\n        _this4.shadowId = shadowId;\n        _this4.children = [];\n        _this4.actualNode = node;\n        _this4.parent = parent;\n        if (!parent) {\n          nodeIndex2 = 0;\n        }\n        _this4.nodeIndex = nodeIndex2++;\n        _this4._isHidden = null;\n        _this4._cache = {};\n        _this4._isXHTML = is_xhtml_default(node.ownerDocument);\n        if (node.nodeName.toLowerCase() === 'input') {\n          var type2 = node.getAttribute('type');\n          type2 = _this4._isXHTML ? type2 : (type2 || '').toLowerCase();\n          if (!valid_input_type_default().includes(type2)) {\n            type2 = 'text';\n          }\n          _this4._type = type2;\n        }\n        if (cache_default.get('nodeMap')) {\n          cache_default.get('nodeMap').set(node, _this4);\n        }\n        return _this4;\n      }\n      _inherits(VirtualNode, _abstract_virtual_nod);\n      return _createClass(VirtualNode, [ {\n        key: 'props',\n        get: function get() {\n          if (!this._cache.hasOwnProperty('props')) {\n            var _this$actualNode = this.actualNode, nodeType = _this$actualNode.nodeType, nodeName2 = _this$actualNode.nodeName, _id3 = _this$actualNode.id, nodeValue = _this$actualNode.nodeValue;\n            this._cache.props = {\n              nodeType: nodeType,\n              nodeName: this._isXHTML ? nodeName2 : nodeName2.toLowerCase(),\n              id: _id3,\n              type: this._type,\n              nodeValue: nodeValue\n            };\n            if (nodeType === 1) {\n              this._cache.props.multiple = this.actualNode.multiple;\n              this._cache.props.value = this.actualNode.value;\n              this._cache.props.selected = this.actualNode.selected;\n              this._cache.props.checked = this.actualNode.checked;\n              this._cache.props.indeterminate = this.actualNode.indeterminate;\n            }\n          }\n          return this._cache.props;\n        }\n      }, {\n        key: 'attr',\n        value: function attr(attrName) {\n          if (typeof this.actualNode.getAttribute !== 'function') {\n            return null;\n          }\n          return this.actualNode.getAttribute(attrName);\n        }\n      }, {\n        key: 'hasAttr',\n        value: function hasAttr(attrName) {\n          if (typeof this.actualNode.hasAttribute !== 'function') {\n            return false;\n          }\n          return this.actualNode.hasAttribute(attrName);\n        }\n      }, {\n        key: 'attrNames',\n        get: function get() {\n          if (!this._cache.hasOwnProperty('attrNames')) {\n            var attrs;\n            if (this.actualNode.attributes instanceof window.NamedNodeMap) {\n              attrs = this.actualNode.attributes;\n            } else {\n              attrs = this.actualNode.cloneNode(false).attributes;\n            }\n            this._cache.attrNames = Array.from(attrs).map(function(attr) {\n              return attr.name;\n            });\n          }\n          return this._cache.attrNames;\n        }\n      }, {\n        key: 'getComputedStylePropertyValue',\n        value: function getComputedStylePropertyValue(property) {\n          var key = 'computedStyle_' + property;\n          if (!this._cache.hasOwnProperty(key)) {\n            if (!this._cache.hasOwnProperty('computedStyle')) {\n              this._cache.computedStyle = window.getComputedStyle(this.actualNode);\n            }\n            this._cache[key] = this._cache.computedStyle.getPropertyValue(property);\n          }\n          return this._cache[key];\n        }\n      }, {\n        key: 'isFocusable',\n        get: function get() {\n          if (!this._cache.hasOwnProperty('isFocusable')) {\n            this._cache.isFocusable = _isFocusable(this.actualNode);\n          }\n          return this._cache.isFocusable;\n        }\n      }, {\n        key: 'tabbableElements',\n        get: function get() {\n          if (!this._cache.hasOwnProperty('tabbableElements')) {\n            this._cache.tabbableElements = get_tabbable_elements_default(this);\n          }\n          return this._cache.tabbableElements;\n        }\n      }, {\n        key: 'clientRects',\n        get: function get() {\n          if (!this._cache.hasOwnProperty('clientRects')) {\n            this._cache.clientRects = Array.from(this.actualNode.getClientRects()).filter(function(rect) {\n              return rect.width > 0;\n            });\n          }\n          return this._cache.clientRects;\n        }\n      }, {\n        key: 'boundingClientRect',\n        get: function get() {\n          if (!this._cache.hasOwnProperty('boundingClientRect')) {\n            this._cache.boundingClientRect = this.actualNode.getBoundingClientRect();\n          }\n          return this._cache.boundingClientRect;\n        }\n      } ]);\n    }(abstract_virtual_node_default);\n    var virtual_node_default = VirtualNode;\n    var CACHE_KEY = 'DqElm.RunOptions';\n    function getOuterHtml(element) {\n      var source = element.outerHTML;\n      if (!source && typeof window.XMLSerializer === 'function') {\n        source = new window.XMLSerializer().serializeToString(element);\n      }\n      return source || '';\n    }\n    function truncateElement(element) {\n      var maxLen = 300;\n      var maxAttrNameOrValueLen = 20;\n      var deepStr = getOuterHtml(element);\n      var vNode = get_node_from_tree_default(element);\n      if (!vNode) {\n        vNode = new virtual_node_default(element);\n      }\n      var nodeName2 = vNode.props.nodeName;\n      if (deepStr.length < maxLen) {\n        return deepStr;\n      }\n      var attributeStrList = [];\n      var shallowNode = element.cloneNode(false);\n      var elementNodeMap = get_node_attributes_default(shallowNode);\n      var str = getOuterHtml(shallowNode);\n      if (str.length < maxLen) {\n        var attrString = '';\n        var _iterator1 = _createForOfIteratorHelper(elementNodeMap), _step1;\n        try {\n          for (_iterator1.s(); !(_step1 = _iterator1.n()).done; ) {\n            var _step1$value = _step1.value, name = _step1$value.name, value = _step1$value.value;\n            var attr = {\n              name: name,\n              value: value\n            };\n            attrString += ' '.concat(attr.name, '=\"').concat(attr.value, '\"');\n          }\n        } catch (err) {\n          _iterator1.e(err);\n        } finally {\n          _iterator1.f();\n        }\n        str = '<'.concat(nodeName2).concat(attrString, '>');\n        return str;\n      }\n      var strLen = '<'.concat(nodeName2, '>').length;\n      var _iterator10 = _createForOfIteratorHelper(elementNodeMap), _step10;\n      try {\n        for (_iterator10.s(); !(_step10 = _iterator10.n()).done; ) {\n          var _step10$value = _step10.value, _name = _step10$value.name, _value = _step10$value.value;\n          if (strLen > maxLen) {\n            break;\n          }\n          var _attr = {\n            name: _name,\n            value: _value\n          };\n          var attrName = _attr.name;\n          var attrValue = _attr.value;\n          attrName = attrName.length > maxAttrNameOrValueLen ? attrName.substring(0, maxAttrNameOrValueLen) + '...' : attrName;\n          attrValue = attrValue.length > maxAttrNameOrValueLen ? attrValue.substring(0, maxAttrNameOrValueLen) + '...' : attrValue;\n          var strAttr = ''.concat(attrName, '=\"').concat(attrValue, '\"');\n          strLen += (' ' + strAttr).length;\n          attributeStrList.push(strAttr);\n        }\n      } catch (err) {\n        _iterator10.e(err);\n      } finally {\n        _iterator10.f();\n      }\n      str = '<'.concat(nodeName2, ' ').concat(attributeStrList.join(' '), '>');\n      if (str.length > maxLen) {\n        str = str.substring(0, maxLen) + ' ...>';\n      } else if (attributeStrList.length < elementNodeMap.length) {\n        str = str.substring(0, str.length - 1) + ' ...>';\n      }\n      return str;\n    }\n    function getSource(element) {\n      if (!element) {\n        return '';\n      }\n      return truncateElement(element);\n    }\n    var DqElement = memoize_default(function DqElement2(elm, options, spec) {\n      var _this$spec$selector, _this$_virtualNode;\n      options !== null && options !== void 0 ? options : options = null;\n      spec !== null && spec !== void 0 ? spec : spec = {};\n      if (!options) {\n        var _cache_default$get;\n        options = (_cache_default$get = cache_default.get(CACHE_KEY)) !== null && _cache_default$get !== void 0 ? _cache_default$get : {};\n      }\n      this.spec = spec;\n      if (elm instanceof abstract_virtual_node_default) {\n        this._virtualNode = elm;\n        this._element = elm.actualNode;\n      } else {\n        this._element = elm;\n        this._virtualNode = get_node_from_tree_default(elm);\n      }\n      this.fromFrame = ((_this$spec$selector = this.spec.selector) === null || _this$spec$selector === void 0 ? void 0 : _this$spec$selector.length) > 1;\n      this._includeElementInJson = options.elementRef;\n      if (options.absolutePaths) {\n        this._options = {\n          toRoot: true\n        };\n      }\n      this.nodeIndexes = [];\n      if (Array.isArray(this.spec.nodeIndexes)) {\n        this.nodeIndexes = this.spec.nodeIndexes;\n      } else if (typeof ((_this$_virtualNode = this._virtualNode) === null || _this$_virtualNode === void 0 ? void 0 : _this$_virtualNode.nodeIndex) === 'number') {\n        this.nodeIndexes = [ this._virtualNode.nodeIndex ];\n      }\n      this.source = null;\n      if (!axe._audit.noHtml) {\n        var _this$spec$source;\n        this.source = (_this$spec$source = this.spec.source) !== null && _this$spec$source !== void 0 ? _this$spec$source : getSource(this._element);\n      }\n      return this;\n    });\n    DqElement.prototype = {\n      get selector() {\n        return this.spec.selector || [ get_selector_default(this.element, this._options) ];\n      },\n      get ancestry() {\n        return this.spec.ancestry || [ _getAncestry(this.element) ];\n      },\n      get xpath() {\n        return this.spec.xpath || [ get_xpath_default(this.element) ];\n      },\n      get element() {\n        return this._element;\n      },\n      toJSON: function toJSON() {\n        var spec = {\n          selector: this.selector,\n          source: this.source,\n          xpath: this.xpath,\n          ancestry: this.ancestry,\n          nodeIndexes: this.nodeIndexes,\n          fromFrame: this.fromFrame\n        };\n        if (this._includeElementInJson) {\n          spec.element = this._element;\n        }\n        return spec;\n      }\n    };\n    DqElement.fromFrame = function fromFrame(node, options, frame) {\n      var spec = DqElement.mergeSpecs(node, frame);\n      return new DqElement(frame.element, options, spec);\n    };\n    DqElement.mergeSpecs = function mergeSpecs(child, parentFrame) {\n      return _extends({}, child, {\n        selector: [].concat(_toConsumableArray(parentFrame.selector), _toConsumableArray(child.selector)),\n        ancestry: [].concat(_toConsumableArray(parentFrame.ancestry), _toConsumableArray(child.ancestry)),\n        xpath: [].concat(_toConsumableArray(parentFrame.xpath), _toConsumableArray(child.xpath)),\n        nodeIndexes: [].concat(_toConsumableArray(parentFrame.nodeIndexes), _toConsumableArray(child.nodeIndexes)),\n        fromFrame: true\n      });\n    };\n    DqElement.setRunOptions = function setRunOptions(_ref54) {\n      var elementRef = _ref54.elementRef, absolutePaths = _ref54.absolutePaths;\n      cache_default.set(CACHE_KEY, {\n        elementRef: elementRef,\n        absolutePaths: absolutePaths\n      });\n    };\n    var dq_element_default = DqElement;\n    function checkHelper(checkResult, options, resolve, reject) {\n      return {\n        isAsync: false,\n        async: function async() {\n          this.isAsync = true;\n          return function(result) {\n            if (result instanceof Error === false) {\n              checkResult.result = result;\n              resolve(checkResult);\n            } else {\n              reject(result);\n            }\n          };\n        },\n        data: function data(_data) {\n          checkResult.data = _data;\n        },\n        relatedNodes: function relatedNodes(nodes) {\n          if (!window.Node) {\n            return;\n          }\n          if (nodes instanceof window.Node || nodes instanceof abstract_virtual_node_default) {\n            nodes = [ nodes ];\n          } else {\n            nodes = to_array_default(nodes);\n          }\n          checkResult.relatedNodes = [];\n          nodes.forEach(function(node) {\n            if (node instanceof abstract_virtual_node_default) {\n              node = node.actualNode;\n            }\n            if (node instanceof window.Node) {\n              var dqElm = new dq_element_default(node);\n              checkResult.relatedNodes.push(dqElm);\n            }\n          });\n        }\n      };\n    }\n    var check_helper_default = checkHelper;\n    function clone2(obj) {\n      return cloneRecused(obj, new Map());\n    }\n    function cloneRecused(obj, seen) {\n      var _window2, _window3;\n      if (obj === null || _typeof(obj) !== 'object') {\n        return obj;\n      }\n      if ((_window2 = window) !== null && _window2 !== void 0 && _window2.Node && obj instanceof window.Node || (_window3 = window) !== null && _window3 !== void 0 && _window3.HTMLCollection && obj instanceof window.HTMLCollection || 'nodeName' in obj && 'nodeType' in obj && 'ownerDocument' in obj) {\n        return obj;\n      }\n      if (seen.has(obj)) {\n        return seen.get(obj);\n      }\n      if (Array.isArray(obj)) {\n        var out2 = [];\n        seen.set(obj, out2);\n        obj.forEach(function(value) {\n          out2.push(cloneRecused(value, seen));\n        });\n        return out2;\n      }\n      var out = {};\n      seen.set(obj, out);\n      for (var _key7 in obj) {\n        out[_key7] = cloneRecused(obj[_key7], seen);\n      }\n      return out;\n    }\n    var parser = new import_css_selector_parser.CssSelectorParser();\n    parser.registerSelectorPseudos('not');\n    parser.registerSelectorPseudos('is');\n    parser.registerNestingOperators('>');\n    parser.registerAttrEqualityMods('^', '$', '*', '~');\n    var css_parser_default = parser;\n    function _matches(vNode, selector) {\n      var expressions = _convertSelector(selector);\n      return expressions.some(function(expression) {\n        return _matchesExpression(vNode, expression);\n      });\n    }\n    function matchesTag(vNode, exp) {\n      return vNode.props.nodeType === 1 && (exp.tag === '*' || vNode.props.nodeName === exp.tag);\n    }\n    function matchesClasses(vNode, exp) {\n      return !exp.classes || exp.classes.every(function(cl) {\n        return vNode.hasClass(cl.value);\n      });\n    }\n    function matchesAttributes(vNode, exp) {\n      return !exp.attributes || exp.attributes.every(function(att) {\n        var nodeAtt = vNode.attr(att.key);\n        return nodeAtt !== null && att.test(nodeAtt);\n      });\n    }\n    function matchesId(vNode, exp) {\n      return !exp.id || vNode.props.id === exp.id;\n    }\n    function matchesPseudos(target, exp) {\n      if (!exp.pseudos || exp.pseudos.every(function(pseudo) {\n        if (pseudo.name === 'not') {\n          return !pseudo.expressions.some(function(expression) {\n            return _matchesExpression(target, expression);\n          });\n        } else if (pseudo.name === 'is') {\n          return pseudo.expressions.some(function(expression) {\n            return _matchesExpression(target, expression);\n          });\n        }\n        throw new Error('the pseudo selector ' + pseudo.name + ' has not yet been implemented');\n      })) {\n        return true;\n      }\n      return false;\n    }\n    function matchExpression(vNode, expression) {\n      return matchesTag(vNode, expression) && matchesClasses(vNode, expression) && matchesAttributes(vNode, expression) && matchesId(vNode, expression) && matchesPseudos(vNode, expression);\n    }\n    var escapeRegExp = function() {\n      var from = /(?=[\\-\\[\\]{}()*+?.\\\\\\^$|,#\\s])/g;\n      var to2 = '\\\\';\n      return function(string) {\n        return string.replace(from, to2);\n      };\n    }();\n    var reUnescape = /\\\\/g;\n    function convertAttributes(atts) {\n      if (!atts) {\n        return;\n      }\n      return atts.map(function(att) {\n        var attributeKey = att.name.replace(reUnescape, '');\n        var attributeValue = (att.value || '').replace(reUnescape, '');\n        var test, regexp;\n        switch (att.operator) {\n         case '^=':\n          regexp = new RegExp('^' + escapeRegExp(attributeValue));\n          break;\n\n         case '$=':\n          regexp = new RegExp(escapeRegExp(attributeValue) + '$');\n          break;\n\n         case '~=':\n          regexp = new RegExp('(^|\\\\s)' + escapeRegExp(attributeValue) + '(\\\\s|$)');\n          break;\n\n         case '|=':\n          regexp = new RegExp('^' + escapeRegExp(attributeValue) + '(-|$)');\n          break;\n\n         case '=':\n          test = function test(value) {\n            return attributeValue === value;\n          };\n          break;\n\n         case '*=':\n          test = function test(value) {\n            return value && value.includes(attributeValue);\n          };\n          break;\n\n         case '!=':\n          test = function test(value) {\n            return attributeValue !== value;\n          };\n          break;\n\n         default:\n          test = function test(value) {\n            return value !== null;\n          };\n        }\n        if (attributeValue === '' && /^[*$^]=$/.test(att.operator)) {\n          test = function test() {\n            return false;\n          };\n        }\n        if (!test) {\n          test = function test(value) {\n            return value && regexp.test(value);\n          };\n        }\n        return {\n          key: attributeKey,\n          value: attributeValue,\n          type: typeof att.value === 'undefined' ? 'attrExist' : 'attrValue',\n          test: test\n        };\n      });\n    }\n    function convertClasses(classes) {\n      if (!classes) {\n        return;\n      }\n      return classes.map(function(className) {\n        className = className.replace(reUnescape, '');\n        return {\n          value: className,\n          regexp: new RegExp('(^|\\\\s)' + escapeRegExp(className) + '(\\\\s|$)')\n        };\n      });\n    }\n    function convertPseudos(pseudos) {\n      if (!pseudos) {\n        return;\n      }\n      return pseudos.map(function(p2) {\n        var expressions;\n        if ([ 'is', 'not' ].includes(p2.name)) {\n          expressions = p2.value;\n          expressions = expressions.selectors ? expressions.selectors : [ expressions ];\n          expressions = convertExpressions(expressions);\n        }\n        return {\n          name: p2.name,\n          expressions: expressions,\n          value: p2.value\n        };\n      });\n    }\n    function convertExpressions(expressions) {\n      return expressions.map(function(exp) {\n        var newExp = [];\n        var rule = exp.rule;\n        while (rule) {\n          newExp.push({\n            tag: rule.tagName ? rule.tagName.toLowerCase() : '*',\n            combinator: rule.nestingOperator ? rule.nestingOperator : ' ',\n            id: rule.id,\n            attributes: convertAttributes(rule.attrs),\n            classes: convertClasses(rule.classNames),\n            pseudos: convertPseudos(rule.pseudos)\n          });\n          rule = rule.rule;\n        }\n        return newExp;\n      });\n    }\n    function _convertSelector(selector) {\n      var expressions = css_parser_default.parse(selector);\n      expressions = expressions.selectors ? expressions.selectors : [ expressions ];\n      return convertExpressions(expressions);\n    }\n    function optimizedMatchesExpression(vNode, expressions, index, matchAnyParent) {\n      if (!vNode) {\n        return false;\n      }\n      var isArray = Array.isArray(expressions);\n      var expression = isArray ? expressions[index] : expressions;\n      var machedExpression = matchExpression(vNode, expression);\n      while (!machedExpression && matchAnyParent && vNode.parent) {\n        vNode = vNode.parent;\n        machedExpression = matchExpression(vNode, expression);\n      }\n      if (index > 0) {\n        if ([ ' ', '>' ].includes(expression.combinator) === false) {\n          throw new Error('axe.utils.matchesExpression does not support the combinator: ' + expression.combinator);\n        }\n        machedExpression = machedExpression && optimizedMatchesExpression(vNode.parent, expressions, index - 1, expression.combinator === ' ');\n      }\n      return machedExpression;\n    }\n    function _matchesExpression(vNode, expressions, matchAnyParent) {\n      return optimizedMatchesExpression(vNode, expressions, expressions.length - 1, matchAnyParent);\n    }\n    function closest(vNode, selector) {\n      while (vNode) {\n        if (_matches(vNode, selector)) {\n          return vNode;\n        }\n        if (typeof vNode.parent === 'undefined') {\n          throw new TypeError('Cannot resolve parent for non-DOM nodes');\n        }\n        vNode = vNode.parent;\n      }\n      return null;\n    }\n    var closest_default = closest;\n    function noop() {}\n    function funcGuard(f) {\n      if (typeof f !== 'function') {\n        throw new TypeError('Queue methods require functions as arguments');\n      }\n    }\n    function queue() {\n      var tasks = [];\n      var started = 0;\n      var remaining = 0;\n      var completeQueue = noop;\n      var complete = false;\n      var err2;\n      var defaultFail = function defaultFail(e) {\n        err2 = e;\n        setTimeout(function() {\n          if (err2 !== void 0 && err2 !== null) {\n            log_default('Uncaught error (of queue)', err2);\n          }\n        }, 1);\n      };\n      var failed = defaultFail;\n      function createResolve(i) {\n        return function(r) {\n          tasks[i] = r;\n          remaining -= 1;\n          if (!remaining && completeQueue !== noop) {\n            complete = true;\n            completeQueue(tasks);\n          }\n        };\n      }\n      function abort(msg) {\n        completeQueue = noop;\n        failed(msg);\n        return tasks;\n      }\n      function pop() {\n        var length = tasks.length;\n        for (;started < length; started++) {\n          var task = tasks[started];\n          try {\n            task.call(null, createResolve(started), abort);\n          } catch (e) {\n            abort(e);\n          }\n        }\n      }\n      var q = {\n        defer: function defer(fn) {\n          if (_typeof(fn) === 'object' && fn.then && fn['catch']) {\n            var defer = fn;\n            fn = function fn(resolve, reject) {\n              defer.then(resolve)['catch'](reject);\n            };\n          }\n          funcGuard(fn);\n          if (err2 !== void 0) {\n            return;\n          } else if (complete) {\n            throw new Error('Queue already completed');\n          }\n          tasks.push(fn);\n          ++remaining;\n          pop();\n          return q;\n        },\n        then: function then(fn) {\n          funcGuard(fn);\n          if (completeQueue !== noop) {\n            throw new Error('queue `then` already set');\n          }\n          if (!err2) {\n            completeQueue = fn;\n            if (!remaining) {\n              complete = true;\n              completeQueue(tasks);\n            }\n          }\n          return q;\n        },\n        catch: function _catch(fn) {\n          funcGuard(fn);\n          if (failed !== defaultFail) {\n            throw new Error('queue `catch` already set');\n          }\n          if (!err2) {\n            failed = fn;\n          } else {\n            fn(err2);\n            err2 = null;\n          }\n          return q;\n        },\n        abort: abort\n      };\n      return q;\n    }\n    var queue_default = queue;\n    var uuid;\n    var _rng;\n    var _crypto = window.crypto || window.msCrypto;\n    if (!_rng && _crypto && _crypto.getRandomValues) {\n      var _rnds8 = new Uint8Array(16);\n      _rng = function whatwgRNG() {\n        _crypto.getRandomValues(_rnds8);\n        return _rnds8;\n      };\n    }\n    if (!_rng) {\n      var _rnds = new Array(16);\n      _rng = function _rng() {\n        for (var i = 0, r; i < 16; i++) {\n          if ((i & 3) === 0) {\n            r = Math.random() * 4294967296;\n          }\n          _rnds[i] = r >>> ((i & 3) << 3) & 255;\n        }\n        return _rnds;\n      };\n    }\n    var BufferClass = typeof window.Buffer == 'function' ? window.Buffer : Array;\n    var _byteToHex = [];\n    var _hexToByte = {};\n    for (var i = 0; i < 256; i++) {\n      _byteToHex[i] = (i + 256).toString(16).substr(1);\n      _hexToByte[_byteToHex[i]] = i;\n    }\n    function parse2(s, buf, offset) {\n      var i = buf && offset || 0, ii = 0;\n      buf = buf || [];\n      s.toLowerCase().replace(/[0-9a-f]{2}/g, function(oct) {\n        if (ii < 16) {\n          buf[i + ii++] = _hexToByte[oct];\n        }\n      });\n      while (ii < 16) {\n        buf[i + ii++] = 0;\n      }\n      return buf;\n    }\n    function unparse(buf, offset) {\n      var i = offset || 0, bth = _byteToHex;\n      return bth[buf[i++]] + bth[buf[i++]] + bth[buf[i++]] + bth[buf[i++]] + '-' + bth[buf[i++]] + bth[buf[i++]] + '-' + bth[buf[i++]] + bth[buf[i++]] + '-' + bth[buf[i++]] + bth[buf[i++]] + '-' + bth[buf[i++]] + bth[buf[i++]] + bth[buf[i++]] + bth[buf[i++]] + bth[buf[i++]] + bth[buf[i++]];\n    }\n    var _seedBytes = _rng();\n    var _nodeId = [ _seedBytes[0] | 1, _seedBytes[1], _seedBytes[2], _seedBytes[3], _seedBytes[4], _seedBytes[5] ];\n    var _clockseq = (_seedBytes[6] << 8 | _seedBytes[7]) & 16383;\n    var _lastMSecs = 0;\n    var _lastNSecs = 0;\n    function v1(options, buf, offset) {\n      var i = buf && offset || 0;\n      var b2 = buf || [];\n      options = options || {};\n      var clockseq = options.clockseq != null ? options.clockseq : _clockseq;\n      var msecs = options.msecs != null ? options.msecs : new Date().getTime();\n      var nsecs = options.nsecs != null ? options.nsecs : _lastNSecs + 1;\n      var dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 1e4;\n      if (dt < 0 && options.clockseq == null) {\n        clockseq = clockseq + 1 & 16383;\n      }\n      if ((dt < 0 || msecs > _lastMSecs) && options.nsecs == null) {\n        nsecs = 0;\n      }\n      if (nsecs >= 1e4) {\n        throw new Error('uuid.v1(): Can\\'t create more than 10M uuids/sec');\n      }\n      _lastMSecs = msecs;\n      _lastNSecs = nsecs;\n      _clockseq = clockseq;\n      msecs += 122192928e5;\n      var tl = ((msecs & 268435455) * 1e4 + nsecs) % 4294967296;\n      b2[i++] = tl >>> 24 & 255;\n      b2[i++] = tl >>> 16 & 255;\n      b2[i++] = tl >>> 8 & 255;\n      b2[i++] = tl & 255;\n      var tmh = msecs / 4294967296 * 1e4 & 268435455;\n      b2[i++] = tmh >>> 8 & 255;\n      b2[i++] = tmh & 255;\n      b2[i++] = tmh >>> 24 & 15 | 16;\n      b2[i++] = tmh >>> 16 & 255;\n      b2[i++] = clockseq >>> 8 | 128;\n      b2[i++] = clockseq & 255;\n      var node = options.node || _nodeId;\n      for (var n2 = 0; n2 < 6; n2++) {\n        b2[i + n2] = node[n2];\n      }\n      return buf ? buf : unparse(b2);\n    }\n    function v4(options, buf, offset) {\n      var i = buf && offset || 0;\n      if (typeof options == 'string') {\n        buf = options == 'binary' ? new BufferClass(16) : null;\n        options = null;\n      }\n      options = options || {};\n      var rnds = options.random || (options.rng || _rng)();\n      rnds[6] = rnds[6] & 15 | 64;\n      rnds[8] = rnds[8] & 63 | 128;\n      if (buf) {\n        for (var ii = 0; ii < 16; ii++) {\n          buf[i + ii] = rnds[ii];\n        }\n      }\n      return buf || unparse(rnds);\n    }\n    uuid = v4;\n    uuid.v1 = v1;\n    uuid.v4 = v4;\n    uuid.parse = parse2;\n    uuid.unparse = unparse;\n    uuid.BufferClass = BufferClass;\n    axe._uuid = v1();\n    var uuid_default = v4;\n    var errorTypes = Object.freeze([ 'EvalError', 'RangeError', 'ReferenceError', 'SyntaxError', 'TypeError', 'URIError' ]);\n    function stringifyMessage(_ref55) {\n      var topic = _ref55.topic, channelId = _ref55.channelId, message = _ref55.message, messageId = _ref55.messageId, keepalive = _ref55.keepalive;\n      var data = {\n        channelId: channelId,\n        topic: topic,\n        messageId: messageId,\n        keepalive: !!keepalive,\n        source: getSource2()\n      };\n      if (message instanceof Error) {\n        data.error = {\n          name: message.name,\n          message: message.message,\n          stack: message.stack\n        };\n      } else {\n        data.payload = message;\n      }\n      return JSON.stringify(data);\n    }\n    function parseMessage(dataString) {\n      var data;\n      try {\n        data = JSON.parse(dataString);\n      } catch (_unused3) {\n        return;\n      }\n      if (!isRespondableMessage(data)) {\n        return;\n      }\n      var _data2 = data, topic = _data2.topic, channelId = _data2.channelId, messageId = _data2.messageId, keepalive = _data2.keepalive;\n      var message = _typeof(data.error) === 'object' ? buildErrorObject(data.error) : data.payload;\n      return {\n        topic: topic,\n        message: message,\n        messageId: messageId,\n        channelId: channelId,\n        keepalive: !!keepalive\n      };\n    }\n    function isRespondableMessage(postedMessage) {\n      return postedMessage !== null && _typeof(postedMessage) === 'object' && typeof postedMessage.channelId === 'string' && postedMessage.source === getSource2();\n    }\n    function buildErrorObject(error) {\n      var msg = error.message || 'Unknown error occurred';\n      var errorName = errorTypes.includes(error.name) ? error.name : 'Error';\n      var ErrConstructor = window[errorName] || Error;\n      if (error.stack) {\n        msg += '\\n' + error.stack.replace(error.message, '');\n      }\n      return new ErrConstructor(msg);\n    }\n    function getSource2() {\n      var application = 'axeAPI';\n      var version = '';\n      if (typeof axe !== 'undefined' && axe._audit && axe._audit.application) {\n        application = axe._audit.application;\n      }\n      if (typeof axe !== 'undefined') {\n        version = axe.version;\n      }\n      return application + '.' + version;\n    }\n    function assertIsParentWindow(win) {\n      assetNotGlobalWindow(win);\n      assert_default(window.parent === win, 'Source of the response must be the parent window.');\n    }\n    function assertIsFrameWindow(win) {\n      assetNotGlobalWindow(win);\n      assert_default(win.parent === window, 'Respondable target must be a frame in the current window');\n    }\n    function assetNotGlobalWindow(win) {\n      assert_default(window !== win, 'Messages can not be sent to the same window.');\n    }\n    var channels = {};\n    function storeReplyHandler(channelId, replyHandler) {\n      var sendToParent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n      assert_default(!channels[channelId], 'A replyHandler already exists for this message channel.');\n      channels[channelId] = {\n        replyHandler: replyHandler,\n        sendToParent: sendToParent\n      };\n    }\n    function getReplyHandler(channelId) {\n      return channels[channelId];\n    }\n    function deleteReplyHandler(channelId) {\n      delete channels[channelId];\n    }\n    var messageIds = [];\n    function createMessageId() {\n      var uuid2 = ''.concat(v4(), ':').concat(v4());\n      if (messageIds.includes(uuid2)) {\n        return createMessageId();\n      }\n      messageIds.push(uuid2);\n      return uuid2;\n    }\n    function isNewMessage(uuid2) {\n      if (messageIds.includes(uuid2)) {\n        return false;\n      }\n      messageIds.push(uuid2);\n      return true;\n    }\n    function postMessage(win, data, sendToParent, replyHandler) {\n      sendToParent ? assertIsParentWindow(win) : assertIsFrameWindow(win);\n      if (data.message instanceof Error && !sendToParent) {\n        axe.log(data.message);\n        return false;\n      }\n      var dataString = stringifyMessage(_extends({\n        messageId: createMessageId()\n      }, data));\n      var allowedOrigins = axe._audit.allowedOrigins;\n      if (!allowedOrigins || !allowedOrigins.length) {\n        return false;\n      }\n      if (typeof replyHandler === 'function') {\n        storeReplyHandler(data.channelId, replyHandler, sendToParent);\n      }\n      allowedOrigins.forEach(function(origin) {\n        try {\n          win.postMessage(dataString, origin);\n        } catch (err2) {\n          if (err2 instanceof win.DOMException) {\n            throw new Error('allowedOrigins value \"'.concat(origin, '\" is not a valid origin'));\n          }\n          throw err2;\n        }\n      });\n      return true;\n    }\n    function processError(win, error, channelId) {\n      if (!win.parent !== window) {\n        return axe.log(error);\n      }\n      try {\n        postMessage(win, {\n          topic: null,\n          channelId: channelId,\n          message: error,\n          messageId: createMessageId(),\n          keepalive: true\n        }, true);\n      } catch (err2) {\n        return axe.log(err2);\n      }\n    }\n    function createResponder(win, channelId) {\n      var sendToParent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n      return function respond(message, keepalive, replyHandler) {\n        var data = {\n          channelId: channelId,\n          message: message,\n          keepalive: keepalive\n        };\n        postMessage(win, data, sendToParent, replyHandler);\n      };\n    }\n    function originIsAllowed(origin) {\n      var allowedOrigins = axe._audit.allowedOrigins;\n      return allowedOrigins && allowedOrigins.includes('*') || allowedOrigins.includes(origin);\n    }\n    function messageHandler(_ref56, topicHandler) {\n      var origin = _ref56.origin, dataString = _ref56.data, win = _ref56.source;\n      try {\n        var data = parseMessage(dataString) || {};\n        var channelId = data.channelId, message = data.message, messageId = data.messageId;\n        if (!originIsAllowed(origin) || !isNewMessage(messageId)) {\n          return;\n        }\n        if (message instanceof Error && win.parent !== window) {\n          axe.log(message);\n          return false;\n        }\n        try {\n          if (data.topic) {\n            var responder = createResponder(win, channelId);\n            assertIsParentWindow(win);\n            topicHandler(data, responder);\n          } else {\n            callReplyHandler(win, data);\n          }\n        } catch (error) {\n          processError(win, error, channelId);\n        }\n      } catch (error) {\n        axe.log(error);\n        return false;\n      }\n    }\n    function callReplyHandler(win, data) {\n      var channelId = data.channelId, message = data.message, keepalive = data.keepalive;\n      var _ref57 = getReplyHandler(channelId) || {}, replyHandler = _ref57.replyHandler, sendToParent = _ref57.sendToParent;\n      if (!replyHandler) {\n        return;\n      }\n      sendToParent ? assertIsParentWindow(win) : assertIsFrameWindow(win);\n      var responder = createResponder(win, channelId, sendToParent);\n      if (!keepalive && channelId) {\n        deleteReplyHandler(channelId);\n      }\n      try {\n        replyHandler(message, keepalive, responder);\n      } catch (error) {\n        axe.log(error);\n        responder(error, keepalive);\n      }\n    }\n    var frameMessenger = {\n      open: function open(topicHandler) {\n        if (typeof window.addEventListener !== 'function') {\n          return;\n        }\n        var handler = function handler(messageEvent) {\n          messageHandler(messageEvent, topicHandler);\n        };\n        window.addEventListener('message', handler, false);\n        return function() {\n          window.removeEventListener('message', handler, false);\n        };\n      },\n      post: function post(win, data, replyHandler) {\n        if (typeof window.addEventListener !== 'function') {\n          return false;\n        }\n        return postMessage(win, data, false, replyHandler);\n      }\n    };\n    function setDefaultFrameMessenger(respondable2) {\n      respondable2.updateMessenger(frameMessenger);\n    }\n    var closeHandler;\n    var postMessage2;\n    var topicHandlers = {};\n    function _respondable(win, topic, message, keepalive, replyHandler) {\n      var data = {\n        topic: topic,\n        message: message,\n        channelId: ''.concat(v4(), ':').concat(v4()),\n        keepalive: keepalive\n      };\n      return postMessage2(win, data, replyHandler);\n    }\n    function messageListener(data, responder) {\n      var topic = data.topic, message = data.message, keepalive = data.keepalive;\n      var topicHandler = topicHandlers[topic];\n      if (!topicHandler) {\n        return;\n      }\n      try {\n        topicHandler(message, keepalive, responder);\n      } catch (error) {\n        axe.log(error);\n        responder(error, keepalive);\n      }\n    }\n    _respondable.updateMessenger = function updateMessenger(_ref58) {\n      var open = _ref58.open, post = _ref58.post;\n      assert_default(typeof open === 'function', 'open callback must be a function');\n      assert_default(typeof post === 'function', 'post callback must be a function');\n      if (closeHandler) {\n        closeHandler();\n      }\n      var close = open(messageListener);\n      if (close) {\n        assert_default(typeof close === 'function', 'open callback must return a cleanup function');\n        closeHandler = close;\n      } else {\n        closeHandler = null;\n      }\n      postMessage2 = post;\n    };\n    _respondable.subscribe = function subscribe(topic, topicHandler) {\n      assert_default(typeof topicHandler === 'function', 'Subscriber callback must be a function');\n      assert_default(!topicHandlers[topic], 'Topic '.concat(topic, ' is already registered to.'));\n      topicHandlers[topic] = topicHandler;\n    };\n    _respondable.isInFrame = function isInFrame() {\n      var win = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;\n      return !!win.frameElement;\n    };\n    setDefaultFrameMessenger(_respondable);\n    function _sendCommandToFrame(node, parameters, resolve, reject) {\n      var _parameters$options$p, _parameters$options;\n      var win = node.contentWindow;\n      var pingWaitTime = (_parameters$options$p = (_parameters$options = parameters.options) === null || _parameters$options === void 0 ? void 0 : _parameters$options.pingWaitTime) !== null && _parameters$options$p !== void 0 ? _parameters$options$p : 500;\n      if (!win) {\n        log_default('Frame does not have a content window', node);\n        resolve(null);\n        return;\n      }\n      if (pingWaitTime === 0) {\n        callAxeStart(node, parameters, resolve, reject);\n        return;\n      }\n      var timeout = setTimeout(function() {\n        timeout = setTimeout(function() {\n          if (!parameters.debug) {\n            resolve(null);\n          } else {\n            reject(err('No response from frame', node));\n          }\n        }, 0);\n      }, pingWaitTime);\n      _respondable(win, 'axe.ping', null, void 0, function() {\n        clearTimeout(timeout);\n        callAxeStart(node, parameters, resolve, reject);\n      });\n    }\n    function callAxeStart(node, parameters, resolve, reject) {\n      var _parameters$options$f, _parameters$options2;\n      var frameWaitTime = (_parameters$options$f = (_parameters$options2 = parameters.options) === null || _parameters$options2 === void 0 ? void 0 : _parameters$options2.frameWaitTime) !== null && _parameters$options$f !== void 0 ? _parameters$options$f : 6e4;\n      var win = node.contentWindow;\n      var timeout = setTimeout(function collectResultFramesTimeout() {\n        reject(err('Axe in frame timed out', node));\n      }, frameWaitTime);\n      _respondable(win, 'axe.start', parameters, void 0, function(data) {\n        clearTimeout(timeout);\n        if (data instanceof Error === false) {\n          resolve(data);\n        } else {\n          reject(data);\n        }\n      });\n    }\n    function err(message, node) {\n      var selector;\n      if (axe._tree) {\n        selector = get_selector_default(node);\n      }\n      return new Error(message + ': ' + (selector || node));\n    }\n    var customSerializer = null;\n    var nodeSerializer = {\n      update: function update(serializer) {\n        assert_default(_typeof(serializer) === 'object', 'serializer must be an object');\n        customSerializer = serializer;\n      },\n      toSpec: function toSpec(node) {\n        return nodeSerializer.dqElmToSpec(new dq_element_default(node));\n      },\n      dqElmToSpec: function dqElmToSpec(dqElm, runOptions) {\n        var _customSerializer;\n        if (dqElm instanceof dq_element_default === false) {\n          return dqElm;\n        }\n        if (runOptions) {\n          dqElm = cloneLimitedDqElement(dqElm, runOptions);\n        }\n        if (typeof ((_customSerializer = customSerializer) === null || _customSerializer === void 0 ? void 0 : _customSerializer.toSpec) === 'function') {\n          return customSerializer.toSpec(dqElm);\n        }\n        return dqElm.toJSON();\n      },\n      mergeSpecs: function mergeSpecs(nodeSpec, parentFrameSpec) {\n        var _customSerializer2;\n        if (typeof ((_customSerializer2 = customSerializer) === null || _customSerializer2 === void 0 ? void 0 : _customSerializer2.mergeSpecs) === 'function') {\n          return customSerializer.mergeSpecs(nodeSpec, parentFrameSpec);\n        }\n        return dq_element_default.mergeSpecs(nodeSpec, parentFrameSpec);\n      },\n      mapRawResults: function mapRawResults(rawResults) {\n        return rawResults.map(function(rawResult) {\n          return _extends({}, rawResult, {\n            nodes: nodeSerializer.mapRawNodeResults(rawResult.nodes)\n          });\n        });\n      },\n      mapRawNodeResults: function mapRawNodeResults(nodeResults) {\n        return nodeResults === null || nodeResults === void 0 ? void 0 : nodeResults.map(function(_ref59) {\n          var node = _ref59.node, nodeResult = _objectWithoutProperties(_ref59, _excluded1);\n          nodeResult.node = nodeSerializer.dqElmToSpec(node);\n          for (var _i6 = 0, _arr2 = [ 'any', 'all', 'none' ]; _i6 < _arr2.length; _i6++) {\n            var type2 = _arr2[_i6];\n            nodeResult[type2] = nodeResult[type2].map(function(_ref60) {\n              var relatedNodes = _ref60.relatedNodes, checkResult = _objectWithoutProperties(_ref60, _excluded10);\n              checkResult.relatedNodes = relatedNodes.map(nodeSerializer.dqElmToSpec);\n              return checkResult;\n            });\n          }\n          return nodeResult;\n        });\n      }\n    };\n    var node_serializer_default = nodeSerializer;\n    function cloneLimitedDqElement(dqElm, runOptions) {\n      var fromFrame2 = dqElm.fromFrame;\n      var hasAncestry = runOptions.ancestry, hasXpath = runOptions.xpath;\n      var hasSelectors = runOptions.selectors !== false || fromFrame2;\n      dqElm = new dq_element_default(dqElm.element, runOptions, {\n        source: dqElm.source,\n        nodeIndexes: dqElm.nodeIndexes,\n        selector: hasSelectors ? dqElm.selector : [ ':root' ],\n        ancestry: hasAncestry ? dqElm.ancestry : [ ':root' ],\n        xpath: hasXpath ? dqElm.xpath : '/'\n      });\n      dqElm.fromFrame = fromFrame2;\n      return dqElm;\n    }\n    function getAllChecks(object) {\n      var result = [];\n      return result.concat(object.any || []).concat(object.all || []).concat(object.none || []);\n    }\n    var get_all_checks_default = getAllChecks;\n    function findBy(array, key, value) {\n      if (Array.isArray(array)) {\n        return array.find(function(obj) {\n          return obj !== null && _typeof(obj) === 'object' && Object.hasOwn(obj, key) && obj[key] === value;\n        });\n      }\n    }\n    var find_by_default = findBy;\n    function pushFrame(resultSet, options, frameSpec) {\n      resultSet.forEach(function(res) {\n        res.node = node_serializer_default.mergeSpecs(res.node, frameSpec);\n        var checks = get_all_checks_default(res);\n        checks.forEach(function(check) {\n          check.relatedNodes = check.relatedNodes.map(function(node) {\n            return node_serializer_default.mergeSpecs(node, frameSpec);\n          });\n        });\n      });\n    }\n    function spliceNodes(target, to2) {\n      var firstFromFrame = to2[0].node;\n      var node;\n      for (var _i7 = 0; _i7 < target.length; _i7++) {\n        node = target[_i7].node;\n        var resultSort = nodeIndexSort(node.nodeIndexes, firstFromFrame.nodeIndexes);\n        if (resultSort > 0 || resultSort === 0 && firstFromFrame.selector.length < node.selector.length) {\n          target.splice.apply(target, [ _i7, 0 ].concat(_toConsumableArray(to2)));\n          return;\n        }\n      }\n      target.push.apply(target, _toConsumableArray(to2));\n    }\n    function normalizeResult(result) {\n      if (!result || !result.results) {\n        return null;\n      }\n      if (!Array.isArray(result.results)) {\n        return [ result.results ];\n      }\n      if (!result.results.length) {\n        return null;\n      }\n      return result.results;\n    }\n    function mergeResults(frameResults, options) {\n      var mergedResult = [];\n      frameResults.forEach(function(frameResult) {\n        var results = normalizeResult(frameResult);\n        if (!results || !results.length) {\n          return;\n        }\n        var frameSpec = getFrameSpec(frameResult);\n        results.forEach(function(ruleResult) {\n          if (ruleResult.nodes && frameSpec) {\n            pushFrame(ruleResult.nodes, options, frameSpec);\n          }\n          var res = find_by_default(mergedResult, 'id', ruleResult.id);\n          if (!res) {\n            mergedResult.push(ruleResult);\n          } else {\n            if (ruleResult.nodes.length) {\n              spliceNodes(res.nodes, ruleResult.nodes);\n            }\n            if (ruleResult.error) {\n              var _res$error;\n              (_res$error = res.error) !== null && _res$error !== void 0 ? _res$error : res.error = ruleResult.error;\n            }\n          }\n        });\n      });\n      mergedResult.forEach(function(result) {\n        if (result.nodes) {\n          result.nodes.sort(function(nodeA, nodeB) {\n            return nodeIndexSort(nodeA.node.nodeIndexes, nodeB.node.nodeIndexes);\n          });\n        }\n      });\n      return mergedResult;\n    }\n    function nodeIndexSort() {\n      var nodeIndexesA = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n      var nodeIndexesB = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n      var length = Math.max(nodeIndexesA === null || nodeIndexesA === void 0 ? void 0 : nodeIndexesA.length, nodeIndexesB === null || nodeIndexesB === void 0 ? void 0 : nodeIndexesB.length);\n      for (var _i8 = 0; _i8 < length; _i8++) {\n        var indexA = nodeIndexesA === null || nodeIndexesA === void 0 ? void 0 : nodeIndexesA[_i8];\n        var indexB = nodeIndexesB === null || nodeIndexesB === void 0 ? void 0 : nodeIndexesB[_i8];\n        if (typeof indexA !== 'number' || isNaN(indexA)) {\n          return _i8 === 0 ? 1 : -1;\n        }\n        if (typeof indexB !== 'number' || isNaN(indexB)) {\n          return _i8 === 0 ? -1 : 1;\n        }\n        if (indexA !== indexB) {\n          return indexA - indexB;\n        }\n      }\n      return 0;\n    }\n    var merge_results_default = mergeResults;\n    function getFrameSpec(frameResult) {\n      if (frameResult.frameElement) {\n        return node_serializer_default.toSpec(frameResult.frameElement);\n      } else if (frameResult.frameSpec) {\n        return frameResult.frameSpec;\n      }\n      return null;\n    }\n    function _collectResultsFromFrames(parentContent, options, command, parameter, resolve, reject) {\n      options = _extends({}, options, {\n        elementRef: false\n      });\n      var q = queue_default();\n      var frames = parentContent.frames;\n      frames.forEach(function(_ref61) {\n        var frameElement = _ref61.node, context = _objectWithoutProperties(_ref61, _excluded11);\n        q.defer(function(res, rej) {\n          var params = {\n            options: options,\n            command: command,\n            parameter: parameter,\n            context: context\n          };\n          function callback(results) {\n            if (!results) {\n              return res(null);\n            }\n            return res({\n              results: results,\n              frameElement: frameElement\n            });\n          }\n          _sendCommandToFrame(frameElement, params, callback, rej);\n        });\n      });\n      q.then(function(data) {\n        resolve(merge_results_default(data, options));\n      })['catch'](reject);\n    }\n    function _contains(vNode, otherVNode) {\n      if (!vNode.shadowId && !otherVNode.shadowId && vNode.actualNode && typeof vNode.actualNode.contains === 'function') {\n        return vNode.actualNode.contains(otherVNode.actualNode);\n      }\n      do {\n        if (vNode === otherVNode) {\n          return true;\n        } else if (otherVNode.nodeIndex < vNode.nodeIndex) {\n          return false;\n        }\n        otherVNode = otherVNode.parent;\n      } while (otherVNode);\n      return false;\n    }\n    function deepMerge() {\n      var target = {};\n      for (var _len6 = arguments.length, sources = new Array(_len6), _key8 = 0; _key8 < _len6; _key8++) {\n        sources[_key8] = arguments[_key8];\n      }\n      sources.forEach(function(source) {\n        if (!source || _typeof(source) !== 'object' || Array.isArray(source)) {\n          return;\n        }\n        for (var _i9 = 0, _Object$keys2 = Object.keys(source); _i9 < _Object$keys2.length; _i9++) {\n          var _key9 = _Object$keys2[_i9];\n          if (!target.hasOwnProperty(_key9) || _typeof(source[_key9]) !== 'object' || Array.isArray(target[_key9])) {\n            target[_key9] = source[_key9];\n          } else {\n            target[_key9] = deepMerge(target[_key9], source[_key9]);\n          }\n        }\n      });\n      return target;\n    }\n    var deep_merge_default = deepMerge;\n    function extendMetaData(to2, from) {\n      Object.assign(to2, from);\n      Object.keys(from).filter(function(prop) {\n        return typeof from[prop] === 'function';\n      }).forEach(function(prop) {\n        to2[prop] = null;\n        try {\n          to2[prop] = from[prop](to2);\n        } catch (_unused4) {}\n      });\n    }\n    var extend_meta_data_default = extendMetaData;\n    var possibleShadowRoots = [ 'article', 'aside', 'blockquote', 'body', 'div', 'footer', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'main', 'nav', 'p', 'section', 'span' ];\n    function isShadowRoot(node) {\n      if (node.shadowRoot) {\n        var nodeName2 = node.nodeName.toLowerCase();\n        if (possibleShadowRoots.includes(nodeName2) || /^[a-z][a-z0-9_.-]*-[a-z0-9_.-]*$/.test(nodeName2)) {\n          return true;\n        }\n      }\n      return false;\n    }\n    var is_shadow_root_default = isShadowRoot;\n    function tokenList(str) {\n      return (str || '').trim().replace(/\\s{2,}/g, ' ').split(' ');\n    }\n    var token_list_default = tokenList;\n    var idsKey = ' [idsMap]';\n    function getNodesMatchingExpression(domTree, expressions, filter) {\n      var selectorMap = domTree[0]._selectorMap;\n      if (!selectorMap) {\n        return;\n      }\n      var shadowId = domTree[0].shadowId;\n      for (var _i0 = 0; _i0 < expressions.length; _i0++) {\n        if (expressions[_i0].length > 1 && expressions[_i0].some(function(expression) {\n          return isGlobalSelector(expression);\n        })) {\n          return;\n        }\n      }\n      var nodeSet = new Set();\n      expressions.forEach(function(expression) {\n        var _matchingNodes$nodes;\n        var matchingNodes = findMatchingNodes(expression, selectorMap, shadowId);\n        matchingNodes === null || matchingNodes === void 0 || (_matchingNodes$nodes = matchingNodes.nodes) === null || _matchingNodes$nodes === void 0 || _matchingNodes$nodes.forEach(function(node) {\n          if (matchingNodes.isComplexSelector && !_matchesExpression(node, expression)) {\n            return;\n          }\n          nodeSet.add(node);\n        });\n      });\n      var matchedNodes = [];\n      nodeSet.forEach(function(node) {\n        return matchedNodes.push(node);\n      });\n      if (filter) {\n        matchedNodes = matchedNodes.filter(filter);\n      }\n      return matchedNodes.sort(function(a2, b2) {\n        return a2.nodeIndex - b2.nodeIndex;\n      });\n    }\n    function findMatchingNodes(expression, selectorMap, shadowId) {\n      var exp = expression[expression.length - 1];\n      var nodes = null;\n      var isComplexSelector = expression.length > 1 || !!exp.pseudos || !!exp.classes;\n      if (isGlobalSelector(exp)) {\n        nodes = selectorMap['*'];\n      } else {\n        if (exp.id) {\n          var _selectorMap$idsKey$e;\n          if (!selectorMap[idsKey] || !Object.hasOwn(selectorMap[idsKey], exp.id) || !((_selectorMap$idsKey$e = selectorMap[idsKey][exp.id]) !== null && _selectorMap$idsKey$e !== void 0 && _selectorMap$idsKey$e.length)) {\n            return;\n          }\n          nodes = selectorMap[idsKey][exp.id].filter(function(node) {\n            return node.shadowId === shadowId;\n          });\n        }\n        if (exp.tag && exp.tag !== '*') {\n          var _selectorMap$exp$tag;\n          if (!((_selectorMap$exp$tag = selectorMap[exp.tag]) !== null && _selectorMap$exp$tag !== void 0 && _selectorMap$exp$tag.length)) {\n            return;\n          }\n          var cachedNodes = selectorMap[exp.tag];\n          nodes = nodes ? getSharedValues(cachedNodes, nodes) : cachedNodes;\n        }\n        if (exp.classes) {\n          var _selectorMap$Class;\n          if (!((_selectorMap$Class = selectorMap['[class]']) !== null && _selectorMap$Class !== void 0 && _selectorMap$Class.length)) {\n            return;\n          }\n          var _cachedNodes = selectorMap['[class]'];\n          nodes = nodes ? getSharedValues(_cachedNodes, nodes) : _cachedNodes;\n        }\n        if (exp.attributes) {\n          for (var _i1 = 0; _i1 < exp.attributes.length; _i1++) {\n            var _selectorMap;\n            var attr = exp.attributes[_i1];\n            if (attr.type === 'attrValue') {\n              isComplexSelector = true;\n            }\n            if (!((_selectorMap = selectorMap['['.concat(attr.key, ']')]) !== null && _selectorMap !== void 0 && _selectorMap.length)) {\n              return;\n            }\n            var _cachedNodes2 = selectorMap['['.concat(attr.key, ']')];\n            nodes = nodes ? getSharedValues(_cachedNodes2, nodes) : _cachedNodes2;\n          }\n        }\n      }\n      return {\n        nodes: nodes,\n        isComplexSelector: isComplexSelector\n      };\n    }\n    function isGlobalSelector(expression) {\n      return expression.tag === '*' && !expression.attributes && !expression.id && !expression.classes;\n    }\n    function getSharedValues(a2, b2) {\n      return a2.filter(function(node) {\n        return b2.includes(node);\n      });\n    }\n    function cacheSelector(key, vNode, map) {\n      if (!Object.hasOwn(map, key)) {\n        map[key] = [];\n      }\n      map[key].push(vNode);\n    }\n    function cacheNodeSelectors(vNode, selectorMap) {\n      if (vNode.props.nodeType !== 1) {\n        return;\n      }\n      cacheSelector(vNode.props.nodeName, vNode, selectorMap);\n      cacheSelector('*', vNode, selectorMap);\n      vNode.attrNames.forEach(function(attrName) {\n        if (attrName === 'id') {\n          selectorMap[idsKey] = selectorMap[idsKey] || {};\n          token_list_default(vNode.attr(attrName)).forEach(function(value) {\n            cacheSelector(value, vNode, selectorMap[idsKey]);\n          });\n        }\n        cacheSelector('['.concat(attrName, ']'), vNode, selectorMap);\n      });\n    }\n    var hasShadowRoot;\n    function _getFlattenedTree() {\n      var node = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document.documentElement;\n      var shadowId = arguments.length > 1 ? arguments[1] : undefined;\n      hasShadowRoot = false;\n      var selectorMap = {};\n      cache_default.set('nodeMap', new WeakMap());\n      cache_default.set('selectorMap', selectorMap);\n      var tree = flattenTree(node, shadowId, null);\n      tree[0]._selectorMap = selectorMap;\n      tree[0]._hasShadowRoot = hasShadowRoot;\n      return tree;\n    }\n    function getSlotChildren(node) {\n      var childNodes = [];\n      node = node.firstChild;\n      while (node) {\n        childNodes.push(node);\n        node = node.nextSibling;\n      }\n      return childNodes;\n    }\n    function createNode(node, parent, shadowId) {\n      var vNode = new virtual_node_default(node, parent, shadowId);\n      cacheNodeSelectors(vNode, cache_default.get('selectorMap'));\n      return vNode;\n    }\n    function createChildren(childNodes, parent, shadowId) {\n      var children = [];\n      childNodes.forEach(function(childNode) {\n        var child = flattenTree(childNode, shadowId, parent);\n        if (child) {\n          children.push.apply(children, _toConsumableArray(child));\n        }\n      });\n      return children;\n    }\n    function flattenTree(node, shadowId, parent) {\n      var vNode, childNodes;\n      if (node.documentElement) {\n        node = node.documentElement;\n      }\n      var nodeName2 = node.nodeName.toLowerCase();\n      if (is_shadow_root_default(node)) {\n        hasShadowRoot = true;\n        vNode = createNode(node, parent, shadowId);\n        shadowId = 'a' + Math.random().toString().substring(2);\n        childNodes = Array.from(node.shadowRoot.childNodes);\n        vNode.children = createChildren(childNodes, vNode, shadowId);\n        return [ vNode ];\n      }\n      if (nodeName2 === 'content' && typeof node.getDistributedNodes === 'function') {\n        childNodes = Array.from(node.getDistributedNodes());\n        return createChildren(childNodes, parent, shadowId);\n      }\n      if (nodeName2 === 'slot' && typeof node.assignedNodes === 'function') {\n        childNodes = Array.from(node.assignedNodes());\n        if (!childNodes.length) {\n          childNodes = getSlotChildren(node);\n        }\n        var styl = window.getComputedStyle(node);\n        if (false) {\n          vNode = createNode(node, parent, shadowId);\n          vNode.children = createChildren(childNodes, vNode, shadowId);\n          return [ vNode ];\n        }\n        return createChildren(childNodes, parent, shadowId);\n      }\n      if (node.nodeType === document.ELEMENT_NODE) {\n        vNode = createNode(node, parent, shadowId);\n        childNodes = Array.from(node.childNodes);\n        vNode.children = createChildren(childNodes, vNode, shadowId);\n        return [ vNode ];\n      }\n      if (node.nodeType === document.TEXT_NODE) {\n        return [ createNode(node, parent) ];\n      }\n      return void 0;\n    }\n    function getBaseLang(lang) {\n      if (!lang) {\n        return '';\n      }\n      return lang.trim().split('-')[0].toLowerCase();\n    }\n    var get_base_lang_default = getBaseLang;\n    function failureSummary(nodeData) {\n      var failingChecks = {};\n      failingChecks.none = nodeData.none.concat(nodeData.all);\n      failingChecks.any = nodeData.any;\n      return Object.keys(failingChecks).map(function(key) {\n        if (!failingChecks[key].length) {\n          return;\n        }\n        var sum = axe._audit.data.failureSummaries[key];\n        if (sum && typeof sum.failureMessage === 'function') {\n          return sum.failureMessage(failingChecks[key].map(function(check) {\n            return check.message || '';\n          }));\n        }\n      }).filter(function(i) {\n        return i !== void 0;\n      }).join('\\n\\n');\n    }\n    var failure_summary_default = failureSummary;\n    function incompleteFallbackMessage() {\n      var message = axe._audit.data.incompleteFallbackMessage;\n      if (typeof message === 'function') {\n        message = message();\n      }\n      if (typeof message !== 'string') {\n        return '';\n      }\n      return message;\n    }\n    var resultKeys = constants_default.resultGroups;\n    function processAggregate(results, options) {\n      var resultObject = axe.utils.aggregateResult(results);\n      resultKeys.forEach(function(key) {\n        if (options.resultTypes && !options.resultTypes.includes(key)) {\n          (resultObject[key] || []).forEach(function(ruleResult) {\n            if (Array.isArray(ruleResult.nodes) && ruleResult.nodes.length > 0) {\n              ruleResult.nodes = [ ruleResult.nodes[0] ];\n            }\n          });\n        }\n        resultObject[key] = (resultObject[key] || []).map(function(ruleResult) {\n          ruleResult = Object.assign({}, ruleResult);\n          if (Array.isArray(ruleResult.nodes) && ruleResult.nodes.length > 0) {\n            ruleResult.nodes = ruleResult.nodes.map(function(subResult) {\n              if (_typeof(subResult.node) === 'object') {\n                var serialElm = trimElementSpec(subResult.node, options);\n                Object.assign(subResult, serialElm);\n              }\n              delete subResult.result;\n              delete subResult.node;\n              normalizeRelatedNodes(subResult, options);\n              return subResult;\n            });\n          }\n          resultKeys.forEach(function(resultKey) {\n            return delete ruleResult[resultKey];\n          });\n          delete ruleResult.pageLevel;\n          delete ruleResult.result;\n          return ruleResult;\n        });\n      });\n      return resultObject;\n    }\n    function normalizeRelatedNodes(node, options) {\n      [ 'any', 'all', 'none' ].forEach(function(type2) {\n        if (!Array.isArray(node[type2])) {\n          return;\n        }\n        node[type2].filter(function(checkRes) {\n          return Array.isArray(checkRes.relatedNodes);\n        }).forEach(function(checkRes) {\n          checkRes.relatedNodes = checkRes.relatedNodes.map(function(relatedNode) {\n            return trimElementSpec(relatedNode, options);\n          });\n        });\n      });\n    }\n    function trimElementSpec() {\n      var elmSpec = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n      var runOptions = arguments.length > 1 ? arguments[1] : undefined;\n      elmSpec = node_serializer_default.dqElmToSpec(elmSpec, runOptions);\n      var serialElm = {};\n      if (axe._audit.noHtml) {\n        serialElm.html = null;\n      } else {\n        var _elmSpec$source;\n        serialElm.html = (_elmSpec$source = elmSpec.source) !== null && _elmSpec$source !== void 0 ? _elmSpec$source : 'Undefined';\n      }\n      if (runOptions.elementRef && !elmSpec.fromFrame) {\n        var _elmSpec$element;\n        serialElm.element = (_elmSpec$element = elmSpec.element) !== null && _elmSpec$element !== void 0 ? _elmSpec$element : null;\n      }\n      if (runOptions.selectors !== false || elmSpec.fromFrame) {\n        var _elmSpec$selector;\n        serialElm.target = (_elmSpec$selector = elmSpec.selector) !== null && _elmSpec$selector !== void 0 ? _elmSpec$selector : [ ':root' ];\n      }\n      if (runOptions.ancestry) {\n        var _elmSpec$ancestry;\n        serialElm.ancestry = (_elmSpec$ancestry = elmSpec.ancestry) !== null && _elmSpec$ancestry !== void 0 ? _elmSpec$ancestry : [ ':root' ];\n      }\n      if (runOptions.xpath) {\n        var _elmSpec$xpath;\n        serialElm.xpath = (_elmSpec$xpath = elmSpec.xpath) !== null && _elmSpec$xpath !== void 0 ? _elmSpec$xpath : [ '/' ];\n      }\n      return serialElm;\n    }\n    var dataRegex = /\\$\\{\\s?data\\s?\\}/g;\n    function substitute(str, data) {\n      if (typeof data === 'string') {\n        return str.replace(dataRegex, data);\n      }\n      for (var prop in data) {\n        if (data.hasOwnProperty(prop)) {\n          var regex = new RegExp('\\\\${\\\\s?data\\\\.' + prop + '\\\\s?}', 'g');\n          var replace = typeof data[prop] === 'undefined' ? '' : String(data[prop]);\n          str = str.replace(regex, replace);\n        }\n      }\n      return str;\n    }\n    function processMessage(message, data) {\n      if (!message) {\n        return;\n      }\n      if (Array.isArray(data)) {\n        data.values = data.join(', ');\n        if (typeof message.singular === 'string' && typeof message.plural === 'string') {\n          var str2 = data.length === 1 ? message.singular : message.plural;\n          return substitute(str2, data);\n        }\n        return substitute(message, data);\n      }\n      if (typeof message === 'string') {\n        return substitute(message, data);\n      }\n      if (typeof data === 'string') {\n        var _str = message[data];\n        return substitute(_str, data);\n      }\n      var str = message['default'] || incompleteFallbackMessage();\n      if (data && data.messageKey && message[data.messageKey]) {\n        str = message[data.messageKey];\n      }\n      return processMessage(str, data);\n    }\n    var process_message_default = processMessage;\n    function getCheckMessage(checkId, type2, data) {\n      var check = axe._audit.data.checks[checkId];\n      if (!check) {\n        throw new Error('Cannot get message for unknown check: '.concat(checkId, '.'));\n      }\n      if (!check.messages[type2]) {\n        throw new Error('Check \"'.concat(checkId, '\"\" does not have a \"').concat(type2, '\" message.'));\n      }\n      return process_message_default(check.messages[type2], data);\n    }\n    var get_check_message_default = getCheckMessage;\n    function getCheckOption(check, ruleID, options) {\n      var ruleCheckOption = ((options.rules && options.rules[ruleID] || {}).checks || {})[check.id];\n      var checkOption = (options.checks || {})[check.id];\n      var enabled = check.enabled;\n      var opts = check.options;\n      if (checkOption) {\n        if (checkOption.hasOwnProperty('enabled')) {\n          enabled = checkOption.enabled;\n        }\n        if (checkOption.hasOwnProperty('options')) {\n          opts = checkOption.options;\n        }\n      }\n      if (ruleCheckOption) {\n        if (ruleCheckOption.hasOwnProperty('enabled')) {\n          enabled = ruleCheckOption.enabled;\n        }\n        if (ruleCheckOption.hasOwnProperty('options')) {\n          opts = ruleCheckOption.options;\n        }\n      }\n      return {\n        enabled: enabled,\n        options: opts,\n        absolutePaths: options.absolutePaths\n      };\n    }\n    var get_check_option_default = getCheckOption;\n    function _getEnvironmentData() {\n      var _win$location;\n      var metadata = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n      var win = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window;\n      if (metadata && _typeof(metadata) === 'object') {\n        return metadata;\n      } else if (_typeof(win) !== 'object') {\n        return {};\n      }\n      return {\n        testEngine: {\n          name: 'axe-core',\n          version: axe.version\n        },\n        testRunner: {\n          name: axe._audit.brand\n        },\n        testEnvironment: getTestEnvironment(win),\n        timestamp: new Date().toISOString(),\n        url: (_win$location = win.location) === null || _win$location === void 0 ? void 0 : _win$location.href\n      };\n    }\n    function getTestEnvironment(win) {\n      if (!win.navigator || _typeof(win.navigator) !== 'object') {\n        return {};\n      }\n      var navigator = win.navigator, innerHeight = win.innerHeight, innerWidth = win.innerWidth;\n      var _ref62 = getOrientation(win) || {}, angle = _ref62.angle, type2 = _ref62.type;\n      return {\n        userAgent: navigator.userAgent,\n        windowWidth: innerWidth,\n        windowHeight: innerHeight,\n        orientationAngle: angle,\n        orientationType: type2\n      };\n    }\n    function getOrientation(_ref63) {\n      var screen = _ref63.screen;\n      return screen.orientation || screen.msOrientation || screen.mozOrientation;\n    }\n    function createFrameContext(frame, _ref64) {\n      var focusable = _ref64.focusable, page = _ref64.page;\n      return {\n        node: frame,\n        include: [],\n        exclude: [],\n        initiator: false,\n        focusable: focusable && frameFocusable(frame),\n        size: getBoundingSize(frame),\n        page: page\n      };\n    }\n    function frameFocusable(frame) {\n      var tabIndex = parse_tabindex_default(frame.getAttribute('tabindex'));\n      return tabIndex === null || tabIndex >= 0;\n    }\n    function getBoundingSize(domNode) {\n      var width = parseInt(domNode.getAttribute('width'), 10);\n      var height = parseInt(domNode.getAttribute('height'), 10);\n      if (isNaN(width) || isNaN(height)) {\n        var rect = domNode.getBoundingClientRect();\n        width = isNaN(width) ? rect.width : width;\n        height = isNaN(height) ? rect.height : height;\n      }\n      return {\n        width: width,\n        height: height\n      };\n    }\n    function normalizeContext(contextSpec) {\n      if (_isContextObject(contextSpec)) {\n        var msg = ' must be used inside include or exclude. It should not be on the same object.';\n        assert2(!_objectHasOwn(contextSpec, 'fromFrames'), 'fromFrames' + msg);\n        assert2(!_objectHasOwn(contextSpec, 'fromShadowDom'), 'fromShadowDom' + msg);\n      } else if (_isContextProp(contextSpec)) {\n        contextSpec = {\n          include: contextSpec,\n          exclude: []\n        };\n      } else {\n        return {\n          include: [ document ],\n          exclude: []\n        };\n      }\n      var include = normalizeContextList(contextSpec.include);\n      if (include.length === 0) {\n        include.push(document);\n      }\n      var exclude = normalizeContextList(contextSpec.exclude);\n      return {\n        include: include,\n        exclude: exclude\n      };\n    }\n    function normalizeContextList() {\n      var selectorList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n      var normalizedList = [];\n      if (!_isArrayLike(selectorList)) {\n        selectorList = [ selectorList ];\n      }\n      for (var _i10 = 0; _i10 < selectorList.length; _i10++) {\n        var normalizedSelector = normalizeContextSelector(selectorList[_i10]);\n        if (normalizedSelector) {\n          normalizedList.push(normalizedSelector);\n        }\n      }\n      return normalizedList;\n    }\n    function normalizeContextSelector(selector) {\n      if (selector instanceof window.Node) {\n        return selector;\n      }\n      if (typeof selector === 'string') {\n        return [ selector ];\n      }\n      if (_isLabelledFramesSelector(selector)) {\n        assertLabelledFrameSelector(selector);\n        selector = selector.fromFrames;\n      } else if (_isLabelledShadowDomSelector(selector)) {\n        selector = [ selector ];\n      }\n      return normalizeFrameSelectors(selector);\n    }\n    function normalizeFrameSelectors(frameSelectors) {\n      if (!Array.isArray(frameSelectors)) {\n        return;\n      }\n      var normalizedSelectors = [];\n      var _iterator11 = _createForOfIteratorHelper(frameSelectors), _step11;\n      try {\n        for (_iterator11.s(); !(_step11 = _iterator11.n()).done; ) {\n          var selector = _step11.value;\n          if (_isLabelledShadowDomSelector(selector)) {\n            assertLabelledShadowDomSelector(selector);\n            selector = selector.fromShadowDom;\n          }\n          if (typeof selector !== 'string' && !isShadowSelector(selector)) {\n            return;\n          }\n          normalizedSelectors.push(selector);\n        }\n      } catch (err) {\n        _iterator11.e(err);\n      } finally {\n        _iterator11.f();\n      }\n      return normalizedSelectors;\n    }\n    function assertLabelledFrameSelector(selector) {\n      assert2(Array.isArray(selector.fromFrames), 'fromFrames property must be an array');\n      assert2(selector.fromFrames.every(function(fromFrameSelector) {\n        return !_objectHasOwn(fromFrameSelector, 'fromFrames');\n      }), 'Invalid context; fromFrames selector must be appended, rather than nested');\n      assert2(!_objectHasOwn(selector, 'fromShadowDom'), 'fromFrames and fromShadowDom cannot be used on the same object');\n    }\n    function assertLabelledShadowDomSelector(selector) {\n      assert2(Array.isArray(selector.fromShadowDom), 'fromShadowDom property must be an array');\n      assert2(selector.fromShadowDom.every(function(fromShadowDomSelector) {\n        return !_objectHasOwn(fromShadowDomSelector, 'fromFrames');\n      }), 'shadow selector must be inside fromFrame instead');\n      assert2(selector.fromShadowDom.every(function(fromShadowDomSelector) {\n        return !_objectHasOwn(fromShadowDomSelector, 'fromShadowDom');\n      }), 'fromShadowDom selector must be appended, rather than nested');\n    }\n    function isShadowSelector(selector) {\n      return Array.isArray(selector) && selector.every(function(str) {\n        return typeof str === 'string';\n      });\n    }\n    function assert2(bool, str) {\n      assert_default(bool, 'Invalid context; '.concat(str, '\\nSee: https://github.com/dequelabs/axe-core/blob/master/doc/context.md'));\n    }\n    function parseSelectorArray(context, type2) {\n      var result = [];\n      for (var _i11 = 0, l = context[type2].length; _i11 < l; _i11++) {\n        var item = context[type2][_i11];\n        if (item instanceof window.Node) {\n          if (item.documentElement instanceof window.Node) {\n            result.push(context.flatTree[0]);\n          } else {\n            result.push(get_node_from_tree_default(item));\n          }\n        } else if (item && item.length) {\n          if (item.length > 1) {\n            pushUniqueFrameSelector(context, type2, item);\n          } else {\n            var nodeList = _shadowSelectAll(item[0]);\n            result.push.apply(result, _toConsumableArray(nodeList.map(function(node) {\n              return get_node_from_tree_default(node);\n            })));\n          }\n        }\n      }\n      return result.filter(function(r) {\n        return r;\n      });\n    }\n    function pushUniqueFrameSelector(context, type2, selectorArray) {\n      context.frames = context.frames || [];\n      var frameSelector = selectorArray.shift();\n      var frames = _shadowSelectAll(frameSelector);\n      frames.forEach(function(frame) {\n        var frameContext = context.frames.find(function(result) {\n          return result.node === frame;\n        });\n        if (!frameContext) {\n          frameContext = createFrameContext(frame, context);\n          context.frames.push(frameContext);\n        }\n        frameContext[type2].push(selectorArray);\n      });\n    }\n    function Context(spec, flatTree) {\n      var _spec, _spec2, _spec3, _spec4, _this5 = this;\n      spec = clone2(spec);\n      this.frames = [];\n      this.page = typeof ((_spec = spec) === null || _spec === void 0 ? void 0 : _spec.page) === 'boolean' ? spec.page : void 0;\n      this.initiator = typeof ((_spec2 = spec) === null || _spec2 === void 0 ? void 0 : _spec2.initiator) === 'boolean' ? spec.initiator : true;\n      this.focusable = typeof ((_spec3 = spec) === null || _spec3 === void 0 ? void 0 : _spec3.focusable) === 'boolean' ? spec.focusable : true;\n      this.size = _typeof((_spec4 = spec) === null || _spec4 === void 0 ? void 0 : _spec4.size) === 'object' ? spec.size : {};\n      spec = normalizeContext(spec);\n      this.flatTree = flatTree !== null && flatTree !== void 0 ? flatTree : _getFlattenedTree(getRootNode2(spec));\n      this.exclude = spec.exclude;\n      this.include = spec.include;\n      this.include = parseSelectorArray(this, 'include');\n      this.exclude = parseSelectorArray(this, 'exclude');\n      _select('frame, iframe', this).forEach(function(frame) {\n        if (_isNodeInContext(frame, _this5)) {\n          pushUniqueFrame(_this5, frame.actualNode);\n        }\n      });\n      if (typeof this.page === 'undefined') {\n        this.page = isPageContext(this);\n        this.frames.forEach(function(frame) {\n          frame.page = _this5.page;\n        });\n      }\n      validateContext(this);\n      if (!Array.isArray(this.include)) {\n        this.include = Array.from(this.include);\n      }\n      this.include.sort(node_sorter_default);\n    }\n    function pushUniqueFrame(context, frame) {\n      if (!_isVisibleToScreenReaders(frame) || find_by_default(context.frames, 'node', frame)) {\n        return;\n      }\n      context.frames.push(createFrameContext(frame, context));\n    }\n    function isPageContext(_ref65) {\n      var include = _ref65.include;\n      return include.length === 1 && include[0].actualNode === document.documentElement;\n    }\n    function validateContext(context) {\n      if (context.include.length === 0 && context.frames.length === 0) {\n        var env = _respondable.isInFrame() ? 'frame' : 'page';\n        throw new Error('No elements found for include in ' + env + ' Context');\n      }\n    }\n    function getRootNode2(_ref66) {\n      var include = _ref66.include, exclude = _ref66.exclude;\n      var selectors = Array.from(include).concat(Array.from(exclude));\n      for (var _i12 = 0; _i12 < selectors.length; _i12++) {\n        var item = selectors[_i12];\n        if (item instanceof window.Element) {\n          return item.ownerDocument.documentElement;\n        }\n        if (item instanceof window.Document) {\n          return item.documentElement;\n        }\n      }\n      return document.documentElement;\n    }\n    function _getFrameContexts(context) {\n      var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      if (options.iframes === false) {\n        return [];\n      }\n      var _Context = new Context(context), frames = _Context.frames;\n      return frames.map(function(_ref67) {\n        var node = _ref67.node, frameContext = _objectWithoutProperties(_ref67, _excluded12);\n        frameContext.initiator = false;\n        var frameSelector = _getAncestry(node);\n        return {\n          frameSelector: frameSelector,\n          frameContext: frameContext\n        };\n      });\n    }\n    function _getRule(ruleId) {\n      var rule = axe._audit.rules.find(function(_ref68) {\n        var id = _ref68.id;\n        return id === ruleId;\n      });\n      if (!rule) {\n        throw new Error('Cannot find rule by id: '.concat(ruleId));\n      }\n      return rule;\n    }\n    function getScroll(elm) {\n      var buffer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n      var overflowX = elm.scrollWidth > elm.clientWidth + buffer;\n      var overflowY = elm.scrollHeight > elm.clientHeight + buffer;\n      if (!(overflowX || overflowY)) {\n        return;\n      }\n      var style = window.getComputedStyle(elm);\n      var scrollableX = isScrollable(style, 'overflow-x');\n      var scrollableY = isScrollable(style, 'overflow-y');\n      if (overflowX && scrollableX || overflowY && scrollableY) {\n        return {\n          elm: elm,\n          top: elm.scrollTop,\n          left: elm.scrollLeft\n        };\n      }\n    }\n    function isScrollable(style, prop) {\n      var overflowProp = style.getPropertyValue(prop);\n      return [ 'scroll', 'auto' ].includes(overflowProp);\n    }\n    var get_scroll_default = memoize_default(getScroll);\n    function getElmScrollRecursive(root) {\n      return Array.from(root.children || root.childNodes || []).reduce(function(scrolls, elm) {\n        var scroll = get_scroll_default(elm);\n        if (scroll) {\n          scrolls.push(scroll);\n        }\n        return scrolls.concat(getElmScrollRecursive(elm));\n      }, []);\n    }\n    function getScrollState() {\n      var win = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;\n      var root = win.document.documentElement;\n      var windowScroll = [ win.pageXOffset !== void 0 ? {\n        elm: win,\n        top: win.pageYOffset,\n        left: win.pageXOffset\n      } : {\n        elm: root,\n        top: root.scrollTop,\n        left: root.scrollLeft\n      } ];\n      return windowScroll.concat(getElmScrollRecursive(document.body));\n    }\n    var get_scroll_state_default = getScrollState;\n    function _getStandards() {\n      return clone2(standards_default);\n    }\n    function getStyleSheetFactory(dynamicDoc) {\n      if (!dynamicDoc) {\n        throw new Error('axe.utils.getStyleSheetFactory should be invoked with an argument');\n      }\n      return function(options) {\n        var data = options.data, _options$isCrossOrigi = options.isCrossOrigin, isCrossOrigin = _options$isCrossOrigi === void 0 ? false : _options$isCrossOrigi, shadowId = options.shadowId, root = options.root, priority = options.priority, _options$isLink = options.isLink, isLink = _options$isLink === void 0 ? false : _options$isLink;\n        var style = dynamicDoc.createElement('style');\n        if (isLink) {\n          var text = dynamicDoc.createTextNode('@import \"'.concat(data.href, '\"'));\n          style.appendChild(text);\n        } else {\n          style.appendChild(dynamicDoc.createTextNode(data));\n        }\n        dynamicDoc.head.appendChild(style);\n        return {\n          sheet: style.sheet,\n          isCrossOrigin: isCrossOrigin,\n          shadowId: shadowId,\n          root: root,\n          priority: priority\n        };\n      };\n    }\n    var get_stylesheet_factory_default = getStyleSheetFactory;\n    var styleSheet;\n    function injectStyle(style) {\n      if (styleSheet && styleSheet.parentNode) {\n        if (styleSheet.styleSheet === void 0) {\n          styleSheet.appendChild(document.createTextNode(style));\n        } else {\n          styleSheet.styleSheet.cssText += style;\n        }\n        return styleSheet;\n      }\n      if (!style) {\n        return;\n      }\n      var head = document.head || document.getElementsByTagName('head')[0];\n      styleSheet = document.createElement('style');\n      styleSheet.type = 'text/css';\n      if (styleSheet.styleSheet === void 0) {\n        styleSheet.appendChild(document.createTextNode(style));\n      } else {\n        styleSheet.styleSheet.cssText = style;\n      }\n      head.appendChild(styleSheet);\n      return styleSheet;\n    }\n    var inject_style_default = injectStyle;\n    function _isArrayLike(arr) {\n      return !!arr && _typeof(arr) === 'object' && typeof arr.length === 'number' && arr instanceof window.Node === false;\n    }\n    function _objectHasOwn(obj, prop) {\n      if (!obj || _typeof(obj) !== 'object') {\n        return false;\n      }\n      return Object.prototype.hasOwnProperty.call(obj, prop);\n    }\n    function _isContextSpec(contextSpec) {\n      return _isContextObject(contextSpec) || _isContextProp(contextSpec);\n    }\n    function _isContextObject(contextSpec) {\n      return [ 'include', 'exclude' ].some(function(prop) {\n        return _objectHasOwn(contextSpec, prop) && _isContextProp(contextSpec[prop]);\n      });\n    }\n    function _isContextProp(contextList) {\n      return typeof contextList === 'string' || contextList instanceof window.Node || _isLabelledFramesSelector(contextList) || _isLabelledShadowDomSelector(contextList) || _isArrayLike(contextList);\n    }\n    function _isLabelledFramesSelector(selector) {\n      return _objectHasOwn(selector, 'fromFrames');\n    }\n    function _isLabelledShadowDomSelector(selector) {\n      return _objectHasOwn(selector, 'fromShadowDom');\n    }\n    function isHidden(el, recursed) {\n      var node = get_node_from_tree_default(el);\n      if (el.nodeType === 9) {\n        return false;\n      }\n      if (el.nodeType === 11) {\n        el = el.host;\n      }\n      if (node && node._isHidden !== null) {\n        return node._isHidden;\n      }\n      var style = window.getComputedStyle(el, null);\n      if (!style || !el.parentNode || style.getPropertyValue('display') === 'none' || !recursed && style.getPropertyValue('visibility') === 'hidden' || el.getAttribute('aria-hidden') === 'true') {\n        return true;\n      }\n      var parent = el.assignedSlot ? el.assignedSlot : el.parentNode;\n      var hidden = isHidden(parent, true);\n      if (node) {\n        node._isHidden = hidden;\n      }\n      return hidden;\n    }\n    var is_hidden_default = isHidden;\n    function isHtmlElement(node) {\n      var _node$props$nodeName, _node$props;\n      var nodeName2 = (_node$props$nodeName = (_node$props = node.props) === null || _node$props === void 0 ? void 0 : _node$props.nodeName) !== null && _node$props$nodeName !== void 0 ? _node$props$nodeName : node.nodeName.toLowerCase();\n      if (node.namespaceURI === 'http://www.w3.org/2000/svg') {\n        return false;\n      }\n      return !!standards_default.htmlElms[nodeName2];\n    }\n    var is_html_element_default = isHtmlElement;\n    function _isNodeInContext(node, _ref69) {\n      var _ref69$include = _ref69.include, include = _ref69$include === void 0 ? [] : _ref69$include, _ref69$exclude = _ref69.exclude, exclude = _ref69$exclude === void 0 ? [] : _ref69$exclude;\n      var filterInclude = include.filter(function(candidate) {\n        return _contains(candidate, node);\n      });\n      if (filterInclude.length === 0) {\n        return false;\n      }\n      var filterExcluded = exclude.filter(function(candidate) {\n        return _contains(candidate, node);\n      });\n      if (filterExcluded.length === 0) {\n        return true;\n      }\n      var deepestInclude = getDeepest(filterInclude);\n      var deepestExclude = getDeepest(filterExcluded);\n      return _contains(deepestExclude, deepestInclude);\n    }\n    function getDeepest(collection) {\n      var deepest;\n      var _iterator12 = _createForOfIteratorHelper(collection), _step12;\n      try {\n        for (_iterator12.s(); !(_step12 = _iterator12.n()).done; ) {\n          var node = _step12.value;\n          if (!deepest || !_contains(node, deepest)) {\n            deepest = node;\n          }\n        }\n      } catch (err) {\n        _iterator12.e(err);\n      } finally {\n        _iterator12.f();\n      }\n      return deepest;\n    }\n    function _matchAncestry(ancestryA, ancestryB) {\n      if (ancestryA.length !== ancestryB.length) {\n        return false;\n      }\n      return ancestryA.every(function(selectorA, ancestorIndex) {\n        var selectorB = ancestryB[ancestorIndex];\n        if (!Array.isArray(selectorA)) {\n          return selectorA === selectorB;\n        }\n        if (selectorA.length !== selectorB.length) {\n          return false;\n        }\n        return selectorA.every(function(str, selectorIndex) {\n          return selectorB[selectorIndex] === str;\n        });\n      });\n    }\n    function nodeSorter(nodeA, nodeB) {\n      nodeA = nodeA.actualNode || nodeA;\n      nodeB = nodeB.actualNode || nodeB;\n      if (nodeA === nodeB) {\n        return 0;\n      }\n      if (nodeA.compareDocumentPosition(nodeB) & 4) {\n        return -1;\n      } else {\n        return 1;\n      }\n    }\n    var node_sorter_default = nodeSorter;\n    function _nodeLookup(node) {\n      if (node instanceof abstract_virtual_node_default) {\n        return {\n          vNode: node,\n          domNode: node.actualNode\n        };\n      }\n      return {\n        vNode: get_node_from_tree_default(node),\n        domNode: node\n      };\n    }\n    function parseSameOriginStylesheet(sheet, options, priority, importedUrls) {\n      var isCrossOrigin = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n      var rules = Array.from(sheet.cssRules);\n      if (!rules) {\n        return Promise.resolve();\n      }\n      var cssImportRules = rules.filter(function(r) {\n        return r.type === 3;\n      });\n      if (!cssImportRules.length) {\n        return Promise.resolve({\n          isCrossOrigin: isCrossOrigin,\n          priority: priority,\n          root: options.rootNode,\n          shadowId: options.shadowId,\n          sheet: sheet\n        });\n      }\n      var cssImportUrlsNotAlreadyImported = cssImportRules.filter(function(rule) {\n        return rule.href;\n      }).map(function(rule) {\n        return rule.href;\n      }).filter(function(url) {\n        return !importedUrls.includes(url);\n      });\n      var promises = cssImportUrlsNotAlreadyImported.map(function(importUrl, cssRuleIndex) {\n        var newPriority = [].concat(_toConsumableArray(priority), [ cssRuleIndex ]);\n        var isCrossOriginRequest = /^https?:\\/\\/|^\\/\\//i.test(importUrl);\n        return parse_crossorigin_stylesheet_default(importUrl, options, newPriority, importedUrls, isCrossOriginRequest);\n      });\n      var nonImportCSSRules = rules.filter(function(r) {\n        return r.type !== 3;\n      });\n      if (!nonImportCSSRules.length) {\n        return Promise.all(promises);\n      }\n      promises.push(Promise.resolve(options.convertDataToStylesheet({\n        data: nonImportCSSRules.map(function(rule) {\n          return rule.cssText;\n        }).join(),\n        isCrossOrigin: isCrossOrigin,\n        priority: priority,\n        root: options.rootNode,\n        shadowId: options.shadowId\n      })));\n      return Promise.all(promises);\n    }\n    var parse_sameorigin_stylesheet_default = parseSameOriginStylesheet;\n    function parseStylesheet(sheet, options, priority, importedUrls) {\n      var isCrossOrigin = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n      var isSameOrigin = isSameOriginStylesheet(sheet);\n      if (isSameOrigin) {\n        return parse_sameorigin_stylesheet_default(sheet, options, priority, importedUrls, isCrossOrigin);\n      }\n      return parse_crossorigin_stylesheet_default(sheet.href, options, priority, importedUrls, true);\n    }\n    function isSameOriginStylesheet(sheet) {\n      try {\n        var rules = sheet.cssRules;\n        if (!rules && sheet.href) {\n          return false;\n        }\n        return true;\n      } catch (e) {\n        return false;\n      }\n    }\n    var parse_stylesheet_default = parseStylesheet;\n    function parseCrossOriginStylesheet(url, options, priority, importedUrls, isCrossOrigin) {\n      importedUrls.push(url);\n      return new Promise(function(resolve, reject) {\n        var request = new window.XMLHttpRequest();\n        request.open('GET', url);\n        request.timeout = constants_default.preload.timeout;\n        request.addEventListener('error', reject);\n        request.addEventListener('timeout', reject);\n        request.addEventListener('loadend', function(event) {\n          if (event.loaded && request.responseText) {\n            return resolve(request.responseText);\n          }\n          reject(request.responseText);\n        });\n        request.send();\n      }).then(function(data) {\n        var result = options.convertDataToStylesheet({\n          data: data,\n          isCrossOrigin: isCrossOrigin,\n          priority: priority,\n          root: options.rootNode,\n          shadowId: options.shadowId\n        });\n        return parse_stylesheet_default(result.sheet, options, priority, importedUrls, result.isCrossOrigin);\n      });\n    }\n    var parse_crossorigin_stylesheet_default = parseCrossOriginStylesheet;\n    function parseTabindex(value) {\n      if (typeof value !== 'string') {\n        return null;\n      }\n      var match = value.trim().match(/^([-+]?\\d+)/);\n      if (match) {\n        return Number(match[1]);\n      }\n      return null;\n    }\n    var parse_tabindex_default = parseTabindex;\n    var performanceTimer = function() {\n      function now() {\n        if (window.performance && window.performance) {\n          return window.performance.now();\n        }\n      }\n      var axeStartTime = now();\n      var axeStarted = false;\n      return {\n        start: function start() {\n          this.reset();\n          axeStarted = true;\n          this.mark('mark_axe_start');\n        },\n        end: function end() {\n          this.mark('mark_axe_end');\n          this.measure('axe', 'mark_axe_start', 'mark_axe_end', true);\n          this.logMeasures('axe');\n          this.clearMark('mark_axe_start', 'mark_axe_end');\n          axeStarted = false;\n        },\n        auditStart: function auditStart() {\n          if (!axeStarted) {\n            this.reset();\n          }\n          this.mark('mark_audit_start');\n        },\n        auditEnd: function auditEnd() {\n          this.mark('mark_audit_end');\n          this.measure('audit_start_to_end', 'mark_audit_start', 'mark_audit_end', true);\n          this.logMeasures();\n          this.clearMark('mark_audit_start', 'mark_audit_end');\n        },\n        mark: function mark(markName) {\n          var _window$performance;\n          if ((_window$performance = window.performance) !== null && _window$performance !== void 0 && _window$performance.mark) {\n            window.performance.mark(markName);\n          }\n        },\n        measure: function measure(measureName, startMark, endMark) {\n          var _window$performance2;\n          var keepMarks = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n          if (!((_window$performance2 = window.performance) !== null && _window$performance2 !== void 0 && _window$performance2.measure)) {\n            return;\n          }\n          try {\n            window.performance.measure(measureName, startMark, endMark);\n          } catch (e) {\n            this._log(e);\n          }\n          if (!keepMarks) {\n            this.clearMark(startMark, endMark);\n          }\n        },\n        logMeasures: function logMeasures(measureName) {\n          var _this6 = this, _window$performance3, _window$performance4;\n          var last2 = function last2(arr) {\n            return Array.isArray(arr) ? arr[arr.length - 1] : arr;\n          };\n          var logMeasure = function logMeasure(req) {\n            _this6._log('Measure ' + req.name + ' took ' + req.duration + 'ms');\n          };\n          if (!((_window$performance3 = window.performance) !== null && _window$performance3 !== void 0 && _window$performance3.getEntriesByType) || !((_window$performance4 = window.performance) !== null && _window$performance4 !== void 0 && _window$performance4.getEntriesByName)) {\n            return;\n          }\n          var axeStart = last2(window.performance.getEntriesByName('mark_axe_start')) || last2(window.performance.getEntriesByName('mark_audit_start'));\n          if (!axeStart) {\n            this._log('Axe must be started before using performanceTimer');\n            return;\n          }\n          var measures = window.performance.getEntriesByType('measure').filter(function(measure) {\n            return measure.startTime >= axeStart.startTime;\n          });\n          for (var _i13 = 0; _i13 < measures.length; ++_i13) {\n            var req = measures[_i13];\n            if (req.name === measureName) {\n              logMeasure(req);\n              return;\n            } else if (!measureName) {\n              logMeasure(req);\n            }\n          }\n        },\n        timeElapsed: function timeElapsed() {\n          var currentTime = now();\n          return currentTime - axeStartTime;\n        },\n        clearMark: function clearMark() {\n          var _window$performance5;\n          if (!((_window$performance5 = window.performance) !== null && _window$performance5 !== void 0 && _window$performance5.clearMarks)) {\n            return;\n          }\n          for (var _len7 = arguments.length, markNames = new Array(_len7), _key0 = 0; _key0 < _len7; _key0++) {\n            markNames[_key0] = arguments[_key0];\n          }\n          for (var _i14 = 0, _markNames = markNames; _i14 < _markNames.length; _i14++) {\n            var markName = _markNames[_i14];\n            window.performance.clearMarks(markName);\n          }\n        },\n        reset: function reset() {\n          axeStartTime = now();\n        },\n        _log: function _log(message) {\n          log_default(message);\n        }\n      };\n    }();\n    var performance_timer_default = performanceTimer;\n    function _pollyfillElementsFromPoint() {\n      if (document.elementsFromPoint) {\n        return document.elementsFromPoint;\n      }\n      if (document.msElementsFromPoint) {\n        return document.msElementsFromPoint;\n      }\n      var usePointer = function() {\n        var element = document.createElement('x');\n        element.style.cssText = 'pointer-events:auto';\n        return element.style.pointerEvents === 'auto';\n      }();\n      var cssProp = usePointer ? 'pointer-events' : 'visibility';\n      var cssDisableVal = usePointer ? 'none' : 'hidden';\n      var style = document.createElement('style');\n      style.innerHTML = usePointer ? '* { pointer-events: all }' : '* { visibility: visible }';\n      return function(x, y) {\n        var current, i, d2;\n        var elements = [];\n        var previousPointerEvents = [];\n        document.head.appendChild(style);\n        while ((current = document.elementFromPoint(x, y)) && elements.indexOf(current) === -1) {\n          elements.push(current);\n          previousPointerEvents.push({\n            value: current.style.getPropertyValue(cssProp),\n            priority: current.style.getPropertyPriority(cssProp)\n          });\n          current.style.setProperty(cssProp, cssDisableVal, 'important');\n        }\n        if (elements.indexOf(document.documentElement) < elements.length - 1) {\n          elements.splice(elements.indexOf(document.documentElement), 1);\n          elements.push(document.documentElement);\n        }\n        for (i = previousPointerEvents.length; !!(d2 = previousPointerEvents[--i]); ) {\n          elements[i].style.setProperty(cssProp, d2.value ? d2.value : '', d2.priority);\n        }\n        document.head.removeChild(style);\n        return elements;\n      };\n    }\n    if (typeof window.addEventListener === 'function') {\n      document.elementsFromPoint = _pollyfillElementsFromPoint();\n    }\n    function uniqueArray(arr1, arr2) {\n      return arr1.concat(arr2).filter(function(elem, pos, arr) {\n        return arr.indexOf(elem) === pos;\n      });\n    }\n    var unique_array_default = uniqueArray;\n    function createLocalVariables(vNodes, anyLevel, thisLevel, parentShadowId, recycledLocalVariable) {\n      var retVal = recycledLocalVariable || {};\n      retVal.vNodes = vNodes;\n      retVal.vNodesIndex = 0;\n      retVal.anyLevel = anyLevel;\n      retVal.thisLevel = thisLevel;\n      retVal.parentShadowId = parentShadowId;\n      return retVal;\n    }\n    function matchExpressions(domTree, expressions, filter) {\n      var recycledLocalVariables = cache_default.get('qsa.recycledLocalVariables', function() {\n        return [];\n      });\n      var stack = [];\n      var vNodes = Array.isArray(domTree) ? domTree : [ domTree ];\n      var currentLevel = createLocalVariables(vNodes, expressions, null, domTree[0].shadowId, recycledLocalVariables.pop());\n      var result = [];\n      while (currentLevel.vNodesIndex < currentLevel.vNodes.length) {\n        var _currentLevel$anyLeve, _currentLevel$thisLev;\n        var vNode = currentLevel.vNodes[currentLevel.vNodesIndex++];\n        var childOnly = null;\n        var childAny = null;\n        var combinedLength = (((_currentLevel$anyLeve = currentLevel.anyLevel) === null || _currentLevel$anyLeve === void 0 ? void 0 : _currentLevel$anyLeve.length) || 0) + (((_currentLevel$thisLev = currentLevel.thisLevel) === null || _currentLevel$thisLev === void 0 ? void 0 : _currentLevel$thisLev.length) || 0);\n        var added = false;\n        for (var _i15 = 0; _i15 < combinedLength; _i15++) {\n          var _currentLevel$anyLeve2, _currentLevel$anyLeve3, _currentLevel$anyLeve4;\n          var exp = _i15 < (((_currentLevel$anyLeve2 = currentLevel.anyLevel) === null || _currentLevel$anyLeve2 === void 0 ? void 0 : _currentLevel$anyLeve2.length) || 0) ? currentLevel.anyLevel[_i15] : currentLevel.thisLevel[_i15 - (((_currentLevel$anyLeve3 = currentLevel.anyLevel) === null || _currentLevel$anyLeve3 === void 0 ? void 0 : _currentLevel$anyLeve3.length) || 0)];\n          if ((!exp[0].id || vNode.shadowId === currentLevel.parentShadowId) && _matchesExpression(vNode, exp[0])) {\n            if (exp.length === 1) {\n              if (!added && (!filter || filter(vNode))) {\n                result.push(vNode);\n                added = true;\n              }\n            } else {\n              var rest = exp.slice(1);\n              if ([ ' ', '>' ].includes(rest[0].combinator) === false) {\n                throw new Error('axe.utils.querySelectorAll does not support the combinator: ' + exp[1].combinator);\n              }\n              if (rest[0].combinator === '>') {\n                (childOnly = childOnly || []).push(rest);\n              } else {\n                (childAny = childAny || []).push(rest);\n              }\n            }\n          }\n          if ((!exp[0].id || vNode.shadowId === currentLevel.parentShadowId) && (_currentLevel$anyLeve4 = currentLevel.anyLevel) !== null && _currentLevel$anyLeve4 !== void 0 && _currentLevel$anyLeve4.includes(exp)) {\n            (childAny = childAny || []).push(exp);\n          }\n        }\n        if (vNode.children && vNode.children.length) {\n          stack.push(currentLevel);\n          currentLevel = createLocalVariables(vNode.children, childAny, childOnly, vNode.shadowId, recycledLocalVariables.pop());\n        }\n        while (currentLevel.vNodesIndex === currentLevel.vNodes.length && stack.length) {\n          recycledLocalVariables.push(currentLevel);\n          currentLevel = stack.pop();\n        }\n      }\n      return result;\n    }\n    function querySelectorAllFilter(domTree, selector, filter) {\n      domTree = Array.isArray(domTree) ? domTree : [ domTree ];\n      var expressions = _convertSelector(selector);\n      var nodes = getNodesMatchingExpression(domTree, expressions, filter);\n      if (nodes) {\n        return nodes;\n      }\n      return matchExpressions(domTree, expressions, filter);\n    }\n    var query_selector_all_filter_default = querySelectorAllFilter;\n    function preloadCssom(_ref70) {\n      var _ref70$treeRoot = _ref70.treeRoot, treeRoot = _ref70$treeRoot === void 0 ? axe._tree[0] : _ref70$treeRoot;\n      var rootNodes = getAllRootNodesInTree(treeRoot);\n      if (!rootNodes.length) {\n        return Promise.resolve();\n      }\n      var dynamicDoc = document.implementation.createHTMLDocument('Dynamic document for loading cssom');\n      var convertDataToStylesheet = get_stylesheet_factory_default(dynamicDoc);\n      return getCssomForAllRootNodes(rootNodes, convertDataToStylesheet).then(function(assets) {\n        return flattenAssets(assets);\n      });\n    }\n    var preload_cssom_default = preloadCssom;\n    function getAllRootNodesInTree(tree) {\n      var ids = [];\n      var rootNodes = query_selector_all_filter_default(tree, '*', function(node) {\n        if (ids.includes(node.shadowId)) {\n          return false;\n        }\n        ids.push(node.shadowId);\n        return true;\n      }).map(function(node) {\n        return {\n          shadowId: node.shadowId,\n          rootNode: get_root_node_default(node.actualNode)\n        };\n      });\n      return unique_array_default(rootNodes, []);\n    }\n    function getCssomForAllRootNodes(rootNodes, convertDataToStylesheet) {\n      var promises = [];\n      rootNodes.forEach(function(_ref71, index) {\n        var rootNode = _ref71.rootNode, shadowId = _ref71.shadowId;\n        var sheets = getStylesheetsOfRootNode(rootNode, shadowId, convertDataToStylesheet);\n        if (!sheets) {\n          return Promise.all(promises);\n        }\n        var rootIndex = index + 1;\n        var parseOptions = {\n          rootNode: rootNode,\n          shadowId: shadowId,\n          convertDataToStylesheet: convertDataToStylesheet,\n          rootIndex: rootIndex\n        };\n        var importedUrls = [];\n        var p2 = Promise.all(sheets.map(function(sheet, sheetIndex) {\n          var priority = [ rootIndex, sheetIndex ];\n          return parse_stylesheet_default(sheet, parseOptions, priority, importedUrls);\n        }));\n        promises.push(p2);\n      });\n      return Promise.all(promises);\n    }\n    function flattenAssets(assets) {\n      return assets.reduce(function(acc, val) {\n        return Array.isArray(val) ? acc.concat(flattenAssets(val)) : acc.concat(val);\n      }, []);\n    }\n    function getStylesheetsOfRootNode(rootNode, shadowId, convertDataToStylesheet) {\n      var sheets;\n      if (rootNode.nodeType === 11 && shadowId) {\n        sheets = getStylesheetsFromDocumentFragment(rootNode, convertDataToStylesheet);\n      } else {\n        sheets = getStylesheetsFromDocument(rootNode);\n      }\n      return filterStylesheetsWithSameHref(sheets);\n    }\n    function getStylesheetsFromDocumentFragment(rootNode, convertDataToStylesheet) {\n      return Array.from(rootNode.children).filter(filerStyleAndLinkAttributesInDocumentFragment).reduce(function(out, node) {\n        var nodeName2 = node.nodeName.toUpperCase();\n        var data = nodeName2 === 'STYLE' ? node.textContent : node;\n        var isLink = nodeName2 === 'LINK';\n        var stylesheet = convertDataToStylesheet({\n          data: data,\n          isLink: isLink,\n          root: rootNode\n        });\n        if (stylesheet.sheet) {\n          out.push(stylesheet.sheet);\n        }\n        return out;\n      }, []);\n    }\n    function getStylesheetsFromDocument(rootNode) {\n      return Array.from(rootNode.styleSheets).filter(function(sheet) {\n        if (!sheet.media) {\n          return false;\n        }\n        return filterMediaIsPrint(sheet.media.mediaText);\n      });\n    }\n    function filerStyleAndLinkAttributesInDocumentFragment(node) {\n      var nodeName2 = node.nodeName.toUpperCase();\n      var linkHref = node.getAttribute('href');\n      var linkRel = node.getAttribute('rel');\n      var isLink = nodeName2 === 'LINK' && linkHref && linkRel && node.rel.toUpperCase().includes('STYLESHEET');\n      var isStyle = nodeName2 === 'STYLE';\n      return isStyle || isLink && filterMediaIsPrint(node.media);\n    }\n    function filterMediaIsPrint(media) {\n      if (!media) {\n        return true;\n      }\n      return !media.toUpperCase().includes('PRINT');\n    }\n    function filterStylesheetsWithSameHref(sheets) {\n      var hrefs = [];\n      return sheets.filter(function(sheet) {\n        if (!sheet.href) {\n          return true;\n        }\n        if (hrefs.includes(sheet.href)) {\n          return false;\n        }\n        hrefs.push(sheet.href);\n        return true;\n      });\n    }\n    function preloadMedia(_ref72) {\n      var _ref72$treeRoot = _ref72.treeRoot, treeRoot = _ref72$treeRoot === void 0 ? axe._tree[0] : _ref72$treeRoot;\n      var mediaVirtualNodes = query_selector_all_filter_default(treeRoot, 'video[autoplay], audio[autoplay]', function(_ref73) {\n        var actualNode = _ref73.actualNode;\n        if (actualNode.preload === 'none' && actualNode.readyState === 0 && actualNode.networkState !== actualNode.NETWORK_LOADING) {\n          return false;\n        }\n        if (actualNode.hasAttribute('paused') || actualNode.hasAttribute('muted')) {\n          return false;\n        }\n        if (actualNode.hasAttribute('src')) {\n          return !!actualNode.getAttribute('src');\n        }\n        var sourceWithSrc = Array.from(actualNode.getElementsByTagName('source')).filter(function(source) {\n          return !!source.getAttribute('src');\n        });\n        if (sourceWithSrc.length <= 0) {\n          return false;\n        }\n        return true;\n      });\n      return Promise.all(mediaVirtualNodes.map(function(_ref74) {\n        var actualNode = _ref74.actualNode;\n        return isMediaElementReady(actualNode);\n      }));\n    }\n    var preload_media_default = preloadMedia;\n    function isMediaElementReady(elm) {\n      return new Promise(function(resolve) {\n        if (elm.readyState > 0) {\n          resolve(elm);\n        }\n        function onMediaReady() {\n          elm.removeEventListener('loadedmetadata', onMediaReady);\n          resolve(elm);\n        }\n        elm.addEventListener('loadedmetadata', onMediaReady);\n      });\n    }\n    function _preload(options) {\n      var preloadFunctionsMap = {\n        cssom: preload_cssom_default,\n        media: preload_media_default\n      };\n      if (!_shouldPreload(options)) {\n        return Promise.resolve();\n      }\n      return new Promise(function(resolve, reject) {\n        var _getPreloadConfig2 = _getPreloadConfig(options), assets = _getPreloadConfig2.assets, timeout = _getPreloadConfig2.timeout;\n        var preloadTimeout = setTimeout(function() {\n          return reject(new Error('Preload assets timed out.'));\n        }, timeout);\n        Promise.all(assets.map(function(asset) {\n          return preloadFunctionsMap[asset](options).then(function(results) {\n            return _defineProperty({}, asset, results);\n          });\n        })).then(function(results) {\n          var preloadAssets = results.reduce(function(out, result) {\n            return _extends({}, out, result);\n          }, {});\n          clearTimeout(preloadTimeout);\n          resolve(preloadAssets);\n        })['catch'](function(err2) {\n          clearTimeout(preloadTimeout);\n          reject(err2);\n        });\n      });\n    }\n    function isValidPreloadObject(preloadObj) {\n      return _typeof(preloadObj) === 'object' && Array.isArray(preloadObj.assets);\n    }\n    function _shouldPreload(options) {\n      if (!options || options.preload === void 0 || options.preload === null) {\n        return true;\n      }\n      if (typeof options.preload === 'boolean') {\n        return options.preload;\n      }\n      return isValidPreloadObject(options.preload);\n    }\n    function _getPreloadConfig(options) {\n      var _constants_default$pr = constants_default.preload, assets = _constants_default$pr.assets, timeout = _constants_default$pr.timeout;\n      var config = {\n        assets: assets,\n        timeout: timeout\n      };\n      if (!options.preload) {\n        return config;\n      }\n      if (typeof options.preload === 'boolean') {\n        return config;\n      }\n      var areRequestedAssetsValid = options.preload.assets.every(function(a2) {\n        return assets.includes(a2.toLowerCase());\n      });\n      if (!areRequestedAssetsValid) {\n        throw new Error('Requested assets, not supported. Supported assets are: '.concat(assets.join(', '), '.'));\n      }\n      config.assets = unique_array_default(options.preload.assets.map(function(a2) {\n        return a2.toLowerCase();\n      }), []);\n      if (options.preload.timeout && typeof options.preload.timeout === 'number' && !isNaN(options.preload.timeout)) {\n        config.timeout = options.preload.timeout;\n      }\n      return config;\n    }\n    function _publishMetaData(ruleResult) {\n      var checksData = axe._audit.data.checks || {};\n      var rulesData = axe._audit.data.rules || {};\n      var rule = find_by_default(axe._audit.rules, 'id', ruleResult.id) || {};\n      ruleResult.tags = clone2(rule.tags || []);\n      var shouldBeTrue = extender(checksData, true, rule);\n      var shouldBeFalse = extender(checksData, false, rule);\n      ruleResult.nodes.forEach(function(detail) {\n        detail.any.forEach(shouldBeTrue);\n        detail.all.forEach(shouldBeTrue);\n        detail.none.forEach(shouldBeFalse);\n      });\n      extend_meta_data_default(ruleResult, clone2(rulesData[ruleResult.id] || {}));\n    }\n    function getIncompleteReason(checkData, messages) {\n      function getDefaultMsg(message) {\n        if (message.incomplete && message.incomplete['default']) {\n          return message.incomplete['default'];\n        } else {\n          return incompleteFallbackMessage();\n        }\n      }\n      if (checkData && checkData.missingData) {\n        try {\n          var msg = messages.incomplete[checkData.missingData[0].reason];\n          if (!msg) {\n            throw new Error();\n          }\n          return msg;\n        } catch (_unused5) {\n          if (typeof checkData.missingData === 'string') {\n            return messages.incomplete[checkData.missingData];\n          } else {\n            return getDefaultMsg(messages);\n          }\n        }\n      } else if (checkData && checkData.messageKey) {\n        return messages.incomplete[checkData.messageKey];\n      } else {\n        return getDefaultMsg(messages);\n      }\n    }\n    function extender(checksData, shouldBeTrue, rule) {\n      return function(check) {\n        var sourceData = checksData[check.id] || {};\n        var messages = sourceData.messages || {};\n        var data = Object.assign({}, sourceData);\n        delete data.messages;\n        if (!rule.reviewOnFail && check.result === void 0) {\n          if (_typeof(messages.incomplete) === 'object' && !Array.isArray(check.data)) {\n            data.message = getIncompleteReason(check.data, messages);\n          }\n          if (!data.message) {\n            data.message = messages.incomplete;\n          }\n        } else {\n          data.message = check.result === shouldBeTrue ? messages.pass : messages.fail;\n        }\n        if (typeof data.message !== 'function') {\n          data.message = process_message_default(data.message, check.data);\n        }\n        extend_meta_data_default(check, data);\n      };\n    }\n    function querySelectorAll(domTree, selector) {\n      return query_selector_all_filter_default(domTree, selector);\n    }\n    var query_selector_all_default = querySelectorAll;\n    function matchTags(rule, runOnly) {\n      var include, exclude;\n      var defaultExclude = axe._audit && axe._audit.tagExclude ? axe._audit.tagExclude : [];\n      if (runOnly.hasOwnProperty('include') || runOnly.hasOwnProperty('exclude')) {\n        include = runOnly.include || [];\n        include = Array.isArray(include) ? include : [ include ];\n        exclude = runOnly.exclude || [];\n        exclude = Array.isArray(exclude) ? exclude : [ exclude ];\n        exclude = exclude.concat(defaultExclude.filter(function(tag) {\n          return include.indexOf(tag) === -1;\n        }));\n      } else {\n        include = Array.isArray(runOnly) ? runOnly : [ runOnly ];\n        exclude = defaultExclude.filter(function(tag) {\n          return include.indexOf(tag) === -1;\n        });\n      }\n      var matching = include.some(function(tag) {\n        return rule.tags.indexOf(tag) !== -1;\n      });\n      if (matching || include.length === 0 && rule.enabled !== false) {\n        return exclude.every(function(tag) {\n          return rule.tags.indexOf(tag) === -1;\n        });\n      } else {\n        return false;\n      }\n    }\n    function ruleShouldRun(rule, context, options) {\n      var runOnly = options.runOnly || {};\n      var ruleOptions = (options.rules || {})[rule.id];\n      if (rule.pageLevel && !context.page) {\n        return false;\n      } else if (runOnly.type === 'rule') {\n        return runOnly.values.indexOf(rule.id) !== -1;\n      } else if (ruleOptions && typeof ruleOptions.enabled === 'boolean') {\n        return ruleOptions.enabled;\n      } else if (runOnly.type === 'tag' && runOnly.values) {\n        return matchTags(rule, runOnly.values);\n      } else {\n        return matchTags(rule, []);\n      }\n    }\n    var rule_should_run_default = ruleShouldRun;\n    function _filterHtmlAttrs(element, filterAttrs) {\n      if (!filterAttrs) {\n        return element;\n      }\n      var node = element.cloneNode(false);\n      var attributes2 = get_node_attributes_default(node);\n      if (node.nodeType === 1) {\n        var outerHTML = node.outerHTML;\n        node = cache_default.get(outerHTML, function() {\n          return setNodeAttributes(node, attributes2, element, filterAttrs);\n        });\n      } else {\n        node = setNodeAttributes(node, attributes2, element, filterAttrs);\n      }\n      Array.from(element.childNodes).forEach(function(child) {\n        node.appendChild(_filterHtmlAttrs(child, filterAttrs));\n      });\n      return node;\n    }\n    function setNodeAttributes(node, attributes2, element, filterAttrs) {\n      if (!attributes2) {\n        return node;\n      }\n      node = document.createElement(node.nodeName);\n      Array.from(attributes2).forEach(function(attr) {\n        if (!attributeMatches(element, attr.name, filterAttrs)) {\n          node.setAttribute(attr.name, attr.value);\n        }\n      });\n      return node;\n    }\n    function attributeMatches(node, attrName, filterAttrs) {\n      if (typeof filterAttrs[attrName] === 'undefined') {\n        return false;\n      }\n      if (filterAttrs[attrName] === true) {\n        return true;\n      }\n      return element_matches_default(node, filterAttrs[attrName]);\n    }\n    function _select(selector, context) {\n      var result = [];\n      var candidate;\n      if (axe._selectCache) {\n        for (var j = 0, l = axe._selectCache.length; j < l; j++) {\n          var item = axe._selectCache[j];\n          if (item.selector === selector) {\n            return item.result;\n          }\n        }\n      }\n      var outerIncludes = getOuterIncludes(context.include);\n      var isInContext = getContextFilter(context);\n      for (var _i16 = 0; _i16 < outerIncludes.length; _i16++) {\n        candidate = outerIncludes[_i16];\n        var nodes = query_selector_all_filter_default(candidate, selector, isInContext);\n        result = mergeArrayUniques(result, nodes);\n      }\n      if (axe._selectCache) {\n        axe._selectCache.push({\n          selector: selector,\n          result: result\n        });\n      }\n      return result;\n    }\n    function getOuterIncludes(includes) {\n      return includes.reduce(function(res, el) {\n        if (!res.length || !_contains(res[res.length - 1], el)) {\n          res.push(el);\n        }\n        return res;\n      }, []);\n    }\n    function getContextFilter(context) {\n      if (!context.exclude || context.exclude.length === 0) {\n        return null;\n      }\n      return function(node) {\n        return _isNodeInContext(node, context);\n      };\n    }\n    function mergeArrayUniques(arr1, arr2) {\n      if (arr1.length === 0) {\n        return arr2;\n      }\n      if (arr1.length < arr2.length) {\n        var temp = arr1;\n        arr1 = arr2;\n        arr2 = temp;\n      }\n      for (var _i17 = 0, l = arr2.length; _i17 < l; _i17++) {\n        if (!arr1.includes(arr2[_i17])) {\n          arr1.push(arr2[_i17]);\n        }\n      }\n      return arr1;\n    }\n    function _serializeError(err2) {\n      var iteration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n      if (_typeof(err2) !== 'object' || err2 === null) {\n        return {\n          message: String(err2)\n        };\n      }\n      var serial = {};\n      var _iterator13 = _createForOfIteratorHelper(constants_default.serializableErrorProps), _step13;\n      try {\n        for (_iterator13.s(); !(_step13 = _iterator13.n()).done; ) {\n          var prop = _step13.value;\n          if ([ 'string', 'number', 'boolean' ].includes(_typeof(err2[prop]))) {\n            serial[prop] = err2[prop];\n          }\n        }\n      } catch (err) {\n        _iterator13.e(err);\n      } finally {\n        _iterator13.f();\n      }\n      if (err2.cause) {\n        serial.cause = iteration < 10 ? _serializeError(err2.cause, iteration + 1) : '...';\n      }\n      return serial;\n    }\n    var RuleError = function(_Error) {\n      function RuleError(_ref76) {\n        var _error$name;\n        var _this7;\n        var error = _ref76.error, ruleId = _ref76.ruleId, method = _ref76.method, errorNode = _ref76.errorNode;\n        _classCallCheck(this, RuleError);\n        _this7 = _callSuper(this, RuleError);\n        _this7.name = (_error$name = error.name) !== null && _error$name !== void 0 ? _error$name : 'RuleError';\n        _this7.message = error.message;\n        _this7.stack = error.stack;\n        if (error.cause) {\n          _this7.cause = _serializeError(error.cause);\n        }\n        if (ruleId) {\n          _this7.ruleId = ruleId;\n          _this7.message += ' Skipping '.concat(_this7.ruleId, ' rule.');\n        }\n        if (method) {\n          _this7.method = method;\n        }\n        if (errorNode) {\n          _this7.errorNode = errorNode;\n        }\n        return _this7;\n      }\n      _inherits(RuleError, _Error);\n      return _createClass(RuleError);\n    }(_wrapNativeSuper(Error));\n    var rule_error_default = RuleError;\n    function setScroll(elm, top, left) {\n      if (elm === window) {\n        return elm.scroll(left, top);\n      } else {\n        elm.scrollTop = top;\n        elm.scrollLeft = left;\n      }\n    }\n    function setScrollState(scrollState) {\n      scrollState.forEach(function(_ref77) {\n        var elm = _ref77.elm, top = _ref77.top, left = _ref77.left;\n        return setScroll(elm, top, left);\n      });\n    }\n    var set_scroll_state_default = setScrollState;\n    function _shadowSelect(selectors) {\n      var selectorArr = Array.isArray(selectors) ? _toConsumableArray(selectors) : [ selectors ];\n      return selectRecursive(selectorArr, document);\n    }\n    function selectRecursive(selectors, doc) {\n      var selectorStr = selectors.shift();\n      var elm = selectorStr ? doc.querySelector(selectorStr) : null;\n      if (selectors.length === 0) {\n        return elm;\n      }\n      if (!(elm !== null && elm !== void 0 && elm.shadowRoot)) {\n        return null;\n      }\n      return selectRecursive(selectors, elm.shadowRoot);\n    }\n    function _shadowSelectAll(selectors) {\n      var doc = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;\n      var selectorArr = Array.isArray(selectors) ? _toConsumableArray(selectors) : [ selectors ];\n      if (selectors.length === 0) {\n        return [];\n      }\n      return selectAllRecursive(selectorArr, doc);\n    }\n    function selectAllRecursive(_ref78, doc) {\n      var _ref79 = _toArray(_ref78), selectorStr = _ref79[0], restSelector = _ref79.slice(1);\n      var elms = doc.querySelectorAll(selectorStr);\n      if (restSelector.length === 0) {\n        return Array.from(elms);\n      }\n      var selected = [];\n      var _iterator14 = _createForOfIteratorHelper(elms), _step14;\n      try {\n        for (_iterator14.s(); !(_step14 = _iterator14.n()).done; ) {\n          var elm = _step14.value;\n          if (elm !== null && elm !== void 0 && elm.shadowRoot) {\n            selected.push.apply(selected, _toConsumableArray(selectAllRecursive(restSelector, elm.shadowRoot)));\n          }\n        }\n      } catch (err) {\n        _iterator14.e(err);\n      } finally {\n        _iterator14.f();\n      }\n      return selected;\n    }\n    function validInputTypes() {\n      return [ 'hidden', 'text', 'search', 'tel', 'url', 'email', 'password', 'date', 'month', 'week', 'time', 'datetime-local', 'number', 'range', 'color', 'checkbox', 'radio', 'file', 'submit', 'image', 'reset', 'button' ];\n    }\n    var valid_input_type_default = validInputTypes;\n    var langs = [ , [ , [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, , 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, , 1, 1, 1, , 1, 1, , 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, , 1, 1, 1, 1, 1, 1, 1, , 1, , 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, , , , , , 1, 1, 1, 1, , , 1, 1, 1, , 1, , 1, , 1, 1 ], [ 1, 1, 1, , 1, 1, , 1, 1, 1, , 1, , , 1, 1, 1, , , 1, 1, 1, , , , , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, , , , , 1, 1, 1, , 1, 1, 1, 1, 1, 1, , 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , , 1, 1, 1 ], [ , 1, , , , , , 1, , 1, , , , , 1, , 1, , , , 1, 1, , 1, , , 1 ], [ 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, , 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , , , 1, 1, 1, 1, , , 1, , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, , 1, 1, , , 1, , , , , 1, 1, 1, , 1, , 1, , 1, , , , , , 1 ], [ 1, , 1, 1, 1, 1, , , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1 ], [ 1, , 1, , 1, , , , , 1, , 1, 1, 1, 1, 1, , , , 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, , 1, 1, 1, , 1, , 1, 1, 1, , , 1, 1, 1, 1, 1, 1, 1, 1 ], [ , , 1, , , 1, , 1, , , , 1, 1, 1, , , , , , , , , , , 1 ], [ 1, 1, 1, 1, 1, 1, , 1, 1, 1, , 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, , , 1, 1, 1 ], [ 1, 1, 1, 1, 1, , , 1, , , 1, , , 1, 1, 1, , , , , 1, , , , , , 1 ] ], [ , [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, , 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, , , 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, , , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, , 1, , , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ], [ , [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, , 1, 1, , 1, 1, 1, 1, 1, 1, 1, , 1 ], [ , 1, , 1, 1, 1, , 1, 1, , 1, , 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, , 1, 1, 1, 1, 1, 1, 1, 1, , , 1, 1, 1, , , 1, 1, , , , , , 1, 1 ], [ 1, 1, 1, , , , , 1, , , , 1, 1, , 1, , , , , , 1, , , , , 1 ], [ , 1, , , 1, , , 1, , , , , , 1 ], [ , 1, , 1, , , , 1, , , , 1 ], [ 1, , 1, 1, 1, , 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, , , 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, , , 1, , , 1, , 1, 1, , 1, , 1, , , , , 1, , 1 ], [ , 1, , , , 1, , , 1, 1, , 1, , 1, 1, 1, 1, , 1, 1, , , 1, , , 1 ], [ , 1, 1, , , , , , 1, , , , 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, , 1, 1, 1 ], [ , 1, , 1, 1, 1, , , 1, 1, 1, 1, 1, 1, , 1, , , , , 1, 1, , 1, , 1 ], [ , 1, , 1, , 1, , 1, , 1, , 1, 1, 1, 1, 1, , , 1, 1, 1 ], [ , 1, 1, 1, , , , 1, 1, 1, , 1, 1, , , 1, 1, , 1, 1, 1, 1, , 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, , , 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, , 1, 1, 1, , 1, , , , , 1, 1, 1, , , 1, , 1, , , 1, 1 ], [ , , , , 1, , , , , , , , , , , , , , , , , 1 ], [ 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1 ], [ , 1, , 1, 1, 1, , 1, 1, , , , 1, 1, 1, 1, 1, , , 1, 1, 1, , , , , 1 ], [ 1, 1, 1, 1, , , , 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, , , , , , , 1, , , , , , , 1 ], [ , 1, 1, , 1, 1, , 1, , , , , , , , , , , , , 1 ], , [ 1, 1, 1, , , , , , , , , , , , , 1 ], [ , , , , , , , , 1, , , 1, , , 1, 1, , , , , 1 ] ], [ , [ 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1 ], [ , 1, 1, , 1, 1, 1, 1, , 1, 1, , 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, , 1 ], [ , , , 1, , , , , , , , , , , , , , , 1 ], [ , 1, , , 1, 1, , 1, , 1, 1, , , , 1, 1, , , 1, 1, , , , 1 ], [ 1, , , 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, , 1, 1, 1, 1, , , 1, , , , 1 ], , [ , 1, 1, 1, 1, 1, , 1, 1, 1, , 1, 1, , 1, 1, , , 1, 1, 1, 1, , 1, 1, , 1 ], [ , 1, , , 1, , , 1, , 1, , , 1, 1, 1, 1, , , 1, 1, , 1, 1, 1, 1 ], [ , 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, , , 1, 1, 1, 1, 1, 1, 1, , , 1, , , 1, , 1 ], [ , 1, , , , , , , , , , 1, 1, , , , , , 1, 1, , , , , 1 ], [ , , , , , , , 1, , , , 1, , 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, , , , 1, 1, 1, 1, 1, , , 1, 1, , 1, 1, 1, 1, 1 ], [ , 1, , , 1, 1, , 1, , 1, 1, 1, , , 1, 1, , , 1, , 1, 1, 1, 1, , 1 ], [ , 1, 1, 1, , 1, 1, , 1, 1, , 1, 1, , 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1 ], [ , , , , , , , , , , , , , , , , 1 ], , [ , 1, 1, 1, 1, 1, , 1, 1, 1, , , 1, , 1, 1, , 1, 1, 1, 1, 1, , 1, , 1 ], [ , , 1, , , 1, , , 1, 1, , , 1, , 1, 1, , 1 ], [ , 1, 1, , 1, , , , 1, 1, , 1, , 1, 1, 1, 1, , 1, 1, 1, 1, , , , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1 ], [ 1, 1 ], [ , 1, , , , , , , , , , 1, 1, , , , , , 1, 1, , 1, , 1, , 1, 1 ], , [ , 1, 1, , 1, , , 1, , 1, , , , 1, 1, 1, , , , , , 1, , , , 1 ], [ 1, 1, , , 1, 1, , 1, , , , , 1, , 1 ] ], [ , [ , 1 ], [ , , , 1, , , , 1, , , , 1, , , , 1, , , 1, , , 1 ], [ , , , , , , , , , , , , , , , , , , 1, 1, , , , , , 1 ], , [ 1, , , , , 1 ], [ , 1, , , , 1, , , , 1 ], [ , 1, , , , , , , , , , , 1, , , 1, , , , , , , , , 1, 1 ], [ , , , , , , , , , , , , , , , , , , , , , 1 ], [ , , , , , , , , , , , , , , , , 1, , , , 1, , 1 ], [ , 1 ], [ , 1, , 1, , 1, , 1, , 1, , 1, 1, 1, , 1, 1, , 1, , , , , , , 1 ], [ 1, , , , , 1, , , 1, 1, , 1, , 1, , 1, 1, , , , , 1, , , 1 ], [ , 1, 1, , , 1, , 1, , 1, , 1, , 1, 1, 1, 1, , , 1, , 1, , 1, 1, 1 ], [ 1, 1, 1, 1, 1, , 1, , 1, , , , 1, 1, 1, 1, , 1, 1, , , 1, 1, 1, 1 ], [ 1, , , , , , , , , , , , , , , , , , , , 1 ], [ , , , , , , , , , 1 ], , [ , 1, , , , , , 1, 1, 1, , 1, , , , 1, , , 1, 1, 1, , , 1 ], [ 1, , , , , 1, , 1, 1, 1, , 1, 1, 1, 1, 1, , 1, , 1, , 1, , , 1, 1 ], [ 1, , 1, 1, , , , , 1, , , , , , 1, 1, , , 1, 1, 1, 1, , , 1, , 1 ], [ 1, , , , , , , , , , , , , , , , , 1 ], [ , , , , , 1, , , 1, , , , , , 1 ], [ , , , , , , , , , , , , , , , 1 ], [ , , , , , , , , , , , , , , , , , , , , 1 ], [ , 1, , , , , , , , , , , , , , 1 ], [ , 1, , , , 1 ] ], [ , [ 1, 1, 1, , 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, , 1, , 1, 1, , , 1, 1, 1 ], [ , , , , , , , , , , , , 1 ], [ , , , , , , , , , , , , , , , , , , , 1 ], , [ , , , , , , , , , , , , , , , , , , 1 ], [ 1, , , , , , , , , 1, , , , 1 ], [ , , , , , , , , , , , , , , , , , , 1 ], , [ 1, 1, , , , 1, 1, , , , , , 1, , , , 1, , 1, , 1, 1, , 1 ], [ 1 ], [ , , , , , , , , , , , 1, , , , , , , , , , , 1 ], [ , 1, , , , , , , 1, 1, , , 1, , 1, , , , 1, , , , , , , 1 ], [ , , , , , , , , , , , , , , , , 1, , , , , 1 ], [ , , 1, , , , , 1, , 1 ], [ 1, , , , 1, , , , , 1, , , , 1, 1, , , , 1, 1, , , , , 1 ], [ , , , , , 1 ], [ , , , , , , , , , , , , , , , , , , , 1 ], [ 1, , , 1, 1, , , , , , , 1, , 1, , 1, 1, 1, 1, 1, 1 ], [ , , , , , 1, , , , , , , 1, , , , , , , 1 ], , [ , , 1, 1, 1, 1, 1, , 1, 1, 1, , , 1, 1, , , 1, 1, , 1, 1, 1, , , 1 ], [ , , , , , , , , , , , , , , , , , , 1 ], [ , 1, , , , 1 ], , [ 1 ] ], [ , [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1 ], [ , , , 1, 1, 1, 1, , , , , , 1, , 1, , , , 1, , 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, , , 1 ], [ , 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, , , , 1, , 1, , , 1, 1, 1, 1, 1 ], [ , , , , , , , , , , , 1, , , , , , , , , 1, , , , 1 ], [ , 1, 1, , 1, 1, , 1, , , , 1, 1, , 1, 1, , , 1, , 1, 1, , 1 ], [ , 1, , 1, , 1, , , 1, , , 1, 1, , 1, 1, , , 1, 1, 1 ], [ , 1, 1, 1, 1, 1, , 1, 1, , , , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1 ], [ , , , , , , , , , 1, , 1, , 1, 1, , , , 1, , , 1 ], [ , 1, , , 1, 1, , , , , , , , , 1, 1, 1, , , , , 1 ], [ 1, , , 1, 1, , , , 1, 1, 1, 1, 1, , , 1, , , 1, , , 1, , 1, , 1 ], [ , 1, 1, , 1, 1, , 1, 1, , , , 1, 1, 1, , , 1, 1, , , 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, , 1, 1, , 1, , , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1 ], [ , 1, , , , 1, , , , , , , , , 1 ], [ , 1, , , , , , , , 1, , , , , 1, , , , 1, , , 1 ], [ , 1, 1, 1, 1, , , 1, 1, 1, 1, 1, , 1, , 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , , , , , 1, , 1, , , , , 1, 1, 1, 1, 1, , , 1, , , , 1 ], [ , 1, , , , , , , , 1, , , , , , , , , , , , 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1 ], [ 1, 1, , 1, , 1, 1, , , , 1, , 1, 1, 1, 1, 1, , 1, 1, , , , , , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, , 1, 1, , , 1, 1, , , , 1, , 1, 1, , 1, 1 ], [ , , , , , , , , , , , , , , , , , , , , , , , , 1 ], [ , 1, 1, , 1, 1, 1, 1, , 1, , , 1, 1, 1, 1, , , 1, , , , , , , 1 ], [ , 1, , , , , , , , 1, , , , , 1 ] ], [ , [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , , 1, 1, 1, 1, 1 ], [ , 1, 1, , , , , , , , , , , , 1, 1, , , , , , 1 ], [ , 1, , , , , , , 1 ], [ , , , , , , , , , , , , , , 1, , , , , 1, , , , , , 1 ], [ 1, 1, , , 1, , , 1, 1, 1, , , , 1 ], , [ , , , , , , , , , , , , , 1, , , , , , , , , , 1 ], [ , , , , , , , , , 1, , , , , , , , , 1, , , , , , , 1 ], [ 1, 1, 1, , 1, , 1, 1, 1, 1, 1, 1, 1, 1, , 1, , , 1, , 1, , , 1, 1 ], [ , , , , , , , , , 1 ], [ , 1, , , , 1, , , , , , 1, , , 1, , , , , 1 ], [ , 1, 1, , 1, 1, , , , , , , , , , , , , , , 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, , , 1, 1, , 1, 1, 1, 1, , , , 1, 1, , , , 1, , 1 ], [ 1, 1, 1, 1, 1, 1, , , 1, 1, 1, 1, 1, 1, , 1, 1, , 1, 1, 1, , 1, 1, , 1, 1 ], [ , , , , , , , , , , , , , , , 1, , , , 1 ], , [ 1, 1, , 1, , 1, , , , , , 1, , 1, , 1, 1, , 1, , 1, 1, , 1, 1, , 1 ], [ , , 1, , , , , , 1, , , , 1, , 1, , , , , 1 ], [ 1, , , , , , , , , 1, , , , , , 1, , , , 1, , 1, , , 1 ], [ 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , , , 1, , 1, , , , , , 1, , , 1, , , , , , , , 1 ], [ , 1, , 1, , , , , , , , , , , , 1 ], , [ 1, 1, , , , , , , , , , , , , , , , , , , , , , 1, 1 ], [ 1 ] ], [ , [ 1, , , , , , , , , 1, , , , , 1, , 1, , 1 ], [ , 1, 1, , 1, 1, , 1, 1, 1, , , 1, 1, 1, , , , 1, , , 1, , , , 1 ], [ , 1, , , , , , , 1, , , , 1, , , , , , 1 ], [ 1, 1, 1, 1, 1, 1, , , , 1, , , , , , , , , 1, 1, 1, 1 ], [ 1 ], [ , 1, 1, , , 1, 1, , , , , 1, , 1, , , , , , , , 1, , , , 1 ], [ 1, , 1, , , 1, , 1, , , , , 1, 1, 1, 1, , , , 1, , , , 1 ], [ , , 1, , , , , , , 1, , , , , , , 1, , , , , , , 1 ], [ 1, , , , , , , , , , , , , , 1, , , , 1 ], [ , , , 1, , 1, , , , , 1, , , , 1, 1, , , , 1 ], [ 1, , , , , 1, , , , 1, , 1, 1, , , 1, 1, , 1, 1, 1, , 1, 1, 1, , 1 ], [ , 1, 1, , , , , 1, , 1, , 1, 1, 1, , 1, 1, , , 1, , 1, 1, 1 ], [ , 1, , , , 1, , , , 1, , , 1, , 1, 1, , , 1, 1, , , , , , 1 ], [ 1, , 1, 1, , 1, , 1, 1, , 1, , 1, 1, 1, 1, 1, , , 1, 1, , , , , , 1 ], [ 1, , , , , , , , , , , , , , , , , , 1, , , 1, , 1 ], [ , , , , , , , , , 1, , , , , , 1 ], [ , , , , , , , , , , , , , , , , , , , , , 1, , 1 ], [ , 1, , , , 1, , , 1, 1, , 1, , , 1, 1, , , 1, , , 1, , , 1, 1 ], [ 1, 1, , 1, 1, 1, , 1, 1, 1, , 1, , 1, 1, 1, , , 1, , 1, 1 ], [ 1, , 1, 1, 1, 1, , , , 1, , 1, 1, 1, , 1, , , 1, 1, 1, , 1, 1, 1, 1, 1 ], [ 1, , , , , , , , , , , , , 1 ], [ , , 1, , , , , , , , , , , , , , , , , , , , 1 ], [ 1, , , , , , , , , , , 1, , 1, , 1, , , , 1 ], [ , , , 1, , , , , , , , , 1 ], [ , 1, , , , , , , , , , , , , , 1, , , , , , , , , 1 ], [ , , , , , , , , 1, 1, , , , , , , , , 1, , , , , , , , 1 ] ], [ , [ 1, 1, 1, 1, 1, 1, 1, , 1, , 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, , , 1, 1, 1 ], [ , , , , , 1, , , , 1, 1, 1, , , 1, 1, , , 1, , 1, 1, , 1 ], [ , , , , , , , , , , , , , , , , , , , 1, 1 ], [ , 1, , , , , , 1, , , , , , , , , , , , , 1 ], [ , , 1, , , 1, , 1, 1, 1, , 1, 1, , 1, , , , 1, , 1, 1 ], , [ , , 1, , , 1, , , , , , 1, , , , 1 ], [ , , , , , , , , , 1, , , , , , , , , , 1 ], [ 1, 1, 1, 1, 1, 1, , 1, 1, 1, , , 1, 1, , 1, , 1, , , 1, 1, 1, , , 1 ], [ , , , , , 1, , , , , , , , , , , , , 1 ], [ , 1, , , , , , , , , , , , 1, , 1, 1, , 1, , , 1 ], [ , , , , , 1, , , , , , , , , , , , , , 1 ], [ , 1, 1, 1, 1, , , , , 1, , , 1, , 1, , , , 1, 1, , , , 1, 1 ], [ , 1, , , 1, , , 1, , 1, 1, , 1, , , , , , , 1 ], [ , , 1, , 1, , , 1, , , , , , , , , , , 1, 1, , , , 1 ], [ , 1, , , , , , , , , , , , , , , , , 1, , , , , , 1 ], [ , , , , , , , , , , , , , , , , , , 1 ], [ , 1, 1, , , , , , , , , , , , , , , , 1, , 1, 1 ], [ , , , , , , , , , , , , 1 ], , [ , 1, 1, 1, 1, , , , 1, 1, , 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, , 1, , 1 ], [ 1, , , , 1, , , , , , , , , , 1 ], [ 1, , , , , , , , , 1 ], , [ , 1, , , , 1, , , , , , , , , , , , , , , , , , , , 1 ] ], [ , [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, , 1, 1, 1, 1, , , , 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, , 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , , 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ], [ , [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, , 1, , 1, 1, 1, 1 ], [ 1, 1, 1, 1, , 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , , , 1, 1, 1, 1, , 1, , , , 1, 1, , , 1, 1, , 1 ], [ , 1, 1, , 1, , , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, , , , , , , , , , , , , 1 ], [ 1, 1, 1, , , , , 1, 1, 1, , 1, 1, 1, 1, , , 1, 1, , 1, 1, , , , , 1 ], [ , 1, , , , , , , 1, 1, , , 1, 1, 1, , 1, , , 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1 ], [ , 1, , , , 1, , , , 1, , , 1, , , , 1, , , , , , , 1, 1 ], [ , 1, 1, 1, 1, 1, , , 1, 1, 1, , 1, 1, 1, 1, , , 1, 1, 1, 1, , , , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, , 1, , , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , , 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, , 1, , , 1, 1, 1, 1, , 1, 1, 1, 1, , , , 1, , 1, , 1, , , 1 ], [ 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, , , , 1, , , , , , , , , 1, 1, , , , , , , , , 1 ], , [ , 1, , 1, , 1, , 1, , 1, , 1, 1, 1, 1, 1, , , 1, , 1, , 1, , , , 1 ], [ , 1, , , 1, 1, , 1, 1, 1, , , 1, 1, 1, 1, 1, , 1, 1, 1, , 1, , , 1 ], [ 1, , , 1, , , , 1, 1, 1, , , , , 1, 1, , , , 1, , 1 ], [ 1, 1, , 1, 1, 1, 1, , , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1 ], [ 1, 1, , , , , , , , 1, , 1, , , , , , , , 1, , 1 ], [ , 1, , , , 1, , 1, 1, , , , 1, 1, , 1, , , , 1, 1, 1, , 1 ], , [ , 1, , , , , , 1, , , , , , , 1 ], [ , , , , , , , , 1, , , , 1, , 1, , , , , , , , , , , , 1 ] ], [ , [ , 1, 1, , 1, 1, 1, 1, , 1, 1, 1, , 1, 1, , 1, 1, , 1, 1, 1, 1, 1, 1, , 1 ], [ , 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1 ], [ , 1, 1, , 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ], [ , [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , , 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , , 1, , 1 ], [ 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, , , 1, , , , , , , , 1, , , , , , 1, , , 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, , 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, , 1, , , , 1, 1, 1, , 1, 1, 1, 1, , , 1, 1, 1, 1, , , 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1 ], [ 1, 1, , 1, , 1, , 1, , 1, 1, 1, 1, 1, 1, 1, , 1, 1, , , 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, , 1, 1 ], [ , 1, 1, , , , , 1, 1, 1, , , 1, , 1, 1, , , , 1, , 1, , , 1, 1 ], [ , , , , , , , 1, , , , 1, 1, 1, 1, 1, , 1, , , , , , , , 1 ], [ 1, 1, 1, 1, , 1, 1, 1, , 1, , 1, 1, 1, 1, , 1, , 1, , 1, 1, , , 1, , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , , , , 1, 1, , 1, , 1, 1, 1, , 1, , 1, 1, , 1, 1, , 1, , 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, , , , , , , , 1, , , , , 1, , 1 ], [ , 1, 1, 1, , 1, , 1, , 1, , , , 1, , 1, , , 1, , , , , , 1, 1 ], [ , 1, , , 1, 1, , 1, , 1, , 1, 1, 1, 1, 1, , 1, 1, , , 1, , , 1 ], [ 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, , 1, , , , , 1, , 1, , 1, , , , , , 1, , 1, , , , 1, 1 ] ], [ , [ , 1, , 1, , , , , , , , , , , , , , , 1, , , , 1 ], [ , , , , , , , , , 1, , 1, 1, 1, , 1, , , 1, , 1, 1 ], [ 1, 1, , , , , , , 1, , , , , , , 1, , , , , , 1 ], [ , 1, , , , , , , , , , 1, , , , , , , , , 1, 1 ], , [ , , , , , , , , , , , , , , , 1, , , , 1, , 1 ], [ , , 1, 1, , 1, , 1, , , , , , , , 1, , , , , , 1 ], [ , , , , , , , , , , , , , , , , , , , , 1, 1 ], [ , 1, , , , , , , , , , , , , 1 ], [ 1, , 1, 1, , , , 1, , , , , , , , , 1, , , 1, , , 1, 1 ], [ , 1, 1, , 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, , , 1, 1, , 1, 1, , 1 ], [ , 1, , , 1, 1, , , , , , 1, , 1, , 1, , , 1, , 1, 1 ], [ 1, 1, 1, 1, , 1, , 1, , 1, , 1, 1, , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1 ], [ , 1, 1, , , 1, , 1, , 1, 1, 1, , , 1, 1, 1, , 1, 1, 1, 1, , 1, 1 ], [ , , , , 1, , , 1, , , , , , , 1, , , , 1, 1 ], [ , 1, , , , , , , , , , 1, , 1, , 1, , , , , 1, , , , , 1 ], , [ 1, 1, , 1, , 1, , 1, 1, , , , , , 1, 1, , , 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, , 1, , , , , , 1, , , , , , 1, 1, , , , 1, 1, , , 1 ], [ , 1, 1, , 1, 1, , , , 1, , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, , 1, 1, 1, 1 ], [ , 1, 1, , , 1, , , , 1, , , , 1, 1 ], [ , , , , 1 ], [ , , , , , , , , , 1, , , 1 ], , [ , , 1, , 1, , , , , , , , , 1, , , , , , , , , , , , 1 ], [ , , , , , , , , , , , , , 1 ] ], [ , [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , , 1, 1, , 1, 1, 1, 1, 1, , , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, , , 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, , 1, , , , , 1 ], [ , 1, , 1, , , , , , 1, , , , , 1, 1, , , , , 1, 1 ], [ , 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, , 1, , , 1, , 1, 1, 1 ], [ , 1, , , , 1, , , , , , , 1 ], [ , 1, , , 1, , , 1, , 1, , 1, 1, , 1, , , , , 1, , 1, , , , 1, 1 ], [ , 1, , , 1, , , 1, 1, 1, , 1, 1, 1, 1, 1, , 1, 1, , 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , , , , , , , , , , , , , , , , , , , , 1 ], [ , 1, 1, 1, , , , 1, 1, , , , , , 1, 1, 1, , 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1 ], [ , 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, , 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , , , 1, 1, 1, 1, 1, 1, 1, , 1, , 1, 1, 1, 1, 1, , 1, 1, , 1, 1, 1, 1, 1 ], [ , 1, , , , 1, , , , 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, , , , 1, , , , , , , , 1, , , , , , , , , , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1 ], [ 1, 1, , 1, 1, 1, , 1, 1, 1, , , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, , 1 ], [ 1, 1, , , , , , , 1, 1, , , , , 1, 1, 1, 1, 1, , 1, 1, 1, 1, , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, , 1, , 1, 1, 1, 1, , 1, 1, , 1, 1, 1, 1 ], , [ , 1, 1, , , , , 1, , 1, , , , 1, 1, 1, , , 1, , , , , 1 ], [ , , , , , , , , , , , , , 1 ], [ , , , , , 1, , , , , , , , 1, 1, , , , , 1, , 1, , , 1, 1 ], [ , , , , , , , , , , , , , , 1 ] ], [ , [ , 1 ], , , , , , , , , , , , , , , , , , , , [ 1, 1, 1, 1, 1, , 1, 1, 1, 1, , 1, 1, 1, 1, , 1, 1, 1, 1, , , 1, 1, 1, 1, 1 ], [ , 1, , 1, , 1, , , 1, 1, 1, , 1, 1, 1, 1, 1, , , 1, , , , 1, , 1, 1 ], [ , 1, , 1, , 1, , , 1, , , , , 1, , , , , , 1, 1 ], [ , 1, , 1, , , , , 1, , , , 1, , 1, 1, 1, 1, 1, 1, 1, 1, , 1 ], [ , 1, , , , , , , , , , , , , , , 1 ] ], [ , [ , 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , , 1, , , , , , , , , 1, 1, , , , 1 ], [ , , , , , , 1 ], [ , , 1 ], [ , 1, 1, , , 1, , 1, , 1, 1, , 1, 1, 1, , , , 1, 1, 1, , , , , 1 ], , [ , 1, , , , 1, , , , , , 1, , , 1, , , , 1, 1, , 1 ], [ , , , , , , , 1, , , , , , , , , 1 ], [ , 1, , , , 1, 1, , , , , , 1, 1, 1, , , , 1, , 1, 1 ], [ , , , , , , , 1, , 1, , , , , , , , , , 1 ], [ , 1, 1, , , , , , 1, 1, , , , 1, , , , , , , 1, , , 1 ], , [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, , , 1, , , 1, , , , , 1, , 1, , 1, , 1, , , , , 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, , , , , 1, 1, , 1, 1, , 1, , , 1, , 1 ], [ , , , , , , , , , , , , , , 1, , , , , , 1 ], , [ , , , , , , , , , 1, , , , , , 1, , , , , 1 ], [ , , 1, , , , , , , 1, , , 1, 1 ], [ , , , 1, , , , , 1, , , , , 1, , , , , , 1, , , , 1 ], [ 1, , 1, 1, , 1, 1, 1, 1, 1, , 1, , , , 1, 1, 1, , , 1, 1, , , , 1, 1 ], , [ 1, 1, , , , , , , , , , 1, , 1, , 1, , , 1 ], [ , , , , 1, , , , , , , , , , , , , , , , , , , 1 ], [ , , , , , , , , , , , , , , 1, , , , , 1, , 1 ], [ , , , , , , , , 1 ] ], [ , [ 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, , , 1, 1, 1, 1, 1, , 1, 1, , 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, , 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, , 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1 ], [ , , 1, , , 1, , , , , , , , 1, , , , , , 1, , , , 1 ], [ 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, , 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, , 1, 1, , 1, , , , 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, , 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, , 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, , 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1 ], [ , , 1, 1, 1, 1, , 1, , 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1 ], [ 1, 1, , , , , , , 1, , 1, 1, , 1, 1, 1, , 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1 ], [ 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1 ], [ 1, 1, 1, 1, , 1, , 1, , 1, 1, 1, 1, 1, , , , 1, 1, 1, 1, , 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, , 1, , , , , , 1, , 1, , , , , 1, 1, , , , , 1 ], [ 1, , 1, 1, , , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , , 1, 1, , 1, , 1, , , , 1, 1, 1, 1, 1, , , 1, 1, , 1, , 1 ], [ , 1, 1, 1, 1, , , , , 1, , 1, 1, 1, 1, 1, , , 1, 1, , , , 1, 1, 1 ], [ , 1, 1, 1, 1, 1, , 1, , , , , 1, , 1, , 1, , , 1, , , 1, 1, , 1 ] ], [ , [ 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, , 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, , 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , , , , , , , , , 1, , , , , 1, 1, , , 1, , 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , , , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, , , 1, 1, 1, 1, , 1, 1, , 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, , , , , , 1, , 1, 1, , 1, 1, 1, 1, 1, , , 1, , 1, , 1 ], [ 1, 1, 1, , 1, 1, 1, 1, , , , 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1 ], [ 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1 ], [ , 1, , 1, , 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1 ], [ , , 1, , , , , , , , , , 1, 1, 1, 1, 1, 1, 1, , 1, 1, , 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, , , 1, 1, , , , , , 1, 1, 1, 1, 1, , , , 1, 1, 1, , 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, , , , 1, 1, 1, 1, 1, 1, 1, , 1, 1, , 1, 1, 1 ], [ , 1, 1, 1, , 1, , 1, 1, 1, 1, , , 1, 1, 1, , 1, 1, 1, 1, 1, , , 1, 1 ], [ 1, 1, , , , 1, , , 1, 1, 1, , 1, , 1, , 1, , 1, 1, 1, 1, 1, , 1, , 1 ], [ , 1, , , , , , , 1, , 1, , 1, 1, 1, 1, , , , , , , , , 1 ] ], [ , [ , , , , , , , , , , , , , 1, 1, , , , 1 ], [ , 1, , , , , , , , 1, , , 1, , , , , , 1, , , 1, , , , 1 ], , [ , 1, , , , 1, , 1, , 1, 1, , 1, 1, , , , , , , , 1 ], [ , , , , , , , , , , , , , , , , , , , 1 ], [ , , , , , , , , , 1 ], [ 1, 1, 1, , , 1, , , , , , , , , 1, 1, , , , , , , , , , 1 ], [ , 1, , , , , , , , , , , , , 1 ], [ , , , , , , , , , , , , , , , , , , , 1, , , 1 ], [ , , , , , , , , , 1 ], [ 1, 1, , , , , , 1, 1, 1, , 1, 1, , , , 1, 1, , 1, , 1, 1, 1, , 1 ], [ , 1, 1, 1, , 1, 1, , , 1, , 1, 1, 1, 1, , , , , , , 1, , 1 ], [ , 1, 1, 1, 1, , , 1, , 1, , , , 1, 1, 1, 1, , 1, 1, , 1 ], [ , 1, , , 1, 1, , 1, , , , 1, , 1, 1, , 1, , 1, , , 1, , , 1, , 1 ], [ , , , , , , , , , , , 1 ], [ , , , , , , , , , 1, , , , , , , , , , , , , 1 ], , [ 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, , 1, 1, 1, 1, 1, 1, 1 ], [ , 1, , , , , , , 1, 1, , 1, , , , , 1, , , 1, , 1 ], [ , 1, , , , 1, , , 1, , , , , , , , 1, , 1, , , 1 ], [ , , , , , , , , , , , , , 1, 1, , , , 1, , , 1 ], [ , , , , , 1, , , 1, , , , 1 ], [ , 1 ], , [ , 1 ], [ 1, , , , , , , , , , , , , , 1, , , , , 1 ] ], [ , [ , 1, , , , 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, , 1, 1, , 1, 1, , , 1 ], [ , , 1, , , , , , , , , 1 ], , , [ 1, , , 1, 1, , , , , , , , 1, 1, , 1, 1, , 1 ], , [ , , , , , , , , , , , , , , , , , , 1, , 1 ], , [ 1, , , 1, 1, , 1, 1, , , , , 1, , 1, , , , , 1, 1, , 1 ], , [ , 1, , , , , , , , 1, 1, 1, 1, 1, , 1, 1, , , , 1, 1 ], [ , , , , , , , , , , , , , , , , 1, , , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , , 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1 ], [ , , , , , , , , , , , 1, , 1, , , 1 ], [ 1, , , , , , , , , , , , , , , , , , 1, , 1 ], , , [ , 1, , , , , , , , , , , , , , 1, , , , 1, 1 ], [ , , , , , , , , , 1, , , 1, , , , , , , , , , 1 ], [ , , , , , , , , , , , , , , , 1 ], [ , , , , , , , , , , , , , 1, 1, , , , , , 1 ], , [ , 1 ] ], [ , [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, , , 1, 1, , 1, 1, 1, 1, 1, 1, , , 1, 1, 1, 1, 1, , 1, 1 ], [ , 1, , , , , , , , 1 ], [ , , , , 1, , , 1, , , 1, 1, , , , , , , , , , 1, , , , 1 ], [ , 1, , 1, 1, , , 1, 1, 1, , , , 1, 1, 1, 1, , 1, 1, 1, 1, , 1 ], [ , , , , , , , 1 ], [ , 1, 1, , , , , 1, , 1, , , , , , 1, , , , , , 1, , 1, , 1 ], [ , 1, , , , , , 1, , , , 1, , , , , , , , , , 1 ], [ , , 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , , , 1, , 1, 1, 1, 1, , 1 ], [ , 1, , , , , , , , 1 ], [ , 1, 1, , 1, , , , , , , , 1, , , , , , 1, , , 1, , 1, , 1 ], [ , 1, , 1, , 1, , 1, 1, 1, , 1, 1, 1, , 1, , , 1, 1, , 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, , , 1, 1, , , , 1, 1, 1, , , , 1, 1, , , 1, 1 ], [ , , 1, 1, 1, 1, , 1, , 1, , 1, , 1, 1, 1, 1, , , , , 1, , 1, , 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, , 1, , 1, , 1, 1, 1, , , 1, 1, , , , 1, , 1 ], [ , , , 1 ], , [ , 1, 1, , 1, , , 1, 1, 1, , 1, 1, 1, 1, 1, 1, , 1, 1, , 1, 1, 1, 1, 1, 1 ], [ , 1, , , , , , 1, , 1, , 1, , , , , , , 1, 1, , 1, 1 ], [ , , , , , , 1, , 1, 1, , 1, , 1, , , , , , , , , , 1 ], [ , 1, 1, , 1, , , , 1, , , , 1, 1, 1, , , , 1, , 1, 1, 1, , 1, 1 ], , [ , 1, 1, , , , , , , , , , , , , 1, , , 1, , , , , 1 ], [ , 1, , , , , , , , , , , , , , , , , , , , , , 1 ], [ , 1, 1, , , , , , , 1, , , , 1, , , , , 1, , , , , , , 1 ] ], [ , [ , 1, 1, 1, 1, 1, , 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1 ], [ , 1, 1, 1, 1, 1, , 1, , 1, 1, , , 1, 1, 1, 1, , 1, , , , , 1, 1, 1 ], [ , , 1, 1, , 1, , 1, 1, , , , 1, 1, 1, 1, , , 1, , 1, 1, 1, 1, , 1 ], [ , 1, , 1, , , , , , , , 1, , 1, , 1, , , , , , , , , , 1 ], [ , , 1, , 1, , , 1, , , , , 1, 1, , , 1, , 1, 1, 1, 1 ], [ , 1 ], [ , 1, 1, , 1, , 1, 1, , 1, , , 1, 1, 1, , , , 1, , , 1, , 1 ], [ 1, 1, , 1, 1, 1, , , , , , , , , , , , , 1, , 1, 1, 1 ], [ , 1, 1, , , , , , , 1, , , 1, , 1, , 1, , 1, 1, , , 1, , , 1 ], [ , , 1, , , , , , , , , , , , , , , , , , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, , 1, , 1, , , , , 1, 1, 1, , , 1, , 1, , , , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, , 1, , , 1, 1, 1, , 1, , 1, 1, 1, , , 1, 1, 1, 1, , , , 1, 1 ], [ , , , 1, 1, , , 1, , 1, , 1, , 1, 1, 1, 1, , 1, , , , , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, , , , , , , , , , , , , , , , , , , 1 ], [ , 1, 1, , 1, 1, , 1, , 1, , , , 1, 1, , , 1, 1, , 1, 1, , 1 ], [ , 1, 1, 1, 1, 1, , , 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, , , 1 ], [ , 1, 1, 1, 1, 1, , 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1 ], [ , 1, 1, , 1, , , 1, , , 1, , 1, 1, 1, 1, 1, , 1, , 1, 1 ], [ , , , , , 1, , , , 1, , , , , 1, 1, , , , 1 ], [ , 1, , 1, 1, 1, , 1, , , 1, 1, 1, , , 1, , , 1, , 1, , , 1 ], [ , , 1, , , , , , , , , 1, , 1, , , , , 1, , 1 ], [ , 1, 1, , , , , , , , 1, 1, 1, , , , , , , , 1, , , , , 1 ], [ , , , , , , , , 1, , , , , 1, , , 1 ] ], [ , [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, , 1, 1, , , 1, 1, 1, 1, 1, 1, 1, 1, , , , , , , , , 1, 1 ], [ , , , , , , , , 1, , , , 1, , 1, , 1 ], [ , 1, , , 1, 1, , 1, , , , 1, , , , , , , , 1 ], [ , 1, , 1, , 1, , , , 1, 1, , 1, , 1, , , , 1, 1, 1, 1, 1, , , 1 ], , [ , 1, , , , , , , , 1, , , 1, 1, , , 1, , 1, 1, , 1, , 1 ], [ , 1, , , 1, , , , , , , , 1, , , , , , , 1 ], [ 1, 1, , , , , 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1 ], , [ , 1, , , , , , 1, , 1, , 1, 1, 1, 1, 1, , , 1, , 1, 1, , , , 1 ], [ , 1, 1, , , 1, , 1, , 1, , , 1, 1, 1, 1, , , 1, , , 1, , , , 1 ], [ , 1, 1, 1, 1, 1, , 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , , , 1, , 1 ], [ , 1, , , 1, 1, , 1, 1, , , 1, 1, , 1, 1, , 1, , 1, , 1 ], [ 1, , 1, , , , , 1, , 1, , 1, 1, 1, 1, , , , , 1, 1, , , , 1, 1 ], [ , 1, 1, , , , , 1, 1, , , 1, , 1, 1, 1, 1, , , , , , , , , , 1 ], , [ , 1, 1, , , 1, , , , 1, , 1, 1, 1, 1, 1, , , , 1, , , , 1, , 1 ], [ , , , 1, 1, , , 1, , , , , 1, , 1, 1, 1, , 1, 1, , , , , , 1 ], [ , 1, , , , , , , , , , , 1, , , , 1, , , , , , , 1, , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, , 1, 1, 1, , 1, 1, , 1, 1, 1, 1 ], [ , 1, , , , , , , , , , , , , , , , , , , 1 ], [ , 1, , , , , , 1, , , , , 1, , 1, , , 1, 1, , 1, 1, , 1 ], [ , 1, , , , , , 1, , , , , 1, 1, , , , , , , , 1, , , , 1 ], [ , , , , , , , , , , , , , , , , , , 1, , , 1, , , , , 1 ], [ , , , , , , , 1, , , , 1 ] ], [ , [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, , 1, , 1, , , , , , , 1, , , , , , , , 1, , , 1 ], [ , 1, , , , , , , 1 ], [ , , , , , , , , , , 1 ], [ , 1, , , , , , 1, 1, , , , , , 1 ], , [ , 1, 1, , , , , , 1, , , , , 1, 1, , , , 1 ], [ 1, , 1, , 1, , , , , 1, , , , , 1, , , , , , , , , 1, 1 ], [ , 1, 1, , , , , , , , , 1, 1, 1, 1, , , , 1, , , , , 1, , , 1 ], , [ , 1, 1, , 1, , , 1, 1, , , 1, , , 1, 1, 1, , 1, , 1, 1, 1, , , , 1 ], [ , , , , , 1, , , , , 1, , , 1, 1, , , 1, , 1, , , , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, , , 1, 1, , 1, , , , 1, , , , , , , , 1 ], [ , , , 1, , , , , 1, , , , , 1, , 1, , 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , , , , , 1 ], [ , 1, , , , , , 1, , , , , , , 1, 1, 1, , , 1 ], [ , 1, , , , , , , , , , 1, 1, 1, , , , , 1, , , 1 ], [ , , , , , 1, , 1, , , , , 1, 1, 1, , 1, 1, , 1, 1, 1, , , 1, 1 ], [ 1, 1, , , , , , , 1, , , , , 1, 1, , , , , , , , , , , 1 ], , [ , 1 ], [ , , , , , , , , , , , , , , , , , , , , , , , , 1 ], [ , , 1, , , , , 1, , , 1, , , , 1, , 1 ], [ , 1, , , , , , , , , 1 ] ] ];\n    function isValidLang(lang) {\n      var array = langs;\n      while (lang.length < 3) {\n        lang += '`';\n      }\n      for (var _i18 = 0; _i18 <= lang.length - 1; _i18++) {\n        var index = lang.charCodeAt(_i18) - 96;\n        array = array[index];\n        if (!array) {\n          return false;\n        }\n      }\n      return true;\n    }\n    function _validLangs(langArray) {\n      langArray = Array.isArray(langArray) ? langArray : langs;\n      var codes = [];\n      langArray.forEach(function(lang, index) {\n        var _char3 = String.fromCharCode(index + 96).replace('`', '');\n        if (Array.isArray(lang)) {\n          codes = codes.concat(_validLangs(lang).map(function(newLang) {\n            return _char3 + newLang;\n          }));\n        } else {\n          codes.push(_char3);\n        }\n      });\n      return codes;\n    }\n    var valid_langs_default = isValidLang;\n    var SerialVirtualNode = function(_abstract_virtual_nod2) {\n      function SerialVirtualNode(serialNode) {\n        var _this8;\n        _classCallCheck(this, SerialVirtualNode);\n        _this8 = _callSuper(this, SerialVirtualNode);\n        _this8._props = normaliseProps(serialNode);\n        _this8._attrs = normaliseAttrs(serialNode);\n        return _this8;\n      }\n      _inherits(SerialVirtualNode, _abstract_virtual_nod2);\n      return _createClass(SerialVirtualNode, [ {\n        key: 'props',\n        get: function get() {\n          return this._props;\n        }\n      }, {\n        key: 'attr',\n        value: function attr(attrName) {\n          var _this$_attrs$attrName;\n          return (_this$_attrs$attrName = this._attrs[attrName]) !== null && _this$_attrs$attrName !== void 0 ? _this$_attrs$attrName : null;\n        }\n      }, {\n        key: 'hasAttr',\n        value: function hasAttr(attrName) {\n          return this._attrs[attrName] !== void 0;\n        }\n      }, {\n        key: 'attrNames',\n        get: function get() {\n          return Object.keys(this._attrs);\n        }\n      } ]);\n    }(abstract_virtual_node_default);\n    var nodeNamesToTypes = {\n      '#cdata-section': 2,\n      '#text': 3,\n      '#comment': 8,\n      '#document': 9,\n      '#document-fragment': 11\n    };\n    var nodeTypeToName = {};\n    var nodeNames = Object.keys(nodeNamesToTypes);\n    nodeNames.forEach(function(nodeName2) {\n      nodeTypeToName[nodeNamesToTypes[nodeName2]] = nodeName2;\n    });\n    function normaliseProps(serialNode) {\n      var _serialNode$nodeName, _ref80, _serialNode$nodeType;\n      var nodeName2 = (_serialNode$nodeName = serialNode.nodeName) !== null && _serialNode$nodeName !== void 0 ? _serialNode$nodeName : nodeTypeToName[serialNode.nodeType];\n      var nodeType = (_ref80 = (_serialNode$nodeType = serialNode.nodeType) !== null && _serialNode$nodeType !== void 0 ? _serialNode$nodeType : nodeNamesToTypes[serialNode.nodeName]) !== null && _ref80 !== void 0 ? _ref80 : 1;\n      assert_default(typeof nodeType === 'number', 'nodeType has to be a number, got \\''.concat(nodeType, '\\''));\n      assert_default(typeof nodeName2 === 'string', 'nodeName has to be a string, got \\''.concat(nodeName2, '\\''));\n      nodeName2 = nodeName2.toLowerCase();\n      var type2 = null;\n      if (nodeName2 === 'input') {\n        type2 = (serialNode.type || serialNode.attributes && serialNode.attributes.type || '').toLowerCase();\n        if (!valid_input_type_default().includes(type2)) {\n          type2 = 'text';\n        }\n      }\n      var props = _extends({}, serialNode, {\n        nodeType: nodeType,\n        nodeName: nodeName2\n      });\n      if (type2) {\n        props.type = type2;\n      }\n      delete props.attributes;\n      return Object.freeze(props);\n    }\n    function normaliseAttrs(_ref81) {\n      var _ref81$attributes = _ref81.attributes, attributes2 = _ref81$attributes === void 0 ? {} : _ref81$attributes;\n      var attrMap = {\n        htmlFor: 'for',\n        className: 'class'\n      };\n      return Object.keys(attributes2).reduce(function(attrs, attrName) {\n        var value = attributes2[attrName];\n        assert_default(_typeof(value) !== 'object' || value === null, 'expects attributes not to be an object, \\''.concat(attrName, '\\' was'));\n        if (value !== void 0) {\n          var mappedName = attrMap[attrName] || attrName;\n          attrs[mappedName] = value !== null ? String(value) : null;\n        }\n        return attrs;\n      }, {});\n    }\n    var serial_virtual_node_default = SerialVirtualNode;\n    function cleanup(resolve, reject) {\n      resolve = resolve || function res() {};\n      reject = reject || axe.log;\n      if (!axe._audit) {\n        throw new Error('No audit configured');\n      }\n      var q = axe.utils.queue();\n      var cleanupErrors = [];\n      Object.keys(axe.plugins).forEach(function(key) {\n        q.defer(function(res) {\n          var rej = function rej2(err2) {\n            cleanupErrors.push(err2);\n            res();\n          };\n          try {\n            axe.plugins[key].cleanup(res, rej);\n          } catch (err2) {\n            rej(err2);\n          }\n        });\n      });\n      var flattenedTree = axe.utils.getFlattenedTree(document.body);\n      axe.utils.querySelectorAll(flattenedTree, 'iframe, frame').forEach(function(node) {\n        q.defer(function(res, rej) {\n          return axe.utils.sendCommandToFrame(node.actualNode, {\n            command: 'cleanup-plugin'\n          }, res, rej);\n        });\n      });\n      q.then(function(results) {\n        if (cleanupErrors.length === 0) {\n          resolve(results);\n        } else {\n          reject(cleanupErrors);\n        }\n      })['catch'](reject);\n    }\n    var cleanup_default = cleanup;\n    var reporters = {};\n    var defaultReporter;\n    function hasReporter(reporterName) {\n      return reporters.hasOwnProperty(reporterName);\n    }\n    function getReporter(reporter) {\n      if (typeof reporter === 'string' && reporters[reporter]) {\n        return reporters[reporter];\n      }\n      if (typeof reporter === 'function') {\n        return reporter;\n      }\n      return defaultReporter;\n    }\n    function addReporter(name, cb, isDefault) {\n      reporters[name] = cb;\n      if (isDefault) {\n        defaultReporter = cb;\n      }\n    }\n    function configure(spec) {\n      var audit = axe._audit;\n      if (!audit) {\n        throw new Error('No audit configured');\n      }\n      if (spec.axeVersion || spec.ver) {\n        var specVersion = spec.axeVersion || spec.ver;\n        if (!/^\\d+\\.\\d+\\.\\d+(-canary)?/.test(specVersion)) {\n          throw new Error('Invalid configured version '.concat(specVersion));\n        }\n        var _specVersion$split = specVersion.split('-'), _specVersion$split2 = _slicedToArray(_specVersion$split, 2), version = _specVersion$split2[0], canary = _specVersion$split2[1];\n        var _version$split$map = version.split('.').map(Number), _version$split$map2 = _slicedToArray(_version$split$map, 3), major = _version$split$map2[0], minor = _version$split$map2[1], patch = _version$split$map2[2];\n        var _axe$version$split = axe.version.split('-'), _axe$version$split2 = _slicedToArray(_axe$version$split, 2), axeVersion = _axe$version$split2[0], axeCanary = _axe$version$split2[1];\n        var _axeVersion$split$map = axeVersion.split('.').map(Number), _axeVersion$split$map2 = _slicedToArray(_axeVersion$split$map, 3), axeMajor = _axeVersion$split$map2[0], axeMinor = _axeVersion$split$map2[1], axePatch = _axeVersion$split$map2[2];\n        if (major !== axeMajor || axeMinor < minor || axeMinor === minor && axePatch < patch || major === axeMajor && minor === axeMinor && patch === axePatch && canary && canary !== axeCanary) {\n          throw new Error('Configured version '.concat(specVersion, ' is not compatible with current axe version ').concat(axe.version));\n        }\n      }\n      if (spec.reporter && (typeof spec.reporter === 'function' || hasReporter(spec.reporter))) {\n        audit.reporter = spec.reporter;\n      }\n      if (spec.checks) {\n        if (!Array.isArray(spec.checks)) {\n          throw new TypeError('Checks property must be an array');\n        }\n        spec.checks.forEach(function(check) {\n          if (!check.id) {\n            throw new TypeError('Configured check '.concat(JSON.stringify(check), ' is invalid. Checks must be an object with at least an id property'));\n          }\n          audit.addCheck(check);\n        });\n      }\n      var modifiedRules = [];\n      if (spec.rules) {\n        if (!Array.isArray(spec.rules)) {\n          throw new TypeError('Rules property must be an array');\n        }\n        spec.rules.forEach(function(rule) {\n          if (!rule.id) {\n            throw new TypeError('Configured rule '.concat(JSON.stringify(rule), ' is invalid. Rules must be an object with at least an id property'));\n          }\n          modifiedRules.push(rule.id);\n          audit.addRule(rule);\n        });\n      }\n      if (spec.disableOtherRules) {\n        audit.rules.forEach(function(rule) {\n          if (modifiedRules.includes(rule.id) === false) {\n            rule.enabled = false;\n          }\n        });\n      }\n      if (typeof spec.branding !== 'undefined') {\n        audit.setBranding(spec.branding);\n      } else {\n        audit._constructHelpUrls();\n      }\n      if (spec.tagExclude) {\n        audit.tagExclude = spec.tagExclude;\n      }\n      if (spec.locale) {\n        audit.applyLocale(spec.locale);\n      }\n      if (spec.standards) {\n        configureStandards(spec.standards);\n      }\n      if (spec.noHtml) {\n        audit.noHtml = true;\n      }\n      if (spec.allowedOrigins) {\n        if (!Array.isArray(spec.allowedOrigins)) {\n          throw new TypeError('Allowed origins property must be an array');\n        }\n        if (spec.allowedOrigins.includes('*')) {\n          throw new Error('\"*\" is not allowed. Use \"'.concat(constants_default.allOrigins, '\" instead'));\n        }\n        audit.setAllowedOrigins(spec.allowedOrigins);\n      }\n    }\n    var configure_default = configure;\n    function frameMessenger2(frameHandler) {\n      _respondable.updateMessenger(frameHandler);\n    }\n    function getRules(tags) {\n      tags = tags || [];\n      var matchingRules = !tags.length ? axe._audit.rules : axe._audit.rules.filter(function(item) {\n        return !!tags.filter(function(tag) {\n          return item.tags.indexOf(tag) !== -1;\n        }).length;\n      });\n      var ruleData = axe._audit.data.rules || {};\n      return matchingRules.map(function(matchingRule) {\n        var rd = ruleData[matchingRule.id] || {};\n        return {\n          ruleId: matchingRule.id,\n          description: rd.description,\n          help: rd.help,\n          helpUrl: rd.helpUrl,\n          tags: matchingRule.tags,\n          actIds: matchingRule.actIds\n        };\n      });\n    }\n    var get_rules_default = getRules;\n    function hiddenContentEvaluate(node, options, virtualNode) {\n      var allowlist = [ 'SCRIPT', 'HEAD', 'TITLE', 'NOSCRIPT', 'STYLE', 'TEMPLATE' ];\n      if (!allowlist.includes(node.nodeName.toUpperCase()) && has_content_virtual_default(virtualNode)) {\n        var styles = window.getComputedStyle(node);\n        if (styles.getPropertyValue('display') === 'none') {\n          return void 0;\n        } else if (styles.getPropertyValue('visibility') === 'hidden') {\n          var parent = get_composed_parent_default(node);\n          var parentStyle = parent && window.getComputedStyle(parent);\n          if (!parentStyle || parentStyle.getPropertyValue('visibility') !== 'hidden') {\n            return void 0;\n          }\n        }\n      }\n      return true;\n    }\n    var hidden_content_evaluate_default = hiddenContentEvaluate;\n    var table_exports = {};\n    __export(table_exports, {\n      getAllCells: function getAllCells() {\n        return get_all_cells_default;\n      },\n      getCellPosition: function getCellPosition() {\n        return get_cell_position_default;\n      },\n      getHeaders: function getHeaders() {\n        return get_headers_default;\n      },\n      getScope: function getScope() {\n        return _getScope;\n      },\n      isColumnHeader: function isColumnHeader() {\n        return is_column_header_default;\n      },\n      isDataCell: function isDataCell() {\n        return is_data_cell_default;\n      },\n      isDataTable: function isDataTable() {\n        return is_data_table_default;\n      },\n      isHeader: function isHeader() {\n        return is_header_default;\n      },\n      isRowHeader: function isRowHeader() {\n        return is_row_header_default;\n      },\n      toArray: function toArray() {\n        return to_grid_default;\n      },\n      toGrid: function toGrid() {\n        return to_grid_default;\n      },\n      traverse: function traverse() {\n        return traverse_default;\n      }\n    });\n    function getAllCells(tableElm) {\n      var rowIndex, cellIndex, rowLength, cellLength;\n      var cells = [];\n      for (rowIndex = 0, rowLength = tableElm.rows.length; rowIndex < rowLength; rowIndex++) {\n        for (cellIndex = 0, cellLength = tableElm.rows[rowIndex].cells.length; cellIndex < cellLength; cellIndex++) {\n          cells.push(tableElm.rows[rowIndex].cells[cellIndex]);\n        }\n      }\n      return cells;\n    }\n    var get_all_cells_default = getAllCells;\n    function traverseForHeaders(headerType, position, tableGrid) {\n      var property = headerType === 'row' ? '_rowHeaders' : '_colHeaders';\n      var predicate = headerType === 'row' ? is_row_header_default : is_column_header_default;\n      var startCell = tableGrid[position.y][position.x];\n      var colspan = startCell.colSpan - 1;\n      var rowspanAttr = startCell.getAttribute('rowspan');\n      var rowspanValue = parseInt(rowspanAttr) === 0 || startCell.rowspan === 0 ? tableGrid.length : startCell.rowSpan;\n      var rowspan = rowspanValue - 1;\n      var rowStart = position.y + rowspan;\n      var colStart = position.x + colspan;\n      var rowEnd = headerType === 'row' ? position.y : 0;\n      var colEnd = headerType === 'row' ? 0 : position.x;\n      var headers;\n      var cells = [];\n      for (var row = rowStart; row >= rowEnd && !headers; row--) {\n        for (var col = colStart; col >= colEnd; col--) {\n          var cell = tableGrid[row] ? tableGrid[row][col] : void 0;\n          if (!cell) {\n            continue;\n          }\n          var vNode = axe.utils.getNodeFromTree(cell);\n          if (vNode[property]) {\n            headers = vNode[property];\n            break;\n          }\n          cells.push(cell);\n        }\n      }\n      headers = (headers || []).concat(cells.filter(predicate));\n      cells.forEach(function(tableCell) {\n        var vNode = axe.utils.getNodeFromTree(tableCell);\n        vNode[property] = headers;\n      });\n      return headers;\n    }\n    function getHeaders(cell, tableGrid) {\n      if (cell.getAttribute('headers')) {\n        var headers = idrefs_default(cell, 'headers');\n        if (headers.filter(function(header) {\n          return header;\n        }).length) {\n          return headers;\n        }\n      }\n      if (!tableGrid) {\n        tableGrid = to_grid_default(find_up_default(cell, 'table'));\n      }\n      var position = get_cell_position_default(cell, tableGrid);\n      var rowHeaders = traverseForHeaders('row', position, tableGrid);\n      var colHeaders = traverseForHeaders('col', position, tableGrid);\n      return [].concat(rowHeaders, colHeaders).reverse();\n    }\n    var get_headers_default = getHeaders;\n    function isDataCell(cell) {\n      if (!cell.children.length && !cell.textContent.trim()) {\n        return false;\n      }\n      var role = get_explicit_role_default(cell);\n      if (role) {\n        return [ 'cell', 'gridcell' ].includes(role);\n      } else {\n        return cell.nodeName.toUpperCase() === 'TD';\n      }\n    }\n    var is_data_cell_default = isDataCell;\n    function isDataTable(node) {\n      var role = get_explicit_role_default(node);\n      if ((role === 'presentation' || role === 'none') && !_isFocusable(node)) {\n        return false;\n      }\n      if (node.getAttribute('contenteditable') === 'true' || find_up_default(node, '[contenteditable=\"true\"]')) {\n        return true;\n      }\n      if (role === 'grid' || role === 'treegrid' || role === 'table') {\n        return true;\n      }\n      if (get_role_type_default(role) === 'landmark') {\n        return true;\n      }\n      if (node.getAttribute('datatable') === '0') {\n        return false;\n      }\n      if (node.getAttribute('summary')) {\n        return true;\n      }\n      if (node.tHead || node.tFoot || node.caption) {\n        return true;\n      }\n      for (var childIndex = 0, childLength = node.children.length; childIndex < childLength; childIndex++) {\n        if (node.children[childIndex].nodeName.toUpperCase() === 'COLGROUP') {\n          return true;\n        }\n      }\n      var cells = 0;\n      var rowLength = node.rows.length;\n      var row, cell;\n      var hasBorder = false;\n      for (var rowIndex = 0; rowIndex < rowLength; rowIndex++) {\n        row = node.rows[rowIndex];\n        for (var cellIndex = 0, cellLength = row.cells.length; cellIndex < cellLength; cellIndex++) {\n          cell = row.cells[cellIndex];\n          if (cell.nodeName.toUpperCase() === 'TH') {\n            return true;\n          }\n          if (!hasBorder && (cell.offsetWidth !== cell.clientWidth || cell.offsetHeight !== cell.clientHeight)) {\n            hasBorder = true;\n          }\n          if (cell.getAttribute('scope') || cell.getAttribute('headers') || cell.getAttribute('abbr')) {\n            return true;\n          }\n          if ([ 'columnheader', 'rowheader' ].includes(get_explicit_role_default(cell))) {\n            return true;\n          }\n          if (cell.children.length === 1 && cell.children[0].nodeName.toUpperCase() === 'ABBR') {\n            return true;\n          }\n          cells++;\n        }\n      }\n      if (node.getElementsByTagName('table').length) {\n        return false;\n      }\n      if (rowLength < 2) {\n        return false;\n      }\n      var sampleRow = node.rows[Math.ceil(rowLength / 2)];\n      if (sampleRow.cells.length === 1 && sampleRow.cells[0].colSpan === 1) {\n        return false;\n      }\n      if (sampleRow.cells.length >= 5) {\n        return true;\n      }\n      if (hasBorder) {\n        return true;\n      }\n      var bgColor, bgImage;\n      for (var _rowIndex = 0; _rowIndex < rowLength; _rowIndex++) {\n        row = node.rows[_rowIndex];\n        if (bgColor && bgColor !== window.getComputedStyle(row).getPropertyValue('background-color')) {\n          return true;\n        } else {\n          bgColor = window.getComputedStyle(row).getPropertyValue('background-color');\n        }\n        if (bgImage && bgImage !== window.getComputedStyle(row).getPropertyValue('background-image')) {\n          return true;\n        } else {\n          bgImage = window.getComputedStyle(row).getPropertyValue('background-image');\n        }\n      }\n      if (rowLength >= 20) {\n        return true;\n      }\n      if (get_element_coordinates_default(node).width > get_viewport_size_default(window).width * .95) {\n        return false;\n      }\n      if (cells < 10) {\n        return false;\n      }\n      if (node.querySelector('object, embed, iframe, applet')) {\n        return false;\n      }\n      return true;\n    }\n    var is_data_table_default = isDataTable;\n    function isHeader(cell) {\n      if (is_column_header_default(cell) || is_row_header_default(cell)) {\n        return true;\n      }\n      if (cell.getAttribute('id')) {\n        var _id4 = escape_selector_default(cell.getAttribute('id'));\n        return !!document.querySelector('[headers~=\"'.concat(_id4, '\"]'));\n      }\n      return false;\n    }\n    var is_header_default = isHeader;\n    function traverseTable(dir, position, tableGrid, callback) {\n      var result;\n      var cell = tableGrid[position.y] ? tableGrid[position.y][position.x] : void 0;\n      if (!cell) {\n        return [];\n      }\n      if (typeof callback === 'function') {\n        result = callback(cell, position, tableGrid);\n        if (result === true) {\n          return [ cell ];\n        }\n      }\n      result = traverseTable(dir, {\n        x: position.x + dir.x,\n        y: position.y + dir.y\n      }, tableGrid, callback);\n      result.unshift(cell);\n      return result;\n    }\n    function traverse(dir, startPos, tableGrid, callback) {\n      if (Array.isArray(startPos)) {\n        callback = tableGrid;\n        tableGrid = startPos;\n        startPos = {\n          x: 0,\n          y: 0\n        };\n      }\n      if (typeof dir === 'string') {\n        switch (dir) {\n         case 'left':\n          dir = {\n            x: -1,\n            y: 0\n          };\n          break;\n\n         case 'up':\n          dir = {\n            x: 0,\n            y: -1\n          };\n          break;\n\n         case 'right':\n          dir = {\n            x: 1,\n            y: 0\n          };\n          break;\n\n         case 'down':\n          dir = {\n            x: 0,\n            y: 1\n          };\n          break;\n        }\n      }\n      return traverseTable(dir, {\n        x: startPos.x + dir.x,\n        y: startPos.y + dir.y\n      }, tableGrid, callback);\n    }\n    var traverse_default = traverse;\n    var aria_exports = {};\n    __export(aria_exports, {\n      allowedAttr: function allowedAttr() {\n        return allowed_attr_default;\n      },\n      arialabelText: function arialabelText() {\n        return _arialabelText;\n      },\n      arialabelledbyText: function arialabelledbyText() {\n        return arialabelledby_text_default;\n      },\n      getAccessibleRefs: function getAccessibleRefs() {\n        return get_accessible_refs_default;\n      },\n      getElementUnallowedRoles: function getElementUnallowedRoles() {\n        return get_element_unallowed_roles_default;\n      },\n      getExplicitRole: function getExplicitRole() {\n        return get_explicit_role_default;\n      },\n      getImplicitRole: function getImplicitRole() {\n        return implicit_role_default;\n      },\n      getOwnedVirtual: function getOwnedVirtual() {\n        return get_owned_virtual_default;\n      },\n      getRole: function getRole() {\n        return get_role_default;\n      },\n      getRoleType: function getRoleType() {\n        return get_role_type_default;\n      },\n      getRolesByType: function getRolesByType() {\n        return get_roles_by_type_default;\n      },\n      getRolesWithNameFromContents: function getRolesWithNameFromContents() {\n        return get_roles_with_name_from_contents_default;\n      },\n      implicitNodes: function implicitNodes() {\n        return implicit_nodes_default;\n      },\n      implicitRole: function implicitRole() {\n        return implicit_role_default;\n      },\n      isAccessibleRef: function isAccessibleRef() {\n        return is_accessible_ref_default;\n      },\n      isAriaRoleAllowedOnElement: function isAriaRoleAllowedOnElement() {\n        return is_aria_role_allowed_on_element_default;\n      },\n      isComboboxPopup: function isComboboxPopup() {\n        return _isComboboxPopup;\n      },\n      isUnsupportedRole: function isUnsupportedRole() {\n        return is_unsupported_role_default;\n      },\n      isValidRole: function isValidRole() {\n        return is_valid_role_default;\n      },\n      label: function label() {\n        return label_default2;\n      },\n      labelVirtual: function labelVirtual() {\n        return label_virtual_default;\n      },\n      lookupTable: function lookupTable() {\n        return lookup_table_default;\n      },\n      namedFromContents: function namedFromContents() {\n        return named_from_contents_default;\n      },\n      requiredAttr: function requiredAttr() {\n        return required_attr_default;\n      },\n      requiredContext: function requiredContext() {\n        return required_context_default;\n      },\n      requiredOwned: function requiredOwned() {\n        return required_owned_default;\n      },\n      validateAttr: function validateAttr() {\n        return validate_attr_default;\n      },\n      validateAttrValue: function validateAttrValue() {\n        return validate_attr_value_default;\n      }\n    });\n    function allowedAttr(role) {\n      var roleDef = standards_default.ariaRoles[role];\n      var attrs = _toConsumableArray(get_global_aria_attrs_default());\n      if (!roleDef) {\n        return attrs;\n      }\n      if (roleDef.allowedAttrs) {\n        attrs.push.apply(attrs, _toConsumableArray(roleDef.allowedAttrs));\n      }\n      if (roleDef.requiredAttrs) {\n        attrs.push.apply(attrs, _toConsumableArray(roleDef.requiredAttrs));\n      }\n      return attrs;\n    }\n    var allowed_attr_default = allowedAttr;\n    var idRefsRegex = /^idrefs?$/;\n    function cacheIdRefs(node, idRefs, refAttrs) {\n      if (node.hasAttribute) {\n        if (node.nodeName.toUpperCase() === 'LABEL' && node.hasAttribute('for')) {\n          var _id5 = node.getAttribute('for');\n          if (!idRefs.has(_id5)) {\n            idRefs.set(_id5, [ node ]);\n          } else {\n            idRefs.get(_id5).push(node);\n          }\n        }\n        for (var _i19 = 0; _i19 < refAttrs.length; ++_i19) {\n          var attr = refAttrs[_i19];\n          var attrValue = sanitize_default(node.getAttribute(attr) || '');\n          if (!attrValue) {\n            continue;\n          }\n          var _iterator15 = _createForOfIteratorHelper(token_list_default(attrValue)), _step15;\n          try {\n            for (_iterator15.s(); !(_step15 = _iterator15.n()).done; ) {\n              var token = _step15.value;\n              if (!idRefs.has(token)) {\n                idRefs.set(token, [ node ]);\n              } else {\n                idRefs.get(token).push(node);\n              }\n            }\n          } catch (err) {\n            _iterator15.e(err);\n          } finally {\n            _iterator15.f();\n          }\n        }\n      }\n      for (var _i20 = 0; _i20 < node.childNodes.length; _i20++) {\n        if (node.childNodes[_i20].nodeType === 1) {\n          cacheIdRefs(node.childNodes[_i20], idRefs, refAttrs);\n        }\n      }\n    }\n    function getAccessibleRefs(node) {\n      var _idRefs$get;\n      node = node.actualNode || node;\n      var root = get_root_node_default2(node);\n      root = root.documentElement || root;\n      var idRefsByRoot = cache_default.get('idRefsByRoot', function() {\n        return new Map();\n      });\n      var idRefs = idRefsByRoot.get(root);\n      if (!idRefs) {\n        idRefs = new Map();\n        idRefsByRoot.set(root, idRefs);\n        var refAttrs = Object.keys(standards_default.ariaAttrs).filter(function(attr) {\n          var type2 = standards_default.ariaAttrs[attr].type;\n          return idRefsRegex.test(type2);\n        });\n        cacheIdRefs(root, idRefs, refAttrs);\n      }\n      return (_idRefs$get = idRefs.get(node.id)) !== null && _idRefs$get !== void 0 ? _idRefs$get : [];\n    }\n    var get_accessible_refs_default = getAccessibleRefs;\n    function isAriaRoleAllowedOnElement(node, role) {\n      var vNode = node instanceof abstract_virtual_node_default ? node : get_node_from_tree_default(node);\n      var implicitRole3 = implicit_role_default(vNode);\n      var spec = get_element_spec_default(vNode);\n      if (Array.isArray(spec.allowedRoles)) {\n        return spec.allowedRoles.includes(role);\n      }\n      if (role === implicitRole3) {\n        return false;\n      }\n      return !!spec.allowedRoles;\n    }\n    var is_aria_role_allowed_on_element_default = isAriaRoleAllowedOnElement;\n    var dpubRoles2 = [ 'doc-backlink', 'doc-biblioentry', 'doc-biblioref', 'doc-cover', 'doc-endnote', 'doc-glossref', 'doc-noteref' ];\n    var landmarkRoles = {\n      header: 'banner',\n      footer: 'contentinfo'\n    };\n    function getRoleSegments(vNode) {\n      var roles = [];\n      if (!vNode) {\n        return roles;\n      }\n      if (vNode.hasAttr('role')) {\n        var nodeRoles = token_list_default(vNode.attr('role').toLowerCase());\n        roles = roles.concat(nodeRoles);\n      }\n      return roles.filter(function(role) {\n        return is_valid_role_default(role);\n      });\n    }\n    function getElementUnallowedRoles(node) {\n      var allowImplicit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n      var _nodeLookup20 = _nodeLookup(node), vNode = _nodeLookup20.vNode;\n      if (!is_html_element_default(vNode)) {\n        return [];\n      }\n      var nodeName2 = vNode.props.nodeName;\n      var implicitRole3 = implicit_role_default(vNode) || landmarkRoles[nodeName2];\n      var roleSegments = getRoleSegments(vNode);\n      return roleSegments.filter(function(role) {\n        return !roleIsAllowed(role, vNode, allowImplicit, implicitRole3);\n      });\n    }\n    function roleIsAllowed(role, vNode, allowImplicit, implicitRole3) {\n      if (allowImplicit && role === implicitRole3) {\n        return true;\n      }\n      if (dpubRoles2.includes(role) && get_role_type_default(role) !== implicitRole3) {\n        return false;\n      }\n      return is_aria_role_allowed_on_element_default(vNode, role);\n    }\n    var get_element_unallowed_roles_default = getElementUnallowedRoles;\n    function getAriaRolesByType(type2) {\n      return Object.keys(standards_default.ariaRoles).filter(function(roleName) {\n        return standards_default.ariaRoles[roleName].type === type2;\n      });\n    }\n    var get_aria_roles_by_type_default = getAriaRolesByType;\n    function getRolesByType(roleType) {\n      return get_aria_roles_by_type_default(roleType);\n    }\n    var get_roles_by_type_default = getRolesByType;\n    function getAriaRolesSupportingNameFromContent() {\n      return cache_default.get('ariaRolesNameFromContent', function() {\n        return Object.keys(standards_default.ariaRoles).filter(function(roleName) {\n          return standards_default.ariaRoles[roleName].nameFromContent;\n        });\n      });\n    }\n    var get_aria_roles_supporting_name_from_content_default = getAriaRolesSupportingNameFromContent;\n    function getRolesWithNameFromContents() {\n      return get_aria_roles_supporting_name_from_content_default();\n    }\n    var get_roles_with_name_from_contents_default = getRolesWithNameFromContents;\n    var isNull = function isNull(value) {\n      return value === null;\n    };\n    var isNotNull = function isNotNull(value) {\n      return value !== null;\n    };\n    var lookupTable = {};\n    lookupTable.attributes = {\n      'aria-activedescendant': {\n        type: 'idref',\n        allowEmpty: true,\n        unsupported: false\n      },\n      'aria-atomic': {\n        type: 'boolean',\n        values: [ 'true', 'false' ],\n        unsupported: false\n      },\n      'aria-autocomplete': {\n        type: 'nmtoken',\n        values: [ 'inline', 'list', 'both', 'none' ],\n        unsupported: false\n      },\n      'aria-busy': {\n        type: 'boolean',\n        values: [ 'true', 'false' ],\n        unsupported: false\n      },\n      'aria-checked': {\n        type: 'nmtoken',\n        values: [ 'true', 'false', 'mixed', 'undefined' ],\n        unsupported: false\n      },\n      'aria-colcount': {\n        type: 'int',\n        unsupported: false\n      },\n      'aria-colindex': {\n        type: 'int',\n        unsupported: false\n      },\n      'aria-colspan': {\n        type: 'int',\n        unsupported: false\n      },\n      'aria-controls': {\n        type: 'idrefs',\n        allowEmpty: true,\n        unsupported: false\n      },\n      'aria-current': {\n        type: 'nmtoken',\n        allowEmpty: true,\n        values: [ 'page', 'step', 'location', 'date', 'time', 'true', 'false' ],\n        unsupported: false\n      },\n      'aria-describedby': {\n        type: 'idrefs',\n        allowEmpty: true,\n        unsupported: false\n      },\n      'aria-describedat': {\n        unsupported: true,\n        unstandardized: true\n      },\n      'aria-details': {\n        type: 'idref',\n        allowEmpty: true,\n        unsupported: false\n      },\n      'aria-disabled': {\n        type: 'boolean',\n        values: [ 'true', 'false' ],\n        unsupported: false\n      },\n      'aria-dropeffect': {\n        type: 'nmtokens',\n        values: [ 'copy', 'move', 'reference', 'execute', 'popup', 'none' ],\n        unsupported: false\n      },\n      'aria-errormessage': {\n        type: 'idref',\n        allowEmpty: true,\n        unsupported: false\n      },\n      'aria-expanded': {\n        type: 'nmtoken',\n        values: [ 'true', 'false', 'undefined' ],\n        unsupported: false\n      },\n      'aria-flowto': {\n        type: 'idrefs',\n        allowEmpty: true,\n        unsupported: false\n      },\n      'aria-grabbed': {\n        type: 'nmtoken',\n        values: [ 'true', 'false', 'undefined' ],\n        unsupported: false\n      },\n      'aria-haspopup': {\n        type: 'nmtoken',\n        allowEmpty: true,\n        values: [ 'true', 'false', 'menu', 'listbox', 'tree', 'grid', 'dialog' ],\n        unsupported: false\n      },\n      'aria-hidden': {\n        type: 'boolean',\n        values: [ 'true', 'false' ],\n        unsupported: false\n      },\n      'aria-invalid': {\n        type: 'nmtoken',\n        allowEmpty: true,\n        values: [ 'true', 'false', 'spelling', 'grammar' ],\n        unsupported: false\n      },\n      'aria-keyshortcuts': {\n        type: 'string',\n        allowEmpty: true,\n        unsupported: false\n      },\n      'aria-label': {\n        type: 'string',\n        allowEmpty: true,\n        unsupported: false\n      },\n      'aria-labelledby': {\n        type: 'idrefs',\n        allowEmpty: true,\n        unsupported: false\n      },\n      'aria-level': {\n        type: 'int',\n        unsupported: false\n      },\n      'aria-live': {\n        type: 'nmtoken',\n        values: [ 'off', 'polite', 'assertive' ],\n        unsupported: false\n      },\n      'aria-modal': {\n        type: 'boolean',\n        values: [ 'true', 'false' ],\n        unsupported: false\n      },\n      'aria-multiline': {\n        type: 'boolean',\n        values: [ 'true', 'false' ],\n        unsupported: false\n      },\n      'aria-multiselectable': {\n        type: 'boolean',\n        values: [ 'true', 'false' ],\n        unsupported: false\n      },\n      'aria-orientation': {\n        type: 'nmtoken',\n        values: [ 'horizontal', 'vertical' ],\n        unsupported: false\n      },\n      'aria-owns': {\n        type: 'idrefs',\n        allowEmpty: true,\n        unsupported: false\n      },\n      'aria-placeholder': {\n        type: 'string',\n        allowEmpty: true,\n        unsupported: false\n      },\n      'aria-posinset': {\n        type: 'int',\n        unsupported: false\n      },\n      'aria-pressed': {\n        type: 'nmtoken',\n        values: [ 'true', 'false', 'mixed', 'undefined' ],\n        unsupported: false\n      },\n      'aria-readonly': {\n        type: 'boolean',\n        values: [ 'true', 'false' ],\n        unsupported: false\n      },\n      'aria-relevant': {\n        type: 'nmtokens',\n        values: [ 'additions', 'removals', 'text', 'all' ],\n        unsupported: false\n      },\n      'aria-required': {\n        type: 'boolean',\n        values: [ 'true', 'false' ],\n        unsupported: false\n      },\n      'aria-roledescription': {\n        type: 'string',\n        allowEmpty: true,\n        unsupported: false\n      },\n      'aria-rowcount': {\n        type: 'int',\n        unsupported: false\n      },\n      'aria-rowindex': {\n        type: 'int',\n        unsupported: false\n      },\n      'aria-rowspan': {\n        type: 'int',\n        unsupported: false\n      },\n      'aria-selected': {\n        type: 'nmtoken',\n        values: [ 'true', 'false', 'undefined' ],\n        unsupported: false\n      },\n      'aria-setsize': {\n        type: 'int',\n        unsupported: false\n      },\n      'aria-sort': {\n        type: 'nmtoken',\n        values: [ 'ascending', 'descending', 'other', 'none' ],\n        unsupported: false\n      },\n      'aria-valuemax': {\n        type: 'decimal',\n        unsupported: false\n      },\n      'aria-valuemin': {\n        type: 'decimal',\n        unsupported: false\n      },\n      'aria-valuenow': {\n        type: 'decimal',\n        unsupported: false\n      },\n      'aria-valuetext': {\n        type: 'string',\n        unsupported: false\n      }\n    };\n    lookupTable.globalAttributes = [ 'aria-atomic', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-haspopup', 'aria-hidden', 'aria-invalid', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription' ];\n    lookupTable.role = {\n      alert: {\n        type: 'widget',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      alertdialog: {\n        type: 'widget',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-modal', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'dialog', 'section' ]\n      },\n      application: {\n        type: 'landmark',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage', 'aria-activedescendant' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'article', 'audio', 'embed', 'iframe', 'object', 'section', 'svg', 'video' ]\n      },\n      article: {\n        type: 'structure',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-posinset', 'aria-setsize', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        implicit: [ 'article' ],\n        unsupported: false\n      },\n      banner: {\n        type: 'landmark',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        implicit: [ 'header' ],\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      button: {\n        type: 'widget',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-pressed', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author', 'contents' ],\n        context: null,\n        implicit: [ 'button', 'input[type=\"button\"]', 'input[type=\"image\"]', 'input[type=\"reset\"]', 'input[type=\"submit\"]', 'summary' ],\n        unsupported: false,\n        allowedElements: [ {\n          nodeName: 'a',\n          attributes: {\n            href: isNotNull\n          }\n        } ]\n      },\n      cell: {\n        type: 'structure',\n        attributes: {\n          allowed: [ 'aria-colindex', 'aria-colspan', 'aria-rowindex', 'aria-rowspan', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author', 'contents' ],\n        context: [ 'row' ],\n        implicit: [ 'td', 'th' ],\n        unsupported: false\n      },\n      checkbox: {\n        type: 'widget',\n        attributes: {\n          allowed: [ 'aria-checked', 'aria-required', 'aria-readonly', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author', 'contents' ],\n        context: null,\n        implicit: [ 'input[type=\"checkbox\"]' ],\n        unsupported: false,\n        allowedElements: [ 'button' ]\n      },\n      columnheader: {\n        type: 'structure',\n        attributes: {\n          allowed: [ 'aria-colindex', 'aria-colspan', 'aria-expanded', 'aria-rowindex', 'aria-rowspan', 'aria-required', 'aria-readonly', 'aria-selected', 'aria-sort', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author', 'contents' ],\n        context: [ 'row' ],\n        implicit: [ 'th' ],\n        unsupported: false\n      },\n      combobox: {\n        type: 'composite',\n        attributes: {\n          allowed: [ 'aria-autocomplete', 'aria-required', 'aria-activedescendant', 'aria-orientation', 'aria-errormessage' ],\n          required: [ 'aria-expanded' ]\n        },\n        owned: {\n          all: [ 'listbox', 'tree', 'grid', 'dialog', 'textbox' ]\n        },\n        nameFrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ {\n          nodeName: 'input',\n          properties: {\n            type: [ 'text', 'search', 'tel', 'url', 'email' ]\n          }\n        } ]\n      },\n      command: {\n        nameFrom: [ 'author' ],\n        type: 'abstract',\n        unsupported: false\n      },\n      complementary: {\n        type: 'landmark',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        implicit: [ 'aside' ],\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      composite: {\n        nameFrom: [ 'author' ],\n        type: 'abstract',\n        unsupported: false\n      },\n      contentinfo: {\n        type: 'landmark',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        implicit: [ 'footer' ],\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      definition: {\n        type: 'structure',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        implicit: [ 'dd', 'dfn' ],\n        unsupported: false\n      },\n      dialog: {\n        type: 'widget',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-modal', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        implicit: [ 'dialog' ],\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      directory: {\n        type: 'structure',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author', 'contents' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'ol', 'ul' ]\n      },\n      document: {\n        type: 'structure',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        implicit: [ 'body' ],\n        unsupported: false,\n        allowedElements: [ 'article', 'embed', 'iframe', 'object', 'section', 'svg' ]\n      },\n      'doc-abstract': {\n        type: 'section',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      'doc-acknowledgments': {\n        type: 'landmark',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      'doc-afterword': {\n        type: 'landmark',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      'doc-appendix': {\n        type: 'landmark',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      'doc-backlink': {\n        type: 'link',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author', 'contents' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ {\n          nodeName: 'a',\n          attributes: {\n            href: isNotNull\n          }\n        } ]\n      },\n      'doc-biblioentry': {\n        type: 'listitem',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-level', 'aria-posinset', 'aria-setsize', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: [ 'doc-bibliography' ],\n        unsupported: false,\n        allowedElements: [ 'li' ]\n      },\n      'doc-bibliography': {\n        type: 'landmark',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: {\n          one: [ 'doc-biblioentry' ]\n        },\n        nameFrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      'doc-biblioref': {\n        type: 'link',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author', 'contents' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ {\n          nodeName: 'a',\n          attributes: {\n            href: isNotNull\n          }\n        } ]\n      },\n      'doc-chapter': {\n        type: 'landmark',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        namefrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      'doc-colophon': {\n        type: 'section',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        namefrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      'doc-conclusion': {\n        type: 'landmark',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        namefrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      'doc-cover': {\n        type: 'img',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        namefrom: [ 'author' ],\n        context: null,\n        unsupported: false\n      },\n      'doc-credit': {\n        type: 'section',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        namefrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      'doc-credits': {\n        type: 'landmark',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        namefrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      'doc-dedication': {\n        type: 'section',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        namefrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      'doc-endnote': {\n        type: 'listitem',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-level', 'aria-posinset', 'aria-setsize', 'aria-errormessage' ]\n        },\n        owned: null,\n        namefrom: [ 'author' ],\n        context: [ 'doc-endnotes' ],\n        unsupported: false,\n        allowedElements: [ 'li' ]\n      },\n      'doc-endnotes': {\n        type: 'landmark',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: {\n          one: [ 'doc-endnote' ]\n        },\n        namefrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      'doc-epigraph': {\n        type: 'section',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        namefrom: [ 'author' ],\n        context: null,\n        unsupported: false\n      },\n      'doc-epilogue': {\n        type: 'landmark',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        namefrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      'doc-errata': {\n        type: 'landmark',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        namefrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      'doc-example': {\n        type: 'section',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        namefrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'aside', 'section' ]\n      },\n      'doc-footnote': {\n        type: 'section',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        namefrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'aside', 'footer', 'header' ]\n      },\n      'doc-foreword': {\n        type: 'landmark',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        namefrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      'doc-glossary': {\n        type: 'landmark',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: [ 'term', 'definition' ],\n        namefrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'dl' ]\n      },\n      'doc-glossref': {\n        type: 'link',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        namefrom: [ 'author', 'contents' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ {\n          nodeName: 'a',\n          attributes: {\n            href: isNotNull\n          }\n        } ]\n      },\n      'doc-index': {\n        type: 'navigation',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        namefrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'nav', 'section' ]\n      },\n      'doc-introduction': {\n        type: 'landmark',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        namefrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      'doc-noteref': {\n        type: 'link',\n        attributes: {\n          allowed: [ 'aria-expanded' ]\n        },\n        owned: null,\n        namefrom: [ 'author', 'contents' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ {\n          nodeName: 'a',\n          attributes: {\n            href: isNotNull\n          }\n        } ]\n      },\n      'doc-notice': {\n        type: 'note',\n        attributes: {\n          allowed: [ 'aria-expanded' ]\n        },\n        owned: null,\n        namefrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      'doc-pagebreak': {\n        type: 'separator',\n        attributes: {\n          allowed: [ 'aria-expanded' ]\n        },\n        owned: null,\n        namefrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'hr' ]\n      },\n      'doc-pagelist': {\n        type: 'navigation',\n        attributes: {\n          allowed: [ 'aria-expanded' ]\n        },\n        owned: null,\n        namefrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'nav', 'section' ]\n      },\n      'doc-part': {\n        type: 'landmark',\n        attributes: {\n          allowed: [ 'aria-expanded' ]\n        },\n        owned: null,\n        namefrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      'doc-preface': {\n        type: 'landmark',\n        attributes: {\n          allowed: [ 'aria-expanded' ]\n        },\n        owned: null,\n        namefrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      'doc-prologue': {\n        type: 'landmark',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        namefrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      'doc-pullquote': {\n        type: 'none',\n        attributes: {\n          allowed: [ 'aria-expanded' ]\n        },\n        owned: null,\n        namefrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'aside', 'section' ]\n      },\n      'doc-qna': {\n        type: 'section',\n        attributes: {\n          allowed: [ 'aria-expanded' ]\n        },\n        owned: null,\n        namefrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      'doc-subtitle': {\n        type: 'sectionhead',\n        attributes: {\n          allowed: [ 'aria-expanded' ]\n        },\n        owned: null,\n        namefrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: {\n          nodeName: [ 'h1', 'h2', 'h3', 'h4', 'h5', 'h6' ]\n        }\n      },\n      'doc-tip': {\n        type: 'note',\n        attributes: {\n          allowed: [ 'aria-expanded' ]\n        },\n        owned: null,\n        namefrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'aside' ]\n      },\n      'doc-toc': {\n        type: 'navigation',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        namefrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'nav', 'section' ]\n      },\n      feed: {\n        type: 'structure',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: {\n          one: [ 'article' ]\n        },\n        nameFrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'article', 'aside', 'section' ]\n      },\n      figure: {\n        type: 'structure',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author', 'contents' ],\n        context: null,\n        implicit: [ 'figure' ],\n        unsupported: false\n      },\n      form: {\n        type: 'landmark',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        implicit: [ 'form' ],\n        unsupported: false\n      },\n      grid: {\n        type: 'composite',\n        attributes: {\n          allowed: [ 'aria-activedescendant', 'aria-expanded', 'aria-colcount', 'aria-level', 'aria-multiselectable', 'aria-readonly', 'aria-rowcount', 'aria-errormessage' ]\n        },\n        owned: {\n          one: [ 'rowgroup', 'row' ]\n        },\n        nameFrom: [ 'author' ],\n        context: null,\n        implicit: [ 'table' ],\n        unsupported: false\n      },\n      gridcell: {\n        type: 'widget',\n        attributes: {\n          allowed: [ 'aria-colindex', 'aria-colspan', 'aria-expanded', 'aria-rowindex', 'aria-rowspan', 'aria-selected', 'aria-readonly', 'aria-required', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author', 'contents' ],\n        context: [ 'row' ],\n        implicit: [ 'td', 'th' ],\n        unsupported: false\n      },\n      group: {\n        type: 'structure',\n        attributes: {\n          allowed: [ 'aria-activedescendant', 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        implicit: [ 'details', 'optgroup' ],\n        unsupported: false,\n        allowedElements: [ 'dl', 'figcaption', 'fieldset', 'figure', 'footer', 'header', 'ol', 'ul' ]\n      },\n      heading: {\n        type: 'structure',\n        attributes: {\n          required: [ 'aria-level' ],\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author', 'contents' ],\n        context: null,\n        implicit: [ 'h1', 'h2', 'h3', 'h4', 'h5', 'h6' ],\n        unsupported: false\n      },\n      img: {\n        type: 'structure',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        implicit: [ 'img' ],\n        unsupported: false,\n        allowedElements: [ 'embed', 'iframe', 'object', 'svg' ]\n      },\n      input: {\n        nameFrom: [ 'author' ],\n        type: 'abstract',\n        unsupported: false\n      },\n      landmark: {\n        nameFrom: [ 'author' ],\n        type: 'abstract',\n        unsupported: false\n      },\n      link: {\n        type: 'widget',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author', 'contents' ],\n        context: null,\n        implicit: [ 'a[href]', 'area[href]' ],\n        unsupported: false,\n        allowedElements: [ 'button', {\n          nodeName: 'input',\n          properties: {\n            type: [ 'image', 'button' ]\n          }\n        } ]\n      },\n      list: {\n        type: 'structure',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: {\n          all: [ 'listitem' ]\n        },\n        nameFrom: [ 'author' ],\n        context: null,\n        implicit: [ 'ol', 'ul', 'dl' ],\n        unsupported: false\n      },\n      listbox: {\n        type: 'composite',\n        attributes: {\n          allowed: [ 'aria-activedescendant', 'aria-multiselectable', 'aria-readonly', 'aria-required', 'aria-expanded', 'aria-orientation', 'aria-errormessage' ]\n        },\n        owned: {\n          all: [ 'option' ]\n        },\n        nameFrom: [ 'author' ],\n        context: null,\n        implicit: [ 'select' ],\n        unsupported: false,\n        allowedElements: [ 'ol', 'ul' ]\n      },\n      listitem: {\n        type: 'structure',\n        attributes: {\n          allowed: [ 'aria-level', 'aria-posinset', 'aria-setsize', 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author', 'contents' ],\n        context: [ 'list' ],\n        implicit: [ 'li', 'dt' ],\n        unsupported: false\n      },\n      log: {\n        type: 'widget',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      main: {\n        type: 'landmark',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        implicit: [ 'main' ],\n        unsupported: false,\n        allowedElements: [ 'article', 'section' ]\n      },\n      marquee: {\n        type: 'widget',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      math: {\n        type: 'structure',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        implicit: [ 'math' ],\n        unsupported: false\n      },\n      menu: {\n        type: 'composite',\n        attributes: {\n          allowed: [ 'aria-activedescendant', 'aria-expanded', 'aria-orientation', 'aria-errormessage' ]\n        },\n        owned: {\n          one: [ 'menuitem', 'menuitemradio', 'menuitemcheckbox' ]\n        },\n        nameFrom: [ 'author' ],\n        context: null,\n        implicit: [ 'menu[type=\"context\"]' ],\n        unsupported: false,\n        allowedElements: [ 'ol', 'ul' ]\n      },\n      menubar: {\n        type: 'composite',\n        attributes: {\n          allowed: [ 'aria-activedescendant', 'aria-expanded', 'aria-orientation', 'aria-errormessage' ]\n        },\n        owned: {\n          one: [ 'menuitem', 'menuitemradio', 'menuitemcheckbox' ]\n        },\n        nameFrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'ol', 'ul' ]\n      },\n      menuitem: {\n        type: 'widget',\n        attributes: {\n          allowed: [ 'aria-posinset', 'aria-setsize', 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author', 'contents' ],\n        context: [ 'menu', 'menubar' ],\n        implicit: [ 'menuitem[type=\"command\"]' ],\n        unsupported: false,\n        allowedElements: [ 'button', 'li', {\n          nodeName: 'iput',\n          properties: {\n            type: [ 'image', 'button' ]\n          }\n        }, {\n          nodeName: 'a',\n          attributes: {\n            href: isNotNull\n          }\n        } ]\n      },\n      menuitemcheckbox: {\n        type: 'widget',\n        attributes: {\n          allowed: [ 'aria-checked', 'aria-posinset', 'aria-setsize', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author', 'contents' ],\n        context: [ 'menu', 'menubar' ],\n        implicit: [ 'menuitem[type=\"checkbox\"]' ],\n        unsupported: false,\n        allowedElements: [ {\n          nodeName: [ 'button', 'li' ]\n        }, {\n          nodeName: 'input',\n          properties: {\n            type: [ 'checkbox', 'image', 'button' ]\n          }\n        }, {\n          nodeName: 'a',\n          attributes: {\n            href: isNotNull\n          }\n        } ]\n      },\n      menuitemradio: {\n        type: 'widget',\n        attributes: {\n          allowed: [ 'aria-checked', 'aria-selected', 'aria-posinset', 'aria-setsize', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author', 'contents' ],\n        context: [ 'menu', 'menubar' ],\n        implicit: [ 'menuitem[type=\"radio\"]' ],\n        unsupported: false,\n        allowedElements: [ {\n          nodeName: [ 'button', 'li' ]\n        }, {\n          nodeName: 'input',\n          properties: {\n            type: [ 'image', 'button', 'radio' ]\n          }\n        }, {\n          nodeName: 'a',\n          attributes: {\n            href: isNotNull\n          }\n        } ]\n      },\n      navigation: {\n        type: 'landmark',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        implicit: [ 'nav' ],\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      none: {\n        type: 'structure',\n        attributes: null,\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ {\n          nodeName: [ 'article', 'aside', 'dl', 'embed', 'figcaption', 'fieldset', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'hr', 'iframe', 'li', 'ol', 'section', 'ul' ]\n        }, {\n          nodeName: 'img',\n          attributes: {\n            alt: isNotNull\n          }\n        } ]\n      },\n      note: {\n        type: 'structure',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'aside' ]\n      },\n      option: {\n        type: 'widget',\n        attributes: {\n          allowed: [ 'aria-selected', 'aria-posinset', 'aria-setsize', 'aria-checked', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author', 'contents' ],\n        context: [ 'listbox' ],\n        implicit: [ 'option' ],\n        unsupported: false,\n        allowedElements: [ {\n          nodeName: [ 'button', 'li' ]\n        }, {\n          nodeName: 'input',\n          properties: {\n            type: [ 'checkbox', 'button' ]\n          }\n        }, {\n          nodeName: 'a',\n          attributes: {\n            href: isNotNull\n          }\n        } ]\n      },\n      presentation: {\n        type: 'structure',\n        attributes: null,\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ {\n          nodeName: [ 'article', 'aside', 'dl', 'embed', 'figcaption', 'fieldset', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'hr', 'iframe', 'li', 'ol', 'section', 'ul' ]\n        }, {\n          nodeName: 'img',\n          attributes: {\n            alt: isNotNull\n          }\n        } ]\n      },\n      progressbar: {\n        type: 'widget',\n        attributes: {\n          allowed: [ 'aria-valuetext', 'aria-valuenow', 'aria-valuemax', 'aria-valuemin', 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        implicit: [ 'progress' ],\n        unsupported: false\n      },\n      radio: {\n        type: 'widget',\n        attributes: {\n          allowed: [ 'aria-selected', 'aria-posinset', 'aria-setsize', 'aria-required', 'aria-errormessage', 'aria-checked' ]\n        },\n        owned: null,\n        nameFrom: [ 'author', 'contents' ],\n        context: null,\n        implicit: [ 'input[type=\"radio\"]' ],\n        unsupported: false,\n        allowedElements: [ {\n          nodeName: [ 'button', 'li' ]\n        }, {\n          nodeName: 'input',\n          properties: {\n            type: [ 'image', 'button' ]\n          }\n        } ]\n      },\n      radiogroup: {\n        type: 'composite',\n        attributes: {\n          allowed: [ 'aria-activedescendant', 'aria-required', 'aria-expanded', 'aria-readonly', 'aria-errormessage', 'aria-orientation' ]\n        },\n        owned: {\n          all: [ 'radio' ]\n        },\n        nameFrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: {\n          nodeName: [ 'ol', 'ul', 'fieldset' ]\n        }\n      },\n      range: {\n        nameFrom: [ 'author' ],\n        type: 'abstract',\n        unsupported: false\n      },\n      region: {\n        type: 'landmark',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        implicit: [ 'section[aria-label]', 'section[aria-labelledby]', 'section[title]' ],\n        unsupported: false,\n        allowedElements: {\n          nodeName: [ 'article', 'aside' ]\n        }\n      },\n      roletype: {\n        type: 'abstract',\n        unsupported: false\n      },\n      row: {\n        type: 'structure',\n        attributes: {\n          allowed: [ 'aria-activedescendant', 'aria-colindex', 'aria-expanded', 'aria-level', 'aria-selected', 'aria-rowindex', 'aria-errormessage' ]\n        },\n        owned: {\n          one: [ 'cell', 'columnheader', 'rowheader', 'gridcell' ]\n        },\n        nameFrom: [ 'author', 'contents' ],\n        context: [ 'rowgroup', 'grid', 'treegrid', 'table' ],\n        implicit: [ 'tr' ],\n        unsupported: false\n      },\n      rowgroup: {\n        type: 'structure',\n        attributes: {\n          allowed: [ 'aria-activedescendant', 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: {\n          all: [ 'row' ]\n        },\n        nameFrom: [ 'author', 'contents' ],\n        context: [ 'grid', 'table', 'treegrid' ],\n        implicit: [ 'tbody', 'thead', 'tfoot' ],\n        unsupported: false\n      },\n      rowheader: {\n        type: 'structure',\n        attributes: {\n          allowed: [ 'aria-colindex', 'aria-colspan', 'aria-expanded', 'aria-rowindex', 'aria-rowspan', 'aria-required', 'aria-readonly', 'aria-selected', 'aria-sort', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author', 'contents' ],\n        context: [ 'row' ],\n        implicit: [ 'th' ],\n        unsupported: false\n      },\n      scrollbar: {\n        type: 'widget',\n        attributes: {\n          required: [ 'aria-controls', 'aria-valuenow' ],\n          allowed: [ 'aria-valuetext', 'aria-orientation', 'aria-errormessage', 'aria-valuemax', 'aria-valuemin' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        unsupported: false\n      },\n      search: {\n        type: 'landmark',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: {\n          nodeName: [ 'aside', 'form', 'section' ]\n        }\n      },\n      searchbox: {\n        type: 'widget',\n        attributes: {\n          allowed: [ 'aria-activedescendant', 'aria-autocomplete', 'aria-multiline', 'aria-readonly', 'aria-required', 'aria-placeholder', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        implicit: [ 'input[type=\"search\"]' ],\n        unsupported: false,\n        allowedElements: {\n          nodeName: 'input',\n          properties: {\n            type: 'text'\n          }\n        }\n      },\n      section: {\n        nameFrom: [ 'author', 'contents' ],\n        type: 'abstract',\n        unsupported: false\n      },\n      sectionhead: {\n        nameFrom: [ 'author', 'contents' ],\n        type: 'abstract',\n        unsupported: false\n      },\n      select: {\n        nameFrom: [ 'author' ],\n        type: 'abstract',\n        unsupported: false\n      },\n      separator: {\n        type: 'structure',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-orientation', 'aria-valuenow', 'aria-valuemax', 'aria-valuemin', 'aria-valuetext', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        implicit: [ 'hr' ],\n        unsupported: false,\n        allowedElements: [ 'li' ]\n      },\n      slider: {\n        type: 'widget',\n        attributes: {\n          allowed: [ 'aria-valuetext', 'aria-orientation', 'aria-readonly', 'aria-errormessage', 'aria-valuemax', 'aria-valuemin' ],\n          required: [ 'aria-valuenow' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        implicit: [ 'input[type=\"range\"]' ],\n        unsupported: false\n      },\n      spinbutton: {\n        type: 'widget',\n        attributes: {\n          allowed: [ 'aria-valuetext', 'aria-required', 'aria-readonly', 'aria-errormessage', 'aria-valuemax', 'aria-valuemin' ],\n          required: [ 'aria-valuenow' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        implicit: [ 'input[type=\"number\"]' ],\n        unsupported: false,\n        allowedElements: {\n          nodeName: 'input',\n          properties: {\n            type: [ 'text', 'tel' ]\n          }\n        }\n      },\n      status: {\n        type: 'widget',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        implicit: [ 'output' ],\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      structure: {\n        type: 'abstract',\n        unsupported: false\n      },\n      switch: {\n        type: 'widget',\n        attributes: {\n          allowed: [ 'aria-errormessage' ],\n          required: [ 'aria-checked' ]\n        },\n        owned: null,\n        nameFrom: [ 'author', 'contents' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'button', {\n          nodeName: 'input',\n          properties: {\n            type: [ 'checkbox', 'image', 'button' ]\n          }\n        }, {\n          nodeName: 'a',\n          attributes: {\n            href: isNotNull\n          }\n        } ]\n      },\n      tab: {\n        type: 'widget',\n        attributes: {\n          allowed: [ 'aria-selected', 'aria-expanded', 'aria-setsize', 'aria-posinset', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author', 'contents' ],\n        context: [ 'tablist' ],\n        unsupported: false,\n        allowedElements: [ {\n          nodeName: [ 'button', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'li' ]\n        }, {\n          nodeName: 'input',\n          properties: {\n            type: 'button'\n          }\n        }, {\n          nodeName: 'a',\n          attributes: {\n            href: isNotNull\n          }\n        } ]\n      },\n      table: {\n        type: 'structure',\n        attributes: {\n          allowed: [ 'aria-colcount', 'aria-rowcount', 'aria-errormessage' ]\n        },\n        owned: {\n          one: [ 'rowgroup', 'row' ]\n        },\n        nameFrom: [ 'author', 'contents' ],\n        context: null,\n        implicit: [ 'table' ],\n        unsupported: false\n      },\n      tablist: {\n        type: 'composite',\n        attributes: {\n          allowed: [ 'aria-activedescendant', 'aria-expanded', 'aria-level', 'aria-multiselectable', 'aria-orientation', 'aria-errormessage' ]\n        },\n        owned: {\n          all: [ 'tab' ]\n        },\n        nameFrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'ol', 'ul' ]\n      },\n      tabpanel: {\n        type: 'widget',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'section' ]\n      },\n      term: {\n        type: 'structure',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author', 'contents' ],\n        context: null,\n        implicit: [ 'dt' ],\n        unsupported: false\n      },\n      textbox: {\n        type: 'widget',\n        attributes: {\n          allowed: [ 'aria-activedescendant', 'aria-autocomplete', 'aria-multiline', 'aria-readonly', 'aria-required', 'aria-placeholder', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        implicit: [ 'input[type=\"text\"]', 'input[type=\"email\"]', 'input[type=\"password\"]', 'input[type=\"tel\"]', 'input[type=\"url\"]', 'input:not([type])', 'textarea' ],\n        unsupported: false\n      },\n      timer: {\n        type: 'widget',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        unsupported: false\n      },\n      toolbar: {\n        type: 'structure',\n        attributes: {\n          allowed: [ 'aria-activedescendant', 'aria-expanded', 'aria-orientation', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author' ],\n        context: null,\n        implicit: [ 'menu[type=\"toolbar\"]' ],\n        unsupported: false,\n        allowedElements: [ 'ol', 'ul' ]\n      },\n      tooltip: {\n        type: 'structure',\n        attributes: {\n          allowed: [ 'aria-expanded', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author', 'contents' ],\n        context: null,\n        unsupported: false\n      },\n      tree: {\n        type: 'composite',\n        attributes: {\n          allowed: [ 'aria-activedescendant', 'aria-multiselectable', 'aria-required', 'aria-expanded', 'aria-orientation', 'aria-errormessage' ]\n        },\n        owned: {\n          all: [ 'treeitem' ]\n        },\n        nameFrom: [ 'author' ],\n        context: null,\n        unsupported: false,\n        allowedElements: [ 'ol', 'ul' ]\n      },\n      treegrid: {\n        type: 'composite',\n        attributes: {\n          allowed: [ 'aria-activedescendant', 'aria-colcount', 'aria-expanded', 'aria-level', 'aria-multiselectable', 'aria-readonly', 'aria-required', 'aria-rowcount', 'aria-orientation', 'aria-errormessage' ]\n        },\n        owned: {\n          one: [ 'rowgroup', 'row' ]\n        },\n        nameFrom: [ 'author' ],\n        context: null,\n        unsupported: false\n      },\n      treeitem: {\n        type: 'widget',\n        attributes: {\n          allowed: [ 'aria-checked', 'aria-selected', 'aria-expanded', 'aria-level', 'aria-posinset', 'aria-setsize', 'aria-errormessage' ]\n        },\n        owned: null,\n        nameFrom: [ 'author', 'contents' ],\n        context: [ 'group', 'tree' ],\n        unsupported: false,\n        allowedElements: [ 'li', {\n          nodeName: 'a',\n          attributes: {\n            href: isNotNull\n          }\n        } ]\n      },\n      widget: {\n        type: 'abstract',\n        unsupported: false\n      },\n      window: {\n        nameFrom: [ 'author' ],\n        type: 'abstract',\n        unsupported: false\n      }\n    };\n    lookupTable.implicitHtmlRole = implicit_html_roles_default;\n    lookupTable.elementsAllowedNoRole = [ {\n      nodeName: [ 'base', 'body', 'caption', 'col', 'colgroup', 'datalist', 'dd', 'details', 'dt', 'head', 'html', 'keygen', 'label', 'legend', 'main', 'map', 'math', 'meta', 'meter', 'noscript', 'optgroup', 'param', 'picture', 'progress', 'script', 'source', 'style', 'template', 'textarea', 'title', 'track' ]\n    }, {\n      nodeName: 'area',\n      attributes: {\n        href: isNotNull\n      }\n    }, {\n      nodeName: 'input',\n      properties: {\n        type: [ 'color', 'data', 'datatime', 'file', 'hidden', 'month', 'number', 'password', 'range', 'reset', 'submit', 'time', 'week' ]\n      }\n    }, {\n      nodeName: 'link',\n      attributes: {\n        href: isNotNull\n      }\n    }, {\n      nodeName: 'menu',\n      attributes: {\n        type: 'context'\n      }\n    }, {\n      nodeName: 'menuitem',\n      attributes: {\n        type: [ 'command', 'checkbox', 'radio' ]\n      }\n    }, {\n      nodeName: 'select',\n      condition: function condition(vNode) {\n        if (!(vNode instanceof axe.AbstractVirtualNode)) {\n          vNode = axe.utils.getNodeFromTree(vNode);\n        }\n        return Number(vNode.attr('size')) > 1;\n      },\n      properties: {\n        multiple: true\n      }\n    }, {\n      nodeName: [ 'clippath', 'cursor', 'defs', 'desc', 'feblend', 'fecolormatrix', 'fecomponenttransfer', 'fecomposite', 'feconvolvematrix', 'fediffuselighting', 'fedisplacementmap', 'fedistantlight', 'fedropshadow', 'feflood', 'fefunca', 'fefuncb', 'fefuncg', 'fefuncr', 'fegaussianblur', 'feimage', 'femerge', 'femergenode', 'femorphology', 'feoffset', 'fepointlight', 'fespecularlighting', 'fespotlight', 'fetile', 'feturbulence', 'filter', 'hatch', 'hatchpath', 'lineargradient', 'marker', 'mask', 'meshgradient', 'meshpatch', 'meshrow', 'metadata', 'mpath', 'pattern', 'radialgradient', 'solidcolor', 'stop', 'switch', 'view' ]\n    } ];\n    lookupTable.elementsAllowedAnyRole = [ {\n      nodeName: 'a',\n      attributes: {\n        href: isNull\n      }\n    }, {\n      nodeName: 'img',\n      attributes: {\n        alt: isNull\n      }\n    }, {\n      nodeName: [ 'abbr', 'address', 'canvas', 'div', 'p', 'pre', 'blockquote', 'ins', 'del', 'output', 'span', 'table', 'tbody', 'thead', 'tfoot', 'td', 'em', 'strong', 'small', 's', 'cite', 'q', 'dfn', 'abbr', 'time', 'code', 'var', 'samp', 'kbd', 'sub', 'sup', 'i', 'b', 'u', 'mark', 'ruby', 'rt', 'rp', 'bdi', 'bdo', 'br', 'wbr', 'th', 'tr' ]\n    } ];\n    lookupTable.evaluateRoleForElement = {\n      A: function A(_ref82) {\n        var node = _ref82.node, out = _ref82.out;\n        if (node.namespaceURI === 'http://www.w3.org/2000/svg') {\n          return true;\n        }\n        if (node.href.length) {\n          return out;\n        }\n        return true;\n      },\n      AREA: function AREA(_ref83) {\n        var node = _ref83.node;\n        return !node.href;\n      },\n      BUTTON: function BUTTON(_ref84) {\n        var node = _ref84.node, role = _ref84.role, out = _ref84.out;\n        if (node.getAttribute('type') === 'menu') {\n          return role === 'menuitem';\n        }\n        return out;\n      },\n      IMG: function IMG(_ref85) {\n        var node = _ref85.node, role = _ref85.role, out = _ref85.out;\n        switch (node.alt) {\n         case null:\n          return out;\n\n         case '':\n          return role === 'presentation' || role === 'none';\n\n         default:\n          return role !== 'presentation' && role !== 'none';\n        }\n      },\n      INPUT: function INPUT(_ref86) {\n        var node = _ref86.node, role = _ref86.role, out = _ref86.out;\n        switch (node.type) {\n         case 'button':\n         case 'image':\n          return out;\n\n         case 'checkbox':\n          if (role === 'button' && node.hasAttribute('aria-pressed')) {\n            return true;\n          }\n          return out;\n\n         case 'radio':\n          return role === 'menuitemradio';\n\n         case 'text':\n          return role === 'combobox' || role === 'searchbox' || role === 'spinbutton';\n\n         case 'tel':\n          return role === 'combobox' || role === 'spinbutton';\n\n         case 'url':\n         case 'search':\n         case 'email':\n          return role === 'combobox';\n\n         default:\n          return false;\n        }\n      },\n      LI: function LI(_ref87) {\n        var node = _ref87.node, out = _ref87.out;\n        var hasImplicitListitemRole = axe.utils.matchesSelector(node, 'ol li, ul li');\n        if (hasImplicitListitemRole) {\n          return out;\n        }\n        return true;\n      },\n      MENU: function MENU(_ref88) {\n        var node = _ref88.node;\n        if (node.getAttribute('type') === 'context') {\n          return false;\n        }\n        return true;\n      },\n      OPTION: function OPTION(_ref89) {\n        var node = _ref89.node;\n        var withinOptionList = axe.utils.matchesSelector(node, 'select > option, datalist > option, optgroup > option');\n        return !withinOptionList;\n      },\n      SELECT: function SELECT(_ref90) {\n        var node = _ref90.node, role = _ref90.role;\n        return !node.multiple && node.size <= 1 && role === 'menu';\n      },\n      SVG: function SVG(_ref91) {\n        var node = _ref91.node, out = _ref91.out;\n        if (node.parentNode && node.parentNode.namespaceURI === 'http://www.w3.org/2000/svg') {\n          return true;\n        }\n        return out;\n      }\n    };\n    lookupTable.rolesOfType = {\n      widget: [ 'button', 'checkbox', 'dialog', 'gridcell', 'link', 'log', 'marquee', 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'option', 'progressbar', 'radio', 'scrollbar', 'searchbox', 'slider', 'spinbutton', 'status', 'switch', 'tab', 'tabpanel', 'textbox', 'timer', 'tooltip', 'tree', 'treeitem' ]\n    };\n    var lookup_table_default = lookupTable;\n    function implicitNodes(role) {\n      var implicit = null;\n      var roles = lookup_table_default.role[role];\n      if (roles && roles.implicit) {\n        implicit = clone2(roles.implicit);\n      }\n      return implicit;\n    }\n    var implicit_nodes_default = implicitNodes;\n    function isAccessibleRef(node) {\n      return !!get_accessible_refs_default(node).length;\n    }\n    var is_accessible_ref_default = isAccessibleRef;\n    function _isComboboxPopup(virtualNode) {\n      var _ref92 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, popupRoles = _ref92.popupRoles;\n      var role = get_role_default(virtualNode);\n      popupRoles !== null && popupRoles !== void 0 ? popupRoles : popupRoles = aria_attrs_default['aria-haspopup'].values;\n      if (!popupRoles.includes(role)) {\n        return false;\n      }\n      var vParent = nearestParentWithRole(virtualNode);\n      if (isCombobox(vParent)) {\n        return true;\n      }\n      var id = virtualNode.props.id;\n      if (!id) {\n        return false;\n      }\n      if (!virtualNode.actualNode) {\n        throw new Error('Unable to determine combobox popup without an actualNode');\n      }\n      var root = get_root_node_default(virtualNode.actualNode);\n      var ownedCombobox = root.querySelectorAll('[aria-owns~=\"'.concat(id, '\"][role~=\"combobox\"]:not(select),\\n     [aria-controls~=\"').concat(id, '\"][role~=\"combobox\"]:not(select)'));\n      return Array.from(ownedCombobox).some(isCombobox);\n    }\n    var isCombobox = function isCombobox(node) {\n      return node && get_role_default(node) === 'combobox';\n    };\n    function nearestParentWithRole(vNode) {\n      while (vNode = vNode.parent) {\n        if (get_role_default(vNode, {\n          noPresentational: true\n        }) !== null) {\n          return vNode;\n        }\n      }\n      return null;\n    }\n    function label2(node) {\n      node = get_node_from_tree_default(node);\n      return label_virtual_default(node);\n    }\n    var label_default2 = label2;\n    function requiredAttr(role) {\n      var roleDef = standards_default.ariaRoles[role];\n      if (!roleDef || !Array.isArray(roleDef.requiredAttrs)) {\n        return [];\n      }\n      return _toConsumableArray(roleDef.requiredAttrs);\n    }\n    var required_attr_default = requiredAttr;\n    function requiredContext(role) {\n      var roleDef = standards_default.ariaRoles[role];\n      if (!roleDef || !Array.isArray(roleDef.requiredContext)) {\n        return null;\n      }\n      return _toConsumableArray(roleDef.requiredContext);\n    }\n    var required_context_default = requiredContext;\n    function requiredOwned(role) {\n      var roleDef = standards_default.ariaRoles[role];\n      if (!roleDef || !Array.isArray(roleDef.requiredOwned)) {\n        return null;\n      }\n      return _toConsumableArray(roleDef.requiredOwned);\n    }\n    var required_owned_default = requiredOwned;\n    function validateAttrValue(vNode, attr) {\n      vNode = vNode instanceof abstract_virtual_node_default ? vNode : get_node_from_tree_default(vNode);\n      var matches4;\n      var list;\n      var value = vNode.attr(attr);\n      var attrInfo = standards_default.ariaAttrs[attr];\n      if (!attrInfo) {\n        return true;\n      }\n      if (attrInfo.allowEmpty && (!value || value.trim() === '')) {\n        return true;\n      }\n      switch (attrInfo.type) {\n       case 'boolean':\n        return [ 'true', 'false' ].includes(value.toLowerCase());\n\n       case 'nmtoken':\n        return typeof value === 'string' && attrInfo.values.includes(value.toLowerCase());\n\n       case 'nmtokens':\n        list = token_list_default(value);\n        return list.reduce(function(result, token) {\n          return result && attrInfo.values.includes(token);\n        }, list.length !== 0);\n\n       case 'idref':\n        try {\n          var doc = get_root_node_default2(vNode.actualNode);\n          return !!(value && doc.getElementById(value));\n        } catch (_unused6) {\n          throw new TypeError('Cannot resolve id references for partial DOM');\n        }\n\n       case 'idrefs':\n        return idrefs_default(vNode, attr).some(function(node) {\n          return !!node;\n        });\n\n       case 'string':\n        return value.trim() !== '';\n\n       case 'decimal':\n        matches4 = value.match(/^[-+]?([0-9]*)\\.?([0-9]*)$/);\n        return !!(matches4 && (matches4[1] || matches4[2]));\n\n       case 'int':\n        var minValue = typeof attrInfo.minValue !== 'undefined' ? attrInfo.minValue : -Infinity;\n        return /^[-+]?[0-9]+$/.test(value) && parseInt(value) >= minValue;\n      }\n    }\n    var validate_attr_value_default = validateAttrValue;\n    function validateAttr(att) {\n      var attrDefinition = standards_default.ariaAttrs[att];\n      return !!attrDefinition;\n    }\n    var validate_attr_default = validateAttr;\n    function thHasDataCellsEvaluate(node) {\n      var cells = get_all_cells_default(node);\n      var checkResult = this;\n      var reffedHeaders = [];\n      cells.forEach(function(cell) {\n        var headers2 = cell.getAttribute('headers');\n        if (headers2) {\n          reffedHeaders = reffedHeaders.concat(headers2.split(/\\s+/));\n        }\n        var ariaLabel = cell.getAttribute('aria-labelledby');\n        if (ariaLabel) {\n          reffedHeaders = reffedHeaders.concat(ariaLabel.split(/\\s+/));\n        }\n      });\n      var headers = cells.filter(function(cell) {\n        if (sanitize_default(cell.textContent) === '') {\n          return false;\n        }\n        return cell.nodeName.toUpperCase() === 'TH' || [ 'rowheader', 'columnheader' ].indexOf(get_explicit_role_default(cell)) !== -1;\n      });\n      var tableGrid = to_grid_default(node);\n      var out = true;\n      headers.forEach(function(header) {\n        if (header.getAttribute('id') && reffedHeaders.includes(header.getAttribute('id'))) {\n          return;\n        }\n        var pos = get_cell_position_default(header, tableGrid);\n        var hasCell = false;\n        if (is_column_header_default(header)) {\n          hasCell = traverse_default('down', pos, tableGrid).find(function(cell) {\n            return !is_column_header_default(cell) && get_headers_default(cell, tableGrid).includes(header);\n          });\n        }\n        if (!hasCell && is_row_header_default(header)) {\n          hasCell = traverse_default('right', pos, tableGrid).find(function(cell) {\n            return !is_row_header_default(cell) && get_headers_default(cell, tableGrid).includes(header);\n          });\n        }\n        if (!hasCell) {\n          checkResult.relatedNodes(header);\n        }\n        out = out && hasCell;\n      });\n      return out ? true : void 0;\n    }\n    var th_has_data_cells_evaluate_default = thHasDataCellsEvaluate;\n    var messageKeys = [ 'cell-header-not-in-table', 'cell-header-not-th', 'header-refs-self', 'empty-hdrs' ];\n    var notInTable = messageKeys[0], notTh = messageKeys[1], selfRef = messageKeys[2], emptyHdrs = messageKeys[3];\n    function tdHeadersAttrEvaluate(node) {\n      var cells = [];\n      var cellRoleById = {};\n      for (var rowIndex = 0; rowIndex < node.rows.length; rowIndex++) {\n        var row = node.rows[rowIndex];\n        for (var cellIndex = 0; cellIndex < row.cells.length; cellIndex++) {\n          var cell = row.cells[cellIndex];\n          cells.push(cell);\n          var cellId = cell.getAttribute('id');\n          if (cellId) {\n            cellRoleById[cellId] = get_role_default(cell);\n          }\n        }\n      }\n      var badCells = _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, selfRef, new Set()), notInTable, new Set()), notTh, new Set()), emptyHdrs, new Set());\n      cells.forEach(function(cell) {\n        if (!cell.hasAttribute('headers') || !_isVisibleToScreenReaders(cell)) {\n          return;\n        }\n        var headersAttr = cell.getAttribute('headers').trim();\n        if (!headersAttr) {\n          badCells[emptyHdrs].add(cell);\n          return;\n        }\n        var cellId = cell.getAttribute('id');\n        var headers = token_list_default(headersAttr);\n        headers.forEach(function(headerId) {\n          if (cellId && headerId === cellId) {\n            badCells[selfRef].add(cell);\n          } else if (!cellRoleById[headerId]) {\n            badCells[notInTable].add(cell);\n          } else if (![ 'columnheader', 'rowheader' ].includes(cellRoleById[headerId])) {\n            badCells[notTh].add(cell);\n          }\n        });\n      });\n      var _iterator16 = _createForOfIteratorHelper(messageKeys), _step16;\n      try {\n        for (_iterator16.s(); !(_step16 = _iterator16.n()).done; ) {\n          var messageKey = _step16.value;\n          if (badCells[messageKey].size > 0) {\n            this.relatedNodes(_toConsumableArray(badCells[messageKey]));\n            if (messageKey === emptyHdrs) {\n              return void 0;\n            }\n            this.data({\n              messageKey: messageKey\n            });\n            return false;\n          }\n        }\n      } catch (err) {\n        _iterator16.e(err);\n      } finally {\n        _iterator16.f();\n      }\n      return true;\n    }\n    function tdHasHeaderEvaluate(node) {\n      var badCells = [];\n      var cells = get_all_cells_default(node);\n      var tableGrid = to_grid_default(node);\n      cells.forEach(function(cell) {\n        if (has_content_default(cell) && is_data_cell_default(cell) && !label_default2(cell)) {\n          var hasHeaders = get_headers_default(cell, tableGrid).some(function(header) {\n            return header !== null && !!has_content_default(header);\n          });\n          if (!hasHeaders) {\n            badCells.push(cell);\n          }\n        }\n      });\n      if (badCells.length) {\n        this.relatedNodes(badCells);\n        return false;\n      }\n      return true;\n    }\n    var td_has_header_evaluate_default = tdHasHeaderEvaluate;\n    function scopeValueEvaluate(node, options) {\n      var value = node.getAttribute('scope').toLowerCase();\n      return options.values.indexOf(value) !== -1;\n    }\n    var scope_value_evaluate_default = scopeValueEvaluate;\n    var same_caption_summary_evaluate_default = sameCaptionSummaryEvaluate;\n    function sameCaptionSummaryEvaluate(node, options, virtualNode) {\n      if (virtualNode.children === void 0) {\n        return void 0;\n      }\n      var summary = virtualNode.attr('summary');\n      var captionNode = virtualNode.children.find(isCaptionNode);\n      var caption = captionNode ? sanitize_default(subtree_text_default(captionNode)) : false;\n      if (!caption || !summary) {\n        return false;\n      }\n      return sanitize_default(summary).toLowerCase() === sanitize_default(caption).toLowerCase();\n    }\n    function isCaptionNode(virtualNode) {\n      return virtualNode.props.nodeName === 'caption';\n    }\n    function html5ScopeEvaluate(node) {\n      if (!is_html5_default(document)) {\n        return true;\n      }\n      return node.nodeName.toUpperCase() === 'TH';\n    }\n    var html5_scope_evaluate_default = html5ScopeEvaluate;\n    function captionFakedEvaluate(node) {\n      var table = to_grid_default(node);\n      var firstRow = table[0];\n      if (table.length <= 1 || firstRow.length <= 1 || node.rows.length <= 1) {\n        return true;\n      }\n      return firstRow.reduce(function(out, curr, i) {\n        return out || curr !== firstRow[i + 1] && firstRow[i + 1] !== void 0;\n      }, false);\n    }\n    var caption_faked_evaluate_default = captionFakedEvaluate;\n    function svgNonEmptyTitleEvaluate(node, options, virtualNode) {\n      if (!virtualNode.children) {\n        return void 0;\n      }\n      var titleNode = virtualNode.children.find(function(_ref93) {\n        var props = _ref93.props;\n        return props.nodeName === 'title';\n      });\n      if (!titleNode) {\n        this.data({\n          messageKey: 'noTitle'\n        });\n        return false;\n      }\n      try {\n        var titleText2 = subtree_text_default(titleNode, {\n          includeHidden: true\n        }).trim();\n        if (titleText2 === '') {\n          this.data({\n            messageKey: 'emptyTitle'\n          });\n          return false;\n        }\n      } catch (_unused7) {\n        return void 0;\n      }\n      return true;\n    }\n    var svg_non_empty_title_evaluate_default = svgNonEmptyTitleEvaluate;\n    var standards_exports = {};\n    __export(standards_exports, {\n      getAriaRolesByType: function getAriaRolesByType() {\n        return get_aria_roles_by_type_default;\n      },\n      getAriaRolesSupportingNameFromContent: function getAriaRolesSupportingNameFromContent() {\n        return get_aria_roles_supporting_name_from_content_default;\n      },\n      getElementSpec: function getElementSpec() {\n        return get_element_spec_default;\n      },\n      getElementsByContentType: function getElementsByContentType() {\n        return get_elements_by_content_type_default;\n      },\n      getGlobalAriaAttrs: function getGlobalAriaAttrs() {\n        return get_global_aria_attrs_default;\n      },\n      implicitHtmlRoles: function implicitHtmlRoles() {\n        return implicit_html_roles_default;\n      }\n    });\n    function presentationalRoleEvaluate(node, options, virtualNode) {\n      var explicitRole2 = get_explicit_role_default(virtualNode);\n      if ([ 'presentation', 'none' ].includes(explicitRole2) && [ 'iframe', 'frame' ].includes(virtualNode.props.nodeName) && virtualNode.hasAttr('title')) {\n        this.data({\n          messageKey: 'iframe',\n          nodeName: virtualNode.props.nodeName\n        });\n        return false;\n      }\n      var role = get_role_default(virtualNode);\n      if ([ 'presentation', 'none' ].includes(role)) {\n        this.data({\n          role: role\n        });\n        return true;\n      }\n      if (![ 'presentation', 'none' ].includes(explicitRole2)) {\n        return false;\n      }\n      var hasGlobalAria = get_global_aria_attrs_default().some(function(attr) {\n        return virtualNode.hasAttr(attr);\n      });\n      var focusable = _isFocusable(virtualNode);\n      var messageKey;\n      if (hasGlobalAria && !focusable) {\n        messageKey = 'globalAria';\n      } else if (!hasGlobalAria && focusable) {\n        messageKey = 'focusable';\n      } else {\n        messageKey = 'both';\n      }\n      this.data({\n        messageKey: messageKey,\n        role: role\n      });\n      return false;\n    }\n    function nonEmptyIfPresentEvaluate(node, options, virtualNode) {\n      var nodeName2 = virtualNode.props.nodeName;\n      var type2 = (virtualNode.attr('type') || '').toLowerCase();\n      var label3 = virtualNode.attr('value');\n      if (label3) {\n        this.data({\n          messageKey: 'has-label'\n        });\n      }\n      if (nodeName2 === 'input' && [ 'submit', 'reset' ].includes(type2)) {\n        return label3 === null;\n      }\n      return false;\n    }\n    var non_empty_if_present_evaluate_default = nonEmptyIfPresentEvaluate;\n    function isOnScreenEvaluate(node) {\n      return _isVisibleOnScreen(node);\n    }\n    var is_on_screen_evaluate_default = isOnScreenEvaluate;\n    function inlineStyleProperty(node, options) {\n      var cssProperty = options.cssProperty, absoluteValues = options.absoluteValues, minValue = options.minValue, maxValue = options.maxValue, _options$normalValue = options.normalValue, normalValue = _options$normalValue === void 0 ? 0 : _options$normalValue, noImportant = options.noImportant, multiLineOnly = options.multiLineOnly;\n      if (!noImportant && node.style.getPropertyPriority(cssProperty) !== 'important' || multiLineOnly && !_isMultiline(node)) {\n        return true;\n      }\n      var data = {};\n      if (typeof minValue === 'number') {\n        data.minValue = minValue;\n      }\n      if (typeof maxValue === 'number') {\n        data.maxValue = maxValue;\n      }\n      var declaredPropValue = node.style.getPropertyValue(cssProperty);\n      if ([ 'inherit', 'unset', 'revert', 'revert-layer' ].includes(declaredPropValue)) {\n        this.data(_extends({\n          value: declaredPropValue\n        }, data));\n        return true;\n      }\n      var value = getNumberValue(node, {\n        absoluteValues: absoluteValues,\n        cssProperty: cssProperty,\n        normalValue: normalValue\n      });\n      this.data(_extends({\n        value: value\n      }, data));\n      if (typeof value !== 'number') {\n        return void 0;\n      }\n      if ((typeof minValue !== 'number' || value >= minValue) && (typeof maxValue !== 'number' || value <= maxValue)) {\n        return true;\n      }\n      return false;\n    }\n    function getNumberValue(domNode, _ref94) {\n      var cssProperty = _ref94.cssProperty, absoluteValues = _ref94.absoluteValues, normalValue = _ref94.normalValue;\n      var computedStyle = window.getComputedStyle(domNode);\n      var cssPropValue = computedStyle.getPropertyValue(cssProperty);\n      if (cssPropValue === 'normal') {\n        return normalValue;\n      }\n      var parsedValue = parseFloat(cssPropValue);\n      if (absoluteValues) {\n        return parsedValue;\n      }\n      var fontSize = parseFloat(computedStyle.getPropertyValue('font-size'));\n      var value = Math.round(parsedValue / fontSize * 100) / 100;\n      if (isNaN(value)) {\n        return cssPropValue;\n      }\n      return value;\n    }\n    function hasAltEvaluate(node, options, virtualNode) {\n      var nodeName2 = virtualNode.props.nodeName;\n      if (![ 'img', 'input', 'area' ].includes(nodeName2)) {\n        return false;\n      }\n      return virtualNode.hasAttr('alt');\n    }\n    var has_alt_evaluate_default = hasAltEvaluate;\n    function existsEvaluate() {\n      return void 0;\n    }\n    var exists_evaluate_default = existsEvaluate;\n    function docHasTitleEvaluate() {\n      var title = document.title;\n      return !!sanitize_default(title);\n    }\n    var doc_has_title_evaluate_default = docHasTitleEvaluate;\n    function avoidInlineSpacingEvaluate(node, options) {\n      var overriddenProperties = options.cssProperties.filter(function(property) {\n        if (node.style.getPropertyPriority(property) === 'important') {\n          return property;\n        }\n      });\n      if (overriddenProperties.length > 0) {\n        this.data(overriddenProperties);\n        return false;\n      }\n      return true;\n    }\n    var avoid_inline_spacing_evaluate_default = avoidInlineSpacingEvaluate;\n    function ariaLabelledbyEvaluate(node, options, virtualNode) {\n      try {\n        return !!sanitize_default(arialabelledby_text_default(virtualNode));\n      } catch (_unused8) {\n        return void 0;\n      }\n    }\n    var aria_labelledby_evaluate_default = ariaLabelledbyEvaluate;\n    function ariaLabelEvaluate(node, options, virtualNode) {\n      return !!sanitize_default(_arialabelText(virtualNode));\n    }\n    var aria_label_evaluate_default = ariaLabelEvaluate;\n    function duplicateIdEvaluate(node) {\n      var id = node.getAttribute('id').trim();\n      if (!id) {\n        return true;\n      }\n      var root = get_root_node_default2(node);\n      var matchingNodes = Array.from(root.querySelectorAll('[id=\"'.concat(escape_selector_default(id), '\"]'))).filter(function(foundNode) {\n        return foundNode !== node;\n      });\n      if (matchingNodes.length) {\n        this.relatedNodes(matchingNodes);\n      }\n      this.data(id);\n      return matchingNodes.length === 0;\n    }\n    var duplicate_id_evaluate_default = duplicateIdEvaluate;\n    function duplicateIdAfter(results) {\n      var uniqueIds = [];\n      return results.filter(function(r) {\n        if (uniqueIds.indexOf(r.data) === -1) {\n          uniqueIds.push(r.data);\n          return true;\n        }\n        return false;\n      });\n    }\n    var duplicate_id_after_default = duplicateIdAfter;\n    function uniqueFrameTitleEvaluate(node, options, vNode) {\n      var title = sanitize_default(vNode.attr('title')).toLowerCase();\n      this.data(title);\n      return true;\n    }\n    var unique_frame_title_evaluate_default = uniqueFrameTitleEvaluate;\n    function uniqueFrameTitleAfter(results) {\n      var titles = {};\n      results.forEach(function(r) {\n        titles[r.data] = titles[r.data] !== void 0 ? ++titles[r.data] : 0;\n      });\n      results.forEach(function(r) {\n        r.result = !!titles[r.data];\n      });\n      return results;\n    }\n    var unique_frame_title_after_default = uniqueFrameTitleAfter;\n    function skipLinkEvaluate(node) {\n      var target = get_element_by_reference_default(node, 'href');\n      if (target) {\n        return _isVisibleToScreenReaders(target) || void 0;\n      }\n      return false;\n    }\n    var skip_link_evaluate_default = skipLinkEvaluate;\n    var implicitAriaLiveRoles = [ 'alert', 'log', 'status' ];\n    function regionEvaluate(node, options, virtualNode) {\n      this.data({\n        isIframe: [ 'iframe', 'frame' ].includes(virtualNode.props.nodeName)\n      });\n      var regionlessNodes = cache_default.get('regionlessNodes', function() {\n        return getRegionlessNodes(options);\n      });\n      return !regionlessNodes.includes(virtualNode);\n    }\n    function getRegionlessNodes(options) {\n      var regionlessNodes = findRegionlessElms(axe._tree[0], options).map(function(vNode) {\n        while (vNode.parent && !vNode.parent._hasRegionDescendant && vNode.parent.actualNode !== document.body) {\n          vNode = vNode.parent;\n        }\n        return vNode;\n      }).filter(function(vNode, index, array) {\n        return array.indexOf(vNode) === index;\n      });\n      return regionlessNodes;\n    }\n    function findRegionlessElms(virtualNode, options) {\n      var node = virtualNode.actualNode;\n      if (get_role_default(virtualNode) === 'button' || isRegion(virtualNode, options) || [ 'iframe', 'frame' ].includes(virtualNode.props.nodeName) || _isSkipLink(virtualNode.actualNode) && get_element_by_reference_default(virtualNode.actualNode, 'href') || !_isVisibleToScreenReaders(node)) {\n        var vNode = virtualNode;\n        while (vNode) {\n          vNode._hasRegionDescendant = true;\n          vNode = vNode.parent;\n        }\n        if ([ 'iframe', 'frame' ].includes(virtualNode.props.nodeName)) {\n          return [ virtualNode ];\n        }\n        return [];\n      } else if (node !== document.body && has_content_default(node, true) && !isShallowlyHidden(virtualNode)) {\n        return [ virtualNode ];\n      } else {\n        return virtualNode.children.filter(function(_ref95) {\n          var actualNode = _ref95.actualNode;\n          return actualNode.nodeType === 1;\n        }).map(function(vNode) {\n          return findRegionlessElms(vNode, options);\n        }).reduce(function(a2, b2) {\n          return a2.concat(b2);\n        }, []);\n      }\n    }\n    function isShallowlyHidden(virtualNode) {\n      return [ 'none', 'presentation' ].includes(get_role_default(virtualNode)) && !hasChildTextNodes(virtualNode);\n    }\n    function isRegion(virtualNode, options) {\n      var node = virtualNode.actualNode;\n      var role = get_role_default(virtualNode);\n      var ariaLive = (node.getAttribute('aria-live') || '').toLowerCase().trim();\n      var landmarkRoles2 = get_aria_roles_by_type_default('landmark');\n      if ([ 'assertive', 'polite' ].includes(ariaLive) || implicitAriaLiveRoles.includes(role)) {\n        return true;\n      }\n      if (landmarkRoles2.includes(role)) {\n        return true;\n      }\n      if (options.regionMatcher && matches_default2(virtualNode, options.regionMatcher)) {\n        return true;\n      }\n      return false;\n    }\n    function regionAfter(results) {\n      var iframeResults = results.filter(function(r) {\n        return r.data.isIframe;\n      });\n      results.forEach(function(r) {\n        if (r.result || r.node.ancestry.length === 1) {\n          return;\n        }\n        var frameAncestry = r.node.ancestry.slice(0, -1);\n        var _iterator17 = _createForOfIteratorHelper(iframeResults), _step17;\n        try {\n          for (_iterator17.s(); !(_step17 = _iterator17.n()).done; ) {\n            var iframeResult = _step17.value;\n            if (_matchAncestry(frameAncestry, iframeResult.node.ancestry)) {\n              r.result = iframeResult.result;\n              break;\n            }\n          }\n        } catch (err) {\n          _iterator17.e(err);\n        } finally {\n          _iterator17.f();\n        }\n      });\n      iframeResults.forEach(function(r) {\n        if (!r.result) {\n          r.result = true;\n        }\n      });\n      return results;\n    }\n    var region_after_default = regionAfter;\n    function normalizeFontWeight(weight) {\n      switch (weight) {\n       case 'lighter':\n        return 100;\n\n       case 'normal':\n        return 400;\n\n       case 'bold':\n        return 700;\n\n       case 'bolder':\n        return 900;\n      }\n      weight = parseInt(weight);\n      return !isNaN(weight) ? weight : 400;\n    }\n    function getTextContainer(elm) {\n      var nextNode = elm;\n      var outerText = elm.textContent.trim();\n      var innerText = outerText;\n      while (innerText === outerText && nextNode !== void 0) {\n        var _i21 = -1;\n        elm = nextNode;\n        if (elm.children.length === 0) {\n          return elm;\n        }\n        do {\n          _i21++;\n          innerText = elm.children[_i21].textContent.trim();\n        } while (innerText === '' && _i21 + 1 < elm.children.length);\n        nextNode = elm.children[_i21];\n      }\n      return elm;\n    }\n    function getStyleValues(node) {\n      var style = window.getComputedStyle(getTextContainer(node));\n      return {\n        fontWeight: normalizeFontWeight(style.getPropertyValue('font-weight')),\n        fontSize: parseInt(style.getPropertyValue('font-size')),\n        isItalic: style.getPropertyValue('font-style') === 'italic'\n      };\n    }\n    function isHeaderStyle(styleA, styleB, margins) {\n      return margins.reduce(function(out, margin) {\n        return out || (!margin.size || styleA.fontSize / margin.size > styleB.fontSize) && (!margin.weight || styleA.fontWeight - margin.weight > styleB.fontWeight) && (!margin.italic || styleA.isItalic && !styleB.isItalic);\n      }, false);\n    }\n    function pAsHeadingEvaluate(node, options, virtualNode) {\n      var siblings = Array.from(node.parentNode.children);\n      var currentIndex = siblings.indexOf(node);\n      options = options || {};\n      var margins = options.margins || [];\n      var nextSibling = siblings.slice(currentIndex + 1).find(function(elm) {\n        return elm.nodeName.toUpperCase() === 'P';\n      });\n      var prevSibling = siblings.slice(0, currentIndex).reverse().find(function(elm) {\n        return elm.nodeName.toUpperCase() === 'P';\n      });\n      var currStyle = getStyleValues(node);\n      var nextStyle = nextSibling ? getStyleValues(nextSibling) : null;\n      var prevStyle = prevSibling ? getStyleValues(prevSibling) : null;\n      var optionsPassLength = options.passLength;\n      var optionsFailLength = options.failLength;\n      var headingLength = node.textContent.trim().length;\n      var paragraphLength = nextSibling === null || nextSibling === void 0 ? void 0 : nextSibling.textContent.trim().length;\n      if (headingLength > paragraphLength * optionsPassLength) {\n        return true;\n      }\n      if (!nextStyle || !isHeaderStyle(currStyle, nextStyle, margins)) {\n        return true;\n      }\n      var blockquote = find_up_virtual_default(virtualNode, 'blockquote');\n      if (blockquote && blockquote.nodeName.toUpperCase() === 'BLOCKQUOTE') {\n        return void 0;\n      }\n      if (prevStyle && !isHeaderStyle(currStyle, prevStyle, margins)) {\n        return void 0;\n      }\n      if (headingLength > paragraphLength * optionsFailLength) {\n        return void 0;\n      }\n      return false;\n    }\n    var p_as_heading_evaluate_default = pAsHeadingEvaluate;\n    var separatorRegex = /[;,\\s]/;\n    var validRedirectNumRegex = /^[0-9.]+$/;\n    function metaRefreshEvaluate(node, options, virtualNode) {\n      var _ref96 = options || {}, minDelay = _ref96.minDelay, maxDelay = _ref96.maxDelay;\n      var content = (virtualNode.attr('content') || '').trim();\n      var _content$split = content.split(separatorRegex), _content$split2 = _slicedToArray(_content$split, 1), redirectStr = _content$split2[0];\n      if (!redirectStr.match(validRedirectNumRegex)) {\n        return true;\n      }\n      var redirectDelay = parseFloat(redirectStr);\n      this.data({\n        redirectDelay: redirectDelay\n      });\n      if (typeof minDelay === 'number' && redirectDelay <= options.minDelay) {\n        return true;\n      }\n      if (typeof maxDelay === 'number' && redirectDelay > options.maxDelay) {\n        return true;\n      }\n      return false;\n    }\n    function internalLinkPresentEvaluate(node, options, virtualNode) {\n      var links = query_selector_all_default(virtualNode, 'a[href]');\n      return links.some(function(vLink) {\n        return /^#[^/!]/.test(vLink.attr('href'));\n      });\n    }\n    var internal_link_present_evaluate_default = internalLinkPresentEvaluate;\n    var commons_exports = {};\n    __export(commons_exports, {\n      aria: function aria() {\n        return aria_exports;\n      },\n      color: function color() {\n        return color_exports;\n      },\n      dom: function dom() {\n        return dom_exports;\n      },\n      forms: function forms() {\n        return forms_exports;\n      },\n      matches: function matches() {\n        return matches_default2;\n      },\n      math: function math() {\n        return math_exports;\n      },\n      standards: function standards() {\n        return standards_exports;\n      },\n      table: function table() {\n        return table_exports;\n      },\n      text: function text() {\n        return text_exports;\n      },\n      utils: function utils() {\n        return utils_exports;\n      }\n    });\n    var color_exports = {};\n    __export(color_exports, {\n      Color: function Color() {\n        return color_default;\n      },\n      centerPointOfRect: function centerPointOfRect() {\n        return center_point_of_rect_default;\n      },\n      elementHasImage: function elementHasImage() {\n        return element_has_image_default;\n      },\n      elementIsDistinct: function elementIsDistinct() {\n        return element_is_distinct_default;\n      },\n      filteredRectStack: function filteredRectStack() {\n        return filtered_rect_stack_default;\n      },\n      flattenColors: function flattenColors() {\n        return _flattenColors;\n      },\n      flattenShadowColors: function flattenShadowColors() {\n        return _flattenShadowColors;\n      },\n      getBackgroundColor: function getBackgroundColor() {\n        return _getBackgroundColor2;\n      },\n      getBackgroundStack: function getBackgroundStack() {\n        return _getBackgroundStack;\n      },\n      getContrast: function getContrast() {\n        return get_contrast_default;\n      },\n      getForegroundColor: function getForegroundColor() {\n        return _getForegroundColor;\n      },\n      getOwnBackgroundColor: function getOwnBackgroundColor() {\n        return get_own_background_color_default;\n      },\n      getRectStack: function getRectStack() {\n        return get_rect_stack_default;\n      },\n      getStackingContext: function getStackingContext() {\n        return _getStackingContext;\n      },\n      getStrokeColorsFromShadows: function getStrokeColorsFromShadows() {\n        return _getStrokeColorsFromShadows;\n      },\n      getTextShadowColors: function getTextShadowColors() {\n        return _getTextShadowColors;\n      },\n      hasValidContrastRatio: function hasValidContrastRatio() {\n        return has_valid_contrast_ratio_default;\n      },\n      incompleteData: function incompleteData() {\n        return incomplete_data_default;\n      },\n      parseTextShadows: function parseTextShadows() {\n        return _parseTextShadows;\n      },\n      stackingContextToColor: function stackingContextToColor() {\n        return _stackingContextToColor;\n      }\n    });\n    function centerPointOfRect(rect) {\n      if (rect.left > window.innerWidth) {\n        return void 0;\n      }\n      if (rect.top > window.innerHeight) {\n        return void 0;\n      }\n      var x = Math.min(Math.ceil(rect.left + rect.width / 2), window.innerWidth - 1);\n      var y = Math.min(Math.ceil(rect.top + rect.height / 2), window.innerHeight - 1);\n      return {\n        x: x,\n        y: y\n      };\n    }\n    var center_point_of_rect_default = centerPointOfRect;\n    function _getFonts(style) {\n      return style.getPropertyValue('font-family').split(/[,;]/g).map(function(font) {\n        return font.trim().toLowerCase();\n      });\n    }\n    function elementIsDistinct(node, ancestorNode) {\n      var nodeStyle = window.getComputedStyle(node);\n      if (nodeStyle.getPropertyValue('background-image') !== 'none') {\n        return true;\n      }\n      var hasBorder = [ 'border-bottom', 'border-top', 'outline' ].reduce(function(result, edge) {\n        var borderClr = new color_default();\n        borderClr.parseString(nodeStyle.getPropertyValue(edge + '-color'));\n        return result || nodeStyle.getPropertyValue(edge + '-style') !== 'none' && parseFloat(nodeStyle.getPropertyValue(edge + '-width')) > 0 && borderClr.alpha !== 0;\n      }, false);\n      if (hasBorder) {\n        return true;\n      }\n      var parentStyle = window.getComputedStyle(ancestorNode);\n      if (_getFonts(nodeStyle)[0] !== _getFonts(parentStyle)[0]) {\n        return true;\n      }\n      var hasStyle = [ 'text-decoration-line', 'text-decoration-style', 'font-weight', 'font-style', 'font-size' ].reduce(function(result, cssProp) {\n        return result || nodeStyle.getPropertyValue(cssProp) !== parentStyle.getPropertyValue(cssProp);\n      }, false);\n      var tDec = nodeStyle.getPropertyValue('text-decoration');\n      if (tDec.split(' ').length < 3) {\n        hasStyle = hasStyle || tDec !== parentStyle.getPropertyValue('text-decoration');\n      }\n      return hasStyle;\n    }\n    var element_is_distinct_default = elementIsDistinct;\n    function getRectStack2(elm) {\n      var boundingStack = get_element_stack_default(elm);\n      var filteredArr = get_text_element_stack_default(elm);\n      if (!filteredArr || filteredArr.length <= 1) {\n        return [ boundingStack ];\n      }\n      if (filteredArr.some(function(stack) {\n        return stack === void 0;\n      })) {\n        return null;\n      }\n      filteredArr.splice(0, 0, boundingStack);\n      return filteredArr;\n    }\n    var get_rect_stack_default = getRectStack2;\n    function filteredRectStack(elm) {\n      var rectStack = get_rect_stack_default(elm);\n      if (rectStack && rectStack.length === 1) {\n        return rectStack[0];\n      }\n      if (rectStack && rectStack.length > 1) {\n        var boundingStack = rectStack.shift();\n        var isSame;\n        rectStack.forEach(function(rectList, index) {\n          if (index === 0) {\n            return;\n          }\n          var rectA = rectStack[index - 1], rectB = rectStack[index];\n          isSame = rectA.every(function(element, elementIndex) {\n            return element === rectB[elementIndex];\n          }) || boundingStack.includes(elm);\n        });\n        if (!isSame) {\n          incomplete_data_default.set('bgColor', 'elmPartiallyObscuring');\n          return null;\n        }\n        return rectStack[0];\n      }\n      incomplete_data_default.set('bgColor', 'outsideViewport');\n      return null;\n    }\n    var filtered_rect_stack_default = filteredRectStack;\n    var nonSeparableBlendModes = [ 'hue', 'saturation', 'color', 'luminosity' ];\n    var blendFunctions = {\n      normal: function normal(Cb, Cs) {\n        return Cs;\n      },\n      multiply: function multiply(Cb, Cs) {\n        return Cs * Cb;\n      },\n      screen: function screen(Cb, Cs) {\n        return Cb + Cs - Cb * Cs;\n      },\n      overlay: function overlay(Cb, Cs) {\n        return this['hard-light'](Cs, Cb);\n      },\n      darken: function darken(Cb, Cs) {\n        return Math.min(Cb, Cs);\n      },\n      lighten: function lighten(Cb, Cs) {\n        return Math.max(Cb, Cs);\n      },\n      'color-dodge': function colorDodge(Cb, Cs) {\n        return Cb === 0 ? 0 : Cs === 1 ? 1 : Math.min(1, Cb / (1 - Cs));\n      },\n      'color-burn': function colorBurn(Cb, Cs) {\n        return Cb === 1 ? 1 : Cs === 0 ? 0 : 1 - Math.min(1, (1 - Cb) / Cs);\n      },\n      'hard-light': function hardLight(Cb, Cs) {\n        return Cs <= .5 ? this.multiply(Cb, 2 * Cs) : this.screen(Cb, 2 * Cs - 1);\n      },\n      'soft-light': function softLight(Cb, Cs) {\n        if (Cs <= .5) {\n          return Cb - (1 - 2 * Cs) * Cb * (1 - Cb);\n        } else {\n          var D = Cb <= .25 ? ((16 * Cb - 12) * Cb + 4) * Cb : Math.sqrt(Cb);\n          return Cb + (2 * Cs - 1) * (D - Cb);\n        }\n      },\n      difference: function difference(Cb, Cs) {\n        return Math.abs(Cb - Cs);\n      },\n      exclusion: function exclusion(Cb, Cs) {\n        return Cb + Cs - 2 * Cb * Cs;\n      },\n      hue: function hue(Cb, Cs) {\n        return Cs.setSaturation(Cb.getSaturation()).setLuminosity(Cb.getLuminosity());\n      },\n      saturation: function saturation(Cb, Cs) {\n        return Cb.setSaturation(Cs.getSaturation()).setLuminosity(Cb.getLuminosity());\n      },\n      color: function color(Cb, Cs) {\n        return Cs.setLuminosity(Cb.getLuminosity());\n      },\n      luminosity: function luminosity(Cb, Cs) {\n        return Cb.setLuminosity(Cs.getLuminosity());\n      }\n    };\n    function _flattenColors(sourceColor, backdrop) {\n      var blendMode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'normal';\n      var blendingResult = blend(backdrop, sourceColor, blendMode);\n      var r = simpleAlphaCompositing(sourceColor.red, sourceColor.alpha, backdrop.red, backdrop.alpha, blendingResult.r * 255);\n      var g2 = simpleAlphaCompositing(sourceColor.green, sourceColor.alpha, backdrop.green, backdrop.alpha, blendingResult.g * 255);\n      var b2 = simpleAlphaCompositing(sourceColor.blue, sourceColor.alpha, backdrop.blue, backdrop.alpha, blendingResult.b * 255);\n      var \\u03b1o = clamp2(sourceColor.alpha + backdrop.alpha * (1 - sourceColor.alpha), 0, 1);\n      if (\\u03b1o === 0) {\n        return new color_default(r, g2, b2, \\u03b1o);\n      }\n      var Cr = Math.round(r / \\u03b1o);\n      var Cg = Math.round(g2 / \\u03b1o);\n      var Cb = Math.round(b2 / \\u03b1o);\n      return new color_default(Cr, Cg, Cb, \\u03b1o);\n    }\n    function simpleAlphaCompositing(Cs, \\u03b1s, Cb, \\u03b1b, blendingResult) {\n      return \\u03b1s * (1 - \\u03b1b) * Cs + \\u03b1s * \\u03b1b * blendingResult + (1 - \\u03b1s) * \\u03b1b * Cb;\n    }\n    function clamp2(value, min, max2) {\n      return Math.min(Math.max(min, value), max2);\n    }\n    function blend(Cb, Cs, blendMode) {\n      if (nonSeparableBlendModes.includes(blendMode)) {\n        return blendFunctions[blendMode](Cb, Cs);\n      }\n      var C = new color_default();\n      [ 'r', 'g', 'b' ].forEach(function(channel) {\n        C[channel] = blendFunctions[blendMode](Cb[channel], Cs[channel]);\n      });\n      return C;\n    }\n    function _flattenShadowColors(fgColor, bgColor) {\n      var alpha = fgColor.alpha;\n      var r = (1 - alpha) * bgColor.red + alpha * fgColor.red;\n      var g2 = (1 - alpha) * bgColor.green + alpha * fgColor.green;\n      var b2 = (1 - alpha) * bgColor.blue + alpha * fgColor.blue;\n      var a2 = fgColor.alpha + bgColor.alpha * (1 - fgColor.alpha);\n      return new color_default(r, g2, b2, a2);\n    }\n    function _getBackgroundStack(node) {\n      var stacks = get_text_element_stack_default(node).map(function(stack) {\n        stack = reduce_to_elements_below_floating_default(stack, node);\n        stack = sortPageBackground(stack);\n        return stack;\n      });\n      for (var index = 0; index < stacks.length; index++) {\n        var stack = stacks[index];\n        if (stack[0] !== node) {\n          incomplete_data_default.set('bgColor', 'bgOverlap');\n          return null;\n        }\n        if (index !== 0 && !shallowArraysEqual(stack, stacks[0])) {\n          incomplete_data_default.set('bgColor', 'elmPartiallyObscuring');\n          return null;\n        }\n      }\n      return stacks[0] || null;\n    }\n    function sortPageBackground(elmStack) {\n      var bodyIndex = elmStack.indexOf(document.body);\n      var bgNodes = elmStack;\n      var htmlBgColor = get_own_background_color_default(window.getComputedStyle(document.documentElement));\n      if (bodyIndex > 1 && htmlBgColor.alpha === 0 && !element_has_image_default(document.documentElement)) {\n        if (bodyIndex > 1) {\n          bgNodes.splice(bodyIndex, 1);\n          bgNodes.push(document.body);\n        }\n        var htmlIndex = bgNodes.indexOf(document.documentElement);\n        if (htmlIndex > 0) {\n          bgNodes.splice(htmlIndex, 1);\n          bgNodes.push(document.documentElement);\n        }\n      }\n      return bgNodes;\n    }\n    function shallowArraysEqual(a2, b2) {\n      if (a2 === b2) {\n        return true;\n      }\n      if (a2 === null || b2 === null) {\n        return false;\n      }\n      if (a2.length !== b2.length) {\n        return false;\n      }\n      for (var _i22 = 0; _i22 < a2.length; ++_i22) {\n        if (a2[_i22] !== b2[_i22]) {\n          return false;\n        }\n      }\n      return true;\n    }\n    var SHADOW_STROKE_ALPHA = .54;\n    var VISIBLE_SHADOW_MIN_PX = .5;\n    var OPAQUE_STROKE_OFFSET_MIN_PX = 1.5;\n    var edges = [ 'top', 'right', 'bottom', 'left' ];\n    function _getStrokeColorsFromShadows(parsedShadows) {\n      var _ref97 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref97$ignoreEdgeCoun = _ref97.ignoreEdgeCount, ignoreEdgeCount = _ref97$ignoreEdgeCoun === void 0 ? false : _ref97$ignoreEdgeCoun;\n      var shadowMap = getShadowColorsMap(parsedShadows);\n      var shadowsByColor = Object.entries(shadowMap).map(function(_ref98) {\n        var _ref99 = _slicedToArray(_ref98, 2), colorStr = _ref99[0], sides = _ref99[1];\n        var edgeCount = edges.filter(function(side) {\n          return sides[side].length !== 0;\n        }).length;\n        return {\n          colorStr: colorStr,\n          sides: sides,\n          edgeCount: edgeCount\n        };\n      });\n      if (!ignoreEdgeCount && shadowsByColor.some(function(_ref100) {\n        var edgeCount = _ref100.edgeCount;\n        return edgeCount > 1 && edgeCount < 4;\n      })) {\n        return null;\n      }\n      return shadowsByColor.map(shadowGroupToColor).filter(function(shadow) {\n        return shadow !== null;\n      });\n    }\n    function getShadowColorsMap(parsedShadows) {\n      var colorMap = {};\n      var _iterator18 = _createForOfIteratorHelper(parsedShadows), _step18;\n      try {\n        for (_iterator18.s(); !(_step18 = _iterator18.n()).done; ) {\n          var _colorMap$colorStr;\n          var _step18$value = _step18.value, colorStr = _step18$value.colorStr, pixels = _step18$value.pixels;\n          (_colorMap$colorStr = colorMap[colorStr]) !== null && _colorMap$colorStr !== void 0 ? _colorMap$colorStr : colorMap[colorStr] = {\n            top: [],\n            right: [],\n            bottom: [],\n            left: []\n          };\n          var borders = colorMap[colorStr];\n          var _pixels = _slicedToArray(pixels, 2), offsetX = _pixels[0], offsetY = _pixels[1];\n          if (offsetX > VISIBLE_SHADOW_MIN_PX) {\n            borders.right.push(offsetX);\n          } else if (-offsetX > VISIBLE_SHADOW_MIN_PX) {\n            borders.left.push(-offsetX);\n          }\n          if (offsetY > VISIBLE_SHADOW_MIN_PX) {\n            borders.bottom.push(offsetY);\n          } else if (-offsetY > VISIBLE_SHADOW_MIN_PX) {\n            borders.top.push(-offsetY);\n          }\n        }\n      } catch (err) {\n        _iterator18.e(err);\n      } finally {\n        _iterator18.f();\n      }\n      return colorMap;\n    }\n    function shadowGroupToColor(_ref101) {\n      var colorStr = _ref101.colorStr, sides = _ref101.sides, edgeCount = _ref101.edgeCount;\n      if (edgeCount !== 4) {\n        return null;\n      }\n      var strokeColor = new color_default();\n      strokeColor.parseString(colorStr);\n      var density = 0;\n      var isSolid = true;\n      edges.forEach(function(edge) {\n        density += sides[edge].length / 4;\n        isSolid && (isSolid = sides[edge].every(function(offset) {\n          return offset > OPAQUE_STROKE_OFFSET_MIN_PX;\n        }));\n      });\n      if (!isSolid) {\n        strokeColor.alpha = 1 - Math.pow(SHADOW_STROKE_ALPHA, density);\n      }\n      return strokeColor;\n    }\n    function _parseTextShadows(textShadow) {\n      var current = {\n        pixels: []\n      };\n      var str = textShadow.trim();\n      var shadows = [ current ];\n      if (!str) {\n        return [];\n      }\n      while (str) {\n        var colorMatch = str.match(/^[a-z]+(\\([^)]+\\))?/i) || str.match(/^#[0-9a-f]+/i);\n        var pixelMatch = str.match(/^([0-9.-]+)px/i) || str.match(/^(0)/);\n        if (colorMatch) {\n          assert_default(!current.colorStr, 'Multiple colors identified in text-shadow: '.concat(textShadow));\n          str = str.replace(colorMatch[0], '').trim();\n          current.colorStr = colorMatch[0];\n        } else if (pixelMatch) {\n          assert_default(current.pixels.length < 3, 'Too many pixel units in text-shadow: '.concat(textShadow));\n          str = str.replace(pixelMatch[0], '').trim();\n          var pixelUnit = parseFloat((pixelMatch[1][0] === '.' ? '0' : '') + pixelMatch[1]);\n          current.pixels.push(pixelUnit);\n        } else if (str[0] === ',') {\n          assert_default(current.pixels.length >= 2, 'Missing pixel value in text-shadow: '.concat(textShadow));\n          current = {\n            pixels: []\n          };\n          shadows.push(current);\n          str = str.substr(1).trim();\n        } else {\n          throw new Error('Unable to process text-shadows: '.concat(str));\n        }\n      }\n      shadows.forEach(function(_ref102) {\n        var pixels = _ref102.pixels;\n        if (pixels.length === 2) {\n          pixels.push(0);\n        }\n      });\n      return shadows;\n    }\n    function _getTextShadowColors(node) {\n      var _ref103 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, minRatio = _ref103.minRatio, maxRatio = _ref103.maxRatio, ignoreEdgeCount = _ref103.ignoreEdgeCount;\n      var shadowColors = [];\n      var style = window.getComputedStyle(node);\n      var textShadow = style.getPropertyValue('text-shadow');\n      if (textShadow === 'none') {\n        return shadowColors;\n      }\n      var fontSizeStr = style.getPropertyValue('font-size');\n      var fontSize = parseInt(fontSizeStr);\n      assert_default(isNaN(fontSize) === false, 'Unable to determine font-size value '.concat(fontSizeStr));\n      var thinShadows = [];\n      var shadows = _parseTextShadows(textShadow);\n      var _iterator19 = _createForOfIteratorHelper(shadows), _step19;\n      try {\n        for (_iterator19.s(); !(_step19 = _iterator19.n()).done; ) {\n          var shadow = _step19.value;\n          var colorStr = shadow.colorStr || style.getPropertyValue('color');\n          var _shadow$pixels = _slicedToArray(shadow.pixels, 3), offsetX = _shadow$pixels[0], offsetY = _shadow$pixels[1], _shadow$pixels$ = _shadow$pixels[2], blurRadius = _shadow$pixels$ === void 0 ? 0 : _shadow$pixels$;\n          if (maxRatio && blurRadius >= fontSize * maxRatio) {\n            continue;\n          }\n          if (minRatio && blurRadius < fontSize * minRatio) {\n            thinShadows.push({\n              colorStr: colorStr,\n              pixels: shadow.pixels\n            });\n            continue;\n          }\n          if (thinShadows.length > 0) {\n            var _strokeColors = _getStrokeColorsFromShadows(thinShadows, {\n              ignoreEdgeCount: ignoreEdgeCount\n            });\n            if (_strokeColors === null) {\n              return null;\n            }\n            shadowColors.push.apply(shadowColors, _toConsumableArray(_strokeColors));\n            thinShadows.splice(0, thinShadows.length);\n          }\n          var _color3 = textShadowColor({\n            colorStr: colorStr,\n            offsetX: offsetX,\n            offsetY: offsetY,\n            blurRadius: blurRadius,\n            fontSize: fontSize\n          });\n          shadowColors.push(_color3);\n        }\n      } catch (err) {\n        _iterator19.e(err);\n      } finally {\n        _iterator19.f();\n      }\n      if (thinShadows.length > 0) {\n        var strokeColors = _getStrokeColorsFromShadows(thinShadows, {\n          ignoreEdgeCount: ignoreEdgeCount\n        });\n        if (strokeColors === null) {\n          return null;\n        }\n        shadowColors.push.apply(shadowColors, _toConsumableArray(strokeColors));\n      }\n      return shadowColors;\n    }\n    function textShadowColor(_ref104) {\n      var colorStr = _ref104.colorStr, offsetX = _ref104.offsetX, offsetY = _ref104.offsetY, blurRadius = _ref104.blurRadius, fontSize = _ref104.fontSize;\n      if (offsetX > blurRadius || offsetY > blurRadius) {\n        return new color_default(0, 0, 0, 0);\n      }\n      var shadowColor = new color_default();\n      shadowColor.parseString(colorStr);\n      shadowColor.alpha *= blurRadiusToAlpha(blurRadius, fontSize);\n      return shadowColor;\n    }\n    function blurRadiusToAlpha(blurRadius, fontSize) {\n      if (blurRadius === 0) {\n        return 1;\n      }\n      var relativeBlur = blurRadius / fontSize;\n      return .185 / (relativeBlur + .4);\n    }\n    function _getStackingContext(elm, elmStack) {\n      var virtualNode = get_node_from_tree_default(elm);\n      if (virtualNode._stackingContext) {\n        return virtualNode._stackingContext;\n      }\n      var stackingContext = [];\n      var contextMap = new Map();\n      elmStack = elmStack !== null && elmStack !== void 0 ? elmStack : _getBackgroundStack(elm);\n      elmStack.forEach(function(bgElm) {\n        var _stackingOrder2;\n        var bgVNode = get_node_from_tree_default(bgElm);\n        var bgColor = getOwnBackgroundColor2(bgVNode);\n        var stackingOrder = bgVNode._stackingOrder.filter(function(_ref105) {\n          var vNode = _ref105.vNode;\n          return !!vNode;\n        });\n        stackingOrder.forEach(function(_ref106, index) {\n          var _stackingOrder;\n          var vNode = _ref106.vNode;\n          var ancestorVNode2 = (_stackingOrder = stackingOrder[index - 1]) === null || _stackingOrder === void 0 ? void 0 : _stackingOrder.vNode;\n          var context2 = addToStackingContext(contextMap, vNode, ancestorVNode2);\n          if (index === 0 && !contextMap.get(vNode)) {\n            stackingContext.unshift(context2);\n          }\n          contextMap.set(vNode, context2);\n        });\n        var ancestorVNode = (_stackingOrder2 = stackingOrder[stackingOrder.length - 1]) === null || _stackingOrder2 === void 0 ? void 0 : _stackingOrder2.vNode;\n        var context = addToStackingContext(contextMap, bgVNode, ancestorVNode);\n        if (!stackingOrder.length) {\n          stackingContext.unshift(context);\n        }\n        context.bgColor = bgColor;\n      });\n      virtualNode._stackingContext = stackingContext;\n      return stackingContext;\n    }\n    function _stackingContextToColor(context) {\n      var _context$descendants;\n      if (!((_context$descendants = context.descendants) !== null && _context$descendants !== void 0 && _context$descendants.length)) {\n        var color2 = context.bgColor;\n        color2.alpha *= context.opacity;\n        return {\n          color: color2,\n          blendMode: context.blendMode\n        };\n      }\n      var sourceColor = context.descendants.reduce(reduceToColor, createStackingContext2());\n      var color = _flattenColors(sourceColor, context.bgColor, context.descendants[0].blendMode);\n      color.alpha *= context.opacity;\n      return {\n        color: color,\n        blendMode: context.blendMode\n      };\n    }\n    function reduceToColor(backdropContext, sourceContext) {\n      var backdrop;\n      if (backdropContext instanceof color_default) {\n        backdrop = backdropContext;\n      } else {\n        backdrop = _stackingContextToColor(backdropContext).color;\n      }\n      var sourceColor = _stackingContextToColor(sourceContext).color;\n      return _flattenColors(sourceColor, backdrop, sourceContext.blendMode);\n    }\n    function createStackingContext2(vNode, ancestorContext) {\n      var _vNode$getComputedSty;\n      return {\n        vNode: vNode,\n        ancestor: ancestorContext,\n        opacity: parseFloat((_vNode$getComputedSty = vNode === null || vNode === void 0 ? void 0 : vNode.getComputedStylePropertyValue('opacity')) !== null && _vNode$getComputedSty !== void 0 ? _vNode$getComputedSty : 1),\n        bgColor: new color_default(0, 0, 0, 0),\n        blendMode: normalizeBlendMode(vNode === null || vNode === void 0 ? void 0 : vNode.getComputedStylePropertyValue('mix-blend-mode')),\n        descendants: []\n      };\n    }\n    function normalizeBlendMode(blendmode) {\n      return !!blendmode ? blendmode : void 0;\n    }\n    function addToStackingContext(contextMap, vNode, ancestorVNode) {\n      var _contextMap$get;\n      var ancestorContext = contextMap.get(ancestorVNode);\n      var context = (_contextMap$get = contextMap.get(vNode)) !== null && _contextMap$get !== void 0 ? _contextMap$get : createStackingContext2(vNode, ancestorContext);\n      if (ancestorContext && ancestorVNode !== vNode && !ancestorContext.descendants.includes(context)) {\n        ancestorContext.descendants.unshift(context);\n      }\n      return context;\n    }\n    function getOwnBackgroundColor2(vNode) {\n      var bgColor = new color_default();\n      bgColor.parseString(vNode.getComputedStylePropertyValue('background-color'));\n      return bgColor;\n    }\n    function _getBackgroundColor2(elm) {\n      var bgElms = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n      var shadowOutlineEmMax = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : .1;\n      var vNode = get_node_from_tree_default(elm);\n      var bgColorCache = vNode._cache.getBackgroundColor;\n      if (bgColorCache) {\n        bgElms.push.apply(bgElms, _toConsumableArray(bgColorCache.bgElms));\n        incomplete_data_default.set('bgColor', bgColorCache.incompleteData);\n        return bgColorCache.bgColor;\n      }\n      var bgColor = _getBackgroundColor(elm, bgElms, shadowOutlineEmMax);\n      vNode._cache.getBackgroundColor = {\n        bgColor: bgColor,\n        bgElms: bgElms,\n        incompleteData: incomplete_data_default.get('bgColor')\n      };\n      return bgColor;\n    }\n    function _getBackgroundColor(elm, bgElms, shadowOutlineEmMax) {\n      var _getTextShadowColors2, _bgColors;\n      var elmStack = _getBackgroundStack(elm);\n      if (!elmStack) {\n        return null;\n      }\n      var textRects = get_visible_child_text_rects_default(elm);\n      var bgColors = (_getTextShadowColors2 = _getTextShadowColors(elm, {\n        minRatio: shadowOutlineEmMax,\n        ignoreEdgeCount: true\n      })) !== null && _getTextShadowColors2 !== void 0 ? _getTextShadowColors2 : [];\n      if (bgColors.length) {\n        bgColors = [ {\n          color: bgColors.reduce(_flattenShadowColors)\n        } ];\n      }\n      for (var _i23 = 0; _i23 < elmStack.length; _i23++) {\n        var bgElm = elmStack[_i23];\n        var bgElmStyle = window.getComputedStyle(bgElm);\n        if (element_has_image_default(bgElm, bgElmStyle)) {\n          bgElms.push(bgElm);\n          return null;\n        }\n        var bgColor = get_own_background_color_default(bgElmStyle);\n        if (bgColor.alpha === 0) {\n          continue;\n        }\n        if (bgElmStyle.getPropertyValue('display') !== 'inline' && !fullyEncompasses(bgElm, textRects)) {\n          bgElms.push(bgElm);\n          incomplete_data_default.set('bgColor', 'elmPartiallyObscured');\n          return null;\n        }\n        bgElms.push(bgElm);\n        if (bgColor.alpha === 1) {\n          break;\n        }\n      }\n      var stackingContext = _getStackingContext(elm, elmStack);\n      bgColors = stackingContext.map(_stackingContextToColor).concat(bgColors);\n      var pageBgs = getPageBackgroundColors(elm, elmStack.includes(document.body));\n      (_bgColors = bgColors).unshift.apply(_bgColors, _toConsumableArray(pageBgs));\n      if (bgColors.length === 0) {\n        return new color_default(255, 255, 255, 1);\n      }\n      var blendedColor = bgColors.reduce(function(bgColor, fgColor) {\n        return _flattenColors(fgColor.color, bgColor.color instanceof color_default ? bgColor.color : bgColor, fgColor.blendMode);\n      });\n      return _flattenColors(blendedColor.color instanceof color_default ? blendedColor.color : blendedColor, new color_default(255, 255, 255, 1));\n    }\n    function fullyEncompasses(node, rects) {\n      rects = Array.isArray(rects) ? rects : [ rects ];\n      var nodeRect = node.getBoundingClientRect();\n      var right = nodeRect.right, bottom = nodeRect.bottom;\n      var style = window.getComputedStyle(node);\n      var overflow = style.getPropertyValue('overflow');\n      if ([ 'scroll', 'auto' ].includes(overflow) || node instanceof window.HTMLHtmlElement) {\n        right = nodeRect.left + node.scrollWidth;\n        bottom = nodeRect.top + node.scrollHeight;\n      }\n      return rects.every(function(rect) {\n        return rect.top >= nodeRect.top && rect.bottom <= bottom && rect.left >= nodeRect.left && rect.right <= right;\n      });\n    }\n    function normalizeBlendMode2(blendmode) {\n      return !!blendmode ? blendmode : void 0;\n    }\n    function getPageBackgroundColors(elm, stackContainsBody) {\n      var pageColors = [];\n      if (!stackContainsBody) {\n        var html = document.documentElement;\n        var body = document.body;\n        var htmlStyle = window.getComputedStyle(html);\n        var bodyStyle = window.getComputedStyle(body);\n        var htmlBgColor = get_own_background_color_default(htmlStyle);\n        var bodyBgColor = get_own_background_color_default(bodyStyle);\n        var bodyBgColorApplies = bodyBgColor.alpha !== 0 && fullyEncompasses(body, elm.getBoundingClientRect());\n        if (bodyBgColor.alpha !== 0 && htmlBgColor.alpha === 0 || bodyBgColorApplies && bodyBgColor.alpha !== 1) {\n          pageColors.unshift({\n            color: bodyBgColor,\n            blendMode: normalizeBlendMode2(bodyStyle.getPropertyValue('mix-blend-mode'))\n          });\n        }\n        if (htmlBgColor.alpha !== 0 && (!bodyBgColorApplies || bodyBgColorApplies && bodyBgColor.alpha !== 1)) {\n          pageColors.unshift({\n            color: htmlBgColor,\n            blendMode: normalizeBlendMode2(htmlStyle.getPropertyValue('mix-blend-mode'))\n          });\n        }\n      }\n      return pageColors;\n    }\n    function getContrast(bgColor, fgColor) {\n      if (!fgColor || !bgColor) {\n        return null;\n      }\n      if (fgColor.alpha < 1) {\n        fgColor = _flattenColors(fgColor, bgColor);\n      }\n      var bL = bgColor.getRelativeLuminance();\n      var fL = fgColor.getRelativeLuminance();\n      return (Math.max(fL, bL) + .05) / (Math.min(fL, bL) + .05);\n    }\n    var get_contrast_default = getContrast;\n    function _getForegroundColor(node, _, bgColor) {\n      var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n      var nodeStyle = window.getComputedStyle(node);\n      var colorStack = [ function() {\n        return getStrokeColor(nodeStyle, options);\n      }, function() {\n        return getTextColor(nodeStyle);\n      }, function() {\n        return _getTextShadowColors(node, {\n          minRatio: 0\n        });\n      } ];\n      var fgColors = [];\n      for (var _i24 = 0, _colorStack = colorStack; _i24 < _colorStack.length; _i24++) {\n        var colorFn = _colorStack[_i24];\n        var _color4 = colorFn();\n        if (!_color4) {\n          continue;\n        }\n        fgColors = fgColors.concat(_color4);\n        if (_color4.alpha === 1) {\n          break;\n        }\n      }\n      var fgColor = fgColors.reduce(function(source, backdrop) {\n        return _flattenColors(source, backdrop);\n      });\n      bgColor !== null && bgColor !== void 0 ? bgColor : bgColor = _getBackgroundColor2(node, []);\n      if (bgColor === null) {\n        var reason = incomplete_data_default.get('bgColor');\n        incomplete_data_default.set('fgColor', reason);\n        return null;\n      }\n      var stackingContexts = _getStackingContext(node);\n      var context = findNodeInContexts(stackingContexts, node);\n      return _flattenColors(calculateBlendedForegroundColor(fgColor, context, stackingContexts), new color_default(255, 255, 255, 1));\n    }\n    function getTextColor(nodeStyle) {\n      return new color_default().parseString(nodeStyle.getPropertyValue('-webkit-text-fill-color') || nodeStyle.getPropertyValue('color'));\n    }\n    function getStrokeColor(nodeStyle, _ref107) {\n      var _ref107$textStrokeEmM = _ref107.textStrokeEmMin, textStrokeEmMin = _ref107$textStrokeEmM === void 0 ? 0 : _ref107$textStrokeEmM;\n      var strokeWidth = parseFloat(nodeStyle.getPropertyValue('-webkit-text-stroke-width'));\n      if (strokeWidth === 0) {\n        return null;\n      }\n      var fontSize = nodeStyle.getPropertyValue('font-size');\n      var relativeStrokeWidth = strokeWidth / parseFloat(fontSize);\n      if (isNaN(relativeStrokeWidth) || relativeStrokeWidth < textStrokeEmMin) {\n        return null;\n      }\n      var strokeColor = nodeStyle.getPropertyValue('-webkit-text-stroke-color');\n      return new color_default().parseString(strokeColor);\n    }\n    function calculateBlendedForegroundColor(fgColor, context, stackingContexts) {\n      while (context) {\n        var _context$ancestor;\n        if (context.opacity === 1 && context.ancestor) {\n          context = context.ancestor;\n          continue;\n        }\n        fgColor.alpha *= context.opacity;\n        var stack = ((_context$ancestor = context.ancestor) === null || _context$ancestor === void 0 ? void 0 : _context$ancestor.descendants) || stackingContexts;\n        if (context.opacity !== 1) {\n          stack = stack.slice(0, stack.indexOf(context));\n        }\n        var bgColors = stack.map(_stackingContextToColor);\n        if (!bgColors.length) {\n          context = context.ancestor;\n          continue;\n        }\n        var bgColor = bgColors.reduce(function(backdrop, source) {\n          return _flattenColors(source.color, backdrop.color instanceof color_default ? backdrop.color : backdrop);\n        }, {\n          color: new color_default(0, 0, 0, 0),\n          blendMode: 'normal'\n        });\n        fgColor = _flattenColors(fgColor, bgColor);\n        context = context.ancestor;\n      }\n      return fgColor;\n    }\n    function findNodeInContexts(contexts, node) {\n      var _iterator20 = _createForOfIteratorHelper(contexts), _step20;\n      try {\n        for (_iterator20.s(); !(_step20 = _iterator20.n()).done; ) {\n          var _context$vNode;\n          var context = _step20.value;\n          if (((_context$vNode = context.vNode) === null || _context$vNode === void 0 ? void 0 : _context$vNode.actualNode) === node) {\n            return context;\n          }\n          var found = findNodeInContexts(context.descendants, node);\n          if (found) {\n            return found;\n          }\n        }\n      } catch (err) {\n        _iterator20.e(err);\n      } finally {\n        _iterator20.f();\n      }\n    }\n    function hasValidContrastRatio(bg, fg, fontSize, isBold) {\n      var contrast2 = get_contrast_default(bg, fg);\n      var isSmallFont = isBold && Math.ceil(fontSize * 72) / 96 < 14 || !isBold && Math.ceil(fontSize * 72) / 96 < 18;\n      var expectedContrastRatio = isSmallFont ? 4.5 : 3;\n      return {\n        isValid: contrast2 > expectedContrastRatio,\n        contrastRatio: contrast2,\n        expectedContrastRatio: expectedContrastRatio\n      };\n    }\n    var has_valid_contrast_ratio_default = hasValidContrastRatio;\n    var forms_exports = {};\n    __export(forms_exports, {\n      isAriaCombobox: function isAriaCombobox() {\n        return is_aria_combobox_default;\n      },\n      isAriaListbox: function isAriaListbox() {\n        return is_aria_listbox_default;\n      },\n      isAriaRange: function isAriaRange() {\n        return is_aria_range_default;\n      },\n      isAriaTextbox: function isAriaTextbox() {\n        return is_aria_textbox_default;\n      },\n      isDisabled: function isDisabled() {\n        return is_disabled_default;\n      },\n      isNativeSelect: function isNativeSelect() {\n        return is_native_select_default;\n      },\n      isNativeTextbox: function isNativeTextbox() {\n        return is_native_textbox_default;\n      }\n    });\n    var disabledNodeNames = [ 'fieldset', 'button', 'select', 'input', 'textarea' ];\n    function isDisabled(virtualNode) {\n      var disabledState = virtualNode._isDisabled;\n      if (typeof disabledState === 'boolean') {\n        return disabledState;\n      }\n      var nodeName2 = virtualNode.props.nodeName;\n      var ariaDisabled = virtualNode.attr('aria-disabled');\n      if (disabledNodeNames.includes(nodeName2) && virtualNode.hasAttr('disabled')) {\n        disabledState = true;\n      } else if (ariaDisabled) {\n        disabledState = ariaDisabled.toLowerCase() === 'true';\n      } else if (virtualNode.parent) {\n        disabledState = isDisabled(virtualNode.parent);\n      } else {\n        disabledState = false;\n      }\n      virtualNode._isDisabled = disabledState;\n      return disabledState;\n    }\n    var is_disabled_default = isDisabled;\n    function identicalLinksSamePurposeEvaluate(node, options, virtualNode) {\n      var accText = text_exports.accessibleTextVirtual(virtualNode);\n      var name = text_exports.sanitize(text_exports.removeUnicode(accText, {\n        emoji: true,\n        nonBmp: true,\n        punctuations: true\n      })).toLowerCase();\n      if (!name) {\n        return void 0;\n      }\n      var afterData = {\n        name: name,\n        urlProps: dom_exports.urlPropsFromAttribute(node, 'href')\n      };\n      this.data(afterData);\n      this.relatedNodes([ node ]);\n      return true;\n    }\n    var identical_links_same_purpose_evaluate_default = identicalLinksSamePurposeEvaluate;\n    function isIdenticalObject(a2, b2) {\n      if (!a2 || !b2) {\n        return false;\n      }\n      var aProps = Object.getOwnPropertyNames(a2);\n      var bProps = Object.getOwnPropertyNames(b2);\n      if (aProps.length !== bProps.length) {\n        return false;\n      }\n      var result = aProps.every(function(propName) {\n        var aValue = a2[propName];\n        var bValue = b2[propName];\n        if (_typeof(aValue) !== _typeof(bValue)) {\n          return false;\n        }\n        if (_typeof(aValue) === 'object' || _typeof(bValue) === 'object') {\n          return isIdenticalObject(aValue, bValue);\n        }\n        return aValue === bValue;\n      });\n      return result;\n    }\n    function identicalLinksSamePurposeAfter(results) {\n      if (results.length < 2) {\n        return results;\n      }\n      var incompleteResults = results.filter(function(_ref108) {\n        var result = _ref108.result;\n        return result !== void 0;\n      });\n      var uniqueResults = [];\n      var nameMap = {};\n      var _loop8 = function _loop8(index) {\n        var _currentResult$relate;\n        var currentResult = incompleteResults[index];\n        var _currentResult$data = currentResult.data, name = _currentResult$data.name, urlProps = _currentResult$data.urlProps;\n        if (nameMap[name]) {\n          return 1;\n        }\n        var sameNameResults = incompleteResults.filter(function(_ref109, resultNum) {\n          var data = _ref109.data;\n          return data.name === name && resultNum !== index;\n        });\n        var isSameUrl = sameNameResults.every(function(_ref110) {\n          var data = _ref110.data;\n          return isIdenticalObject(data.urlProps, urlProps);\n        });\n        if (sameNameResults.length && !isSameUrl) {\n          currentResult.result = void 0;\n        }\n        currentResult.relatedNodes = [];\n        (_currentResult$relate = currentResult.relatedNodes).push.apply(_currentResult$relate, _toConsumableArray(sameNameResults.map(function(node) {\n          return node.relatedNodes[0];\n        })));\n        nameMap[name] = sameNameResults;\n        uniqueResults.push(currentResult);\n      };\n      for (var index = 0; index < incompleteResults.length; index++) {\n        if (_loop8(index)) {\n          continue;\n        }\n      }\n      return uniqueResults;\n    }\n    var identical_links_same_purpose_after_default = identicalLinksSamePurposeAfter;\n    function getLevel(vNode) {\n      var role = get_role_default(vNode);\n      var headingRole = role && role.includes('heading');\n      var ariaHeadingLevel = vNode.attr('aria-level');\n      var ariaLevel = parseInt(ariaHeadingLevel, 10);\n      var _ref111 = vNode.props.nodeName.match(/h(\\d)/) || [], _ref112 = _slicedToArray(_ref111, 2), headingLevel = _ref112[1];\n      if (!headingRole) {\n        return -1;\n      }\n      if (headingLevel && !ariaHeadingLevel) {\n        return parseInt(headingLevel, 10);\n      }\n      if (isNaN(ariaLevel) || ariaLevel < 1) {\n        if (headingLevel) {\n          return parseInt(headingLevel, 10);\n        }\n        return 2;\n      }\n      if (ariaLevel) {\n        return ariaLevel;\n      }\n      return -1;\n    }\n    function headingOrderEvaluate() {\n      var headingOrder = cache_default.get('headingOrder');\n      if (headingOrder) {\n        return true;\n      }\n      var selector = 'h1, h2, h3, h4, h5, h6, [role=heading], iframe, frame';\n      var vNodes = query_selector_all_filter_default(axe._tree[0], selector, _isVisibleToScreenReaders);\n      headingOrder = vNodes.map(function(vNode) {\n        return {\n          ancestry: [ _getAncestry(vNode.actualNode) ],\n          level: getLevel(vNode)\n        };\n      });\n      this.data({\n        headingOrder: headingOrder\n      });\n      cache_default.set('headingOrder', vNodes);\n      return true;\n    }\n    var heading_order_evaluate_default = headingOrderEvaluate;\n    function headingOrderAfter(results) {\n      var headingOrder = getHeadingOrder(results);\n      results.forEach(function(result) {\n        result.result = getHeadingOrderOutcome(result, headingOrder);\n      });\n      return results;\n    }\n    function getHeadingOrderOutcome(result, headingOrder) {\n      var _headingOrder$index$l, _headingOrder$index, _headingOrder$level, _headingOrder;\n      var index = findHeadingOrderIndex(headingOrder, result.node.ancestry);\n      var currLevel = (_headingOrder$index$l = (_headingOrder$index = headingOrder[index]) === null || _headingOrder$index === void 0 ? void 0 : _headingOrder$index.level) !== null && _headingOrder$index$l !== void 0 ? _headingOrder$index$l : -1;\n      var prevLevel = (_headingOrder$level = (_headingOrder = headingOrder[index - 1]) === null || _headingOrder === void 0 ? void 0 : _headingOrder.level) !== null && _headingOrder$level !== void 0 ? _headingOrder$level : -1;\n      if (index === 0) {\n        return true;\n      }\n      if (currLevel === -1) {\n        return void 0;\n      }\n      return currLevel - prevLevel <= 1;\n    }\n    function getHeadingOrder(results) {\n      results = _toConsumableArray(results);\n      results.sort(function(_ref113, _ref114) {\n        var nodeA = _ref113.node;\n        var nodeB = _ref114.node;\n        return nodeA.ancestry.length - nodeB.ancestry.length;\n      });\n      var headingOrder = results.reduce(mergeHeadingOrder, []);\n      return headingOrder.filter(function(_ref115) {\n        var level = _ref115.level;\n        return level !== -1;\n      });\n    }\n    function mergeHeadingOrder(mergedHeadingOrder, result) {\n      var _result$data;\n      var frameHeadingOrder = (_result$data = result.data) === null || _result$data === void 0 ? void 0 : _result$data.headingOrder;\n      var frameAncestry = shortenArray(result.node.ancestry, 1);\n      if (!frameHeadingOrder) {\n        return mergedHeadingOrder;\n      }\n      var normalizedHeadingOrder = frameHeadingOrder.map(function(heading) {\n        return addFrameToHeadingAncestry(heading, frameAncestry);\n      });\n      var index = getFrameIndex(mergedHeadingOrder, frameAncestry);\n      if (index === -1) {\n        mergedHeadingOrder.push.apply(mergedHeadingOrder, _toConsumableArray(normalizedHeadingOrder));\n      } else {\n        mergedHeadingOrder.splice.apply(mergedHeadingOrder, [ index, 0 ].concat(_toConsumableArray(normalizedHeadingOrder)));\n      }\n      return mergedHeadingOrder;\n    }\n    function getFrameIndex(headingOrder, frameAncestry) {\n      while (frameAncestry.length) {\n        var index = findHeadingOrderIndex(headingOrder, frameAncestry);\n        if (index !== -1) {\n          return index;\n        }\n        frameAncestry = shortenArray(frameAncestry, 1);\n      }\n      return -1;\n    }\n    function findHeadingOrderIndex(headingOrder, ancestry) {\n      return headingOrder.findIndex(function(heading) {\n        return _matchAncestry(heading.ancestry, ancestry);\n      });\n    }\n    function addFrameToHeadingAncestry(heading, frameAncestry) {\n      var ancestry = frameAncestry.concat(heading.ancestry);\n      return _extends({}, heading, {\n        ancestry: ancestry\n      });\n    }\n    function shortenArray(arr, spliceLength) {\n      return arr.slice(0, arr.length - spliceLength);\n    }\n    function targetSizeEvaluate(node, options, vNode) {\n      var minSize = (options === null || options === void 0 ? void 0 : options.minSize) || 24;\n      var nodeRect = vNode.boundingClientRect;\n      if (_rectHasMinimumSize(minSize * 10, nodeRect)) {\n        this.data({\n          messageKey: 'large',\n          minSize: minSize\n        });\n        return true;\n      }\n      var hasMinimumSize = _rectHasMinimumSize.bind(null, minSize);\n      var nearbyElms = _findNearbyElms(vNode);\n      var overflowingContent = filterOverflowingContent(vNode, nearbyElms);\n      var _filterByElmsOverlap = filterByElmsOverlap(vNode, nearbyElms), fullyObscuringElms = _filterByElmsOverlap.fullyObscuringElms, partialObscuringElms = _filterByElmsOverlap.partialObscuringElms;\n      if (overflowingContent.length && (fullyObscuringElms.length || !hasMinimumSize(nodeRect))) {\n        this.data({\n          minSize: minSize,\n          messageKey: 'contentOverflow'\n        });\n        this.relatedNodes(mapActualNodes(overflowingContent));\n        return void 0;\n      }\n      if (fullyObscuringElms.length) {\n        this.relatedNodes(mapActualNodes(fullyObscuringElms));\n        this.data({\n          messageKey: 'obscured'\n        });\n        return true;\n      }\n      var negativeOutcome = _isInTabOrder(vNode) ? false : void 0;\n      if (!hasMinimumSize(nodeRect)) {\n        this.data(_extends({\n          minSize: minSize\n        }, toDecimalSize(nodeRect)));\n        return negativeOutcome;\n      }\n      var obscuredWidgets = filterFocusableWidgets(partialObscuringElms);\n      if (!obscuredWidgets.length) {\n        this.data(_extends({\n          minSize: minSize\n        }, toDecimalSize(nodeRect)));\n        return true;\n      }\n      var largestInnerRect = getLargestUnobscuredArea(vNode, obscuredWidgets);\n      if (!largestInnerRect) {\n        this.data({\n          minSize: minSize,\n          messageKey: 'tooManyRects'\n        });\n        return void 0;\n      }\n      if (!hasMinimumSize(largestInnerRect)) {\n        if (overflowingContent.length) {\n          this.data({\n            minSize: minSize,\n            messageKey: 'contentOverflow'\n          });\n          this.relatedNodes(mapActualNodes(overflowingContent));\n          return void 0;\n        }\n        var allTabbable = obscuredWidgets.every(_isInTabOrder);\n        var messageKey = 'partiallyObscured'.concat(allTabbable ? '' : 'NonTabbable');\n        this.data(_extends({\n          messageKey: messageKey,\n          minSize: minSize\n        }, toDecimalSize(largestInnerRect)));\n        this.relatedNodes(mapActualNodes(obscuredWidgets));\n        return allTabbable ? negativeOutcome : void 0;\n      }\n      this.data(_extends({\n        minSize: minSize\n      }, toDecimalSize(largestInnerRect || nodeRect)));\n      this.relatedNodes(mapActualNodes(obscuredWidgets));\n      return true;\n    }\n    function filterOverflowingContent(vNode, nearbyElms) {\n      return nearbyElms.filter(function(nearbyElm) {\n        return !isEnclosedRect2(nearbyElm, vNode) && isDescendantNotInTabOrder2(vNode, nearbyElm);\n      });\n    }\n    function filterByElmsOverlap(vNode, nearbyElms) {\n      var fullyObscuringElms = [];\n      var partialObscuringElms = [];\n      var _iterator21 = _createForOfIteratorHelper(nearbyElms), _step21;\n      try {\n        for (_iterator21.s(); !(_step21 = _iterator21.n()).done; ) {\n          var vNeighbor = _step21.value;\n          if (!isDescendantNotInTabOrder2(vNode, vNeighbor) && _hasVisualOverlap(vNode, vNeighbor) && getCssPointerEvents(vNeighbor) !== 'none') {\n            if (isEnclosedRect2(vNode, vNeighbor)) {\n              fullyObscuringElms.push(vNeighbor);\n            } else {\n              partialObscuringElms.push(vNeighbor);\n            }\n          }\n        }\n      } catch (err) {\n        _iterator21.e(err);\n      } finally {\n        _iterator21.f();\n      }\n      return {\n        fullyObscuringElms: fullyObscuringElms,\n        partialObscuringElms: partialObscuringElms\n      };\n    }\n    function getLargestUnobscuredArea(vNode, obscuredNodes) {\n      var nodeRect = vNode.boundingClientRect;\n      var obscuringRects = obscuredNodes.map(function(_ref116) {\n        var rect = _ref116.boundingClientRect;\n        return rect;\n      });\n      var unobscuredRects;\n      try {\n        unobscuredRects = _splitRects(nodeRect, obscuringRects);\n      } catch (_unused9) {\n        return null;\n      }\n      return getLargestRect2(unobscuredRects);\n    }\n    function getLargestRect2(rects, minSize) {\n      return rects.reduce(function(rectA, rectB) {\n        var rectAisMinimum = _rectHasMinimumSize(minSize, rectA);\n        var rectBisMinimum = _rectHasMinimumSize(minSize, rectB);\n        if (rectAisMinimum !== rectBisMinimum) {\n          return rectAisMinimum ? rectA : rectB;\n        }\n        var areaA = rectA.width * rectA.height;\n        var areaB = rectB.width * rectB.height;\n        return areaA > areaB ? rectA : rectB;\n      });\n    }\n    function filterFocusableWidgets(vNodes) {\n      return vNodes.filter(function(vNode) {\n        return get_role_type_default(vNode) === 'widget' && _isFocusable(vNode);\n      });\n    }\n    function isEnclosedRect2(vNodeA, vNodeB) {\n      var rectA = vNodeA.boundingClientRect;\n      var rectB = vNodeB.boundingClientRect;\n      return rectA.top >= rectB.top && rectA.left >= rectB.left && rectA.bottom <= rectB.bottom && rectA.right <= rectB.right;\n    }\n    function getCssPointerEvents(vNode) {\n      return vNode.getComputedStylePropertyValue('pointer-events');\n    }\n    function toDecimalSize(rect) {\n      return {\n        width: Math.round(rect.width * 10) / 10,\n        height: Math.round(rect.height * 10) / 10\n      };\n    }\n    function isDescendantNotInTabOrder2(vAncestor, vNode) {\n      return _contains(vAncestor, vNode) && !_isInTabOrder(vNode);\n    }\n    function mapActualNodes(vNodes) {\n      return vNodes.map(function(_ref117) {\n        var actualNode = _ref117.actualNode;\n        return actualNode;\n      });\n    }\n    var roundingMargin2 = .05;\n    function targetOffsetEvaluate(node, options, vNode) {\n      var minOffset = (options === null || options === void 0 ? void 0 : options.minOffset) || 24;\n      if (_rectHasMinimumSize(minOffset * 10, vNode.boundingClientRect)) {\n        this.data({\n          messageKey: 'large',\n          minOffset: minOffset\n        });\n        return true;\n      }\n      var closeNeighbors = [];\n      var closestOffset = minOffset;\n      var _iterator22 = _createForOfIteratorHelper(_findNearbyElms(vNode, minOffset)), _step22;\n      try {\n        for (_iterator22.s(); !(_step22 = _iterator22.n()).done; ) {\n          var vNeighbor = _step22.value;\n          if (get_role_type_default(vNeighbor) !== 'widget' || !_isFocusable(vNeighbor)) {\n            continue;\n          }\n          var offset = null;\n          try {\n            offset = _getOffset(vNode, vNeighbor, minOffset / 2);\n          } catch (err2) {\n            if (err2.message.startsWith('splitRects')) {\n              this.data({\n                messageKey: 'tooManyRects',\n                closestOffset: 0,\n                minOffset: minOffset\n              });\n              return void 0;\n            }\n            throw err2;\n          }\n          if (offset === null) {\n            continue;\n          }\n          offset = roundToSingleDecimal(offset) * 2;\n          if (offset + roundingMargin2 >= minOffset) {\n            continue;\n          }\n          closestOffset = Math.min(closestOffset, offset);\n          closeNeighbors.push(vNeighbor);\n        }\n      } catch (err) {\n        _iterator22.e(err);\n      } finally {\n        _iterator22.f();\n      }\n      if (closeNeighbors.length === 0) {\n        this.data({\n          closestOffset: closestOffset,\n          minOffset: minOffset\n        });\n        return true;\n      }\n      this.relatedNodes(closeNeighbors.map(function(_ref118) {\n        var actualNode = _ref118.actualNode;\n        return actualNode;\n      }));\n      if (!closeNeighbors.some(_isInTabOrder)) {\n        this.data({\n          messageKey: 'nonTabbableNeighbor',\n          closestOffset: closestOffset,\n          minOffset: minOffset\n        });\n        return void 0;\n      }\n      this.data({\n        closestOffset: closestOffset,\n        minOffset: minOffset\n      });\n      return _isInTabOrder(vNode) ? false : void 0;\n    }\n    function roundToSingleDecimal(num) {\n      return Math.round(num * 10) / 10;\n    }\n    function metaViewportScaleEvaluate(node, options, virtualNode) {\n      var _ref119 = options || {}, _ref119$scaleMinimum = _ref119.scaleMinimum, scaleMinimum = _ref119$scaleMinimum === void 0 ? 2 : _ref119$scaleMinimum, _ref119$lowerBound = _ref119.lowerBound, lowerBound = _ref119$lowerBound === void 0 ? false : _ref119$lowerBound;\n      var content = virtualNode.attr('content') || '';\n      if (!content) {\n        return true;\n      }\n      var result = content.split(/[;,]/).reduce(function(out, item) {\n        var contentValue = item.trim();\n        if (!contentValue) {\n          return out;\n        }\n        var _contentValue$split = contentValue.split('='), _contentValue$split2 = _slicedToArray(_contentValue$split, 2), key = _contentValue$split2[0], value = _contentValue$split2[1];\n        if (!key || !value) {\n          return out;\n        }\n        var curatedKey = key.toLowerCase().trim();\n        var curatedValue = value.toLowerCase().trim();\n        if (curatedKey === 'maximum-scale' && curatedValue === 'yes') {\n          curatedValue = 1;\n        }\n        if (curatedKey === 'maximum-scale' && parseFloat(curatedValue) < 0) {\n          return out;\n        }\n        out[curatedKey] = curatedValue;\n        return out;\n      }, {});\n      if (lowerBound && result['maximum-scale'] && parseFloat(result['maximum-scale']) < lowerBound) {\n        return true;\n      }\n      if (!lowerBound && result['user-scalable'] === 'no') {\n        this.data('user-scalable=no');\n        return false;\n      }\n      var userScalableAsFloat = parseFloat(result['user-scalable']);\n      if (!lowerBound && result['user-scalable'] && (userScalableAsFloat || userScalableAsFloat === 0) && userScalableAsFloat > -1 && userScalableAsFloat < 1) {\n        this.data('user-scalable');\n        return false;\n      }\n      if (result['maximum-scale'] && parseFloat(result['maximum-scale']) < scaleMinimum) {\n        this.data('maximum-scale');\n        return false;\n      }\n      return true;\n    }\n    var meta_viewport_scale_evaluate_default = metaViewportScaleEvaluate;\n    function cssOrientationLockEvaluate(node, options, virtualNode, context) {\n      var _ref120 = context || {}, _ref120$cssom = _ref120.cssom, cssom = _ref120$cssom === void 0 ? void 0 : _ref120$cssom;\n      var _ref121 = options || {}, _ref121$degreeThresho = _ref121.degreeThreshold, degreeThreshold = _ref121$degreeThresho === void 0 ? 0 : _ref121$degreeThresho;\n      if (!cssom || !cssom.length) {\n        return void 0;\n      }\n      var isLocked = false;\n      var relatedElements = [];\n      var rulesGroupByDocumentFragment = groupCssomByDocument(cssom);\n      var _loop9 = function _loop9() {\n        var key = _Object$keys3[_i25];\n        var _rulesGroupByDocument = rulesGroupByDocumentFragment[key], root = _rulesGroupByDocument.root, rules = _rulesGroupByDocument.rules;\n        var orientationRules = rules.filter(isMediaRuleWithOrientation);\n        if (!orientationRules.length) {\n          return 1;\n        }\n        orientationRules.forEach(function(_ref122) {\n          var cssRules = _ref122.cssRules;\n          Array.from(cssRules).forEach(function(cssRule) {\n            var locked = getIsOrientationLocked(cssRule);\n            if (locked && cssRule.selectorText.toUpperCase() !== 'HTML') {\n              var elms = Array.from(root.querySelectorAll(cssRule.selectorText)) || [];\n              relatedElements = relatedElements.concat(elms);\n            }\n            isLocked = isLocked || locked;\n          });\n        });\n      };\n      for (var _i25 = 0, _Object$keys3 = Object.keys(rulesGroupByDocumentFragment); _i25 < _Object$keys3.length; _i25++) {\n        if (_loop9()) {\n          continue;\n        }\n      }\n      if (!isLocked) {\n        return true;\n      }\n      if (relatedElements.length) {\n        this.relatedNodes(relatedElements);\n      }\n      return false;\n      function groupCssomByDocument(cssObjectModel) {\n        return cssObjectModel.reduce(function(out, _ref123) {\n          var sheet = _ref123.sheet, root = _ref123.root, shadowId = _ref123.shadowId;\n          var key = shadowId ? shadowId : 'topDocument';\n          if (!out[key]) {\n            out[key] = {\n              root: root,\n              rules: []\n            };\n          }\n          if (!sheet || !sheet.cssRules) {\n            return out;\n          }\n          var rules = Array.from(sheet.cssRules);\n          out[key].rules = out[key].rules.concat(rules);\n          return out;\n        }, {});\n      }\n      function isMediaRuleWithOrientation(_ref124) {\n        var type2 = _ref124.type, cssText = _ref124.cssText;\n        if (type2 !== 4) {\n          return false;\n        }\n        return /orientation:\\s*landscape/i.test(cssText) || /orientation:\\s*portrait/i.test(cssText);\n      }\n      function getIsOrientationLocked(_ref125) {\n        var selectorText = _ref125.selectorText, style = _ref125.style;\n        if (!selectorText || style.length <= 0) {\n          return false;\n        }\n        var transformStyle = style.transform || style.webkitTransform || style.msTransform || false;\n        if (!transformStyle && !style.rotate) {\n          return false;\n        }\n        var transformDegrees = getTransformDegrees(transformStyle);\n        var rotateDegrees = getRotationInDegrees('rotate', style.rotate);\n        var degrees = transformDegrees + rotateDegrees;\n        if (!degrees) {\n          return false;\n        }\n        degrees = Math.abs(degrees);\n        if (Math.abs(degrees - 180) % 180 <= degreeThreshold) {\n          return false;\n        }\n        return Math.abs(degrees - 90) % 90 <= degreeThreshold;\n      }\n      function getTransformDegrees(transformStyle) {\n        if (!transformStyle) {\n          return 0;\n        }\n        var matches4 = transformStyle.match(/(rotate|rotateZ|rotate3d|matrix|matrix3d)\\(([^)]+)\\)(?!.*(rotate|rotateZ|rotate3d|matrix|matrix3d))/);\n        if (!matches4) {\n          return 0;\n        }\n        var _matches2 = _slicedToArray(matches4, 3), transformFn = _matches2[1], transformFnValue = _matches2[2];\n        return getRotationInDegrees(transformFn, transformFnValue);\n      }\n      function getRotationInDegrees(transformFunction, transformFnValue) {\n        switch (transformFunction) {\n         case 'rotate':\n         case 'rotateZ':\n          return getAngleInDegrees(transformFnValue);\n\n         case 'rotate3d':\n          var _transformFnValue$spl = transformFnValue.split(',').map(function(value) {\n            return value.trim();\n          }), _transformFnValue$spl2 = _slicedToArray(_transformFnValue$spl, 4), z = _transformFnValue$spl2[2], angleWithUnit = _transformFnValue$spl2[3];\n          if (parseInt(z) === 0) {\n            return;\n          }\n          return getAngleInDegrees(angleWithUnit);\n\n         case 'matrix':\n         case 'matrix3d':\n          return getAngleInDegreesFromMatrixTransform(transformFnValue);\n\n         default:\n          return 0;\n        }\n      }\n      function getAngleInDegrees(angleWithUnit) {\n        var _ref126 = angleWithUnit.match(/(deg|grad|rad|turn)/) || [], _ref127 = _slicedToArray(_ref126, 1), unit = _ref127[0];\n        if (!unit) {\n          return 0;\n        }\n        var angle = parseFloat(angleWithUnit.replace(unit, ''));\n        switch (unit) {\n         case 'rad':\n          return convertRadToDeg(angle);\n\n         case 'grad':\n          return convertGradToDeg(angle);\n\n         case 'turn':\n          return convertTurnToDeg(angle);\n\n         case 'deg':\n         default:\n          return parseInt(angle);\n        }\n      }\n      function getAngleInDegreesFromMatrixTransform(transformFnValue) {\n        var values2 = transformFnValue.split(',');\n        if (values2.length <= 6) {\n          var _values = _slicedToArray(values2, 2), a2 = _values[0], b3 = _values[1];\n          var radians = Math.atan2(parseFloat(b3), parseFloat(a2));\n          return convertRadToDeg(radians);\n        }\n        var sinB = parseFloat(values2[8]);\n        var b2 = Math.asin(sinB);\n        var cosB = Math.cos(b2);\n        var rotateZRadians = Math.acos(parseFloat(values2[0]) / cosB);\n        return convertRadToDeg(rotateZRadians);\n      }\n      function convertRadToDeg(radians) {\n        return Math.round(radians * (180 / Math.PI));\n      }\n      function convertGradToDeg(grad) {\n        grad = grad % 400;\n        if (grad < 0) {\n          grad += 400;\n        }\n        return Math.round(grad / 400 * 360);\n      }\n      function convertTurnToDeg(turn) {\n        return Math.round(360 / (1 / turn));\n      }\n    }\n    var css_orientation_lock_evaluate_default = cssOrientationLockEvaluate;\n    function noAutoplayAudioEvaluate(node, options) {\n      var hasControls = node.hasAttribute('controls');\n      if (node.hasAttribute('loop')) {\n        return hasControls;\n      }\n      if (!node.duration) {\n        console.warn('axe.utils.preloadMedia did not load metadata');\n        return void 0;\n      }\n      var _options$allowedDurat = options.allowedDuration, allowedDuration = _options$allowedDurat === void 0 ? 3 : _options$allowedDurat;\n      var playableDuration = getPlayableDuration(node);\n      if (playableDuration <= allowedDuration) {\n        return true;\n      }\n      if (!hasControls) {\n        return false;\n      }\n      return true;\n      function getPlayableDuration(elm) {\n        if (!elm.currentSrc) {\n          return 0;\n        }\n        var playbackRange = getPlaybackRange(elm.currentSrc);\n        if (!playbackRange) {\n          return Math.abs(elm.duration - (elm.currentTime || 0));\n        }\n        if (playbackRange.length === 1) {\n          return Math.abs(elm.duration - playbackRange[0]);\n        }\n        return Math.abs(playbackRange[1] - playbackRange[0]);\n      }\n      function getPlaybackRange(src) {\n        var match = src.match(/#t=(.*)/);\n        if (!match) {\n          return;\n        }\n        var _match = _slicedToArray(match, 2), value = _match[1];\n        var ranges = value.split(',');\n        return ranges.map(function(range2) {\n          if (/:/.test(range2)) {\n            return convertHourMinSecToSeconds(range2);\n          }\n          return parseFloat(range2);\n        });\n      }\n      function convertHourMinSecToSeconds(hhMmSs) {\n        var parts = hhMmSs.split(':');\n        var secs = 0;\n        var mins = 1;\n        while (parts.length > 0) {\n          secs += mins * parseInt(parts.pop(), 10);\n          mins *= 60;\n        }\n        return parseFloat(secs);\n      }\n    }\n    var no_autoplay_audio_evaluate_default = noAutoplayAudioEvaluate;\n    function frameTestedEvaluate(node, options) {\n      return options.isViolation ? false : void 0;\n    }\n    var frame_tested_evaluate_default = frameTestedEvaluate;\n    var joinStr = ' > ';\n    function frameTestedAfter(results) {\n      var iframes = {};\n      return results.filter(function(result) {\n        var frameResult = result.node.ancestry[result.node.ancestry.length - 1] !== 'html';\n        if (frameResult) {\n          var ancestry2 = result.node.ancestry.flat(Infinity).join(joinStr);\n          iframes[ancestry2] = result;\n          return true;\n        }\n        var ancestry = result.node.ancestry.slice(0, result.node.ancestry.length - 1).flat(Infinity).join(joinStr);\n        if (iframes[ancestry]) {\n          iframes[ancestry].result = true;\n        }\n        return false;\n      });\n    }\n    var frame_tested_after_default = frameTestedAfter;\n    function captionEvaluate(node, options, virtualNode) {\n      var tracks = query_selector_all_default(virtualNode, 'track');\n      var hasCaptions = tracks.some(function(vNode) {\n        return (vNode.attr('kind') || '').toLowerCase() === 'captions';\n      });\n      return hasCaptions ? false : void 0;\n    }\n    var caption_evaluate_default = captionEvaluate;\n    function structuredDlitemsEvaluate(node, options, virtualNode) {\n      var children = virtualNode.children;\n      if (!children || !children.length) {\n        return false;\n      }\n      var hasDt = false, hasDd = false, nodeName2;\n      for (var _i26 = 0; _i26 < children.length; _i26++) {\n        nodeName2 = children[_i26].props.nodeName.toUpperCase();\n        if (nodeName2 === 'DT') {\n          hasDt = true;\n        }\n        if (hasDt && nodeName2 === 'DD') {\n          return false;\n        }\n        if (nodeName2 === 'DD') {\n          hasDd = true;\n        }\n      }\n      return hasDt || hasDd;\n    }\n    var structured_dlitems_evaluate_default = structuredDlitemsEvaluate;\n    function onlyListitemsEvaluate(node, options, virtualNode) {\n      var hasNonEmptyTextNode = false;\n      var atLeastOneListitem = false;\n      var isEmpty2 = true;\n      var badNodes = [];\n      var badRoleNodes = [];\n      var badRoles = [];\n      virtualNode.children.forEach(function(vNode) {\n        var actualNode = vNode.actualNode;\n        if (actualNode.nodeType === 3 && actualNode.nodeValue.trim() !== '') {\n          hasNonEmptyTextNode = true;\n          return;\n        }\n        if (actualNode.nodeType !== 1 || !_isVisibleToScreenReaders(actualNode)) {\n          return;\n        }\n        isEmpty2 = false;\n        var isLi = actualNode.nodeName.toUpperCase() === 'LI';\n        var role = get_role_default(vNode);\n        var isListItemRole = role === 'listitem';\n        if (!isLi && !isListItemRole) {\n          badNodes.push(actualNode);\n        }\n        if (isLi && !isListItemRole) {\n          badRoleNodes.push(actualNode);\n          if (!badRoles.includes(role)) {\n            badRoles.push(role);\n          }\n        }\n        if (isListItemRole) {\n          atLeastOneListitem = true;\n        }\n      });\n      if (hasNonEmptyTextNode || badNodes.length) {\n        this.relatedNodes(badNodes);\n        return true;\n      }\n      if (isEmpty2 || atLeastOneListitem) {\n        return false;\n      }\n      this.relatedNodes(badRoleNodes);\n      this.data({\n        messageKey: 'roleNotValid',\n        roles: badRoles.join(', ')\n      });\n      return true;\n    }\n    var only_listitems_evaluate_default = onlyListitemsEvaluate;\n    function onlyDlitemsEvaluate(node, options, virtualNode) {\n      var ALLOWED_ROLES = [ 'definition', 'term', 'list' ];\n      var base = {\n        badNodes: [],\n        hasNonEmptyTextNode: false\n      };\n      var content = virtualNode.children.reduce(function(vNodes, child) {\n        var actualNode = child.actualNode;\n        if (actualNode.nodeName.toUpperCase() === 'DIV' && get_role_default(actualNode) === null) {\n          return vNodes.concat(child.children);\n        }\n        return vNodes.concat(child);\n      }, []);\n      var result = content.reduce(function(out, childNode) {\n        var actualNode = childNode.actualNode;\n        var tagName = actualNode.nodeName.toUpperCase();\n        if (actualNode.nodeType === 1 && _isVisibleToScreenReaders(actualNode)) {\n          var explicitRole2 = get_explicit_role_default(actualNode);\n          if (tagName !== 'DT' && tagName !== 'DD' || explicitRole2) {\n            if (!ALLOWED_ROLES.includes(explicitRole2)) {\n              out.badNodes.push(actualNode);\n            }\n          }\n        } else if (actualNode.nodeType === 3 && actualNode.nodeValue.trim() !== '') {\n          out.hasNonEmptyTextNode = true;\n        }\n        return out;\n      }, base);\n      if (result.badNodes.length) {\n        this.relatedNodes(result.badNodes);\n      }\n      return !!result.badNodes.length || result.hasNonEmptyTextNode;\n    }\n    function listitemEvaluate(node, options, virtualNode) {\n      var parent = virtualNode.parent;\n      if (!parent) {\n        return void 0;\n      }\n      var parentNodeName = parent.props.nodeName;\n      var parentRole = get_explicit_role_default(parent);\n      if ([ 'presentation', 'none', 'list' ].includes(parentRole)) {\n        return true;\n      }\n      if (parentRole && is_valid_role_default(parentRole)) {\n        this.data({\n          messageKey: 'roleNotValid'\n        });\n        return false;\n      }\n      return [ 'ul', 'ol', 'menu' ].includes(parentNodeName);\n    }\n    function invalidChildrenEvaluate(node) {\n      var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      var virtualNode = arguments.length > 2 ? arguments[2] : undefined;\n      var relatedNodes = [];\n      var issues = [];\n      if (!virtualNode.children) {\n        return void 0;\n      }\n      var vChildren = mapWithNested(virtualNode.children);\n      while (vChildren.length) {\n        var _vChild$actualNode;\n        var _vChildren$shift = vChildren.shift(), vChild = _vChildren$shift.vChild, nested = _vChildren$shift.nested;\n        if (options.divGroups && !nested && isDivGroup(vChild)) {\n          if (!vChild.children) {\n            return void 0;\n          }\n          var vGrandChildren = mapWithNested(vChild.children, true);\n          vChildren.push.apply(vChildren, _toConsumableArray(vGrandChildren));\n          continue;\n        }\n        var issue = getInvalidSelector(vChild, nested, options);\n        if (!issue) {\n          continue;\n        }\n        if (!issues.includes(issue)) {\n          issues.push(issue);\n        }\n        if ((vChild === null || vChild === void 0 || (_vChild$actualNode = vChild.actualNode) === null || _vChild$actualNode === void 0 ? void 0 : _vChild$actualNode.nodeType) === 1) {\n          relatedNodes.push(vChild.actualNode);\n        }\n      }\n      if (issues.length === 0) {\n        return false;\n      }\n      this.data({\n        values: issues.join(', ')\n      });\n      this.relatedNodes(relatedNodes);\n      return true;\n    }\n    function getInvalidSelector(vChild, nested, _ref128) {\n      var _ref128$validRoles = _ref128.validRoles, validRoles = _ref128$validRoles === void 0 ? [] : _ref128$validRoles, _ref128$validNodeName = _ref128.validNodeNames, validNodeNames = _ref128$validNodeName === void 0 ? [] : _ref128$validNodeName;\n      var _vChild$props = vChild.props, nodeName2 = _vChild$props.nodeName, nodeType = _vChild$props.nodeType, nodeValue = _vChild$props.nodeValue;\n      var selector = nested ? 'div > ' : '';\n      if (nodeType === 3 && nodeValue.trim() !== '') {\n        return selector + '#text';\n      }\n      if (nodeType !== 1 || !_isVisibleToScreenReaders(vChild)) {\n        return false;\n      }\n      var role = get_explicit_role_default(vChild);\n      if (role) {\n        return validRoles.includes(role) ? false : selector + '[role='.concat(role, ']');\n      } else {\n        return validNodeNames.includes(nodeName2) ? false : selector + nodeName2;\n      }\n    }\n    function isDivGroup(vNode) {\n      return vNode.props.nodeName === 'div' && get_explicit_role_default(vNode) === null;\n    }\n    function mapWithNested(vNodes) {\n      var nested = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n      return vNodes.map(function(vChild) {\n        return {\n          vChild: vChild,\n          nested: nested\n        };\n      });\n    }\n    function dlitemEvaluate(node) {\n      var parent = get_composed_parent_default(node);\n      var parentTagName = parent.nodeName.toUpperCase();\n      var parentRole = get_explicit_role_default(parent);\n      if (parentTagName === 'DIV' && [ 'presentation', 'none', null ].includes(parentRole)) {\n        parent = get_composed_parent_default(parent);\n        parentTagName = parent.nodeName.toUpperCase();\n        parentRole = get_explicit_role_default(parent);\n      }\n      if (parentTagName !== 'DL') {\n        return false;\n      }\n      if (!parentRole || [ 'presentation', 'none', 'list' ].includes(parentRole)) {\n        return true;\n      }\n      return false;\n    }\n    var dlitem_evaluate_default = dlitemEvaluate;\n    function xmlLangMismatchEvaluate(node, options, vNode) {\n      var primaryLangValue = get_base_lang_default(vNode.attr('lang'));\n      var primaryXmlLangValue = get_base_lang_default(vNode.attr('xml:lang'));\n      return primaryLangValue === primaryXmlLangValue;\n    }\n    var xml_lang_mismatch_evaluate_default = xmlLangMismatchEvaluate;\n    function validLangEvaluate(node, options, virtualNode) {\n      var invalid = [];\n      options.attributes.forEach(function(langAttr) {\n        var langVal = virtualNode.attr(langAttr);\n        if (typeof langVal !== 'string') {\n          return;\n        }\n        var baselangVal = get_base_lang_default(langVal);\n        var invalidLang = options.value ? !options.value.map(get_base_lang_default).includes(baselangVal) : !valid_langs_default(baselangVal);\n        if (baselangVal !== '' && invalidLang || langVal !== '' && !sanitize_default(langVal)) {\n          invalid.push(langAttr + '=\"' + virtualNode.attr(langAttr) + '\"');\n        }\n      });\n      if (!invalid.length) {\n        return false;\n      }\n      if (virtualNode.props.nodeName !== 'html' && !_hasLangText(virtualNode)) {\n        return false;\n      }\n      this.data(invalid);\n      return true;\n    }\n    var valid_lang_evaluate_default = validLangEvaluate;\n    function hasValue(value) {\n      return (value || '').trim() !== '';\n    }\n    function hasLangEvaluate(node, options, virtualNode) {\n      var xhtml = typeof document !== 'undefined' ? is_xhtml_default(document) : false;\n      if (options.attributes.includes('xml:lang') && options.attributes.includes('lang') && hasValue(virtualNode.attr('xml:lang')) && !hasValue(virtualNode.attr('lang')) && !xhtml) {\n        this.data({\n          messageKey: 'noXHTML'\n        });\n        return false;\n      }\n      var hasLang = options.attributes.some(function(name) {\n        return hasValue(virtualNode.attr(name));\n      });\n      if (!hasLang) {\n        this.data({\n          messageKey: 'noLang'\n        });\n        return false;\n      }\n      return true;\n    }\n    var has_lang_evaluate_default = hasLangEvaluate;\n    function landmarkIsUniqueEvaluate(node, options, virtualNode) {\n      var role = get_role_default(node);\n      var accessibleText2 = _accessibleTextVirtual(virtualNode);\n      accessibleText2 = accessibleText2 ? accessibleText2.toLowerCase() : null;\n      this.data({\n        role: role,\n        accessibleText: accessibleText2\n      });\n      this.relatedNodes([ node ]);\n      return true;\n    }\n    var landmark_is_unique_evaluate_default = landmarkIsUniqueEvaluate;\n    function landmarkIsUniqueAfter(results) {\n      var uniqueLandmarks = [];\n      return results.filter(function(currentResult) {\n        var findMatch = function findMatch(someResult) {\n          return currentResult.data.role === someResult.data.role && currentResult.data.accessibleText === someResult.data.accessibleText;\n        };\n        var matchedResult = uniqueLandmarks.find(findMatch);\n        if (matchedResult) {\n          matchedResult.result = false;\n          matchedResult.relatedNodes.push(currentResult.relatedNodes[0]);\n          return false;\n        }\n        uniqueLandmarks.push(currentResult);\n        currentResult.relatedNodes = [];\n        return true;\n      });\n    }\n    var landmark_is_unique_after_default = landmarkIsUniqueAfter;\n    function titleOnlyEvaluate(node, options, virtualNode) {\n      var labelText2 = label_virtual_default2(virtualNode);\n      var title = title_text_default(virtualNode);\n      var ariaDescribedBy = virtualNode.attr('aria-describedby');\n      return !labelText2 && !!(title || ariaDescribedBy);\n    }\n    var title_only_evaluate_default = titleOnlyEvaluate;\n    function multipleLabelEvaluate(node) {\n      var id = escape_selector_default(node.getAttribute('id'));\n      var parent = node.parentNode;\n      var root = get_root_node_default2(node);\n      root = root.documentElement || root;\n      var labels = Array.from(root.querySelectorAll('label[for=\"'.concat(id, '\"]')));\n      if (labels.length) {\n        labels = labels.filter(function(label3) {\n          return !_isHiddenForEveryone(label3);\n        });\n      }\n      while (parent) {\n        if (parent.nodeName.toUpperCase() === 'LABEL' && labels.indexOf(parent) === -1) {\n          labels.push(parent);\n        }\n        parent = parent.parentNode;\n      }\n      this.relatedNodes(labels);\n      if (labels.length > 1) {\n        var ATVisibleLabels = labels.filter(function(label3) {\n          return _isVisibleToScreenReaders(label3);\n        });\n        if (ATVisibleLabels.length > 1) {\n          return void 0;\n        }\n        var labelledby = idrefs_default(node, 'aria-labelledby');\n        return !labelledby.includes(ATVisibleLabels[0]) ? void 0 : false;\n      }\n      return false;\n    }\n    var multiple_label_evaluate_default = multipleLabelEvaluate;\n    function isStringContained(compare, compareWith) {\n      var curatedCompareWith = curateString(compareWith);\n      var curatedCompare = curateString(compare);\n      if (!curatedCompareWith || !curatedCompare) {\n        return false;\n      }\n      return curatedCompareWith.includes(curatedCompare);\n    }\n    function curateString(str) {\n      var noUnicodeStr = remove_unicode_default(str, {\n        emoji: true,\n        nonBmp: true,\n        punctuations: true\n      });\n      return sanitize_default(noUnicodeStr);\n    }\n    function labelContentNameMismatchEvaluate(node, options, virtualNode) {\n      var _options$occurrenceTh;\n      var pixelThreshold = options === null || options === void 0 ? void 0 : options.pixelThreshold;\n      var occurrenceThreshold = (_options$occurrenceTh = options === null || options === void 0 ? void 0 : options.occurrenceThreshold) !== null && _options$occurrenceTh !== void 0 ? _options$occurrenceTh : options === null || options === void 0 ? void 0 : options.occuranceThreshold;\n      var accText = accessible_text_default(node).toLowerCase();\n      var visibleText = sanitize_default(subtree_text_default(virtualNode, {\n        subtreeDescendant: true,\n        ignoreIconLigature: true,\n        pixelThreshold: pixelThreshold,\n        occurrenceThreshold: occurrenceThreshold\n      })).toLowerCase();\n      if (!visibleText) {\n        return true;\n      }\n      if (is_human_interpretable_default(accText) < 1 || is_human_interpretable_default(visibleText) < 1) {\n        return void 0;\n      }\n      return isStringContained(visibleText, accText);\n    }\n    var label_content_name_mismatch_evaluate_default = labelContentNameMismatchEvaluate;\n    function implicitEvaluate(node, options, virtualNode) {\n      try {\n        var label3 = closest_default(virtualNode, 'label');\n        if (label3) {\n          var implicitLabel = sanitize_default(_accessibleTextVirtual(label3, {\n            inControlContext: true,\n            startNode: virtualNode\n          }));\n          if (label3.actualNode) {\n            this.relatedNodes([ label3.actualNode ]);\n          }\n          this.data({\n            implicitLabel: implicitLabel\n          });\n          return !!implicitLabel;\n        }\n        return false;\n      } catch (_unused0) {\n        return void 0;\n      }\n    }\n    var implicit_evaluate_default = implicitEvaluate;\n    function hiddenExplicitLabelEvaluate(node, options, virtualNode) {\n      if (virtualNode.hasAttr('id')) {\n        if (!virtualNode.actualNode) {\n          return void 0;\n        }\n        var root = get_root_node_default2(node);\n        var _id6 = escape_selector_default(node.getAttribute('id'));\n        var label3 = root.querySelector('label[for=\"'.concat(_id6, '\"]'));\n        if (label3 && !_isVisibleToScreenReaders(label3)) {\n          var name;\n          try {\n            name = _accessibleTextVirtual(virtualNode).trim();\n          } catch (_unused1) {\n            return void 0;\n          }\n          var isNameEmpty = name === '';\n          return isNameEmpty;\n        }\n      }\n      return false;\n    }\n    var hidden_explicit_label_evaluate_default = hiddenExplicitLabelEvaluate;\n    function helpSameAsLabelEvaluate(node, options, virtualNode) {\n      var labelText2 = label_virtual_default2(virtualNode);\n      var check = node.getAttribute('title');\n      if (!labelText2) {\n        return false;\n      }\n      if (!check) {\n        check = '';\n        if (node.getAttribute('aria-describedby')) {\n          var ref = idrefs_default(node, 'aria-describedby');\n          check = ref.map(function(thing) {\n            return thing ? accessible_text_default(thing) : '';\n          }).join('');\n        }\n      }\n      return sanitize_default(check) === sanitize_default(labelText2);\n    }\n    var help_same_as_label_evaluate_default = helpSameAsLabelEvaluate;\n    function explicitEvaluate(node, options, virtualNode) {\n      var _this9 = this;\n      if (!virtualNode.attr('id')) {\n        return false;\n      }\n      if (!virtualNode.actualNode) {\n        return void 0;\n      }\n      var root = get_root_node_default2(virtualNode.actualNode);\n      var id = escape_selector_default(virtualNode.attr('id'));\n      var labels = Array.from(root.querySelectorAll('label[for=\"'.concat(id, '\"]')));\n      this.relatedNodes(labels);\n      if (!labels.length) {\n        return false;\n      }\n      try {\n        return labels.some(function(label3) {\n          if (!_isVisibleOnScreen(label3)) {\n            return true;\n          } else {\n            var explicitLabel = sanitize_default(accessible_text_default(label3, {\n              inControlContext: true,\n              startNode: virtualNode\n            }));\n            _this9.data({\n              explicitLabel: explicitLabel\n            });\n            return !!explicitLabel;\n          }\n        });\n      } catch (_unused10) {\n        return void 0;\n      }\n    }\n    var explicit_evaluate_default = explicitEvaluate;\n    function duplicateImgLabelEvaluate(node, options, virtualNode) {\n      if ([ 'none', 'presentation' ].includes(get_role_default(virtualNode))) {\n        return false;\n      }\n      var parentVNode = closest_default(virtualNode, options.parentSelector);\n      if (!parentVNode) {\n        return false;\n      }\n      var visibleText = visible_virtual_default(parentVNode, true).toLowerCase();\n      if (visibleText === '') {\n        return false;\n      }\n      return visibleText === _accessibleTextVirtual(virtualNode).toLowerCase();\n    }\n    var duplicate_img_label_evaluate_default = duplicateImgLabelEvaluate;\n    function altSpaceValueEvaluate(node, options, virtualNode) {\n      var alt = virtualNode.attr('alt');\n      var isOnlySpace = /^\\s+$/;\n      return typeof alt === 'string' && isOnlySpace.test(alt);\n    }\n    var alt_space_value_evaluate_default = altSpaceValueEvaluate;\n    function tabindexEvaluate(node, options, virtualNode) {\n      var tabIndex = parse_tabindex_default(virtualNode.attr('tabindex'));\n      return tabIndex === null || tabIndex <= 0;\n    }\n    var tabindex_evaluate_default = tabindexEvaluate;\n    function noFocusableContentEvaluate(node, options, virtualNode) {\n      if (!virtualNode.children) {\n        return void 0;\n      }\n      try {\n        var focusableDescendants2 = getFocusableDescendants(virtualNode);\n        if (!focusableDescendants2.length) {\n          return true;\n        }\n        var notHiddenElements = focusableDescendants2.filter(usesUnreliableHidingStrategy);\n        if (notHiddenElements.length > 0) {\n          this.data({\n            messageKey: 'notHidden'\n          });\n          this.relatedNodes(notHiddenElements);\n        } else {\n          this.relatedNodes(focusableDescendants2);\n        }\n        return false;\n      } catch (_unused11) {\n        return void 0;\n      }\n    }\n    function getFocusableDescendants(vNode) {\n      if (!vNode.children) {\n        if (vNode.props.nodeType === 1) {\n          throw new Error('Cannot determine children');\n        }\n        return [];\n      }\n      var retVal = [];\n      vNode.children.forEach(function(child) {\n        if (get_role_type_default(child) === 'widget' && _isFocusable(child)) {\n          retVal.push(child);\n        } else {\n          retVal.push.apply(retVal, _toConsumableArray(getFocusableDescendants(child)));\n        }\n      });\n      return retVal;\n    }\n    function usesUnreliableHidingStrategy(vNode) {\n      var tabIndex = parse_tabindex_default(vNode.attr('tabindex'));\n      return tabIndex !== null && tabIndex < 0;\n    }\n    function landmarkIsTopLevelEvaluate(node) {\n      var landmarks = get_aria_roles_by_type_default('landmark');\n      var parent = get_composed_parent_default(node);\n      var nodeRole = get_role_default(node);\n      this.data({\n        role: nodeRole\n      });\n      while (parent) {\n        var role = get_explicit_role_default(parent);\n        if (!role && parent.nodeName.toUpperCase() !== 'FORM') {\n          role = implicit_role_default(parent);\n        }\n        if (role && landmarks.includes(role) && !(role === 'main' && nodeRole === 'complementary')) {\n          return false;\n        }\n        parent = get_composed_parent_default(parent);\n      }\n      return true;\n    }\n    var landmark_is_top_level_evaluate_default = landmarkIsTopLevelEvaluate;\n    function frameFocusableContentEvaluate(node, options, virtualNode) {\n      if (!virtualNode.children) {\n        return void 0;\n      }\n      try {\n        return !virtualNode.children.some(function(child) {\n          return focusableDescendants(child);\n        });\n      } catch (_unused12) {\n        return void 0;\n      }\n    }\n    function focusableDescendants(vNode) {\n      if (_isInTabOrder(vNode)) {\n        return true;\n      }\n      if (!vNode.children) {\n        if (vNode.props.nodeType === 1) {\n          throw new Error('Cannot determine children');\n        }\n        return false;\n      }\n      return vNode.children.some(function(child) {\n        return focusableDescendants(child);\n      });\n    }\n    function focusableNotTabbableEvaluate(node, options, virtualNode) {\n      var elementsThatCanBeDisabled = [ 'button', 'fieldset', 'input', 'select', 'textarea' ];\n      var tabbableElements = virtualNode.tabbableElements;\n      if (!tabbableElements || !tabbableElements.length) {\n        return true;\n      }\n      var relatedNodes = tabbableElements.filter(function(vNode) {\n        return !elementsThatCanBeDisabled.includes(vNode.props.nodeName);\n      });\n      this.relatedNodes(relatedNodes.map(function(vNode) {\n        return vNode.actualNode;\n      }));\n      if (relatedNodes.length === 0 || is_modal_open_default()) {\n        return true;\n      }\n      return relatedNodes.every(function(vNode) {\n        var pointerEvents = vNode.getComputedStylePropertyValue('pointer-events');\n        var width = parseInt(vNode.getComputedStylePropertyValue('width'));\n        var height = parseInt(vNode.getComputedStylePropertyValue('height'));\n        return vNode.actualNode.onfocus || (width === 0 || height === 0) && pointerEvents === 'none';\n      }) ? void 0 : false;\n    }\n    var focusable_not_tabbable_evaluate_default = focusableNotTabbableEvaluate;\n    function focusableNoNameEvaluate(node, options, virtualNode) {\n      if (!_isInTabOrder(virtualNode)) {\n        return false;\n      }\n      try {\n        return !_accessibleTextVirtual(virtualNode);\n      } catch (_unused13) {\n        return void 0;\n      }\n    }\n    var focusable_no_name_evaluate_default = focusableNoNameEvaluate;\n    function focusableModalOpenEvaluate(node, options, virtualNode) {\n      var tabbableElements = virtualNode.tabbableElements.map(function(_ref129) {\n        var actualNode = _ref129.actualNode;\n        return actualNode;\n      });\n      if (!tabbableElements || !tabbableElements.length) {\n        return true;\n      }\n      if (is_modal_open_default()) {\n        this.relatedNodes(tabbableElements);\n        return void 0;\n      }\n      return true;\n    }\n    var focusable_modal_open_evaluate_default = focusableModalOpenEvaluate;\n    function focusableElementEvaluate(node, options, virtualNode) {\n      if (virtualNode.hasAttr('contenteditable') && isContenteditable(virtualNode)) {\n        return true;\n      }\n      return _isInTabOrder(virtualNode);\n      function isContenteditable(vNode) {\n        var contenteditable = vNode.attr('contenteditable');\n        if (contenteditable === 'true' || contenteditable === '') {\n          return true;\n        }\n        if (contenteditable === 'false') {\n          return false;\n        }\n        var ancestor = closest_default(virtualNode.parent, '[contenteditable]');\n        if (!ancestor) {\n          return false;\n        }\n        return isContenteditable(ancestor);\n      }\n    }\n    var focusable_element_evaluate_default = focusableElementEvaluate;\n    function focusableDisabledEvaluate(node, options, virtualNode) {\n      var elementsThatCanBeDisabled = [ 'button', 'fieldset', 'input', 'select', 'textarea' ];\n      var tabbableElements = virtualNode.tabbableElements;\n      if (!tabbableElements || !tabbableElements.length) {\n        return true;\n      }\n      var relatedNodes = tabbableElements.filter(function(vNode) {\n        return elementsThatCanBeDisabled.includes(vNode.props.nodeName);\n      });\n      this.relatedNodes(relatedNodes.map(function(vNode) {\n        return vNode.actualNode;\n      }));\n      if (relatedNodes.length === 0 || is_modal_open_default()) {\n        return true;\n      }\n      return relatedNodes.every(function(vNode) {\n        var pointerEvents = vNode.getComputedStylePropertyValue('pointer-events');\n        var width = parseInt(vNode.getComputedStylePropertyValue('width'));\n        var height = parseInt(vNode.getComputedStylePropertyValue('height'));\n        return vNode.actualNode.onfocus || (width === 0 || height === 0) && pointerEvents === 'none';\n      }) ? void 0 : false;\n    }\n    var focusable_disabled_evaluate_default = focusableDisabledEvaluate;\n    function focusableContentEvaluate(node, options, virtualNode) {\n      var tabbableElements = virtualNode.tabbableElements;\n      if (!tabbableElements) {\n        return false;\n      }\n      var tabbableContentElements = tabbableElements.filter(function(el) {\n        return el !== virtualNode;\n      });\n      return tabbableContentElements.length > 0;\n    }\n    var focusable_content_evaluate_default = focusableContentEvaluate;\n    function accesskeysEvaluate(node, options, vNode) {\n      if (!_isHiddenForEveryone(vNode)) {\n        this.data(vNode.attr('accesskey'));\n        this.relatedNodes([ node ]);\n      }\n      return true;\n    }\n    var accesskeys_evaluate_default = accesskeysEvaluate;\n    function accesskeysAfter(results) {\n      var seen = {};\n      return results.filter(function(r) {\n        if (!r.data) {\n          return false;\n        }\n        var key = r.data.toUpperCase();\n        if (!seen[key]) {\n          seen[key] = r;\n          r.relatedNodes = [];\n          return true;\n        }\n        seen[key].relatedNodes.push(r.relatedNodes[0]);\n        return false;\n      }).map(function(r) {\n        r.result = !!r.relatedNodes.length;\n        return r;\n      });\n    }\n    var accesskeys_after_default = accesskeysAfter;\n    function pageNoDuplicateEvaluate(node, options, virtualNode) {\n      if (!options || !options.selector || typeof options.selector !== 'string') {\n        throw new TypeError('page-no-duplicate requires options.selector to be a string');\n      }\n      var key = 'page-no-duplicate;' + options.selector;\n      if (cache_default.get(key)) {\n        this.data('ignored');\n        return;\n      }\n      cache_default.set(key, true);\n      var elms = query_selector_all_filter_default(axe._tree[0], options.selector, function(elm) {\n        return _isVisibleToScreenReaders(elm);\n      });\n      if (typeof options.nativeScopeFilter === 'string') {\n        elms = elms.filter(function(elm) {\n          return elm.actualNode.hasAttribute('role') || !find_up_virtual_default(elm, options.nativeScopeFilter);\n        });\n      }\n      if (typeof options.role === 'string') {\n        elms = elms.filter(function(elm) {\n          return get_role_default(elm) === options.role;\n        });\n      }\n      this.relatedNodes(elms.filter(function(elm) {\n        return elm !== virtualNode;\n      }).map(function(elm) {\n        return elm.actualNode;\n      }));\n      return elms.length <= 1;\n    }\n    var page_no_duplicate_evaluate_default = pageNoDuplicateEvaluate;\n    function pageNoDuplicateAfter(results) {\n      return results.filter(function(checkResult) {\n        return checkResult.data !== 'ignored';\n      });\n    }\n    var page_no_duplicate_after_default = pageNoDuplicateAfter;\n    function matchesDefinitionEvaluate(_, options, virtualNode) {\n      return matches_default2(virtualNode, options.matcher);\n    }\n    var matches_definition_evaluate_default = matchesDefinitionEvaluate;\n    function hasTextContentEvaluate(node, options, virtualNode) {\n      try {\n        return sanitize_default(subtree_text_default(virtualNode)) !== '';\n      } catch (_unused14) {\n        return void 0;\n      }\n    }\n    function hasDescendant(node, options, virtualNode) {\n      if (!options || !options.selector || typeof options.selector !== 'string') {\n        throw new TypeError('has-descendant requires options.selector to be a string');\n      }\n      if (options.passForModal && is_modal_open_default()) {\n        return true;\n      }\n      var matchingElms = query_selector_all_filter_default(virtualNode, options.selector, function(vNode) {\n        return _isVisibleToScreenReaders(vNode);\n      });\n      this.relatedNodes(matchingElms.map(function(vNode) {\n        return vNode.actualNode;\n      }));\n      return matchingElms.length > 0;\n    }\n    var has_descendant_evaluate_default = hasDescendant;\n    function pageHasElmAfter(results) {\n      var elmUsedAnywhere = results.some(function(frameResult) {\n        return frameResult.result === true;\n      });\n      if (elmUsedAnywhere) {\n        results.forEach(function(result) {\n          result.result = true;\n        });\n      }\n      return results;\n    }\n    var has_descendant_after_default = pageHasElmAfter;\n    function attrNonSpaceContentEvaluate(node) {\n      var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      var vNode = arguments.length > 2 ? arguments[2] : undefined;\n      if (!options.attribute || typeof options.attribute !== 'string') {\n        throw new TypeError('attr-non-space-content requires options.attribute to be a string');\n      }\n      if (!vNode.hasAttr(options.attribute)) {\n        this.data({\n          messageKey: 'noAttr'\n        });\n        return false;\n      }\n      var attribute = vNode.attr(options.attribute);\n      var attributeIsEmpty = !sanitize_default(attribute);\n      if (attributeIsEmpty) {\n        this.data({\n          messageKey: 'emptyAttr'\n        });\n        return false;\n      }\n      return true;\n    }\n    var attr_non_space_content_evaluate_default = attrNonSpaceContentEvaluate;\n    function autocompleteValidEvaluate(_node, options, virtualNode) {\n      var autocomplete2 = virtualNode.attr('autocomplete') || '';\n      return is_valid_autocomplete_default(autocomplete2, options);\n    }\n    var autocomplete_valid_evaluate_default = autocompleteValidEvaluate;\n    function autocompleteAppropriateEvaluate(node, options, virtualNode) {\n      if (virtualNode.props.nodeName !== 'input') {\n        return true;\n      }\n      var number = [ 'text', 'search', 'number', 'tel' ];\n      var url = [ 'text', 'search', 'url' ];\n      var allowedTypesMap = {\n        bday: [ 'text', 'search', 'date' ],\n        email: [ 'text', 'search', 'email' ],\n        username: [ 'text', 'search', 'email' ],\n        'street-address': [ 'text' ],\n        tel: [ 'text', 'search', 'tel' ],\n        'tel-country-code': [ 'text', 'search', 'tel' ],\n        'tel-national': [ 'text', 'search', 'tel' ],\n        'tel-area-code': [ 'text', 'search', 'tel' ],\n        'tel-local': [ 'text', 'search', 'tel' ],\n        'tel-local-prefix': [ 'text', 'search', 'tel' ],\n        'tel-local-suffix': [ 'text', 'search', 'tel' ],\n        'tel-extension': [ 'text', 'search', 'tel' ],\n        'cc-number': number,\n        'cc-exp': [ 'text', 'search', 'month', 'tel' ],\n        'cc-exp-month': number,\n        'cc-exp-year': number,\n        'cc-csc': number,\n        'transaction-amount': number,\n        'bday-day': number,\n        'bday-month': number,\n        'bday-year': number,\n        'new-password': [ 'text', 'search', 'password' ],\n        'current-password': [ 'text', 'search', 'password' ],\n        url: url,\n        photo: url,\n        impp: url\n      };\n      if (_typeof(options) === 'object') {\n        Object.keys(options).forEach(function(key) {\n          if (!allowedTypesMap[key]) {\n            allowedTypesMap[key] = [];\n          }\n          allowedTypesMap[key] = allowedTypesMap[key].concat(options[key]);\n        });\n      }\n      var autocompleteAttr = virtualNode.attr('autocomplete');\n      var autocompleteTerms = autocompleteAttr.split(/\\s+/g).map(function(term) {\n        return term.toLowerCase();\n      });\n      var purposeTerm = autocompleteTerms[autocompleteTerms.length - 1];\n      if (_autocomplete.stateTerms.includes(purposeTerm)) {\n        return true;\n      }\n      var allowedTypes = allowedTypesMap[purposeTerm];\n      var type2 = virtualNode.hasAttr('type') ? sanitize_default(virtualNode.attr('type')).toLowerCase() : 'text';\n      type2 = valid_input_type_default().includes(type2) ? type2 : 'text';\n      if (typeof allowedTypes === 'undefined') {\n        return type2 === 'text';\n      }\n      return allowedTypes.includes(type2);\n    }\n    var autocomplete_appropriate_evaluate_default = autocompleteAppropriateEvaluate;\n    var blockLike2 = [ 'block', 'list-item', 'table', 'flex', 'grid', 'inline-block' ];\n    function linkInTextBlockStyleEvaluate(node) {\n      if (isBlock2(node)) {\n        return false;\n      }\n      var parentBlock = get_composed_parent_default(node);\n      while (parentBlock && parentBlock.nodeType === 1 && !isBlock2(parentBlock)) {\n        parentBlock = get_composed_parent_default(parentBlock);\n      }\n      if (!parentBlock) {\n        return void 0;\n      }\n      this.relatedNodes([ parentBlock ]);\n      if (element_is_distinct_default(node, parentBlock)) {\n        return true;\n      }\n      if (hasPseudoContent(node)) {\n        this.data({\n          messageKey: 'pseudoContent'\n        });\n        return void 0;\n      }\n      return false;\n    }\n    function isBlock2(elm) {\n      var display2 = window.getComputedStyle(elm).getPropertyValue('display');\n      return blockLike2.indexOf(display2) !== -1 || display2.substr(0, 6) === 'table-';\n    }\n    function hasPseudoContent(node) {\n      for (var _i27 = 0, _arr3 = [ 'before', 'after' ]; _i27 < _arr3.length; _i27++) {\n        var pseudo = _arr3[_i27];\n        var style = window.getComputedStyle(node, ':'.concat(pseudo));\n        var content = style.getPropertyValue('content');\n        if (content !== 'none') {\n          return true;\n        }\n      }\n      return false;\n    }\n    function getContrast2(color1, color2) {\n      var c1lum = color1.getRelativeLuminance();\n      var c2lum = color2.getRelativeLuminance();\n      return (Math.max(c1lum, c2lum) + .05) / (Math.min(c1lum, c2lum) + .05);\n    }\n    var blockLike3 = [ 'block', 'list-item', 'table', 'flex', 'grid', 'inline-block' ];\n    function isBlock3(elm) {\n      var display2 = window.getComputedStyle(elm).getPropertyValue('display');\n      return blockLike3.indexOf(display2) !== -1 || display2.substr(0, 6) === 'table-';\n    }\n    function linkInTextBlockEvaluate(node, options) {\n      var requiredContrastRatio = options.requiredContrastRatio, allowSameColor = options.allowSameColor;\n      if (isBlock3(node)) {\n        return false;\n      }\n      var parentBlock = get_composed_parent_default(node);\n      while (parentBlock && parentBlock.nodeType === 1 && !isBlock3(parentBlock)) {\n        parentBlock = get_composed_parent_default(parentBlock);\n      }\n      if (!parentBlock) {\n        return void 0;\n      }\n      this.relatedNodes([ parentBlock ]);\n      var nodeColor = _getForegroundColor(node);\n      var parentColor = _getForegroundColor(parentBlock);\n      var nodeBackgroundColor = _getBackgroundColor2(node);\n      var parentBackgroundColor = _getBackgroundColor2(parentBlock);\n      var textContrast = nodeColor && parentColor ? getContrast2(nodeColor, parentColor) : void 0;\n      if (textContrast) {\n        textContrast = Math.floor(textContrast * 100) / 100;\n      }\n      if (textContrast && textContrast >= requiredContrastRatio) {\n        return true;\n      }\n      var backgroundContrast = nodeBackgroundColor && parentBackgroundColor ? getContrast2(nodeBackgroundColor, parentBackgroundColor) : void 0;\n      if (backgroundContrast) {\n        backgroundContrast = Math.floor(backgroundContrast * 100) / 100;\n      }\n      if (backgroundContrast && backgroundContrast >= requiredContrastRatio) {\n        return true;\n      }\n      if (!backgroundContrast) {\n        var _incomplete_data_defa;\n        var reason = (_incomplete_data_defa = incomplete_data_default.get('bgColor')) !== null && _incomplete_data_defa !== void 0 ? _incomplete_data_defa : 'bgContrast';\n        this.data({\n          messageKey: reason\n        });\n        incomplete_data_default.clear();\n        return void 0;\n      }\n      if (!textContrast) {\n        return void 0;\n      }\n      if (allowSameColor && textContrast === 1 && backgroundContrast === 1) {\n        return true;\n      }\n      if (textContrast === 1 && backgroundContrast > 1) {\n        this.data({\n          messageKey: 'bgContrast',\n          contrastRatio: backgroundContrast,\n          requiredContrastRatio: requiredContrastRatio,\n          nodeBackgroundColor: nodeBackgroundColor ? nodeBackgroundColor.toHexString() : void 0,\n          parentBackgroundColor: parentBackgroundColor ? parentBackgroundColor.toHexString() : void 0\n        });\n        return false;\n      }\n      this.data({\n        messageKey: 'fgContrast',\n        contrastRatio: textContrast,\n        requiredContrastRatio: requiredContrastRatio,\n        nodeColor: nodeColor ? nodeColor.toHexString() : void 0,\n        parentColor: parentColor ? parentColor.toHexString() : void 0\n      });\n      return false;\n    }\n    var link_in_text_block_evaluate_default = linkInTextBlockEvaluate;\n    function colorContrastEvaluate(node, options, virtualNode) {\n      var ignoreUnicode = options.ignoreUnicode, ignoreLength = options.ignoreLength, ignorePseudo = options.ignorePseudo, boldValue = options.boldValue, boldTextPt = options.boldTextPt, largeTextPt = options.largeTextPt, contrastRatio = options.contrastRatio, shadowOutlineEmMax = options.shadowOutlineEmMax, pseudoSizeThreshold = options.pseudoSizeThreshold;\n      if (!_isVisibleOnScreen(node)) {\n        this.data({\n          messageKey: 'hidden'\n        });\n        return true;\n      }\n      var visibleText = visible_virtual_default(virtualNode, false, true);\n      if (ignoreUnicode && textIsEmojis(visibleText)) {\n        this.data({\n          messageKey: 'nonBmp'\n        });\n        return void 0;\n      }\n      var nodeStyle = window.getComputedStyle(node);\n      var fontSize = parseFloat(nodeStyle.getPropertyValue('font-size'));\n      var fontWeight = nodeStyle.getPropertyValue('font-weight');\n      var bold = parseFloat(fontWeight) >= boldValue || fontWeight === 'bold';\n      var ptSize = Math.ceil(fontSize * 72) / 96;\n      var isSmallFont = bold && ptSize < boldTextPt || !bold && ptSize < largeTextPt;\n      var _ref130 = isSmallFont ? contrastRatio.normal : contrastRatio.large, expected = _ref130.expected, minThreshold = _ref130.minThreshold, maxThreshold = _ref130.maxThreshold;\n      var pseudoElm = findPseudoElement(virtualNode, {\n        ignorePseudo: ignorePseudo,\n        pseudoSizeThreshold: pseudoSizeThreshold\n      });\n      if (pseudoElm) {\n        this.data({\n          fontSize: ''.concat((fontSize * 72 / 96).toFixed(1), 'pt (').concat(fontSize, 'px)'),\n          fontWeight: bold ? 'bold' : 'normal',\n          messageKey: 'pseudoContent',\n          expectedContrastRatio: expected + ':1'\n        });\n        this.relatedNodes(pseudoElm.actualNode);\n        return void 0;\n      }\n      var shadowColors = _getTextShadowColors(node, {\n        minRatio: .001,\n        maxRatio: shadowOutlineEmMax\n      });\n      if (shadowColors === null) {\n        this.data({\n          messageKey: 'complexTextShadows'\n        });\n        return void 0;\n      }\n      var bgNodes = [];\n      var bgColor = _getBackgroundColor2(node, bgNodes, shadowOutlineEmMax);\n      var fgColor = _getForegroundColor(node, false, bgColor, options);\n      var contrast2 = null;\n      var contrastContributor = null;\n      var shadowColor = null;\n      if (shadowColors.length === 0) {\n        contrast2 = get_contrast_default(bgColor, fgColor);\n      } else if (fgColor && bgColor) {\n        shadowColor = [].concat(_toConsumableArray(shadowColors), [ bgColor ]).reduce(_flattenShadowColors);\n        var fgBgContrast = get_contrast_default(bgColor, fgColor);\n        var bgShContrast = get_contrast_default(bgColor, shadowColor);\n        var fgShContrast = get_contrast_default(shadowColor, fgColor);\n        contrast2 = Math.max(fgBgContrast, bgShContrast, fgShContrast);\n        if (contrast2 !== fgBgContrast) {\n          contrastContributor = bgShContrast > fgShContrast ? 'shadowOnBgColor' : 'fgOnShadowColor';\n        }\n      }\n      var isValid = contrast2 > expected;\n      if (typeof minThreshold === 'number' && (typeof contrast2 !== 'number' || contrast2 < minThreshold) || typeof maxThreshold === 'number' && (typeof contrast2 !== 'number' || contrast2 > maxThreshold)) {\n        this.data({\n          contrastRatio: contrast2\n        });\n        return true;\n      }\n      var truncatedResult = Math.floor(contrast2 * 100) / 100;\n      var missing;\n      if (bgColor === null) {\n        missing = incomplete_data_default.get('bgColor');\n      } else if (!isValid) {\n        missing = contrastContributor;\n      }\n      var equalRatio = truncatedResult === 1;\n      var shortTextContent = visibleText.length === 1;\n      if (equalRatio) {\n        missing = incomplete_data_default.set('bgColor', 'equalRatio');\n      } else if (!isValid && shortTextContent && !ignoreLength) {\n        missing = 'shortTextContent';\n      }\n      this.data({\n        fgColor: fgColor ? fgColor.toHexString() : void 0,\n        bgColor: bgColor ? bgColor.toHexString() : void 0,\n        contrastRatio: truncatedResult,\n        fontSize: ''.concat((fontSize * 72 / 96).toFixed(1), 'pt (').concat(fontSize, 'px)'),\n        fontWeight: bold ? 'bold' : 'normal',\n        messageKey: missing,\n        expectedContrastRatio: expected + ':1',\n        shadowColor: shadowColor ? shadowColor.toHexString() : void 0\n      });\n      if (fgColor === null || bgColor === null || equalRatio || shortTextContent && !ignoreLength && !isValid) {\n        missing = null;\n        incomplete_data_default.clear();\n        this.relatedNodes(bgNodes);\n        return void 0;\n      }\n      if (!isValid) {\n        this.relatedNodes(bgNodes);\n      }\n      return isValid;\n    }\n    function findPseudoElement(vNode, _ref131) {\n      var _ref131$pseudoSizeThr = _ref131.pseudoSizeThreshold, pseudoSizeThreshold = _ref131$pseudoSizeThr === void 0 ? .25 : _ref131$pseudoSizeThr, _ref131$ignorePseudo = _ref131.ignorePseudo, ignorePseudo = _ref131$ignorePseudo === void 0 ? false : _ref131$ignorePseudo;\n      if (ignorePseudo) {\n        return;\n      }\n      var rect = vNode.boundingClientRect;\n      var minimumSize = rect.width * rect.height * pseudoSizeThreshold;\n      do {\n        var beforeSize = getPseudoElementArea(vNode.actualNode, ':before');\n        var afterSize = getPseudoElementArea(vNode.actualNode, ':after');\n        if (beforeSize + afterSize > minimumSize) {\n          return vNode;\n        }\n      } while (vNode = vNode.parent);\n    }\n    var getPseudoElementArea = memoize_default(function getPseudoElementArea2(node, pseudo) {\n      var style = window.getComputedStyle(node, pseudo);\n      var matchPseudoStyle = function matchPseudoStyle(prop, value) {\n        return style.getPropertyValue(prop) === value;\n      };\n      if (matchPseudoStyle('content', 'none') || matchPseudoStyle('display', 'none') || matchPseudoStyle('visibility', 'hidden') || matchPseudoStyle('position', 'absolute') === false) {\n        return 0;\n      }\n      if (get_own_background_color_default(style).alpha === 0 && matchPseudoStyle('background-image', 'none')) {\n        return 0;\n      }\n      var pseudoWidth = parseUnit(style.getPropertyValue('width'));\n      var pseudoHeight = parseUnit(style.getPropertyValue('height'));\n      if (pseudoWidth.unit !== 'px' || pseudoHeight.unit !== 'px') {\n        return pseudoWidth.value === 0 || pseudoHeight.value === 0 ? 0 : Infinity;\n      }\n      return pseudoWidth.value * pseudoHeight.value;\n    });\n    function textIsEmojis(visibleText) {\n      var options = {\n        nonBmp: true\n      };\n      var hasUnicodeChars = has_unicode_default(visibleText, options);\n      var hasNonUnicodeChars = sanitize_default(remove_unicode_default(visibleText, options)) === '';\n      return hasUnicodeChars && hasNonUnicodeChars;\n    }\n    function parseUnit(str) {\n      var unitRegex = /^([0-9.]+)([a-z]+)$/i;\n      var _ref132 = str.match(unitRegex) || [], _ref133 = _slicedToArray(_ref132, 3), _ref133$ = _ref133[1], value = _ref133$ === void 0 ? '' : _ref133$, _ref133$2 = _ref133[2], unit = _ref133$2 === void 0 ? '' : _ref133$2;\n      return {\n        value: parseFloat(value),\n        unit: unit.toLowerCase()\n      };\n    }\n    var VALID_TAG_NAMES_FOR_SCROLLABLE_REGIONS = {\n      ARTICLE: true,\n      ASIDE: true,\n      NAV: true,\n      SECTION: true\n    };\n    var VALID_ROLES_FOR_SCROLLABLE_REGIONS = {\n      alert: true,\n      alertdialog: true,\n      application: true,\n      article: true,\n      banner: false,\n      complementary: true,\n      contentinfo: true,\n      dialog: true,\n      form: true,\n      log: true,\n      main: true,\n      navigation: true,\n      region: true,\n      search: false,\n      status: true,\n      tabpanel: true\n    };\n    function validScrollableTagName(node) {\n      var nodeName2 = node.nodeName.toUpperCase();\n      return VALID_TAG_NAMES_FOR_SCROLLABLE_REGIONS[nodeName2] || false;\n    }\n    function validScrollableRole(node, options) {\n      var role = get_explicit_role_default(node);\n      if (!role) {\n        return false;\n      }\n      return VALID_ROLES_FOR_SCROLLABLE_REGIONS[role] || options.roles.includes(role) || false;\n    }\n    function validScrollableSemanticsEvaluate(node, options) {\n      return validScrollableRole(node, options) || validScrollableTagName(node);\n    }\n    var valid_scrollable_semantics_evaluate_default = validScrollableSemanticsEvaluate;\n    function unsupportedroleEvaluate(node, options, virtualNode) {\n      var role = get_role_default(virtualNode, {\n        dpub: true,\n        fallback: true\n      });\n      var isUnsupported = is_unsupported_role_default(role);\n      if (isUnsupported) {\n        this.data(role);\n      }\n      return isUnsupported;\n    }\n    var unsupportedrole_evaluate_default = unsupportedroleEvaluate;\n    function noImplicitExplicitLabelEvaluate(node, options, virtualNode) {\n      var role = get_role_default(virtualNode, {\n        noImplicit: true\n      });\n      this.data(role);\n      var label3;\n      var accText;\n      try {\n        label3 = sanitize_default(label_text_default(virtualNode)).toLowerCase();\n        accText = sanitize_default(_accessibleTextVirtual(virtualNode)).toLowerCase();\n      } catch (_unused15) {\n        return void 0;\n      }\n      if (!accText && !label3) {\n        return false;\n      }\n      if (!accText && label3) {\n        return void 0;\n      }\n      if (!accText.includes(label3)) {\n        return void 0;\n      }\n      return false;\n    }\n    var no_implicit_explicit_label_evaluate_default = noImplicitExplicitLabelEvaluate;\n    function isElementFocusableEvaluate(node, options, virtualNode) {\n      return _isFocusable(virtualNode);\n    }\n    var is_element_focusable_evaluate_default = isElementFocusableEvaluate;\n    function invalidroleEvaluate(node, options, virtualNode) {\n      var allRoles = token_list_default(virtualNode.attr('role'));\n      var allInvalid = allRoles.every(function(role) {\n        return !is_valid_role_default(role.toLowerCase(), {\n          allowAbstract: true\n        });\n      });\n      if (allInvalid) {\n        this.data(allRoles);\n        return true;\n      }\n      return false;\n    }\n    var invalidrole_evaluate_default = invalidroleEvaluate;\n    function hasWidgetRoleEvaluate(node, options, virtualNode) {\n      var role = get_explicit_role_default(virtualNode);\n      if (role === null) {\n        return false;\n      }\n      var roleType = get_role_type_default(role);\n      return roleType === 'widget' || roleType === 'composite';\n    }\n    var has_widget_role_evaluate_default = hasWidgetRoleEvaluate;\n    function hasGlobalAriaAttributeEvaluate(node, options, virtualNode) {\n      var globalAttrs = get_global_aria_attrs_default().filter(function(attr) {\n        return virtualNode.hasAttr(attr);\n      });\n      this.data(globalAttrs);\n      return globalAttrs.length > 0;\n    }\n    var has_global_aria_attribute_evaluate_default = hasGlobalAriaAttributeEvaluate;\n    function nonePresentationOnElementWithNoImplicitRole(virtualNode, explicitRoles) {\n      var hasImplicitRole = implicit_role_default(virtualNode);\n      return !hasImplicitRole && explicitRoles.length === 2 && explicitRoles.includes('none') && explicitRoles.includes('presentation');\n    }\n    function fallbackroleEvaluate(node, options, virtualNode) {\n      var explicitRoles = token_list_default(virtualNode.attr('role'));\n      if (explicitRoles.length <= 1) {\n        return false;\n      }\n      return nonePresentationOnElementWithNoImplicitRole(virtualNode, explicitRoles) ? void 0 : true;\n    }\n    var fallbackrole_evaluate_default = fallbackroleEvaluate;\n    function deprecatedroleEvaluate(node, options, virtualNode) {\n      var role = get_role_default(virtualNode, {\n        dpub: true,\n        fallback: true\n      });\n      var roleDefinition = standards_default.ariaRoles[role];\n      if (!(roleDefinition !== null && roleDefinition !== void 0 && roleDefinition.deprecated)) {\n        return false;\n      }\n      this.data(role);\n      return true;\n    }\n    function brailleRoleDescriptionEquivalentEvaluate(node, options, virtualNode) {\n      var _virtualNode$attr;\n      var brailleRoleDesc = (_virtualNode$attr = virtualNode.attr('aria-brailleroledescription')) !== null && _virtualNode$attr !== void 0 ? _virtualNode$attr : '';\n      if (sanitize_default(brailleRoleDesc) === '') {\n        return true;\n      }\n      var roleDesc = virtualNode.attr('aria-roledescription');\n      if (typeof roleDesc !== 'string') {\n        this.data({\n          messageKey: 'noRoleDescription'\n        });\n        return false;\n      }\n      if (sanitize_default(roleDesc) === '') {\n        this.data({\n          messageKey: 'emptyRoleDescription'\n        });\n        return false;\n      }\n      return true;\n    }\n    function brailleLabelEquivalentEvaluate(node, options, virtualNode) {\n      var _virtualNode$attr2;\n      var brailleLabel = (_virtualNode$attr2 = virtualNode.attr('aria-braillelabel')) !== null && _virtualNode$attr2 !== void 0 ? _virtualNode$attr2 : '';\n      if (!brailleLabel.trim()) {\n        return true;\n      }\n      try {\n        return sanitize_default(_accessibleTextVirtual(virtualNode)) !== '';\n      } catch (_unused16) {\n        return void 0;\n      }\n    }\n    function ariaValidAttrValueEvaluate(node, options, virtualNode) {\n      options = Array.isArray(options.value) ? options.value : [];\n      var needsReview = '';\n      var messageKey = '';\n      var invalid = [];\n      var aria = /^aria-/;\n      var skipAttrs = [ 'aria-errormessage' ];\n      var preChecks = {\n        'aria-controls': function ariaControls() {\n          var hasPopup = [ 'false', null ].includes(virtualNode.attr('aria-haspopup')) === false;\n          if (hasPopup) {\n            needsReview = 'aria-controls=\"'.concat(virtualNode.attr('aria-controls'), '\"');\n            messageKey = 'controlsWithinPopup';\n          }\n          return virtualNode.attr('aria-expanded') !== 'false' && virtualNode.attr('aria-selected') !== 'false' && hasPopup === false;\n        },\n        'aria-current': function ariaCurrent(validValue) {\n          if (!validValue) {\n            needsReview = 'aria-current=\"'.concat(virtualNode.attr('aria-current'), '\"');\n            messageKey = 'ariaCurrent';\n          }\n          return;\n        },\n        'aria-owns': function ariaOwns() {\n          return virtualNode.attr('aria-expanded') !== 'false';\n        },\n        'aria-describedby': function ariaDescribedby(validValue) {\n          if (!validValue) {\n            needsReview = 'aria-describedby=\"'.concat(virtualNode.attr('aria-describedby'), '\"');\n            messageKey = axe._tree && axe._tree[0]._hasShadowRoot ? 'noIdShadow' : 'noId';\n          }\n          return;\n        },\n        'aria-labelledby': function ariaLabelledby(validValue) {\n          if (!validValue) {\n            needsReview = 'aria-labelledby=\"'.concat(virtualNode.attr('aria-labelledby'), '\"');\n            messageKey = axe._tree && axe._tree[0]._hasShadowRoot ? 'noIdShadow' : 'noId';\n          }\n        }\n      };\n      virtualNode.attrNames.forEach(function(attrName) {\n        if (skipAttrs.includes(attrName) || options.includes(attrName) || !aria.test(attrName)) {\n          return;\n        }\n        var validValue;\n        var attrValue = virtualNode.attr(attrName);\n        try {\n          validValue = validate_attr_value_default(virtualNode, attrName);\n        } catch (_unused17) {\n          needsReview = ''.concat(attrName, '=\"').concat(attrValue, '\"');\n          messageKey = 'idrefs';\n          return;\n        }\n        if ((preChecks[attrName] ? preChecks[attrName](validValue) : true) && !validValue) {\n          if (attrValue === '' && !isStringType(attrName)) {\n            needsReview = attrName;\n            messageKey = 'empty';\n          } else {\n            invalid.push(''.concat(attrName, '=\"').concat(attrValue, '\"'));\n          }\n        }\n      });\n      if (invalid.length) {\n        this.data(invalid);\n        return false;\n      }\n      if (needsReview) {\n        this.data({\n          messageKey: messageKey,\n          needsReview: needsReview\n        });\n        return void 0;\n      }\n      return true;\n    }\n    function isStringType(attrName) {\n      var _standards_default$ar;\n      return ((_standards_default$ar = standards_default.ariaAttrs[attrName]) === null || _standards_default$ar === void 0 ? void 0 : _standards_default$ar.type) === 'string';\n    }\n    function ariaValidAttrEvaluate(node, options, virtualNode) {\n      options = Array.isArray(options.value) ? options.value : [];\n      var invalid = [];\n      var aria = /^aria-/;\n      virtualNode.attrNames.forEach(function(attr) {\n        if (options.indexOf(attr) === -1 && aria.test(attr) && !validate_attr_default(attr)) {\n          invalid.push(attr);\n        }\n      });\n      if (invalid.length) {\n        this.data(invalid);\n        return false;\n      }\n      return true;\n    }\n    var aria_valid_attr_evaluate_default = ariaValidAttrEvaluate;\n    function ariaUnsupportedAttrEvaluate(node, options, virtualNode) {\n      var unsupportedAttrs = virtualNode.attrNames.filter(function(name) {\n        var attribute = standards_default.ariaAttrs[name];\n        if (!validate_attr_default(name)) {\n          return false;\n        }\n        var unsupported = attribute.unsupported;\n        if (_typeof(unsupported) !== 'object') {\n          return !!unsupported;\n        }\n        return !matches_default2(node, unsupported.exceptions);\n      });\n      if (unsupportedAttrs.length) {\n        this.data(unsupportedAttrs);\n        return true;\n      }\n      return false;\n    }\n    var aria_unsupported_attr_evaluate_default = ariaUnsupportedAttrEvaluate;\n    function ariaRoledescriptionEvaluate(node) {\n      var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      var virtualNode = arguments.length > 2 ? arguments[2] : undefined;\n      var role = get_role_default(virtualNode);\n      var supportedRoles = options.supportedRoles || [];\n      if (supportedRoles.includes(role)) {\n        return true;\n      }\n      if (role && role !== 'presentation' && role !== 'none') {\n        return void 0;\n      }\n      return false;\n    }\n    var aria_roledescription_evaluate_default = ariaRoledescriptionEvaluate;\n    function getMissingContext(virtualNode, ownGroupRoles, reqContext, includeElement) {\n      var explicitRole2 = get_explicit_role_default(virtualNode);\n      if (!reqContext) {\n        reqContext = required_context_default(explicitRole2);\n      }\n      if (!reqContext) {\n        return null;\n      }\n      var allowsGroup = reqContext.includes('group');\n      var vNode = includeElement ? virtualNode : virtualNode.parent;\n      while (vNode) {\n        var role = get_role_default(vNode, {\n          noPresentational: true\n        });\n        if (!role) {\n          vNode = vNode.parent;\n        } else if (role === 'group' && allowsGroup) {\n          if (ownGroupRoles.includes(explicitRole2)) {\n            reqContext.push(explicitRole2);\n          }\n          reqContext = reqContext.filter(function(r) {\n            return r !== 'group';\n          });\n          vNode = vNode.parent;\n        } else if (reqContext.includes(role)) {\n          return null;\n        } else {\n          return reqContext;\n        }\n      }\n      return reqContext;\n    }\n    function getAriaOwners(element) {\n      var owners = [];\n      var o = null;\n      while (element) {\n        if (element.getAttribute('id')) {\n          var _id7 = escape_selector_default(element.getAttribute('id'));\n          var doc = get_root_node_default2(element);\n          o = doc.querySelector('[aria-owns~='.concat(_id7, ']'));\n          if (o) {\n            owners.push(o);\n          }\n        }\n        element = element.parentElement;\n      }\n      return owners.length ? owners : null;\n    }\n    function ariaRequiredParentEvaluate(node, options, virtualNode) {\n      var ownGroupRoles = options && Array.isArray(options.ownGroupRoles) ? options.ownGroupRoles : [];\n      var missingParents = getMissingContext(virtualNode, ownGroupRoles);\n      if (!missingParents) {\n        return true;\n      }\n      var owners = getAriaOwners(node);\n      if (owners) {\n        for (var _i28 = 0, l = owners.length; _i28 < l; _i28++) {\n          missingParents = getMissingContext(get_node_from_tree_default(owners[_i28]), ownGroupRoles, missingParents, true);\n          if (!missingParents) {\n            return true;\n          }\n        }\n      }\n      this.data(missingParents);\n      return false;\n    }\n    var aria_required_parent_evaluate_default = ariaRequiredParentEvaluate;\n    function ariaRequiredChildrenEvaluate(node, options, virtualNode) {\n      var reviewEmpty = options && Array.isArray(options.reviewEmpty) ? options.reviewEmpty : [];\n      var explicitRole2 = get_explicit_role_default(virtualNode, {\n        dpub: true\n      });\n      var required = required_owned_default(explicitRole2);\n      if (required === null) {\n        return true;\n      }\n      var ownedRoles = getOwnedRoles(virtualNode, required);\n      var unallowed = ownedRoles.filter(function(_ref134) {\n        var role = _ref134.role, vNode = _ref134.vNode;\n        return vNode.props.nodeType === 1 && !required.includes(role);\n      });\n      if (unallowed.length) {\n        this.relatedNodes(unallowed.map(function(_ref135) {\n          var vNode = _ref135.vNode;\n          return vNode;\n        }));\n        this.data({\n          messageKey: 'unallowed',\n          values: unallowed.map(function(_ref136) {\n            var vNode = _ref136.vNode, attr = _ref136.attr;\n            return getUnallowedSelector(vNode, attr);\n          }).filter(function(selector, index, array) {\n            return array.indexOf(selector) === index;\n          }).join(', ')\n        });\n        return false;\n      }\n      if (hasRequiredChildren(required, ownedRoles)) {\n        return true;\n      }\n      if (virtualNode.attr('aria-busy') === 'true') {\n        this.data({\n          messageKey: 'aria-busy'\n        });\n        return true;\n      }\n      this.data(required);\n      if (reviewEmpty.includes(explicitRole2) && !ownedRoles.some(isContent)) {\n        return void 0;\n      }\n      return false;\n    }\n    function getOwnedRoles(virtualNode, required) {\n      var vNode;\n      var ownedRoles = [];\n      var ownedVirtual = get_owned_virtual_default(virtualNode);\n      var _loop0 = function _loop0() {\n        if (vNode.props.nodeType === 3) {\n          ownedRoles.push({\n            vNode: vNode,\n            role: null\n          });\n        }\n        if (vNode.props.nodeType !== 1 || !_isVisibleToScreenReaders(vNode)) {\n          return 1;\n        }\n        var role = get_role_default(vNode, {\n          noPresentational: true\n        });\n        var globalAriaAttr = getGlobalAriaAttr(vNode);\n        var hasGlobalAriaOrFocusable = !!globalAriaAttr || _isFocusable(vNode);\n        if (!role && !hasGlobalAriaOrFocusable || [ 'group', 'rowgroup' ].includes(role) && required.some(function(requiredRole) {\n          return requiredRole === role;\n        })) {\n          ownedVirtual.push.apply(ownedVirtual, _toConsumableArray(vNode.children));\n        } else if (role || hasGlobalAriaOrFocusable) {\n          var attr = globalAriaAttr || 'tabindex';\n          ownedRoles.push({\n            role: role,\n            attr: attr,\n            vNode: vNode\n          });\n        }\n      };\n      while (vNode = ownedVirtual.shift()) {\n        if (_loop0()) {\n          continue;\n        }\n      }\n      return ownedRoles;\n    }\n    function hasRequiredChildren(required, ownedRoles) {\n      return ownedRoles.some(function(_ref137) {\n        var role = _ref137.role;\n        return role && required.includes(role);\n      });\n    }\n    function getGlobalAriaAttr(vNode) {\n      return get_global_aria_attrs_default().find(function(attr) {\n        return vNode.hasAttr(attr);\n      });\n    }\n    function getUnallowedSelector(vNode, attr) {\n      var _vNode$props = vNode.props, nodeName2 = _vNode$props.nodeName, nodeType = _vNode$props.nodeType;\n      if (nodeType === 3) {\n        return '#text';\n      }\n      var role = get_explicit_role_default(vNode, {\n        dpub: true\n      });\n      if (role) {\n        return '[role='.concat(role, ']');\n      }\n      if (attr) {\n        return nodeName2 + '['.concat(attr, ']');\n      }\n      return nodeName2;\n    }\n    function isContent(_ref138) {\n      var vNode = _ref138.vNode;\n      if (vNode.props.nodeType === 3) {\n        return vNode.props.nodeValue.trim().length > 0;\n      }\n      return has_content_virtual_default(vNode, false, true);\n    }\n    function ariaRequiredAttrEvaluate(node) {\n      var _virtualNode$attr3;\n      var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      var virtualNode = arguments.length > 2 ? arguments[2] : undefined;\n      var role = get_explicit_role_default(virtualNode);\n      var attrs = virtualNode.attrNames;\n      var requiredAttrs = required_attr_default(role);\n      if (Array.isArray(options[role])) {\n        requiredAttrs = unique_array_default(options[role], requiredAttrs);\n      }\n      if (!role || !attrs.length || !requiredAttrs.length) {\n        return true;\n      }\n      if (isStaticSeparator(virtualNode, role) || isClosedCombobox(virtualNode, role)) {\n        return true;\n      }\n      if (role === 'slider' && (_virtualNode$attr3 = virtualNode.attr('aria-valuetext')) !== null && _virtualNode$attr3 !== void 0 && _virtualNode$attr3.trim()) {\n        return true;\n      }\n      var elmSpec = get_element_spec_default(virtualNode);\n      var missingAttrs = requiredAttrs.filter(function(requiredAttr2) {\n        return !virtualNode.attr(requiredAttr2) && !hasImplicitAttr(elmSpec, requiredAttr2);\n      });\n      if (missingAttrs.length) {\n        this.data(missingAttrs);\n        return false;\n      }\n      return true;\n    }\n    function isStaticSeparator(vNode, role) {\n      return role === 'separator' && !_isFocusable(vNode);\n    }\n    function hasImplicitAttr(elmSpec, attr) {\n      var _elmSpec$implicitAttr;\n      return ((_elmSpec$implicitAttr = elmSpec.implicitAttrs) === null || _elmSpec$implicitAttr === void 0 ? void 0 : _elmSpec$implicitAttr[attr]) !== void 0;\n    }\n    function isClosedCombobox(vNode, role) {\n      return role === 'combobox' && vNode.attr('aria-expanded') === 'false';\n    }\n    function ariaProhibitedAttrEvaluate(node) {\n      var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      var virtualNode = arguments.length > 2 ? arguments[2] : undefined;\n      var elementsAllowedAriaLabel = (options === null || options === void 0 ? void 0 : options.elementsAllowedAriaLabel) || [];\n      var nodeName2 = virtualNode.props.nodeName;\n      var role = get_role_default(virtualNode, {\n        chromium: true,\n        fallback: true\n      });\n      var prohibitedList = listProhibitedAttrs(virtualNode, role, nodeName2, elementsAllowedAriaLabel);\n      var prohibited = prohibitedList.filter(function(attrName) {\n        if (!virtualNode.attrNames.includes(attrName)) {\n          return false;\n        }\n        return sanitize_default(virtualNode.attr(attrName)) !== '';\n      });\n      if (prohibited.length === 0) {\n        return false;\n      }\n      var messageKey = role !== null ? 'hasRole' : 'noRole';\n      messageKey += prohibited.length > 1 ? 'Plural' : 'Singular';\n      this.data({\n        role: role,\n        nodeName: nodeName2,\n        messageKey: messageKey,\n        prohibited: prohibited\n      });\n      var textContent = subtree_text_default(virtualNode, {\n        subtreeDescendant: true\n      });\n      if (sanitize_default(textContent) !== '') {\n        return void 0;\n      }\n      return true;\n    }\n    function listProhibitedAttrs(vNode, role, nodeName2, elementsAllowedAriaLabel) {\n      var roleSpec = standards_default.ariaRoles[role];\n      if (roleSpec) {\n        return roleSpec.prohibitedAttrs || [];\n      }\n      if (!!role || elementsAllowedAriaLabel.includes(nodeName2) || getClosestAncestorRoleType(vNode) === 'widget') {\n        return [];\n      }\n      return [ 'aria-label', 'aria-labelledby' ];\n    }\n    var getClosestAncestorRoleType = memoize_default(function getClosestAncestorRoleTypeMemoized(vNode) {\n      if (!vNode) {\n        return;\n      }\n      var role = get_role_default(vNode, {\n        noPresentational: true,\n        chromium: true\n      });\n      if (role) {\n        return get_role_type_default(role);\n      }\n      return getClosestAncestorRoleType(vNode.parent);\n    });\n    function ariaLevelEvaluate(node, options, virtualNode) {\n      var ariaHeadingLevel = virtualNode.attr('aria-level');\n      var ariaLevel = parseInt(ariaHeadingLevel, 10);\n      if (ariaLevel > 6) {\n        return void 0;\n      }\n      return true;\n    }\n    var aria_level_evaluate_default = ariaLevelEvaluate;\n    function ariaHiddenBodyEvaluate(node, options, virtualNode) {\n      return virtualNode.attr('aria-hidden') !== 'true';\n    }\n    var aria_hidden_body_evaluate_default = ariaHiddenBodyEvaluate;\n    function ariaErrormessageEvaluate(node, options, virtualNode) {\n      options = Array.isArray(options) ? options : [];\n      var errorMessageAttr = virtualNode.attr('aria-errormessage');\n      var hasAttr = virtualNode.hasAttr('aria-errormessage');\n      var invaid = virtualNode.attr('aria-invalid');\n      var hasInvallid = virtualNode.hasAttr('aria-invalid');\n      if (!hasInvallid || invaid === 'false') {\n        return true;\n      }\n      function validateAttrValue2(attr) {\n        if (attr.trim() === '') {\n          return standards_default.ariaAttrs['aria-errormessage'].allowEmpty;\n        }\n        var idref;\n        try {\n          idref = attr && idrefs_default(virtualNode, 'aria-errormessage')[0];\n        } catch (_unused18) {\n          this.data({\n            messageKey: 'idrefs',\n            values: token_list_default(attr)\n          });\n          return void 0;\n        }\n        if (idref) {\n          if (!_isVisibleToScreenReaders(idref)) {\n            this.data({\n              messageKey: 'hidden',\n              values: token_list_default(attr)\n            });\n            return false;\n          }\n          return get_explicit_role_default(idref) === 'alert' || idref.getAttribute('aria-live') === 'assertive' || idref.getAttribute('aria-live') === 'polite' || token_list_default(virtualNode.attr('aria-describedby')).indexOf(attr) > -1;\n        }\n        return;\n      }\n      if (options.indexOf(errorMessageAttr) === -1 && hasAttr) {\n        this.data(token_list_default(errorMessageAttr));\n        return validateAttrValue2.call(this, errorMessageAttr);\n      }\n      return true;\n    }\n    function ariaConditionalRowAttr(node) {\n      var _invalidTableRowAttrs, _invalidTableRowAttrs2;\n      var _ref139 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, invalidTableRowAttrs = _ref139.invalidTableRowAttrs;\n      var virtualNode = arguments.length > 2 ? arguments[2] : undefined;\n      var invalidAttrs = (_invalidTableRowAttrs = invalidTableRowAttrs === null || invalidTableRowAttrs === void 0 || (_invalidTableRowAttrs2 = invalidTableRowAttrs.filter) === null || _invalidTableRowAttrs2 === void 0 ? void 0 : _invalidTableRowAttrs2.call(invalidTableRowAttrs, function(invalidAttr) {\n        return virtualNode.hasAttr(invalidAttr);\n      })) !== null && _invalidTableRowAttrs !== void 0 ? _invalidTableRowAttrs : [];\n      if (invalidAttrs.length === 0) {\n        return true;\n      }\n      var owner = getRowOwner(virtualNode);\n      var ownerRole = owner && get_role_default(owner);\n      if (!ownerRole || ownerRole === 'treegrid') {\n        return true;\n      }\n      var messageKey = 'row'.concat(invalidAttrs.length > 1 ? 'Plural' : 'Singular');\n      this.data({\n        messageKey: messageKey,\n        invalidAttrs: invalidAttrs,\n        ownerRole: ownerRole\n      });\n      return false;\n    }\n    function getRowOwner(virtualNode) {\n      if (!virtualNode.parent) {\n        return;\n      }\n      var rowOwnerQuery = 'table:not([role]), [role~=\"treegrid\"], [role~=\"table\"], [role~=\"grid\"]';\n      return closest_default(virtualNode, rowOwnerQuery);\n    }\n    function ariaConditionalCheckboxAttr(node, options, virtualNode) {\n      var _virtualNode$props = virtualNode.props, nodeName2 = _virtualNode$props.nodeName, type2 = _virtualNode$props.type;\n      var ariaChecked = normalizeAriaChecked(virtualNode.attr('aria-checked'));\n      if (nodeName2 !== 'input' || type2 !== 'checkbox' || !ariaChecked) {\n        return true;\n      }\n      var checkState = getCheckState(virtualNode);\n      if (ariaChecked === checkState) {\n        return true;\n      }\n      this.data({\n        messageKey: 'checkbox',\n        checkState: checkState\n      });\n      return false;\n    }\n    function getCheckState(vNode) {\n      if (vNode.props.indeterminate) {\n        return 'mixed';\n      }\n      return vNode.props.checked ? 'true' : 'false';\n    }\n    function normalizeAriaChecked(ariaCheckedVal) {\n      if (!ariaCheckedVal) {\n        return '';\n      }\n      ariaCheckedVal = ariaCheckedVal.toLowerCase();\n      if ([ 'mixed', 'true' ].includes(ariaCheckedVal)) {\n        return ariaCheckedVal;\n      }\n      return 'false';\n    }\n    var conditionalRoleMap = {\n      row: ariaConditionalRowAttr,\n      checkbox: ariaConditionalCheckboxAttr\n    };\n    function ariaConditionalAttrEvaluate(node, options, virtualNode) {\n      var role = get_role_default(virtualNode);\n      if (!conditionalRoleMap[role]) {\n        return true;\n      }\n      return conditionalRoleMap[role].call(this, node, options, virtualNode);\n    }\n    function ariaBusyEvaluate(node, options, virtualNode) {\n      return virtualNode.attr('aria-busy') === 'true';\n    }\n    function ariaAllowedRoleEvaluate(node) {\n      var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      var virtualNode = arguments.length > 2 ? arguments[2] : undefined;\n      var _options$allowImplici = options.allowImplicit, allowImplicit = _options$allowImplici === void 0 ? true : _options$allowImplici, _options$ignoredTags = options.ignoredTags, ignoredTags = _options$ignoredTags === void 0 ? [] : _options$ignoredTags;\n      var nodeName2 = virtualNode.props.nodeName;\n      if (ignoredTags.map(function(tag) {\n        return tag.toLowerCase();\n      }).includes(nodeName2)) {\n        return true;\n      }\n      var unallowedRoles = get_element_unallowed_roles_default(virtualNode, allowImplicit);\n      if (unallowedRoles.length) {\n        this.data(unallowedRoles);\n        if (!_isVisibleToScreenReaders(virtualNode)) {\n          return void 0;\n        }\n        return false;\n      }\n      return true;\n    }\n    var aria_allowed_role_evaluate_default = ariaAllowedRoleEvaluate;\n    function ariaAllowedAttrEvaluate(node, options, virtualNode) {\n      var invalid = [];\n      var role = get_role_default(virtualNode);\n      var allowed = allowed_attr_default(role);\n      if (Array.isArray(options[role])) {\n        allowed = unique_array_default(options[role].concat(allowed));\n      }\n      var _iterator23 = _createForOfIteratorHelper(virtualNode.attrNames), _step23;\n      try {\n        for (_iterator23.s(); !(_step23 = _iterator23.n()).done; ) {\n          var attrName = _step23.value;\n          if (validate_attr_default(attrName) && !allowed.includes(attrName) && !ignoredAttrs(attrName, virtualNode.attr(attrName), virtualNode)) {\n            invalid.push(attrName);\n          }\n        }\n      } catch (err) {\n        _iterator23.e(err);\n      } finally {\n        _iterator23.f();\n      }\n      if (!invalid.length) {\n        return true;\n      }\n      this.data(invalid.map(function(attrName) {\n        return attrName + '=\"' + virtualNode.attr(attrName) + '\"';\n      }));\n      if (!role && !is_html_element_default(virtualNode) && !_isFocusable(virtualNode)) {\n        return void 0;\n      }\n      return false;\n    }\n    function ignoredAttrs(attrName, attrValue, vNode) {\n      if (attrName === 'aria-required' && attrValue === 'false') {\n        return true;\n      }\n      if (attrName === 'aria-multiline' && attrValue === 'false' && vNode.hasAttr('contenteditable')) {\n        return true;\n      }\n      return false;\n    }\n    function abstractroleEvaluate(node, options, virtualNode) {\n      var abstractRoles = token_list_default(virtualNode.attr('role')).filter(function(role) {\n        return get_role_type_default(role) === 'abstract';\n      });\n      if (abstractRoles.length > 0) {\n        this.data(abstractRoles);\n        return true;\n      }\n      return false;\n    }\n    var abstractrole_evaluate_default = abstractroleEvaluate;\n    function xmlLangMismatchMatches(node) {\n      var primaryLangValue = get_base_lang_default(node.getAttribute('lang'));\n      var primaryXmlLangValue = get_base_lang_default(node.getAttribute('xml:lang'));\n      return valid_langs_default(primaryLangValue) && valid_langs_default(primaryXmlLangValue);\n    }\n    var xml_lang_mismatch_matches_default = xmlLangMismatchMatches;\n    function windowIsTopMatches(node) {\n      return node.ownerDocument.defaultView.self === node.ownerDocument.defaultView.top;\n    }\n    var window_is_top_matches_default = windowIsTopMatches;\n    function svgNamespaceMatches(node, virtualNode) {\n      try {\n        var nodeName2 = virtualNode.props.nodeName;\n        if (nodeName2 === 'svg') {\n          return true;\n        }\n        return !!closest_default(virtualNode, 'svg');\n      } catch (_unused19) {\n        return false;\n      }\n    }\n    var svg_namespace_matches_default = svgNamespaceMatches;\n    function widgetNotInline(node, vNode) {\n      return matchesFns.every(function(fn) {\n        return fn(node, vNode);\n      });\n    }\n    var matchesFns = [ function(node, vNode) {\n      return isWidgetType(vNode);\n    }, function(node, vNode) {\n      return isNotAreaElement(vNode);\n    }, function(node, vNode) {\n      return !svg_namespace_matches_default(node, vNode);\n    }, function(node, vNode) {\n      return _isFocusable(vNode);\n    }, function(node, vNode) {\n      return _isInTabOrder(vNode) || !hasWidgetAncestorInTabOrder(vNode);\n    }, function(node) {\n      return !is_in_text_block_default(node, {\n        noLengthCompare: true\n      });\n    } ];\n    function isWidgetType(vNode) {\n      return get_role_type_default(vNode) === 'widget';\n    }\n    function isNotAreaElement(vNode) {\n      return vNode.props.nodeName !== 'area';\n    }\n    var hasWidgetAncestorInTabOrder = memoize_default(function hasWidgetAncestorInTabOrderMemoized(vNode) {\n      if (!(vNode !== null && vNode !== void 0 && vNode.parent)) {\n        return false;\n      }\n      if (isWidgetType(vNode.parent) && _isInTabOrder(vNode.parent)) {\n        return true;\n      }\n      return hasWidgetAncestorInTabOrderMemoized(vNode.parent);\n    });\n    function tableOrGridRoleMatches(_, vNode) {\n      var role = get_role_default(vNode);\n      return [ 'treegrid', 'grid', 'table' ].includes(role);\n    }\n    function summaryIsInteractiveMatches(_, virtualNode) {\n      var parent = virtualNode.parent;\n      if (parent.props.nodeName !== 'details' || isSlottedElm(virtualNode)) {\n        return false;\n      }\n      var firstSummary = parent.children.find(function(child) {\n        return child.props.nodeName === 'summary';\n      });\n      if (firstSummary !== virtualNode) {\n        return false;\n      }\n      return true;\n    }\n    function isSlottedElm(vNode) {\n      var _vNode$actualNode;\n      var domParent = (_vNode$actualNode = vNode.actualNode) === null || _vNode$actualNode === void 0 ? void 0 : _vNode$actualNode.parentElement;\n      return domParent && domParent !== vNode.parent.actualNode;\n    }\n    function skipLinkMatches(node) {\n      return _isSkipLink(node) && is_offscreen_default(node);\n    }\n    var skip_link_matches_default = skipLinkMatches;\n    function scrollableRegionFocusableMatches(node, virtualNode) {\n      return get_scroll_default(node, 13) !== void 0 && _isComboboxPopup(virtualNode) === false && isNoneEmptyElement(virtualNode);\n    }\n    function isNoneEmptyElement(vNode) {\n      return query_selector_all_default(vNode, '*').some(function(elm) {\n        return has_content_virtual_default(elm, true, true);\n      });\n    }\n    function presentationRoleConflictMatches(node, virtualNode) {\n      return implicit_role_default(virtualNode, {\n        chromiumRoles: true\n      }) !== null;\n    }\n    var presentation_role_conflict_matches_default = presentationRoleConflictMatches;\n    function pAsHeadingMatches(node) {\n      var children = Array.from(node.parentNode.childNodes);\n      var nodeText = node.textContent.trim();\n      var isSentence = /[.!?:;](?![.!?:;])/g;\n      if (nodeText.length === 0 || (nodeText.match(isSentence) || []).length >= 2) {\n        return false;\n      }\n      var siblingsAfter = children.slice(children.indexOf(node) + 1).filter(function(elm) {\n        return elm.nodeName.toUpperCase() === 'P' && elm.textContent.trim() !== '';\n      });\n      return siblingsAfter.length !== 0;\n    }\n    var p_as_heading_matches_default = pAsHeadingMatches;\n    function noExplicitNameRequired(node, virtualNode) {\n      var role = get_explicit_role_default(virtualNode);\n      if (!role || [ 'none', 'presentation' ].includes(role)) {\n        return true;\n      }\n      var _ref140 = aria_roles_default[role] || {}, accessibleNameRequired = _ref140.accessibleNameRequired;\n      if (accessibleNameRequired || _isFocusable(virtualNode)) {\n        return true;\n      }\n      return false;\n    }\n    var no_explicit_name_required_matches_default = noExplicitNameRequired;\n    var object_is_loaded_matches_default = function object_is_loaded_matches_default(node, vNode) {\n      return [ no_explicit_name_required_matches_default, objectHasLoaded ].every(function(fn) {\n        return fn(node, vNode);\n      });\n    };\n    function objectHasLoaded(node) {\n      var _node$ownerDocument;\n      if (!(node !== null && node !== void 0 && (_node$ownerDocument = node.ownerDocument) !== null && _node$ownerDocument !== void 0 && _node$ownerDocument.createRange)) {\n        return true;\n      }\n      var range2 = node.ownerDocument.createRange();\n      range2.setStart(node, 0);\n      range2.setEnd(node, node.childNodes.length);\n      return range2.getClientRects().length === 0;\n    }\n    function notHtmlMatches(node, virtualNode) {\n      return virtualNode.props.nodeName !== 'html';\n    }\n    var not_html_matches_default = notHtmlMatches;\n    function noRoleMatches(node, vNode) {\n      return !vNode.attr('role');\n    }\n    var no_role_matches_default = noRoleMatches;\n    function noNegativeTabindexMatches(node, virtualNode) {\n      var tabindex = parse_tabindex_default(virtualNode.attr('tabindex'));\n      return tabindex === null || tabindex >= 0;\n    }\n    var no_negative_tabindex_matches_default = noNegativeTabindexMatches;\n    function noNamingMethodMatches(node, virtualNode) {\n      var _get_element_spec_def3 = get_element_spec_default(virtualNode), namingMethods = _get_element_spec_def3.namingMethods;\n      if (namingMethods && namingMethods.length !== 0) {\n        return false;\n      }\n      if (get_explicit_role_default(virtualNode) === 'combobox' && query_selector_all_default(virtualNode, 'input:not([type=\"hidden\"])').length) {\n        return false;\n      }\n      if (_isComboboxPopup(virtualNode, {\n        popupRoles: [ 'listbox' ]\n      })) {\n        return false;\n      }\n      return true;\n    }\n    var no_naming_method_matches_default = noNamingMethodMatches;\n    function noEmptyRoleMatches(node, virtualNode) {\n      if (!virtualNode.hasAttr('role')) {\n        return false;\n      }\n      if (!virtualNode.attr('role').trim()) {\n        return false;\n      }\n      return true;\n    }\n    var no_empty_role_matches_default = noEmptyRoleMatches;\n    function noAutoplayAudioMatches(node) {\n      if (!node.currentSrc) {\n        return false;\n      }\n      if (node.hasAttribute('paused') || node.hasAttribute('muted')) {\n        return false;\n      }\n      return true;\n    }\n    var no_autoplay_audio_matches_default = noAutoplayAudioMatches;\n    function nestedInteractiveMatches(node, virtualNode) {\n      var role = get_role_default(virtualNode);\n      if (!role) {\n        return false;\n      }\n      return !!standards_default.ariaRoles[role].childrenPresentational;\n    }\n    var nested_interactive_matches_default = nestedInteractiveMatches;\n    function linkInTextBlockMatches(node) {\n      var text = sanitize_default(node.innerText);\n      var role = get_explicit_role_default(node);\n      if (role && role !== 'link') {\n        return false;\n      }\n      if (!text) {\n        return false;\n      }\n      if (!_isVisibleOnScreen(node)) {\n        return false;\n      }\n      return is_in_text_block_default(node);\n    }\n    var link_in_text_block_matches_default = linkInTextBlockMatches;\n    function dataTableMatches(node) {\n      return !is_data_table_default(node) && !_isFocusable(node);\n    }\n    var layout_table_matches_default = dataTableMatches;\n    function landmarkUniqueMatches(node, virtualNode) {\n      return isLandmarkVirtual(virtualNode) && _isVisibleToScreenReaders(virtualNode);\n    }\n    function isLandmarkVirtual(vNode) {\n      var landmarkRoles2 = get_aria_roles_by_type_default('landmark');\n      var role = get_role_default(vNode);\n      if (!role) {\n        return false;\n      }\n      var nodeName2 = vNode.props.nodeName;\n      if (nodeName2 === 'section' || nodeName2 === 'form') {\n        var accessibleText2 = _accessibleTextVirtual(vNode);\n        return !!accessibleText2;\n      }\n      return landmarkRoles2.indexOf(role) >= 0 || role === 'region';\n    }\n    function landmarkHasBodyContextMatches(node, virtualNode) {\n      var nativeScopeFilter = 'article, aside, main, nav, section';\n      return node.hasAttribute('role') || !find_up_virtual_default(virtualNode, nativeScopeFilter);\n    }\n    var landmark_has_body_context_matches_default = landmarkHasBodyContextMatches;\n    function labelMatches(node, virtualNode) {\n      if (virtualNode.props.nodeName !== 'input' || virtualNode.hasAttr('type') === false) {\n        return true;\n      }\n      var type2 = virtualNode.attr('type').toLowerCase();\n      return [ 'hidden', 'image', 'button', 'submit', 'reset' ].includes(type2) === false;\n    }\n    var label_matches_default = labelMatches;\n    function labelContentNameMismatchMatches(node, virtualNode) {\n      var role = get_role_default(node);\n      if (!role) {\n        return false;\n      }\n      var widgetRoles = get_aria_roles_by_type_default('widget');\n      var isWidgetType2 = widgetRoles.includes(role);\n      if (!isWidgetType2) {\n        return false;\n      }\n      var rolesWithNameFromContents = get_aria_roles_supporting_name_from_content_default();\n      if (!rolesWithNameFromContents.includes(role)) {\n        return false;\n      }\n      if (!sanitize_default(_arialabelText(virtualNode)) && !sanitize_default(arialabelledby_text_default(node))) {\n        return false;\n      }\n      if (!sanitize_default(visible_virtual_default(virtualNode))) {\n        return false;\n      }\n      return true;\n    }\n    var label_content_name_mismatch_matches_default = labelContentNameMismatchMatches;\n    function isVisibleOnScreenMatches(node, virtualNode) {\n      return _isVisibleOnScreen(virtualNode);\n    }\n    function hasVisibleTextMatches(node) {\n      return _isVisibleOnScreen(node);\n    }\n    function isInitiatorMatches(node, virtualNode, context) {\n      return context.initiator;\n    }\n    var is_initiator_matches_default = isInitiatorMatches;\n    function insertedIntoFocusOrderMatches(node) {\n      return inserted_into_focus_order_default(node);\n    }\n    var inserted_into_focus_order_matches_default = insertedIntoFocusOrderMatches;\n    function identicalLinksSamePurposeMatches(node, virtualNode) {\n      var hasAccName = !!_accessibleTextVirtual(virtualNode);\n      if (!hasAccName) {\n        return false;\n      }\n      var role = get_role_default(node);\n      if (role && role !== 'link') {\n        return false;\n      }\n      return true;\n    }\n    var identical_links_same_purpose_matches_default = identicalLinksSamePurposeMatches;\n    function htmlNamespaceMatches(node, virtualNode) {\n      return !svg_namespace_matches_default(node, virtualNode);\n    }\n    var html_namespace_matches_default = htmlNamespaceMatches;\n    function headingMatches(node, virtualNode) {\n      return get_role_default(virtualNode) === 'heading';\n    }\n    function hasImplicitChromiumRoleMatches(node, virtualNode) {\n      return implicit_role_default(virtualNode, {\n        chromium: true\n      }) !== null;\n    }\n    var has_implicit_chromium_role_matches_default = hasImplicitChromiumRoleMatches;\n    function frameTitleHasTextMatches(node) {\n      var title = node.getAttribute('title');\n      return !!sanitize_default(title);\n    }\n    var frame_title_has_text_matches_default = frameTitleHasTextMatches;\n    function frameFocusableContentMatches(node, virtualNode, context) {\n      var _context$size, _context$size2;\n      return !context.initiator && !context.focusable && ((_context$size = context.size) === null || _context$size === void 0 ? void 0 : _context$size.width) * ((_context$size2 = context.size) === null || _context$size2 === void 0 ? void 0 : _context$size2.height) > 1;\n    }\n    var frame_focusable_content_matches_default = frameFocusableContentMatches;\n    function duplicateIdMiscMatches(node) {\n      var id = node.getAttribute('id').trim();\n      var idSelector = '*[id=\"'.concat(escape_selector_default(id), '\"]');\n      var idMatchingElms = Array.from(get_root_node_default2(node).querySelectorAll(idSelector));\n      return !is_accessible_ref_default(node) && idMatchingElms.every(function(elm) {\n        return !_isFocusable(elm);\n      });\n    }\n    var duplicate_id_misc_matches_default = duplicateIdMiscMatches;\n    function duplicateIdAriaMatches(node) {\n      return is_accessible_ref_default(node);\n    }\n    var duplicate_id_aria_matches_default = duplicateIdAriaMatches;\n    function duplicateIdActiveMatches(node) {\n      var id = node.getAttribute('id').trim();\n      var idSelector = '*[id=\"'.concat(escape_selector_default(id), '\"]');\n      var idMatchingElms = Array.from(get_root_node_default2(node).querySelectorAll(idSelector));\n      return !is_accessible_ref_default(node) && idMatchingElms.some(_isFocusable);\n    }\n    var duplicate_id_active_matches_default = duplicateIdActiveMatches;\n    function dataTableMatches2(node) {\n      return is_data_table_default(node);\n    }\n    var data_table_matches_default = dataTableMatches2;\n    function dataTableLargeMatches(node) {\n      if (is_data_table_default(node)) {\n        var tableArray = to_grid_default(node);\n        return tableArray.length >= 3 && tableArray[0].length >= 3 && tableArray[1].length >= 3 && tableArray[2].length >= 3;\n      }\n      return false;\n    }\n    var data_table_large_matches_default = dataTableLargeMatches;\n    function colorContrastMatches(node, virtualNode) {\n      var _virtualNode$props2 = virtualNode.props, nodeName2 = _virtualNode$props2.nodeName, inputType = _virtualNode$props2.type;\n      if (nodeName2 === 'option') {\n        return false;\n      }\n      if (nodeName2 === 'select' && !node.options.length) {\n        return false;\n      }\n      var nonTextInput = [ 'hidden', 'range', 'color', 'checkbox', 'radio', 'image' ];\n      if (nodeName2 === 'input' && nonTextInput.includes(inputType)) {\n        return false;\n      }\n      if (is_disabled_default(virtualNode) || _isInert(virtualNode)) {\n        return false;\n      }\n      var formElements = [ 'input', 'select', 'textarea' ];\n      if (formElements.includes(nodeName2)) {\n        var style = window.getComputedStyle(node);\n        var textIndent = parseInt(style.getPropertyValue('text-indent'), 10);\n        if (textIndent) {\n          var rect = node.getBoundingClientRect();\n          rect = {\n            top: rect.top,\n            bottom: rect.bottom,\n            left: rect.left + textIndent,\n            right: rect.right + textIndent\n          };\n          if (!visually_overlaps_default(rect, node)) {\n            return false;\n          }\n        }\n        return true;\n      }\n      var nodeParentLabel = find_up_virtual_default(virtualNode, 'label');\n      if (nodeName2 === 'label' || nodeParentLabel) {\n        var labelNode = nodeParentLabel || node;\n        var labelVirtual3 = nodeParentLabel ? get_node_from_tree_default(nodeParentLabel) : virtualNode;\n        if (labelNode.htmlFor) {\n          var doc = get_root_node_default2(labelNode);\n          var explicitControl = doc.getElementById(labelNode.htmlFor);\n          var explicitControlVirtual = explicitControl && get_node_from_tree_default(explicitControl);\n          if (explicitControlVirtual && is_disabled_default(explicitControlVirtual)) {\n            return false;\n          }\n        }\n        var query = 'input:not([type=\"hidden\"],[type=\"image\"],[type=\"button\"],[type=\"submit\"],[type=\"reset\"]), select, textarea';\n        var implicitControl = query_selector_all_default(labelVirtual3, query)[0];\n        if (implicitControl && is_disabled_default(implicitControl)) {\n          return false;\n        }\n      }\n      var ariaLabelledbyControls = [];\n      var ancestorNode = virtualNode;\n      while (ancestorNode) {\n        if (ancestorNode.props.id) {\n          var virtualControls = get_accessible_refs_default(ancestorNode).filter(function(control) {\n            return token_list_default(control.getAttribute('aria-labelledby') || '').includes(ancestorNode.props.id);\n          }).map(function(control) {\n            return get_node_from_tree_default(control);\n          });\n          ariaLabelledbyControls.push.apply(ariaLabelledbyControls, _toConsumableArray(virtualControls));\n        }\n        ancestorNode = ancestorNode.parent;\n      }\n      if (ariaLabelledbyControls.length > 0 && ariaLabelledbyControls.every(is_disabled_default)) {\n        return false;\n      }\n      if (!hasRealTextChildren(virtualNode)) {\n        return false;\n      }\n      if (!parseFloat(virtualNode.getComputedStylePropertyValue('font-size'))) {\n        return false;\n      }\n      var range2 = document.createRange();\n      var childNodes = virtualNode.children;\n      for (var index = 0; index < childNodes.length; index++) {\n        var child = childNodes[index];\n        if (child.actualNode.nodeType === 3 && sanitize_default(child.actualNode.nodeValue) !== '') {\n          range2.selectNodeContents(child.actualNode);\n        }\n      }\n      var rects = Array.from(range2.getClientRects());\n      var clippingAncestors = get_overflow_hidden_ancestors_default(virtualNode);\n      return rects.some(function(rect) {\n        var overlaps = visually_overlaps_default(rect, node);\n        if (!clippingAncestors.length) {\n          return overlaps;\n        }\n        var withinOverflow = clippingAncestors.some(function(overflowNode) {\n          return _rectsOverlap(rect, overflowNode.boundingClientRect);\n        });\n        return overlaps && withinOverflow;\n      });\n    }\n    var color_contrast_matches_default = colorContrastMatches;\n    var removeUnicodeOptions = {\n      emoji: true,\n      nonBmp: false,\n      punctuations: true\n    };\n    function hasRealTextChildren(virtualNode) {\n      var visibleText = visible_virtual_default(virtualNode, false, true);\n      if (visibleText === '' || remove_unicode_default(visibleText, removeUnicodeOptions) === '') {\n        return false;\n      }\n      return virtualNode.children.some(function(vChild) {\n        return vChild.props.nodeName === '#text' && !_isIconLigature(vChild);\n      });\n    }\n    function bypassMatches(node, virtualNode, context) {\n      if (is_initiator_matches_default(node, virtualNode, context)) {\n        return !!node.querySelector('a[href]');\n      }\n      return true;\n    }\n    var bypass_matches_default = bypassMatches;\n    function autocompleteMatches(node, virtualNode) {\n      var autocomplete2 = virtualNode.attr('autocomplete');\n      if (!autocomplete2 || sanitize_default(autocomplete2) === '') {\n        return false;\n      }\n      var nodeName2 = virtualNode.props.nodeName;\n      if ([ 'textarea', 'input', 'select' ].includes(nodeName2) === false) {\n        return false;\n      }\n      var ariaReadonly = virtualNode.attr('aria-readonly') || 'false';\n      if (virtualNode.hasAttr('readonly') || ariaReadonly.toLowerCase() === 'true') {\n        return false;\n      }\n      var excludedInputTypes = [ 'submit', 'reset', 'button', 'hidden' ];\n      if (nodeName2 === 'input' && excludedInputTypes.includes(virtualNode.props.type)) {\n        return false;\n      }\n      var ariaDisabled = virtualNode.attr('aria-disabled') || 'false';\n      if (virtualNode.hasAttr('disabled') || ariaDisabled.toLowerCase() === 'true') {\n        return false;\n      }\n      var role = get_explicit_role_default(virtualNode);\n      var tabIndex = parse_tabindex_default(virtualNode.attr('tabindex'));\n      if (tabIndex < 0 && virtualNode.hasAttr('role')) {\n        var roleDef = standards_default.ariaRoles[role];\n        if (roleDef === void 0 || roleDef.type !== 'widget') {\n          return false;\n        }\n      }\n      if (tabIndex < 0 && virtualNode.actualNode && !_isVisibleOnScreen(virtualNode) && !_isVisibleToScreenReaders(virtualNode)) {\n        return false;\n      }\n      return true;\n    }\n    var autocomplete_matches_default = autocompleteMatches;\n    function ariaRequiredParentMatches(node, virtualNode) {\n      var role = get_explicit_role_default(virtualNode);\n      return !!required_context_default(role);\n    }\n    var aria_required_parent_matches_default = ariaRequiredParentMatches;\n    function ariaRequiredChildrenMatches(node, virtualNode) {\n      var role = get_explicit_role_default(virtualNode, {\n        dpub: true\n      });\n      return !!required_owned_default(role);\n    }\n    var aria_required_children_matches_default = ariaRequiredChildrenMatches;\n    function shouldMatchElement(el) {\n      if (!el) {\n        return true;\n      }\n      if (el.getAttribute('aria-hidden') === 'true') {\n        return false;\n      }\n      return shouldMatchElement(get_composed_parent_default(el));\n    }\n    function ariaHiddenFocusMatches(node) {\n      return shouldMatchElement(get_composed_parent_default(node));\n    }\n    var aria_hidden_focus_matches_default = ariaHiddenFocusMatches;\n    function ariaHasAttrMatches(node, virtualNode) {\n      var aria = /^aria-/;\n      return virtualNode.attrNames.some(function(attr) {\n        return aria.test(attr);\n      });\n    }\n    var aria_has_attr_matches_default = ariaHasAttrMatches;\n    function ariaAllowedRoleMatches(node, virtualNode) {\n      return get_explicit_role_default(virtualNode, {\n        dpub: true,\n        fallback: true\n      }) !== null;\n    }\n    var aria_allowed_role_matches_default = ariaAllowedRoleMatches;\n    function ariaAllowedAttrMatches(node, virtualNode) {\n      var aria = /^aria-/;\n      var attrs = virtualNode.attrNames;\n      if (attrs.length) {\n        for (var _i29 = 0, l = attrs.length; _i29 < l; _i29++) {\n          if (aria.test(attrs[_i29])) {\n            return true;\n          }\n        }\n      }\n      return false;\n    }\n    var aria_allowed_attr_matches_default = ariaAllowedAttrMatches;\n    var metadataFunctionMap = {\n      'abstractrole-evaluate': abstractrole_evaluate_default,\n      'accesskeys-after': accesskeys_after_default,\n      'accesskeys-evaluate': accesskeys_evaluate_default,\n      'alt-space-value-evaluate': alt_space_value_evaluate_default,\n      'aria-allowed-attr-evaluate': ariaAllowedAttrEvaluate,\n      'aria-allowed-attr-matches': aria_allowed_attr_matches_default,\n      'aria-allowed-role-evaluate': aria_allowed_role_evaluate_default,\n      'aria-allowed-role-matches': aria_allowed_role_matches_default,\n      'aria-busy-evaluate': ariaBusyEvaluate,\n      'aria-conditional-attr-evaluate': ariaConditionalAttrEvaluate,\n      'aria-conditional-checkbox-attr-evaluate': ariaConditionalCheckboxAttr,\n      'aria-conditional-row-attr-evaluate': ariaConditionalRowAttr,\n      'aria-errormessage-evaluate': ariaErrormessageEvaluate,\n      'aria-has-attr-matches': aria_has_attr_matches_default,\n      'aria-hidden-body-evaluate': aria_hidden_body_evaluate_default,\n      'aria-hidden-focus-matches': aria_hidden_focus_matches_default,\n      'aria-label-evaluate': aria_label_evaluate_default,\n      'aria-labelledby-evaluate': aria_labelledby_evaluate_default,\n      'aria-level-evaluate': aria_level_evaluate_default,\n      'aria-prohibited-attr-evaluate': ariaProhibitedAttrEvaluate,\n      'aria-required-attr-evaluate': ariaRequiredAttrEvaluate,\n      'aria-required-children-evaluate': ariaRequiredChildrenEvaluate,\n      'aria-required-children-matches': aria_required_children_matches_default,\n      'aria-required-parent-evaluate': aria_required_parent_evaluate_default,\n      'aria-required-parent-matches': aria_required_parent_matches_default,\n      'aria-roledescription-evaluate': aria_roledescription_evaluate_default,\n      'aria-unsupported-attr-evaluate': aria_unsupported_attr_evaluate_default,\n      'aria-valid-attr-evaluate': aria_valid_attr_evaluate_default,\n      'aria-valid-attr-value-evaluate': ariaValidAttrValueEvaluate,\n      'attr-non-space-content-evaluate': attr_non_space_content_evaluate_default,\n      'autocomplete-appropriate-evaluate': autocomplete_appropriate_evaluate_default,\n      'autocomplete-matches': autocomplete_matches_default,\n      'autocomplete-valid-evaluate': autocomplete_valid_evaluate_default,\n      'avoid-inline-spacing-evaluate': avoid_inline_spacing_evaluate_default,\n      'braille-label-equivalent-evaluate': brailleLabelEquivalentEvaluate,\n      'braille-roledescription-equivalent-evaluate': brailleRoleDescriptionEquivalentEvaluate,\n      'bypass-matches': bypass_matches_default,\n      'caption-evaluate': caption_evaluate_default,\n      'caption-faked-evaluate': caption_faked_evaluate_default,\n      'color-contrast-evaluate': colorContrastEvaluate,\n      'color-contrast-matches': color_contrast_matches_default,\n      'css-orientation-lock-evaluate': css_orientation_lock_evaluate_default,\n      'data-table-large-matches': data_table_large_matches_default,\n      'data-table-matches': data_table_matches_default,\n      'deprecatedrole-evaluate': deprecatedroleEvaluate,\n      'dlitem-evaluate': dlitem_evaluate_default,\n      'doc-has-title-evaluate': doc_has_title_evaluate_default,\n      'duplicate-id-active-matches': duplicate_id_active_matches_default,\n      'duplicate-id-after': duplicate_id_after_default,\n      'duplicate-id-aria-matches': duplicate_id_aria_matches_default,\n      'duplicate-id-evaluate': duplicate_id_evaluate_default,\n      'duplicate-id-misc-matches': duplicate_id_misc_matches_default,\n      'duplicate-img-label-evaluate': duplicate_img_label_evaluate_default,\n      'exists-evaluate': exists_evaluate_default,\n      'explicit-evaluate': explicit_evaluate_default,\n      'fallbackrole-evaluate': fallbackrole_evaluate_default,\n      'focusable-content-evaluate': focusable_content_evaluate_default,\n      'focusable-disabled-evaluate': focusable_disabled_evaluate_default,\n      'focusable-element-evaluate': focusable_element_evaluate_default,\n      'focusable-modal-open-evaluate': focusable_modal_open_evaluate_default,\n      'focusable-no-name-evaluate': focusable_no_name_evaluate_default,\n      'focusable-not-tabbable-evaluate': focusable_not_tabbable_evaluate_default,\n      'frame-focusable-content-evaluate': frameFocusableContentEvaluate,\n      'frame-focusable-content-matches': frame_focusable_content_matches_default,\n      'frame-tested-after': frame_tested_after_default,\n      'frame-tested-evaluate': frame_tested_evaluate_default,\n      'frame-title-has-text-matches': frame_title_has_text_matches_default,\n      'has-alt-evaluate': has_alt_evaluate_default,\n      'has-descendant-after': has_descendant_after_default,\n      'has-descendant-evaluate': has_descendant_evaluate_default,\n      'has-global-aria-attribute-evaluate': has_global_aria_attribute_evaluate_default,\n      'has-implicit-chromium-role-matches': has_implicit_chromium_role_matches_default,\n      'has-lang-evaluate': has_lang_evaluate_default,\n      'has-text-content-evaluate': hasTextContentEvaluate,\n      'has-widget-role-evaluate': has_widget_role_evaluate_default,\n      'heading-matches': headingMatches,\n      'heading-order-after': headingOrderAfter,\n      'heading-order-evaluate': heading_order_evaluate_default,\n      'help-same-as-label-evaluate': help_same_as_label_evaluate_default,\n      'hidden-content-evaluate': hidden_content_evaluate_default,\n      'hidden-explicit-label-evaluate': hidden_explicit_label_evaluate_default,\n      'html-namespace-matches': html_namespace_matches_default,\n      'html5-scope-evaluate': html5_scope_evaluate_default,\n      'identical-links-same-purpose-after': identical_links_same_purpose_after_default,\n      'identical-links-same-purpose-evaluate': identical_links_same_purpose_evaluate_default,\n      'identical-links-same-purpose-matches': identical_links_same_purpose_matches_default,\n      'implicit-evaluate': implicit_evaluate_default,\n      'inline-style-property-evaluate': inlineStyleProperty,\n      'inserted-into-focus-order-matches': inserted_into_focus_order_matches_default,\n      'internal-link-present-evaluate': internal_link_present_evaluate_default,\n      'invalid-children-evaluate': invalidChildrenEvaluate,\n      'invalidrole-evaluate': invalidrole_evaluate_default,\n      'is-element-focusable-evaluate': is_element_focusable_evaluate_default,\n      'is-initiator-matches': is_initiator_matches_default,\n      'is-on-screen-evaluate': is_on_screen_evaluate_default,\n      'is-visible-matches': hasVisibleTextMatches,\n      'is-visible-on-screen-matches': isVisibleOnScreenMatches,\n      'label-content-name-mismatch-evaluate': label_content_name_mismatch_evaluate_default,\n      'label-content-name-mismatch-matches': label_content_name_mismatch_matches_default,\n      'label-matches': label_matches_default,\n      'landmark-has-body-context-matches': landmark_has_body_context_matches_default,\n      'landmark-is-top-level-evaluate': landmark_is_top_level_evaluate_default,\n      'landmark-is-unique-after': landmark_is_unique_after_default,\n      'landmark-is-unique-evaluate': landmark_is_unique_evaluate_default,\n      'landmark-unique-matches': landmarkUniqueMatches,\n      'layout-table-matches': layout_table_matches_default,\n      'link-in-text-block-evaluate': link_in_text_block_evaluate_default,\n      'link-in-text-block-matches': link_in_text_block_matches_default,\n      'link-in-text-block-style-evaluate': linkInTextBlockStyleEvaluate,\n      'listitem-evaluate': listitemEvaluate,\n      'matches-definition-evaluate': matches_definition_evaluate_default,\n      'meta-refresh-evaluate': metaRefreshEvaluate,\n      'meta-viewport-scale-evaluate': meta_viewport_scale_evaluate_default,\n      'multiple-label-evaluate': multiple_label_evaluate_default,\n      'nested-interactive-matches': nested_interactive_matches_default,\n      'no-autoplay-audio-evaluate': no_autoplay_audio_evaluate_default,\n      'no-autoplay-audio-matches': no_autoplay_audio_matches_default,\n      'no-empty-role-matches': no_empty_role_matches_default,\n      'no-explicit-name-required-matches': no_explicit_name_required_matches_default,\n      'no-focusable-content-evaluate': noFocusableContentEvaluate,\n      'no-implicit-explicit-label-evaluate': no_implicit_explicit_label_evaluate_default,\n      'no-naming-method-matches': no_naming_method_matches_default,\n      'no-negative-tabindex-matches': no_negative_tabindex_matches_default,\n      'no-role-matches': no_role_matches_default,\n      'non-empty-if-present-evaluate': non_empty_if_present_evaluate_default,\n      'not-html-matches': not_html_matches_default,\n      'object-is-loaded-matches': object_is_loaded_matches_default,\n      'only-dlitems-evaluate': onlyDlitemsEvaluate,\n      'only-listitems-evaluate': only_listitems_evaluate_default,\n      'p-as-heading-evaluate': p_as_heading_evaluate_default,\n      'p-as-heading-matches': p_as_heading_matches_default,\n      'page-no-duplicate-after': page_no_duplicate_after_default,\n      'page-no-duplicate-evaluate': page_no_duplicate_evaluate_default,\n      'presentation-role-conflict-matches': presentation_role_conflict_matches_default,\n      'presentational-role-evaluate': presentationalRoleEvaluate,\n      'region-after': region_after_default,\n      'region-evaluate': regionEvaluate,\n      'same-caption-summary-evaluate': same_caption_summary_evaluate_default,\n      'scope-value-evaluate': scope_value_evaluate_default,\n      'scrollable-region-focusable-matches': scrollableRegionFocusableMatches,\n      'skip-link-evaluate': skip_link_evaluate_default,\n      'skip-link-matches': skip_link_matches_default,\n      'structured-dlitems-evaluate': structured_dlitems_evaluate_default,\n      'summary-interactive-matches': summaryIsInteractiveMatches,\n      'svg-namespace-matches': svg_namespace_matches_default,\n      'svg-non-empty-title-evaluate': svg_non_empty_title_evaluate_default,\n      'tabindex-evaluate': tabindex_evaluate_default,\n      'table-or-grid-role-matches': tableOrGridRoleMatches,\n      'target-offset-evaluate': targetOffsetEvaluate,\n      'target-size-evaluate': targetSizeEvaluate,\n      'td-has-header-evaluate': td_has_header_evaluate_default,\n      'td-headers-attr-evaluate': tdHeadersAttrEvaluate,\n      'th-has-data-cells-evaluate': th_has_data_cells_evaluate_default,\n      'title-only-evaluate': title_only_evaluate_default,\n      'unique-frame-title-after': unique_frame_title_after_default,\n      'unique-frame-title-evaluate': unique_frame_title_evaluate_default,\n      'unsupportedrole-evaluate': unsupportedrole_evaluate_default,\n      'valid-lang-evaluate': valid_lang_evaluate_default,\n      'valid-scrollable-semantics-evaluate': valid_scrollable_semantics_evaluate_default,\n      'widget-not-inline-matches': widgetNotInline,\n      'window-is-top-matches': window_is_top_matches_default,\n      'xml-lang-mismatch-evaluate': xml_lang_mismatch_evaluate_default,\n      'xml-lang-mismatch-matches': xml_lang_mismatch_matches_default\n    };\n    var metadata_function_map_default = metadataFunctionMap;\n    function CheckResult(check) {\n      this.id = check.id;\n      this.data = null;\n      this.relatedNodes = [];\n      this.result = null;\n    }\n    var check_result_default = CheckResult;\n    function createExecutionContext(spec) {\n      if (typeof spec === 'string') {\n        if (metadata_function_map_default[spec]) {\n          return metadata_function_map_default[spec];\n        }\n        if (/^\\s*function[\\s\\w]*\\(/.test(spec)) {\n          return new Function('return ' + spec + ';')();\n        }\n        throw new ReferenceError('Function ID does not exist in the metadata-function-map: '.concat(spec));\n      }\n      return spec;\n    }\n    function normalizeOptions() {\n      var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n      if (Array.isArray(options) || _typeof(options) !== 'object') {\n        options = {\n          value: options\n        };\n      }\n      return options;\n    }\n    function Check(spec) {\n      if (spec) {\n        this.id = spec.id;\n        this.configure(spec);\n      }\n    }\n    Check.prototype.enabled = true;\n    Check.prototype.run = function run(node, options, context, resolve, reject) {\n      options = options || {};\n      var enabled = options.hasOwnProperty('enabled') ? options.enabled : this.enabled;\n      var checkOptions = this.getOptions(options.options);\n      if (enabled) {\n        var checkResult = new check_result_default(this);\n        var helper = check_helper_default(checkResult, options, resolve, reject);\n        var result;\n        try {\n          result = this.evaluate.call(helper, node.actualNode, checkOptions, node, context);\n        } catch (e) {\n          if (node && node.actualNode) {\n            e.errorNode = node_serializer_default.toSpec(node);\n          }\n          reject(e);\n          return;\n        }\n        if (!helper.isAsync) {\n          checkResult.result = result;\n          resolve(checkResult);\n        }\n      } else {\n        resolve(null);\n      }\n    };\n    Check.prototype.runSync = function runSync(node, options, context) {\n      options = options || {};\n      var _options2 = options, _options2$enabled = _options2.enabled, enabled = _options2$enabled === void 0 ? this.enabled : _options2$enabled;\n      if (!enabled) {\n        return null;\n      }\n      var checkOptions = this.getOptions(options.options);\n      var checkResult = new check_result_default(this);\n      var helper = check_helper_default(checkResult, options);\n      helper.async = function async() {\n        throw new Error('Cannot run async check while in a synchronous run');\n      };\n      var result;\n      try {\n        result = this.evaluate.call(helper, node.actualNode, checkOptions, node, context);\n      } catch (e) {\n        if (node && node.actualNode) {\n          e.errorNode = node_serializer_default.toSpec(node);\n        }\n        throw e;\n      }\n      checkResult.result = result;\n      return checkResult;\n    };\n    Check.prototype.configure = function configure2(spec) {\n      var _this0 = this;\n      if (!spec.evaluate || metadata_function_map_default[spec.evaluate]) {\n        this._internalCheck = true;\n      }\n      if (spec.hasOwnProperty('enabled')) {\n        this.enabled = spec.enabled;\n      }\n      if (spec.hasOwnProperty('options')) {\n        if (this._internalCheck) {\n          this.options = normalizeOptions(spec.options);\n        } else {\n          this.options = spec.options;\n        }\n      }\n      [ 'evaluate', 'after' ].filter(function(prop) {\n        return spec.hasOwnProperty(prop);\n      }).forEach(function(prop) {\n        return _this0[prop] = createExecutionContext(spec[prop]);\n      });\n    };\n    Check.prototype.getOptions = function getOptions(options) {\n      if (this._internalCheck) {\n        return deep_merge_default(this.options, normalizeOptions(options || {}));\n      } else {\n        return options || this.options;\n      }\n    };\n    var check_default = Check;\n    function RuleResult(rule) {\n      this.id = rule.id;\n      this.result = constants_default.NA;\n      this.pageLevel = rule.pageLevel;\n      this.impact = null;\n      this.nodes = [];\n    }\n    var rule_result_default = RuleResult;\n    function Rule(spec, parentAudit) {\n      this._audit = parentAudit;\n      this.id = spec.id;\n      this.selector = spec.selector || '*';\n      if (spec.impact) {\n        assert_default(constants_default.impact.includes(spec.impact), 'Impact '.concat(spec.impact, ' is not a valid impact'));\n        this.impact = spec.impact;\n      }\n      this.excludeHidden = typeof spec.excludeHidden === 'boolean' ? spec.excludeHidden : true;\n      this.enabled = typeof spec.enabled === 'boolean' ? spec.enabled : true;\n      this.pageLevel = typeof spec.pageLevel === 'boolean' ? spec.pageLevel : false;\n      this.reviewOnFail = typeof spec.reviewOnFail === 'boolean' ? spec.reviewOnFail : false;\n      this.any = spec.any || [];\n      this.all = spec.all || [];\n      this.none = spec.none || [];\n      this.tags = spec.tags || [];\n      this.preload = spec.preload ? true : false;\n      this.actIds = spec.actIds;\n      if (spec.matches) {\n        this.matches = createExecutionContext(spec.matches);\n      }\n    }\n    Rule.prototype.matches = function matches3() {\n      return true;\n    };\n    Rule.prototype.gather = function gather(context) {\n      var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      var markStart = 'mark_gather_start_' + this.id;\n      var markEnd = 'mark_gather_end_' + this.id;\n      var markHiddenStart = 'mark_isVisibleToScreenReaders_start_' + this.id;\n      var markHiddenEnd = 'mark_isVisibleToScreenReaders_end_' + this.id;\n      if (options.performanceTimer) {\n        performance_timer_default.mark(markStart);\n      }\n      var elements = _select(this.selector, context);\n      if (this.excludeHidden) {\n        if (options.performanceTimer) {\n          performance_timer_default.mark(markHiddenStart);\n        }\n        elements = elements.filter(function(element) {\n          return _isVisibleToScreenReaders(element);\n        });\n        if (options.performanceTimer) {\n          performance_timer_default.mark(markHiddenEnd);\n          performance_timer_default.measure('rule_' + this.id + '#gather_axe.utils.isVisibleToScreenReaders', markHiddenStart, markHiddenEnd);\n        }\n      }\n      if (options.performanceTimer) {\n        performance_timer_default.mark(markEnd);\n        performance_timer_default.measure('rule_' + this.id + '#gather', markStart, markEnd);\n      }\n      return elements;\n    };\n    Rule.prototype.runChecks = function runChecks(type2, node, options, context, resolve, reject) {\n      var self2 = this;\n      var checkQueue = queue_default();\n      this[type2].forEach(function(c4) {\n        var check = self2._audit.checks[c4.id || c4];\n        var option = get_check_option_default(check, self2.id, options);\n        checkQueue.defer(function(res, rej) {\n          check.run(node, option, context, res, function(error) {\n            rej(new rule_error_default({\n              ruleId: self2.id,\n              method: ''.concat(check.id, '#evaluate'),\n              errorNode: new dq_element_default(node),\n              error: error\n            }));\n          });\n        });\n      });\n      checkQueue.then(function(results) {\n        results = results.filter(function(check) {\n          return check;\n        });\n        resolve({\n          type: type2,\n          results: results\n        });\n      })['catch'](reject);\n    };\n    Rule.prototype.runChecksSync = function runChecksSync(type2, node, options, context) {\n      var self2 = this;\n      var results = [];\n      this[type2].forEach(function(c4) {\n        var check = self2._audit.checks[c4.id || c4];\n        var option = get_check_option_default(check, self2.id, options);\n        results.push(check.runSync(node, option, context));\n      });\n      results = results.filter(function(check) {\n        return check;\n      });\n      return {\n        type: type2,\n        results: results\n      };\n    };\n    Rule.prototype.run = function run2(context) {\n      var _this1 = this;\n      var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      var resolve = arguments.length > 2 ? arguments[2] : undefined;\n      var reject = arguments.length > 3 ? arguments[3] : undefined;\n      if (options.performanceTimer) {\n        this._trackPerformance();\n      }\n      var q = queue_default();\n      var ruleResult = new rule_result_default(this);\n      var nodes;\n      try {\n        nodes = this.gatherAndMatchNodes(context, options);\n      } catch (error) {\n        reject(error);\n        return;\n      }\n      if (options.performanceTimer) {\n        this._logGatherPerformance(nodes);\n      }\n      nodes.forEach(function(node) {\n        q.defer(function(resolveNode, rejectNode) {\n          var checkQueue = queue_default();\n          [ 'any', 'all', 'none' ].forEach(function(type2) {\n            checkQueue.defer(function(res, rej) {\n              _this1.runChecks(type2, node, options, context, res, rej);\n            });\n          });\n          checkQueue.then(function(results) {\n            var result = getResult(results);\n            if (result) {\n              result.node = new dq_element_default(node);\n              ruleResult.nodes.push(result);\n              if (_this1.reviewOnFail) {\n                [ 'any', 'all' ].forEach(function(type2) {\n                  result[type2].forEach(function(checkResult) {\n                    if (checkResult.result === false) {\n                      checkResult.result = void 0;\n                    }\n                  });\n                });\n                result.none.forEach(function(checkResult) {\n                  if (checkResult.result === true) {\n                    checkResult.result = void 0;\n                  }\n                });\n              }\n            }\n            resolveNode();\n          })['catch'](function(err2) {\n            return rejectNode(err2);\n          });\n        });\n      });\n      q.then(function() {\n        if (options.performanceTimer) {\n          _this1._logRulePerformance();\n        }\n        setTimeout(function() {\n          resolve(ruleResult);\n        }, 0);\n      })['catch'](function(error) {\n        if (options.performanceTimer) {\n          _this1._logRulePerformance();\n        }\n        reject(error);\n      });\n    };\n    Rule.prototype.runSync = function runSync2(context) {\n      var _this10 = this;\n      var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      if (options.performanceTimer) {\n        this._trackPerformance();\n      }\n      var ruleResult = new rule_result_default(this);\n      var nodes = this.gatherAndMatchNodes(context, options);\n      if (options.performanceTimer) {\n        this._logGatherPerformance(nodes);\n      }\n      nodes.forEach(function(node) {\n        var results = [];\n        [ 'any', 'all', 'none' ].forEach(function(type2) {\n          results.push(_this10.runChecksSync(type2, node, options, context));\n        });\n        var result = getResult(results);\n        if (result) {\n          result.node = node.actualNode ? new dq_element_default(node) : null;\n          ruleResult.nodes.push(result);\n          if (_this10.reviewOnFail) {\n            [ 'any', 'all' ].forEach(function(type2) {\n              result[type2].forEach(function(checkResult) {\n                if (checkResult.result === false) {\n                  checkResult.result = void 0;\n                }\n              });\n            });\n            result.none.forEach(function(checkResult) {\n              if (checkResult.result === true) {\n                checkResult.result = void 0;\n              }\n            });\n          }\n        }\n      });\n      if (options.performanceTimer) {\n        this._logRulePerformance();\n      }\n      return ruleResult;\n    };\n    Rule.prototype._trackPerformance = function _trackPerformance() {\n      this._markStart = 'mark_rule_start_' + this.id;\n      this._markEnd = 'mark_rule_end_' + this.id;\n      this._markChecksStart = 'mark_runchecks_start_' + this.id;\n      this._markChecksEnd = 'mark_runchecks_end_' + this.id;\n    };\n    Rule.prototype._logGatherPerformance = function _logGatherPerformance(nodes) {\n      log_default('gather for '.concat(this.id, ' (').concat(nodes.length, ' nodes): ').concat(performance_timer_default.timeElapsed(), 'ms'));\n      performance_timer_default.mark(this._markChecksStart);\n    };\n    Rule.prototype._logRulePerformance = function _logRulePerformance() {\n      performance_timer_default.mark(this._markChecksEnd);\n      performance_timer_default.mark(this._markEnd);\n      performance_timer_default.measure('runchecks_' + this.id, this._markChecksStart, this._markChecksEnd);\n      performance_timer_default.measure('rule_' + this.id, this._markStart, this._markEnd);\n    };\n    function getResult(results) {\n      if (results.length) {\n        var hasResults = false;\n        var result = {};\n        results.forEach(function(r) {\n          var res = r.results.filter(function(_result) {\n            return _result;\n          });\n          result[r.type] = res;\n          if (res.length) {\n            hasResults = true;\n          }\n        });\n        if (hasResults) {\n          return result;\n        }\n        return null;\n      }\n    }\n    Rule.prototype.gatherAndMatchNodes = function gatherAndMatchNodes(context, options) {\n      var _this11 = this;\n      var markMatchesStart = 'mark_matches_start_' + this.id;\n      var markMatchesEnd = 'mark_matches_end_' + this.id;\n      var nodes = this.gather(context, options);\n      if (options.performanceTimer) {\n        performance_timer_default.mark(markMatchesStart);\n      }\n      nodes = nodes.filter(function(node) {\n        try {\n          return _this11.matches(node.actualNode, node, context);\n        } catch (error) {\n          throw new rule_error_default({\n            ruleId: _this11.id,\n            method: '#matches',\n            errorNode: new dq_element_default(node),\n            error: error\n          });\n        }\n      });\n      if (options.performanceTimer) {\n        performance_timer_default.mark(markMatchesEnd);\n        performance_timer_default.measure('rule_' + this.id + '#matches', markMatchesStart, markMatchesEnd);\n      }\n      return nodes;\n    };\n    function findAfterChecks(rule) {\n      return get_all_checks_default(rule).map(function(c4) {\n        var check = rule._audit.checks[c4.id || c4];\n        return check && typeof check.after === 'function' ? check : null;\n      }).filter(Boolean);\n    }\n    function findCheckResults(nodes, checkID) {\n      var checkResults = [];\n      nodes.forEach(function(nodeResult) {\n        var checks = get_all_checks_default(nodeResult);\n        checks.forEach(function(checkResult) {\n          if (checkResult.id === checkID) {\n            checkResult.node = nodeResult.node;\n            checkResults.push(checkResult);\n          }\n        });\n      });\n      return checkResults;\n    }\n    function filterChecks(checks) {\n      return checks.filter(function(check) {\n        return check.filtered !== true;\n      });\n    }\n    function sanitizeNodes(result) {\n      var checkTypes2 = [ 'any', 'all', 'none' ];\n      var nodes = result.nodes.filter(function(detail) {\n        var length = 0;\n        checkTypes2.forEach(function(type2) {\n          detail[type2] = filterChecks(detail[type2]);\n          length += detail[type2].length;\n        });\n        return length > 0;\n      });\n      if (result.pageLevel && nodes.length) {\n        nodes = [ nodes.reduce(function(a2, b2) {\n          if (a2) {\n            checkTypes2.forEach(function(type2) {\n              a2[type2].push.apply(a2[type2], b2[type2]);\n            });\n            return a2;\n          }\n        }) ];\n      }\n      return nodes;\n    }\n    Rule.prototype.after = function after(result, options) {\n      var _this12 = this;\n      var afterChecks = findAfterChecks(this);\n      afterChecks.forEach(function(check) {\n        var beforeResults = findCheckResults(result.nodes, check.id);\n        var checkOption = get_check_option_default(check, _this12.id, options);\n        var afterResults;\n        try {\n          afterResults = check.after(beforeResults, checkOption.options);\n        } catch (error) {\n          var _result$nodes;\n          throw new rule_error_default({\n            ruleId: _this12.id,\n            method: ''.concat(check.id, '#after'),\n            errorNode: (_result$nodes = result.nodes) === null || _result$nodes === void 0 || (_result$nodes = _result$nodes[0]) === null || _result$nodes === void 0 ? void 0 : _result$nodes.node,\n            error: error\n          });\n        }\n        if (_this12.reviewOnFail) {\n          afterResults.forEach(function(checkResult) {\n            var changeAnyAllResults = (_this12.any.includes(checkResult.id) || _this12.all.includes(checkResult.id)) && checkResult.result === false;\n            var changeNoneResult = _this12.none.includes(checkResult.id) && checkResult.result === true;\n            if (changeAnyAllResults || changeNoneResult) {\n              checkResult.result = void 0;\n            }\n          });\n        }\n        beforeResults.forEach(function(item) {\n          delete item.node;\n          if (afterResults.indexOf(item) === -1) {\n            item.filtered = true;\n          }\n        });\n      });\n      result.nodes = sanitizeNodes(result);\n      return result;\n    };\n    Rule.prototype.configure = function configure3(spec) {\n      if (spec.hasOwnProperty('selector')) {\n        this.selector = spec.selector;\n      }\n      if (spec.hasOwnProperty('excludeHidden')) {\n        this.excludeHidden = typeof spec.excludeHidden === 'boolean' ? spec.excludeHidden : true;\n      }\n      if (spec.hasOwnProperty('enabled')) {\n        this.enabled = typeof spec.enabled === 'boolean' ? spec.enabled : true;\n      }\n      if (spec.hasOwnProperty('pageLevel')) {\n        this.pageLevel = typeof spec.pageLevel === 'boolean' ? spec.pageLevel : false;\n      }\n      if (spec.hasOwnProperty('reviewOnFail')) {\n        this.reviewOnFail = typeof spec.reviewOnFail === 'boolean' ? spec.reviewOnFail : false;\n      }\n      if (spec.hasOwnProperty('any')) {\n        this.any = spec.any;\n      }\n      if (spec.hasOwnProperty('all')) {\n        this.all = spec.all;\n      }\n      if (spec.hasOwnProperty('none')) {\n        this.none = spec.none;\n      }\n      if (spec.hasOwnProperty('tags')) {\n        this.tags = spec.tags;\n      }\n      if (spec.hasOwnProperty('actIds')) {\n        this.actIds = spec.actIds;\n      }\n      if (spec.hasOwnProperty('matches')) {\n        this.matches = createExecutionContext(spec.matches);\n      }\n      if (spec.impact) {\n        assert_default(constants_default.impact.includes(spec.impact), 'Impact '.concat(spec.impact, ' is not a valid impact'));\n        this.impact = spec.impact;\n      }\n    };\n    var dotRegex = /\\{\\{.+?\\}\\}/g;\n    var Audit = function() {\n      function Audit(audit) {\n        _classCallCheck(this, Audit);\n        this.lang = 'en';\n        this.defaultConfig = audit;\n        this.standards = standards_default;\n        this._init();\n        this._defaultLocale = null;\n      }\n      return _createClass(Audit, [ {\n        key: '_setDefaultLocale',\n        value: function _setDefaultLocale() {\n          if (this._defaultLocale) {\n            return;\n          }\n          var locale = {\n            checks: {},\n            rules: {},\n            failureSummaries: {},\n            incompleteFallbackMessage: '',\n            lang: this.lang\n          };\n          var checkIDs = Object.keys(this.data.checks);\n          for (var _i30 = 0; _i30 < checkIDs.length; _i30++) {\n            var _id8 = checkIDs[_i30];\n            var check = this.data.checks[_id8];\n            var _check$messages = check.messages, pass = _check$messages.pass, fail = _check$messages.fail, incomplete = _check$messages.incomplete;\n            locale.checks[_id8] = {\n              pass: pass,\n              fail: fail,\n              incomplete: incomplete\n            };\n          }\n          var ruleIDs = Object.keys(this.data.rules);\n          for (var _i31 = 0; _i31 < ruleIDs.length; _i31++) {\n            var _id9 = ruleIDs[_i31];\n            var rule = this.data.rules[_id9];\n            var description = rule.description, help = rule.help;\n            locale.rules[_id9] = {\n              description: description,\n              help: help\n            };\n          }\n          var failureSummaries = Object.keys(this.data.failureSummaries);\n          for (var _i32 = 0; _i32 < failureSummaries.length; _i32++) {\n            var type2 = failureSummaries[_i32];\n            var failureSummary2 = this.data.failureSummaries[type2];\n            var failureMessage = failureSummary2.failureMessage;\n            locale.failureSummaries[type2] = {\n              failureMessage: failureMessage\n            };\n          }\n          locale.incompleteFallbackMessage = this.data.incompleteFallbackMessage;\n          this._defaultLocale = locale;\n        }\n      }, {\n        key: '_resetLocale',\n        value: function _resetLocale() {\n          var defaultLocale = this._defaultLocale;\n          if (!defaultLocale) {\n            return;\n          }\n          this.applyLocale(defaultLocale);\n        }\n      }, {\n        key: '_applyCheckLocale',\n        value: function _applyCheckLocale(checks) {\n          var keys = Object.keys(checks);\n          for (var _i33 = 0; _i33 < keys.length; _i33++) {\n            var _id0 = keys[_i33];\n            if (!this.data.checks[_id0]) {\n              throw new Error('Locale provided for unknown check: \"'.concat(_id0, '\"'));\n            }\n            this.data.checks[_id0] = mergeCheckLocale(this.data.checks[_id0], checks[_id0]);\n          }\n        }\n      }, {\n        key: '_applyRuleLocale',\n        value: function _applyRuleLocale(rules) {\n          var keys = Object.keys(rules);\n          for (var _i34 = 0; _i34 < keys.length; _i34++) {\n            var _id1 = keys[_i34];\n            if (!this.data.rules[_id1]) {\n              throw new Error('Locale provided for unknown rule: \"'.concat(_id1, '\"'));\n            }\n            this.data.rules[_id1] = mergeRuleLocale(this.data.rules[_id1], rules[_id1]);\n          }\n        }\n      }, {\n        key: '_applyFailureSummaries',\n        value: function _applyFailureSummaries(messages) {\n          var keys = Object.keys(messages);\n          for (var _i35 = 0; _i35 < keys.length; _i35++) {\n            var _key1 = keys[_i35];\n            if (!this.data.failureSummaries[_key1]) {\n              throw new Error('Locale provided for unknown failureMessage: \"'.concat(_key1, '\"'));\n            }\n            this.data.failureSummaries[_key1] = mergeFailureMessage(this.data.failureSummaries[_key1], messages[_key1]);\n          }\n        }\n      }, {\n        key: 'applyLocale',\n        value: function applyLocale(locale) {\n          this._setDefaultLocale();\n          if (locale.checks) {\n            this._applyCheckLocale(locale.checks);\n          }\n          if (locale.rules) {\n            this._applyRuleLocale(locale.rules);\n          }\n          if (locale.failureSummaries) {\n            this._applyFailureSummaries(locale.failureSummaries, 'failureSummaries');\n          }\n          if (locale.incompleteFallbackMessage) {\n            this.data.incompleteFallbackMessage = mergeFallbackMessage(this.data.incompleteFallbackMessage, locale.incompleteFallbackMessage);\n          }\n          if (locale.lang) {\n            this.lang = locale.lang;\n          }\n        }\n      }, {\n        key: 'setAllowedOrigins',\n        value: function setAllowedOrigins(allowedOrigins) {\n          var defaultOrigin = getDefaultOrigin();\n          this.allowedOrigins = [];\n          var _iterator24 = _createForOfIteratorHelper(allowedOrigins), _step24;\n          try {\n            for (_iterator24.s(); !(_step24 = _iterator24.n()).done; ) {\n              var origin = _step24.value;\n              if (origin === constants_default.allOrigins) {\n                this.allowedOrigins = [ '*' ];\n                return;\n              } else if (origin !== constants_default.sameOrigin) {\n                this.allowedOrigins.push(origin);\n              } else if (defaultOrigin) {\n                this.allowedOrigins.push(defaultOrigin);\n              }\n            }\n          } catch (err) {\n            _iterator24.e(err);\n          } finally {\n            _iterator24.f();\n          }\n        }\n      }, {\n        key: '_init',\n        value: function _init() {\n          var audit = getDefaultConfiguration(this.defaultConfig);\n          this.lang = audit.lang || 'en';\n          this.reporter = audit.reporter;\n          this.commands = {};\n          this.rules = [];\n          this.checks = {};\n          this.brand = 'axe';\n          this.application = 'axeAPI';\n          this.tagExclude = [ 'experimental', 'deprecated' ];\n          this.noHtml = audit.noHtml;\n          this.allowedOrigins = audit.allowedOrigins;\n          unpackToObject(audit.rules, this, 'addRule');\n          unpackToObject(audit.checks, this, 'addCheck');\n          this.data = {};\n          this.data.checks = audit.data && audit.data.checks || {};\n          this.data.rules = audit.data && audit.data.rules || {};\n          this.data.failureSummaries = audit.data && audit.data.failureSummaries || {};\n          this.data.incompleteFallbackMessage = audit.data && audit.data.incompleteFallbackMessage || '';\n          this._constructHelpUrls();\n        }\n      }, {\n        key: 'registerCommand',\n        value: function registerCommand(command) {\n          this.commands[command.id] = command.callback;\n        }\n      }, {\n        key: 'addRule',\n        value: function addRule(spec) {\n          if (spec.metadata) {\n            this.data.rules[spec.id] = spec.metadata;\n          }\n          var rule = this.getRule(spec.id);\n          if (rule) {\n            rule.configure(spec);\n          } else {\n            this.rules.push(new Rule(spec, this));\n          }\n        }\n      }, {\n        key: 'addCheck',\n        value: function addCheck(spec) {\n          var metadata = spec.metadata;\n          if (_typeof(metadata) === 'object') {\n            this.data.checks[spec.id] = metadata;\n            if (_typeof(metadata.messages) === 'object') {\n              Object.keys(metadata.messages).filter(function(prop) {\n                return metadata.messages.hasOwnProperty(prop) && typeof metadata.messages[prop] === 'string';\n              }).forEach(function(prop) {\n                if (metadata.messages[prop].indexOf('function') === 0) {\n                  metadata.messages[prop] = new Function('return ' + metadata.messages[prop] + ';')();\n                }\n              });\n            }\n          }\n          if (this.checks[spec.id]) {\n            this.checks[spec.id].configure(spec);\n          } else {\n            this.checks[spec.id] = new check_default(spec);\n          }\n        }\n      }, {\n        key: 'run',\n        value: function run(context, options, resolve, reject) {\n          this.normalizeOptions(options);\n          dq_element_default.setRunOptions(options);\n          axe._selectCache = [];\n          var allRulesToRun = getRulesToRun(this.rules, context, options);\n          var runNowRules = allRulesToRun.now;\n          var runLaterRules = allRulesToRun.later;\n          var nowRulesQueue = queue_default();\n          runNowRules.forEach(function(rule) {\n            nowRulesQueue.defer(getDefferedRule(rule, context, options));\n          });\n          var preloaderQueue = queue_default();\n          if (runLaterRules.length) {\n            preloaderQueue.defer(function(res) {\n              _preload(options).then(function(assets) {\n                return res(assets);\n              })['catch'](function(err2) {\n                console.warn('Couldn\\'t load preload assets: ', err2);\n                res(void 0);\n              });\n            });\n          }\n          var queueForNowRulesAndPreloader = queue_default();\n          queueForNowRulesAndPreloader.defer(nowRulesQueue);\n          queueForNowRulesAndPreloader.defer(preloaderQueue);\n          queueForNowRulesAndPreloader.then(function(nowRulesAndPreloaderResults) {\n            var assetsFromQueue = nowRulesAndPreloaderResults.pop();\n            if (assetsFromQueue && assetsFromQueue.length) {\n              var assets = assetsFromQueue[0];\n              if (assets) {\n                context = _extends({}, context, assets);\n              }\n            }\n            var nowRulesResults = nowRulesAndPreloaderResults[0];\n            if (!runLaterRules.length) {\n              axe._selectCache = void 0;\n              resolve(nowRulesResults.filter(function(result) {\n                return !!result;\n              }));\n              return;\n            }\n            var laterRulesQueue = queue_default();\n            runLaterRules.forEach(function(rule) {\n              var deferredRule = getDefferedRule(rule, context, options);\n              laterRulesQueue.defer(deferredRule);\n            });\n            laterRulesQueue.then(function(laterRuleResults) {\n              axe._selectCache = void 0;\n              resolve(nowRulesResults.concat(laterRuleResults).filter(function(result) {\n                return !!result;\n              }));\n            })['catch'](reject);\n          })['catch'](reject);\n        }\n      }, {\n        key: 'after',\n        value: function after(results, options) {\n          var rules = this.rules;\n          return results.map(function(ruleResult) {\n            if (ruleResult.error) {\n              return ruleResult;\n            }\n            var rule = find_by_default(rules, 'id', ruleResult.id);\n            if (!rule) {\n              throw new Error('Result for unknown rule. You may be running mismatch axe-core versions');\n            }\n            try {\n              return rule.after(ruleResult, options);\n            } catch (err2) {\n              if (options.debug) {\n                throw err2;\n              }\n              return createIncompleteErrorResult(rule, err2);\n            }\n          });\n        }\n      }, {\n        key: 'getRule',\n        value: function getRule(ruleId) {\n          return this.rules.find(function(rule) {\n            return rule.id === ruleId;\n          });\n        }\n      }, {\n        key: 'normalizeOptions',\n        value: function normalizeOptions(options) {\n          var audit = this;\n          var tags = [];\n          var ruleIds = [];\n          audit.rules.forEach(function(rule) {\n            ruleIds.push(rule.id);\n            rule.tags.forEach(function(tag) {\n              if (!tags.includes(tag)) {\n                tags.push(tag);\n              }\n            });\n          });\n          if ([ 'object', 'string' ].includes(_typeof(options.runOnly))) {\n            if (typeof options.runOnly === 'string') {\n              options.runOnly = [ options.runOnly ];\n            }\n            if (Array.isArray(options.runOnly)) {\n              var hasTag = options.runOnly.find(function(value) {\n                return tags.includes(value);\n              });\n              var hasRule = options.runOnly.find(function(value) {\n                return ruleIds.includes(value);\n              });\n              if (hasTag && hasRule) {\n                throw new Error('runOnly cannot be both rules and tags');\n              }\n              if (hasRule) {\n                options.runOnly = {\n                  type: 'rule',\n                  values: options.runOnly\n                };\n              } else {\n                options.runOnly = {\n                  type: 'tag',\n                  values: options.runOnly\n                };\n              }\n            }\n            var only = options.runOnly;\n            if (only.value && !only.values) {\n              only.values = only.value;\n              delete only.value;\n            }\n            if (!Array.isArray(only.values) || only.values.length === 0) {\n              throw new Error('runOnly.values must be a non-empty array');\n            }\n            if ([ 'rule', 'rules' ].includes(only.type)) {\n              only.type = 'rule';\n              only.values.forEach(function(ruleId) {\n                if (!ruleIds.includes(ruleId)) {\n                  throw new Error('unknown rule `' + ruleId + '` in options.runOnly');\n                }\n              });\n            } else if ([ 'tag', 'tags', void 0 ].includes(only.type)) {\n              only.type = 'tag';\n              var unmatchedTags = only.values.filter(function(tag) {\n                return !tags.includes(tag) && !/wcag2[1-3]a{1,3}/.test(tag);\n              });\n              if (unmatchedTags.length !== 0) {\n                axe.log('Could not find tags `' + unmatchedTags.join('`, `') + '`');\n              }\n            } else {\n              throw new Error('Unknown runOnly type \\''.concat(only.type, '\\''));\n            }\n          }\n          if (_typeof(options.rules) === 'object') {\n            Object.keys(options.rules).forEach(function(ruleId) {\n              if (!ruleIds.includes(ruleId)) {\n                throw new Error('unknown rule `' + ruleId + '` in options.rules');\n              }\n            });\n          }\n          return options;\n        }\n      }, {\n        key: 'setBranding',\n        value: function setBranding(branding) {\n          var previous = {\n            brand: this.brand,\n            application: this.application\n          };\n          if (typeof branding === 'string') {\n            this.application = branding;\n          }\n          if (branding && branding.hasOwnProperty('brand') && branding.brand && typeof branding.brand === 'string') {\n            this.brand = branding.brand;\n          }\n          if (branding && branding.hasOwnProperty('application') && branding.application && typeof branding.application === 'string') {\n            this.application = branding.application;\n          }\n          this._constructHelpUrls(previous);\n        }\n      }, {\n        key: '_constructHelpUrls',\n        value: function _constructHelpUrls() {\n          var _this13 = this;\n          var previous = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n          var version = (axe.version.match(/^[1-9][0-9]*\\.[0-9]+/) || [ 'x.y' ])[0];\n          this.rules.forEach(function(rule) {\n            if (!_this13.data.rules[rule.id]) {\n              _this13.data.rules[rule.id] = {};\n            }\n            var metaData = _this13.data.rules[rule.id];\n            if (typeof metaData.helpUrl !== 'string' || previous && metaData.helpUrl === getHelpUrl(previous, rule.id, version)) {\n              metaData.helpUrl = getHelpUrl(_this13, rule.id, version);\n            }\n          });\n        }\n      }, {\n        key: 'resetRulesAndChecks',\n        value: function resetRulesAndChecks() {\n          this._init();\n          this._resetLocale();\n        }\n      } ]);\n    }();\n    var audit_default = Audit;\n    function getDefaultOrigin() {\n      if (window.origin && window.origin !== 'null') {\n        return window.origin;\n      }\n      if (window.location && window.location.origin && window.location.origin !== 'null') {\n        return window.location.origin;\n      }\n    }\n    function getDefaultConfiguration(audit) {\n      var config;\n      if (audit) {\n        config = clone2(audit);\n        config.commons = audit.commons;\n      } else {\n        config = {};\n      }\n      config.reporter = config.reporter || null;\n      config.noHtml = config.noHtml || false;\n      if (!config.allowedOrigins) {\n        var defaultOrigin = getDefaultOrigin();\n        config.allowedOrigins = defaultOrigin ? [ defaultOrigin ] : [];\n      }\n      config.rules = config.rules || [];\n      config.checks = config.checks || [];\n      config.data = _extends({\n        checks: {},\n        rules: {}\n      }, config.data);\n      return config;\n    }\n    function unpackToObject(collection, audit, method) {\n      var i, l;\n      for (i = 0, l = collection.length; i < l; i++) {\n        audit[method](collection[i]);\n      }\n    }\n    var mergeCheckLocale = function mergeCheckLocale(a2, b2) {\n      var pass = b2.pass, fail = b2.fail;\n      if (typeof pass === 'string' && dotRegex.test(pass)) {\n        pass = import_dot['default'].compile(pass);\n      }\n      if (typeof fail === 'string' && dotRegex.test(fail)) {\n        fail = import_dot['default'].compile(fail);\n      }\n      return _extends({}, a2, {\n        messages: {\n          pass: pass || a2.messages.pass,\n          fail: fail || a2.messages.fail,\n          incomplete: _typeof(a2.messages.incomplete) === 'object' ? _extends({}, a2.messages.incomplete, b2.incomplete) : b2.incomplete\n        }\n      });\n    };\n    var mergeRuleLocale = function mergeRuleLocale(a2, b2) {\n      var help = b2.help, description = b2.description;\n      if (typeof help === 'string' && dotRegex.test(help)) {\n        help = import_dot['default'].compile(help);\n      }\n      if (typeof description === 'string' && dotRegex.test(description)) {\n        description = import_dot['default'].compile(description);\n      }\n      return _extends({}, a2, {\n        help: help || a2.help,\n        description: description || a2.description\n      });\n    };\n    var mergeFailureMessage = function mergeFailureMessage(a2, b2) {\n      var failureMessage = b2.failureMessage;\n      if (typeof failureMessage === 'string' && dotRegex.test(failureMessage)) {\n        failureMessage = import_dot['default'].compile(failureMessage);\n      }\n      return _extends({}, a2, {\n        failureMessage: failureMessage || a2.failureMessage\n      });\n    };\n    var mergeFallbackMessage = function mergeFallbackMessage(a2, b2) {\n      if (typeof b2 === 'string' && dotRegex.test(b2)) {\n        b2 = import_dot['default'].compile(b2);\n      }\n      return b2 || a2;\n    };\n    function getRulesToRun(rules, context, options) {\n      var base = {\n        now: [],\n        later: []\n      };\n      var splitRules = rules.reduce(function(out, rule) {\n        if (!rule_should_run_default(rule, context, options)) {\n          return out;\n        }\n        if (rule.preload) {\n          out.later.push(rule);\n          return out;\n        }\n        out.now.push(rule);\n        return out;\n      }, base);\n      return splitRules;\n    }\n    function getDefferedRule(rule, context, options) {\n      if (options.performanceTimer) {\n        performance_timer_default.mark('mark_rule_start_' + rule.id);\n      }\n      return function(resolve, reject) {\n        rule.run(context, options, function(ruleResult) {\n          return resolve(ruleResult);\n        }, function(err2) {\n          if (options.debug) {\n            reject(err2);\n          } else {\n            resolve(createIncompleteErrorResult(rule, err2));\n          }\n        });\n      };\n    }\n    function createIncompleteErrorResult(rule, error) {\n      var errorNode = error.errorNode;\n      var serialError = _serializeError(error);\n      var none = [ {\n        id: 'error-occurred',\n        result: void 0,\n        data: serialError,\n        relatedNodes: []\n      } ];\n      var node = errorNode || new dq_element_default(document.documentElement);\n      return Object.assign(new rule_result_default(rule), {\n        error: serialError,\n        result: constants_default.CANTTELL,\n        nodes: [ {\n          any: [],\n          all: [],\n          none: none,\n          node: node\n        } ]\n      });\n    }\n    function getHelpUrl(_ref141, ruleId, version) {\n      var brand = _ref141.brand, application = _ref141.application, lang = _ref141.lang;\n      return constants_default.helpUrlBase + brand + '/' + (version || axe.version.substring(0, axe.version.lastIndexOf('.'))) + '/' + ruleId + '?application=' + encodeURIComponent(application) + (lang && lang !== 'en' ? '&lang=' + encodeURIComponent(lang) : '');\n    }\n    function setupGlobals(context) {\n      var hasWindow = window && 'Node' in window && 'NodeList' in window;\n      var hasDoc = !!document;\n      if (hasWindow && hasDoc) {\n        return;\n      }\n      if (!context || !context.ownerDocument) {\n        throw new Error('Required \"window\" or \"document\" globals not defined and cannot be deduced from the context. Either set the globals before running or pass in a valid Element.');\n      }\n      if (!hasDoc) {\n        cache_default.set('globalDocumentSet', true);\n        document = context.ownerDocument;\n      }\n      if (!hasWindow) {\n        cache_default.set('globalWindowSet', true);\n        window = document.defaultView;\n      }\n    }\n    function resetGlobals() {\n      if (cache_default.get('globalDocumentSet')) {\n        cache_default.set('globalDocumentSet', false);\n        document = null;\n      }\n      if (cache_default.get('globalWindowSet')) {\n        cache_default.set('globalWindowSet', false);\n        window = null;\n      }\n    }\n    function teardown() {\n      resetGlobals();\n      axe._memoizedFns.forEach(function(fn) {\n        return fn.clear();\n      });\n      cache_default.clear();\n      axe._tree = void 0;\n      axe._selectorData = void 0;\n      axe._selectCache = void 0;\n    }\n    var teardown_default = teardown;\n    function runRules(context, options, resolve, reject) {\n      try {\n        context = new Context(context);\n        axe._tree = context.flatTree;\n        axe._selectorData = _getSelectorData(context.flatTree);\n      } catch (e) {\n        teardown_default();\n        return reject(e);\n      }\n      var q = queue_default();\n      var audit = axe._audit;\n      if (options.performanceTimer) {\n        performance_timer_default.auditStart();\n      }\n      if (context.frames.length && options.iframes !== false) {\n        q.defer(function(res, rej) {\n          _collectResultsFromFrames(context, options, 'rules', null, res, rej);\n        });\n      }\n      q.defer(function(res, rej) {\n        audit.run(context, options, res, rej);\n      });\n      q.then(function(data) {\n        try {\n          if (options.performanceTimer) {\n            performance_timer_default.auditEnd();\n          }\n          var results = merge_results_default(data.map(function(res) {\n            return {\n              results: res\n            };\n          }));\n          if (context.initiator) {\n            if (options.performanceTimer) {\n              performance_timer_default.mark('auditAfterStart');\n            }\n            results = audit.after(results, options);\n            if (options.performanceTimer) {\n              performance_timer_default.mark('auditAfterEnd');\n              performance_timer_default.measure('audit.after', 'auditAfterStart', 'auditAfterEnd');\n              performance_timer_default.logMeasures('audit.after');\n            }\n            results.forEach(_publishMetaData);\n            results = results.map(_finalizeRuleResult);\n          }\n          try {\n            resolve(results, teardown_default);\n          } catch (e) {\n            teardown_default();\n            log_default(e);\n          }\n        } catch (e) {\n          teardown_default();\n          reject(e);\n        }\n      })['catch'](function(e) {\n        teardown_default();\n        reject(e);\n      });\n    }\n    function load(audit) {\n      axe._audit = new audit_default(audit);\n    }\n    function runCommand(data, keepalive, callback) {\n      var resolve = callback;\n      var reject = function reject2(err2) {\n        if (err2 instanceof Error === false) {\n          err2 = new Error(err2);\n        }\n        callback(err2);\n      };\n      var context = data && data.context || {};\n      if (context.hasOwnProperty('include') && !context.include.length) {\n        context.include = [ document ];\n      }\n      var options = data && data.options || {};\n      switch (data.command) {\n       case 'rules':\n        return runRules(context, options, function(results, cleanupFn) {\n          results = node_serializer_default.mapRawResults(results);\n          resolve(results);\n          cleanupFn();\n        }, reject);\n\n       case 'cleanup-plugin':\n        return cleanup_default(resolve, reject);\n\n       default:\n        if (axe._audit && axe._audit.commands && axe._audit.commands[data.command]) {\n          return axe._audit.commands[data.command](data, callback);\n        }\n      }\n    }\n    if (window.top !== window) {\n      _respondable.subscribe('axe.start', runCommand);\n      _respondable.subscribe('axe.ping', function(data, keepalive, respond) {\n        respond({\n          axe: true\n        });\n      });\n    }\n    function Plugin(spec) {\n      this._run = spec.run;\n      this._collect = spec.collect;\n      this._registry = {};\n      spec.commands.forEach(function(command) {\n        axe._audit.registerCommand(command);\n      });\n    }\n    Plugin.prototype.run = function run3() {\n      return this._run.apply(this, arguments);\n    };\n    Plugin.prototype.collect = function collect() {\n      return this._collect.apply(this, arguments);\n    };\n    Plugin.prototype.cleanup = function cleanup2(done) {\n      var q = axe.utils.queue();\n      var that = this;\n      Object.keys(this._registry).forEach(function(key) {\n        q.defer(function(_done) {\n          that._registry[key].cleanup(_done);\n        });\n      });\n      q.then(done);\n    };\n    Plugin.prototype.add = function add(impl) {\n      this._registry[impl.id] = impl;\n    };\n    function registerPlugin(plugin) {\n      axe.plugins[plugin.id] = new Plugin(plugin);\n    }\n    var plugins_default = registerPlugin;\n    function reset() {\n      var audit = axe._audit;\n      if (!audit) {\n        throw new Error('No audit configured');\n      }\n      audit.resetRulesAndChecks();\n      resetStandards();\n    }\n    var reset_default = reset;\n    function runVirtualRule(ruleId, vNode) {\n      var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n      options.reporter = options.reporter || axe._audit.reporter || 'v1';\n      axe._selectorData = {};\n      if (!(vNode instanceof abstract_virtual_node_default)) {\n        vNode = new serial_virtual_node_default(vNode);\n      }\n      var rule = _getRule(ruleId);\n      if (!rule) {\n        throw new Error('unknown rule `' + ruleId + '`');\n      }\n      rule = Object.create(rule, {\n        excludeHidden: {\n          value: false\n        }\n      });\n      var context = {\n        initiator: true,\n        include: [ vNode ],\n        exclude: [],\n        frames: [],\n        page: false,\n        focusable: true,\n        size: {},\n        flatTree: []\n      };\n      var rawResults = rule.runSync(context, options);\n      _publishMetaData(rawResults);\n      _finalizeRuleResult(rawResults);\n      var results = aggregate_result_default([ rawResults ]);\n      results.violations.forEach(function(result) {\n        return result.nodes.forEach(function(nodeResult) {\n          nodeResult.failureSummary = failure_summary_default(nodeResult);\n        });\n      });\n      return _extends({}, _getEnvironmentData(), results, {\n        toolOptions: options\n      });\n    }\n    function normalizeRunParams(_ref142) {\n      var _ref144, _options$reporter, _axe$_audit;\n      var _ref143 = _slicedToArray(_ref142, 3), context = _ref143[0], options = _ref143[1], callback = _ref143[2];\n      var typeErr = new TypeError('axe.run arguments are invalid');\n      if (!_isContextSpec(context)) {\n        if (callback !== void 0) {\n          throw typeErr;\n        }\n        callback = options;\n        options = context;\n        context = document;\n      }\n      if (_typeof(options) !== 'object') {\n        if (callback !== void 0) {\n          throw typeErr;\n        }\n        callback = options;\n        options = {};\n      }\n      if (typeof callback !== 'function' && callback !== void 0) {\n        throw typeErr;\n      }\n      options = clone2(options);\n      options.reporter = (_ref144 = (_options$reporter = options.reporter) !== null && _options$reporter !== void 0 ? _options$reporter : (_axe$_audit = axe._audit) === null || _axe$_audit === void 0 ? void 0 : _axe$_audit.reporter) !== null && _ref144 !== void 0 ? _ref144 : 'v1';\n      return {\n        context: context,\n        options: options,\n        callback: callback\n      };\n    }\n    var noop2 = function noop2() {};\n    function run4() {\n      for (var _len8 = arguments.length, args = new Array(_len8), _key10 = 0; _key10 < _len8; _key10++) {\n        args[_key10] = arguments[_key10];\n      }\n      setupGlobals(args[0]);\n      var _normalizeRunParams = normalizeRunParams(args), context = _normalizeRunParams.context, options = _normalizeRunParams.options, _normalizeRunParams$c = _normalizeRunParams.callback, callback = _normalizeRunParams$c === void 0 ? noop2 : _normalizeRunParams$c;\n      var _getPromiseHandlers = getPromiseHandlers(callback), thenable = _getPromiseHandlers.thenable, resolve = _getPromiseHandlers.resolve, reject = _getPromiseHandlers.reject;\n      try {\n        assert_default(axe._audit, 'No audit configured');\n        assert_default(!axe._running, 'Axe is already running. Use `await axe.run()` to wait for the previous run to finish before starting a new run.');\n      } catch (e) {\n        return handleError(e, callback);\n      }\n      axe._running = true;\n      if (options.performanceTimer) {\n        performance_timer_default.start();\n      }\n      function handleRunRules(rawResults, teardown2) {\n        var respond = function respond(results) {\n          if (options.performanceTimer) {\n            performance_timer_default.mark('reporterEnd');\n            performance_timer_default.measure('reporter', 'reporterStart', 'reporterEnd');\n            performance_timer_default.logMeasures('reporter');\n            performance_timer_default.end();\n          }\n          axe._running = false;\n          teardown2();\n          try {\n            resolve(results);\n          } catch (e) {\n            axe.log(e);\n          }\n        };\n        var wrappedReject = function wrappedReject(err2) {\n          axe._running = false;\n          teardown2();\n          try {\n            reject(err2);\n          } catch (e) {\n            axe.log(e);\n          }\n        };\n        try {\n          if (options.performanceTimer) {\n            performance_timer_default.mark('reporterStart');\n          }\n          createReport(rawResults, options, respond, wrappedReject);\n        } catch (err2) {\n          wrappedReject(err2);\n        }\n      }\n      function errorRunRules(err2) {\n        if (options.performanceTimer) {\n          performance_timer_default.end();\n        }\n        axe._running = false;\n        callback(err2);\n        reject(err2);\n      }\n      axe._runRules(context, options, handleRunRules, errorRunRules);\n      return thenable;\n    }\n    function getPromiseHandlers(callback) {\n      var thenable, reject, resolve;\n      if (typeof Promise === 'function' && callback === noop2) {\n        thenable = new Promise(function(_resolve, _reject) {\n          reject = _reject;\n          resolve = _resolve;\n        });\n      } else {\n        resolve = function resolve(result) {\n          return callback(null, result);\n        };\n        reject = function reject(err2) {\n          return callback(err2);\n        };\n      }\n      return {\n        thenable: thenable,\n        reject: reject,\n        resolve: resolve\n      };\n    }\n    function createReport(rawResults, options, respond, reject) {\n      var reporter = getReporter(options.reporter);\n      var results = reporter(rawResults, options, respond, reject);\n      if (results !== void 0) {\n        respond(results);\n      }\n    }\n    function handleError(err2, callback) {\n      if (typeof callback === 'function' && callback !== noop2) {\n        callback(err2.message);\n        return;\n      }\n      throw err2;\n    }\n    function runPartial() {\n      for (var _len9 = arguments.length, args = new Array(_len9), _key11 = 0; _key11 < _len9; _key11++) {\n        args[_key11] = arguments[_key11];\n      }\n      var _normalizeRunParams2 = normalizeRunParams(args), options = _normalizeRunParams2.options, context = _normalizeRunParams2.context;\n      assert_default(axe._audit, 'Axe is not configured. Audit is missing.');\n      assert_default(!axe._running, 'Axe is already running. Use `await axe.run()` to wait for the previous run to finish before starting a new run.');\n      var contextObj = new Context(context, axe._tree);\n      axe._tree = contextObj.flatTree;\n      axe._selectorData = _getSelectorData(contextObj.flatTree);\n      axe._running = true;\n      options.elementRef = false;\n      return new Promise(function(res, rej) {\n        axe._audit.run(contextObj, options, res, rej);\n      }).then(function(results) {\n        results = node_serializer_default.mapRawResults(results);\n        var frames = contextObj.frames.map(function(_ref145) {\n          var node = _ref145.node;\n          return node_serializer_default.toSpec(node);\n        });\n        var environmentData;\n        if (contextObj.initiator) {\n          environmentData = _getEnvironmentData();\n        }\n        axe._running = false;\n        teardown_default();\n        return {\n          results: results,\n          frames: frames,\n          environmentData: environmentData\n        };\n      })['catch'](function(err2) {\n        axe._running = false;\n        teardown_default();\n        return Promise.reject(err2);\n      });\n    }\n    function finishRun(partialResults) {\n      var _ref147, _options$reporter2, _axe$_audit2;\n      var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      options = clone2(options);\n      var _ref146 = partialResults.find(function(r) {\n        return r.environmentData;\n      }) || {}, environmentData = _ref146.environmentData;\n      axe._audit.normalizeOptions(options);\n      options.reporter = (_ref147 = (_options$reporter2 = options.reporter) !== null && _options$reporter2 !== void 0 ? _options$reporter2 : (_axe$_audit2 = axe._audit) === null || _axe$_audit2 === void 0 ? void 0 : _axe$_audit2.reporter) !== null && _ref147 !== void 0 ? _ref147 : 'v1';\n      setFrameSpec(partialResults);\n      var results = merge_results_default(partialResults);\n      results = axe._audit.after(results, options);\n      results.forEach(_publishMetaData);\n      results = results.map(_finalizeRuleResult);\n      return createReport2(results, _extends({\n        environmentData: environmentData\n      }, options));\n    }\n    function setFrameSpec(partialResults) {\n      var frameStack = [];\n      var _iterator25 = _createForOfIteratorHelper(partialResults), _step25;\n      try {\n        for (_iterator25.s(); !(_step25 = _iterator25.n()).done; ) {\n          var partialResult = _step25.value;\n          var frameSpec = frameStack.shift();\n          if (!partialResult) {\n            continue;\n          }\n          partialResult.frameSpec = frameSpec !== null && frameSpec !== void 0 ? frameSpec : null;\n          var frameSpecs = getMergedFrameSpecs(partialResult);\n          frameStack.unshift.apply(frameStack, _toConsumableArray(frameSpecs));\n        }\n      } catch (err) {\n        _iterator25.e(err);\n      } finally {\n        _iterator25.f();\n      }\n    }\n    function getMergedFrameSpecs(_ref148) {\n      var childFrameSpecs = _ref148.frames, parentFrameSpec = _ref148.frameSpec;\n      if (!parentFrameSpec) {\n        return childFrameSpecs;\n      }\n      return childFrameSpecs.map(function(childFrameSpec) {\n        return node_serializer_default.mergeSpecs(childFrameSpec, parentFrameSpec);\n      });\n    }\n    function createReport2(results, options) {\n      return new Promise(function(resolve, reject) {\n        var reporter = getReporter(options.reporter);\n        reporter(results, options, resolve, reject);\n      });\n    }\n    function setup(node) {\n      if (axe._tree) {\n        throw new Error('Axe is already setup. Call `axe.teardown()` before calling `axe.setup` again.');\n      }\n      if (node && _typeof(node.documentElement) === 'object' && _typeof(node.defaultView) === 'object') {\n        node = node.documentElement;\n      }\n      setupGlobals(node);\n      axe._tree = _getFlattenedTree(node);\n      axe._selectorData = _getSelectorData(axe._tree);\n      return axe._tree[0];\n    }\n    var setup_default = setup;\n    var naReporter = function naReporter(results, options, callback) {\n      console.warn('\"na\" reporter will be deprecated in axe v4.0. Use the \"v2\" reporter instead.');\n      if (typeof options === 'function') {\n        callback = options;\n        options = {};\n      }\n      var _options3 = options, environmentData = _options3.environmentData, toolOptions = _objectWithoutProperties(_options3, _excluded13);\n      callback(_extends({}, _getEnvironmentData(environmentData), {\n        toolOptions: toolOptions\n      }, processAggregate(results, options)));\n    };\n    var na_default = naReporter;\n    var noPassesReporter = function noPassesReporter(results, options, callback) {\n      if (typeof options === 'function') {\n        callback = options;\n        options = {};\n      }\n      var _options4 = options, environmentData = _options4.environmentData, toolOptions = _objectWithoutProperties(_options4, _excluded14);\n      options.resultTypes = [ 'violations' ];\n      var _processAggregate = processAggregate(results, options), violations = _processAggregate.violations;\n      callback(_extends({}, _getEnvironmentData(environmentData), {\n        toolOptions: toolOptions,\n        violations: violations\n      }));\n    };\n    var no_passes_default = noPassesReporter;\n    var rawReporter = function rawReporter(results, options, callback) {\n      if (typeof options === 'function') {\n        callback = options;\n        options = {};\n      }\n      if (!results || !Array.isArray(results)) {\n        return callback(results);\n      }\n      var transformedResults = results.map(function(result) {\n        var transformedResult = _extends({}, result);\n        var types = [ 'passes', 'violations', 'incomplete', 'inapplicable' ];\n        for (var _i36 = 0, _types = types; _i36 < _types.length; _i36++) {\n          var type2 = _types[_i36];\n          transformedResult[type2] = node_serializer_default.mapRawNodeResults(transformedResult[type2]);\n        }\n        return transformedResult;\n      });\n      callback(transformedResults);\n    };\n    var raw_default = rawReporter;\n    var rawEnvReporter = function rawEnvReporter(results, options, callback) {\n      if (typeof options === 'function') {\n        callback = options;\n        options = {};\n      }\n      var _options5 = options, environmentData = _options5.environmentData, toolOptions = _objectWithoutProperties(_options5, _excluded15);\n      raw_default(results, toolOptions, function(raw) {\n        var env = _getEnvironmentData(environmentData);\n        callback({\n          raw: raw,\n          env: env\n        });\n      });\n    };\n    var raw_env_default = rawEnvReporter;\n    var v1Reporter = function v1Reporter(results, options, callback) {\n      if (typeof options === 'function') {\n        callback = options;\n        options = {};\n      }\n      var _options6 = options, environmentData = _options6.environmentData, toolOptions = _objectWithoutProperties(_options6, _excluded16);\n      var out = processAggregate(results, options);\n      var addFailureSummaries = function addFailureSummaries(result) {\n        result.nodes.forEach(function(nodeResult) {\n          nodeResult.failureSummary = failure_summary_default(nodeResult);\n        });\n      };\n      out.incomplete.forEach(addFailureSummaries);\n      out.violations.forEach(addFailureSummaries);\n      callback(_extends({}, _getEnvironmentData(environmentData), {\n        toolOptions: toolOptions\n      }, out));\n    };\n    var v1_default = v1Reporter;\n    var v2Reporter = function v2Reporter(results, options, callback) {\n      if (typeof options === 'function') {\n        callback = options;\n        options = {};\n      }\n      var _options7 = options, environmentData = _options7.environmentData, toolOptions = _objectWithoutProperties(_options7, _excluded17);\n      var out = processAggregate(results, options);\n      callback(_extends({}, _getEnvironmentData(environmentData), {\n        toolOptions: toolOptions\n      }, out));\n    };\n    var v2_default = v2Reporter;\n    var _thisWillBeDeletedDoNotUse = {\n      base: {\n        Audit: audit_default,\n        CheckResult: check_result_default,\n        Check: check_default,\n        Context: Context,\n        RuleResult: rule_result_default,\n        Rule: Rule,\n        metadataFunctionMap: metadata_function_map_default\n      },\n      public: {\n        reporters: reporters\n      },\n      helpers: {\n        failureSummary: failure_summary_default,\n        incompleteFallbackMessage: incompleteFallbackMessage,\n        processAggregate: processAggregate\n      },\n      utils: {\n        setDefaultFrameMessenger: setDefaultFrameMessenger,\n        cacheNodeSelectors: cacheNodeSelectors,\n        getNodesMatchingExpression: getNodesMatchingExpression,\n        convertSelector: _convertSelector\n      },\n      commons: {\n        dom: {\n          nativelyHidden: nativelyHidden,\n          displayHidden: displayHidden,\n          visibilityHidden: visibilityHidden,\n          contentVisibiltyHidden: contentVisibiltyHidden,\n          ariaHidden: ariaHidden,\n          opacityHidden: opacityHidden,\n          scrollHidden: scrollHidden,\n          overflowHidden: overflowHidden,\n          clipHidden: clipHidden,\n          areaHidden: areaHidden,\n          detailsHidden: detailsHidden\n        }\n      }\n    };\n    var exposed_for_testing_default = _thisWillBeDeletedDoNotUse;\n    axe._thisWillBeDeletedDoNotUse = exposed_for_testing_default;\n    axe.constants = constants_default;\n    axe.log = log_default;\n    axe.AbstractVirtualNode = abstract_virtual_node_default;\n    axe.SerialVirtualNode = serial_virtual_node_default;\n    axe.VirtualNode = virtual_node_default;\n    axe._cache = cache_default;\n    axe.imports = imports_exports;\n    axe.cleanup = cleanup_default;\n    axe.configure = configure_default;\n    axe.frameMessenger = frameMessenger2;\n    axe.getRules = get_rules_default;\n    axe._load = load;\n    axe.plugins = {};\n    axe.registerPlugin = plugins_default;\n    axe.hasReporter = hasReporter;\n    axe.getReporter = getReporter;\n    axe.addReporter = addReporter;\n    axe.reset = reset_default;\n    axe._runRules = runRules;\n    axe.runVirtualRule = runVirtualRule;\n    axe.run = run4;\n    axe.setup = setup_default;\n    axe.teardown = teardown_default;\n    axe.runPartial = runPartial;\n    axe.finishRun = finishRun;\n    axe.commons = commons_exports;\n    axe.utils = utils_exports;\n    axe.addReporter('na', na_default);\n    axe.addReporter('no-passes', no_passes_default);\n    axe.addReporter('rawEnv', raw_env_default);\n    axe.addReporter('raw', raw_default);\n    axe.addReporter('v1', v1_default);\n    axe.addReporter('v2', v2_default, true);\n  })();\n  'use strict';\n  axe._load({\n    lang: 'en',\n    data: {\n      rules: {\n        accesskeys: {\n          description: 'Ensure every accesskey attribute value is unique',\n          help: 'accesskey attribute value should be unique'\n        },\n        'area-alt': {\n          description: 'Ensure <area> elements of image maps have alternative text',\n          help: 'Active <area> elements must have alternative text'\n        },\n        'aria-allowed-attr': {\n          description: 'Ensure an element\\'s role supports its ARIA attributes',\n          help: 'Elements must only use supported ARIA attributes'\n        },\n        'aria-allowed-role': {\n          description: 'Ensure role attribute has an appropriate value for the element',\n          help: 'ARIA role should be appropriate for the element'\n        },\n        'aria-braille-equivalent': {\n          description: 'Ensure aria-braillelabel and aria-brailleroledescription have a non-braille equivalent',\n          help: 'aria-braille attributes must have a non-braille equivalent'\n        },\n        'aria-command-name': {\n          description: 'Ensure every ARIA button, link and menuitem has an accessible name',\n          help: 'ARIA commands must have an accessible name'\n        },\n        'aria-conditional-attr': {\n          description: 'Ensure ARIA attributes are used as described in the specification of the element\\'s role',\n          help: 'ARIA attributes must be used as specified for the element\\'s role'\n        },\n        'aria-deprecated-role': {\n          description: 'Ensure elements do not use deprecated roles',\n          help: 'Deprecated ARIA roles must not be used'\n        },\n        'aria-dialog-name': {\n          description: 'Ensure every ARIA dialog and alertdialog node has an accessible name',\n          help: 'ARIA dialog and alertdialog nodes should have an accessible name'\n        },\n        'aria-hidden-body': {\n          description: 'Ensure aria-hidden=\"true\" is not present on the document body.',\n          help: 'aria-hidden=\"true\" must not be present on the document body'\n        },\n        'aria-hidden-focus': {\n          description: 'Ensure aria-hidden elements are not focusable nor contain focusable elements',\n          help: 'ARIA hidden element must not be focusable or contain focusable elements'\n        },\n        'aria-input-field-name': {\n          description: 'Ensure every ARIA input field has an accessible name',\n          help: 'ARIA input fields must have an accessible name'\n        },\n        'aria-meter-name': {\n          description: 'Ensure every ARIA meter node has an accessible name',\n          help: 'ARIA meter nodes must have an accessible name'\n        },\n        'aria-progressbar-name': {\n          description: 'Ensure every ARIA progressbar node has an accessible name',\n          help: 'ARIA progressbar nodes must have an accessible name'\n        },\n        'aria-prohibited-attr': {\n          description: 'Ensure ARIA attributes are not prohibited for an element\\'s role',\n          help: 'Elements must only use permitted ARIA attributes'\n        },\n        'aria-required-attr': {\n          description: 'Ensure elements with ARIA roles have all required ARIA attributes',\n          help: 'Required ARIA attributes must be provided'\n        },\n        'aria-required-children': {\n          description: 'Ensure elements with an ARIA role that require child roles contain them',\n          help: 'Certain ARIA roles must contain particular children'\n        },\n        'aria-required-parent': {\n          description: 'Ensure elements with an ARIA role that require parent roles are contained by them',\n          help: 'Certain ARIA roles must be contained by particular parents'\n        },\n        'aria-roledescription': {\n          description: 'Ensure aria-roledescription is only used on elements with an implicit or explicit role',\n          help: 'aria-roledescription must be on elements with a semantic role'\n        },\n        'aria-roles': {\n          description: 'Ensure all elements with a role attribute use a valid value',\n          help: 'ARIA roles used must conform to valid values'\n        },\n        'aria-text': {\n          description: 'Ensure role=\"text\" is used on elements with no focusable descendants',\n          help: '\"role=text\" should have no focusable descendants'\n        },\n        'aria-toggle-field-name': {\n          description: 'Ensure every ARIA toggle field has an accessible name',\n          help: 'ARIA toggle fields must have an accessible name'\n        },\n        'aria-tooltip-name': {\n          description: 'Ensure every ARIA tooltip node has an accessible name',\n          help: 'ARIA tooltip nodes must have an accessible name'\n        },\n        'aria-treeitem-name': {\n          description: 'Ensure every ARIA treeitem node has an accessible name',\n          help: 'ARIA treeitem nodes should have an accessible name'\n        },\n        'aria-valid-attr-value': {\n          description: 'Ensure all ARIA attributes have valid values',\n          help: 'ARIA attributes must conform to valid values'\n        },\n        'aria-valid-attr': {\n          description: 'Ensure attributes that begin with aria- are valid ARIA attributes',\n          help: 'ARIA attributes must conform to valid names'\n        },\n        'audio-caption': {\n          description: 'Ensure <audio> elements have captions',\n          help: '<audio> elements must have a captions track'\n        },\n        'autocomplete-valid': {\n          description: 'Ensure the autocomplete attribute is correct and suitable for the form field',\n          help: 'autocomplete attribute must be used correctly'\n        },\n        'avoid-inline-spacing': {\n          description: 'Ensure that text spacing set through style attributes can be adjusted with custom stylesheets',\n          help: 'Inline text spacing must be adjustable with custom stylesheets'\n        },\n        blink: {\n          description: 'Ensure <blink> elements are not used',\n          help: '<blink> elements are deprecated and must not be used'\n        },\n        'button-name': {\n          description: 'Ensure buttons have discernible text',\n          help: 'Buttons must have discernible text'\n        },\n        bypass: {\n          description: 'Ensure each page has at least one mechanism for a user to bypass navigation and jump straight to the content',\n          help: 'Page must have means to bypass repeated blocks'\n        },\n        'color-contrast-enhanced': {\n          description: 'Ensure the contrast between foreground and background colors meets WCAG 2 AAA enhanced contrast ratio thresholds',\n          help: 'Elements must meet enhanced color contrast ratio thresholds'\n        },\n        'color-contrast': {\n          description: 'Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds',\n          help: 'Elements must meet minimum color contrast ratio thresholds'\n        },\n        'css-orientation-lock': {\n          description: 'Ensure content is not locked to any specific display orientation, and the content is operable in all display orientations',\n          help: 'CSS Media queries must not lock display orientation'\n        },\n        'definition-list': {\n          description: 'Ensure <dl> elements are structured correctly',\n          help: '<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements'\n        },\n        dlitem: {\n          description: 'Ensure <dt> and <dd> elements are contained by a <dl>',\n          help: '<dt> and <dd> elements must be contained by a <dl>'\n        },\n        'document-title': {\n          description: 'Ensure each HTML document contains a non-empty <title> element',\n          help: 'Documents must have <title> element to aid in navigation'\n        },\n        'duplicate-id-active': {\n          description: 'Ensure every id attribute value of active elements is unique',\n          help: 'IDs of active elements must be unique'\n        },\n        'duplicate-id-aria': {\n          description: 'Ensure every id attribute value used in ARIA and in labels is unique',\n          help: 'IDs used in ARIA and labels must be unique'\n        },\n        'duplicate-id': {\n          description: 'Ensure every id attribute value is unique',\n          help: 'id attribute value must be unique'\n        },\n        'empty-heading': {\n          description: 'Ensure headings have discernible text',\n          help: 'Headings should not be empty'\n        },\n        'empty-table-header': {\n          description: 'Ensure table headers have discernible text',\n          help: 'Table header text should not be empty'\n        },\n        'focus-order-semantics': {\n          description: 'Ensure elements in the focus order have a role appropriate for interactive content',\n          help: 'Elements in the focus order should have an appropriate role'\n        },\n        'form-field-multiple-labels': {\n          description: 'Ensure form field does not have multiple label elements',\n          help: 'Form field must not have multiple label elements'\n        },\n        'frame-focusable-content': {\n          description: 'Ensure <frame> and <iframe> elements with focusable content do not have tabindex=-1',\n          help: 'Frames with focusable content must not have tabindex=-1'\n        },\n        'frame-tested': {\n          description: 'Ensure <iframe> and <frame> elements contain the axe-core script',\n          help: 'Frames should be tested with axe-core'\n        },\n        'frame-title-unique': {\n          description: 'Ensure <iframe> and <frame> elements contain a unique title attribute',\n          help: 'Frames must have a unique title attribute'\n        },\n        'frame-title': {\n          description: 'Ensure <iframe> and <frame> elements have an accessible name',\n          help: 'Frames must have an accessible name'\n        },\n        'heading-order': {\n          description: 'Ensure the order of headings is semantically correct',\n          help: 'Heading levels should only increase by one'\n        },\n        'hidden-content': {\n          description: 'Inform users about hidden content.',\n          help: 'Hidden content on the page should be analyzed'\n        },\n        'html-has-lang': {\n          description: 'Ensure every HTML document has a lang attribute',\n          help: '<html> element must have a lang attribute'\n        },\n        'html-lang-valid': {\n          description: 'Ensure the lang attribute of the <html> element has a valid value',\n          help: '<html> element must have a valid value for the lang attribute'\n        },\n        'html-xml-lang-mismatch': {\n          description: 'Ensure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page',\n          help: 'HTML elements with lang and xml:lang must have the same base language'\n        },\n        'identical-links-same-purpose': {\n          description: 'Ensure that links with the same accessible name serve a similar purpose',\n          help: 'Links with the same name must have a similar purpose'\n        },\n        'image-alt': {\n          description: 'Ensure <img> elements have alternative text or a role of none or presentation',\n          help: 'Images must have alternative text'\n        },\n        'image-redundant-alt': {\n          description: 'Ensure image alternative is not repeated as text',\n          help: 'Alternative text of images should not be repeated as text'\n        },\n        'input-button-name': {\n          description: 'Ensure input buttons have discernible text',\n          help: 'Input buttons must have discernible text'\n        },\n        'input-image-alt': {\n          description: 'Ensure <input type=\"image\"> elements have alternative text',\n          help: 'Image buttons must have alternative text'\n        },\n        'label-content-name-mismatch': {\n          description: 'Ensure that elements labelled through their content must have their visible text as part of their accessible name',\n          help: 'Elements must have their visible text as part of their accessible name'\n        },\n        'label-title-only': {\n          description: 'Ensure that every form element has a visible label and is not solely labeled using hidden labels, or the title or aria-describedby attributes',\n          help: 'Form elements should have a visible label'\n        },\n        label: {\n          description: 'Ensure every form element has a label',\n          help: 'Form elements must have labels'\n        },\n        'landmark-banner-is-top-level': {\n          description: 'Ensure the banner landmark is at top level',\n          help: 'Banner landmark should not be contained in another landmark'\n        },\n        'landmark-complementary-is-top-level': {\n          description: 'Ensure the complementary landmark or aside is at top level',\n          help: 'Aside should not be contained in another landmark'\n        },\n        'landmark-contentinfo-is-top-level': {\n          description: 'Ensure the contentinfo landmark is at top level',\n          help: 'Contentinfo landmark should not be contained in another landmark'\n        },\n        'landmark-main-is-top-level': {\n          description: 'Ensure the main landmark is at top level',\n          help: 'Main landmark should not be contained in another landmark'\n        },\n        'landmark-no-duplicate-banner': {\n          description: 'Ensure the document has at most one banner landmark',\n          help: 'Document should not have more than one banner landmark'\n        },\n        'landmark-no-duplicate-contentinfo': {\n          description: 'Ensure the document has at most one contentinfo landmark',\n          help: 'Document should not have more than one contentinfo landmark'\n        },\n        'landmark-no-duplicate-main': {\n          description: 'Ensure the document has at most one main landmark',\n          help: 'Document should not have more than one main landmark'\n        },\n        'landmark-one-main': {\n          description: 'Ensure the document has a main landmark',\n          help: 'Document should have one main landmark'\n        },\n        'landmark-unique': {\n          description: 'Ensure landmarks are unique',\n          help: 'Landmarks should have a unique role or role/label/title (i.e. accessible name) combination'\n        },\n        'link-in-text-block': {\n          description: 'Ensure links are distinguished from surrounding text in a way that does not rely on color',\n          help: 'Links must be distinguishable without relying on color'\n        },\n        'link-name': {\n          description: 'Ensure links have discernible text',\n          help: 'Links must have discernible text'\n        },\n        list: {\n          description: 'Ensure that lists are structured correctly',\n          help: '<ul> and <ol> must only directly contain <li>, <script> or <template> elements'\n        },\n        listitem: {\n          description: 'Ensure <li> elements are used semantically',\n          help: '<li> elements must be contained in a <ul> or <ol>'\n        },\n        marquee: {\n          description: 'Ensure <marquee> elements are not used',\n          help: '<marquee> elements are deprecated and must not be used'\n        },\n        'meta-refresh-no-exceptions': {\n          description: 'Ensure <meta http-equiv=\"refresh\"> is not used for delayed refresh',\n          help: 'Delayed refresh must not be used'\n        },\n        'meta-refresh': {\n          description: 'Ensure <meta http-equiv=\"refresh\"> is not used for delayed refresh',\n          help: 'Delayed refresh under 20 hours must not be used'\n        },\n        'meta-viewport-large': {\n          description: 'Ensure <meta name=\"viewport\"> can scale a significant amount',\n          help: 'Users should be able to zoom and scale the text up to 500%'\n        },\n        'meta-viewport': {\n          description: 'Ensure <meta name=\"viewport\"> does not disable text scaling and zooming',\n          help: 'Zooming and scaling must not be disabled'\n        },\n        'nested-interactive': {\n          description: 'Ensure interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologies',\n          help: 'Interactive controls must not be nested'\n        },\n        'no-autoplay-audio': {\n          description: 'Ensure <video> or <audio> elements do not autoplay audio for more than 3 seconds without a control mechanism to stop or mute the audio',\n          help: '<video> or <audio> elements must not play automatically'\n        },\n        'object-alt': {\n          description: 'Ensure <object> elements have alternative text',\n          help: '<object> elements must have alternative text'\n        },\n        'p-as-heading': {\n          description: 'Ensure bold, italic text and font-size is not used to style <p> elements as a heading',\n          help: 'Styled <p> elements must not be used as headings'\n        },\n        'page-has-heading-one': {\n          description: 'Ensure that the page, or at least one of its frames contains a level-one heading',\n          help: 'Page should contain a level-one heading'\n        },\n        'presentation-role-conflict': {\n          description: 'Ensure elements marked as presentational do not have global ARIA or tabindex so that all screen readers ignore them',\n          help: 'Elements marked as presentational should be consistently ignored'\n        },\n        region: {\n          description: 'Ensure all page content is contained by landmarks',\n          help: 'All page content should be contained by landmarks'\n        },\n        'role-img-alt': {\n          description: 'Ensure [role=\"img\"] elements have alternative text',\n          help: '[role=\"img\"] elements must have alternative text'\n        },\n        'scope-attr-valid': {\n          description: 'Ensure the scope attribute is used correctly on tables',\n          help: 'scope attribute should be used correctly'\n        },\n        'scrollable-region-focusable': {\n          description: 'Ensure elements that have scrollable content are accessible by keyboard',\n          help: 'Scrollable region must have keyboard access'\n        },\n        'select-name': {\n          description: 'Ensure select element has an accessible name',\n          help: 'Select element must have an accessible name'\n        },\n        'server-side-image-map': {\n          description: 'Ensure that server-side image maps are not used',\n          help: 'Server-side image maps must not be used'\n        },\n        'skip-link': {\n          description: 'Ensure all skip links have a focusable target',\n          help: 'The skip-link target should exist and be focusable'\n        },\n        'summary-name': {\n          description: 'Ensure summary elements have discernible text',\n          help: 'Summary elements must have discernible text'\n        },\n        'svg-img-alt': {\n          description: 'Ensure <svg> elements with an img, graphics-document or graphics-symbol role have accessible text',\n          help: '<svg> elements with an img role must have alternative text'\n        },\n        tabindex: {\n          description: 'Ensure tabindex attribute values are not greater than 0',\n          help: 'Elements should not have tabindex greater than zero'\n        },\n        'table-duplicate-name': {\n          description: 'Ensure the <caption> element does not contain the same text as the summary attribute',\n          help: 'Tables should not have the same summary and caption'\n        },\n        'table-fake-caption': {\n          description: 'Ensure that tables with a caption use the <caption> element.',\n          help: 'Data or header cells must not be used to give caption to a data table.'\n        },\n        'target-size': {\n          description: 'Ensure touch targets have sufficient size and space',\n          help: 'All touch targets must be 24px large, or leave sufficient space'\n        },\n        'td-has-header': {\n          description: 'Ensure that each non-empty data cell in a <table> larger than 3 by 3  has one or more table headers',\n          help: 'Non-empty <td> elements in larger <table> must have an associated table header'\n        },\n        'td-headers-attr': {\n          description: 'Ensure that each cell in a table that uses the headers attribute refers only to other <th> elements in that table',\n          help: 'Table cell headers attributes must refer to other <th> elements in the same table'\n        },\n        'th-has-data-cells': {\n          description: 'Ensure that <th> elements and elements with role=columnheader/rowheader have data cells they describe',\n          help: 'Table headers in a data table must refer to data cells'\n        },\n        'valid-lang': {\n          description: 'Ensure lang attributes have valid values',\n          help: 'lang attribute must have a valid value'\n        },\n        'video-caption': {\n          description: 'Ensure <video> elements have captions',\n          help: '<video> elements must have captions'\n        }\n      },\n      checks: {\n        abstractrole: {\n          impact: 'serious',\n          messages: {\n            pass: 'Abstract roles are not used',\n            fail: {\n              singular: 'Abstract role cannot be directly used: ${data.values}',\n              plural: 'Abstract roles cannot be directly used: ${data.values}'\n            }\n          }\n        },\n        'aria-allowed-attr': {\n          impact: 'critical',\n          messages: {\n            pass: 'ARIA attributes are used correctly for the defined role',\n            fail: {\n              singular: 'ARIA attribute is not allowed: ${data.values}',\n              plural: 'ARIA attributes are not allowed: ${data.values}'\n            },\n            incomplete: 'Check that there is no problem if the ARIA attribute is ignored on this element: ${data.values}'\n          }\n        },\n        'aria-allowed-role': {\n          impact: 'minor',\n          messages: {\n            pass: 'ARIA role is allowed for given element',\n            fail: {\n              singular: 'ARIA role ${data.values} is not allowed for given element',\n              plural: 'ARIA roles ${data.values} are not allowed for given element'\n            },\n            incomplete: {\n              singular: 'ARIA role ${data.values} must be removed when the element is made visible, as it is not allowed for the element',\n              plural: 'ARIA roles ${data.values} must be removed when the element is made visible, as they are not allowed for the element'\n            }\n          }\n        },\n        'aria-busy': {\n          impact: 'serious',\n          messages: {\n            pass: 'Element has an aria-busy attribute',\n            fail: 'Element uses aria-busy=\"true\" while showing a loader'\n          }\n        },\n        'aria-conditional-attr': {\n          impact: 'serious',\n          messages: {\n            pass: 'ARIA attribute is allowed',\n            fail: {\n              checkbox: 'Remove aria-checked, or set it to \"${data.checkState}\" to match the real checkbox state',\n              rowSingular: 'This attribute is supported with treegrid rows, but not ${data.ownerRole}: ${data.invalidAttrs}',\n              rowPlural: 'These attributes are supported with treegrid rows, but not ${data.ownerRole}: ${data.invalidAttrs}'\n            }\n          }\n        },\n        'aria-errormessage': {\n          impact: 'critical',\n          messages: {\n            pass: 'aria-errormessage exists and references elements visible to screen readers that use a supported aria-errormessage technique',\n            fail: {\n              singular: 'aria-errormessage value `${data.values}` must use a technique to announce the message (e.g., aria-live, aria-describedby, role=alert, etc.)',\n              plural: 'aria-errormessage values `${data.values}` must use a technique to announce the message (e.g., aria-live, aria-describedby, role=alert, etc.)',\n              hidden: 'aria-errormessage value `${data.values}` cannot reference a hidden element'\n            },\n            incomplete: {\n              singular: 'Ensure aria-errormessage value `${data.values}` references an existing element',\n              plural: 'Ensure aria-errormessage values `${data.values}` reference existing elements',\n              idrefs: 'Unable to determine if aria-errormessage element exists on the page: ${data.values}'\n            }\n          }\n        },\n        'aria-hidden-body': {\n          impact: 'critical',\n          messages: {\n            pass: 'No aria-hidden attribute is present on document body',\n            fail: 'aria-hidden=true should not be present on the document body'\n          }\n        },\n        'aria-level': {\n          impact: 'serious',\n          messages: {\n            pass: 'aria-level values are valid',\n            incomplete: 'aria-level values greater than 6 are not supported in all screenreader and browser combinations'\n          }\n        },\n        'aria-prohibited-attr': {\n          impact: 'serious',\n          messages: {\n            pass: 'ARIA attribute is allowed',\n            fail: {\n              hasRolePlural: '${data.prohibited} attributes cannot be used with role \"${data.role}\".',\n              hasRoleSingular: '${data.prohibited} attribute cannot be used with role \"${data.role}\".',\n              noRolePlural: '${data.prohibited} attributes cannot be used on a ${data.nodeName} with no valid role attribute.',\n              noRoleSingular: '${data.prohibited} attribute cannot be used on a ${data.nodeName} with no valid role attribute.'\n            },\n            incomplete: {\n              hasRoleSingular: '${data.prohibited} attribute is not well supported with role \"${data.role}\".',\n              hasRolePlural: '${data.prohibited} attributes are not well supported with role \"${data.role}\".',\n              noRoleSingular: '${data.prohibited} attribute is not well supported on a ${data.nodeName} with no valid role attribute.',\n              noRolePlural: '${data.prohibited} attributes are not well supported on a ${data.nodeName} with no valid role attribute.'\n            }\n          }\n        },\n        'aria-required-attr': {\n          impact: 'critical',\n          messages: {\n            pass: 'All required ARIA attributes are present',\n            fail: {\n              singular: 'Required ARIA attribute not present: ${data.values}',\n              plural: 'Required ARIA attributes not present: ${data.values}'\n            }\n          }\n        },\n        'aria-required-children': {\n          impact: 'critical',\n          messages: {\n            pass: {\n              default: 'Required ARIA children are present',\n              'aria-busy': 'Element has an aria-busy attribute, so it is allowed to omit required children'\n            },\n            fail: {\n              singular: 'Required ARIA child role not present: ${data.values}',\n              plural: 'Required ARIA children role not present: ${data.values}',\n              unallowed: 'Element has children which are not allowed: ${data.values}'\n            },\n            incomplete: {\n              singular: 'Expecting ARIA child role to be added: ${data.values}',\n              plural: 'Expecting ARIA children role to be added: ${data.values}'\n            }\n          }\n        },\n        'aria-required-parent': {\n          impact: 'critical',\n          messages: {\n            pass: 'Required ARIA parent role present',\n            fail: {\n              singular: 'Required ARIA parent role not present: ${data.values}',\n              plural: 'Required ARIA parents role not present: ${data.values}'\n            }\n          }\n        },\n        'aria-roledescription': {\n          impact: 'serious',\n          messages: {\n            pass: 'aria-roledescription used on a supported semantic role',\n            incomplete: 'Check that the aria-roledescription is announced by supported screen readers',\n            fail: 'Give the element a role that supports aria-roledescription'\n          }\n        },\n        'aria-unsupported-attr': {\n          impact: 'critical',\n          messages: {\n            pass: 'ARIA attribute is supported',\n            fail: 'ARIA attribute is not widely supported in screen readers and assistive technologies: ${data.values}'\n          }\n        },\n        'aria-valid-attr-value': {\n          impact: 'critical',\n          messages: {\n            pass: 'ARIA attribute values are valid',\n            fail: {\n              singular: 'Invalid ARIA attribute value: ${data.values}',\n              plural: 'Invalid ARIA attribute values: ${data.values}'\n            },\n            incomplete: {\n              noId: 'ARIA attribute element ID does not exist on the page: ${data.needsReview}',\n              noIdShadow: 'ARIA attribute element ID does not exist on the page or is a descendant of a different shadow DOM tree: ${data.needsReview}',\n              ariaCurrent: 'ARIA attribute value is invalid and will be treated as \"aria-current=true\": ${data.needsReview}',\n              idrefs: 'Unable to determine if ARIA attribute element ID exists on the page: ${data.needsReview}',\n              empty: 'ARIA attribute value is ignored while empty: ${data.needsReview}',\n              controlsWithinPopup: 'Unable to determine if aria-controls referenced ID exists on the page while using aria-haspopup: ${data.needsReview}'\n            }\n          }\n        },\n        'aria-valid-attr': {\n          impact: 'critical',\n          messages: {\n            pass: 'ARIA attribute name is valid',\n            fail: {\n              singular: 'Invalid ARIA attribute name: ${data.values}',\n              plural: 'Invalid ARIA attribute names: ${data.values}'\n            }\n          }\n        },\n        'braille-label-equivalent': {\n          impact: 'serious',\n          messages: {\n            pass: 'aria-braillelabel is used on an element with accessible text',\n            fail: 'aria-braillelabel is used on an element with no accessible text',\n            incomplete: 'Unable to compute accessible text'\n          }\n        },\n        'braille-roledescription-equivalent': {\n          impact: 'serious',\n          messages: {\n            pass: 'aria-brailleroledescription is used on an element with aria-roledescription',\n            fail: {\n              noRoleDescription: 'aria-brailleroledescription is used on an element with no aria-roledescription',\n              emptyRoleDescription: 'aria-brailleroledescription is used on an element with an empty aria-roledescription'\n            }\n          }\n        },\n        deprecatedrole: {\n          impact: 'minor',\n          messages: {\n            pass: 'ARIA role is not deprecated',\n            fail: 'The role used is deprecated: ${data}'\n          }\n        },\n        fallbackrole: {\n          impact: 'serious',\n          messages: {\n            pass: 'Only one role value used',\n            fail: 'Use only one role value, since fallback roles are not supported in older browsers',\n            incomplete: 'Use only role \\'presentation\\' or \\'none\\' since they are synonymous.'\n          }\n        },\n        'has-global-aria-attribute': {\n          impact: 'minor',\n          messages: {\n            pass: {\n              singular: 'Element has global ARIA attribute: ${data.values}',\n              plural: 'Element has global ARIA attributes: ${data.values}'\n            },\n            fail: 'Element does not have global ARIA attribute'\n          }\n        },\n        'has-widget-role': {\n          impact: 'minor',\n          messages: {\n            pass: 'Element has a widget role.',\n            fail: 'Element does not have a widget role.'\n          }\n        },\n        invalidrole: {\n          impact: 'critical',\n          messages: {\n            pass: 'ARIA role is valid',\n            fail: {\n              singular: 'Role must be one of the valid ARIA roles: ${data.values}',\n              plural: 'Roles must be one of the valid ARIA roles: ${data.values}'\n            }\n          }\n        },\n        'is-element-focusable': {\n          impact: 'minor',\n          messages: {\n            pass: 'Element is focusable.',\n            fail: 'Element is not focusable.'\n          }\n        },\n        'no-implicit-explicit-label': {\n          impact: 'serious',\n          messages: {\n            pass: 'There is no mismatch between a <label> and accessible name',\n            incomplete: 'Check that the <label> does not need be part of the ARIA ${data} field\\'s name'\n          }\n        },\n        unsupportedrole: {\n          impact: 'critical',\n          messages: {\n            pass: 'ARIA role is supported',\n            fail: 'The role used is not widely supported in screen readers and assistive technologies: ${data}'\n          }\n        },\n        'valid-scrollable-semantics': {\n          impact: 'minor',\n          messages: {\n            pass: 'Element has valid semantics for an element in the focus order.',\n            fail: 'Element has invalid semantics for an element in the focus order.'\n          }\n        },\n        'color-contrast-enhanced': {\n          impact: 'serious',\n          messages: {\n            pass: 'Element has sufficient color contrast of ${data.contrastRatio}',\n            fail: {\n              default: 'Element has insufficient color contrast of ${data.contrastRatio} (foreground color: ${data.fgColor}, background color: ${data.bgColor}, font size: ${data.fontSize}, font weight: ${data.fontWeight}). Expected contrast ratio of ${data.expectedContrastRatio}',\n              fgOnShadowColor: 'Element has insufficient color contrast of ${data.contrastRatio} between the foreground and shadow color (foreground color: ${data.fgColor}, text-shadow color: ${data.shadowColor}, font size: ${data.fontSize}, font weight: ${data.fontWeight}). Expected contrast ratio of ${data.expectedContrastRatio}',\n              shadowOnBgColor: 'Element has insufficient color contrast of ${data.contrastRatio} between the shadow color and background color (text-shadow color: ${data.shadowColor}, background color: ${data.bgColor}, font size: ${data.fontSize}, font weight: ${data.fontWeight}). Expected contrast ratio of ${data.expectedContrastRatio}'\n            },\n            incomplete: {\n              default: 'Unable to determine contrast ratio',\n              bgImage: 'Element\\'s background color could not be determined due to a background image',\n              bgGradient: 'Element\\'s background color could not be determined due to a background gradient',\n              imgNode: 'Element\\'s background color could not be determined because element contains an image node',\n              bgOverlap: 'Element\\'s background color could not be determined because it is overlapped by another element',\n              fgAlpha: 'Element\\'s foreground color could not be determined because of alpha transparency',\n              elmPartiallyObscured: 'Element\\'s background color could not be determined because it\\'s partially obscured by another element',\n              elmPartiallyObscuring: 'Element\\'s background color could not be determined because it partially overlaps other elements',\n              outsideViewport: 'Element\\'s background color could not be determined because it\\'s outside the viewport',\n              equalRatio: 'Element has a 1:1 contrast ratio with the background',\n              shortTextContent: 'Element content is too short to determine if it is actual text content',\n              nonBmp: 'Element content contains only non-text characters',\n              pseudoContent: 'Element\\'s background color could not be determined due to a pseudo element'\n            }\n          }\n        },\n        'color-contrast': {\n          impact: 'serious',\n          messages: {\n            pass: {\n              default: 'Element has sufficient color contrast of ${data.contrastRatio}',\n              hidden: 'Element is hidden'\n            },\n            fail: {\n              default: 'Element has insufficient color contrast of ${data.contrastRatio} (foreground color: ${data.fgColor}, background color: ${data.bgColor}, font size: ${data.fontSize}, font weight: ${data.fontWeight}). Expected contrast ratio of ${data.expectedContrastRatio}',\n              fgOnShadowColor: 'Element has insufficient color contrast of ${data.contrastRatio} between the foreground and shadow color (foreground color: ${data.fgColor}, text-shadow color: ${data.shadowColor}, font size: ${data.fontSize}, font weight: ${data.fontWeight}). Expected contrast ratio of ${data.expectedContrastRatio}',\n              shadowOnBgColor: 'Element has insufficient color contrast of ${data.contrastRatio} between the shadow color and background color (text-shadow color: ${data.shadowColor}, background color: ${data.bgColor}, font size: ${data.fontSize}, font weight: ${data.fontWeight}). Expected contrast ratio of ${data.expectedContrastRatio}'\n            },\n            incomplete: {\n              default: 'Unable to determine contrast ratio',\n              bgImage: 'Element\\'s background color could not be determined due to a background image',\n              bgGradient: 'Element\\'s background color could not be determined due to a background gradient',\n              imgNode: 'Element\\'s background color could not be determined because element contains an image node',\n              bgOverlap: 'Element\\'s background color could not be determined because it is overlapped by another element',\n              complexTextShadows: 'Element\\'s contrast could not be determined because it uses complex text shadows',\n              fgAlpha: 'Element\\'s foreground color could not be determined because of alpha transparency',\n              elmPartiallyObscured: 'Element\\'s background color could not be determined because it\\'s partially obscured by another element',\n              elmPartiallyObscuring: 'Element\\'s background color could not be determined because it partially overlaps other elements',\n              outsideViewport: 'Element\\'s background color could not be determined because it\\'s outside the viewport',\n              equalRatio: 'Element has a 1:1 contrast ratio with the background',\n              shortTextContent: 'Element content is too short to determine if it is actual text content',\n              nonBmp: 'Element content contains only non-text characters',\n              pseudoContent: 'Element\\'s background color could not be determined due to a pseudo element'\n            }\n          }\n        },\n        'link-in-text-block-style': {\n          impact: 'serious',\n          messages: {\n            pass: 'Links can be distinguished from surrounding text by visual styling',\n            incomplete: {\n              default: 'Check if the link needs styling to distinguish it from nearby text',\n              pseudoContent: 'Check if the link\\'s pseudo style is sufficient to distinguish it from the surrounding text'\n            },\n            fail: 'The link has no styling (such as underline) to distinguish it from the surrounding text'\n          }\n        },\n        'link-in-text-block': {\n          impact: 'serious',\n          messages: {\n            pass: 'Links can be distinguished from surrounding text in some way other than by color',\n            fail: {\n              fgContrast: 'The link has insufficient color contrast of ${data.contrastRatio}:1 with the surrounding text. (Minimum contrast is ${data.requiredContrastRatio}:1, link text: ${data.nodeColor}, surrounding text: ${data.parentColor})',\n              bgContrast: 'The link background has insufficient color contrast of ${data.contrastRatio} (Minimum contrast is ${data.requiredContrastRatio}:1, link background color: ${data.nodeBackgroundColor}, surrounding background color: ${data.parentBackgroundColor})'\n            },\n            incomplete: {\n              default: 'Element\\'s foreground contrast ratio could not be determined',\n              bgContrast: 'Element\\'s background contrast ratio could not be determined',\n              bgImage: 'Element\\'s contrast ratio could not be determined due to a background image',\n              bgGradient: 'Element\\'s contrast ratio could not be determined due to a background gradient',\n              imgNode: 'Element\\'s contrast ratio could not be determined because element contains an image node',\n              bgOverlap: 'Element\\'s contrast ratio could not be determined because of element overlap'\n            }\n          }\n        },\n        'autocomplete-appropriate': {\n          impact: 'serious',\n          messages: {\n            pass: 'The autocomplete value is on an appropriate element',\n            fail: 'The autocomplete value is inappropriate for this type of input'\n          }\n        },\n        'autocomplete-valid': {\n          impact: 'serious',\n          messages: {\n            pass: 'the autocomplete attribute is correctly formatted',\n            fail: 'the autocomplete attribute is incorrectly formatted',\n            incomplete: 'the autocomplete attribute has a non-standard value. Check whether any standard value could be used instead.'\n          }\n        },\n        accesskeys: {\n          impact: 'serious',\n          messages: {\n            pass: 'Accesskey attribute value is unique',\n            fail: 'Document has multiple elements with the same accesskey'\n          }\n        },\n        'focusable-content': {\n          impact: 'serious',\n          messages: {\n            pass: 'Element contains focusable elements',\n            fail: 'Element should have focusable content'\n          }\n        },\n        'focusable-disabled': {\n          impact: 'serious',\n          messages: {\n            pass: 'No focusable elements contained within element',\n            incomplete: 'Check if the focusable elements immediately move the focus indicator',\n            fail: 'Focusable content should be disabled or be removed from the DOM'\n          }\n        },\n        'focusable-element': {\n          impact: 'serious',\n          messages: {\n            pass: 'Element is focusable',\n            fail: 'Element should be focusable'\n          }\n        },\n        'focusable-modal-open': {\n          impact: 'serious',\n          messages: {\n            pass: 'No focusable elements while a modal is open',\n            incomplete: 'Check that focusable elements are not tabbable in the current state'\n          }\n        },\n        'focusable-no-name': {\n          impact: 'serious',\n          messages: {\n            pass: 'Element is not in tab order or has accessible text',\n            fail: 'Element is in tab order and does not have accessible text',\n            incomplete: 'Unable to determine if element has an accessible name'\n          }\n        },\n        'focusable-not-tabbable': {\n          impact: 'serious',\n          messages: {\n            pass: 'No focusable elements contained within element',\n            incomplete: 'Check if the focusable elements immediately move the focus indicator',\n            fail: 'Focusable content should have tabindex=\"-1\" or be removed from the DOM'\n          }\n        },\n        'frame-focusable-content': {\n          impact: 'serious',\n          messages: {\n            pass: 'Element does not have focusable descendants',\n            fail: 'Element has focusable descendants',\n            incomplete: 'Could not determine if element has descendants'\n          }\n        },\n        'landmark-is-top-level': {\n          impact: 'moderate',\n          messages: {\n            pass: 'The ${data.role} landmark is at the top level.',\n            fail: 'The ${data.role} landmark is contained in another landmark.'\n          }\n        },\n        'no-focusable-content': {\n          impact: 'serious',\n          messages: {\n            pass: 'Element does not have focusable descendants',\n            fail: {\n              default: 'Element has focusable descendants',\n              notHidden: 'Using a negative tabindex on an element inside an interactive control does not prevent assistive technologies from focusing the element (even with aria-hidden=\"true\")'\n            },\n            incomplete: 'Could not determine if element has descendants'\n          }\n        },\n        'page-has-heading-one': {\n          impact: 'moderate',\n          messages: {\n            pass: 'Page has at least one level-one heading',\n            fail: 'Page must have a level-one heading'\n          }\n        },\n        'page-has-main': {\n          impact: 'moderate',\n          messages: {\n            pass: 'Document has at least one main landmark',\n            fail: 'Document does not have a main landmark'\n          }\n        },\n        'page-no-duplicate-banner': {\n          impact: 'moderate',\n          messages: {\n            pass: 'Document does not have more than one banner landmark',\n            fail: 'Document has more than one banner landmark'\n          }\n        },\n        'page-no-duplicate-contentinfo': {\n          impact: 'moderate',\n          messages: {\n            pass: 'Document does not have more than one contentinfo landmark',\n            fail: 'Document has more than one contentinfo landmark'\n          }\n        },\n        'page-no-duplicate-main': {\n          impact: 'moderate',\n          messages: {\n            pass: 'Document does not have more than one main landmark',\n            fail: 'Document has more than one main landmark'\n          }\n        },\n        tabindex: {\n          impact: 'serious',\n          messages: {\n            pass: 'Element does not have a tabindex greater than 0',\n            fail: 'Element has a tabindex greater than 0'\n          }\n        },\n        'alt-space-value': {\n          impact: 'critical',\n          messages: {\n            pass: 'Element has a valid alt attribute value',\n            fail: 'Element has an alt attribute containing only a space character, which is not ignored by all screen readers'\n          }\n        },\n        'duplicate-img-label': {\n          impact: 'minor',\n          messages: {\n            pass: 'Element does not duplicate existing text in <img> alt text',\n            fail: 'Element contains <img> element with alt text that duplicates existing text'\n          }\n        },\n        'explicit-label': {\n          impact: 'critical',\n          messages: {\n            pass: 'Element has an explicit <label>',\n            fail: 'Element does not have an explicit <label>',\n            incomplete: 'Unable to determine if form element has an explicit <label>'\n          }\n        },\n        'help-same-as-label': {\n          impact: 'minor',\n          messages: {\n            pass: 'Help text (title or aria-describedby) does not duplicate label text',\n            fail: 'Help text (title or aria-describedby) text is the same as the label text'\n          }\n        },\n        'hidden-explicit-label': {\n          impact: 'critical',\n          messages: {\n            pass: 'Form element has a visible explicit <label>',\n            fail: 'Form element has explicit <label> that is hidden',\n            incomplete: 'Unable to determine if form element has explicit <label> that is hidden'\n          }\n        },\n        'implicit-label': {\n          impact: 'critical',\n          messages: {\n            pass: 'Element has an implicit (wrapped) <label>',\n            fail: 'Element does not have an implicit (wrapped) <label>',\n            incomplete: 'Unable to determine if form element has an implicit (wrapped) <label>'\n          }\n        },\n        'label-content-name-mismatch': {\n          impact: 'serious',\n          messages: {\n            pass: 'Element contains visible text as part of it\\'s accessible name',\n            fail: 'Text inside the element is not included in the accessible name'\n          }\n        },\n        'multiple-label': {\n          impact: 'moderate',\n          messages: {\n            pass: 'Form field does not have multiple label elements',\n            incomplete: 'Multiple label elements is not widely supported in assistive technologies. Ensure the first label contains all necessary information.'\n          }\n        },\n        'title-only': {\n          impact: 'serious',\n          messages: {\n            pass: 'Form element does not solely use title attribute for its label',\n            fail: 'Only title used to generate label for form element'\n          }\n        },\n        'landmark-is-unique': {\n          impact: 'moderate',\n          messages: {\n            pass: 'Landmarks must have a unique role or role/label/title (i.e. accessible name) combination',\n            fail: 'The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable'\n          }\n        },\n        'has-lang': {\n          impact: 'serious',\n          messages: {\n            pass: 'The <html> element has a lang attribute',\n            fail: {\n              noXHTML: 'The xml:lang attribute is not valid on HTML pages, use the lang attribute.',\n              noLang: 'The <html> element does not have a lang attribute'\n            }\n          }\n        },\n        'valid-lang': {\n          impact: 'serious',\n          messages: {\n            pass: 'Value of lang attribute is included in the list of valid languages',\n            fail: 'Value of lang attribute not included in the list of valid languages'\n          }\n        },\n        'xml-lang-mismatch': {\n          impact: 'moderate',\n          messages: {\n            pass: 'Lang and xml:lang attributes have the same base language',\n            fail: 'Lang and xml:lang attributes do not have the same base language'\n          }\n        },\n        dlitem: {\n          impact: 'serious',\n          messages: {\n            pass: 'Description list item has a <dl> parent element',\n            fail: 'Description list item does not have a <dl> parent element'\n          }\n        },\n        listitem: {\n          impact: 'serious',\n          messages: {\n            pass: 'List item has a <ul>, <ol> or role=\"list\" parent element',\n            fail: {\n              default: 'List item does not have a <ul>, <ol> parent element',\n              roleNotValid: 'List item parent element has a role that is not role=\"list\"'\n            }\n          }\n        },\n        'only-dlitems': {\n          impact: 'serious',\n          messages: {\n            pass: 'dl element only has direct children that are allowed inside; <dt>, <dd>, or <div> elements',\n            fail: 'dl element has direct children that are not allowed: ${data.values}'\n          }\n        },\n        'only-listitems': {\n          impact: 'serious',\n          messages: {\n            pass: 'List element only has direct children that are allowed inside <li> elements',\n            fail: 'List element has direct children that are not allowed: ${data.values}'\n          }\n        },\n        'structured-dlitems': {\n          impact: 'serious',\n          messages: {\n            pass: 'When not empty, element has both <dt> and <dd> elements',\n            fail: 'When not empty, element does not have at least one <dt> element followed by at least one <dd> element'\n          }\n        },\n        caption: {\n          impact: 'critical',\n          messages: {\n            pass: 'The multimedia element has a captions track',\n            incomplete: 'Check that captions are available for the element'\n          }\n        },\n        'frame-tested': {\n          impact: 'critical',\n          messages: {\n            pass: 'The iframe was tested with axe-core',\n            fail: 'The iframe could not be tested with axe-core',\n            incomplete: 'The iframe still has to be tested with axe-core'\n          }\n        },\n        'no-autoplay-audio': {\n          impact: 'moderate',\n          messages: {\n            pass: '<video> or <audio> does not output audio for more than allowed duration or has controls mechanism',\n            fail: '<video> or <audio> outputs audio for more than allowed duration and does not have a controls mechanism',\n            incomplete: 'Check that the <video> or <audio> does not output audio for more than allowed duration or provides a controls mechanism'\n          }\n        },\n        'css-orientation-lock': {\n          impact: 'serious',\n          messages: {\n            pass: 'Display is operable, and orientation lock does not exist',\n            fail: 'CSS Orientation lock is applied, and makes display inoperable',\n            incomplete: 'CSS Orientation lock cannot be determined'\n          }\n        },\n        'meta-viewport-large': {\n          impact: 'minor',\n          messages: {\n            pass: '<meta> tag does not prevent significant zooming on mobile devices',\n            fail: '<meta> tag limits zooming on mobile devices'\n          }\n        },\n        'meta-viewport': {\n          impact: 'critical',\n          messages: {\n            pass: '<meta> tag does not disable zooming on mobile devices',\n            fail: '${data} on <meta> tag disables zooming on mobile devices'\n          }\n        },\n        'target-offset': {\n          impact: 'serious',\n          messages: {\n            pass: {\n              default: 'Target has sufficient space from its closest neighbors. Safe clickable space has a diameter of ${data.closestOffset}px which is at least ${data.minOffset}px.',\n              large: 'Target far exceeds the minimum size of ${data.minOffset}px.'\n            },\n            fail: 'Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of ${data.closestOffset}px instead of at least ${data.minOffset}px.',\n            incomplete: {\n              default: 'Element with negative tabindex has insufficient space to its closest neighbors. Safe clickable space has a diameter of ${data.closestOffset}px instead of at least ${data.minOffset}px. Is this a target?',\n              nonTabbableNeighbor: 'Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of ${data.closestOffset}px instead of at least ${data.minOffset}px. Is the neighbor a target?',\n              tooManyRects: 'Could not get the target size because there are too many overlapping elements'\n            }\n          }\n        },\n        'target-size': {\n          impact: 'serious',\n          messages: {\n            pass: {\n              default: 'Control has sufficient size (${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px)',\n              obscured: 'Control is ignored because it is fully obscured and thus not clickable',\n              large: 'Target far exceeds the minimum size of ${data.minSize}px.'\n            },\n            fail: {\n              default: 'Target has insufficient size (${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px)',\n              partiallyObscured: 'Target has insufficient size because it is partially obscured (smallest space is ${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px)'\n            },\n            incomplete: {\n              default: 'Element with negative tabindex has insufficient size (${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px). Is this a target?',\n              contentOverflow: 'Element size could not be accurately determined due to overflow content',\n              partiallyObscured: 'Element with negative tabindex has insufficient size because it is partially obscured (smallest space is ${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px). Is this a target?',\n              partiallyObscuredNonTabbable: 'Target has insufficient size because it is partially obscured by a neighbor with negative tabindex (smallest space is ${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px). Is the neighbor a target?',\n              tooManyRects: 'Could not get the target size because there are too many overlapping elements'\n            }\n          }\n        },\n        'header-present': {\n          impact: 'serious',\n          messages: {\n            pass: 'Page has a heading',\n            fail: 'Page does not have a heading'\n          }\n        },\n        'heading-order': {\n          impact: 'moderate',\n          messages: {\n            pass: 'Heading order valid',\n            fail: 'Heading order invalid',\n            incomplete: 'Unable to determine previous heading'\n          }\n        },\n        'identical-links-same-purpose': {\n          impact: 'minor',\n          messages: {\n            pass: 'There are no other links with the same name, that go to a different URL',\n            incomplete: 'Check that links have the same purpose, or are intentionally ambiguous.'\n          }\n        },\n        'internal-link-present': {\n          impact: 'serious',\n          messages: {\n            pass: 'Valid skip link found',\n            fail: 'No valid skip link found'\n          }\n        },\n        landmark: {\n          impact: 'serious',\n          messages: {\n            pass: 'Page has a landmark region',\n            fail: 'Page does not have a landmark region'\n          }\n        },\n        'meta-refresh-no-exceptions': {\n          impact: 'minor',\n          messages: {\n            pass: '<meta> tag does not immediately refresh the page',\n            fail: '<meta> tag forces timed refresh of page'\n          }\n        },\n        'meta-refresh': {\n          impact: 'critical',\n          messages: {\n            pass: '<meta> tag does not immediately refresh the page',\n            fail: '<meta> tag forces timed refresh of page (less than 20 hours)'\n          }\n        },\n        'p-as-heading': {\n          impact: 'serious',\n          messages: {\n            pass: '<p> elements are not styled as headings',\n            fail: 'Heading elements should be used instead of styled <p> elements',\n            incomplete: 'Unable to determine if <p> elements are styled as headings'\n          }\n        },\n        region: {\n          impact: 'moderate',\n          messages: {\n            pass: 'All page content is contained by landmarks',\n            fail: 'Some page content is not contained by landmarks'\n          }\n        },\n        'skip-link': {\n          impact: 'moderate',\n          messages: {\n            pass: 'Skip link target exists',\n            incomplete: 'Skip link target should become visible on activation',\n            fail: 'No skip link target'\n          }\n        },\n        'unique-frame-title': {\n          impact: 'serious',\n          messages: {\n            pass: 'Element\\'s title attribute is unique',\n            fail: 'Element\\'s title attribute is not unique'\n          }\n        },\n        'duplicate-id-active': {\n          impact: 'serious',\n          messages: {\n            pass: 'Document has no active elements that share the same id attribute',\n            fail: 'Document has active elements with the same id attribute: ${data}'\n          }\n        },\n        'duplicate-id-aria': {\n          impact: 'critical',\n          messages: {\n            pass: 'Document has no elements referenced with ARIA or labels that share the same id attribute',\n            fail: 'Document has multiple elements referenced with ARIA with the same id attribute: ${data}'\n          }\n        },\n        'duplicate-id': {\n          impact: 'minor',\n          messages: {\n            pass: 'Document has no static elements that share the same id attribute',\n            fail: 'Document has multiple static elements with the same id attribute: ${data}'\n          }\n        },\n        'aria-label': {\n          impact: 'serious',\n          messages: {\n            pass: 'aria-label attribute exists and is not empty',\n            fail: 'aria-label attribute does not exist or is empty'\n          }\n        },\n        'aria-labelledby': {\n          impact: 'serious',\n          messages: {\n            pass: 'aria-labelledby attribute exists and references elements that are visible to screen readers',\n            fail: 'aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty',\n            incomplete: 'Ensure aria-labelledby references an existing element'\n          }\n        },\n        'avoid-inline-spacing': {\n          impact: 'serious',\n          messages: {\n            pass: 'No inline styles with \\'!important\\' that affect text spacing has been specified',\n            fail: {\n              singular: 'Remove \\'!important\\' from inline style ${data.values}, as overriding this is not supported by most browsers',\n              plural: 'Remove \\'!important\\' from inline styles ${data.values}, as overriding this is not supported by most browsers'\n            }\n          }\n        },\n        'button-has-visible-text': {\n          impact: 'critical',\n          messages: {\n            pass: 'Element has inner text that is visible to screen readers',\n            fail: 'Element does not have inner text that is visible to screen readers',\n            incomplete: 'Unable to determine if element has children'\n          }\n        },\n        'doc-has-title': {\n          impact: 'serious',\n          messages: {\n            pass: 'Document has a non-empty <title> element',\n            fail: 'Document does not have a non-empty <title> element'\n          }\n        },\n        'error-occurred': {\n          messages: {\n            pass: '',\n            incomplete: 'Axe encountered an error; test the page for this type of problem manually'\n          }\n        },\n        exists: {\n          impact: 'minor',\n          messages: {\n            pass: 'Element does not exist',\n            incomplete: 'Element exists'\n          }\n        },\n        'has-alt': {\n          impact: 'critical',\n          messages: {\n            pass: 'Element has an alt attribute',\n            fail: 'Element does not have an alt attribute'\n          }\n        },\n        'has-visible-text': {\n          impact: 'minor',\n          messages: {\n            pass: 'Element has text that is visible to screen readers',\n            fail: 'Element does not have text that is visible to screen readers',\n            incomplete: 'Unable to determine if element has children'\n          }\n        },\n        'important-letter-spacing': {\n          impact: 'serious',\n          messages: {\n            pass: 'Letter-spacing in the style attribute is not set to !important, or meets the minimum',\n            fail: 'letter-spacing in the style attribute must not use !important, or be at ${data.minValue}em (current ${data.value}em)'\n          }\n        },\n        'important-line-height': {\n          impact: 'serious',\n          messages: {\n            pass: 'line-height in the style attribute is not set to !important, or meets the minimum',\n            fail: 'line-height in the style attribute must not use !important, or be at ${data.minValue}em (current ${data.value}em)'\n          }\n        },\n        'important-word-spacing': {\n          impact: 'serious',\n          messages: {\n            pass: 'word-spacing in the style attribute is not set to !important, or meets the minimum',\n            fail: 'word-spacing in the style attribute must not use !important, or be at ${data.minValue}em (current ${data.value}em)'\n          }\n        },\n        'is-on-screen': {\n          impact: 'serious',\n          messages: {\n            pass: 'Element is not visible',\n            fail: 'Element is visible'\n          }\n        },\n        'non-empty-alt': {\n          impact: 'critical',\n          messages: {\n            pass: 'Element has a non-empty alt attribute',\n            fail: {\n              noAttr: 'Element has no alt attribute',\n              emptyAttr: 'Element has an empty alt attribute'\n            }\n          }\n        },\n        'non-empty-if-present': {\n          impact: 'critical',\n          messages: {\n            pass: {\n              default: 'Element does not have a value attribute',\n              'has-label': 'Element has a non-empty value attribute'\n            },\n            fail: 'Element has a value attribute and the value attribute is empty'\n          }\n        },\n        'non-empty-placeholder': {\n          impact: 'serious',\n          messages: {\n            pass: 'Element has a placeholder attribute',\n            fail: {\n              noAttr: 'Element has no placeholder attribute',\n              emptyAttr: 'Element has an empty placeholder attribute'\n            }\n          }\n        },\n        'non-empty-title': {\n          impact: 'serious',\n          messages: {\n            pass: 'Element has a title attribute',\n            fail: {\n              noAttr: 'Element has no title attribute',\n              emptyAttr: 'Element has an empty title attribute'\n            }\n          }\n        },\n        'non-empty-value': {\n          impact: 'critical',\n          messages: {\n            pass: 'Element has a non-empty value attribute',\n            fail: {\n              noAttr: 'Element has no value attribute',\n              emptyAttr: 'Element has an empty value attribute'\n            }\n          }\n        },\n        'presentational-role': {\n          impact: 'minor',\n          messages: {\n            pass: 'Element\\'s default semantics were overridden with role=\"${data.role}\"',\n            fail: {\n              default: 'Element\\'s default semantics were not overridden with role=\"none\" or role=\"presentation\"',\n              globalAria: 'Element\\'s role is not presentational because it has a global ARIA attribute',\n              focusable: 'Element\\'s role is not presentational because it is focusable',\n              both: 'Element\\'s role is not presentational because it has a global ARIA attribute and is focusable',\n              iframe: 'Using the \"title\" attribute on an ${data.nodeName} element with a presentational role behaves inconsistently between screen readers'\n            }\n          }\n        },\n        'role-none': {\n          impact: 'minor',\n          messages: {\n            pass: 'Element\\'s default semantics were overridden with role=\"none\"',\n            fail: 'Element\\'s default semantics were not overridden with role=\"none\"'\n          }\n        },\n        'role-presentation': {\n          impact: 'minor',\n          messages: {\n            pass: 'Element\\'s default semantics were overridden with role=\"presentation\"',\n            fail: 'Element\\'s default semantics were not overridden with role=\"presentation\"'\n          }\n        },\n        'svg-non-empty-title': {\n          impact: 'serious',\n          messages: {\n            pass: 'Element has a child that is a title',\n            fail: {\n              noTitle: 'Element has no child that is a title',\n              emptyTitle: 'Element child title is empty'\n            },\n            incomplete: 'Unable to determine element has a child that is a title'\n          }\n        },\n        'caption-faked': {\n          impact: 'serious',\n          messages: {\n            pass: 'The first row of a table is not used as a caption',\n            fail: 'The first child of the table should be a caption instead of a table cell'\n          }\n        },\n        'html5-scope': {\n          impact: 'moderate',\n          messages: {\n            pass: 'Scope attribute is only used on table header elements (<th>)',\n            fail: 'In HTML 5, scope attributes may only be used on table header elements (<th>)'\n          }\n        },\n        'same-caption-summary': {\n          impact: 'minor',\n          messages: {\n            pass: 'Content of summary attribute and <caption> are not duplicated',\n            fail: 'Content of summary attribute and <caption> element are identical',\n            incomplete: 'Unable to determine if <table> element has a caption'\n          }\n        },\n        'scope-value': {\n          impact: 'critical',\n          messages: {\n            pass: 'Scope attribute is used correctly',\n            fail: 'The value of the scope attribute may only be \\'row\\' or \\'col\\''\n          }\n        },\n        'td-has-header': {\n          impact: 'critical',\n          messages: {\n            pass: 'All non-empty data cells have table headers',\n            fail: 'Some non-empty data cells do not have table headers'\n          }\n        },\n        'td-headers-attr': {\n          impact: 'serious',\n          messages: {\n            pass: 'The headers attribute is exclusively used to refer to other header cells in the table',\n            incomplete: 'The headers attribute is empty',\n            fail: {\n              'cell-header-not-in-table': 'The headers attribute is not exclusively used to refer to other header cells in the table',\n              'cell-header-not-th': 'The headers attribute must refer to header cells, not data cells',\n              'header-refs-self': 'The element with headers attribute refers to itself'\n            }\n          }\n        },\n        'th-has-data-cells': {\n          impact: 'serious',\n          messages: {\n            pass: 'All table header cells refer to data cells',\n            fail: 'Not all table header cells refer to data cells',\n            incomplete: 'Table data cells are missing or empty'\n          }\n        },\n        'hidden-content': {\n          impact: 'minor',\n          messages: {\n            pass: 'All content on the page has been analyzed.',\n            fail: 'There were problems analyzing the content on this page.',\n            incomplete: 'There is hidden content on the page that was not analyzed. You will need to trigger the display of this content in order to analyze it.'\n          }\n        }\n      },\n      failureSummaries: {\n        any: {\n          failureMessage: function anonymous(it) {\n            var out = 'Fix any of the following:';\n            var arr1 = it;\n            if (arr1) {\n              var value, i1 = -1, l1 = arr1.length - 1;\n              while (i1 < l1) {\n                value = arr1[i1 += 1];\n                out += '\\n  ' + value.split('\\n').join('\\n  ');\n              }\n            }\n            return out;\n          }\n        },\n        none: {\n          failureMessage: function anonymous(it) {\n            var out = 'Fix all of the following:';\n            var arr1 = it;\n            if (arr1) {\n              var value, i1 = -1, l1 = arr1.length - 1;\n              while (i1 < l1) {\n                value = arr1[i1 += 1];\n                out += '\\n  ' + value.split('\\n').join('\\n  ');\n              }\n            }\n            return out;\n          }\n        }\n      },\n      incompleteFallbackMessage: 'axe couldn\\'t tell the reason. Time to break out the element inspector!'\n    },\n    rules: [ {\n      id: 'accesskeys',\n      impact: 'serious',\n      selector: '[accesskey]',\n      excludeHidden: false,\n      tags: [ 'cat.keyboard', 'best-practice' ],\n      all: [],\n      any: [],\n      none: [ 'accesskeys' ]\n    }, {\n      id: 'area-alt',\n      impact: 'critical',\n      selector: 'map area[href]',\n      excludeHidden: false,\n      tags: [ 'cat.text-alternatives', 'wcag2a', 'wcag244', 'wcag412', 'section508', 'section508.22.a', 'TTv5', 'TT6.a', 'EN-301-549', 'EN-9.2.4.4', 'EN-9.4.1.2', 'ACT', 'RGAAv4', 'RGAA-1.1.2' ],\n      actIds: [ 'c487ae' ],\n      all: [],\n      any: [ {\n        options: {\n          attribute: 'alt'\n        },\n        id: 'non-empty-alt'\n      }, 'aria-label', 'aria-labelledby', {\n        options: {\n          attribute: 'title'\n        },\n        id: 'non-empty-title'\n      } ],\n      none: []\n    }, {\n      id: 'aria-allowed-attr',\n      impact: 'critical',\n      matches: 'aria-allowed-attr-matches',\n      tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'EN-301-549', 'EN-9.4.1.2', 'RGAAv4', 'RGAA-7.1.1' ],\n      actIds: [ '5c01ea' ],\n      all: [ {\n        options: {\n          validTreeRowAttrs: [ 'aria-posinset', 'aria-setsize', 'aria-expanded', 'aria-level' ]\n        },\n        id: 'aria-allowed-attr'\n      } ],\n      any: [],\n      none: [ 'aria-unsupported-attr' ]\n    }, {\n      id: 'aria-allowed-role',\n      impact: 'minor',\n      excludeHidden: false,\n      selector: '[role]',\n      matches: 'aria-allowed-role-matches',\n      tags: [ 'cat.aria', 'best-practice' ],\n      all: [],\n      any: [ {\n        options: {\n          allowImplicit: true,\n          ignoredTags: []\n        },\n        id: 'aria-allowed-role'\n      } ],\n      none: []\n    }, {\n      id: 'aria-braille-equivalent',\n      reviewOnFail: true,\n      impact: 'serious',\n      selector: '[aria-brailleroledescription], [aria-braillelabel]',\n      tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'EN-301-549', 'EN-9.4.1.2' ],\n      all: [ 'braille-roledescription-equivalent', 'braille-label-equivalent' ],\n      any: [],\n      none: []\n    }, {\n      id: 'aria-command-name',\n      impact: 'serious',\n      selector: '[role=\"link\"], [role=\"button\"], [role=\"menuitem\"]',\n      matches: 'no-naming-method-matches',\n      tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'TTv5', 'TT6.a', 'EN-301-549', 'EN-9.4.1.2', 'ACT', 'RGAAv4', 'RGAA-11.9.1' ],\n      actIds: [ '97a4e1' ],\n      all: [],\n      any: [ 'has-visible-text', 'aria-label', 'aria-labelledby', {\n        options: {\n          attribute: 'title'\n        },\n        id: 'non-empty-title'\n      } ],\n      none: []\n    }, {\n      id: 'aria-conditional-attr',\n      impact: 'serious',\n      matches: 'aria-allowed-attr-matches',\n      tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'EN-301-549', 'EN-9.4.1.2', 'RGAAv4', 'RGAA-7.1.1' ],\n      actIds: [ '5c01ea' ],\n      all: [ {\n        options: {\n          invalidTableRowAttrs: [ 'aria-posinset', 'aria-setsize', 'aria-expanded', 'aria-level' ]\n        },\n        id: 'aria-conditional-attr'\n      } ],\n      any: [],\n      none: []\n    }, {\n      id: 'aria-deprecated-role',\n      impact: 'minor',\n      selector: '[role]',\n      matches: 'no-empty-role-matches',\n      tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'EN-301-549', 'EN-9.4.1.2', 'RGAAv4', 'RGAA-7.1.1' ],\n      actIds: [ '674b10' ],\n      all: [],\n      any: [],\n      none: [ 'deprecatedrole' ]\n    }, {\n      id: 'aria-dialog-name',\n      impact: 'serious',\n      selector: '[role=\"dialog\"], [role=\"alertdialog\"]',\n      matches: 'no-naming-method-matches',\n      tags: [ 'cat.aria', 'best-practice' ],\n      all: [],\n      any: [ 'aria-label', 'aria-labelledby', {\n        options: {\n          attribute: 'title'\n        },\n        id: 'non-empty-title'\n      } ],\n      none: []\n    }, {\n      id: 'aria-hidden-body',\n      impact: 'critical',\n      selector: 'body',\n      excludeHidden: false,\n      matches: 'is-initiator-matches',\n      tags: [ 'cat.aria', 'wcag2a', 'wcag131', 'wcag412', 'EN-301-549', 'EN-9.1.3.1', 'EN-9.4.1.2', 'RGAAv4', 'RGAA-7.1.1' ],\n      all: [],\n      any: [ 'aria-hidden-body' ],\n      none: []\n    }, {\n      id: 'aria-hidden-focus',\n      impact: 'serious',\n      selector: '[aria-hidden=\"true\"]',\n      matches: 'aria-hidden-focus-matches',\n      excludeHidden: false,\n      tags: [ 'cat.name-role-value', 'wcag2a', 'wcag412', 'TTv5', 'TT6.a', 'EN-301-549', 'EN-9.4.1.2', 'RGAAv4', 'RGAA-7.1.1' ],\n      actIds: [ '6cfa84' ],\n      all: [ 'focusable-modal-open', 'focusable-disabled', 'focusable-not-tabbable' ],\n      any: [],\n      none: []\n    }, {\n      id: 'aria-input-field-name',\n      impact: 'serious',\n      selector: '[role=\"combobox\"], [role=\"listbox\"], [role=\"searchbox\"], [role=\"slider\"], [role=\"spinbutton\"], [role=\"textbox\"]',\n      matches: 'no-naming-method-matches',\n      tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'TTv5', 'TT5.c', 'EN-301-549', 'EN-9.4.1.2', 'ACT', 'RGAAv4', 'RGAA-11.1.1' ],\n      actIds: [ 'e086e5' ],\n      all: [],\n      any: [ 'aria-label', 'aria-labelledby', {\n        options: {\n          attribute: 'title'\n        },\n        id: 'non-empty-title'\n      } ],\n      none: [ 'no-implicit-explicit-label' ]\n    }, {\n      id: 'aria-meter-name',\n      impact: 'serious',\n      selector: '[role=\"meter\"]',\n      matches: 'no-naming-method-matches',\n      tags: [ 'cat.aria', 'wcag2a', 'wcag111', 'EN-301-549', 'EN-9.1.1.1', 'RGAAv4', 'RGAA-11.1.1' ],\n      all: [],\n      any: [ 'aria-label', 'aria-labelledby', {\n        options: {\n          attribute: 'title'\n        },\n        id: 'non-empty-title'\n      } ],\n      none: []\n    }, {\n      id: 'aria-progressbar-name',\n      impact: 'serious',\n      selector: '[role=\"progressbar\"]',\n      matches: 'no-naming-method-matches',\n      tags: [ 'cat.aria', 'wcag2a', 'wcag111', 'EN-301-549', 'EN-9.1.1.1', 'RGAAv4', 'RGAA-11.1.1' ],\n      all: [],\n      any: [ 'aria-label', 'aria-labelledby', {\n        options: {\n          attribute: 'title'\n        },\n        id: 'non-empty-title'\n      } ],\n      none: []\n    }, {\n      id: 'aria-prohibited-attr',\n      impact: 'serious',\n      matches: 'aria-allowed-attr-matches',\n      tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'EN-301-549', 'EN-9.4.1.2', 'RGAAv4', 'RGAA-7.1.1' ],\n      actIds: [ '5c01ea' ],\n      all: [],\n      any: [],\n      none: [ {\n        options: {\n          elementsAllowedAriaLabel: [ 'applet', 'input' ]\n        },\n        id: 'aria-prohibited-attr'\n      } ]\n    }, {\n      id: 'aria-required-attr',\n      impact: 'critical',\n      selector: '[role]',\n      tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'EN-301-549', 'EN-9.4.1.2', 'RGAAv4', 'RGAA-7.1.1' ],\n      actIds: [ '4e8ab6' ],\n      all: [],\n      any: [ 'aria-required-attr' ],\n      none: []\n    }, {\n      id: 'aria-required-children',\n      impact: 'critical',\n      selector: '[role]',\n      matches: 'aria-required-children-matches',\n      tags: [ 'cat.aria', 'wcag2a', 'wcag131', 'EN-301-549', 'EN-9.1.3.1', 'RGAAv4', 'RGAA-9.3.1' ],\n      actIds: [ 'bc4a75', 'ff89c9' ],\n      all: [],\n      any: [ {\n        options: {\n          reviewEmpty: [ 'doc-bibliography', 'doc-endnotes', 'grid', 'list', 'listbox', 'menu', 'menubar', 'table', 'tablist', 'tree', 'treegrid', 'rowgroup' ]\n        },\n        id: 'aria-required-children'\n      } ],\n      none: []\n    }, {\n      id: 'aria-required-parent',\n      impact: 'critical',\n      selector: '[role]',\n      matches: 'aria-required-parent-matches',\n      tags: [ 'cat.aria', 'wcag2a', 'wcag131', 'EN-301-549', 'EN-9.1.3.1', 'RGAAv4', 'RGAA-9.3.1' ],\n      actIds: [ 'ff89c9' ],\n      all: [],\n      any: [ {\n        options: {\n          ownGroupRoles: [ 'listitem', 'treeitem' ]\n        },\n        id: 'aria-required-parent'\n      } ],\n      none: []\n    }, {\n      id: 'aria-roledescription',\n      impact: 'serious',\n      selector: '[aria-roledescription]',\n      tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'EN-301-549', 'EN-9.4.1.2', 'deprecated' ],\n      enabled: false,\n      all: [],\n      any: [ {\n        options: {\n          supportedRoles: [ 'button', 'img', 'checkbox', 'radio', 'combobox', 'menuitemcheckbox', 'menuitemradio' ]\n        },\n        id: 'aria-roledescription'\n      } ],\n      none: []\n    }, {\n      id: 'aria-roles',\n      impact: 'critical',\n      selector: '[role]',\n      matches: 'no-empty-role-matches',\n      tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'EN-301-549', 'EN-9.4.1.2', 'RGAAv4', 'RGAA-7.1.1' ],\n      actIds: [ '674b10' ],\n      all: [],\n      any: [],\n      none: [ 'invalidrole', 'abstractrole', 'unsupportedrole' ]\n    }, {\n      id: 'aria-text',\n      impact: 'serious',\n      selector: '[role=text]',\n      tags: [ 'cat.aria', 'best-practice' ],\n      all: [],\n      any: [ 'no-focusable-content' ],\n      none: []\n    }, {\n      id: 'aria-toggle-field-name',\n      impact: 'serious',\n      selector: '[role=\"checkbox\"], [role=\"menuitemcheckbox\"], [role=\"menuitemradio\"], [role=\"radio\"], [role=\"switch\"], [role=\"option\"]',\n      matches: 'no-naming-method-matches',\n      tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'TTv5', 'TT5.c', 'EN-301-549', 'EN-9.4.1.2', 'ACT', 'RGAAv4', 'RGAA-7.1.1' ],\n      actIds: [ 'e086e5' ],\n      all: [],\n      any: [ 'has-visible-text', 'aria-label', 'aria-labelledby', {\n        options: {\n          attribute: 'title'\n        },\n        id: 'non-empty-title'\n      } ],\n      none: [ 'no-implicit-explicit-label' ]\n    }, {\n      id: 'aria-tooltip-name',\n      impact: 'serious',\n      selector: '[role=\"tooltip\"]',\n      matches: 'no-naming-method-matches',\n      tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'EN-301-549', 'EN-9.4.1.2' ],\n      all: [],\n      any: [ 'has-visible-text', 'aria-label', 'aria-labelledby', {\n        options: {\n          attribute: 'title'\n        },\n        id: 'non-empty-title'\n      } ],\n      none: []\n    }, {\n      id: 'aria-treeitem-name',\n      impact: 'serious',\n      selector: '[role=\"treeitem\"]',\n      matches: 'no-naming-method-matches',\n      tags: [ 'cat.aria', 'best-practice' ],\n      all: [],\n      any: [ 'has-visible-text', 'aria-label', 'aria-labelledby', {\n        options: {\n          attribute: 'title'\n        },\n        id: 'non-empty-title'\n      } ],\n      none: []\n    }, {\n      id: 'aria-valid-attr-value',\n      impact: 'critical',\n      matches: 'aria-has-attr-matches',\n      tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'EN-301-549', 'EN-9.4.1.2', 'RGAAv4', 'RGAA-7.1.1' ],\n      actIds: [ '6a7281' ],\n      all: [ {\n        options: [],\n        id: 'aria-valid-attr-value'\n      }, 'aria-errormessage', 'aria-level' ],\n      any: [],\n      none: []\n    }, {\n      id: 'aria-valid-attr',\n      impact: 'critical',\n      matches: 'aria-has-attr-matches',\n      tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'EN-301-549', 'EN-9.4.1.2', 'RGAAv4', 'RGAA-7.1.1' ],\n      actIds: [ '5f99a7' ],\n      all: [],\n      any: [ {\n        options: [],\n        id: 'aria-valid-attr'\n      } ],\n      none: []\n    }, {\n      id: 'audio-caption',\n      impact: 'critical',\n      selector: 'audio',\n      enabled: false,\n      excludeHidden: false,\n      tags: [ 'cat.time-and-media', 'wcag2a', 'wcag121', 'EN-301-549', 'EN-9.1.2.1', 'section508', 'section508.22.a', 'deprecated' ],\n      actIds: [ '2eb176', 'afb423' ],\n      all: [],\n      any: [],\n      none: [ 'caption' ]\n    }, {\n      id: 'autocomplete-valid',\n      impact: 'serious',\n      matches: 'autocomplete-matches',\n      tags: [ 'cat.forms', 'wcag21aa', 'wcag135', 'EN-301-549', 'EN-9.1.3.5', 'ACT', 'RGAAv4', 'RGAA-11.13.1' ],\n      actIds: [ '73f2c2' ],\n      all: [ {\n        options: {\n          stateTerms: [ 'none', 'false', 'true', 'disabled', 'enabled', 'undefined', 'null', 'xoff', 'xon' ],\n          ignoredValues: [ 'text', 'pronouns', 'gender', 'message', 'content' ]\n        },\n        id: 'autocomplete-valid'\n      } ],\n      any: [],\n      none: []\n    }, {\n      id: 'avoid-inline-spacing',\n      impact: 'serious',\n      selector: '[style]',\n      matches: 'is-visible-on-screen-matches',\n      tags: [ 'cat.structure', 'wcag21aa', 'wcag1412', 'EN-301-549', 'EN-9.1.4.12', 'ACT' ],\n      actIds: [ '24afc2', '9e45ec', '78fd32' ],\n      all: [ {\n        options: {\n          cssProperty: 'letter-spacing',\n          minValue: .12\n        },\n        id: 'important-letter-spacing'\n      }, {\n        options: {\n          cssProperty: 'word-spacing',\n          minValue: .16\n        },\n        id: 'important-word-spacing'\n      }, {\n        options: {\n          multiLineOnly: true,\n          cssProperty: 'line-height',\n          minValue: 1.5,\n          normalValue: 1\n        },\n        id: 'important-line-height'\n      } ],\n      any: [],\n      none: []\n    }, {\n      id: 'blink',\n      impact: 'serious',\n      selector: 'blink',\n      excludeHidden: false,\n      tags: [ 'cat.time-and-media', 'wcag2a', 'wcag222', 'section508', 'section508.22.j', 'TTv5', 'TT2.b', 'EN-301-549', 'EN-9.2.2.2', 'RGAAv4', 'RGAA-13.8.1' ],\n      all: [],\n      any: [],\n      none: [ 'is-on-screen' ]\n    }, {\n      id: 'button-name',\n      impact: 'critical',\n      selector: 'button',\n      matches: 'no-explicit-name-required-matches',\n      tags: [ 'cat.name-role-value', 'wcag2a', 'wcag412', 'section508', 'section508.22.a', 'TTv5', 'TT6.a', 'EN-301-549', 'EN-9.4.1.2', 'ACT', 'RGAAv4', 'RGAA-11.9.1' ],\n      actIds: [ '97a4e1', 'm6b1q3' ],\n      all: [],\n      any: [ 'button-has-visible-text', 'aria-label', 'aria-labelledby', {\n        options: {\n          attribute: 'title'\n        },\n        id: 'non-empty-title'\n      }, 'implicit-label', 'explicit-label', 'presentational-role' ],\n      none: []\n    }, {\n      id: 'bypass',\n      impact: 'serious',\n      selector: 'html',\n      pageLevel: true,\n      matches: 'bypass-matches',\n      reviewOnFail: true,\n      tags: [ 'cat.keyboard', 'wcag2a', 'wcag241', 'section508', 'section508.22.o', 'TTv5', 'TT9.a', 'EN-301-549', 'EN-9.2.4.1', 'RGAAv4', 'RGAA-12.7.1' ],\n      actIds: [ 'cf77f2', '047fe0', 'b40fd1', '3e12e1', 'ye5d6e' ],\n      all: [],\n      any: [ 'internal-link-present', {\n        options: {\n          selector: ':is(h1, h2, h3, h4, h5, h6):not([role]), [role=heading]'\n        },\n        id: 'header-present'\n      }, {\n        options: {\n          selector: 'main, [role=main]'\n        },\n        id: 'landmark'\n      } ],\n      none: []\n    }, {\n      id: 'color-contrast-enhanced',\n      impact: 'serious',\n      matches: 'color-contrast-matches',\n      excludeHidden: false,\n      enabled: false,\n      tags: [ 'cat.color', 'wcag2aaa', 'wcag146', 'ACT' ],\n      actIds: [ '09o5cg' ],\n      all: [],\n      any: [ {\n        options: {\n          ignoreUnicode: true,\n          ignoreLength: false,\n          ignorePseudo: false,\n          boldValue: 700,\n          boldTextPt: 14,\n          largeTextPt: 18,\n          contrastRatio: {\n            normal: {\n              expected: 7,\n              minThreshold: 4.5\n            },\n            large: {\n              expected: 4.5,\n              minThreshold: 3\n            }\n          },\n          pseudoSizeThreshold: .25,\n          shadowOutlineEmMax: .1,\n          textStrokeEmMin: .03\n        },\n        id: 'color-contrast-enhanced'\n      } ],\n      none: []\n    }, {\n      id: 'color-contrast',\n      impact: 'serious',\n      matches: 'color-contrast-matches',\n      excludeHidden: false,\n      tags: [ 'cat.color', 'wcag2aa', 'wcag143', 'TTv5', 'TT13.c', 'EN-301-549', 'EN-9.1.4.3', 'ACT', 'RGAAv4', 'RGAA-3.2.1' ],\n      actIds: [ 'afw4f7', '09o5cg' ],\n      all: [],\n      any: [ {\n        options: {\n          ignoreUnicode: true,\n          ignoreLength: false,\n          ignorePseudo: false,\n          boldValue: 700,\n          boldTextPt: 14,\n          largeTextPt: 18,\n          contrastRatio: {\n            normal: {\n              expected: 4.5\n            },\n            large: {\n              expected: 3\n            }\n          },\n          pseudoSizeThreshold: .25,\n          shadowOutlineEmMax: .2,\n          textStrokeEmMin: .03\n        },\n        id: 'color-contrast'\n      } ],\n      none: []\n    }, {\n      id: 'css-orientation-lock',\n      impact: 'serious',\n      selector: 'html',\n      tags: [ 'cat.structure', 'wcag134', 'wcag21aa', 'EN-301-549', 'EN-9.1.3.4', 'RGAAv4', 'RGAA-13.9.1', 'experimental' ],\n      actIds: [ 'b33eff' ],\n      all: [ {\n        options: {\n          degreeThreshold: 2\n        },\n        id: 'css-orientation-lock'\n      } ],\n      any: [],\n      none: [],\n      preload: true\n    }, {\n      id: 'definition-list',\n      impact: 'serious',\n      selector: 'dl',\n      matches: 'no-role-matches',\n      tags: [ 'cat.structure', 'wcag2a', 'wcag131', 'EN-301-549', 'EN-9.1.3.1', 'RGAAv4', 'RGAA-9.3.3' ],\n      all: [],\n      any: [],\n      none: [ 'structured-dlitems', {\n        options: {\n          validRoles: [ 'definition', 'term', 'listitem' ],\n          validNodeNames: [ 'dt', 'dd' ],\n          divGroups: true\n        },\n        id: 'only-dlitems'\n      } ]\n    }, {\n      id: 'dlitem',\n      impact: 'serious',\n      selector: 'dd, dt',\n      matches: 'no-role-matches',\n      tags: [ 'cat.structure', 'wcag2a', 'wcag131', 'EN-301-549', 'EN-9.1.3.1', 'RGAAv4', 'RGAA-9.3.3' ],\n      all: [],\n      any: [ 'dlitem' ],\n      none: []\n    }, {\n      id: 'document-title',\n      impact: 'serious',\n      selector: 'html',\n      matches: 'is-initiator-matches',\n      tags: [ 'cat.text-alternatives', 'wcag2a', 'wcag242', 'TTv5', 'TT12.a', 'EN-301-549', 'EN-9.2.4.2', 'ACT', 'RGAAv4', 'RGAA-8.5.1' ],\n      actIds: [ '2779a5' ],\n      all: [],\n      any: [ 'doc-has-title' ],\n      none: []\n    }, {\n      id: 'duplicate-id-active',\n      impact: 'serious',\n      selector: '[id]',\n      matches: 'duplicate-id-active-matches',\n      excludeHidden: false,\n      tags: [ 'cat.parsing', 'wcag2a-obsolete', 'wcag411', 'deprecated' ],\n      enabled: false,\n      actIds: [ '3ea0c8' ],\n      all: [],\n      any: [ 'duplicate-id-active' ],\n      none: []\n    }, {\n      id: 'duplicate-id-aria',\n      impact: 'critical',\n      selector: '[id]',\n      matches: 'duplicate-id-aria-matches',\n      excludeHidden: false,\n      tags: [ 'cat.parsing', 'wcag2a', 'wcag412', 'EN-301-549', 'EN-9.4.1.2', 'RGAAv4', 'RGAA-8.2.1' ],\n      reviewOnFail: true,\n      actIds: [ '3ea0c8' ],\n      all: [],\n      any: [ 'duplicate-id-aria' ],\n      none: []\n    }, {\n      id: 'duplicate-id',\n      impact: 'minor',\n      selector: '[id]',\n      matches: 'duplicate-id-misc-matches',\n      excludeHidden: false,\n      tags: [ 'cat.parsing', 'wcag2a-obsolete', 'wcag411', 'deprecated' ],\n      enabled: false,\n      actIds: [ '3ea0c8' ],\n      all: [],\n      any: [ 'duplicate-id' ],\n      none: []\n    }, {\n      id: 'empty-heading',\n      impact: 'minor',\n      selector: 'h1, h2, h3, h4, h5, h6, [role=\"heading\"]',\n      matches: 'heading-matches',\n      tags: [ 'cat.name-role-value', 'best-practice' ],\n      actIds: [ 'ffd0e9' ],\n      all: [],\n      any: [ 'has-visible-text', 'aria-label', 'aria-labelledby', {\n        options: {\n          attribute: 'title'\n        },\n        id: 'non-empty-title'\n      } ],\n      none: []\n    }, {\n      id: 'empty-table-header',\n      impact: 'minor',\n      selector: 'th:not([role]), [role=\"rowheader\"], [role=\"columnheader\"]',\n      tags: [ 'cat.name-role-value', 'best-practice' ],\n      all: [],\n      any: [ 'has-visible-text' ],\n      none: []\n    }, {\n      id: 'focus-order-semantics',\n      impact: 'minor',\n      selector: 'div, h1, h2, h3, h4, h5, h6, [role=heading], p, span',\n      matches: 'inserted-into-focus-order-matches',\n      tags: [ 'cat.keyboard', 'best-practice', 'RGAAv4', 'RGAA-12.8.1', 'experimental' ],\n      all: [],\n      any: [ {\n        options: [],\n        id: 'has-widget-role'\n      }, {\n        options: {\n          roles: [ 'tooltip' ]\n        },\n        id: 'valid-scrollable-semantics'\n      } ],\n      none: []\n    }, {\n      id: 'form-field-multiple-labels',\n      impact: 'moderate',\n      selector: 'input, select, textarea',\n      matches: 'label-matches',\n      tags: [ 'cat.forms', 'wcag2a', 'wcag332', 'TTv5', 'TT5.c', 'EN-301-549', 'EN-9.3.3.2', 'RGAAv4', 'RGAA-11.2.1' ],\n      all: [],\n      any: [],\n      none: [ 'multiple-label' ]\n    }, {\n      id: 'frame-focusable-content',\n      impact: 'serious',\n      selector: 'html',\n      matches: 'frame-focusable-content-matches',\n      tags: [ 'cat.keyboard', 'wcag2a', 'wcag211', 'TTv5', 'TT4.a', 'EN-301-549', 'EN-9.2.1.1', 'RGAAv4', 'RGAA-7.3.2' ],\n      actIds: [ 'akn7bn' ],\n      all: [],\n      any: [ 'frame-focusable-content' ],\n      none: []\n    }, {\n      id: 'frame-tested',\n      impact: 'critical',\n      selector: 'html, frame, iframe',\n      tags: [ 'cat.structure', 'best-practice', 'review-item' ],\n      all: [ {\n        options: {\n          isViolation: false\n        },\n        id: 'frame-tested'\n      } ],\n      any: [],\n      none: []\n    }, {\n      id: 'frame-title-unique',\n      impact: 'serious',\n      selector: 'frame[title], iframe[title]',\n      matches: 'frame-title-has-text-matches',\n      tags: [ 'cat.text-alternatives', 'wcag2a', 'wcag412', 'TTv5', 'TT12.d', 'EN-301-549', 'EN-9.4.1.2', 'RGAAv4', 'RGAA-2.2.1' ],\n      actIds: [ '4b1c6c' ],\n      all: [],\n      any: [],\n      none: [ 'unique-frame-title' ],\n      reviewOnFail: true\n    }, {\n      id: 'frame-title',\n      impact: 'serious',\n      selector: 'frame, iframe',\n      matches: 'no-negative-tabindex-matches',\n      tags: [ 'cat.text-alternatives', 'wcag2a', 'wcag412', 'section508', 'section508.22.i', 'TTv5', 'TT12.d', 'EN-301-549', 'EN-9.4.1.2', 'RGAAv4', 'RGAA-2.1.1' ],\n      actIds: [ 'cae760' ],\n      all: [],\n      any: [ {\n        options: {\n          attribute: 'title'\n        },\n        id: 'non-empty-title'\n      }, 'aria-label', 'aria-labelledby', 'presentational-role' ],\n      none: []\n    }, {\n      id: 'heading-order',\n      impact: 'moderate',\n      selector: 'h1, h2, h3, h4, h5, h6, [role=heading]',\n      matches: 'heading-matches',\n      tags: [ 'cat.semantics', 'best-practice' ],\n      all: [],\n      any: [ 'heading-order' ],\n      none: []\n    }, {\n      id: 'hidden-content',\n      impact: 'minor',\n      selector: '*',\n      excludeHidden: false,\n      tags: [ 'cat.structure', 'best-practice', 'experimental', 'review-item' ],\n      all: [],\n      any: [ 'hidden-content' ],\n      none: []\n    }, {\n      id: 'html-has-lang',\n      impact: 'serious',\n      selector: 'html',\n      matches: 'is-initiator-matches',\n      tags: [ 'cat.language', 'wcag2a', 'wcag311', 'TTv5', 'TT11.a', 'EN-301-549', 'EN-9.3.1.1', 'ACT', 'RGAAv4', 'RGAA-8.3.1' ],\n      actIds: [ 'b5c3f8' ],\n      all: [],\n      any: [ {\n        options: {\n          attributes: [ 'lang', 'xml:lang' ]\n        },\n        id: 'has-lang'\n      } ],\n      none: []\n    }, {\n      id: 'html-lang-valid',\n      impact: 'serious',\n      selector: 'html[lang]:not([lang=\"\"]), html[xml\\\\:lang]:not([xml\\\\:lang=\"\"])',\n      tags: [ 'cat.language', 'wcag2a', 'wcag311', 'TTv5', 'TT11.a', 'EN-301-549', 'EN-9.3.1.1', 'ACT', 'RGAAv4', 'RGAA-8.4.1' ],\n      actIds: [ 'bf051a' ],\n      all: [],\n      any: [],\n      none: [ {\n        options: {\n          attributes: [ 'lang', 'xml:lang' ]\n        },\n        id: 'valid-lang'\n      } ]\n    }, {\n      id: 'html-xml-lang-mismatch',\n      impact: 'moderate',\n      selector: 'html[lang][xml\\\\:lang]',\n      matches: 'xml-lang-mismatch-matches',\n      tags: [ 'cat.language', 'wcag2a', 'wcag311', 'EN-301-549', 'EN-9.3.1.1', 'ACT', 'RGAAv4', 'RGAA-8.3.1' ],\n      actIds: [ '5b7ae0' ],\n      all: [ 'xml-lang-mismatch' ],\n      any: [],\n      none: []\n    }, {\n      id: 'identical-links-same-purpose',\n      impact: 'minor',\n      selector: 'a[href], area[href], [role=\"link\"]',\n      excludeHidden: false,\n      enabled: false,\n      matches: 'identical-links-same-purpose-matches',\n      tags: [ 'cat.semantics', 'wcag2aaa', 'wcag249' ],\n      actIds: [ 'b20e66' ],\n      all: [ 'identical-links-same-purpose' ],\n      any: [],\n      none: []\n    }, {\n      id: 'image-alt',\n      impact: 'critical',\n      selector: 'img',\n      matches: 'no-explicit-name-required-matches',\n      tags: [ 'cat.text-alternatives', 'wcag2a', 'wcag111', 'section508', 'section508.22.a', 'TTv5', 'TT7.a', 'TT7.b', 'EN-301-549', 'EN-9.1.1.1', 'ACT', 'RGAAv4', 'RGAA-1.1.1' ],\n      actIds: [ '23a2a8' ],\n      all: [],\n      any: [ 'has-alt', 'aria-label', 'aria-labelledby', {\n        options: {\n          attribute: 'title'\n        },\n        id: 'non-empty-title'\n      }, 'presentational-role' ],\n      none: [ 'alt-space-value' ]\n    }, {\n      id: 'image-redundant-alt',\n      impact: 'minor',\n      selector: 'img',\n      tags: [ 'cat.text-alternatives', 'best-practice' ],\n      all: [],\n      any: [],\n      none: [ {\n        options: {\n          parentSelector: 'button, [role=button], a[href], p, li, td, th'\n        },\n        id: 'duplicate-img-label'\n      } ]\n    }, {\n      id: 'input-button-name',\n      impact: 'critical',\n      selector: 'input[type=\"button\"], input[type=\"submit\"], input[type=\"reset\"]',\n      matches: 'no-explicit-name-required-matches',\n      tags: [ 'cat.name-role-value', 'wcag2a', 'wcag412', 'section508', 'section508.22.a', 'TTv5', 'TT5.c', 'EN-301-549', 'EN-9.4.1.2', 'ACT', 'RGAAv4', 'RGAA-11.9.1' ],\n      actIds: [ '97a4e1' ],\n      all: [],\n      any: [ 'non-empty-if-present', {\n        options: {\n          attribute: 'value'\n        },\n        id: 'non-empty-value'\n      }, 'aria-label', 'aria-labelledby', {\n        options: {\n          attribute: 'title'\n        },\n        id: 'non-empty-title'\n      }, 'implicit-label', 'explicit-label', 'presentational-role' ],\n      none: []\n    }, {\n      id: 'input-image-alt',\n      impact: 'critical',\n      selector: 'input[type=\"image\"]',\n      matches: 'no-explicit-name-required-matches',\n      tags: [ 'cat.text-alternatives', 'wcag2a', 'wcag111', 'wcag412', 'section508', 'section508.22.a', 'TTv5', 'TT7.a', 'EN-301-549', 'EN-9.1.1.1', 'EN-9.4.1.2', 'ACT', 'RGAAv4', 'RGAA-1.1.3' ],\n      actIds: [ '59796f' ],\n      all: [],\n      any: [ {\n        options: {\n          attribute: 'alt'\n        },\n        id: 'non-empty-alt'\n      }, 'aria-label', 'aria-labelledby', {\n        options: {\n          attribute: 'title'\n        },\n        id: 'non-empty-title'\n      }, 'implicit-label', 'explicit-label' ],\n      none: []\n    }, {\n      id: 'label-content-name-mismatch',\n      impact: 'serious',\n      matches: 'label-content-name-mismatch-matches',\n      tags: [ 'cat.semantics', 'wcag21a', 'wcag253', 'EN-301-549', 'EN-9.2.5.3', 'RGAAv4', 'RGAA-6.1.5', 'experimental' ],\n      actIds: [ '2ee8b8' ],\n      all: [],\n      any: [ {\n        options: {\n          pixelThreshold: .1,\n          occurrenceThreshold: 3\n        },\n        id: 'label-content-name-mismatch'\n      } ],\n      none: []\n    }, {\n      id: 'label-title-only',\n      impact: 'serious',\n      selector: 'input, select, textarea',\n      matches: 'label-matches',\n      tags: [ 'cat.forms', 'best-practice' ],\n      all: [],\n      any: [],\n      none: [ 'title-only' ]\n    }, {\n      id: 'label',\n      impact: 'critical',\n      selector: 'input, textarea',\n      matches: 'label-matches',\n      tags: [ 'cat.forms', 'wcag2a', 'wcag412', 'section508', 'section508.22.n', 'TTv5', 'TT5.c', 'EN-301-549', 'EN-9.4.1.2', 'ACT', 'RGAAv4', 'RGAA-11.1.1' ],\n      actIds: [ 'e086e5' ],\n      all: [],\n      any: [ 'implicit-label', 'explicit-label', 'aria-label', 'aria-labelledby', {\n        options: {\n          attribute: 'title'\n        },\n        id: 'non-empty-title'\n      }, {\n        options: {\n          attribute: 'placeholder'\n        },\n        id: 'non-empty-placeholder'\n      }, 'presentational-role' ],\n      none: [ 'hidden-explicit-label' ]\n    }, {\n      id: 'landmark-banner-is-top-level',\n      impact: 'moderate',\n      selector: 'header:not([role]), [role=banner]',\n      matches: 'landmark-has-body-context-matches',\n      tags: [ 'cat.semantics', 'best-practice' ],\n      all: [],\n      any: [ 'landmark-is-top-level' ],\n      none: []\n    }, {\n      id: 'landmark-complementary-is-top-level',\n      impact: 'moderate',\n      selector: 'aside:not([role]), [role=complementary]',\n      tags: [ 'cat.semantics', 'best-practice' ],\n      all: [],\n      any: [ 'landmark-is-top-level' ],\n      none: []\n    }, {\n      id: 'landmark-contentinfo-is-top-level',\n      impact: 'moderate',\n      selector: 'footer:not([role]), [role=contentinfo]',\n      matches: 'landmark-has-body-context-matches',\n      tags: [ 'cat.semantics', 'best-practice' ],\n      all: [],\n      any: [ 'landmark-is-top-level' ],\n      none: []\n    }, {\n      id: 'landmark-main-is-top-level',\n      impact: 'moderate',\n      selector: 'main:not([role]), [role=main]',\n      tags: [ 'cat.semantics', 'best-practice' ],\n      all: [],\n      any: [ 'landmark-is-top-level' ],\n      none: []\n    }, {\n      id: 'landmark-no-duplicate-banner',\n      impact: 'moderate',\n      selector: 'header:not([role]), [role=banner]',\n      tags: [ 'cat.semantics', 'best-practice' ],\n      all: [],\n      any: [ {\n        options: {\n          selector: 'header:not([role]), [role=banner]',\n          role: 'banner'\n        },\n        id: 'page-no-duplicate-banner'\n      } ],\n      none: []\n    }, {\n      id: 'landmark-no-duplicate-contentinfo',\n      impact: 'moderate',\n      selector: 'footer:not([role]), [role=contentinfo]',\n      tags: [ 'cat.semantics', 'best-practice' ],\n      all: [],\n      any: [ {\n        options: {\n          selector: 'footer:not([role]), [role=contentinfo]',\n          role: 'contentinfo'\n        },\n        id: 'page-no-duplicate-contentinfo'\n      } ],\n      none: []\n    }, {\n      id: 'landmark-no-duplicate-main',\n      impact: 'moderate',\n      selector: 'main:not([role]), [role=main]',\n      tags: [ 'cat.semantics', 'best-practice' ],\n      all: [],\n      any: [ {\n        options: {\n          selector: 'main:not([role]), [role=\\'main\\']'\n        },\n        id: 'page-no-duplicate-main'\n      } ],\n      none: []\n    }, {\n      id: 'landmark-one-main',\n      impact: 'moderate',\n      selector: 'html',\n      tags: [ 'cat.semantics', 'best-practice' ],\n      all: [ {\n        options: {\n          selector: 'main:not([role]), [role=\\'main\\']',\n          passForModal: true\n        },\n        id: 'page-has-main'\n      } ],\n      any: [],\n      none: []\n    }, {\n      id: 'landmark-unique',\n      impact: 'moderate',\n      selector: '[role=banner], [role=complementary], [role=contentinfo], [role=main], [role=navigation], [role=region], [role=search], [role=form], form, footer, header, aside, main, nav, section',\n      tags: [ 'cat.semantics', 'best-practice' ],\n      matches: 'landmark-unique-matches',\n      all: [],\n      any: [ 'landmark-is-unique' ],\n      none: []\n    }, {\n      id: 'link-in-text-block',\n      impact: 'serious',\n      selector: 'a[href], [role=link]',\n      matches: 'link-in-text-block-matches',\n      excludeHidden: false,\n      tags: [ 'cat.color', 'wcag2a', 'wcag141', 'TTv5', 'TT13.a', 'EN-301-549', 'EN-9.1.4.1', 'RGAAv4', 'RGAA-10.6.1' ],\n      all: [],\n      any: [ {\n        options: {\n          requiredContrastRatio: 3,\n          allowSameColor: true\n        },\n        id: 'link-in-text-block'\n      }, 'link-in-text-block-style' ],\n      none: []\n    }, {\n      id: 'link-name',\n      impact: 'serious',\n      selector: 'a[href]',\n      tags: [ 'cat.name-role-value', 'wcag2a', 'wcag244', 'wcag412', 'section508', 'section508.22.a', 'TTv5', 'TT6.a', 'EN-301-549', 'EN-9.2.4.4', 'EN-9.4.1.2', 'ACT', 'RGAAv4', 'RGAA-6.2.1' ],\n      actIds: [ 'c487ae' ],\n      all: [],\n      any: [ 'has-visible-text', 'aria-label', 'aria-labelledby', {\n        options: {\n          attribute: 'title'\n        },\n        id: 'non-empty-title'\n      } ],\n      none: [ 'focusable-no-name' ]\n    }, {\n      id: 'list',\n      impact: 'serious',\n      selector: 'ul, ol',\n      matches: 'no-role-matches',\n      tags: [ 'cat.structure', 'wcag2a', 'wcag131', 'EN-301-549', 'EN-9.1.3.1', 'RGAAv4', 'RGAA-9.3.1' ],\n      all: [],\n      any: [],\n      none: [ {\n        options: {\n          validRoles: [ 'listitem' ],\n          validNodeNames: [ 'li' ]\n        },\n        id: 'only-listitems'\n      } ]\n    }, {\n      id: 'listitem',\n      impact: 'serious',\n      selector: 'li',\n      matches: 'no-role-matches',\n      tags: [ 'cat.structure', 'wcag2a', 'wcag131', 'EN-301-549', 'EN-9.1.3.1', 'RGAAv4', 'RGAA-9.3.1' ],\n      all: [],\n      any: [ 'listitem' ],\n      none: []\n    }, {\n      id: 'marquee',\n      impact: 'serious',\n      selector: 'marquee',\n      excludeHidden: false,\n      tags: [ 'cat.parsing', 'wcag2a', 'wcag222', 'TTv5', 'TT2.b', 'EN-301-549', 'EN-9.2.2.2', 'RGAAv4', 'RGAA-13.8.1' ],\n      all: [],\n      any: [],\n      none: [ 'is-on-screen' ]\n    }, {\n      id: 'meta-refresh-no-exceptions',\n      impact: 'minor',\n      selector: 'meta[http-equiv=\"refresh\"][content]',\n      excludeHidden: false,\n      enabled: false,\n      tags: [ 'cat.time-and-media', 'wcag2aaa', 'wcag224', 'wcag325' ],\n      actIds: [ 'bisz58' ],\n      all: [],\n      any: [ {\n        options: {\n          minDelay: 72e3,\n          maxDelay: false\n        },\n        id: 'meta-refresh-no-exceptions'\n      } ],\n      none: []\n    }, {\n      id: 'meta-refresh',\n      impact: 'critical',\n      selector: 'meta[http-equiv=\"refresh\"][content]',\n      excludeHidden: false,\n      tags: [ 'cat.time-and-media', 'wcag2a', 'wcag221', 'TTv5', 'TT8.a', 'EN-301-549', 'EN-9.2.2.1', 'RGAAv4', 'RGAA-13.1.2' ],\n      actIds: [ 'bc659a', 'bisz58' ],\n      all: [],\n      any: [ {\n        options: {\n          minDelay: 0,\n          maxDelay: 72e3\n        },\n        id: 'meta-refresh'\n      } ],\n      none: []\n    }, {\n      id: 'meta-viewport-large',\n      impact: 'minor',\n      selector: 'meta[name=\"viewport\"]',\n      matches: 'is-initiator-matches',\n      excludeHidden: false,\n      tags: [ 'cat.sensory-and-visual-cues', 'best-practice' ],\n      all: [],\n      any: [ {\n        options: {\n          scaleMinimum: 5,\n          lowerBound: 2\n        },\n        id: 'meta-viewport-large'\n      } ],\n      none: []\n    }, {\n      id: 'meta-viewport',\n      impact: 'moderate',\n      selector: 'meta[name=\"viewport\"]',\n      matches: 'is-initiator-matches',\n      excludeHidden: false,\n      tags: [ 'cat.sensory-and-visual-cues', 'wcag2aa', 'wcag144', 'EN-301-549', 'EN-9.1.4.4', 'ACT', 'RGAAv4', 'RGAA-10.4.2' ],\n      actIds: [ 'b4f0c3' ],\n      all: [],\n      any: [ {\n        options: {\n          scaleMinimum: 2\n        },\n        id: 'meta-viewport'\n      } ],\n      none: []\n    }, {\n      id: 'nested-interactive',\n      impact: 'serious',\n      matches: 'nested-interactive-matches',\n      tags: [ 'cat.keyboard', 'wcag2a', 'wcag412', 'TTv5', 'TT6.a', 'EN-301-549', 'EN-9.4.1.2', 'RGAAv4', 'RGAA-7.1.1' ],\n      actIds: [ '307n5z' ],\n      all: [],\n      any: [ 'no-focusable-content' ],\n      none: []\n    }, {\n      id: 'no-autoplay-audio',\n      impact: 'moderate',\n      excludeHidden: false,\n      selector: 'audio[autoplay], video[autoplay]',\n      matches: 'no-autoplay-audio-matches',\n      reviewOnFail: true,\n      tags: [ 'cat.time-and-media', 'wcag2a', 'wcag142', 'TTv5', 'TT2.a', 'EN-301-549', 'EN-9.1.4.2', 'ACT', 'RGAAv4', 'RGAA-4.10.1' ],\n      actIds: [ '80f0bf' ],\n      preload: true,\n      all: [ {\n        options: {\n          allowedDuration: 3\n        },\n        id: 'no-autoplay-audio'\n      } ],\n      any: [],\n      none: []\n    }, {\n      id: 'object-alt',\n      impact: 'serious',\n      selector: 'object[data]',\n      matches: 'object-is-loaded-matches',\n      tags: [ 'cat.text-alternatives', 'wcag2a', 'wcag111', 'section508', 'section508.22.a', 'EN-301-549', 'EN-9.1.1.1', 'RGAAv4', 'RGAA-1.1.6' ],\n      actIds: [ '8fc3b6' ],\n      all: [],\n      any: [ 'aria-label', 'aria-labelledby', {\n        options: {\n          attribute: 'title'\n        },\n        id: 'non-empty-title'\n      }, 'presentational-role' ],\n      none: []\n    }, {\n      id: 'p-as-heading',\n      impact: 'serious',\n      selector: 'p',\n      matches: 'p-as-heading-matches',\n      tags: [ 'cat.semantics', 'wcag2a', 'wcag131', 'EN-301-549', 'EN-9.1.3.1', 'RGAAv4', 'RGAA-9.1.3', 'experimental' ],\n      all: [ {\n        options: {\n          margins: [ {\n            weight: 150,\n            italic: true\n          }, {\n            weight: 150,\n            size: 1.15\n          }, {\n            italic: true,\n            size: 1.15\n          }, {\n            size: 1.4\n          } ],\n          passLength: 1,\n          failLength: .5\n        },\n        id: 'p-as-heading'\n      } ],\n      any: [],\n      none: []\n    }, {\n      id: 'page-has-heading-one',\n      impact: 'moderate',\n      selector: 'html',\n      tags: [ 'cat.semantics', 'best-practice' ],\n      all: [ {\n        options: {\n          selector: 'h1:not([role], [aria-level]), :is(h1, h2, h3, h4, h5, h6):not([role])[aria-level=1], [role=heading][aria-level=1]',\n          passForModal: true\n        },\n        id: 'page-has-heading-one'\n      } ],\n      any: [],\n      none: []\n    }, {\n      id: 'presentation-role-conflict',\n      impact: 'minor',\n      selector: 'img[alt=\\'\\'], [role=\"none\"], [role=\"presentation\"]',\n      matches: 'has-implicit-chromium-role-matches',\n      tags: [ 'cat.aria', 'best-practice', 'ACT' ],\n      actIds: [ '46ca7f' ],\n      all: [],\n      any: [],\n      none: [ 'is-element-focusable', 'has-global-aria-attribute' ]\n    }, {\n      id: 'region',\n      impact: 'moderate',\n      selector: 'body *',\n      tags: [ 'cat.keyboard', 'best-practice', 'RGAAv4', 'RGAA-9.2.1' ],\n      all: [],\n      any: [ {\n        options: {\n          regionMatcher: 'dialog, [role=dialog], [role=alertdialog], svg'\n        },\n        id: 'region'\n      } ],\n      none: []\n    }, {\n      id: 'role-img-alt',\n      impact: 'serious',\n      selector: '[role=\\'img\\']:not(img, area, input, object)',\n      matches: 'html-namespace-matches',\n      tags: [ 'cat.text-alternatives', 'wcag2a', 'wcag111', 'section508', 'section508.22.a', 'TTv5', 'TT7.a', 'EN-301-549', 'EN-9.1.1.1', 'ACT', 'RGAAv4', 'RGAA-1.1.1' ],\n      actIds: [ '23a2a8' ],\n      all: [],\n      any: [ 'aria-label', 'aria-labelledby', {\n        options: {\n          attribute: 'title'\n        },\n        id: 'non-empty-title'\n      } ],\n      none: []\n    }, {\n      id: 'scope-attr-valid',\n      impact: 'moderate',\n      selector: 'td[scope], th[scope]',\n      tags: [ 'cat.tables', 'best-practice' ],\n      all: [ 'html5-scope', {\n        options: {\n          values: [ 'row', 'col', 'rowgroup', 'colgroup' ]\n        },\n        id: 'scope-value'\n      } ],\n      any: [],\n      none: []\n    }, {\n      id: 'scrollable-region-focusable',\n      impact: 'serious',\n      selector: '*:not(select,textarea)',\n      matches: 'scrollable-region-focusable-matches',\n      tags: [ 'cat.keyboard', 'wcag2a', 'wcag211', 'wcag213', 'TTv5', 'TT4.a', 'EN-301-549', 'EN-9.2.1.1', 'EN-9.2.1.3', 'RGAAv4', 'RGAA-7.3.2' ],\n      actIds: [ '0ssw9k' ],\n      all: [],\n      any: [ 'focusable-content', 'focusable-element' ],\n      none: []\n    }, {\n      id: 'select-name',\n      impact: 'critical',\n      selector: 'select',\n      tags: [ 'cat.forms', 'wcag2a', 'wcag412', 'section508', 'section508.22.n', 'TTv5', 'TT5.c', 'EN-301-549', 'EN-9.4.1.2', 'ACT', 'RGAAv4', 'RGAA-11.1.1' ],\n      actIds: [ 'e086e5' ],\n      all: [],\n      any: [ 'implicit-label', 'explicit-label', 'aria-label', 'aria-labelledby', {\n        options: {\n          attribute: 'title'\n        },\n        id: 'non-empty-title'\n      }, 'presentational-role' ],\n      none: [ 'hidden-explicit-label' ]\n    }, {\n      id: 'server-side-image-map',\n      impact: 'minor',\n      selector: 'img[ismap]',\n      tags: [ 'cat.text-alternatives', 'wcag2a', 'wcag211', 'section508', 'section508.22.f', 'TTv5', 'TT4.a', 'EN-301-549', 'EN-9.2.1.1', 'RGAAv4', 'RGAA-1.1.4' ],\n      all: [],\n      any: [],\n      none: [ 'exists' ]\n    }, {\n      id: 'skip-link',\n      impact: 'moderate',\n      selector: 'a[href^=\"#\"], a[href^=\"/#\"]',\n      matches: 'skip-link-matches',\n      tags: [ 'cat.keyboard', 'best-practice', 'RGAAv4', 'RGAA-12.7.1' ],\n      all: [],\n      any: [ 'skip-link' ],\n      none: []\n    }, {\n      id: 'summary-name',\n      impact: 'serious',\n      selector: 'summary',\n      matches: 'summary-interactive-matches',\n      tags: [ 'cat.name-role-value', 'wcag2a', 'wcag412', 'section508', 'section508.22.a', 'TTv5', 'TT6.a', 'EN-301-549', 'EN-9.4.1.2' ],\n      all: [],\n      any: [ 'has-visible-text', 'aria-label', 'aria-labelledby', {\n        options: {\n          attribute: 'title'\n        },\n        id: 'non-empty-title'\n      } ],\n      none: []\n    }, {\n      id: 'svg-img-alt',\n      impact: 'serious',\n      selector: '[role=\"img\"], [role=\"graphics-symbol\"], svg[role=\"graphics-document\"]',\n      matches: 'svg-namespace-matches',\n      tags: [ 'cat.text-alternatives', 'wcag2a', 'wcag111', 'section508', 'section508.22.a', 'TTv5', 'TT7.a', 'EN-301-549', 'EN-9.1.1.1', 'ACT', 'RGAAv4', 'RGAA-1.1.5' ],\n      actIds: [ '7d6734' ],\n      all: [],\n      any: [ 'svg-non-empty-title', 'aria-label', 'aria-labelledby', {\n        options: {\n          attribute: 'title'\n        },\n        id: 'non-empty-title'\n      } ],\n      none: []\n    }, {\n      id: 'tabindex',\n      impact: 'serious',\n      selector: '[tabindex]',\n      tags: [ 'cat.keyboard', 'best-practice' ],\n      all: [],\n      any: [ 'tabindex' ],\n      none: []\n    }, {\n      id: 'table-duplicate-name',\n      impact: 'minor',\n      selector: 'table',\n      tags: [ 'cat.tables', 'best-practice', 'RGAAv4', 'RGAA-5.2.1' ],\n      all: [],\n      any: [],\n      none: [ 'same-caption-summary' ]\n    }, {\n      id: 'table-fake-caption',\n      impact: 'serious',\n      selector: 'table',\n      matches: 'data-table-matches',\n      tags: [ 'cat.tables', 'experimental', 'wcag2a', 'wcag131', 'section508', 'section508.22.g', 'EN-301-549', 'EN-9.1.3.1', 'RGAAv4', 'RGAA-5.4.1' ],\n      all: [ 'caption-faked' ],\n      any: [],\n      none: []\n    }, {\n      id: 'target-size',\n      impact: 'serious',\n      selector: '*',\n      enabled: false,\n      matches: 'widget-not-inline-matches',\n      tags: [ 'cat.sensory-and-visual-cues', 'wcag22aa', 'wcag258' ],\n      all: [],\n      any: [ {\n        options: {\n          minSize: 24\n        },\n        id: 'target-size'\n      }, {\n        options: {\n          minOffset: 24\n        },\n        id: 'target-offset'\n      } ],\n      none: []\n    }, {\n      id: 'td-has-header',\n      impact: 'critical',\n      selector: 'table',\n      matches: 'data-table-large-matches',\n      tags: [ 'cat.tables', 'experimental', 'wcag2a', 'wcag131', 'section508', 'section508.22.g', 'TTv5', 'TT14.b', 'EN-301-549', 'EN-9.1.3.1', 'RGAAv4', 'RGAA-5.7.4' ],\n      all: [ 'td-has-header' ],\n      any: [],\n      none: []\n    }, {\n      id: 'td-headers-attr',\n      impact: 'serious',\n      selector: 'table',\n      matches: 'table-or-grid-role-matches',\n      tags: [ 'cat.tables', 'wcag2a', 'wcag131', 'section508', 'section508.22.g', 'TTv5', 'TT14.b', 'EN-301-549', 'EN-9.1.3.1', 'RGAAv4', 'RGAA-5.7.4' ],\n      actIds: [ 'a25f45' ],\n      all: [ 'td-headers-attr' ],\n      any: [],\n      none: []\n    }, {\n      id: 'th-has-data-cells',\n      impact: 'serious',\n      selector: 'table',\n      matches: 'data-table-matches',\n      tags: [ 'cat.tables', 'wcag2a', 'wcag131', 'section508', 'section508.22.g', 'TTv5', 'TT14.b', 'EN-301-549', 'EN-9.1.3.1', 'RGAAv4', 'RGAA-5.7.1' ],\n      actIds: [ 'd0f69e' ],\n      all: [ 'th-has-data-cells' ],\n      any: [],\n      none: []\n    }, {\n      id: 'valid-lang',\n      impact: 'serious',\n      selector: '[lang]:not(html), [xml\\\\:lang]:not(html)',\n      tags: [ 'cat.language', 'wcag2aa', 'wcag312', 'TTv5', 'TT11.b', 'EN-301-549', 'EN-9.3.1.2', 'ACT', 'RGAAv4', 'RGAA-8.7.1' ],\n      actIds: [ 'de46e4' ],\n      all: [],\n      any: [],\n      none: [ {\n        options: {\n          attributes: [ 'lang', 'xml:lang' ]\n        },\n        id: 'valid-lang'\n      } ]\n    }, {\n      id: 'video-caption',\n      impact: 'critical',\n      selector: 'video',\n      tags: [ 'cat.text-alternatives', 'wcag2a', 'wcag122', 'section508', 'section508.22.a', 'TTv5', 'TT17.a', 'EN-301-549', 'EN-9.1.2.2', 'RGAAv4', 'RGAA-4.3.1' ],\n      actIds: [ 'eac66b' ],\n      all: [],\n      any: [],\n      none: [ 'caption' ]\n    } ],\n    checks: [ {\n      id: 'abstractrole',\n      evaluate: 'abstractrole-evaluate'\n    }, {\n      id: 'aria-allowed-attr',\n      evaluate: 'aria-allowed-attr-evaluate',\n      options: {\n        validTreeRowAttrs: [ 'aria-posinset', 'aria-setsize', 'aria-expanded', 'aria-level' ]\n      }\n    }, {\n      id: 'aria-allowed-role',\n      evaluate: 'aria-allowed-role-evaluate',\n      options: {\n        allowImplicit: true,\n        ignoredTags: []\n      }\n    }, {\n      id: 'aria-busy',\n      evaluate: 'aria-busy-evaluate',\n      deprecated: true\n    }, {\n      id: 'aria-conditional-attr',\n      evaluate: 'aria-conditional-attr-evaluate',\n      options: {\n        invalidTableRowAttrs: [ 'aria-posinset', 'aria-setsize', 'aria-expanded', 'aria-level' ]\n      }\n    }, {\n      id: 'aria-errormessage',\n      evaluate: 'aria-errormessage-evaluate'\n    }, {\n      id: 'aria-hidden-body',\n      evaluate: 'aria-hidden-body-evaluate'\n    }, {\n      id: 'aria-level',\n      evaluate: 'aria-level-evaluate'\n    }, {\n      id: 'aria-prohibited-attr',\n      evaluate: 'aria-prohibited-attr-evaluate',\n      options: {\n        elementsAllowedAriaLabel: [ 'applet', 'input' ]\n      }\n    }, {\n      id: 'aria-required-attr',\n      evaluate: 'aria-required-attr-evaluate'\n    }, {\n      id: 'aria-required-children',\n      evaluate: 'aria-required-children-evaluate',\n      options: {\n        reviewEmpty: [ 'doc-bibliography', 'doc-endnotes', 'grid', 'list', 'listbox', 'menu', 'menubar', 'table', 'tablist', 'tree', 'treegrid', 'rowgroup' ]\n      }\n    }, {\n      id: 'aria-required-parent',\n      evaluate: 'aria-required-parent-evaluate',\n      options: {\n        ownGroupRoles: [ 'listitem', 'treeitem' ]\n      }\n    }, {\n      id: 'aria-roledescription',\n      evaluate: 'aria-roledescription-evaluate',\n      options: {\n        supportedRoles: [ 'button', 'img', 'checkbox', 'radio', 'combobox', 'menuitemcheckbox', 'menuitemradio' ]\n      }\n    }, {\n      id: 'aria-unsupported-attr',\n      evaluate: 'aria-unsupported-attr-evaluate'\n    }, {\n      id: 'aria-valid-attr-value',\n      evaluate: 'aria-valid-attr-value-evaluate',\n      options: []\n    }, {\n      id: 'aria-valid-attr',\n      evaluate: 'aria-valid-attr-evaluate',\n      options: []\n    }, {\n      id: 'braille-label-equivalent',\n      evaluate: 'braille-label-equivalent-evaluate'\n    }, {\n      id: 'braille-roledescription-equivalent',\n      evaluate: 'braille-roledescription-equivalent-evaluate'\n    }, {\n      id: 'deprecatedrole',\n      evaluate: 'deprecatedrole-evaluate'\n    }, {\n      id: 'fallbackrole',\n      evaluate: 'fallbackrole-evaluate'\n    }, {\n      id: 'has-global-aria-attribute',\n      evaluate: 'has-global-aria-attribute-evaluate'\n    }, {\n      id: 'has-widget-role',\n      evaluate: 'has-widget-role-evaluate',\n      options: []\n    }, {\n      id: 'invalidrole',\n      evaluate: 'invalidrole-evaluate'\n    }, {\n      id: 'is-element-focusable',\n      evaluate: 'is-element-focusable-evaluate'\n    }, {\n      id: 'no-implicit-explicit-label',\n      evaluate: 'no-implicit-explicit-label-evaluate'\n    }, {\n      id: 'unsupportedrole',\n      evaluate: 'unsupportedrole-evaluate'\n    }, {\n      id: 'valid-scrollable-semantics',\n      evaluate: 'valid-scrollable-semantics-evaluate',\n      options: {\n        roles: [ 'tooltip' ]\n      }\n    }, {\n      id: 'color-contrast-enhanced',\n      evaluate: 'color-contrast-evaluate',\n      options: {\n        ignoreUnicode: true,\n        ignoreLength: false,\n        ignorePseudo: false,\n        boldValue: 700,\n        boldTextPt: 14,\n        largeTextPt: 18,\n        contrastRatio: {\n          normal: {\n            expected: 7,\n            minThreshold: 4.5\n          },\n          large: {\n            expected: 4.5,\n            minThreshold: 3\n          }\n        },\n        pseudoSizeThreshold: .25,\n        shadowOutlineEmMax: .1,\n        textStrokeEmMin: .03\n      }\n    }, {\n      id: 'color-contrast',\n      evaluate: 'color-contrast-evaluate',\n      options: {\n        ignoreUnicode: true,\n        ignoreLength: false,\n        ignorePseudo: false,\n        boldValue: 700,\n        boldTextPt: 14,\n        largeTextPt: 18,\n        contrastRatio: {\n          normal: {\n            expected: 4.5\n          },\n          large: {\n            expected: 3\n          }\n        },\n        pseudoSizeThreshold: .25,\n        shadowOutlineEmMax: .2,\n        textStrokeEmMin: .03\n      }\n    }, {\n      id: 'link-in-text-block-style',\n      evaluate: 'link-in-text-block-style-evaluate'\n    }, {\n      id: 'link-in-text-block',\n      evaluate: 'link-in-text-block-evaluate',\n      options: {\n        requiredContrastRatio: 3,\n        allowSameColor: true\n      }\n    }, {\n      id: 'autocomplete-appropriate',\n      evaluate: 'autocomplete-appropriate-evaluate',\n      deprecated: true\n    }, {\n      id: 'autocomplete-valid',\n      evaluate: 'autocomplete-valid-evaluate',\n      options: {\n        stateTerms: [ 'none', 'false', 'true', 'disabled', 'enabled', 'undefined', 'null', 'xoff', 'xon' ],\n        ignoredValues: [ 'text', 'pronouns', 'gender', 'message', 'content' ]\n      }\n    }, {\n      id: 'accesskeys',\n      evaluate: 'accesskeys-evaluate',\n      after: 'accesskeys-after'\n    }, {\n      id: 'focusable-content',\n      evaluate: 'focusable-content-evaluate'\n    }, {\n      id: 'focusable-disabled',\n      evaluate: 'focusable-disabled-evaluate'\n    }, {\n      id: 'focusable-element',\n      evaluate: 'focusable-element-evaluate'\n    }, {\n      id: 'focusable-modal-open',\n      evaluate: 'focusable-modal-open-evaluate'\n    }, {\n      id: 'focusable-no-name',\n      evaluate: 'focusable-no-name-evaluate'\n    }, {\n      id: 'focusable-not-tabbable',\n      evaluate: 'focusable-not-tabbable-evaluate'\n    }, {\n      id: 'frame-focusable-content',\n      evaluate: 'frame-focusable-content-evaluate'\n    }, {\n      id: 'landmark-is-top-level',\n      evaluate: 'landmark-is-top-level-evaluate'\n    }, {\n      id: 'no-focusable-content',\n      evaluate: 'no-focusable-content-evaluate'\n    }, {\n      id: 'page-has-heading-one',\n      evaluate: 'has-descendant-evaluate',\n      after: 'has-descendant-after',\n      options: {\n        selector: 'h1:not([role], [aria-level]), :is(h1, h2, h3, h4, h5, h6):not([role])[aria-level=1], [role=heading][aria-level=1]',\n        passForModal: true\n      }\n    }, {\n      id: 'page-has-main',\n      evaluate: 'has-descendant-evaluate',\n      after: 'has-descendant-after',\n      options: {\n        selector: 'main:not([role]), [role=\\'main\\']',\n        passForModal: true\n      }\n    }, {\n      id: 'page-no-duplicate-banner',\n      evaluate: 'page-no-duplicate-evaluate',\n      after: 'page-no-duplicate-after',\n      options: {\n        selector: 'header:not([role]), [role=banner]',\n        role: 'banner'\n      }\n    }, {\n      id: 'page-no-duplicate-contentinfo',\n      evaluate: 'page-no-duplicate-evaluate',\n      after: 'page-no-duplicate-after',\n      options: {\n        selector: 'footer:not([role]), [role=contentinfo]',\n        role: 'contentinfo'\n      }\n    }, {\n      id: 'page-no-duplicate-main',\n      evaluate: 'page-no-duplicate-evaluate',\n      after: 'page-no-duplicate-after',\n      options: {\n        selector: 'main:not([role]), [role=\\'main\\']'\n      }\n    }, {\n      id: 'tabindex',\n      evaluate: 'tabindex-evaluate'\n    }, {\n      id: 'alt-space-value',\n      evaluate: 'alt-space-value-evaluate'\n    }, {\n      id: 'duplicate-img-label',\n      evaluate: 'duplicate-img-label-evaluate',\n      options: {\n        parentSelector: 'button, [role=button], a[href], p, li, td, th'\n      }\n    }, {\n      id: 'explicit-label',\n      evaluate: 'explicit-evaluate'\n    }, {\n      id: 'help-same-as-label',\n      evaluate: 'help-same-as-label-evaluate'\n    }, {\n      id: 'hidden-explicit-label',\n      evaluate: 'hidden-explicit-label-evaluate'\n    }, {\n      id: 'implicit-label',\n      evaluate: 'implicit-evaluate'\n    }, {\n      id: 'label-content-name-mismatch',\n      evaluate: 'label-content-name-mismatch-evaluate',\n      options: {\n        pixelThreshold: .1,\n        occurrenceThreshold: 3\n      }\n    }, {\n      id: 'multiple-label',\n      evaluate: 'multiple-label-evaluate'\n    }, {\n      id: 'title-only',\n      evaluate: 'title-only-evaluate'\n    }, {\n      id: 'landmark-is-unique',\n      evaluate: 'landmark-is-unique-evaluate',\n      after: 'landmark-is-unique-after'\n    }, {\n      id: 'has-lang',\n      evaluate: 'has-lang-evaluate',\n      options: {\n        attributes: [ 'lang', 'xml:lang' ]\n      }\n    }, {\n      id: 'valid-lang',\n      evaluate: 'valid-lang-evaluate',\n      options: {\n        attributes: [ 'lang', 'xml:lang' ]\n      }\n    }, {\n      id: 'xml-lang-mismatch',\n      evaluate: 'xml-lang-mismatch-evaluate'\n    }, {\n      id: 'dlitem',\n      evaluate: 'dlitem-evaluate'\n    }, {\n      id: 'listitem',\n      evaluate: 'listitem-evaluate'\n    }, {\n      id: 'only-dlitems',\n      evaluate: 'invalid-children-evaluate',\n      options: {\n        validRoles: [ 'definition', 'term', 'listitem' ],\n        validNodeNames: [ 'dt', 'dd' ],\n        divGroups: true\n      }\n    }, {\n      id: 'only-listitems',\n      evaluate: 'invalid-children-evaluate',\n      options: {\n        validRoles: [ 'listitem' ],\n        validNodeNames: [ 'li' ]\n      }\n    }, {\n      id: 'structured-dlitems',\n      evaluate: 'structured-dlitems-evaluate'\n    }, {\n      id: 'caption',\n      evaluate: 'caption-evaluate'\n    }, {\n      id: 'frame-tested',\n      evaluate: 'frame-tested-evaluate',\n      after: 'frame-tested-after',\n      options: {\n        isViolation: false\n      }\n    }, {\n      id: 'no-autoplay-audio',\n      evaluate: 'no-autoplay-audio-evaluate',\n      options: {\n        allowedDuration: 3\n      }\n    }, {\n      id: 'css-orientation-lock',\n      evaluate: 'css-orientation-lock-evaluate',\n      options: {\n        degreeThreshold: 2\n      }\n    }, {\n      id: 'meta-viewport-large',\n      evaluate: 'meta-viewport-scale-evaluate',\n      options: {\n        scaleMinimum: 5,\n        lowerBound: 2\n      }\n    }, {\n      id: 'meta-viewport',\n      evaluate: 'meta-viewport-scale-evaluate',\n      options: {\n        scaleMinimum: 2\n      }\n    }, {\n      id: 'target-offset',\n      evaluate: 'target-offset-evaluate',\n      options: {\n        minOffset: 24\n      }\n    }, {\n      id: 'target-size',\n      evaluate: 'target-size-evaluate',\n      options: {\n        minSize: 24\n      }\n    }, {\n      id: 'header-present',\n      evaluate: 'has-descendant-evaluate',\n      after: 'has-descendant-after',\n      options: {\n        selector: ':is(h1, h2, h3, h4, h5, h6):not([role]), [role=heading]'\n      }\n    }, {\n      id: 'heading-order',\n      evaluate: 'heading-order-evaluate',\n      after: 'heading-order-after'\n    }, {\n      id: 'identical-links-same-purpose',\n      evaluate: 'identical-links-same-purpose-evaluate',\n      after: 'identical-links-same-purpose-after'\n    }, {\n      id: 'internal-link-present',\n      evaluate: 'internal-link-present-evaluate'\n    }, {\n      id: 'landmark',\n      evaluate: 'has-descendant-evaluate',\n      options: {\n        selector: 'main, [role=main]'\n      }\n    }, {\n      id: 'meta-refresh-no-exceptions',\n      evaluate: 'meta-refresh-evaluate',\n      options: {\n        minDelay: 72e3,\n        maxDelay: false\n      }\n    }, {\n      id: 'meta-refresh',\n      evaluate: 'meta-refresh-evaluate',\n      options: {\n        minDelay: 0,\n        maxDelay: 72e3\n      }\n    }, {\n      id: 'p-as-heading',\n      evaluate: 'p-as-heading-evaluate',\n      options: {\n        margins: [ {\n          weight: 150,\n          italic: true\n        }, {\n          weight: 150,\n          size: 1.15\n        }, {\n          italic: true,\n          size: 1.15\n        }, {\n          size: 1.4\n        } ],\n        passLength: 1,\n        failLength: .5\n      }\n    }, {\n      id: 'region',\n      evaluate: 'region-evaluate',\n      after: 'region-after',\n      options: {\n        regionMatcher: 'dialog, [role=dialog], [role=alertdialog], svg'\n      }\n    }, {\n      id: 'skip-link',\n      evaluate: 'skip-link-evaluate'\n    }, {\n      id: 'unique-frame-title',\n      evaluate: 'unique-frame-title-evaluate',\n      after: 'unique-frame-title-after'\n    }, {\n      id: 'duplicate-id-active',\n      evaluate: 'duplicate-id-evaluate',\n      after: 'duplicate-id-after'\n    }, {\n      id: 'duplicate-id-aria',\n      evaluate: 'duplicate-id-evaluate',\n      after: 'duplicate-id-after'\n    }, {\n      id: 'duplicate-id',\n      evaluate: 'duplicate-id-evaluate',\n      after: 'duplicate-id-after'\n    }, {\n      id: 'aria-label',\n      evaluate: 'aria-label-evaluate'\n    }, {\n      id: 'aria-labelledby',\n      evaluate: 'aria-labelledby-evaluate'\n    }, {\n      id: 'avoid-inline-spacing',\n      evaluate: 'avoid-inline-spacing-evaluate',\n      options: {\n        cssProperties: [ 'line-height', 'letter-spacing', 'word-spacing' ]\n      }\n    }, {\n      id: 'button-has-visible-text',\n      evaluate: 'has-text-content-evaluate'\n    }, {\n      id: 'doc-has-title',\n      evaluate: 'doc-has-title-evaluate'\n    }, {\n      id: 'error-occurred',\n      evaluate: 'exists-evaluate'\n    }, {\n      id: 'exists',\n      evaluate: 'exists-evaluate'\n    }, {\n      id: 'has-alt',\n      evaluate: 'has-alt-evaluate'\n    }, {\n      id: 'has-visible-text',\n      evaluate: 'has-text-content-evaluate'\n    }, {\n      id: 'important-letter-spacing',\n      evaluate: 'inline-style-property-evaluate',\n      options: {\n        cssProperty: 'letter-spacing',\n        minValue: .12\n      }\n    }, {\n      id: 'important-line-height',\n      evaluate: 'inline-style-property-evaluate',\n      options: {\n        multiLineOnly: true,\n        cssProperty: 'line-height',\n        minValue: 1.5,\n        normalValue: 1\n      }\n    }, {\n      id: 'important-word-spacing',\n      evaluate: 'inline-style-property-evaluate',\n      options: {\n        cssProperty: 'word-spacing',\n        minValue: .16\n      }\n    }, {\n      id: 'is-on-screen',\n      evaluate: 'is-on-screen-evaluate'\n    }, {\n      id: 'non-empty-alt',\n      evaluate: 'attr-non-space-content-evaluate',\n      options: {\n        attribute: 'alt'\n      }\n    }, {\n      id: 'non-empty-if-present',\n      evaluate: 'non-empty-if-present-evaluate'\n    }, {\n      id: 'non-empty-placeholder',\n      evaluate: 'attr-non-space-content-evaluate',\n      options: {\n        attribute: 'placeholder'\n      }\n    }, {\n      id: 'non-empty-title',\n      evaluate: 'attr-non-space-content-evaluate',\n      options: {\n        attribute: 'title'\n      }\n    }, {\n      id: 'non-empty-value',\n      evaluate: 'attr-non-space-content-evaluate',\n      options: {\n        attribute: 'value'\n      }\n    }, {\n      id: 'presentational-role',\n      evaluate: 'presentational-role-evaluate'\n    }, {\n      id: 'role-none',\n      evaluate: 'matches-definition-evaluate',\n      deprecated: true,\n      options: {\n        matcher: {\n          attributes: {\n            role: 'none'\n          }\n        }\n      }\n    }, {\n      id: 'role-presentation',\n      evaluate: 'matches-definition-evaluate',\n      deprecated: true,\n      options: {\n        matcher: {\n          attributes: {\n            role: 'presentation'\n          }\n        }\n      }\n    }, {\n      id: 'svg-non-empty-title',\n      evaluate: 'svg-non-empty-title-evaluate'\n    }, {\n      id: 'caption-faked',\n      evaluate: 'caption-faked-evaluate'\n    }, {\n      id: 'html5-scope',\n      evaluate: 'html5-scope-evaluate'\n    }, {\n      id: 'same-caption-summary',\n      evaluate: 'same-caption-summary-evaluate'\n    }, {\n      id: 'scope-value',\n      evaluate: 'scope-value-evaluate',\n      options: {\n        values: [ 'row', 'col', 'rowgroup', 'colgroup' ]\n      }\n    }, {\n      id: 'td-has-header',\n      evaluate: 'td-has-header-evaluate'\n    }, {\n      id: 'td-headers-attr',\n      evaluate: 'td-headers-attr-evaluate'\n    }, {\n      id: 'th-has-data-cells',\n      evaluate: 'th-has-data-cells-evaluate'\n    }, {\n      id: 'hidden-content',\n      evaluate: 'hidden-content-evaluate'\n    } ]\n  });\n})(typeof window === 'object' ? window : this);"],"names":["axeFunction","window","global","document","axe","_typeof","module","_excluded","_excluded2","_excluded3","_excluded4","_excluded5","_excluded6","_excluded7","_excluded8","_excluded9","_excluded0","_excluded1","_excluded10","_excluded11","_excluded12","_excluded13","_excluded14","_excluded15","_excluded16","_excluded17","_toArray","r","_arrayWithHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableRest","_wrapNativeSuper","t","_isNativeFunction","Wrapper","_construct","_getPrototypeOf","_setPrototypeOf","_defineProperty","e","_toPropertyKey","_isNativeReflectConstruct","o","p","_objectWithoutProperties","i","_objectWithoutPropertiesLoose","n","_callSuper","_possibleConstructorReturn","_assertThisInitialized","_inherits","_extends","_toConsumableArray","_arrayWithoutHoles","_nonIterableSpread","_arrayLikeToArray","_classPrivateFieldInitSpec","a","_checkPrivateRedeclaration","_classPrivateMethodInitSpec","_classPrivateFieldGet","s","_assertClassBrand","_classPrivateFieldSet","_slicedToArray","_iterableToArrayLimit","l","u","f","_classCallCheck","_defineProperties","_createClass","_toPrimitive","_createForOfIteratorHelper","_n","F","_Class_brand","_path","_CSS","_space","_r","_g","_b","_red","_green","_blue","_Class3_brand","__create","__defProp","__getProtoOf","__hasOwnProp","__getOwnPropNames","__getOwnPropDesc","__defNormalProp","obj","key","value","__markAsModule","target","__commonJS","cb","mod","__export","all","name","__exportStar","desc","_iterator","_step","_loop","err","__toModule","__publicField","require_es6_promise","exports","global2","factory","objectOrFunction","x","type2","isFunction","_isArray","isArray","len","vertxNext","customSchedulerFn","asap","callback","arg","queue2","flush","scheduleFlush","setScheduler","scheduleFn","setAsap","asapFn","browserWindow","browserGlobal","BrowserMutationObserver","isNode2","isWorker","useNextTick","useVertxTimer","useSetTimeout","useMutationObserver","iterations","observer","node","useMessageChannel","channel","globalSetTimeout","attemptVertx","vertx","then","onFulfillment","onRejection","parent","child","noop3","PROMISE_ID","makePromise","_state","invokeCallback","subscribe2","resolve$1","object","Constructor","promise","resolve","PENDING","FULFILLED","REJECTED","selfFulfillment","cannotReturnOwn","tryThen","then$$1","fulfillmentHandler","rejectionHandler","handleForeignThenable","thenable","promise2","sealed","error","fulfill","reason","reject","handleOwnThenable","handleMaybeThenable","maybeThenable","publishRejection","publish","_subscribers","length","subscribers","settled","detail","hasCallback","succeeded","initializePromise","resolver","id","nextId","validationError","Enumerator","Enumerator2","input","entry","c4","resolve$$1","_then","didError","Promise$1","resolve$$12","state","enumerator","entries","race","resolve2","reject2","_","reject$1","needsResolver","needsNew","Promise2","constructor","polyfill","local","promiseToString","require_typedarray","MAX_ARRAY_LENGTH","ECMAScript","opts","ophop","v","p2","LN2","abs","floor","log2","min","pow","round","clamp3","minimum","max2","getOwnPropNames","props","defineProp","configureProperties","makeArrayAccessors","makeArrayAccessor","index","as_signed","bits","as_unsigned","packI8","n2","unpackI8","bytes","packU8","unpackU8","packU8Clamped","packI16","unpackI16","packU16","unpackU16","packI32","unpackI32","packU32","unpackU32","packIEEE754","ebits","fbits","bias","str","roundToEven","w","fl","unpackIEEE754","j","b2","unpackF64","packF64","unpackF32","packF32","ArrayBuffer","ArrayBufferView","makeConstructor","bytesPerElement","pack","unpack","_ctor","buffer","byteOffset","array","sequence","offset","d2","byteLength","tmp","start","end","Int8Array","Uint8Array2","Uint8ClampedArray2","Int16Array","Uint16Array","Int32Array","Uint32Array3","Float32Array","Float64Array","IS_BIG_ENDIAN","u16array","u8array","DataView","makeGetter","arrayType","littleEndian","uint8Array","makeSetter","typeArray","byteArray","byteView","require_weakmap_polyfill","self2","hasOwnProperty2","hasDefine","defineProperty","WeakMap2","genId","checkInstance","isObject","methodName","prefix","rand","require_global_this","check","it","require_fails","exec","require_function_bind_native","fails","test","require_function_apply","NATIVE_BIND","FunctionPrototype","apply","call","require_function_uncurry_this","uncurryThisWithBind","fn","require_classof_raw","uncurryThis","toString","stringSlice","require_function_uncurry_this_clause","classofRaw","require_is_callable","documentAll","argument","require_descriptors","require_function_call","require_object_property_is_enumerable","$propertyIsEnumerable","getOwnPropertyDescriptor","NASHORN_BUG","V","descriptor","require_create_property_descriptor","bitmap","require_indexed_object","classof","$Object","split","require_is_null_or_undefined","require_require_object_coercible","isNullOrUndefined","$TypeError","require_to_indexed_object","IndexedObject","requireObjectCoercible","require_is_object","isCallable","require_path","require_get_built_in","path","globalThis2","aFunction","variable","namespace","method","require_object_is_prototype_of","require_environment_user_agent","navigator","userAgent","require_environment_v8_version","process2","Deno","versions","v8","match","version","require_symbol_constructor_detection","V8_VERSION","$String","symbol","require_use_symbol_as_uid","NATIVE_SYMBOL","require_is_symbol","getBuiltIn","isPrototypeOf","USE_SYMBOL_AS_UID","$Symbol","require_try_to_string","require_a_callable","tryToString","require_get_method","aCallable","P","func","require_ordinary_to_primitive","pref","val","require_is_pure","require_define_global_property","require_shared_store","IS_PURE","defineGlobalProperty","SHARED","store","require_shared","require_to_object","require_has_own_property","toObject","require_uid","postfix","require_well_known_symbol","shared","hasOwn2","uid","Symbol2","WellKnownSymbolsStore","createWellKnownSymbol","require_to_primitive","isSymbol","getMethod","ordinaryToPrimitive","wellKnownSymbol","TO_PRIMITIVE","exoticToPrim","result","require_to_property_key","toPrimitive","require_document_create_element","document2","EXISTS","require_ie8_dom_define","DESCRIPTORS","createElement","require_object_get_own_property_descriptor","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPropertyKey","IE8_DOM_DEFINE","$getOwnPropertyDescriptor","O","require_is_forced","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","require_function_bind_context","bind","that","require_v8_prototype_define_bug","require_an_object","require_object_define_property","V8_PROTOTYPE_DEFINE_BUG","anObject","$defineProperty","ENUMERABLE","CONFIGURABLE","WRITABLE","Attributes","current","require_create_non_enumerable_property","definePropertyModule","require_export","createNonEnumerableProperty","wrapConstructor","NativeConstructor","_Wrapper","a2","options","source","TARGET","GLOBAL","STATIC","PROTO","nativeSource","targetPrototype","FORCED","USE_NATIVE","VIRTUAL_PROTOTYPE","sourceProperty","targetProperty","nativeProperty","resultProperty","require_es_object_has_own","$","require_has_own","require_has_own2","require_has_own3","require_shared_key","keys","require_correct_prototype_getter","require_object_get_prototype_of","sharedKey","CORRECT_PROTOTYPE_GETTER","IE_PROTO","ObjectPrototype","require_math_trunc","ceil","require_to_integer_or_infinity","trunc","number","require_to_absolute_index","toIntegerOrInfinity","integer","require_to_length","require_length_of_array_like","toLength","require_array_includes","toAbsoluteIndex","lengthOfArrayLike","createMethod","IS_INCLUDES","$this","el","fromIndex","require_hidden_keys","require_object_keys_internal","indexOf","hiddenKeys","push","names","require_enum_bug_keys","require_object_keys","internalObjectKeys","enumBugKeys","require_object_to_array","objectGetPrototypeOf","objectKeys","propertyIsEnumerable","IE_BUG","TO_ENTRIES","IE_WORKAROUND","require_es_object_values","$values","require_values","require_values2","require_values3","require_to_string_tag_support","TO_STRING_TAG","require_classof","TO_STRING_TAG_SUPPORT","CORRECT_ARGUMENTS","tryGet","tag","require_to_string","require_string_multibyte","charAt","charCodeAt","CONVERT_TO_STRING","pos","S","position","size","first","second","require_weak_map_basic_detection","require_internal_state","NATIVE_WEAK_MAP","OBJECT_ALREADY_INITIALIZED","TypeError2","set2","get2","has","enforce","getterFor","TYPE","metadata","STATE","require_function_name","getDescriptor","PROPER","require_object_define_properties","Properties","require_html","require_object_create","definePropertiesModule","html","documentCreateElement","GT","LT","PROTOTYPE","SCRIPT","EmptyConstructor","scriptTag","content","NullProtoObjectViaActiveX","activeXDocument2","temp","NullProtoObjectViaIFrame","iframe","JS","iframeDocument","activeXDocument","_NullProtoObject","require_define_built_in","require_iterators_core","create","getPrototypeOf","defineBuiltIn","ITERATOR","BUGGY_SAFARI_ITERATORS","IteratorPrototype","PrototypeOfArrayIteratorPrototype","arrayIterator","NEW_ITERATOR_PROTOTYPE","require_object_to_string","require_set_to_string_tag","TAG","SET_METHOD","require_iterators","require_iterator_create_constructor","setToStringTag","Iterators","returnThis","IteratorConstructor","NAME","next","ENUMERABLE_NEXT","require_function_uncurry_this_accessor","require_is_possible_prototype","require_a_possible_prototype","isPossiblePrototype","require_object_set_prototype_of","uncurryThisAccessor","aPossiblePrototype","CORRECT_SETTER","setter","proto","require_iterator_define","FunctionName","createIteratorConstructor","setPrototypeOf","IteratorsCore","PROPER_FUNCTION_NAME","CONFIGURABLE_FUNCTION_NAME","KEYS","VALUES","ENTRIES","Iterable","DEFAULT","IS_SET","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","CurrentIteratorPrototype","methods","KEY","require_create_iter_result_object","done","require_es_string_iterator","InternalStateModule","defineIterator","createIterResultObject","STRING_ITERATOR","setInternalState","getInternalState","iterated","point","require_iterator_close","iterator","kind","innerResult","innerError","require_call_with_safe_iteration_closing","iteratorClose","require_is_array_iterator_method","ArrayPrototype","require_inspect_source","functionToString","require_is_constructor","inspectSource","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","called","require_create_property","require_get_iterator_method","require_get_iterator","getIteratorMethod","usingIterator","iteratorMethod","require_array_from","callWithSafeIterationClosing","isArrayIteratorMethod","isConstructor","createProperty","getIterator","$Array","arrayLike","IS_CONSTRUCTOR","argumentsLength","mapfn","mapping","step","require_check_correctness_of_iteration","SAFE_CLOSING","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","require_es_array_from","from","checkCorrectnessOfIteration","INCORRECT_ITERATION","iterable","require_from","require_from2","require_from3","require_utils","isIdentStart","isIdent","isHex","escapeIdentifier","chr","charCode","extraCharCode","escapeStr","require_parser_context","utils_1","parseCssSelector","pseudos","attrEqualityMods","ruleNestingOperators","substitutesEnabled","getStr","quote","escapeTable","esc","hex","getIdent","skipWhitespace","parse3","res","parseSelector","selector","parseSingleSelector","rule","parseRule","currentRule","op","attr","operator","attrValue","pseudoName","pseudo","require_render","renderEntity","entity","currentEntity","parts","cn","require_lib","parser_context_1","render_1","CssSelectorParser2","CssSelectorParser3","_i","_a","pseudos_1","pseudos_2","pseudos_3","pseudos_4","operators","operators_1","operators_2","mods","mods_1","mods_2","require_doT","doT2","doNotSkipEncoded","encodeHTMLRules","matchHTML","code","m3","startend","skip","resolveDefs","block","def","assign","m4","param","rw","unescape","tmpl","cse","needhtmlencode","sid","indv","elsecase","iterate","vname","iname","require_noop","require_is_value","_undefined","require_normalize_options","isValue","forEach","src","opts1","require_is_implemented","sign","require_shim","require_sign","require_to_integer","require_to_pos_integer","toInteger","require_resolve_length","toPosInt","optsLength","fnLength","isAsync","require_valid_callable","require_valid_value","require_iterate","callable","objPropertyIsEnumerable","defVal","list","thisArg","compareFn","require_for_each","require_registered_extensions","require_is_implemented2","require_is_implemented3","require_shim2","require_keys","require_shim3","dest","require_assign","require_is_object2","map","require_custom","captureStackTrace","message","err2","ext","require_mixin","getOwnPropertyNames","getOwnPropertySymbols","sourceObject","require_define_length","arg1","arg2","generate","mixin","cache2","args","require_is","require_is2","possibleTypes","require_is3","require_is4","isPrototype","require_is5","classRe","require_is_implemented4","require_shim4","searchString","require_contains","require_d","isPlainFunction","normalizeOpts","contains3","dscr","require_event_emitter","defineProperties","on","once","off","emit","descriptors","base","listener","_once","listeners","candidate","require_is_implemented5","arr","require_is_implemented6","require_implementation","naiveFallback","require_global_this2","require_is_implemented7","validTypes","require_is_symbol2","require_validate_symbol","require_generate_name","objPrototype","created","ie11BugWorkaround","require_standard_symbols","NativeSymbol","SymbolPolyfill","require_symbol_registry","validateSymbol","registry","require_polyfill","generateName","setupStandardSymbols","setupSymbolRegistry","HiddenSymbol","isNativeSafe","description","require_es6_symbol","require_is_arguments","objToString","require_is_function","isFunctionStringTag","require_is_string","require_shim5","iteratorSymbol","isArguments","validValue","isString2","mapFn","Context2","require_from4","require_to_array","require_resolve_resolve","toArray2","slice","resolveArgs","resolvers","require_resolve_normalize","userNormalizer","normalizer","require_configure_map","customError","defineLength","ee","resolveResolve","resolveNormalize","_on","original","conf","memLength","del","_clear","extDel","extGet","extHas","getListeners","setListeners","deleteListeners","memoized","oldCache","require_plain","extensions","configure4","resolveLength","extFn","require_primitive","require_get_primitive_fixed","currentLength","require_is_implemented8","numberIsNaN","require_shim6","require_is_nan","require_e_index_of","objHasOwnProperty","searchElement","require_get","lastId","require_get_1","argsMap","require_get_fixed","require_map","targetObj","require_next_tick","ensureCallable","byObserver","Observer","currentQueue","require_async","aFrom","objectMap","nextTick","tbi","waiting","currentCallback","currentContext","currentArgs","last2","context","origCb","cb2","args2","cb3","require_primitive_set","require_is_callable2","require_validate_stringifiable","stringifiable","require_validate_stringifiable_value","ensureValue","require_safe_to_string","require_to_short_string_representation","safeToString","reNewLine","_char","require_is_promise","isPromise","require_promise","primitiveSet","ensureString","toShortString","supportedModes","mode","promises","ignore","isFailed","onSuccess","count","onFailure","resolvedMode","nextTickFailure","require_dispose","dispose","resultArray","require_max_timeout","require_valid_timeout","maxTimeout","require_max_age","timeout","maxAge","timeouts","preFetchAge","preFetchTimeouts","require_lru_queue","limit","oldIndex","nuIndex","require_max","toPosInteger","lruQueue","hit","require_ref_counter","require_memoizee","plain","definitions","constants","definition","priority","group","constants_default","log","log_default","whitespaceRegex","AbstractVirtualNode","className","classAttr","abstract_virtual_node_default","utils_exports","dq_element_default","rule_error_default","aggregate_default","aggregate_checks_default","aggregate_node_results_default","aggregate_result_default","are_styles_set_default","assert_default","check_helper_default","clone2","closest_default","_collectResultsFromFrames","_contains","_convertSelector","css_parser_default","deep_merge_default","escape_selector_default","extend_meta_data_default","_filterHtmlAttrs","_finalizeRuleResult","find_by_default","get_all_checks_default","_getAncestry","get_base_lang_default","get_check_message_default","get_check_option_default","_getEnvironmentData","_getFlattenedTree","_getFrameContexts","get_friendly_uri_end_default","get_node_attributes_default","get_node_from_tree_default","_getPreloadConfig","get_root_node_default","_getRule","get_scroll_default","get_scroll_state_default","get_selector_default","_getSelectorData","_getShadowSelector","_getStandards","get_stylesheet_factory_default","get_xpath_default","inject_style_default","_isArrayLike","_isContextObject","_isContextProp","_isContextSpec","is_hidden_default","is_html_element_default","_isLabelledFramesSelector","_isLabelledShadowDomSelector","_isNodeInContext","is_shadow_root_default","valid_langs_default","is_xhtml_default","_matchAncestry","_matches","_matchesExpression","element_matches_default","memoize_default","merge_results_default","_nodeLookup","node_serializer_default","node_sorter_default","_objectHasOwn","parse_crossorigin_stylesheet_default","parse_sameorigin_stylesheet_default","parse_stylesheet_default","parse_tabindex_default","performance_timer_default","_pollyfillElementsFromPoint","_preload","preload_cssom_default","preload_media_default","process_message_default","_publishMetaData","query_selector_all_default","query_selector_all_filter_default","queue_default","_respondable","rule_should_run_default","_select","_sendCommandToFrame","_serializeError","set_scroll_state_default","_shadowSelect","_shadowSelectAll","_shouldPreload","to_array_default","token_list_default","unique_array_default","uuid_default","valid_input_type_default","_validLangs","aggregate","values2","initial","sorting","CANTTELL_PRIO","FAIL_PRIO","checkMap","checkTypes","anyAllNone","functor","out","aggregateChecks","nodeResOriginal","nodeResult","priorities","impacts","ruleResult","_ref","checkType","checkResult","aggregateNodeResults","nodeResults","resultList","groupName","impactGroup","impactList","failure","copyToGroup","resultObject","subResult","resultCopy","resultGroup","aggregateResult","results","areStylesSet","styles","stopAt","styl","att","assert","bool","toArray","thing","escapeSelector","codeUnit","firstCodeUnit","isMostlyNumbers","splitString","splitIndex","trimRight","uriParser","url","protocol","domain","port","query","hash","_splitString","_splitString2","_splitString3","_splitString4","_url$split","_url$split2","_splitString5","_splitString6","_splitString7","_splitString8","_splitString9","_splitString0","getFriendlyUriEnd","uri","currentDomain","_options$maxLength","maxLength","_uriParser","pathEnd","lastDotIndex","getNodeAttributes","matchesSelector","candidates","imports_exports","import_from2","_Color","import_css_selector_parser","import_dot","emoji_regex_default","import_memoizee","import_es6_promise","import_typedarray","import_has_own","import_values","import_from","output","nextKey","predicate","k","currentElement","fun","search","flat","depth","acc","cur","multiplyMatrices","A","B","B_cols","product","row","col","ret","_iterator2","_step2","isString","type","toPrecision","precision","integerLength","p10","parseFunction","isFunctionRegex","isNumberRegex","$0","last","interpolate","interpolateInv","mapRange","to2","parseCoordGrammar","coordGrammars","coordGrammar2","range2","util","Hooks","name2","env","hooks","defaults","WHITES","getWhite","adapt$1","W1","W2","XYZ","ε$4","_ColorSpace2","_ColorSpace","_options$coords","_ref2","_options$white","_options$formats","_this$formats$functio","_this$formats","_this$formats2","_coords","white2","format","_getPath","coords","_ref3","_ref3$epsilon","epsilon","coordMeta","meta","_meta$range","_this$formats$functio2","_processFormat","space","_ref4","myPath","otherPath","connectionSpace","connectionSpaceIndex","_i2","_i3","_ref5","_range2$min","_iterator3","_step3","alias","argType","_len","alternatives","_key","ref","workingSpace","coordType","coord","_ref$split","_ref$split2","_ref6","normalizedCoord","_meta$name","_meta","coordFormats","_ref149","_ref150","outputType","fromRange","toRange","suffix","_coordFormats$i","_space2","ColorSpace","XYZ_D65","RGBColorSpace","_ColorSpace3","_options$referred","_this","_options$toBase","_options$fromBase","rgb","xyz","parse","_String","alpha","_iterator4","_step4","_loop2","colorSpec","_colorSpec$ids","argCount","_ret","didYouMean","_ColorSpace$registry$","cssId","_iterator5","_step5","_loop3","_alpha","_ref7","_coords$i","_ref8","providedType","coordName","_ret2","_iterator6","_step6","formatId","color","_color$alpha","getColor","getAll","get","prop","_ColorSpace$resolveCo","setAll","set","_ColorSpace$resolveCo2","XYZ_D50","ε$3","ε3$1","κ$1","white$1","lab","Lab","constrain","angle","adjust","arc","angles","_angles$map","_angles$map2","a1","angleDiff","lch","_Lab","L","hue","ε2","LCH","_LCH","Lightness","Chroma","Hue","Gfactor","π$1","r2d","d2r$1","deltaE2000","sample","_ref9","_ref9$kL","kL","_ref9$kC","kC","_ref9$kH","kH","_lab$from","_lab$from2","L1","b1","C1","_lab$from3","_lab$from4","L2","C2","Cbar","C7","G","adash1","adash2","Cdash1","Cdash2","h1","h2","ΔL","ΔC","hdiff","hsum","habs","Δh","ΔH","Ldash","Cdash","Cdash7","hdash","lsq","SL","SC","T","SH","Δθ","RC","RT","dE","ε$2","inGamut","_ref0","_ref0$epsilon","clone","toGamut","_ref1","_ref1$method","_ref1$space","spaceColor","to","clipped","mapSpace","coordId","mappedColor","bounds","low","high","clipped2","deltaE2","_bounds","_bounds$i","_ref10","inGamut2","serialize","_ref12","_color$space$getForma","_ref11","_ref11$precision","_ref11$format","_ref11$inGamut","inGamut$1","customOptions","_format$ids","strAlpha","toXYZ_M$5","fromXYZ_M$5","REC2020Linear","α","β","REC2020","RGB","toXYZ_M$4","fromXYZ_M$4","P3Linear","toXYZ_M$3","fromXYZ_M$3","sRGBLinear","KEYWORDS","coordGrammar","coordGrammarNumber","sRGB","rgba","component","_ref13","_ref13$collapse","collapse","collapsible","P3","_i4","_arr","_display","_CSS2","_ref14","_ref14$space","fallbackColor","distance","color1","color2","coords1","coords2","c12","c22","equals","getLuminance","setLuminance","register$2","Color3","luminance","contrastWCAG21","Y1","Y2","_ref15","normBG","normTXT","revTXT","revBG","blkThrs","blkClmp","loClip","deltaYmin","scaleBoW","loBoWoffset","scaleWoB","fclamp","Y","linearize","contrastAPCA","background","foreground","C","Sapc","R","_foreground$coords","lumTxt","_background$coords","lumBg","Ytxt","Ybg","BoW","contrastMichelson","_ref16","denom","max","contrastWeber","_ref17","contrastLstar","ε$1","ε3","κ","white","lab_d65","phi","contrastDeltaPhi","Lstr1","Lstr2","deltaPhiStar","contrast2","contrastMethods","contrast","_o","algorithm","rest","algorithms","uv","_getAll","_getAll2","X","Z","xy","_getAll3","_getAll4","sum","register$1","chromaticity","deltaE76","π","d2r","deltaECMC","_ref18","_ref18$l","_ref18$c","_lab$from5","_lab$from6","_lch$from","_lch$from2","H1","_lab$from7","_lab$from8","Δa","Δb","H2","C4","Yw$1","XYZ_Abs_D65","AbsXYZ","b$1","g","n$1","ninv$1","c1$2","c2$2","c3$2","pinv","d","d0","XYZtoCone_M","ConetoXYZ_M","ConetoIab_M","IabtoCone_M","Jzazbz","_XYZ","Xa","Ya","Za","Xm","Ym","LMS","PQLMS","num","_multiplyMatrices","_multiplyMatrices2","Iz","az","bz","Jz","Jzazbz2","_Jzazbz","_multiplyMatrices3","_multiplyMatrices4","jzczhz","jzazbz","_jzazbz","jzczhz2","deltaEJz","_jzczhz$from","_jzczhz$from2","Jz1","Cz1","Hz1","_jzczhz$from3","_jzczhz$from4","Jz2","Cz2","Hz2","ΔJ","c1$1","c2$1","c3$1","m1","m2","im1","im2","XYZtoLMS_M$1","LMStoIPT_M","IPTtoLMS_M","LMStoXYZ_M$1","ictcp","LMStoICtCp","ICtCp","ICtCptoLMS","deltaEITP","_ictcp$from","_ictcp$from2","I1","T1","P1","_ictcp$from3","_ictcp$from4","I2","T2","P2","XYZtoLMS_M","LMStoXYZ_M","LMStoLab_M","LabtoLMS_M","OKLab","LMSg","OKLab2","deltaEOK","_OKLab$from","_OKLab$from2","_OKLab$from3","_OKLab$from4","deltaEMethods","deltaE","_o2","_o2$method","lighten","amount","lightness","darken","variations","mix","_ref19","_ref20","_o3","outputSpace","premultiplied","range","steps","colorRange","isRange","_colorRange$rangeArgs","_options","maxDeltaE","deltaEMethod","_options$steps","steps2","_options$maxSteps","maxSteps","rangeOptions","_ref21","totalDelta","actualSteps","maxDelta","ΔΕ","prev","_color","options2","progression","rangeArgs","_ref22","θ1","θ2","_adjust","_adjust2","register","interpolation","HSL","_rgb","g2","h","hsl","_hsl","HSV","_hsl2","hsv","_hsv","hwb","_hsv2","hwb2","_hwb","gray","toXYZ_M$2","fromXYZ_M$2","A98Linear","a98rgb","toXYZ_M$1","fromXYZ_M$1","ProPhotoLinear","Et","Et2","prophoto","oklch","oklab","_oklab","oklch2","_oklch","Yw","ninv","m","minv","c1","c2","c3","rec2100Pq","b","c","scale","rec2100Hlg","CATs","adapt","defineCAT","_ref23","_multiplyMatrices5","_multiplyMatrices6","ρs","γs","βs","_multiplyMatrices7","_multiplyMatrices8","ρd","γd","βd","scale2","scaled_cone_M","adapt_M","toXYZ_M","fromXYZ_M","ACEScg","ε","ACES_min_nonzero","ACES_cc_max","acescc","spaces","Color","_this2","_len2","_key2","_loop4","_len3","_key3","_len4","_key4","_o$instance","instance","returns","ret2","_len5","_key5","_i5","_Object$keys","addSpaceAccessors","_space$aliases","propId","_this3","property","receiver","_ColorSpace$resolveCo3","_ColorSpace$resolveCo4","memoizeImplementation","isXHTML","doc","generateSelector2","elm","stack","item","ignoredAttributes","MAXATTRIBUTELENGTH","attrCharsRegex","newlineChars","escapeAttribute","getAttributeNameValue","at","atnv","friendly","countSort","filterAttributes","domTree","currentLevel","_loop5","cl","ind","uncommonClasses","selectorData","retVal","classData","tagData","getNthChildString","siblings","hasMatchingSiblings","sibling","nthChild","getElmId","getBaseSelector","xhtml","uncommonAttributes","attData","getThreeLeastCommonFeatures","features","clss","atts","feat","generateSelector","_options$toRoot","toRoot","similar","findSimilar","getSelector","generateAncestry","nodeName2","parentElement","parentNode","getXPathArray","element","_id","xpathToString","xpathArray","getXpath","_cache","cache","validateKey","creator","validateCreator","cache_default","getNodeFromTree","vNode","dom_exports","_createGrid","find_elms_in_context_default","_findNearbyElms","find_up_default","find_up_virtual_default","focus_disabled_default","get_composed_parent_default","get_element_by_reference_default","get_element_coordinates_default","get_element_stack_default","get_modal_dialog_default","_getNodeGrid","get_overflow_hidden_ancestors_default","get_root_node_default2","get_scroll_offset_default","get_tabbable_elements_default","get_target_rects_default","get_target_size_default","get_text_element_stack_default","get_viewport_size_default","get_visible_child_text_rects_default","has_content_default","has_content_virtual_default","_hasLangText","idrefs_default","inserted_into_focus_order_default","_isCurrentPageLink","_isFocusable","is_html5_default","_isHiddenForEveryone","is_hidden_with_css_default","_isInTabOrder","is_in_text_block_default","_isInert","is_modal_open_default","_isMultiline","is_natively_focusable_default","is_node_default","is_offscreen_default","is_opaque_default","_isSkipLink","is_visible_default","_isVisibleOnScreen","_isVisibleToScreenReaders","is_visual_content_default","reduce_to_elements_below_floating_default","shadow_elements_from_point_default","url_props_from_attribute_default","_visuallyContains","visually_overlaps_default","_visuallySort","getRootNode","findElmsInContext","_ref24","_ref24$elm","root","escapedValue","findUpVirtual","findUp","_rectsOverlap","rect1","rect2","getOverflowHiddenAncestors","ancestors","overflow","clipRegex","clipPathRegex","nativelyHidden","displayHidden","visibilityHidden","_ref25","isAncestor","contentVisibiltyHidden","_ref26","ariaHidden","opacityHidden","scrollHidden","scroll","elHeight","elWidth","overflowHidden","_ref27","nodes","rect","hasPositionedAncestorBetween","nodeRect","clipHidden","matchesClip","matchesClipPath","areaHidden","visibleFunction","mapEl","mapElName","mapElRootNode","refs","detailsHidden","_vNode$parent","firstSummary","ancestor","hiddenMethods","_ref28","skipAncestors","_ref28$isAncestor","isHiddenSelf","isHiddenAncestors","getComposedParent","getScrollOffset","docElement","body","getElementCoordinates","scrollOffset","xOffset","yOffset","getViewportSize","win","noParentScrolled","isOffscreen","_ref29","_nodeLookup2","domNode","leftBoundary","dir","hiddenMethods2","isVisibleOnScreenVirtual","_getBoundingRect","rectA","rectB","top","right","bottom","left","_isPointInRect","_ref30","_ref31","y","math_exports","_getIntersectionRect","_getOffset","_getRectCenter","_hasVisualOverlap","_rectHasMinimumSize","_splitRects","leftX","rightX","topY","bottomY","_ref32","width","height","roundingMargin","minSize","_ref33","vTarget","vNeighbor","minRadiusNeighbour","targetRects","neighborRects","targetBoundingBox","targetCenter","minDistance","_iterator7","_step7","closestPoint","getClosestPoint","distance2","pointDistance","neighborTargetSize","neighborBoundingBox","neighborCenter","centerDistance","pointA","pointB","vNodeA","vNodeB","outerRect","overlapRects","uniqueRects","_iterator8","_step8","_loop6","overlapRect","rects","inputRect","splitRect","clipRect","yAligned","xAligned","between","isEnclosedRect","computeRect","baseRect","ROOT_LEVEL","DEFAULT_LEVEL","FLOAT_LEVEL","POSITION_LEVEL","nodeIndex","rootGrid","parentVNode","virtual_node_default","createStackingContext","Grid","addNodeToGrid","subGrid","treeWalker","_vNode","createStackingOrder","scrollRegionParent","findScrollRegionParent","grid","_subGrid","isStackingContext","zIndex","transform","mixBlendMode","filter","perspective","clipPath","mask","maskImage","maskBorder","willChange","contain","isFlexOrGridContainer","display2","treeOrder","stackingOrder","_ref34","stackLevel2","stackLevel","getStackLevel","getRealZIndex","checkedNodes","virtualNode","overflowHiddenNodes","clientRect","_vNode$_grid","visibleRect","overflowNode","gridRect","gridCell","container","_ref35","_this$cells","_row","rowIndex","colIndex","gridPosition","_gridPosition","loopNegativeIndexMatrix","gridRow","_ref36","margin","matrix","_matrix$_negativeInde","startOffset","endOffset","_index","_matrix$_index","_nodeLookup3","_grid$cells","selfIsFixed","hasFixedPosition","neighbors","vNeighbors","_iterator9","_step9","getModalDialog","_dialogs$find","dialogs","modalDialog","dialog","_getNodeFromGrid","_ref37","getNodeFromGrid","viewRect","cols","cells","intersection","_ref38","isInertSelf","isInertAncestors","allowedDisabledNodeNames","isDisabledAttrAllowed","focusDisabled","_nodeLookup4","fieldsetDisabled","angularSkipLinkRegex","angularRouterLinkRegex","anchor","_window$location","href","hostname","pathname","currentPageUrl","getElementByReference","fragment","aNode","bNode","boundaries","boundary","_window$Node","DOCUMENT_POSITION_FOLLOWING","DOCUMENT_POSITION_CONTAINS","DOCUMENT_POSITION_CONTAINED_BY","docPosition","DOMOrder","isDescendant","aPosition","getPositionOrder","bPosition","isFloated","floatStyle","floated","getRectStack","recursed","center","floorX","floorY","gridCellNode","rectX","rectY","gridContainer","getElementStack","getTabbableElements","nodeAndDescendents","tabbableElements","isFocusable2","tabIndex","isNativelyFocusable","_nodeLookup5","_nodeLookup6","tabindex","_nodeLookup7","getTargetRects","overlappingVNodes","isDescendantNotInTabOrder","obscuringRects","_ref39","vAncestor","getTargetSize","getLargestRect","rectAisMinimum","rectBisMinimum","areaA","areaB","text_exports","accessible_text_default","_accessibleTextVirtual","_autocomplete","form_control_value_default","_formControlValueMethods","has_unicode_default","is_human_interpretable_default","_isIconLigature","is_valid_autocomplete_default","label_default","label_text_default","label_virtual_default2","native_element_type_default","_nativeTextAlternative","native_text_methods_default","remove_unicode_default","sanitize_default","subtree_text_default","title_text_default","unsupported_default","visible_default","visible_text_nodes_default","visible_virtual_default","idrefs","accessibleText","arialabelledbyText","_nodeLookup8","accessibleName","accessibleNameAdd","arialabelledby_text_default","_arialabelText","_nodeLookup9","ariaAttrs","aria_attrs_default","ariaRoles","aria_roles_default","dpubRoles","dpub_roles_default","graphicsRoles","graphics_roles_default","htmlElms","html_elms_default","cssColors","css_colors_default","originals","standards","configureStandards","config","propName","resetStandards","standards_default","isUnsupportedRole","role","roleDefinition","is_unsupported_role_default","isValidRole","_ref40","allowAbstract","_ref40$flagUnsupporte","flagUnsupported","isRoleUnsupported","is_valid_role_default","getExplicitRole","_ref41","fallback","abstracts","dpub","roleAttr","roleList","firstValidRole","get_explicit_role_default","getElementsByContentType","get_elements_by_content_type_default","getGlobalAriaAttrs","attrName","get_global_aria_attrs_default","toGrid","table","rows","rowLength","columnIndex","cellLength","colSpan","rowspanAttr","rowspanValue","rowSpan","to_grid_default","getCellPosition","cell","tableGrid","get_cell_position_default","_getScope","_nodeLookup0","scope","headerRow","headerCol","isColumnHeader","is_column_header_default","isRowHeader","is_row_header_default","sanitize","getSectioningContentSelector","getSectioningContentPlusMainSelector","hasAccessibleName","_ref42","_ref42$checkTitle","checkTitle","implicitHtmlRoles","sectioningElement","emptyAlt","hasGlobalAria","suggestionsSourceElement","listElement","implicit_html_roles_default","fromPrimative","someString","matcher","matcherType","pattern","from_primative_default","hasAccessibleName2","has_accessible_name_default","fromFunction","getValue","from_function_default","attributes","attributes_default","condition","explicitRole","explicit_role_default","implicitRole","implicit_role_default","implicit_role_default2","nodeName","node_name_default","properties","properties_default","semanticRole","get_role_default","semantic_role_default","matchers","fromDefinition","definitionItem","matcherName","matchMethod","from_definition_default","matches2","matches_default","matches_default2","getElementSpec","_ref43","_ref43$noMatchAccessi","noMatchAccessibleName","standard","variant","spec","variantName","_variant$variantName","matches4","matchProperties","_propName","get_element_spec_default","implicitRole2","_ref44","chromium","_get_element_spec_def","chromiumRole","inheritsPresentationChain","getInheritedRole","explicitRoleOptions","parentNodeNames","parentRole","hasConflictResolution","resolveImplicitRole","_ref45","implicitRole3","presentationalRole","resolveRole","_ref46","noImplicit","roleOptions","_nodeLookup1","explicitRole2","getRole","_ref47","noPresentational","alwaysTitleElements","titleText","_nodeLookup10","namedFromContents","_ref48","strict","roleDef","named_from_contents_default","getOwnedVirtual","actualNode","children","owns","get_owned_virtual_default","isVisibleToScreenReadersVirtual","visibleVirtual","screenReader","noRecursing","_nodeLookup11","visibleMethod","visible2","_child$props","nodeType","nodeValue","nonTextInputTypes","isNativeTextbox","is_native_textbox_default","isNativeSelect","is_native_select_default","isAriaTextbox","is_aria_textbox_default","isAriaListbox","is_aria_listbox_default","isAriaCombobox","is_aria_combobox_default","rangeRoles","isAriaRange","is_aria_range_default","controlValueRoles","nativeTextboxValue","nativeSelectValue","ariaTextboxValue","ariaListboxValue","ariaComboboxValue","ariaRangeValue","formControlValue","unsupportedRoles","valueMethods","valueString","accName","_nodeLookup12","_nodeLookup13","selectedOptions","option","_nodeLookup14","_nodeLookup15","selected","owned","_nodeLookup16","listbox","_nodeLookup17","valueNow","subtreeText","alreadyProcessed2","_context","inControlContext","inLabelledByContext","_get_element_spec_def2","contentTypes","subtreeDescendant","contentText","appendAccessibleText","phrasingElements","contentTextAdd","labelText","labelContext","explicitLabels","getExplicitLabels","implicitLabel","labels","label3","text","defaultButtonValues","nativeTextMethods","descendantText","attrText","_ref49","nodeNames2","textMethods","findTextMethods","elmSpec","getUnicodeNonBmpRegExp","getPunctuationRegExp","getSupplementaryPrivateUseRegExp","getCategoryFormatRegExp","hasUnicode","emoji","nonBmp","punctuations","textVNode","differenceThreshold","occurrenceThreshold","canvasContext","canvas","fonts","style","fontFamily","font","fontSize","fontStyle","firstChar","diff","compareData","pixel","compareWith","differences","expectedWidth","totalWidth","_char2","actualWidth","pixelDifference","sizeDifference","prepareContext","shouldIgnoreHidden","shouldIgnoreIconLigature","computationSteps","textNodeValue","_context$occurrenceTh","ignoreIconLigature","pixelThreshold","virtualnode","removeUnicode","isHumanInterpretable","isEmpty","isNonDigitCharacter","isSymbolicText","isUnicodeOrPunctuation","symbolicText","noUnicodeStr","isValidAutocomplete","autocompleteValue","_ref50","_ref50$looseTyped","looseTyped","_ref50$stateTerms","stateTerms","_ref50$locations","locations","_ref50$qualifiers","qualifiers","_ref50$standaloneTerm","standaloneTerms","_ref50$qualifiedTerms","qualifiedTerms","_ref50$ignoredValues","ignoredValues","autocompleteTerms","purposeTerm","labelVirtual","label_virtual_default","visible","labelVirtual2","_id2","label","nativeElementType","visibleTextNodes","parentVisible","getVisibleChildTextRects","clientRects","textNode","contentRects","getContentRects","isOutsideNodeBounds","filterHiddenRects","centerPoint","visibleRects","contentRect","getTextElementStack","visualRoles","isVisualContent","_nodeLookup18","hiddenTextElms","hasChildTextNodes","_ref51","hasContentVirtual","noRecursion","ignoreAria","hasContent","insertedIntoFocusOrder","isHiddenWithCSS","descendentVisibilityValue","_nodeLookup19","_isHiddenWithCSS","displayValue","HIDDEN_VISIBILITY_VALUES","visibilityValue","isHTML5","getRoleType","_window","get_role_type_default","walkDomNode","blockLike","isBlock","getBlockParent","parentBlock","isInTextBlock","virtualParent","parentText","widgetText","inBrBlock","currNode","isModalOpen","modalPercent","definiteModals","viewport","percentWidth","percentHeight","points","stacks","_loop7","modalElement","_ret3","lastLineEnd","lineCount","_iterator0","_step0","isNode","cacheKey","incompleteData","incomplete_data_default","elementHasImage","graphicNodes","bgImageStyle","hasBgImage","hasGradient","element_has_image_default","hexRegex","hslRegex","_Color2","Color2","red","green","blue","clamp","redString","greenString","blueString","colorString","unit","radToDeg","turnToDeg","prototypeArrayFrom","_color2","rSRGB","gSRGB","bSRGB","_add","colorEntires","_colorEntires$sort","_colorEntires$sort2","Cmin","Cmid","Cmax","color_default","rad","turn","getOwnBackgroundColor","elmStyle","bgColor","opacity","get_own_background_color_default","isOpaque","firstPageLink","generateFirstPageLink","link","clipRegex2","clipPathRegex2","isClipped","isAreaVisible","_ref52","isVisible","_window$Node2","cacheName","_ref53","DOCUMENT_NODE","DOCUMENT_FRAGMENT_NODE","ariaHiddenValue","parent2","visible3","scrollableWithZeroHeight","scrollableWithZeroWidth","posAbsoluteOverflowHiddenAndSmall","reduceToElementsBelowFloating","elements","targetNode","floatingPositions","finalElements","targetFound","currentNode","parentScrollAncestor","getScrollAncestor","nextScrollAncestor","contains2","boundingRect","shadowElementsFromPoint","nodeX","nodeY","shadowStack","urlPropsFromAttribute","attribute","parser2","parserPathname","_getPathnameOrFilenam","getPathnameOrFilename","filename","getPort","getSearchPairs","getHashRoute","excludePorts","searchStr","pairs","pair","_pair$split","_pair$split2","_key6","_pair$split2$","hashRegex","hasMatch","_hasMatch","matchedStr","visuallyOverlaps","parentRect","parentTop","parentLeft","parentScrollArea","nodeIndex2","VirtualNode","_abstract_virtual_nod","shadowId","_this4","_this$actualNode","_id3","attrs","CACHE_KEY","getOuterHtml","truncateElement","maxLen","maxAttrNameOrValueLen","deepStr","attributeStrList","shallowNode","elementNodeMap","attrString","_iterator1","_step1","_step1$value","strLen","_iterator10","_step10","_step10$value","_name","_value","_attr","strAttr","getSource","DqElement","_this$spec$selector","_this$_virtualNode","_cache_default$get","_this$spec$source","frame","parentFrame","_ref54","elementRef","absolutePaths","checkHelper","_data","dqElm","cloneRecused","seen","_window2","_window3","out2","_key7","parser","expressions","expression","matchesTag","exp","matchesClasses","matchesAttributes","nodeAtt","matchesId","matchesPseudos","matchExpression","escapeRegExp","reUnescape","convertAttributes","attributeKey","attributeValue","regexp","convertClasses","classes","convertPseudos","convertExpressions","newExp","optimizedMatchesExpression","matchAnyParent","machedExpression","closest","noop","funcGuard","queue","tasks","started","remaining","completeQueue","complete","defaultFail","failed","createResolve","abort","msg","pop","task","q","defer","uuid","_rng","_crypto","_rnds8","_rnds","BufferClass","_byteToHex","_hexToByte","parse2","buf","ii","oct","unparse","bth","_seedBytes","_nodeId","_clockseq","_lastMSecs","_lastNSecs","v1","clockseq","msecs","nsecs","dt","tl","tmh","v4","rnds","errorTypes","stringifyMessage","_ref55","topic","channelId","messageId","keepalive","getSource2","parseMessage","dataString","isRespondableMessage","_data2","buildErrorObject","postedMessage","errorName","ErrConstructor","application","assertIsParentWindow","assetNotGlobalWindow","assertIsFrameWindow","channels","storeReplyHandler","replyHandler","sendToParent","getReplyHandler","deleteReplyHandler","messageIds","createMessageId","uuid2","isNewMessage","postMessage","allowedOrigins","origin","processError","createResponder","originIsAllowed","messageHandler","_ref56","topicHandler","responder","callReplyHandler","_ref57","frameMessenger","handler","messageEvent","setDefaultFrameMessenger","respondable2","closeHandler","postMessage2","topicHandlers","messageListener","_ref58","open","post","close","parameters","_parameters$options$p","_parameters$options","pingWaitTime","callAxeStart","_parameters$options$f","_parameters$options2","frameWaitTime","customSerializer","nodeSerializer","serializer","runOptions","_customSerializer","cloneLimitedDqElement","nodeSpec","parentFrameSpec","_customSerializer2","rawResults","rawResult","_ref59","_i6","_arr2","_ref60","relatedNodes","fromFrame2","hasAncestry","hasXpath","hasSelectors","getAllChecks","findBy","pushFrame","resultSet","frameSpec","checks","spliceNodes","firstFromFrame","_i7","resultSort","nodeIndexSort","normalizeResult","mergeResults","frameResults","mergedResult","frameResult","getFrameSpec","_res$error","nodeA","nodeB","nodeIndexesA","nodeIndexesB","_i8","indexA","indexB","parentContent","command","parameter","frames","_ref61","frameElement","rej","params","otherVNode","deepMerge","_len6","sources","_key8","_i9","_Object$keys2","_key9","extendMetaData","possibleShadowRoots","isShadowRoot","tokenList","idsKey","getNodesMatchingExpression","selectorMap","_i0","isGlobalSelector","nodeSet","_matchingNodes$nodes","matchingNodes","findMatchingNodes","matchedNodes","isComplexSelector","_selectorMap$idsKey$e","_selectorMap$exp$tag","cachedNodes","getSharedValues","_selectorMap$Class","_cachedNodes","_i1","_selectorMap","_cachedNodes2","cacheSelector","cacheNodeSelectors","hasShadowRoot","tree","flattenTree","getSlotChildren","childNodes","createNode","createChildren","childNode","getBaseLang","lang","failureSummary","nodeData","failingChecks","failure_summary_default","incompleteFallbackMessage","resultKeys","processAggregate","serialElm","trimElementSpec","normalizeRelatedNodes","resultKey","checkRes","relatedNode","_elmSpec$source","_elmSpec$element","_elmSpec$selector","_elmSpec$ancestry","_elmSpec$xpath","dataRegex","substitute","regex","replace","processMessage","str2","_str","getCheckMessage","checkId","getCheckOption","ruleID","ruleCheckOption","checkOption","enabled","_win$location","getTestEnvironment","innerHeight","innerWidth","_ref62","getOrientation","_ref63","screen","createFrameContext","_ref64","focusable","page","frameFocusable","getBoundingSize","normalizeContext","contextSpec","assert2","include","normalizeContextList","exclude","selectorList","normalizedList","_i10","normalizedSelector","normalizeContextSelector","assertLabelledFrameSelector","normalizeFrameSelectors","frameSelectors","normalizedSelectors","_iterator11","_step11","assertLabelledShadowDomSelector","isShadowSelector","fromFrameSelector","fromShadowDomSelector","parseSelectorArray","_i11","pushUniqueFrameSelector","nodeList","selectorArray","frameSelector","frameContext","Context","flatTree","_spec","_spec2","_spec3","_spec4","_this5","getRootNode2","pushUniqueFrame","isPageContext","validateContext","_ref65","_ref66","selectors","_i12","_Context","_ref67","ruleId","_ref68","getScroll","overflowX","overflowY","scrollableX","isScrollable","scrollableY","overflowProp","getElmScrollRecursive","scrolls","getScrollState","windowScroll","getStyleSheetFactory","dynamicDoc","_options$isCrossOrigi","isCrossOrigin","_options$isLink","isLink","styleSheet","injectStyle","head","contextList","isHidden","hidden","isHtmlElement","_node$props$nodeName","_node$props","_ref69","_ref69$include","_ref69$exclude","filterInclude","filterExcluded","deepestInclude","getDeepest","deepestExclude","collection","deepest","_iterator12","_step12","ancestryA","ancestryB","selectorA","ancestorIndex","selectorB","selectorIndex","nodeSorter","parseSameOriginStylesheet","sheet","importedUrls","rules","cssImportRules","cssImportUrlsNotAlreadyImported","importUrl","cssRuleIndex","newPriority","isCrossOriginRequest","nonImportCSSRules","parseStylesheet","isSameOrigin","isSameOriginStylesheet","parseCrossOriginStylesheet","request","event","parseTabindex","performanceTimer","now","axeStartTime","axeStarted","markName","_window$performance","measureName","startMark","endMark","_window$performance2","keepMarks","_this6","_window$performance3","_window$performance4","logMeasure","req","axeStart","measures","measure","_i13","currentTime","_window$performance5","_len7","markNames","_key0","_i14","_markNames","usePointer","cssProp","cssDisableVal","previousPointerEvents","uniqueArray","arr1","arr2","elem","createLocalVariables","vNodes","anyLevel","thisLevel","parentShadowId","recycledLocalVariable","matchExpressions","recycledLocalVariables","_currentLevel$anyLeve","_currentLevel$thisLev","childOnly","childAny","combinedLength","added","_i15","_currentLevel$anyLeve2","_currentLevel$anyLeve3","_currentLevel$anyLeve4","querySelectorAllFilter","preloadCssom","_ref70","_ref70$treeRoot","treeRoot","rootNodes","getAllRootNodesInTree","convertDataToStylesheet","getCssomForAllRootNodes","assets","flattenAssets","ids","_ref71","rootNode","sheets","getStylesheetsOfRootNode","rootIndex","parseOptions","sheetIndex","getStylesheetsFromDocumentFragment","getStylesheetsFromDocument","filterStylesheetsWithSameHref","filerStyleAndLinkAttributesInDocumentFragment","stylesheet","filterMediaIsPrint","linkHref","linkRel","isStyle","media","hrefs","preloadMedia","_ref72","_ref72$treeRoot","mediaVirtualNodes","_ref73","sourceWithSrc","_ref74","isMediaElementReady","onMediaReady","preloadFunctionsMap","_getPreloadConfig2","preloadTimeout","asset","preloadAssets","isValidPreloadObject","preloadObj","_constants_default$pr","areRequestedAssetsValid","checksData","rulesData","shouldBeTrue","extender","shouldBeFalse","getIncompleteReason","checkData","messages","getDefaultMsg","sourceData","querySelectorAll","matchTags","runOnly","defaultExclude","matching","ruleShouldRun","ruleOptions","filterAttrs","attributes2","outerHTML","setNodeAttributes","attributeMatches","outerIncludes","getOuterIncludes","isInContext","getContextFilter","_i16","mergeArrayUniques","includes","_i17","iteration","serial","_iterator13","_step13","RuleError","_Error","_ref76","_error$name","_this7","errorNode","setScroll","setScrollState","scrollState","_ref77","selectorArr","selectRecursive","selectorStr","selectAllRecursive","_ref78","_ref79","restSelector","elms","_iterator14","_step14","validInputTypes","langs","isValidLang","_i18","langArray","codes","_char3","newLang","SerialVirtualNode","_abstract_virtual_nod2","serialNode","_this8","normaliseProps","normaliseAttrs","_this$_attrs$attrName","nodeNamesToTypes","nodeTypeToName","nodeNames","_serialNode$nodeName","_ref80","_serialNode$nodeType","_ref81","_ref81$attributes","attrMap","mappedName","serial_virtual_node_default","cleanup","cleanupErrors","flattenedTree","cleanup_default","reporters","defaultReporter","hasReporter","reporterName","getReporter","reporter","addReporter","isDefault","configure","audit","specVersion","_specVersion$split","_specVersion$split2","canary","_version$split$map","_version$split$map2","major","minor","patch","_axe$version$split","_axe$version$split2","axeVersion","axeCanary","_axeVersion$split$map","_axeVersion$split$map2","axeMajor","axeMinor","axePatch","modifiedRules","configure_default","frameMessenger2","frameHandler","getRules","tags","matchingRules","ruleData","matchingRule","rd","get_rules_default","hiddenContentEvaluate","allowlist","parentStyle","hidden_content_evaluate_default","table_exports","get_all_cells_default","get_headers_default","is_data_cell_default","is_data_table_default","is_header_default","traverse_default","getAllCells","tableElm","cellIndex","traverseForHeaders","headerType","startCell","colspan","rowspan","rowStart","colStart","rowEnd","colEnd","headers","tableCell","getHeaders","header","rowHeaders","colHeaders","isDataCell","isDataTable","childIndex","childLength","hasBorder","sampleRow","bgImage","_rowIndex","isHeader","_id4","traverseTable","traverse","startPos","aria_exports","allowed_attr_default","get_accessible_refs_default","get_element_unallowed_roles_default","get_roles_by_type_default","get_roles_with_name_from_contents_default","implicit_nodes_default","is_accessible_ref_default","is_aria_role_allowed_on_element_default","_isComboboxPopup","label_default2","lookup_table_default","required_attr_default","required_context_default","required_owned_default","validate_attr_default","validate_attr_value_default","allowedAttr","idRefsRegex","cacheIdRefs","idRefs","refAttrs","_id5","_i19","_iterator15","_step15","token","_i20","getAccessibleRefs","_idRefs$get","idRefsByRoot","isAriaRoleAllowedOnElement","dpubRoles2","landmarkRoles","getRoleSegments","roles","nodeRoles","getElementUnallowedRoles","allowImplicit","_nodeLookup20","roleSegments","roleIsAllowed","getAriaRolesByType","roleName","get_aria_roles_by_type_default","getRolesByType","roleType","getAriaRolesSupportingNameFromContent","get_aria_roles_supporting_name_from_content_default","getRolesWithNameFromContents","isNull","isNotNull","lookupTable","_ref82","_ref83","_ref84","_ref85","_ref86","_ref87","hasImplicitListitemRole","_ref88","_ref89","withinOptionList","_ref90","_ref91","implicitNodes","implicit","isAccessibleRef","_ref92","popupRoles","vParent","nearestParentWithRole","isCombobox","ownedCombobox","label2","requiredAttr","requiredContext","requiredOwned","validateAttrValue","attrInfo","minValue","validateAttr","attrDefinition","thHasDataCellsEvaluate","reffedHeaders","headers2","ariaLabel","hasCell","th_has_data_cells_evaluate_default","messageKeys","notInTable","notTh","selfRef","emptyHdrs","tdHeadersAttrEvaluate","cellRoleById","cellId","badCells","headersAttr","headerId","_iterator16","_step16","messageKey","tdHasHeaderEvaluate","hasHeaders","td_has_header_evaluate_default","scopeValueEvaluate","scope_value_evaluate_default","same_caption_summary_evaluate_default","sameCaptionSummaryEvaluate","summary","captionNode","isCaptionNode","caption","html5ScopeEvaluate","html5_scope_evaluate_default","captionFakedEvaluate","firstRow","curr","caption_faked_evaluate_default","svgNonEmptyTitleEvaluate","titleNode","_ref93","titleText2","svg_non_empty_title_evaluate_default","standards_exports","presentationalRoleEvaluate","nonEmptyIfPresentEvaluate","non_empty_if_present_evaluate_default","isOnScreenEvaluate","is_on_screen_evaluate_default","inlineStyleProperty","cssProperty","absoluteValues","maxValue","_options$normalValue","normalValue","noImportant","multiLineOnly","declaredPropValue","getNumberValue","_ref94","computedStyle","cssPropValue","parsedValue","hasAltEvaluate","has_alt_evaluate_default","existsEvaluate","exists_evaluate_default","docHasTitleEvaluate","title","doc_has_title_evaluate_default","avoidInlineSpacingEvaluate","overriddenProperties","avoid_inline_spacing_evaluate_default","ariaLabelledbyEvaluate","aria_labelledby_evaluate_default","ariaLabelEvaluate","aria_label_evaluate_default","duplicateIdEvaluate","foundNode","duplicate_id_evaluate_default","duplicateIdAfter","uniqueIds","duplicate_id_after_default","uniqueFrameTitleEvaluate","unique_frame_title_evaluate_default","uniqueFrameTitleAfter","titles","unique_frame_title_after_default","skipLinkEvaluate","skip_link_evaluate_default","implicitAriaLiveRoles","regionEvaluate","regionlessNodes","getRegionlessNodes","findRegionlessElms","isRegion","isShallowlyHidden","_ref95","ariaLive","landmarkRoles2","regionAfter","iframeResults","frameAncestry","_iterator17","_step17","iframeResult","region_after_default","normalizeFontWeight","weight","getTextContainer","nextNode","outerText","innerText","_i21","getStyleValues","isHeaderStyle","styleA","styleB","margins","pAsHeadingEvaluate","currentIndex","nextSibling","prevSibling","currStyle","nextStyle","prevStyle","optionsPassLength","optionsFailLength","headingLength","paragraphLength","blockquote","p_as_heading_evaluate_default","separatorRegex","validRedirectNumRegex","metaRefreshEvaluate","_ref96","minDelay","maxDelay","_content$split","_content$split2","redirectStr","redirectDelay","internalLinkPresentEvaluate","links","vLink","internal_link_present_evaluate_default","commons_exports","color_exports","forms_exports","center_point_of_rect_default","element_is_distinct_default","filtered_rect_stack_default","_flattenColors","_flattenShadowColors","_getBackgroundColor2","_getBackgroundStack","get_contrast_default","_getForegroundColor","get_rect_stack_default","_getStackingContext","_getStrokeColorsFromShadows","_getTextShadowColors","has_valid_contrast_ratio_default","_parseTextShadows","_stackingContextToColor","centerPointOfRect","_getFonts","elementIsDistinct","ancestorNode","nodeStyle","edge","borderClr","hasStyle","tDec","getRectStack2","boundingStack","filteredArr","filteredRectStack","rectStack","isSame","rectList","elementIndex","nonSeparableBlendModes","blendFunctions","Cb","Cs","D","sourceColor","backdrop","blendMode","blendingResult","blend","simpleAlphaCompositing","αo","clamp2","Cr","Cg","αs","αb","fgColor","sortPageBackground","shallowArraysEqual","elmStack","bodyIndex","bgNodes","htmlBgColor","htmlIndex","_i22","SHADOW_STROKE_ALPHA","VISIBLE_SHADOW_MIN_PX","OPAQUE_STROKE_OFFSET_MIN_PX","edges","parsedShadows","_ref97","_ref97$ignoreEdgeCoun","ignoreEdgeCount","shadowMap","getShadowColorsMap","shadowsByColor","_ref98","_ref99","colorStr","sides","edgeCount","side","_ref100","shadowGroupToColor","shadow","colorMap","_iterator18","_step18","_colorMap$colorStr","_step18$value","pixels","borders","_pixels","offsetX","offsetY","_ref101","strokeColor","density","isSolid","textShadow","shadows","colorMatch","pixelMatch","pixelUnit","_ref102","_ref103","minRatio","maxRatio","shadowColors","fontSizeStr","thinShadows","_iterator19","_step19","_shadow$pixels","_shadow$pixels$","blurRadius","_strokeColors","_color3","textShadowColor","strokeColors","_ref104","shadowColor","blurRadiusToAlpha","relativeBlur","stackingContext","contextMap","bgElm","_stackingOrder2","bgVNode","getOwnBackgroundColor2","_ref105","_ref106","_stackingOrder","ancestorVNode2","context2","addToStackingContext","ancestorVNode","_context$descendants","reduceToColor","createStackingContext2","backdropContext","sourceContext","ancestorContext","_vNode$getComputedSty","normalizeBlendMode","blendmode","_contextMap$get","bgElms","shadowOutlineEmMax","bgColorCache","_getBackgroundColor","_getTextShadowColors2","_bgColors","textRects","bgColors","_i23","bgElmStyle","fullyEncompasses","pageBgs","getPageBackgroundColors","blendedColor","normalizeBlendMode2","stackContainsBody","pageColors","htmlStyle","bodyStyle","bodyBgColor","bodyBgColorApplies","getContrast","bL","fL","colorStack","getStrokeColor","getTextColor","fgColors","_i24","_colorStack","colorFn","_color4","stackingContexts","findNodeInContexts","calculateBlendedForegroundColor","_ref107","_ref107$textStrokeEmM","textStrokeEmMin","strokeWidth","relativeStrokeWidth","_context$ancestor","contexts","_iterator20","_step20","_context$vNode","found","hasValidContrastRatio","bg","fg","isBold","isSmallFont","expectedContrastRatio","is_disabled_default","disabledNodeNames","isDisabled","disabledState","ariaDisabled","identicalLinksSamePurposeEvaluate","accText","afterData","identical_links_same_purpose_evaluate_default","isIdenticalObject","aProps","bProps","aValue","bValue","identicalLinksSamePurposeAfter","incompleteResults","_ref108","uniqueResults","nameMap","_loop8","_currentResult$relate","currentResult","_currentResult$data","urlProps","sameNameResults","_ref109","resultNum","isSameUrl","_ref110","identical_links_same_purpose_after_default","getLevel","headingRole","ariaHeadingLevel","ariaLevel","_ref111","_ref112","headingLevel","headingOrderEvaluate","headingOrder","heading_order_evaluate_default","headingOrderAfter","getHeadingOrder","getHeadingOrderOutcome","_headingOrder$index$l","_headingOrder$index","_headingOrder$level","_headingOrder","findHeadingOrderIndex","currLevel","prevLevel","_ref113","_ref114","mergeHeadingOrder","_ref115","level","mergedHeadingOrder","_result$data","frameHeadingOrder","shortenArray","normalizedHeadingOrder","heading","addFrameToHeadingAncestry","getFrameIndex","ancestry","spliceLength","targetSizeEvaluate","hasMinimumSize","nearbyElms","overflowingContent","filterOverflowingContent","_filterByElmsOverlap","filterByElmsOverlap","fullyObscuringElms","partialObscuringElms","mapActualNodes","negativeOutcome","toDecimalSize","obscuredWidgets","filterFocusableWidgets","largestInnerRect","getLargestUnobscuredArea","allTabbable","nearbyElm","isEnclosedRect2","isDescendantNotInTabOrder2","_iterator21","_step21","getCssPointerEvents","obscuredNodes","_ref116","unobscuredRects","getLargestRect2","_ref117","roundingMargin2","targetOffsetEvaluate","minOffset","closeNeighbors","closestOffset","_iterator22","_step22","roundToSingleDecimal","_ref118","metaViewportScaleEvaluate","_ref119","_ref119$scaleMinimum","scaleMinimum","_ref119$lowerBound","lowerBound","contentValue","_contentValue$split","_contentValue$split2","curatedKey","curatedValue","userScalableAsFloat","meta_viewport_scale_evaluate_default","cssOrientationLockEvaluate","_ref120","_ref120$cssom","cssom","_ref121","_ref121$degreeThresho","degreeThreshold","isLocked","relatedElements","rulesGroupByDocumentFragment","groupCssomByDocument","_loop9","_Object$keys3","_i25","_rulesGroupByDocument","orientationRules","isMediaRuleWithOrientation","_ref122","cssRules","cssRule","locked","getIsOrientationLocked","cssObjectModel","_ref123","_ref124","cssText","_ref125","selectorText","transformStyle","transformDegrees","getTransformDegrees","rotateDegrees","getRotationInDegrees","degrees","_matches2","transformFn","transformFnValue","transformFunction","getAngleInDegrees","_transformFnValue$spl","_transformFnValue$spl2","z","angleWithUnit","getAngleInDegreesFromMatrixTransform","_ref126","_ref127","convertRadToDeg","convertGradToDeg","convertTurnToDeg","_values","b3","radians","sinB","cosB","rotateZRadians","grad","css_orientation_lock_evaluate_default","noAutoplayAudioEvaluate","hasControls","_options$allowedDurat","allowedDuration","playableDuration","getPlayableDuration","playbackRange","getPlaybackRange","_match","ranges","convertHourMinSecToSeconds","hhMmSs","secs","mins","no_autoplay_audio_evaluate_default","frameTestedEvaluate","frame_tested_evaluate_default","joinStr","frameTestedAfter","iframes","ancestry2","frame_tested_after_default","captionEvaluate","tracks","hasCaptions","caption_evaluate_default","structuredDlitemsEvaluate","hasDt","hasDd","_i26","structured_dlitems_evaluate_default","onlyListitemsEvaluate","hasNonEmptyTextNode","atLeastOneListitem","isEmpty2","badNodes","badRoleNodes","badRoles","isLi","isListItemRole","only_listitems_evaluate_default","onlyDlitemsEvaluate","ALLOWED_ROLES","tagName","listitemEvaluate","parentNodeName","invalidChildrenEvaluate","issues","vChildren","mapWithNested","_vChild$actualNode","_vChildren$shift","vChild","nested","isDivGroup","vGrandChildren","issue","getInvalidSelector","_ref128","_ref128$validRoles","validRoles","_ref128$validNodeName","validNodeNames","_vChild$props","dlitemEvaluate","parentTagName","dlitem_evaluate_default","xmlLangMismatchEvaluate","primaryLangValue","primaryXmlLangValue","xml_lang_mismatch_evaluate_default","validLangEvaluate","invalid","langAttr","langVal","baselangVal","invalidLang","valid_lang_evaluate_default","hasValue","hasLangEvaluate","hasLang","has_lang_evaluate_default","landmarkIsUniqueEvaluate","accessibleText2","landmark_is_unique_evaluate_default","landmarkIsUniqueAfter","uniqueLandmarks","findMatch","someResult","matchedResult","landmark_is_unique_after_default","titleOnlyEvaluate","labelText2","ariaDescribedBy","title_only_evaluate_default","multipleLabelEvaluate","ATVisibleLabels","labelledby","multiple_label_evaluate_default","isStringContained","compare","curatedCompareWith","curateString","curatedCompare","labelContentNameMismatchEvaluate","_options$occurrenceTh","visibleText","label_content_name_mismatch_evaluate_default","implicitEvaluate","implicit_evaluate_default","hiddenExplicitLabelEvaluate","_id6","isNameEmpty","hidden_explicit_label_evaluate_default","helpSameAsLabelEvaluate","help_same_as_label_evaluate_default","explicitEvaluate","_this9","explicitLabel","explicit_evaluate_default","duplicateImgLabelEvaluate","duplicate_img_label_evaluate_default","altSpaceValueEvaluate","alt","isOnlySpace","alt_space_value_evaluate_default","tabindexEvaluate","tabindex_evaluate_default","noFocusableContentEvaluate","focusableDescendants2","getFocusableDescendants","notHiddenElements","usesUnreliableHidingStrategy","landmarkIsTopLevelEvaluate","landmarks","nodeRole","landmark_is_top_level_evaluate_default","frameFocusableContentEvaluate","focusableDescendants","focusableNotTabbableEvaluate","elementsThatCanBeDisabled","pointerEvents","focusable_not_tabbable_evaluate_default","focusableNoNameEvaluate","focusable_no_name_evaluate_default","focusableModalOpenEvaluate","_ref129","focusable_modal_open_evaluate_default","focusableElementEvaluate","isContenteditable","contenteditable","focusable_element_evaluate_default","focusableDisabledEvaluate","focusable_disabled_evaluate_default","focusableContentEvaluate","tabbableContentElements","focusable_content_evaluate_default","accesskeysEvaluate","accesskeys_evaluate_default","accesskeysAfter","accesskeys_after_default","pageNoDuplicateEvaluate","page_no_duplicate_evaluate_default","pageNoDuplicateAfter","page_no_duplicate_after_default","matchesDefinitionEvaluate","matches_definition_evaluate_default","hasTextContentEvaluate","hasDescendant","matchingElms","has_descendant_evaluate_default","pageHasElmAfter","elmUsedAnywhere","has_descendant_after_default","attrNonSpaceContentEvaluate","attributeIsEmpty","attr_non_space_content_evaluate_default","autocompleteValidEvaluate","_node","autocomplete2","autocomplete_valid_evaluate_default","autocompleteAppropriateEvaluate","allowedTypesMap","autocompleteAttr","term","allowedTypes","autocomplete_appropriate_evaluate_default","blockLike2","linkInTextBlockStyleEvaluate","isBlock2","hasPseudoContent","_i27","_arr3","getContrast2","c1lum","c2lum","blockLike3","isBlock3","linkInTextBlockEvaluate","requiredContrastRatio","allowSameColor","nodeColor","parentColor","nodeBackgroundColor","parentBackgroundColor","textContrast","backgroundContrast","_incomplete_data_defa","link_in_text_block_evaluate_default","colorContrastEvaluate","ignoreUnicode","ignoreLength","ignorePseudo","boldValue","boldTextPt","largeTextPt","contrastRatio","pseudoSizeThreshold","textIsEmojis","fontWeight","bold","ptSize","_ref130","expected","minThreshold","maxThreshold","pseudoElm","findPseudoElement","contrastContributor","fgBgContrast","bgShContrast","fgShContrast","isValid","truncatedResult","missing","equalRatio","shortTextContent","_ref131","_ref131$pseudoSizeThr","_ref131$ignorePseudo","minimumSize","beforeSize","getPseudoElementArea","afterSize","matchPseudoStyle","pseudoWidth","parseUnit","pseudoHeight","hasUnicodeChars","hasNonUnicodeChars","unitRegex","_ref132","_ref133","_ref133$","_ref133$2","VALID_TAG_NAMES_FOR_SCROLLABLE_REGIONS","VALID_ROLES_FOR_SCROLLABLE_REGIONS","validScrollableTagName","validScrollableRole","validScrollableSemanticsEvaluate","valid_scrollable_semantics_evaluate_default","unsupportedroleEvaluate","isUnsupported","unsupportedrole_evaluate_default","noImplicitExplicitLabelEvaluate","no_implicit_explicit_label_evaluate_default","isElementFocusableEvaluate","is_element_focusable_evaluate_default","invalidroleEvaluate","allRoles","allInvalid","invalidrole_evaluate_default","hasWidgetRoleEvaluate","has_widget_role_evaluate_default","hasGlobalAriaAttributeEvaluate","globalAttrs","has_global_aria_attribute_evaluate_default","nonePresentationOnElementWithNoImplicitRole","explicitRoles","hasImplicitRole","fallbackroleEvaluate","fallbackrole_evaluate_default","deprecatedroleEvaluate","brailleRoleDescriptionEquivalentEvaluate","_virtualNode$attr","brailleRoleDesc","roleDesc","brailleLabelEquivalentEvaluate","_virtualNode$attr2","brailleLabel","ariaValidAttrValueEvaluate","needsReview","aria","skipAttrs","preChecks","hasPopup","isStringType","_standards_default$ar","ariaValidAttrEvaluate","aria_valid_attr_evaluate_default","ariaUnsupportedAttrEvaluate","unsupportedAttrs","unsupported","aria_unsupported_attr_evaluate_default","ariaRoledescriptionEvaluate","supportedRoles","aria_roledescription_evaluate_default","getMissingContext","ownGroupRoles","reqContext","includeElement","allowsGroup","getAriaOwners","owners","_id7","ariaRequiredParentEvaluate","missingParents","_i28","aria_required_parent_evaluate_default","ariaRequiredChildrenEvaluate","reviewEmpty","required","ownedRoles","getOwnedRoles","unallowed","_ref134","_ref135","_ref136","getUnallowedSelector","hasRequiredChildren","isContent","ownedVirtual","_loop0","globalAriaAttr","getGlobalAriaAttr","hasGlobalAriaOrFocusable","requiredRole","_ref137","_vNode$props","_ref138","ariaRequiredAttrEvaluate","_virtualNode$attr3","requiredAttrs","isStaticSeparator","isClosedCombobox","missingAttrs","requiredAttr2","hasImplicitAttr","_elmSpec$implicitAttr","ariaProhibitedAttrEvaluate","elementsAllowedAriaLabel","prohibitedList","listProhibitedAttrs","prohibited","textContent","roleSpec","getClosestAncestorRoleType","ariaLevelEvaluate","aria_level_evaluate_default","ariaHiddenBodyEvaluate","aria_hidden_body_evaluate_default","ariaErrormessageEvaluate","errorMessageAttr","hasAttr","invaid","hasInvallid","validateAttrValue2","idref","ariaConditionalRowAttr","_invalidTableRowAttrs","_invalidTableRowAttrs2","_ref139","invalidTableRowAttrs","invalidAttrs","invalidAttr","owner","getRowOwner","ownerRole","rowOwnerQuery","ariaConditionalCheckboxAttr","_virtualNode$props","ariaChecked","normalizeAriaChecked","checkState","getCheckState","ariaCheckedVal","conditionalRoleMap","ariaConditionalAttrEvaluate","ariaBusyEvaluate","ariaAllowedRoleEvaluate","_options$allowImplici","_options$ignoredTags","ignoredTags","unallowedRoles","aria_allowed_role_evaluate_default","ariaAllowedAttrEvaluate","allowed","_iterator23","_step23","ignoredAttrs","abstractroleEvaluate","abstractRoles","abstractrole_evaluate_default","xmlLangMismatchMatches","xml_lang_mismatch_matches_default","windowIsTopMatches","window_is_top_matches_default","svgNamespaceMatches","svg_namespace_matches_default","widgetNotInline","matchesFns","isWidgetType","isNotAreaElement","hasWidgetAncestorInTabOrder","hasWidgetAncestorInTabOrderMemoized","tableOrGridRoleMatches","summaryIsInteractiveMatches","isSlottedElm","_vNode$actualNode","domParent","skipLinkMatches","skip_link_matches_default","scrollableRegionFocusableMatches","isNoneEmptyElement","presentationRoleConflictMatches","presentation_role_conflict_matches_default","pAsHeadingMatches","nodeText","isSentence","siblingsAfter","p_as_heading_matches_default","noExplicitNameRequired","_ref140","accessibleNameRequired","no_explicit_name_required_matches_default","object_is_loaded_matches_default","objectHasLoaded","_node$ownerDocument","notHtmlMatches","not_html_matches_default","noRoleMatches","no_role_matches_default","noNegativeTabindexMatches","no_negative_tabindex_matches_default","noNamingMethodMatches","_get_element_spec_def3","namingMethods","no_naming_method_matches_default","noEmptyRoleMatches","no_empty_role_matches_default","noAutoplayAudioMatches","no_autoplay_audio_matches_default","nestedInteractiveMatches","nested_interactive_matches_default","linkInTextBlockMatches","link_in_text_block_matches_default","dataTableMatches","layout_table_matches_default","landmarkUniqueMatches","isLandmarkVirtual","landmarkHasBodyContextMatches","nativeScopeFilter","landmark_has_body_context_matches_default","labelMatches","label_matches_default","labelContentNameMismatchMatches","widgetRoles","isWidgetType2","rolesWithNameFromContents","label_content_name_mismatch_matches_default","isVisibleOnScreenMatches","hasVisibleTextMatches","isInitiatorMatches","is_initiator_matches_default","insertedIntoFocusOrderMatches","inserted_into_focus_order_matches_default","identicalLinksSamePurposeMatches","hasAccName","identical_links_same_purpose_matches_default","htmlNamespaceMatches","html_namespace_matches_default","headingMatches","hasImplicitChromiumRoleMatches","has_implicit_chromium_role_matches_default","frameTitleHasTextMatches","frame_title_has_text_matches_default","frameFocusableContentMatches","_context$size","_context$size2","frame_focusable_content_matches_default","duplicateIdMiscMatches","idSelector","idMatchingElms","duplicate_id_misc_matches_default","duplicateIdAriaMatches","duplicate_id_aria_matches_default","duplicateIdActiveMatches","duplicate_id_active_matches_default","dataTableMatches2","data_table_matches_default","dataTableLargeMatches","tableArray","data_table_large_matches_default","colorContrastMatches","_virtualNode$props2","inputType","nonTextInput","formElements","textIndent","nodeParentLabel","labelNode","labelVirtual3","explicitControl","explicitControlVirtual","implicitControl","ariaLabelledbyControls","virtualControls","control","hasRealTextChildren","clippingAncestors","overlaps","withinOverflow","color_contrast_matches_default","removeUnicodeOptions","bypassMatches","bypass_matches_default","autocompleteMatches","ariaReadonly","excludedInputTypes","autocomplete_matches_default","ariaRequiredParentMatches","aria_required_parent_matches_default","ariaRequiredChildrenMatches","aria_required_children_matches_default","shouldMatchElement","ariaHiddenFocusMatches","aria_hidden_focus_matches_default","ariaHasAttrMatches","aria_has_attr_matches_default","ariaAllowedRoleMatches","aria_allowed_role_matches_default","ariaAllowedAttrMatches","_i29","aria_allowed_attr_matches_default","metadataFunctionMap","metadata_function_map_default","CheckResult","check_result_default","createExecutionContext","normalizeOptions","Check","checkOptions","helper","_options2","_options2$enabled","_this0","check_default","RuleResult","rule_result_default","Rule","parentAudit","markStart","markEnd","markHiddenStart","markHiddenEnd","checkQueue","_this1","resolveNode","rejectNode","getResult","_this10","hasResults","_result","_this11","markMatchesStart","markMatchesEnd","findAfterChecks","findCheckResults","checkID","checkResults","filterChecks","sanitizeNodes","checkTypes2","_this12","afterChecks","beforeResults","afterResults","_result$nodes","changeAnyAllResults","changeNoneResult","dotRegex","Audit","locale","checkIDs","_i30","_id8","_check$messages","pass","fail","incomplete","ruleIDs","_i31","_id9","help","failureSummaries","_i32","failureSummary2","failureMessage","defaultLocale","_i33","_id0","mergeCheckLocale","_i34","_id1","mergeRuleLocale","_i35","_key1","mergeFailureMessage","mergeFallbackMessage","defaultOrigin","getDefaultOrigin","_iterator24","_step24","getDefaultConfiguration","unpackToObject","allRulesToRun","getRulesToRun","runNowRules","runLaterRules","nowRulesQueue","getDefferedRule","preloaderQueue","queueForNowRulesAndPreloader","nowRulesAndPreloaderResults","assetsFromQueue","nowRulesResults","laterRulesQueue","deferredRule","laterRuleResults","createIncompleteErrorResult","ruleIds","hasTag","hasRule","only","unmatchedTags","branding","previous","_this13","metaData","getHelpUrl","audit_default","splitRules","serialError","none","_ref141","brand","setupGlobals","hasWindow","hasDoc","resetGlobals","teardown","teardown_default","runRules","load","runCommand","cleanupFn","respond","Plugin","_done","impl","registerPlugin","plugin","plugins_default","reset","reset_default","runVirtualRule","normalizeRunParams","_ref142","_ref144","_options$reporter","_axe$_audit","_ref143","typeErr","noop2","run4","_len8","_key10","_normalizeRunParams","_normalizeRunParams$c","_getPromiseHandlers","getPromiseHandlers","handleError","handleRunRules","teardown2","wrappedReject","createReport","errorRunRules","_resolve","_reject","runPartial","_len9","_key11","_normalizeRunParams2","contextObj","_ref145","environmentData","finishRun","partialResults","_ref147","_options$reporter2","_axe$_audit2","_ref146","setFrameSpec","createReport2","frameStack","_iterator25","_step25","partialResult","frameSpecs","getMergedFrameSpecs","_ref148","childFrameSpecs","childFrameSpec","setup","setup_default","naReporter","_options3","toolOptions","na_default","noPassesReporter","_options4","_processAggregate","violations","no_passes_default","rawReporter","transformedResults","transformedResult","types","_i36","_types","raw_default","rawEnvReporter","_options5","raw","raw_env_default","v1Reporter","_options6","addFailureSummaries","v1_default","v2Reporter","_options7","v2_default","_thisWillBeDeletedDoNotUse","exposed_for_testing_default","i1","l1","this"],"mappings":"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AG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAK,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAA,CAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,EAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAK,CAAA,CAAI,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAC,CAAA,CAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,EAAI,EAAG,EAAC,CAAI,EAAC,CAAA,CAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAK,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAC,CAAI,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EA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CAAC,CAAE,EAAI,CAAA,CAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAC,CAAI,EAAG,EAAG,EAAG,KAAS,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAC,CAAI,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAK,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAA,CAAM,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAK,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,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G,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAK,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAC,CAAI,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAK,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAAE,EAAI,CAAA,CAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAA,CAAM,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAA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AAgB,EAAC,CAAA,CAAA,CAAA,CAAA,CAAY,EAAC,CAAA,CAAA,CAAQ,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAC,CAAI,EAAG,EAAC,CAAI,EAAC,CAAA,CAAA,CAAQ,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAC,CAAI,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAC,CAAI,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAA,CAAM,EAAG,EAAG,EAAG,EAAC,CAAI,EAAC,CAAI,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,GAAK,CAAE,EAAG,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,EAAC,CAAI,EAAG,EAAC,CAAI,EAAG,EAAG,GAAK,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAK,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAC,CAAI,EAAC,CAAI,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,KAAS,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,GAAK,CAAE,EAAG,EAAG,EAAG,EAAC,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAY,EAAC,CAAI,EAAC,CAAA,CAAA,CAAA,CAAU,EAAG,EAAC,CAAA,CAAA,CAAA,CAAU,CAAC,EAAI,CAAE,EAAC,CAAI,EAAG,EAAC,CAAA,CAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAA,CAAM,EAAG,EAAC,CAAI,EAAC,CAAI,EAAC,CAAA,CAAA,CAAQ,EAAG,EAAG,EAAG,EAAG,EAAC,CAAA,CAAM,EAAG,EAAC,CAAI,EAAC,CAAI,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAC,CAAA,CAAA,CAAA,CAAU,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,IAAO,EAAG,EAAC,CAAA,CAAA,CAAQ,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAC,CAAA,CAAA,CAAA,CAAU,EAAC,CAAI,EAAC,CAAI,EAAC,CAAA,CAAM,EAAC,CAAA,CAAM,EAAG,EAAC,CAAI,CAAC,CAAE,EAAI,CAAA,CAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,EAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,EAAC,CAAA,CAAA,CAAA,CAAU,EAAG,EAAC,CAAA,CAAM,EAAC,CAAI,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAA,CAAA,CAAQ,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAC,CAAA,CAAM,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAY,EAAC,CAAI,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAC,CAAA,CAAM,EAAC,CAAI,EAAC,CAAI,CAAC,EAAI,CAAE,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAC,CAAA,CAAA,CAAQ,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,GAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,GAAK,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAC,CAAI,EAAC,CAAI,EAAG,EAAG,GAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAA,CAAM,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAK,EAAG,EAAC,CAAI,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAA,CAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAC,CAAA,CAAM,EAAG,EAAC,CAAA,CAAA,CAAA,CAAA,CAAY,EAAG,EAAG,EAAG,EAAG,EAAC,CAAA,CAAA,CAAQ,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAA,CAAA,CAAQ,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAC,CAAI,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAC,CAAI,EAAC,CAAI,EAAG,EAAG,EAAG,IAAO,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAC,CAAA,CAAM,EAAG,CAAC,EAAI,CAAE,EAAG,EAAC,CAAA,CAAA,CAAQ,EAAC,CAAA,CAAM,EAAG,EAAG,EAAC,CAAI,EAAC,CAAI,EAAC,CAAI,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,GAAK,CAAC,EAAI,CAAA,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,EAAC,CAAI,EAAC,CAAI,EAAG,EAAG,EAAG,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAE,EAAI,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B,EAAG,EAAC,CAAA,CAAA,CAAQ,CAAC,EAAI,CAAA,CAAI,SAAiB,EAAC,CAAA,CAAM,EAAC,CAAA,CAAA,CAAA,CAAA,CAAY,EAAC,CAAA,CAAM,EAAC,CAAA,CAAA,CAAQ,CAAC,EAAE,CAAI,CAAA,CAAI,EAAC,CAAA,CAAA,CAAQ,EAAC,CAAI,EAAC,CAAI,EAAG,EAAC,CAAI,EAAG,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwC,CAAC,EAAI,UAAoB,CAAC,EAAI,CAAE,EAAG,EAAG,EAAC,CAAA,CAAM,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,EAAG,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAC,EAAI,CAAA,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0B,CAAC,EAAI,oBAAwC,EAAC,CAAA,CAAM,CAAC,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAC,EAAI,CAAE,EAAG,EAAC,CAAA,CAAA,CAAA,CAAA,CAAY,EAAG,EAAG,EAAC,CAAI,EAAG,EAAC,CAAA,CAAA,CAAQ,EAAG,EAAC,CAAI,EAAC,CAAI,EAAG,EAAG,EAAC,CAAI,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAC,CAAI,EAAG,EAAC,CAAA,CAAM,EAAC,CAAI,EAAG,EAAG,EAAG,QAAe,EAAC,CAAI,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAC,CAAA,CAAM,EAAC,CAAI,KAAS,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAC,CAAI,CAAC,EAAI,CAAA,CAAI,EAAC,CAAA,CAAM,EAAG,EAAC,CAAI,EAAC,CAAA,CAAA,CAAQ,EAAC,CAAI,EAAG,EAAC,CAAI,EAAC,CAAI,IAAO,EAAC,CAAA,CAAM,EAAC,CAAI,CAAC,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,CAAC,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0B,CAAC,GAAM,CAAE,EAAG,EAAG,EAAG,GAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,GAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,EAAG,EAAC,CAAI,EAAC,CAAA,CAAA,CAAA,CAAU,EAAC,CAAA,CAAM,EAAC,CAAI,CAAC,EAAI,CAAA,CAAI,KAAS,EAAC,CAAA,CAAM,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,EAAC,CAAI,EAAC,CAAA,CAAM,CAAC,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B,EAAG,EAAC,CAAA,CAAA,CAAQ,IAAO,CAAC,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,EAAC,CAAA,CAAM,EAAC,CAAA,CAAA,CAAQ,CAAC,EAAI,CAAA,CAAI,CAAC,EAAE,CAAI,CAAA,CAAI,CAAC,EAAI,CAAE,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B,EAAC,CAAA,CAAA,CAAA,CAAU,CAAC,CAAE,EAAI,CAAA,CAAI,CAAA,CAAI,EAAC,CAAA,CAAA,CAAQ,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAC,CAAI,EAAG,EAAC,CAAA,CAAM,CAAC,EAAI,CAAA,CAAA,CAAM,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,EAAE,CAAA,CAAM,CAAE,EAAC,CAAA,CAAM,EAAG,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,EAAG,EAAC,CAAI,EAAG,GAAK,CAAC,EAAE,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsC,EAAC,CAAI,CAAC,EAAE,CAAI,CAAE,EAAC,CAAA,CAAM,EAAG,EAAC,CAAI,EAAG,EAAC,CAAA,CAAA,CAAA,CAAU,EAAC,CAAI,EAAC,CAAA,CAAA,CAAA,CAAU,EAAG,EAAC,CAAI,CAAC,EAAE,CAAI,CAAA,CAAI,SAAiB,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAC,CAAA,CAAA,CAAQ,EAAG,GAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkC,EAAC,CAAA,CAAM,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAO,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,EAAC,CAAI,IAAO,CAAC,EAAI,CAAE,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoC,EAAC,CAAI,CAAC,EAAE,CAAA,CAAM,CAAA,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B,EAAC,CAAA,CAAA,CAAQ,EAAG,CAAC,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,EAAC,CAAA,CAAM,WAAqB,CAAC,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,CAAC,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B,EAAG,EAAC,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,EAAE,CAAI,CAAA,CAAI,CAAC,CAAE,EAAI,CAAA,CAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAC,CAAA,CAAM,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAA,CAAM,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,CAAC,EAAI,CAAA,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,EAAI,KAAU,EAAC,CAAA,CAAM,EAAC,CAAA,CAAM,EAAG,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,EAAC,CAAA,CAAA,CAAQ,CAAC,EAAI,CAAA,CAAI,EAAC,CAAI,EAAG,EAAC,CAAA,CAAM,EAAG,EAAG,EAAC,CAAA,CAAA,CAAQ,EAAG,EAAG,EAAG,GAAK,EAAG,EAAG,EAAG,EAAC,CAAI,CAAC,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,EAAI,CAAA,CAAI,EAAG,EAAC,CAAA,CAAA,CAAA,CAAU,EAAC,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAY,OAAa,EAAC,CAAI,EAAC,CAAI,CAAC,EAAI,CAAA,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAY,EAAC,CAAA,CAAA,CAAQ,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAC,EAAI,CAAA,CAAA,CAAM,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAA,CAAA,CAAQ,EAAC,CAAI,EAAG,EAAG,EAAG,EAAC,CAAI,CAAC,EAAI,CAAA,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,GAAK,CAAA,CAAI,EAAG,EAAC,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,EAAC,CAAA,CAAA,CAAA,CAAA,CAAY,EAAC,CAAA,CAAM,EAAC,CAAI,EAAC,CAAI,GAAK,CAAA,CAAI,EAAC,CAAI,EAAC,CAAI,EAAC,CAAI,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAC,CAAI,EAAC,CAAA,CAAM,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAC,CAAA,CAAM,EAAG,EAAC,CAAA,CAAA,CAAQ,EAAG,EAAG,EAAC,CAAA,CAAA,CAAQ,EAAG,EAAC,CAAA,CAAM,EAAG,CAAC,EAAI,CAAA,CAAA,CAAM,EAAG,EAAG,EAAG,EAAC,CAAI,EAAC,CAAI,EAAC,CAAI,EAAC,CAAI,EAAG,EAAG,EAAG,EAAC,CAAA,CAAA,CAAA,CAAU,EAAC,CAAI,EAAC,CAAI,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAC,CAAI,EAAC,CAAI,EAAG,EAAG,EAAC,CAAA,CAAM,EAAG,EAAC,CAAA,CAAA,CAAQ,EAAC,CAAI,CAAC,EAAI,CAAA,CAAA,CAAA,CAAQ,CAAC,EAAE,CAAI,EAAI,EAAG,EAAC,CAAI,EAAC,CAAA,CAAM,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAY,EAAC,CAAI,EAAC,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,EAAG,EAAC,CAAI,EAAG,CAAC,EAAI,OAAc,EAAC,CAAI,EAAG,EAAC,CAAI,EAAC,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAC,EAAI,CAAA,CAAI,EAAG,EAAC,CAAI,EAAC,CAAA,CAAA,CAAQ,EAAC,CAAA,CAAA,CAAQ,EAAG,EAAG,EAAC,CAAA,CAAA,CAAQ,EAAC,CAAI,EAAG,EAAG,EAAC,CAAI,EAAG,CAAC,EAAE,CAAI,CAAA,CAAI,EAAG,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0B,EAAC,CAAA,CAAM,EAAC,CAAA,CAAA,CAAA,CAAU,CAAC,EAAI,CAAA,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4C,CAAC,EAAI,EAAI,EAAG,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,EAAC,CAAA,CAAA,CAAQ,EAAC,CAAA,CAAA,CAAA,CAAU,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAE,EAAI,CAAA,CAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAC,CAAI,EAAG,EAAC,CAAA,CAAM,EAAG,EAAG,EAAG,GAAK,EAAC,CAAA,CAAA,CAAA,CAAU,EAAG,EAAG,CAAC,EAAI,CAAA,CAAA,CAAM,EAAG,EAAC,CAAI,EAAC,CAAI,EAAG,EAAC,CAAA,CAAA,CAAQ,EAAG,EAAG,EAAG,EAAC,CAAA,CAAM,EAAC,CAAI,EAAG,EAAG,EAAG,EAAC,CAAI,CAAC,EAAI,CAAA,CAAI,EAAC,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,EAAC,CAAI,EAAC,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAC,EAAI,CAAA,CAAA,CAAM,EAAC,CAAI,IAAO,EAAC,CAAA,CAAA,CAAA,CAAU,EAAG,EAAC,CAAA,CAAM,EAAC,CAAI,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,CAAC,EAAI,CAAA,CAAI,EAAG,GAAK,EAAC,CAAI,EAAG,EAAC,CAAI,EAAC,CAAA,CAAM,EAAG,EAAG,EAAC,CAAA,CAAA,CAAQ,EAAC,CAAA,CAAM,EAAC,CAAI,CAAC,EAAI,CAAE,EAAG,EAAC,CAAI,EAAG,EAAG,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0B,GAAK,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,EAAC,CAAA,CAAM,EAAC,CAAI,GAAK,EAAC,CAAI,EAAG,EAAC,CAAA,CAAM,EAAC,CAAA,CAAM,CAAC,EAAI,CAAA,CAAA,CAAM,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoC,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAC,CAAI,EAAC,CAAA,CAAA,CAAA,CAAU,EAAG,EAAG,EAAC,CAAA,CAAM,EAAC,CAAI,EAAC,CAAA,CAAA,CAAQ,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAC,CAAI,EAAC,CAAA,CAAM,EAAG,EAAG,EAAC,CAAI,EAAC,CAAI,EAAG,EAAG,EAAC,CAAA,CAAM,EAAG,EAAG,EAAG,EAAC,CAAA,CAAA,CAAQ,EAAG,CAAC,EAAI,CAAA,CAAA,CAAA,CAAQ,EAAG,EAAC,CAAA,CAAM,EAAC,CAAI,EAAC,CAAI,EAAC,CAAI,EAAG,EAAG,EAAG,EAAC,CAAI,EAAC,CAAA,CAAA,CAAA,CAAU,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsC,CAAC,EAAI,CAAA,CAAI,EAAG,EAAC,CAAI,EAAG,GAAK,EAAC,CAAI,EAAC,CAAA,CAAA,CAAQ,EAAG,EAAC,CAAA,CAAM,EAAG,EAAC,CAAI,EAAG,EAAC,CAAI,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAC,CAAA,CAAM,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAC,CAAA,CAAM,CAAC,EAAI,EAAI,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAC,CAAI,EAAC,CAAA,CAAM,EAAC,CAAA,CAAM,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAC,CAAI,EAAG,CAAC,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,EAAC,CAAA,CAAA,CAAQ,EAAC,CAAA,CAAA,CAAA,CAAU,EAAG,EAAC,CAAA,CAAA,CAAQ,CAAC,EAAI,CAAA,CAAI,EAAC,CAAI,EAAG,EAAG,EAAC,CAAI,EAAC,CAAA,CAAM,EAAG,EAAG,EAAC,CAAA,CAAM,EAAC,CAAA,CAAM,EAAC,CAAI,EAAC,CAAA,CAAM,CAAC,EAAI,CAAA,CAAA,CAAM,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,EAAC,CAAI,EAAC,CAAA,CAAA,CAAA,CAAU,EAAC,CAAI,CAAC,EAAI,CAAA,CAAI,EAAG,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,EAAG,EAAG,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,EAAC,CAAA,CAAA,CAAA,CAAU,CAAC,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,EAAC,CAAA,CAAA,CAAA,CAAU,IAAO,CAAC,CAAE,EAAI,CAAA,CAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,EAAI,EAAG,EAAC,CAAI,EAAG,EAAC,CAAA,CAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,EAAG,CAAC,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,EAAC,CAAA,CAAA,CAAQ,EAAC,CAAI,EAAC,CAAI,CAAC,EAAI,CAAA,CAAI,EAAC,CAAA,CAAM,EAAG,EAAC,CAAI,EAAC,CAAA,CAAA,CAAQ,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,EAAI,CAAA,CAAI,EAAC,CAAI,EAAC,CAAI,KAAS,EAAG,EAAC,CAAI,EAAC,CAAI,EAAC,CAAA,CAAA,CAAQ,EAAG,EAAG,EAAG,EAAG,IAAO,CAAC,EAAE,CAAI,CAAA,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,EAAC,CAAA,CAAM,EAAG,EAAC,CAAA,CAAM,EAAC,CAAI,EAAG,EAAC,CAAI,EAAC,CAAI,CAAC,EAAI,CAAA,CAAI,EAAC,CAAA,CAAM,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,EAAI,CAAE,EAAG,EAAC,CAAA,CAAA,CAAA,CAAU,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,CAAC,EAAE,CAAI,CAAA,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAY,EAAC,CAAI,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAC,CAAA,CAAM,EAAC,CAAI,EAAG,EAAC,CAAA,CAAA,CAAQ,CAAC,EAAI,CAAA,CAAI,EAAG,EAAC,CAAA,CAAM,EAAC,CAAI,EAAC,CAAI,EAAC,CAAA,CAAM,EAAG,EAAG,EAAG,EAAC,CAAA,CAAM,EAAC,CAAA,CAAM,EAAC,CAAA,CAAA,CAAQ,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAA,CAAA,CAAQ,EAAC,CAAI,CAAC,EAAI,EAAI,EAAC,CAAA,CAAM,EAAG,EAAC,CAAI,EAAG,EAAC,CAAA,CAAM,EAAG,EAAC,CAAI,EAAG,EAAC,CAAI,EAAC,CAAI,EAAC,CAAI,CAAC,EAAI,CAAE,EAAC,CAAI,EAAC,CAAA,CAAA,CAAA,CAAU,EAAC,CAAI,EAAC,CAAI,EAAG,EAAG,EAAG,EAAC,CAAA,CAAA,CAAA,CAAU,EAAG,EAAC,CAAA,CAAA,CAAQ,EAAG,CAAC,EAAI,EAAI,EAAG,EAAC,CAAA,CAAA,CAAA,CAAU,EAAG,EAAC,CAAA,CAAM,EAAC,CAAI,EAAG,EAAG,EAAG,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAC,EAAE,CAAI,CAAA,CAAI,EAAG,EAAC,CAAA,CAAM,EAAC,CAAA,CAAA,CAAQ,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAC,CAAA,CAAA,CAAQ,EAAC,CAAA,CAAA,CAAQ,EAAC,CAAI,CAAC,EAAI,CAAA,CAAA,CAAA,CAAQ,EAAG,IAAO,EAAC,CAAA,CAAA,CAAA,CAAU,EAAC,CAAI,EAAG,EAAG,EAAC,CAAI,EAAG,EAAC,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,EAAI,CAAA,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,EAAC,CAAA,CAAA,CAAQ,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,EAAC,CAAI,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAC,CAAI,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsC,CAAC,EAAI,CAAA,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAY,EAAC,CAAA,CAAA,CAAA,CAAU,EAAC,CAAI,EAAC,CAAA,CAAM,EAAG,EAAC,CAAI,EAAG,EAAC,CAAI,CAAC,EAAI,EAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAY,EAAC,CAAA,CAAA,CAAA,CAAU,EAAG,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,EAAC,CAAA,CAAA,CAAQ,CAAC,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsC,EAAC,CAAA,CAAM,EAAC,CAAA,CAAA,CAAA,CAAU,CAAC,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,EAAC,CAAA,CAAA,CAAQ,EAAG,EAAI,CAAA,CAAI,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAC,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,GAAK,EAAC,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,EAAC,CAAA,CAAM,CAAC,EAAI,CAAA,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,EAAI,WAAsB,CAAC,EAAI,CAAA,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAY,EAAG,EAAC,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,EAAE,CAAI,CAAA,CAAI,EAAG,EAAC,CAAA,CAAA,CAAA,CAAA,CAAY,EAAC,CAAA,CAAA,CAAA,CAAU,EAAG,EAAC,CAAA,CAAA,CAAQ,CAAC,EAAI,CAAE,EAAC,CAAI,EAAC,CAAI,MAAW,EAAC,CAAA,CAAA,CAAA,CAAU,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,EAAG,EAAG,EAAG,EAAC,CAAA,CAAA,CAAQ,EAAC,CAAA,CAAA,CAAA,CAAU,IAAO,CAAC,EAAE,CAAI,CAAA,CAAI,EAAG,EAAC,CAAI,EAAC,CAAA,CAAM,EAAG,EAAC,CAAA,CAAM,EAAC,CAAA,CAAM,EAAG,EAAG,EAAC,CAAI,EAAC,CAAI,EAAG,EAAG,EAAC,CAAA,CAAA,CAAQ,CAAC,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,EAAC,CAAA,CAAA,CAAA,CAAU,EAAC,CAAA,CAAM,EAAG,EAAC,CAAA,CAAM,EAAC,CAAI,EAAC,CAAA,CAAA,CAAQ,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAC,CAAA,CAAM,EAAG,EAAC,CAAI,KAAS,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,EAAI,CAAA,CAAA,CAAA,CAAQ,EAAC,CAAA,CAAA,CAAA,CAAU,EAAC,CAAA,CAAA,CAAA,CAAU,EAAC,CAAI,EAAC,CAAI,EAAG,EAAG,CAAC,EAAI,CAAA,CAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,EAAI,CAAA,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAY,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,EAAG,EAAG,EAAC,CAAA,CAAM,CAAC,EAAI,CAAA,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,EAAG,EAAG,EAAC,CAAA,CAAA,CAAA,CAAU,IAAO,CAAC,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,EAAC,CAAI,EAAC,CAAA,CAAA,CAAA,CAAU,EAAG,EAAG,EAAC,CAAI,EAAG,EAAC,CAAI,EAAG,EAAG,EAAC,CAAA,CAAM,EAAG,CAAC,EAAI,CAAE,EAAG,QAAe,EAAC,CAAA,CAAA,CAAA,CAAU,EAAG,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,CAAC,EAAE,CAAI,CAAA,CAAI,CAAC,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkD,CAAC,EAAI,CAAA,CAAA,CAAM,EAAC,CAAA,CAAA,CAAA,CAAU,EAAC,CAAA,CAAM,EAAC,CAAA,CAAA,CAAQ,GAAK,CAAC,EAAI,CAAA,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,EAAI,EACl8rC,SAASC,GAAY1T,EAAM,CAEzB,QADItwF,EAAQ+jG,GACLzT,EAAK,OAAS,GACnBA,GAAQ,IAEV,QAAS2T,EAAO,EAAGA,GAAQ3T,EAAK,OAAS,EAAG2T,IAAQ,CAClD,IAAI5mG,EAAQizF,EAAK,WAAW2T,CAAI,EAAI,GAEpC,GADAjkG,EAAQA,EAAM3C,CAAK,EACf,CAAC2C,EACH,MAAO,EAEjB,CACM,MAAO,EACb,CACI,SAAS23B,GAAYusE,EAAW,CAC9BA,EAAY,MAAM,QAAQA,CAAS,EAAIA,EAAYH,GACnD,IAAII,EAAQ,CAAA,EACZ,OAAAD,EAAU,QAAQ,SAAS5T,EAAMjzF,EAAO,CACtC,IAAI+mG,EAAS,OAAO,aAAa/mG,EAAQ,EAAE,EAAE,QAAQ,IAAK,EAAE,EACxD,MAAM,QAAQizF,CAAI,EACpB6T,EAAQA,EAAM,OAAOxsE,GAAY24D,CAAI,EAAE,IAAI,SAAS+T,EAAS,CAC3D,OAAOD,EAASC,CAC5B,CAAW,CAAC,EAEFF,EAAM,KAAKC,CAAM,CAE3B,CAAO,EACMD,CACb,CACI,IAAIhvE,GAAsB6uE,GACtBM,IAAoB,SAASC,EAAwB,CACvD,SAASD,EAAkBE,EAAY,CACrC,IAAIC,EACJ,OAAA1yG,GAAgB,KAAMuyG,CAAiB,EACvCG,EAASh0G,GAAW,KAAM6zG,CAAiB,EAC3CG,EAAO,OAASC,GAAeF,CAAU,EACzCC,EAAO,OAASE,GAAeH,CAAU,EAClCC,CACf,CACM,OAAA7zG,GAAU0zG,EAAmBC,CAAsB,EAC5CtyG,GAAaqyG,EAAmB,CAAE,CACvC,IAAK,QACL,IAAK,UAAe,CAClB,OAAO,KAAK,MACtB,CACA,EAAS,CACD,IAAK,OACL,MAAO,SAAcrhC,EAAU,CAC7B,IAAI2hC,EACJ,OAAQA,EAAwB,KAAK,OAAO3hC,CAAQ,KAAO,MAAQ2hC,IAA0B,OAASA,EAAwB,IACxI,CACA,EAAS,CACD,IAAK,UACL,MAAO,SAAiB3hC,EAAU,CAChC,OAAO,KAAK,OAAOA,CAAQ,IAAM,MAC3C,CACA,EAAS,CACD,IAAK,YACL,IAAK,UAAe,CAClB,OAAO,OAAO,KAAK,KAAK,MAAM,CACxC,CACA,EAAS,CACT,GAAMtxC,EAA6B,EAC3BkzE,GAAmB,CACrB,iBAAkB,EAClB,QAAS,EACT,WAAY,EACZ,YAAa,EACb,qBAAsB,IAEpBC,GAAiB,CAAA,EACjBC,GAAY,OAAO,KAAKF,EAAgB,EAC5CE,GAAU,QAAQ,SAASp9C,EAAW,CACpCm9C,GAAeD,GAAiBl9C,CAAS,CAAC,EAAIA,CACpD,CAAK,EACD,SAAS+8C,GAAeF,EAAY,CAClC,IAAIQ,EAAsBC,EAAQC,EAC9Bv9C,GAAaq9C,EAAuBR,EAAW,YAAc,MAAQQ,IAAyB,OAASA,EAAuBF,GAAeN,EAAW,QAAQ,EAChKl5B,GAAY25B,GAAUC,EAAuBV,EAAW,YAAc,MAAQU,IAAyB,OAASA,EAAuBL,GAAiBL,EAAW,QAAQ,KAAO,MAAQS,IAAW,OAASA,EAAS,EAC3N7yE,GAAe,OAAOk5C,GAAa,SAAU,qCAAsC,OAAOA,EAAU,GAAI,CAAC,EACzGl5C,GAAe,OAAOu1B,GAAc,SAAU,qCAAsC,OAAOA,EAAW,GAAI,CAAC,EAC3GA,EAAYA,EAAU,YAAW,EACjC,IAAI1yD,EAAQ,KACR0yD,IAAc,UAChB1yD,GAASuvG,EAAW,MAAQA,EAAW,YAAcA,EAAW,WAAW,MAAQ,IAAI,YAAW,EAC7F9sE,GAAwB,EAAG,SAASziC,CAAK,IAC5CA,EAAQ,SAGZ,IAAI+H,EAAQnM,GAAS,CAAA,EAAI2zG,EAAY,CACnC,SAAUl5B,EACV,SAAU3jB,CAClB,CAAO,EACD,OAAI1yD,IACF+H,EAAM,KAAO/H,GAEf,OAAO+H,EAAM,WACN,OAAO,OAAOA,CAAK,CAChC,CACI,SAAS2nG,GAAeQ,EAAQ,CAC9B,IAAIC,EAAoBD,EAAO,WAAYzD,EAAc0D,IAAsB,OAAS,CAAA,EAAKA,EACzFC,EAAU,CACZ,QAAS,MACT,UAAW,SAEb,OAAO,OAAO,KAAK3D,CAAW,EAAE,OAAO,SAASpiB,EAAOrc,EAAU,CAC/D,IAAIvvE,EAAQguG,EAAYz+B,CAAQ,EAEhC,GADA7wC,GAAevkC,EAAQ6F,CAAK,IAAM,UAAYA,IAAU,KAAM,4CAA6C,OAAOuvE,EAAU,OAAQ,CAAC,EACjIvvE,IAAU,OAAQ,CACpB,IAAI4xG,EAAaD,EAAQpiC,CAAQ,GAAKA,EACtCqc,EAAMgmB,CAAU,EAAI5xG,IAAU,KAAO,OAAOA,CAAK,EAAI,IAC/D,CACQ,OAAO4rF,CACf,EAAS,CAAA,CAAE,CACX,CACI,IAAIimB,GAA8BjB,GAClC,SAASkB,GAAQttG,EAASiB,EAAQ,CAGhC,GAFAjB,EAAUA,GAAW,UAAe,CAAA,EACpCiB,EAASA,GAAUvL,EAAI,IACnB,CAACA,EAAI,OACP,MAAM,IAAI,MAAM,qBAAqB,EAEvC,IAAI62F,EAAI72F,EAAI,MAAM,MAAK,EACnB63G,EAAgB,CAAA,EACpB,OAAO,KAAK73G,EAAI,OAAO,EAAE,QAAQ,SAAS6F,EAAK,CAC7CgxF,EAAE,MAAM,SAAS/mE,EAAK,CACpB,IAAI+vE,EAAM,SAActpE,EAAM,CAC5BshF,EAAc,KAAKthF,CAAI,EACvBzG,EAAG,CACf,EACU,GAAI,CACF9vB,EAAI,QAAQ6F,CAAG,EAAE,QAAQiqB,EAAK+vE,CAAG,CAC7C,OAAmBtpE,EAAM,CACbspE,EAAItpE,CAAI,CACpB,CACA,CAAS,CACT,CAAO,EACD,IAAIuhF,EAAgB93G,EAAI,MAAM,iBAAiBD,EAAS,IAAI,EAC5DC,EAAI,MAAM,iBAAiB83G,EAAe,eAAe,EAAE,QAAQ,SAAS7uG,EAAM,CAChF4tF,EAAE,MAAM,SAAS/mE,EAAK+vE,EAAK,CACzB,OAAO7/F,EAAI,MAAM,mBAAmBiJ,EAAK,WAAY,CACnD,QAAS,gBACrB,EAAa6mB,EAAK+vE,CAAG,CACrB,CAAS,CACT,CAAO,EACDhJ,EAAE,KAAK,SAAS5qD,EAAS,CACnB4rE,EAAc,SAAW,EAC3BvtG,EAAQ2hC,CAAO,EAEf1gC,EAAOssG,CAAa,CAE9B,CAAO,EAAE,MAAStsG,CAAM,CACxB,CACI,IAAIwsG,GAAkBH,GAClBI,GAAY,CAAA,EACZC,GACJ,SAASC,GAAYC,EAAc,CACjC,OAAOH,GAAU,eAAeG,CAAY,CAClD,CACI,SAASC,GAAYC,EAAU,CAC7B,OAAI,OAAOA,GAAa,UAAYL,GAAUK,CAAQ,EAC7CL,GAAUK,CAAQ,EAEvB,OAAOA,GAAa,WACfA,EAEFJ,EACb,CACI,SAASK,GAAYhyG,EAAMJ,EAAIqyG,EAAW,CACxCP,GAAU1xG,CAAI,EAAIJ,EACdqyG,IACFN,GAAkB/xG,EAE1B,CACI,SAASsyG,GAAUl+B,EAAM,CACvB,IAAIm+B,EAAQz4G,EAAI,OAChB,GAAI,CAACy4G,EACH,MAAM,IAAI,MAAM,qBAAqB,EAEvC,GAAIn+B,EAAK,YAAcA,EAAK,IAAK,CAC/B,IAAIo+B,EAAcp+B,EAAK,YAAcA,EAAK,IAC1C,GAAI,CAAC,2BAA2B,KAAKo+B,CAAW,EAC9C,MAAM,IAAI,MAAM,8BAA8B,OAAOA,CAAW,CAAC,EAEnE,IAAIC,EAAqBD,EAAY,MAAM,GAAG,EAAGE,EAAsB90G,EAAe60G,EAAoB,CAAC,EAAG5/F,EAAU6/F,EAAoB,CAAC,EAAGC,EAASD,EAAoB,CAAC,EAC1KE,EAAqB//F,EAAQ,MAAM,GAAG,EAAE,IAAI,MAAM,EAAGggG,EAAsBj1G,EAAeg1G,EAAoB,CAAC,EAAGE,EAAQD,EAAoB,CAAC,EAAGE,EAAQF,EAAoB,CAAC,EAAGG,EAAQH,EAAoB,CAAC,EAC/MI,EAAqBn5G,EAAI,QAAQ,MAAM,GAAG,EAAGo5G,EAAsBt1G,EAAeq1G,EAAoB,CAAC,EAAGE,EAAaD,EAAoB,CAAC,EAAGE,EAAYF,EAAoB,CAAC,EAChLG,EAAwBF,EAAW,MAAM,GAAG,EAAE,IAAI,MAAM,EAAGG,EAAyB11G,EAAey1G,EAAuB,CAAC,EAAGE,EAAWD,EAAuB,CAAC,EAAGE,EAAWF,EAAuB,CAAC,EAAGG,EAAWH,EAAuB,CAAC,EACjP,GAAIR,IAAUS,GAAYC,EAAWT,GAASS,IAAaT,GAASU,EAAWT,GAASF,IAAUS,GAAYR,IAAUS,GAAYR,IAAUS,GAAYd,GAAUA,IAAWS,EAC7K,MAAM,IAAI,MAAM,sBAAsB,OAAOZ,EAAa,8CAA8C,EAAE,OAAO14G,EAAI,OAAO,CAAC,CAEvI,CAIM,GAHIs6E,EAAK,WAAa,OAAOA,EAAK,UAAa,YAAc49B,GAAY59B,EAAK,QAAQ,KACpFm+B,EAAM,SAAWn+B,EAAK,UAEpBA,EAAK,OAAQ,CACf,GAAI,CAAC,MAAM,QAAQA,EAAK,MAAM,EAC5B,MAAM,IAAI,UAAU,kCAAkC,EAExDA,EAAK,OAAO,QAAQ,SAASxlE,EAAO,CAClC,GAAI,CAACA,EAAM,GACT,MAAM,IAAI,UAAU,oBAAoB,OAAO,KAAK,UAAUA,CAAK,EAAG,oEAAoE,CAAC,EAE7I2jG,EAAM,SAAS3jG,CAAK,CAC9B,CAAS,CACT,CACM,IAAI8kG,EAAgB,CAAA,EACpB,GAAIt/B,EAAK,MAAO,CACd,GAAI,CAAC,MAAM,QAAQA,EAAK,KAAK,EAC3B,MAAM,IAAI,UAAU,iCAAiC,EAEvDA,EAAK,MAAM,QAAQ,SAASpqD,EAAM,CAChC,GAAI,CAACA,EAAK,GACR,MAAM,IAAI,UAAU,mBAAmB,OAAO,KAAK,UAAUA,CAAI,EAAG,mEAAmE,CAAC,EAE1I0pF,EAAc,KAAK1pF,EAAK,EAAE,EAC1BuoF,EAAM,QAAQvoF,CAAI,CAC5B,CAAS,CACT,CAyBM,GAxBIoqD,EAAK,mBACPm+B,EAAM,MAAM,QAAQ,SAASvoF,EAAM,CAC7B0pF,EAAc,SAAS1pF,EAAK,EAAE,IAAM,KACtCA,EAAK,QAAU,GAE3B,CAAS,EAEC,OAAOoqD,EAAK,SAAa,IAC3Bm+B,EAAM,YAAYn+B,EAAK,QAAQ,EAE/Bm+B,EAAM,mBAAkB,EAEtBn+B,EAAK,aACPm+B,EAAM,WAAan+B,EAAK,YAEtBA,EAAK,QACPm+B,EAAM,YAAYn+B,EAAK,MAAM,EAE3BA,EAAK,WACP7G,GAAmB6G,EAAK,SAAS,EAE/BA,EAAK,SACPm+B,EAAM,OAAS,IAEbn+B,EAAK,eAAgB,CACvB,GAAI,CAAC,MAAM,QAAQA,EAAK,cAAc,EACpC,MAAM,IAAI,UAAU,2CAA2C,EAEjE,GAAIA,EAAK,eAAe,SAAS,GAAG,EAClC,MAAM,IAAI,MAAM,4BAA4B,OAAO92C,GAAkB,WAAY,WAAW,CAAC,EAE/Fi1E,EAAM,kBAAkBn+B,EAAK,cAAc,CACnD,CACA,CACI,IAAIu/B,GAAoBrB,GACxB,SAASsB,GAAgBC,EAAc,CACrC9wE,GAAa,gBAAgB8wE,CAAY,CAC/C,CACI,SAASC,GAASC,EAAM,CACtBA,EAAOA,GAAQ,CAAA,EACf,IAAIC,EAAiBD,EAAK,OAA4Bj6G,EAAI,OAAO,MAAM,OAAO,SAASm3D,EAAM,CAC3F,MAAO,CAAC,CAAC8iD,EAAK,OAAO,SAASr2F,EAAK,CACjC,OAAOuzC,EAAK,KAAK,QAAQvzC,CAAG,IAAM,EAC5C,CAAS,EAAE,MACX,CAAO,EAJkC5jB,EAAI,OAAO,MAK1Cm6G,EAAWn6G,EAAI,OAAO,KAAK,OAAS,CAAA,EACxC,OAAOk6G,EAAc,IAAI,SAASE,EAAc,CAC9C,IAAIC,EAAKF,EAASC,EAAa,EAAE,GAAK,CAAA,EACtC,MAAO,CACL,OAAQA,EAAa,GACrB,YAAaC,EAAG,YAChB,KAAMA,EAAG,KACT,QAASA,EAAG,QACZ,KAAMD,EAAa,KACnB,OAAQA,EAAa,OAE/B,CAAO,CACP,CACI,IAAIE,GAAoBN,GACxB,SAASO,GAAsBtxG,EAAMgW,EAASwqD,EAAa,CACzD,IAAI+wC,EAAY,CAAE,SAAU,OAAQ,QAAS,WAAY,QAAS,UAAU,EAC5E,GAAI,CAACA,EAAU,SAASvxG,EAAK,SAAS,aAAa,GAAKszD,GAA4BkN,CAAW,EAAG,CAChG,IAAIt9B,EAAStsC,EAAO,iBAAiBoJ,CAAI,EACzC,GAAIkjC,EAAO,iBAAiB,SAAS,IAAM,OACzC,OACK,GAAIA,EAAO,iBAAiB,YAAY,IAAM,SAAU,CAC7D,IAAIziC,EAAS6xD,GAA4BtyD,CAAI,EACzCwxG,EAAc/wG,GAAU7J,EAAO,iBAAiB6J,CAAM,EAC1D,GAAI,CAAC+wG,GAAeA,EAAY,iBAAiB,YAAY,IAAM,SACjE,MAEZ,CACA,CACM,MAAO,EACb,CACI,IAAIC,GAAkCH,GAClCI,GAAgB,CAAA,EACpBv0G,GAASu0G,GAAe,CACtB,YAAa,UAAuB,CAClC,OAAOC,EACf,EACM,gBAAiB,UAA2B,CAC1C,OAAOvkC,EACf,EACM,WAAY,UAAsB,CAChC,OAAOwkC,EACf,EACM,SAAU,UAAoB,CAC5B,OAAOvkC,EACf,EACM,eAAgB,UAA0B,CACxC,OAAOM,EACf,EACM,WAAY,UAAsB,CAChC,OAAOkkC,EACf,EACM,YAAa,UAAuB,CAClC,OAAOC,EACf,EACM,SAAU,UAAoB,CAC5B,OAAOC,EACf,EACM,YAAa,UAAuB,CAClC,OAAOlkC,EACf,EACM,QAAS,UAAmB,CAC1B,OAAOb,EACf,EACM,OAAQ,UAAkB,CACxB,OAAOA,EACf,EACM,SAAU,UAAoB,CAC5B,OAAOglC,EACf,CACA,CAAK,EACD,SAASC,GAAYC,EAAU,CAC7B,IAAI9wC,EAAU+wC,EAAW1lC,EAAWE,EAChCvJ,EAAQ,CAAA,EACZ,IAAKhC,EAAW,EAAGqL,EAAYylC,EAAS,KAAK,OAAQ9wC,EAAWqL,EAAWrL,IACzE,IAAK+wC,EAAY,EAAGxlC,EAAaulC,EAAS,KAAK9wC,CAAQ,EAAE,MAAM,OAAQ+wC,EAAYxlC,EAAYwlC,IAC7F/uC,EAAM,KAAK8uC,EAAS,KAAK9wC,CAAQ,EAAE,MAAM+wC,CAAS,CAAC,EAGvD,OAAO/uC,CACb,CACI,IAAIuuC,GAAwBM,GAC5B,SAASG,GAAmBC,EAAYl3F,EAAUgyD,EAAW,CAc3D,QAbI3f,EAAW6kD,IAAe,MAAQ,cAAgB,cAClDxrE,EAAYwrE,IAAe,MAAQxkC,GAAwBF,GAC3D2kC,EAAYnlC,EAAUhyD,EAAS,CAAC,EAAEA,EAAS,CAAC,EAC5Co3F,EAAUD,EAAU,QAAU,EAC9BzlC,EAAcylC,EAAU,aAAa,SAAS,EAC9CxlC,EAAe,SAASD,CAAW,IAAM,GAAKylC,EAAU,UAAY,EAAInlC,EAAU,OAASmlC,EAAU,QACrGE,EAAU1lC,EAAe,EACzB2lC,EAAWt3F,EAAS,EAAIq3F,EACxBE,EAAWv3F,EAAS,EAAIo3F,EACxBI,EAASN,IAAe,MAAQl3F,EAAS,EAAI,EAC7Cy3F,EAASP,IAAe,MAAQ,EAAIl3F,EAAS,EAC7C03F,EACAzvC,EAAQ,CAAA,EACHz7B,EAAM8qE,EAAU9qE,GAAOgrE,GAAU,CAACE,EAASlrE,IAClD,QAASC,EAAM8qE,EAAU9qE,GAAOgrE,EAAQhrE,IAAO,CAC7C,IAAIslC,EAAOC,EAAUxlC,CAAG,EAAIwlC,EAAUxlC,CAAG,EAAEC,CAAG,EAAI,OAClD,GAAKslC,EAGL,KAAIpb,EAAQ/6D,EAAI,MAAM,gBAAgBm2E,CAAI,EAC1C,GAAIpb,EAAMtE,CAAQ,EAAG,CACnBqlD,EAAU/gD,EAAMtE,CAAQ,EACxB,KACZ,CACU4V,EAAM,KAAK8J,CAAI,EACzB,CAEM,OAAA2lC,GAAWA,GAAW,CAAA,GAAI,OAAOzvC,EAAM,OAAOv8B,CAAS,CAAC,EACxDu8B,EAAM,QAAQ,SAAS0vC,EAAW,CAChC,IAAIhhD,EAAQ/6D,EAAI,MAAM,gBAAgB+7G,CAAS,EAC/ChhD,EAAMtE,CAAQ,EAAIqlD,CAC1B,CAAO,EACMA,CACb,CACI,SAASE,GAAW7lC,EAAMC,EAAW,CACnC,GAAID,EAAK,aAAa,SAAS,EAAG,CAChC,IAAI2lC,EAAUr/C,GAAe0Z,EAAM,SAAS,EAC5C,GAAI2lC,EAAQ,OAAO,SAASG,EAAQ,CAClC,OAAOA,CACjB,CAAS,EAAE,OACD,OAAOH,CAEjB,CACW1lC,IACHA,EAAYH,GAAgB7a,GAAgB+a,EAAM,OAAO,CAAC,GAE5D,IAAI/xD,EAAWiyD,GAA0BF,EAAMC,CAAS,EACpD8lC,EAAab,GAAmB,MAAOj3F,EAAUgyD,CAAS,EAC1D+lC,EAAad,GAAmB,MAAOj3F,EAAUgyD,CAAS,EAC9D,MAAO,CAAA,EAAG,OAAO8lC,EAAYC,CAAU,EAAE,QAAO,CACtD,CACI,IAAItB,GAAsBmB,GAC1B,SAASI,GAAWjmC,EAAM,CACxB,GAAI,CAACA,EAAK,SAAS,QAAU,CAACA,EAAK,YAAY,OAC7C,MAAO,GAET,IAAIpC,EAAOkB,GAA0BkB,CAAI,EACzC,OAAIpC,EACK,CAAE,OAAQ,YAAa,SAASA,CAAI,EAEpCoC,EAAK,SAAS,YAAW,IAAO,IAE/C,CACI,IAAI2kC,GAAuBsB,GAC3B,SAASC,GAAYpzG,EAAM,CACzB,IAAI8qE,EAAOkB,GAA0BhsE,CAAI,EACzC,IAAK8qE,IAAS,gBAAkBA,IAAS,SAAW,CAACnX,GAAa3zD,CAAI,EACpE,MAAO,GAQT,GANIA,EAAK,aAAa,iBAAiB,IAAM,QAAUmyD,GAAgBnyD,EAAM,0BAA0B,GAGnG8qE,IAAS,QAAUA,IAAS,YAAcA,IAAS,SAGnD4U,GAAsB5U,CAAI,IAAM,WAClC,MAAO,GAET,GAAI9qE,EAAK,aAAa,WAAW,IAAM,IACrC,MAAO,GAKT,GAHIA,EAAK,aAAa,SAAS,GAG3BA,EAAK,OAASA,EAAK,OAASA,EAAK,QACnC,MAAO,GAET,QAASqzG,EAAa,EAAGC,EAActzG,EAAK,SAAS,OAAQqzG,EAAaC,EAAaD,IACrF,GAAIrzG,EAAK,SAASqzG,CAAU,EAAE,SAAS,YAAW,IAAO,WACvD,MAAO,GAOX,QAJIjwC,EAAQ,EACRqJ,EAAYzsE,EAAK,KAAK,OACtB2nC,EAAKulC,EACLqmC,EAAY,GACPnyC,EAAW,EAAGA,EAAWqL,EAAWrL,IAAY,CACvDz5B,EAAM3nC,EAAK,KAAKohE,CAAQ,EACxB,QAAS+wC,EAAY,EAAGxlC,EAAahlC,EAAI,MAAM,OAAQwqE,EAAYxlC,EAAYwlC,IAAa,CAc1F,GAbAjlC,EAAOvlC,EAAI,MAAMwqE,CAAS,EACtBjlC,EAAK,SAAS,YAAW,IAAO,OAGhC,CAACqmC,IAAcrmC,EAAK,cAAgBA,EAAK,aAAeA,EAAK,eAAiBA,EAAK,gBACrFqmC,EAAY,IAEVrmC,EAAK,aAAa,OAAO,GAAKA,EAAK,aAAa,SAAS,GAAKA,EAAK,aAAa,MAAM,IAGtF,CAAE,eAAgB,WAAW,EAAG,SAASlB,GAA0BkB,CAAI,CAAC,GAGxEA,EAAK,SAAS,SAAW,GAAKA,EAAK,SAAS,CAAC,EAAE,SAAS,YAAW,IAAO,OAC5E,MAAO,GAET9J,GACV,CACA,CAIM,GAHIpjE,EAAK,qBAAqB,OAAO,EAAE,QAGnCysE,EAAY,EACd,MAAO,GAET,IAAI+mC,EAAYxzG,EAAK,KAAK,KAAK,KAAKysE,EAAY,CAAC,CAAC,EAClD,GAAI+mC,EAAU,MAAM,SAAW,GAAKA,EAAU,MAAM,CAAC,EAAE,UAAY,EACjE,MAAO,GAKT,GAHIA,EAAU,MAAM,QAAU,GAG1BD,EACF,MAAO,GAGT,QADIxvB,EAAS0vB,EACJC,EAAY,EAAGA,EAAYjnC,EAAWinC,IAAa,CAO1D,GANA/rE,EAAM3nC,EAAK,KAAK0zG,CAAS,EACrB3vB,GAAWA,IAAYntF,EAAO,iBAAiB+wC,CAAG,EAAE,iBAAiB,kBAAkB,IAGzFo8C,EAAUntF,EAAO,iBAAiB+wC,CAAG,EAAE,iBAAiB,kBAAkB,EAExE8rE,GAAWA,IAAY78G,EAAO,iBAAiB+wC,CAAG,EAAE,iBAAiB,kBAAkB,GACzF,MAAO,GAEP8rE,EAAU78G,EAAO,iBAAiB+wC,CAAG,EAAE,iBAAiB,kBAAkB,CAEpF,CACM,OAAI8kC,GAAa,GACR,GAEL,EAAAja,GAAgCxyD,CAAI,EAAE,MAAQmzD,GAA0Bv8D,CAAM,EAAE,MAAQ,KAGxFwsE,EAAQ,IAGRpjE,EAAK,cAAc,+BAA+B,EAI5D,CACI,IAAI8xG,GAAwBsB,GAC5B,SAASO,GAASzmC,EAAM,CACtB,GAAIS,GAAyBT,CAAI,GAAKW,GAAsBX,CAAI,EAC9D,MAAO,GAET,GAAIA,EAAK,aAAa,IAAI,EAAG,CAC3B,IAAI0mC,EAAO53E,GAAwBkxC,EAAK,aAAa,IAAI,CAAC,EAC1D,MAAO,CAAC,CAACp2E,EAAS,cAAc,cAAc,OAAO88G,EAAM,IAAI,CAAC,CACxE,CACM,MAAO,EACb,CACI,IAAI7B,GAAoB4B,GACxB,SAASE,GAAcp6C,EAAKt+C,EAAUgyD,EAAWvuE,EAAU,CACzD,IAAImU,EACAm6D,EAAOC,EAAUhyD,EAAS,CAAC,EAAIgyD,EAAUhyD,EAAS,CAAC,EAAEA,EAAS,CAAC,EAAI,OACvE,OAAK+xD,EAGD,OAAOtuE,GAAa,aACtBmU,EAASnU,EAASsuE,EAAM/xD,EAAUgyD,CAAS,EACvCp6D,IAAW,IACN,CAAEm6D,CAAI,GAGjBn6D,EAAS8gG,GAAcp6C,EAAK,CAC1B,EAAGt+C,EAAS,EAAIs+C,EAAI,EACpB,EAAGt+C,EAAS,EAAIs+C,EAAI,CAC5B,EAAS0T,EAAWvuE,CAAQ,EACtBmU,EAAO,QAAQm6D,CAAI,EACZn6D,GAbE,CAAA,CAcf,CACI,SAAS+gG,GAASr6C,EAAKs6C,EAAU5mC,EAAWvuE,EAAU,CASpD,GARI,MAAM,QAAQm1G,CAAQ,IACxBn1G,EAAWuuE,EACXA,EAAY4mC,EACZA,EAAW,CACT,EAAG,EACH,EAAG,IAGH,OAAOt6C,GAAQ,SACjB,OAAQA,EAAG,CACV,IAAK,OACJA,EAAM,CACJ,EAAG,GACH,EAAG,GAEL,MAED,IAAK,KACJA,EAAM,CACJ,EAAG,EACH,EAAG,IAEL,MAED,IAAK,QACJA,EAAM,CACJ,EAAG,EACH,EAAG,GAEL,MAED,IAAK,OACJA,EAAM,CACJ,EAAG,EACH,EAAG,GAEL,KACV,CAEM,OAAOo6C,GAAcp6C,EAAK,CACxB,EAAGs6C,EAAS,EAAIt6C,EAAI,EACpB,EAAGs6C,EAAS,EAAIt6C,EAAI,CAC5B,EAAS0T,EAAWvuE,CAAQ,CAC5B,CACI,IAAIozG,GAAmB8B,GACnBE,GAAe,CAAA,EACnB72G,GAAS62G,GAAc,CACrB,YAAa,UAAuB,CAClC,OAAOC,EACf,EACM,cAAe,UAAyB,CACtC,OAAOzqC,EACf,EACM,mBAAoB,UAA8B,CAChD,OAAOD,EACf,EACM,kBAAmB,UAA6B,CAC9C,OAAO2qC,EACf,EACM,yBAA0B,UAAoC,CAC5D,OAAOC,EACf,EACM,gBAAiB,UAA2B,CAC1C,OAAOnoC,EACf,EACM,gBAAiB,UAA2B,CAC1C,OAAO6D,EACf,EACM,gBAAiB,UAA2B,CAC1C,OAAOmE,EACf,EACM,QAAS,UAAmB,CAC1B,OAAO5D,EACf,EACM,YAAa,UAAuB,CAClC,OAAOsP,EACf,EACM,eAAgB,UAA0B,CACxC,OAAO00B,EACf,EACM,6BAA8B,UAAwC,CACpE,OAAOC,EACf,EACM,cAAe,UAAyB,CACtC,OAAOC,EACf,EACM,aAAc,UAAwB,CACpC,OAAOzkC,EACf,EACM,gBAAiB,UAA2B,CAC1C,OAAO0kC,EACf,EACM,2BAA4B,UAAsC,CAChE,OAAOC,EACf,EACM,gBAAiB,UAA2B,CAC1C,OAAOC,EACf,EACM,kBAAmB,UAA6B,CAC9C,OAAOzpC,EACf,EACM,YAAa,UAAuB,CAClC,OAAOO,EACf,EACM,MAAO,UAAiB,CACtB,OAAOmpC,EACf,EACM,aAAc,UAAwB,CACpC,OAAOx3B,EACf,EACM,YAAa,UAAuB,CAClC,OAAOy3B,EACf,EACM,kBAAmB,UAA6B,CAC9C,OAAOhhC,EACf,EACM,aAAc,UAAwB,CACpC,OAAOihC,EACf,EACM,gBAAiB,UAA2B,CAC1C,OAAOC,EACf,EACM,cAAe,UAAyB,CACtC,OAAOC,EACf,EACM,aAAc,UAAwB,CACpC,OAAOC,EACf,EACM,kBAAmB,UAA6B,CAC9C,OAAOC,EACf,CACA,CAAK,EACD,SAASC,GAAYnqC,EAAM,CACzB,IAAI4I,EAAU9I,GAAkB,UAAUE,CAAI,EAC1C2d,EAAQxuF,GAAmBoyE,IAA+B,EAC9D,OAAKqH,IAGDA,EAAQ,cACV+U,EAAM,KAAK,MAAMA,EAAOxuF,GAAmBy5E,EAAQ,YAAY,CAAC,EAE9DA,EAAQ,eACV+U,EAAM,KAAK,MAAMA,EAAOxuF,GAAmBy5E,EAAQ,aAAa,CAAC,GAE5D+U,CACb,CACI,IAAIwrB,GAAuBgB,GACvBC,GAAc,YAClB,SAASC,GAAYn1G,EAAMo1G,EAAQC,EAAU,CAC3C,GAAIr1G,EAAK,aAAc,CACrB,GAAIA,EAAK,SAAS,YAAW,IAAO,SAAWA,EAAK,aAAa,KAAK,EAAG,CACvE,IAAIs1G,EAAOt1G,EAAK,aAAa,KAAK,EAC7Bo1G,EAAO,IAAIE,CAAI,EAGlBF,EAAO,IAAIE,CAAI,EAAE,KAAKt1G,CAAI,EAF1Bo1G,EAAO,IAAIE,EAAM,CAAEt1G,CAAI,CAAE,CAIrC,CACQ,QAASu1G,EAAO,EAAGA,EAAOF,EAAS,OAAQ,EAAEE,EAAM,CACjD,IAAIluF,EAAOguF,EAASE,CAAI,EACpBhuF,EAAYmhD,GAAiB1oE,EAAK,aAAaqnB,CAAI,GAAK,EAAE,EAC9D,GAAKE,EAGL,KAAIiuF,EAAcl6G,GAA2BolC,GAAmBnZ,CAAS,CAAC,EAAGkuF,EAC7E,GAAI,CACF,IAAKD,EAAY,EAAC,EAAI,EAAEC,EAAUD,EAAY,EAAC,GAAI,MAAQ,CACzD,IAAIE,EAAQD,EAAQ,MACfL,EAAO,IAAIM,CAAK,EAGnBN,EAAO,IAAIM,CAAK,EAAE,KAAK11G,CAAI,EAF3Bo1G,EAAO,IAAIM,EAAO,CAAE11G,CAAI,CAAE,CAI1C,CACA,OAAmBrC,EAAK,CACZ63G,EAAY,EAAE73G,CAAG,CAC7B,QAAW,CACC63G,EAAY,EAAC,CACzB,EACA,CACA,CACM,QAASG,EAAO,EAAGA,EAAO31G,EAAK,WAAW,OAAQ21G,IAC5C31G,EAAK,WAAW21G,CAAI,EAAE,WAAa,GACrCR,GAAYn1G,EAAK,WAAW21G,CAAI,EAAGP,EAAQC,CAAQ,CAG7D,CACI,SAASO,GAAkB51G,EAAM,CAC/B,IAAI61G,EACJ71G,EAAOA,EAAK,YAAcA,EAC1B,IAAIu1D,EAAO1C,GAAuB7yD,CAAI,EACtCu1D,EAAOA,EAAK,iBAAmBA,EAC/B,IAAIugD,EAAelkD,GAAc,IAAI,eAAgB,UAAW,CAC9D,OAAO,IAAI,GACnB,CAAO,EACGwjD,EAASU,EAAa,IAAIvgD,CAAI,EAClC,GAAI,CAAC6/C,EAAQ,CACXA,EAAS,IAAI,IACbU,EAAa,IAAIvgD,EAAM6/C,CAAM,EAC7B,IAAIC,EAAW,OAAO,KAAKzqC,GAAkB,SAAS,EAAE,OAAO,SAASvjD,EAAM,CAC5E,IAAIjpB,EAAQwsE,GAAkB,UAAUvjD,CAAI,EAAE,KAC9C,OAAO6tF,GAAY,KAAK92G,CAAK,CACvC,CAAS,EACD+2G,GAAY5/C,EAAM6/C,EAAQC,CAAQ,CAC1C,CACM,OAAQQ,EAAcT,EAAO,IAAIp1G,EAAK,EAAE,KAAO,MAAQ61G,IAAgB,OAASA,EAAc,CAAA,CACpG,CACI,IAAI3B,GAA8B0B,GAClC,SAASG,GAA2B/1G,EAAM8qE,EAAM,CAC9C,IAAIhZ,EAAQ9xD,aAAgB86B,GAAgC96B,EAAO+8B,GAA2B/8B,CAAI,EAC9FyyE,EAAgB5C,GAAsB/d,CAAK,EAC3Cuf,EAAOM,GAAyB7f,CAAK,EACzC,OAAI,MAAM,QAAQuf,EAAK,YAAY,EAC1BA,EAAK,aAAa,SAASvG,CAAI,EAEpCA,IAAS2H,EACJ,GAEF,CAAC,CAACpB,EAAK,YACpB,CACI,IAAImjC,GAA0CuB,GAC1CC,GAAa,CAAE,eAAgB,kBAAmB,gBAAiB,YAAa,cAAe,eAAgB,aAAa,EAC5HC,GAAgB,CAClB,OAAQ,SACR,OAAQ,eAEV,SAASC,GAAgBpkD,EAAO,CAC9B,IAAIqkD,EAAQ,CAAA,EACZ,GAAI,CAACrkD,EACH,OAAOqkD,EAET,GAAIrkD,EAAM,QAAQ,MAAM,EAAG,CACzB,IAAIskD,EAAY11E,GAAmBoxB,EAAM,KAAK,MAAM,EAAE,aAAa,EACnEqkD,EAAQA,EAAM,OAAOC,CAAS,CACtC,CACM,OAAOD,EAAM,OAAO,SAASrrC,EAAM,CACjC,OAAOS,GAAsBT,CAAI,CACzC,CAAO,CACP,CACI,SAASurC,GAAyBr2G,EAAM,CACtC,IAAIs2G,EAAgB,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,GACpFC,EAAgBz3E,GAAY9+B,CAAI,EAAG8xD,EAAQykD,EAAc,MAC7D,GAAI,CAACt4E,GAAwB6zB,CAAK,EAChC,MAAO,CAAA,EAET,IAAIhB,EAAYgB,EAAM,MAAM,SACxB2gB,EAAgB5C,GAAsB/d,CAAK,GAAKmkD,GAAcnlD,CAAS,EACvE0lD,EAAeN,GAAgBpkD,CAAK,EACxC,OAAO0kD,EAAa,OAAO,SAAS1rC,EAAM,CACxC,MAAO,CAAC2rC,GAAc3rC,EAAMhZ,EAAOwkD,EAAe7jC,CAAa,CACvE,CAAO,CACP,CACI,SAASgkC,GAAc3rC,EAAMhZ,EAAOwkD,EAAe7jC,EAAe,CAChE,OAAI6jC,GAAiBxrC,IAAS2H,EACrB,GAELujC,GAAW,SAASlrC,CAAI,GAAK4U,GAAsB5U,CAAI,IAAM2H,EACxD,GAEF+hC,GAAwC1iD,EAAOgZ,CAAI,CAChE,CACI,IAAIqpC,GAAsCkC,GAC1C,SAASK,GAAmBt4G,EAAO,CACjC,OAAO,OAAO,KAAKwsE,GAAkB,SAAS,EAAE,OAAO,SAAS+rC,EAAU,CACxE,OAAO/rC,GAAkB,UAAU+rC,CAAQ,EAAE,OAASv4G,CAC9D,CAAO,CACP,CACI,IAAIw4G,GAAiCF,GACrC,SAASG,GAAeC,EAAU,CAChC,OAAOF,GAA+BE,CAAQ,CACpD,CACI,IAAI1C,GAA4ByC,GAChC,SAASE,IAAwC,CAC/C,OAAOnlD,GAAc,IAAI,2BAA4B,UAAW,CAC9D,OAAO,OAAO,KAAKgZ,GAAkB,SAAS,EAAE,OAAO,SAAS+rC,EAAU,CACxE,OAAO/rC,GAAkB,UAAU+rC,CAAQ,EAAE,eACvD,CAAS,CACT,CAAO,CACP,CACI,IAAIK,GAAsDD,GAC1D,SAASE,IAA+B,CACtC,OAAOD,GAAmD,CAChE,CACI,IAAI3C,GAA4C4C,GAC5CC,GAAS,SAAgBr6G,EAAO,CAClC,OAAOA,IAAU,IACvB,EACQs6G,GAAY,SAAmBt6G,EAAO,CACxC,OAAOA,IAAU,IACvB,EACQu6G,GAAc,CAAA,EAClBA,GAAY,WAAa,CACvB,wBAAyB,CACvB,KAAM,QACN,WAAY,GACZ,YAAa,IAEf,cAAe,CACb,KAAM,UACN,OAAQ,CAAE,OAAQ,OAAO,EACzB,YAAa,IAEf,oBAAqB,CACnB,KAAM,UACN,OAAQ,CAAE,SAAU,OAAQ,OAAQ,MAAM,EAC1C,YAAa,IAEf,YAAa,CACX,KAAM,UACN,OAAQ,CAAE,OAAQ,OAAO,EACzB,YAAa,IAEf,eAAgB,CACd,KAAM,UACN,OAAQ,CAAE,OAAQ,QAAS,QAAS,WAAW,EAC/C,YAAa,IAEf,gBAAiB,CACf,KAAM,MACN,YAAa,IAEf,gBAAiB,CACf,KAAM,MACN,YAAa,IAEf,eAAgB,CACd,KAAM,MACN,YAAa,IAEf,gBAAiB,CACf,KAAM,SACN,WAAY,GACZ,YAAa,IAEf,eAAgB,CACd,KAAM,UACN,WAAY,GACZ,OAAQ,CAAE,OAAQ,OAAQ,WAAY,OAAQ,OAAQ,OAAQ,OAAO,EACrE,YAAa,IAEf,mBAAoB,CAClB,KAAM,SACN,WAAY,GACZ,YAAa,IAEf,mBAAoB,CAClB,YAAa,GACb,eAAgB,IAElB,eAAgB,CACd,KAAM,QACN,WAAY,GACZ,YAAa,IAEf,gBAAiB,CACf,KAAM,UACN,OAAQ,CAAE,OAAQ,OAAO,EACzB,YAAa,IAEf,kBAAmB,CACjB,KAAM,WACN,OAAQ,CAAE,OAAQ,OAAQ,YAAa,UAAW,QAAS,MAAM,EACjE,YAAa,IAEf,oBAAqB,CACnB,KAAM,QACN,WAAY,GACZ,YAAa,IAEf,gBAAiB,CACf,KAAM,UACN,OAAQ,CAAE,OAAQ,QAAS,WAAW,EACtC,YAAa,IAEf,cAAe,CACb,KAAM,SACN,WAAY,GACZ,YAAa,IAEf,eAAgB,CACd,KAAM,UACN,OAAQ,CAAE,OAAQ,QAAS,WAAW,EACtC,YAAa,IAEf,gBAAiB,CACf,KAAM,UACN,WAAY,GACZ,OAAQ,CAAE,OAAQ,QAAS,OAAQ,UAAW,OAAQ,OAAQ,QAAQ,EACtE,YAAa,IAEf,cAAe,CACb,KAAM,UACN,OAAQ,CAAE,OAAQ,OAAO,EACzB,YAAa,IAEf,eAAgB,CACd,KAAM,UACN,WAAY,GACZ,OAAQ,CAAE,OAAQ,QAAS,WAAY,SAAS,EAChD,YAAa,IAEf,oBAAqB,CACnB,KAAM,SACN,WAAY,GACZ,YAAa,IAEf,aAAc,CACZ,KAAM,SACN,WAAY,GACZ,YAAa,IAEf,kBAAmB,CACjB,KAAM,SACN,WAAY,GACZ,YAAa,IAEf,aAAc,CACZ,KAAM,MACN,YAAa,IAEf,YAAa,CACX,KAAM,UACN,OAAQ,CAAE,MAAO,SAAU,WAAW,EACtC,YAAa,IAEf,aAAc,CACZ,KAAM,UACN,OAAQ,CAAE,OAAQ,OAAO,EACzB,YAAa,IAEf,iBAAkB,CAChB,KAAM,UACN,OAAQ,CAAE,OAAQ,OAAO,EACzB,YAAa,IAEf,uBAAwB,CACtB,KAAM,UACN,OAAQ,CAAE,OAAQ,OAAO,EACzB,YAAa,IAEf,mBAAoB,CAClB,KAAM,UACN,OAAQ,CAAE,aAAc,UAAU,EAClC,YAAa,IAEf,YAAa,CACX,KAAM,SACN,WAAY,GACZ,YAAa,IAEf,mBAAoB,CAClB,KAAM,SACN,WAAY,GACZ,YAAa,IAEf,gBAAiB,CACf,KAAM,MACN,YAAa,IAEf,eAAgB,CACd,KAAM,UACN,OAAQ,CAAE,OAAQ,QAAS,QAAS,WAAW,EAC/C,YAAa,IAEf,gBAAiB,CACf,KAAM,UACN,OAAQ,CAAE,OAAQ,OAAO,EACzB,YAAa,IAEf,gBAAiB,CACf,KAAM,WACN,OAAQ,CAAE,YAAa,WAAY,OAAQ,KAAK,EAChD,YAAa,IAEf,gBAAiB,CACf,KAAM,UACN,OAAQ,CAAE,OAAQ,OAAO,EACzB,YAAa,IAEf,uBAAwB,CACtB,KAAM,SACN,WAAY,GACZ,YAAa,IAEf,gBAAiB,CACf,KAAM,MACN,YAAa,IAEf,gBAAiB,CACf,KAAM,MACN,YAAa,IAEf,eAAgB,CACd,KAAM,MACN,YAAa,IAEf,gBAAiB,CACf,KAAM,UACN,OAAQ,CAAE,OAAQ,QAAS,WAAW,EACtC,YAAa,IAEf,eAAgB,CACd,KAAM,MACN,YAAa,IAEf,YAAa,CACX,KAAM,UACN,OAAQ,CAAE,YAAa,aAAc,QAAS,MAAM,EACpD,YAAa,IAEf,gBAAiB,CACf,KAAM,UACN,YAAa,IAEf,gBAAiB,CACf,KAAM,UACN,YAAa,IAEf,gBAAiB,CACf,KAAM,UACN,YAAa,IAEf,iBAAkB,CAChB,KAAM,SACN,YAAa,EACrB,GAEIA,GAAY,iBAAmB,CAAE,cAAe,YAAa,gBAAiB,eAAgB,mBAAoB,eAAgB,gBAAiB,kBAAmB,cAAe,eAAgB,gBAAiB,cAAe,eAAgB,oBAAqB,aAAc,kBAAmB,YAAa,YAAa,gBAAiB,sBAAsB,EAC5WA,GAAY,KAAO,CACjB,MAAO,CACL,KAAM,SACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,YAAa,CACX,KAAM,SACN,WAAY,CACV,QAAS,CAAE,gBAAiB,aAAc,mBAAmB,GAE/D,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,SAAU,SAAS,GAExC,YAAa,CACX,KAAM,WACN,WAAY,CACV,QAAS,CAAE,gBAAiB,oBAAqB,uBAAuB,GAE1E,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,UAAW,QAAS,QAAS,SAAU,SAAU,UAAW,MAAO,OAAO,GAE/F,QAAS,CACP,KAAM,YACN,WAAY,CACV,QAAS,CAAE,gBAAiB,gBAAiB,eAAgB,mBAAmB,GAElF,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,SAAU,CAAE,SAAS,EACrB,YAAa,IAEf,OAAQ,CACN,KAAM,WACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,SAAU,CAAE,QAAQ,EACpB,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,OAAQ,CACN,KAAM,SACN,WAAY,CACV,QAAS,CAAE,gBAAiB,eAAgB,mBAAmB,GAEjE,MAAO,KACP,SAAU,CAAE,SAAU,UAAU,EAChC,QAAS,KACT,SAAU,CAAE,SAAU,uBAAwB,sBAAuB,sBAAuB,uBAAwB,SAAS,EAC7H,YAAa,GACb,gBAAiB,CAAE,CACjB,SAAU,IACV,WAAY,CACV,KAAMD,EAClB,EACS,GAEH,KAAM,CACJ,KAAM,YACN,WAAY,CACV,QAAS,CAAE,gBAAiB,eAAgB,gBAAiB,eAAgB,mBAAmB,GAElG,MAAO,KACP,SAAU,CAAE,SAAU,UAAU,EAChC,QAAS,CAAE,KAAK,EAChB,SAAU,CAAE,KAAM,IAAI,EACtB,YAAa,IAEf,SAAU,CACR,KAAM,SACN,WAAY,CACV,QAAS,CAAE,eAAgB,gBAAiB,gBAAiB,mBAAmB,GAElF,MAAO,KACP,SAAU,CAAE,SAAU,UAAU,EAChC,QAAS,KACT,SAAU,CAAE,wBAAwB,EACpC,YAAa,GACb,gBAAiB,CAAE,QAAQ,GAE7B,aAAc,CACZ,KAAM,YACN,WAAY,CACV,QAAS,CAAE,gBAAiB,eAAgB,gBAAiB,gBAAiB,eAAgB,gBAAiB,gBAAiB,gBAAiB,YAAa,mBAAmB,GAEnL,MAAO,KACP,SAAU,CAAE,SAAU,UAAU,EAChC,QAAS,CAAE,KAAK,EAChB,SAAU,CAAE,IAAI,EAChB,YAAa,IAEf,SAAU,CACR,KAAM,YACN,WAAY,CACV,QAAS,CAAE,oBAAqB,gBAAiB,wBAAyB,mBAAoB,mBAAmB,EACjH,SAAU,CAAE,eAAe,GAE7B,MAAO,CACL,IAAK,CAAE,UAAW,OAAQ,OAAQ,SAAU,SAAS,GAEvD,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,CACjB,SAAU,QACV,WAAY,CACV,KAAM,CAAE,OAAQ,SAAU,MAAO,MAAO,OAAO,CAC3D,EACS,GAEH,QAAS,CACP,SAAU,CAAE,QAAQ,EACpB,KAAM,WACN,YAAa,IAEf,cAAe,CACb,KAAM,WACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,SAAU,CAAE,OAAO,EACnB,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,UAAW,CACT,SAAU,CAAE,QAAQ,EACpB,KAAM,WACN,YAAa,IAEf,YAAa,CACX,KAAM,WACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,SAAU,CAAE,QAAQ,EACpB,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,WAAY,CACV,KAAM,YACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,SAAU,CAAE,KAAM,KAAK,EACvB,YAAa,IAEf,OAAQ,CACN,KAAM,SACN,WAAY,CACV,QAAS,CAAE,gBAAiB,aAAc,mBAAmB,GAE/D,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,SAAU,CAAE,QAAQ,EACpB,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,UAAW,CACT,KAAM,YACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,SAAU,UAAU,EAChC,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,KAAM,IAAI,GAE/B,SAAU,CACR,KAAM,YACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,SAAU,CAAE,MAAM,EAClB,YAAa,GACb,gBAAiB,CAAE,UAAW,QAAS,SAAU,SAAU,UAAW,KAAK,GAE7E,eAAgB,CACd,KAAM,UACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,sBAAuB,CACrB,KAAM,WACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,gBAAiB,CACf,KAAM,WACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,eAAgB,CACd,KAAM,WACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,eAAgB,CACd,KAAM,OACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,SAAU,UAAU,EAChC,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,CACjB,SAAU,IACV,WAAY,CACV,KAAMA,EAClB,EACS,GAEH,kBAAmB,CACjB,KAAM,WACN,WAAY,CACV,QAAS,CAAE,gBAAiB,aAAc,gBAAiB,eAAgB,mBAAmB,GAEhG,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,CAAE,kBAAkB,EAC7B,YAAa,GACb,gBAAiB,CAAE,IAAI,GAEzB,mBAAoB,CAClB,KAAM,WACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,CACL,IAAK,CAAE,iBAAiB,GAE1B,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,gBAAiB,CACf,KAAM,OACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,SAAU,UAAU,EAChC,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,CACjB,SAAU,IACV,WAAY,CACV,KAAMA,EAClB,EACS,GAEH,cAAe,CACb,KAAM,WACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,eAAgB,CACd,KAAM,UACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,iBAAkB,CAChB,KAAM,WACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,YAAa,CACX,KAAM,MACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,IAEf,aAAc,CACZ,KAAM,UACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,cAAe,CACb,KAAM,WACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,iBAAkB,CAChB,KAAM,UACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,cAAe,CACb,KAAM,WACN,WAAY,CACV,QAAS,CAAE,gBAAiB,aAAc,gBAAiB,eAAgB,mBAAmB,GAEhG,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,CAAE,cAAc,EACzB,YAAa,GACb,gBAAiB,CAAE,IAAI,GAEzB,eAAgB,CACd,KAAM,WACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,CACL,IAAK,CAAE,aAAa,GAEtB,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,eAAgB,CACd,KAAM,UACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,IAEf,eAAgB,CACd,KAAM,WACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,aAAc,CACZ,KAAM,WACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,cAAe,CACb,KAAM,UACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,QAAS,SAAS,GAEvC,eAAgB,CACd,KAAM,UACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,QAAS,SAAU,QAAQ,GAEhD,eAAgB,CACd,KAAM,WACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,eAAgB,CACd,KAAM,WACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,CAAE,OAAQ,YAAY,EAC7B,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,IAAI,GAEzB,eAAgB,CACd,KAAM,OACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,SAAU,UAAU,EAChC,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,CACjB,SAAU,IACV,WAAY,CACV,KAAMA,EAClB,EACS,GAEH,YAAa,CACX,KAAM,aACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,MAAO,SAAS,GAErC,mBAAoB,CAClB,KAAM,WACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,cAAe,CACb,KAAM,OACN,WAAY,CACV,QAAS,CAAE,eAAe,GAE5B,MAAO,KACP,SAAU,CAAE,SAAU,UAAU,EAChC,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,CACjB,SAAU,IACV,WAAY,CACV,KAAMA,EAClB,EACS,GAEH,aAAc,CACZ,KAAM,OACN,WAAY,CACV,QAAS,CAAE,eAAe,GAE5B,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,gBAAiB,CACf,KAAM,YACN,WAAY,CACV,QAAS,CAAE,eAAe,GAE5B,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,IAAI,GAEzB,eAAgB,CACd,KAAM,aACN,WAAY,CACV,QAAS,CAAE,eAAe,GAE5B,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,MAAO,SAAS,GAErC,WAAY,CACV,KAAM,WACN,WAAY,CACV,QAAS,CAAE,eAAe,GAE5B,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,cAAe,CACb,KAAM,WACN,WAAY,CACV,QAAS,CAAE,eAAe,GAE5B,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,eAAgB,CACd,KAAM,WACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,gBAAiB,CACf,KAAM,OACN,WAAY,CACV,QAAS,CAAE,eAAe,GAE5B,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,QAAS,SAAS,GAEvC,UAAW,CACT,KAAM,UACN,WAAY,CACV,QAAS,CAAE,eAAe,GAE5B,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,eAAgB,CACd,KAAM,cACN,WAAY,CACV,QAAS,CAAE,eAAe,GAE5B,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CACf,SAAU,CAAE,KAAM,KAAM,KAAM,KAAM,KAAM,IAAI,CACxD,GAEM,UAAW,CACT,KAAM,OACN,WAAY,CACV,QAAS,CAAE,eAAe,GAE5B,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,OAAO,GAE5B,UAAW,CACT,KAAM,aACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,MAAO,SAAS,GAErC,KAAM,CACJ,KAAM,YACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,CACL,IAAK,CAAE,SAAS,GAElB,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,UAAW,QAAS,SAAS,GAElD,OAAQ,CACN,KAAM,YACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,SAAU,UAAU,EAChC,QAAS,KACT,SAAU,CAAE,QAAQ,EACpB,YAAa,IAEf,KAAM,CACJ,KAAM,WACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,SAAU,CAAE,MAAM,EAClB,YAAa,IAEf,KAAM,CACJ,KAAM,YACN,WAAY,CACV,QAAS,CAAE,wBAAyB,gBAAiB,gBAAiB,aAAc,uBAAwB,gBAAiB,gBAAiB,mBAAmB,GAEnK,MAAO,CACL,IAAK,CAAE,WAAY,KAAK,GAE1B,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,SAAU,CAAE,OAAO,EACnB,YAAa,IAEf,SAAU,CACR,KAAM,SACN,WAAY,CACV,QAAS,CAAE,gBAAiB,eAAgB,gBAAiB,gBAAiB,eAAgB,gBAAiB,gBAAiB,gBAAiB,mBAAmB,GAEtK,MAAO,KACP,SAAU,CAAE,SAAU,UAAU,EAChC,QAAS,CAAE,KAAK,EAChB,SAAU,CAAE,KAAM,IAAI,EACtB,YAAa,IAEf,MAAO,CACL,KAAM,YACN,WAAY,CACV,QAAS,CAAE,wBAAyB,gBAAiB,mBAAmB,GAE1E,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,SAAU,CAAE,UAAW,UAAU,EACjC,YAAa,GACb,gBAAiB,CAAE,KAAM,aAAc,WAAY,SAAU,SAAU,SAAU,KAAM,IAAI,GAE7F,QAAS,CACP,KAAM,YACN,WAAY,CACV,SAAU,CAAE,YAAY,EACxB,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,SAAU,UAAU,EAChC,QAAS,KACT,SAAU,CAAE,KAAM,KAAM,KAAM,KAAM,KAAM,IAAI,EAC9C,YAAa,IAEf,IAAK,CACH,KAAM,YACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,SAAU,CAAE,KAAK,EACjB,YAAa,GACb,gBAAiB,CAAE,QAAS,SAAU,SAAU,KAAK,GAEvD,MAAO,CACL,SAAU,CAAE,QAAQ,EACpB,KAAM,WACN,YAAa,IAEf,SAAU,CACR,SAAU,CAAE,QAAQ,EACpB,KAAM,WACN,YAAa,IAEf,KAAM,CACJ,KAAM,SACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,SAAU,UAAU,EAChC,QAAS,KACT,SAAU,CAAE,UAAW,YAAY,EACnC,YAAa,GACb,gBAAiB,CAAE,SAAU,CAC3B,SAAU,QACV,WAAY,CACV,KAAM,CAAE,QAAS,QAAQ,CACrC,EACS,GAEH,KAAM,CACJ,KAAM,YACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,CACL,IAAK,CAAE,UAAU,GAEnB,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,SAAU,CAAE,KAAM,KAAM,IAAI,EAC5B,YAAa,IAEf,QAAS,CACP,KAAM,YACN,WAAY,CACV,QAAS,CAAE,wBAAyB,uBAAwB,gBAAiB,gBAAiB,gBAAiB,mBAAoB,mBAAmB,GAExJ,MAAO,CACL,IAAK,CAAE,QAAQ,GAEjB,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,SAAU,CAAE,QAAQ,EACpB,YAAa,GACb,gBAAiB,CAAE,KAAM,IAAI,GAE/B,SAAU,CACR,KAAM,YACN,WAAY,CACV,QAAS,CAAE,aAAc,gBAAiB,eAAgB,gBAAiB,mBAAmB,GAEhG,MAAO,KACP,SAAU,CAAE,SAAU,UAAU,EAChC,QAAS,CAAE,MAAM,EACjB,SAAU,CAAE,KAAM,IAAI,EACtB,YAAa,IAEf,IAAK,CACH,KAAM,SACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,KAAM,CACJ,KAAM,WACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,SAAU,CAAE,MAAM,EAClB,YAAa,GACb,gBAAiB,CAAE,UAAW,SAAS,GAEzC,QAAS,CACP,KAAM,SACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,KAAM,CACJ,KAAM,YACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,SAAU,CAAE,MAAM,EAClB,YAAa,IAEf,KAAM,CACJ,KAAM,YACN,WAAY,CACV,QAAS,CAAE,wBAAyB,gBAAiB,mBAAoB,mBAAmB,GAE9F,MAAO,CACL,IAAK,CAAE,WAAY,gBAAiB,kBAAkB,GAExD,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,SAAU,CAAE,sBAAsB,EAClC,YAAa,GACb,gBAAiB,CAAE,KAAM,IAAI,GAE/B,QAAS,CACP,KAAM,YACN,WAAY,CACV,QAAS,CAAE,wBAAyB,gBAAiB,mBAAoB,mBAAmB,GAE9F,MAAO,CACL,IAAK,CAAE,WAAY,gBAAiB,kBAAkB,GAExD,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,KAAM,IAAI,GAE/B,SAAU,CACR,KAAM,SACN,WAAY,CACV,QAAS,CAAE,gBAAiB,eAAgB,gBAAiB,mBAAmB,GAElF,MAAO,KACP,SAAU,CAAE,SAAU,UAAU,EAChC,QAAS,CAAE,OAAQ,SAAS,EAC5B,SAAU,CAAE,0BAA0B,EACtC,YAAa,GACb,gBAAiB,CAAE,SAAU,KAAM,CACjC,SAAU,OACV,WAAY,CACV,KAAM,CAAE,QAAS,QAAQ,CACrC,CACA,EAAW,CACD,SAAU,IACV,WAAY,CACV,KAAMA,EAClB,EACS,GAEH,iBAAkB,CAChB,KAAM,SACN,WAAY,CACV,QAAS,CAAE,eAAgB,gBAAiB,eAAgB,mBAAmB,GAEjF,MAAO,KACP,SAAU,CAAE,SAAU,UAAU,EAChC,QAAS,CAAE,OAAQ,SAAS,EAC5B,SAAU,CAAE,2BAA2B,EACvC,YAAa,GACb,gBAAiB,CAAE,CACjB,SAAU,CAAE,SAAU,IAAI,CACpC,EAAW,CACD,SAAU,QACV,WAAY,CACV,KAAM,CAAE,WAAY,QAAS,QAAQ,CACjD,CACA,EAAW,CACD,SAAU,IACV,WAAY,CACV,KAAMA,EAClB,EACS,GAEH,cAAe,CACb,KAAM,SACN,WAAY,CACV,QAAS,CAAE,eAAgB,gBAAiB,gBAAiB,eAAgB,mBAAmB,GAElG,MAAO,KACP,SAAU,CAAE,SAAU,UAAU,EAChC,QAAS,CAAE,OAAQ,SAAS,EAC5B,SAAU,CAAE,wBAAwB,EACpC,YAAa,GACb,gBAAiB,CAAE,CACjB,SAAU,CAAE,SAAU,IAAI,CACpC,EAAW,CACD,SAAU,QACV,WAAY,CACV,KAAM,CAAE,QAAS,SAAU,OAAO,CAC9C,CACA,EAAW,CACD,SAAU,IACV,WAAY,CACV,KAAMA,EAClB,EACS,GAEH,WAAY,CACV,KAAM,WACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,SAAU,CAAE,KAAK,EACjB,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,KAAM,CACJ,KAAM,YACN,WAAY,KACZ,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,CACjB,SAAU,CAAE,UAAW,QAAS,KAAM,QAAS,aAAc,WAAY,SAAU,SAAU,OAAQ,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,SAAU,KAAM,SAAU,KAAM,KAAM,UAAW,IAAI,CACxM,EAAW,CACD,SAAU,MACV,WAAY,CACV,IAAKA,EACjB,EACS,GAEH,KAAM,CACJ,KAAM,YACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,OAAO,GAE5B,OAAQ,CACN,KAAM,SACN,WAAY,CACV,QAAS,CAAE,gBAAiB,gBAAiB,eAAgB,eAAgB,mBAAmB,GAElG,MAAO,KACP,SAAU,CAAE,SAAU,UAAU,EAChC,QAAS,CAAE,SAAS,EACpB,SAAU,CAAE,QAAQ,EACpB,YAAa,GACb,gBAAiB,CAAE,CACjB,SAAU,CAAE,SAAU,IAAI,CACpC,EAAW,CACD,SAAU,QACV,WAAY,CACV,KAAM,CAAE,WAAY,QAAQ,CACxC,CACA,EAAW,CACD,SAAU,IACV,WAAY,CACV,KAAMA,EAClB,EACS,GAEH,aAAc,CACZ,KAAM,YACN,WAAY,KACZ,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,CACjB,SAAU,CAAE,UAAW,QAAS,KAAM,QAAS,aAAc,WAAY,SAAU,SAAU,OAAQ,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,SAAU,KAAM,SAAU,KAAM,KAAM,UAAW,IAAI,CACxM,EAAW,CACD,SAAU,MACV,WAAY,CACV,IAAKA,EACjB,EACS,GAEH,YAAa,CACX,KAAM,SACN,WAAY,CACV,QAAS,CAAE,iBAAkB,gBAAiB,gBAAiB,gBAAiB,gBAAiB,mBAAmB,GAEtH,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,SAAU,CAAE,UAAU,EACtB,YAAa,IAEf,MAAO,CACL,KAAM,SACN,WAAY,CACV,QAAS,CAAE,gBAAiB,gBAAiB,eAAgB,gBAAiB,oBAAqB,cAAc,GAEnH,MAAO,KACP,SAAU,CAAE,SAAU,UAAU,EAChC,QAAS,KACT,SAAU,CAAE,qBAAqB,EACjC,YAAa,GACb,gBAAiB,CAAE,CACjB,SAAU,CAAE,SAAU,IAAI,CACpC,EAAW,CACD,SAAU,QACV,WAAY,CACV,KAAM,CAAE,QAAS,QAAQ,CACrC,EACS,GAEH,WAAY,CACV,KAAM,YACN,WAAY,CACV,QAAS,CAAE,wBAAyB,gBAAiB,gBAAiB,gBAAiB,oBAAqB,kBAAkB,GAEhI,MAAO,CACL,IAAK,CAAE,OAAO,GAEhB,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CACf,SAAU,CAAE,KAAM,KAAM,UAAU,CAC5C,GAEM,MAAO,CACL,SAAU,CAAE,QAAQ,EACpB,KAAM,WACN,YAAa,IAEf,OAAQ,CACN,KAAM,WACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,SAAU,CAAE,sBAAuB,2BAA4B,gBAAgB,EAC/E,YAAa,GACb,gBAAiB,CACf,SAAU,CAAE,UAAW,OAAO,CACxC,GAEM,SAAU,CACR,KAAM,WACN,YAAa,IAEf,IAAK,CACH,KAAM,YACN,WAAY,CACV,QAAS,CAAE,wBAAyB,gBAAiB,gBAAiB,aAAc,gBAAiB,gBAAiB,mBAAmB,GAE3I,MAAO,CACL,IAAK,CAAE,OAAQ,eAAgB,YAAa,UAAU,GAExD,SAAU,CAAE,SAAU,UAAU,EAChC,QAAS,CAAE,WAAY,OAAQ,WAAY,OAAO,EAClD,SAAU,CAAE,IAAI,EAChB,YAAa,IAEf,SAAU,CACR,KAAM,YACN,WAAY,CACV,QAAS,CAAE,wBAAyB,gBAAiB,mBAAmB,GAE1E,MAAO,CACL,IAAK,CAAE,KAAK,GAEd,SAAU,CAAE,SAAU,UAAU,EAChC,QAAS,CAAE,OAAQ,QAAS,UAAU,EACtC,SAAU,CAAE,QAAS,QAAS,OAAO,EACrC,YAAa,IAEf,UAAW,CACT,KAAM,YACN,WAAY,CACV,QAAS,CAAE,gBAAiB,eAAgB,gBAAiB,gBAAiB,eAAgB,gBAAiB,gBAAiB,gBAAiB,YAAa,mBAAmB,GAEnL,MAAO,KACP,SAAU,CAAE,SAAU,UAAU,EAChC,QAAS,CAAE,KAAK,EAChB,SAAU,CAAE,IAAI,EAChB,YAAa,IAEf,UAAW,CACT,KAAM,SACN,WAAY,CACV,SAAU,CAAE,gBAAiB,eAAe,EAC5C,QAAS,CAAE,iBAAkB,mBAAoB,oBAAqB,gBAAiB,eAAe,GAExG,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,IAEf,OAAQ,CACN,KAAM,WACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CACf,SAAU,CAAE,QAAS,OAAQ,SAAS,CAChD,GAEM,UAAW,CACT,KAAM,SACN,WAAY,CACV,QAAS,CAAE,wBAAyB,oBAAqB,iBAAkB,gBAAiB,gBAAiB,mBAAoB,mBAAmB,GAEtJ,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,SAAU,CAAE,sBAAsB,EAClC,YAAa,GACb,gBAAiB,CACf,SAAU,QACV,WAAY,CACV,KAAM,MAClB,CACA,GAEM,QAAS,CACP,SAAU,CAAE,SAAU,UAAU,EAChC,KAAM,WACN,YAAa,IAEf,YAAa,CACX,SAAU,CAAE,SAAU,UAAU,EAChC,KAAM,WACN,YAAa,IAEf,OAAQ,CACN,SAAU,CAAE,QAAQ,EACpB,KAAM,WACN,YAAa,IAEf,UAAW,CACT,KAAM,YACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAoB,gBAAiB,gBAAiB,gBAAiB,iBAAkB,mBAAmB,GAE1I,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,SAAU,CAAE,IAAI,EAChB,YAAa,GACb,gBAAiB,CAAE,IAAI,GAEzB,OAAQ,CACN,KAAM,SACN,WAAY,CACV,QAAS,CAAE,iBAAkB,mBAAoB,gBAAiB,oBAAqB,gBAAiB,eAAe,EACvH,SAAU,CAAE,eAAe,GAE7B,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,SAAU,CAAE,qBAAqB,EACjC,YAAa,IAEf,WAAY,CACV,KAAM,SACN,WAAY,CACV,QAAS,CAAE,iBAAkB,gBAAiB,gBAAiB,oBAAqB,gBAAiB,eAAe,EACpH,SAAU,CAAE,eAAe,GAE7B,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,SAAU,CAAE,sBAAsB,EAClC,YAAa,GACb,gBAAiB,CACf,SAAU,QACV,WAAY,CACV,KAAM,CAAE,OAAQ,KAAK,CACjC,CACA,GAEM,OAAQ,CACN,KAAM,SACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,SAAU,CAAE,QAAQ,EACpB,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,UAAW,CACT,KAAM,WACN,YAAa,IAEf,OAAQ,CACN,KAAM,SACN,WAAY,CACV,QAAS,CAAE,mBAAmB,EAC9B,SAAU,CAAE,cAAc,GAE5B,MAAO,KACP,SAAU,CAAE,SAAU,UAAU,EAChC,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,SAAU,CAC3B,SAAU,QACV,WAAY,CACV,KAAM,CAAE,WAAY,QAAS,QAAQ,CACjD,CACA,EAAW,CACD,SAAU,IACV,WAAY,CACV,KAAMA,EAClB,EACS,GAEH,IAAK,CACH,KAAM,SACN,WAAY,CACV,QAAS,CAAE,gBAAiB,gBAAiB,eAAgB,gBAAiB,mBAAmB,GAEnG,MAAO,KACP,SAAU,CAAE,SAAU,UAAU,EAChC,QAAS,CAAE,SAAS,EACpB,YAAa,GACb,gBAAiB,CAAE,CACjB,SAAU,CAAE,SAAU,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAI,CACxE,EAAW,CACD,SAAU,QACV,WAAY,CACV,KAAM,QAClB,CACA,EAAW,CACD,SAAU,IACV,WAAY,CACV,KAAMA,EAClB,EACS,GAEH,MAAO,CACL,KAAM,YACN,WAAY,CACV,QAAS,CAAE,gBAAiB,gBAAiB,mBAAmB,GAElE,MAAO,CACL,IAAK,CAAE,WAAY,KAAK,GAE1B,SAAU,CAAE,SAAU,UAAU,EAChC,QAAS,KACT,SAAU,CAAE,OAAO,EACnB,YAAa,IAEf,QAAS,CACP,KAAM,YACN,WAAY,CACV,QAAS,CAAE,wBAAyB,gBAAiB,aAAc,uBAAwB,mBAAoB,mBAAmB,GAEpI,MAAO,CACL,IAAK,CAAE,KAAK,GAEd,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,KAAM,IAAI,GAE/B,SAAU,CACR,KAAM,SACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,SAAS,GAE9B,KAAM,CACJ,KAAM,YACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,SAAU,UAAU,EAChC,QAAS,KACT,SAAU,CAAE,IAAI,EAChB,YAAa,IAEf,QAAS,CACP,KAAM,SACN,WAAY,CACV,QAAS,CAAE,wBAAyB,oBAAqB,iBAAkB,gBAAiB,gBAAiB,mBAAoB,mBAAmB,GAEtJ,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,SAAU,CAAE,qBAAsB,sBAAuB,yBAA0B,oBAAqB,oBAAqB,oBAAqB,UAAU,EAC5J,YAAa,IAEf,MAAO,CACL,KAAM,SACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,IAEf,QAAS,CACP,KAAM,YACN,WAAY,CACV,QAAS,CAAE,wBAAyB,gBAAiB,mBAAoB,mBAAmB,GAE9F,MAAO,KACP,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,SAAU,CAAE,sBAAsB,EAClC,YAAa,GACb,gBAAiB,CAAE,KAAM,IAAI,GAE/B,QAAS,CACP,KAAM,YACN,WAAY,CACV,QAAS,CAAE,gBAAiB,mBAAmB,GAEjD,MAAO,KACP,SAAU,CAAE,SAAU,UAAU,EAChC,QAAS,KACT,YAAa,IAEf,KAAM,CACJ,KAAM,YACN,WAAY,CACV,QAAS,CAAE,wBAAyB,uBAAwB,gBAAiB,gBAAiB,mBAAoB,mBAAmB,GAEvI,MAAO,CACL,IAAK,CAAE,UAAU,GAEnB,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,GACb,gBAAiB,CAAE,KAAM,IAAI,GAE/B,SAAU,CACR,KAAM,YACN,WAAY,CACV,QAAS,CAAE,wBAAyB,gBAAiB,gBAAiB,aAAc,uBAAwB,gBAAiB,gBAAiB,gBAAiB,mBAAoB,mBAAmB,GAExM,MAAO,CACL,IAAK,CAAE,WAAY,KAAK,GAE1B,SAAU,CAAE,QAAQ,EACpB,QAAS,KACT,YAAa,IAEf,SAAU,CACR,KAAM,SACN,WAAY,CACV,QAAS,CAAE,eAAgB,gBAAiB,gBAAiB,aAAc,gBAAiB,eAAgB,mBAAmB,GAEjI,MAAO,KACP,SAAU,CAAE,SAAU,UAAU,EAChC,QAAS,CAAE,QAAS,MAAM,EAC1B,YAAa,GACb,gBAAiB,CAAE,KAAM,CACvB,SAAU,IACV,WAAY,CACV,KAAMA,EAClB,EACS,GAEH,OAAQ,CACN,KAAM,WACN,YAAa,IAEf,OAAQ,CACN,SAAU,CAAE,QAAQ,EACpB,KAAM,WACN,YAAa,EACrB,GAEIC,GAAY,iBAAmBzoC,GAC/ByoC,GAAY,sBAAwB,CAAE,CACpC,SAAU,CAAE,OAAQ,OAAQ,UAAW,MAAO,WAAY,WAAY,KAAM,UAAW,KAAM,OAAQ,OAAQ,SAAU,QAAS,SAAU,OAAQ,MAAO,OAAQ,OAAQ,QAAS,WAAY,WAAY,QAAS,UAAW,WAAY,SAAU,SAAU,QAAS,WAAY,WAAY,QAAS,OAAO,CACrT,EAAO,CACD,SAAU,OACV,WAAY,CACV,KAAMD,EACd,CACA,EAAO,CACD,SAAU,QACV,WAAY,CACV,KAAM,CAAE,QAAS,OAAQ,WAAY,OAAQ,SAAU,QAAS,SAAU,WAAY,QAAS,QAAS,SAAU,OAAQ,MAAM,CACxI,CACA,EAAO,CACD,SAAU,OACV,WAAY,CACV,KAAMA,EACd,CACA,EAAO,CACD,SAAU,OACV,WAAY,CACV,KAAM,SACd,CACA,EAAO,CACD,SAAU,WACV,WAAY,CACV,KAAM,CAAE,UAAW,WAAY,OAAO,CAC9C,CACA,EAAO,CACD,SAAU,SACV,UAAW,SAAmBrlD,EAAO,CACnC,OAAMA,aAAiB/6D,EAAI,sBACzB+6D,EAAQ/6D,EAAI,MAAM,gBAAgB+6D,CAAK,GAElC,OAAOA,EAAM,KAAK,MAAM,CAAC,EAAI,CAC5C,EACM,WAAY,CACV,SAAU,EAClB,CACA,EAAO,CACD,SAAU,CAAE,WAAY,SAAU,OAAQ,OAAQ,UAAW,gBAAiB,sBAAuB,cAAe,mBAAoB,oBAAqB,oBAAqB,iBAAkB,eAAgB,UAAW,UAAW,UAAW,UAAW,UAAW,iBAAkB,UAAW,UAAW,cAAe,eAAgB,WAAY,eAAgB,qBAAsB,cAAe,SAAU,eAAgB,SAAU,QAAS,YAAa,iBAAkB,SAAU,OAAQ,eAAgB,YAAa,UAAW,WAAY,QAAS,UAAW,iBAAkB,aAAc,OAAQ,SAAU,MAAM,CACvnB,CAAK,EACDslD,GAAY,uBAAyB,CAAE,CACrC,SAAU,IACV,WAAY,CACV,KAAMF,EACd,CACA,EAAO,CACD,SAAU,MACV,WAAY,CACV,IAAKA,EACb,CACA,EAAO,CACD,SAAU,CAAE,OAAQ,UAAW,SAAU,MAAO,IAAK,MAAO,aAAc,MAAO,MAAO,SAAU,OAAQ,QAAS,QAAS,QAAS,QAAS,KAAM,KAAM,SAAU,QAAS,IAAK,OAAQ,IAAK,MAAO,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,OAAQ,OAAQ,KAAM,KAAM,MAAO,MAAO,KAAM,MAAO,KAAM,IAAI,CACxV,CAAK,EACDE,GAAY,uBAAyB,CACnC,EAAG,SAAWC,EAAQ,CACpB,IAAIr3G,EAAOq3G,EAAO,KAAM51E,EAAM41E,EAAO,IACrC,OAAIr3G,EAAK,eAAiB,6BACjB,GAELA,EAAK,KAAK,OACLyhC,EAEF,EACf,EACM,KAAM,SAAc61E,EAAQ,CAC1B,IAAIt3G,EAAOs3G,EAAO,KAClB,MAAO,CAACt3G,EAAK,IACrB,EACM,OAAQ,SAAgBu3G,EAAQ,CAC9B,IAAIv3G,EAAOu3G,EAAO,KAAMzsC,EAAOysC,EAAO,KAAM91E,EAAM81E,EAAO,IACzD,OAAIv3G,EAAK,aAAa,MAAM,IAAM,OACzB8qE,IAAS,WAEXrpC,CACf,EACM,IAAK,SAAa+1E,EAAQ,CACxB,IAAIx3G,EAAOw3G,EAAO,KAAM1sC,EAAO0sC,EAAO,KAAM/1E,EAAM+1E,EAAO,IACzD,OAAQx3G,EAAK,IAAG,CACf,KAAK,KACJ,OAAOyhC,EAER,IAAK,GACJ,OAAOqpC,IAAS,gBAAkBA,IAAS,OAE5C,QACC,OAAOA,IAAS,gBAAkBA,IAAS,MACrD,CACA,EACM,MAAO,SAAe2sC,EAAQ,CAC5B,IAAIz3G,EAAOy3G,EAAO,KAAM3sC,EAAO2sC,EAAO,KAAMh2E,EAAMg2E,EAAO,IACzD,OAAQz3G,EAAK,KAAI,CAChB,IAAK,SACL,IAAK,QACJ,OAAOyhC,EAER,IAAK,WACJ,OAAIqpC,IAAS,UAAY9qE,EAAK,aAAa,cAAc,EAChD,GAEFyhC,EAER,IAAK,QACJ,OAAOqpC,IAAS,gBAEjB,IAAK,OACJ,OAAOA,IAAS,YAAcA,IAAS,aAAeA,IAAS,aAEhE,IAAK,MACJ,OAAOA,IAAS,YAAcA,IAAS,aAExC,IAAK,MACL,IAAK,SACL,IAAK,QACJ,OAAOA,IAAS,WAEjB,QACC,MAAO,EACjB,CACA,EACM,GAAI,SAAY4sC,EAAQ,CACtB,IAAI13G,EAAO03G,EAAO,KAAMj2E,EAAMi2E,EAAO,IACjCC,EAA0B5gH,EAAI,MAAM,gBAAgBiJ,EAAM,cAAc,EAC5E,OAAI23G,EACKl2E,EAEF,EACf,EACM,KAAM,SAAcm2E,EAAQ,CAC1B,IAAI53G,EAAO43G,EAAO,KAClB,OAAI53G,EAAK,aAAa,MAAM,IAAM,SAI1C,EACM,OAAQ,SAAgB63G,EAAQ,CAC9B,IAAI73G,EAAO63G,EAAO,KACdC,EAAmB/gH,EAAI,MAAM,gBAAgBiJ,EAAM,uDAAuD,EAC9G,MAAO,CAAC83G,CAChB,EACM,OAAQ,SAAgBC,EAAQ,CAC9B,IAAI/3G,EAAO+3G,EAAO,KAAMjtC,EAAOitC,EAAO,KACtC,MAAO,CAAC/3G,EAAK,UAAYA,EAAK,MAAQ,GAAK8qE,IAAS,MAC5D,EACM,IAAK,SAAaktC,EAAQ,CACxB,IAAIh4G,EAAOg4G,EAAO,KAAMv2E,EAAMu2E,EAAO,IACrC,OAAIh4G,EAAK,YAAcA,EAAK,WAAW,eAAiB,6BAC/C,GAEFyhC,CACf,GAEI21E,GAAY,YAAc,CACxB,OAAQ,CAAE,SAAU,WAAY,SAAU,WAAY,OAAQ,MAAO,UAAW,WAAY,mBAAoB,gBAAiB,SAAU,cAAe,QAAS,YAAa,YAAa,SAAU,aAAc,SAAU,SAAU,MAAO,WAAY,UAAW,QAAS,UAAW,OAAQ,UAAU,GAE/S,IAAIzC,GAAuByC,GAC3B,SAASa,GAAcntC,EAAM,CAC3B,IAAIotC,EAAW,KACX/B,EAAQxB,GAAqB,KAAK7pC,CAAI,EAC1C,OAAIqrC,GAASA,EAAM,WACjB+B,EAAWz8E,GAAO06E,EAAM,QAAQ,GAE3B+B,CACb,CACI,IAAI5D,GAAyB2D,GAC7B,SAASE,GAAgBn4G,EAAM,CAC7B,MAAO,CAAC,CAACk0G,GAA4Bl0G,CAAI,EAAE,MACjD,CACI,IAAIu0G,GAA4B4D,GAChC,SAAS1D,GAAiBj0C,EAAa,CACrC,IAAI43C,EAAS,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAA,EAAIC,EAAaD,EAAO,WACrGttC,EAAOsF,GAAiB5P,CAAW,EAEvC,GADA63C,IAA4DA,EAAa1uC,GAAmB,eAAe,EAAE,QACzG,CAAC0uC,EAAW,SAASvtC,CAAI,EAC3B,MAAO,GAET,IAAIwtC,EAAUC,GAAsB/3C,CAAW,EAC/C,GAAIg4C,GAAWF,CAAO,EACpB,MAAO,GAET,IAAIj1G,EAAKm9D,EAAY,MAAM,GAC3B,GAAI,CAACn9D,EACH,MAAO,GAET,GAAI,CAACm9D,EAAY,WACf,MAAM,IAAI,MAAM,0DAA0D,EAE5E,IAAIjL,EAAOt4B,GAAsBujC,EAAY,UAAU,EACnDi4C,EAAgBljD,EAAK,iBAAiB,gBAAgB,OAAOlyD,EAAI;AAAA,uBAA2D,EAAE,OAAOA,EAAI,kCAAkC,CAAC,EAChL,OAAO,MAAM,KAAKo1G,CAAa,EAAE,KAAKD,EAAU,CACtD,CACI,IAAIA,GAAa,SAAoBx4G,EAAM,CACzC,OAAOA,GAAQowE,GAAiBpwE,CAAI,IAAM,UAChD,EACI,SAASu4G,GAAsBzmD,EAAO,CACpC,KAAOA,EAAQA,EAAM,QACnB,GAAIse,GAAiBte,EAAO,CAC1B,iBAAkB,GACnB,IAAM,KACL,OAAOA,EAGX,OAAO,IACb,CACI,SAAS4mD,GAAO14G,EAAM,CACpB,OAAAA,EAAO+8B,GAA2B/8B,CAAI,EAC/Bk9E,GAAsBl9E,CAAI,CACvC,CACI,IAAI00G,GAAiBgE,GACrB,SAASC,GAAa7tC,EAAM,CAC1B,IAAI4I,EAAU9I,GAAkB,UAAUE,CAAI,EAC9C,MAAI,CAAC4I,GAAW,CAAC,MAAM,QAAQA,EAAQ,aAAa,EAC3C,CAAA,EAEFz5E,GAAmBy5E,EAAQ,aAAa,CACrD,CACI,IAAIkhC,GAAwB+D,GAC5B,SAASC,GAAgB9tC,EAAM,CAC7B,IAAI4I,EAAU9I,GAAkB,UAAUE,CAAI,EAC9C,MAAI,CAAC4I,GAAW,CAAC,MAAM,QAAQA,EAAQ,eAAe,EAC7C,KAEFz5E,GAAmBy5E,EAAQ,eAAe,CACvD,CACI,IAAImhC,GAA2B+D,GAC/B,SAASC,GAAc/tC,EAAM,CAC3B,IAAI4I,EAAU9I,GAAkB,UAAUE,CAAI,EAC9C,MAAI,CAAC4I,GAAW,CAAC,MAAM,QAAQA,EAAQ,aAAa,EAC3C,KAEFz5E,GAAmBy5E,EAAQ,aAAa,CACrD,CACI,IAAIohC,GAAyB+D,GAC7B,SAASC,GAAkBhnD,EAAOzqC,EAAM,CACtCyqC,EAAQA,aAAiBh3B,GAAgCg3B,EAAQ/0B,GAA2B+0B,CAAK,EACjG,IAAI0f,EACAnlD,EACAxvB,EAAQi1D,EAAM,KAAKzqC,CAAI,EACvB0xF,EAAWnuC,GAAkB,UAAUvjD,CAAI,EAI/C,GAHI,CAAC0xF,GAGDA,EAAS,aAAe,CAACl8G,GAASA,EAAM,KAAI,IAAO,IACrD,MAAO,GAET,OAAQk8G,EAAS,KAAI,CACpB,IAAK,UACJ,MAAO,CAAE,OAAQ,OAAO,EAAG,SAASl8G,EAAM,aAAa,EAExD,IAAK,UACJ,OAAO,OAAOA,GAAU,UAAYk8G,EAAS,OAAO,SAASl8G,EAAM,aAAa,EAEjF,IAAK,WACJ,OAAAwvB,EAAOqU,GAAmB7jC,CAAK,EACxBwvB,EAAK,OAAO,SAAStZ,EAAQ2iG,EAAO,CACzC,OAAO3iG,GAAUgmG,EAAS,OAAO,SAASrD,CAAK,CACzD,EAAWrpF,EAAK,SAAW,CAAC,EAErB,IAAK,QACJ,GAAI,CACF,IAAIyhC,EAAM+E,GAAuBf,EAAM,UAAU,EACjD,MAAO,CAAC,EAAEj1D,GAASixD,EAAI,eAAejxD,CAAK,EACrD,MAA2B,CACjB,MAAM,IAAI,UAAU,8CAA8C,CAC5E,CAEO,IAAK,SACJ,OAAO22D,GAAe1B,EAAOzqC,CAAI,EAAE,KAAK,SAASrnB,EAAM,CACrD,MAAO,CAAC,CAACA,CACnB,CAAS,EAEF,IAAK,SACJ,OAAOnD,EAAM,KAAI,IAAO,GAEzB,IAAK,UACJ,OAAA20E,EAAW30E,EAAM,MAAM,4BAA4B,EAC5C,CAAC,EAAE20E,IAAaA,EAAS,CAAC,GAAKA,EAAS,CAAC,IAEjD,IAAK,MACJ,IAAIwnC,EAAW,OAAOD,EAAS,SAAa,IAAcA,EAAS,SAAW,KAC9E,MAAO,gBAAgB,KAAKl8G,CAAK,GAAK,SAASA,CAAK,GAAKm8G,CACjE,CACA,CACI,IAAIhE,GAA8B8D,GAClC,SAASG,GAAa51E,EAAK,CACzB,IAAI61E,EAAiBtuC,GAAkB,UAAUvnC,CAAG,EACpD,MAAO,CAAC,CAAC61E,CACf,CACI,IAAInE,GAAwBkE,GAC5B,SAASE,GAAuBn5G,EAAM,CACpC,IAAIojE,EAAQuuC,GAAsB3xG,CAAI,EAClCkiC,EAAc,KACdk3E,EAAgB,CAAA,EACpBh2C,EAAM,QAAQ,SAAS8J,EAAM,CAC3B,IAAImsC,EAAWnsC,EAAK,aAAa,SAAS,EACtCmsC,IACFD,EAAgBA,EAAc,OAAOC,EAAS,MAAM,KAAK,CAAC,GAE5D,IAAIC,EAAYpsC,EAAK,aAAa,iBAAiB,EAC/CosC,IACFF,EAAgBA,EAAc,OAAOE,EAAU,MAAM,KAAK,CAAC,EAErE,CAAO,EACD,IAAIzG,EAAUzvC,EAAM,OAAO,SAAS8J,EAAM,CACxC,OAAIxE,GAAiBwE,EAAK,WAAW,IAAM,GAClC,GAEFA,EAAK,SAAS,YAAW,IAAO,MAAQ,CAAE,YAAa,cAAc,EAAG,QAAQlB,GAA0BkB,CAAI,CAAC,IAAM,EACpI,CAAO,EACGC,EAAYH,GAAgBhtE,CAAI,EAChCyhC,EAAM,GACV,OAAAoxE,EAAQ,QAAQ,SAASG,EAAQ,CAC/B,GAAI,EAAAA,EAAO,aAAa,IAAI,GAAKoG,EAAc,SAASpG,EAAO,aAAa,IAAI,CAAC,GAGjF,KAAI/3F,EAAMmyD,GAA0B4lC,EAAQ7lC,CAAS,EACjDosC,EAAU,GACV5rC,GAAyBqlC,CAAM,IACjCuG,EAAUvH,GAAiB,OAAQ/2F,EAAKkyD,CAAS,EAAE,KAAK,SAASD,EAAM,CACrE,MAAO,CAACS,GAAyBT,CAAI,GAAK0kC,GAAoB1kC,EAAMC,CAAS,EAAE,SAAS6lC,CAAM,CAC1G,CAAW,GAEC,CAACuG,GAAW1rC,GAAsBmlC,CAAM,IAC1CuG,EAAUvH,GAAiB,QAAS/2F,EAAKkyD,CAAS,EAAE,KAAK,SAASD,EAAM,CACtE,MAAO,CAACW,GAAsBX,CAAI,GAAK0kC,GAAoB1kC,EAAMC,CAAS,EAAE,SAAS6lC,CAAM,CACvG,CAAW,GAEEuG,GACHr3E,EAAY,aAAa8wE,CAAM,EAEjCvxE,EAAMA,GAAO83E,EACrB,CAAO,EACM93E,EAAM,GAAO,MAC1B,CACI,IAAI+3E,GAAqCL,GACrCM,GAAc,CAAE,2BAA4B,qBAAsB,mBAAoB,YAAY,EAClGC,GAAaD,GAAY,CAAC,EAAGE,GAAQF,GAAY,CAAC,EAAGG,GAAUH,GAAY,CAAC,EAAGI,GAAYJ,GAAY,CAAC,EAC5G,SAASK,GAAsB95G,EAAM,CAGnC,QAFIojE,EAAQ,CAAA,EACR22C,EAAe,CAAA,EACV34C,EAAW,EAAGA,EAAWphE,EAAK,KAAK,OAAQohE,IAElD,QADIz5B,EAAM3nC,EAAK,KAAKohE,CAAQ,EACnB+wC,EAAY,EAAGA,EAAYxqE,EAAI,MAAM,OAAQwqE,IAAa,CACjE,IAAIjlC,EAAOvlC,EAAI,MAAMwqE,CAAS,EAC9B/uC,EAAM,KAAK8J,CAAI,EACf,IAAI8sC,EAAS9sC,EAAK,aAAa,IAAI,EAC/B8sC,IACFD,EAAaC,CAAM,EAAI5pC,GAAiBlD,CAAI,EAExD,CAEM,IAAI+sC,EAAW/gH,GAAgBA,GAAgBA,GAAgBA,GAAgB,CAAA,EAAI0gH,GAAS,IAAI,GAAK,EAAGF,GAAY,IAAI,GAAK,EAAGC,GAAO,IAAI,GAAK,EAAGE,GAAW,IAAI,GAAK,EACvKz2C,EAAM,QAAQ,SAAS8J,EAAM,CAC3B,GAAI,GAACA,EAAK,aAAa,SAAS,GAAK,CAACvY,GAA0BuY,CAAI,GAGpE,KAAIgtC,EAAchtC,EAAK,aAAa,SAAS,EAAE,KAAI,EACnD,GAAI,CAACgtC,EAAa,CAChBD,EAASJ,EAAS,EAAE,IAAI3sC,CAAI,EAC5B,MACV,CACQ,IAAI8sC,EAAS9sC,EAAK,aAAa,IAAI,EAC/B2lC,EAAUnyE,GAAmBw5E,CAAW,EAC5CrH,EAAQ,QAAQ,SAASsH,EAAU,CAC7BH,GAAUG,IAAaH,EACzBC,EAASL,EAAO,EAAE,IAAI1sC,CAAI,EAChB6sC,EAAaI,CAAQ,EAErB,CAAE,eAAgB,WAAW,EAAG,SAASJ,EAAaI,CAAQ,CAAC,GACzEF,EAASN,EAAK,EAAE,IAAIzsC,CAAI,EAFxB+sC,EAASP,EAAU,EAAE,IAAIxsC,CAAI,CAIzC,CAAS,EACT,CAAO,EACD,IAAIktC,EAAc9+G,GAA2Bm+G,EAAW,EAAGY,EAC3D,GAAI,CACF,IAAKD,EAAY,EAAC,EAAI,EAAEC,EAAUD,EAAY,EAAC,GAAI,MAAQ,CACzD,IAAIE,EAAaD,EAAQ,MACzB,GAAIJ,EAASK,CAAU,EAAE,KAAO,EAE9B,OADA,KAAK,aAAargH,GAAmBggH,EAASK,CAAU,CAAC,CAAC,EACtDA,IAAeT,GACjB,QAEF,KAAK,KAAK,CACR,WAAYS,CAC1B,CAAa,EACM,GAEnB,CACA,OAAe38G,EAAK,CACZy8G,EAAY,EAAEz8G,CAAG,CACzB,QAAO,CACCy8G,EAAY,EAAC,CACrB,CACM,MAAO,EACb,CACI,SAASG,GAAoBv6G,EAAM,CACjC,IAAIi6G,EAAW,CAAA,EACX72C,EAAQuuC,GAAsB3xG,CAAI,EAClCmtE,EAAYH,GAAgBhtE,CAAI,EAWpC,OAVAojE,EAAM,QAAQ,SAAS8J,EAAM,CAC3B,GAAI7Z,GAAoB6Z,CAAI,GAAK2kC,GAAqB3kC,CAAI,GAAK,CAACwnC,GAAexnC,CAAI,EAAG,CACpF,IAAIstC,EAAa5I,GAAoB1kC,EAAMC,CAAS,EAAE,KAAK,SAAS6lC,EAAQ,CAC1E,OAAOA,IAAW,MAAQ,CAAC,CAAC3/C,GAAoB2/C,CAAM,CAClE,CAAW,EACIwH,GACHP,EAAS,KAAK/sC,CAAI,CAE9B,CACA,CAAO,EACG+sC,EAAS,QACX,KAAK,aAAaA,CAAQ,EACnB,IAEF,EACb,CACI,IAAIQ,GAAiCF,GACrC,SAASG,GAAmB16G,EAAMgW,EAAS,CACzC,IAAInZ,EAAQmD,EAAK,aAAa,OAAO,EAAE,YAAW,EAClD,OAAOgW,EAAQ,OAAO,QAAQnZ,CAAK,IAAM,EAC/C,CACI,IAAI89G,GAA+BD,GAC/BE,GAAwCC,GAC5C,SAASA,GAA2B76G,EAAMgW,EAASwqD,EAAa,CAC9D,GAAIA,EAAY,WAAa,OAG7B,KAAIs6C,EAAUt6C,EAAY,KAAK,SAAS,EACpCu6C,EAAcv6C,EAAY,SAAS,KAAKw6C,EAAa,EACrDC,EAAUF,EAAcryC,GAAiBC,GAAqBoyC,CAAW,CAAC,EAAI,GAClF,MAAI,CAACE,GAAW,CAACH,EACR,GAEFpyC,GAAiBoyC,CAAO,EAAE,YAAW,IAAOpyC,GAAiBuyC,CAAO,EAAE,YAAW,EAC9F,CACI,SAASD,GAAcx6C,EAAa,CAClC,OAAOA,EAAY,MAAM,WAAa,SAC5C,CACI,SAAS06C,GAAmBl7G,EAAM,CAChC,OAAK4zD,GAAiB98D,CAAQ,EAGvBkJ,EAAK,SAAS,YAAW,IAAO,KAF9B,EAGf,CACI,IAAIm7G,GAA+BD,GACnC,SAASE,GAAqBp7G,EAAM,CAClC,IAAIusE,EAAQS,GAAgBhtE,CAAI,EAC5Bq7G,EAAW9uC,EAAM,CAAC,EACtB,OAAIA,EAAM,QAAU,GAAK8uC,EAAS,QAAU,GAAKr7G,EAAK,KAAK,QAAU,EAC5D,GAEFq7G,EAAS,OAAO,SAAS55E,EAAK65E,EAAM,EAAG,CAC5C,OAAO75E,GAAO65E,IAASD,EAAS,EAAI,CAAC,GAAKA,EAAS,EAAI,CAAC,IAAM,MACtE,EAAS,EAAK,CACd,CACI,IAAIE,GAAiCH,GACrC,SAASI,GAAyBx7G,EAAMgW,EAASwqD,EAAa,CAC5D,GAAKA,EAAY,SAGjB,KAAIi7C,EAAYj7C,EAAY,SAAS,KAAK,SAASk7C,EAAQ,CACzD,IAAIv1G,EAAQu1G,EAAO,MACnB,OAAOv1G,EAAM,WAAa,OAClC,CAAO,EACD,GAAI,CAACs1G,EACH,YAAK,KAAK,CACR,WAAY,SACtB,CAAS,EACM,GAET,GAAI,CACF,IAAIE,EAAahzC,GAAqB8yC,EAAW,CAC/C,cAAe,GAChB,EAAE,KAAI,EACP,GAAIE,IAAe,GACjB,YAAK,KAAK,CACR,WAAY,YACxB,CAAW,EACM,EAEjB,MAAyB,CACjB,MACR,CACM,MAAO,GACb,CACI,IAAIC,GAAuCJ,GACvCK,GAAoB,CAAA,EACxB1+G,GAAS0+G,GAAmB,CAC1B,mBAAoB,UAA8B,CAChD,OAAOjF,EACf,EACM,sCAAuC,UAAiD,CACtF,OAAOI,EACf,EACM,eAAgB,UAA0B,CACxC,OAAOrlC,EACf,EACM,yBAA0B,UAAoC,CAC5D,OAAOzF,EACf,EACM,mBAAoB,UAA8B,CAChD,OAAOG,EACf,EACM,kBAAmB,UAA6B,CAC9C,OAAOsC,EACf,CACA,CAAK,EACD,SAASmtC,GAA2B97G,EAAMgW,EAASwqD,EAAa,CAC9D,IAAIwS,EAAgBhH,GAA0BxL,CAAW,EACzD,GAAI,CAAE,eAAgB,MAAM,EAAG,SAASwS,CAAa,GAAK,CAAE,SAAU,OAAO,EAAG,SAASxS,EAAY,MAAM,QAAQ,GAAKA,EAAY,QAAQ,OAAO,EACjJ,YAAK,KAAK,CACR,WAAY,SACZ,SAAUA,EAAY,MAAM,QACtC,CAAS,EACM,GAET,IAAIsK,EAAOsF,GAAiB5P,CAAW,EACvC,GAAI,CAAE,eAAgB,MAAM,EAAG,SAASsK,CAAI,EAC1C,YAAK,KAAK,CACR,KAAMA,CAChB,CAAS,EACM,GAET,GAAI,CAAC,CAAE,eAAgB,MAAM,EAAG,SAASkI,CAAa,EACpD,MAAO,GAET,IAAIxE,EAAgBnC,GAA6B,EAAG,KAAK,SAAShlD,EAAM,CACtE,OAAOm5C,EAAY,QAAQn5C,CAAI,CACvC,CAAO,EACG+0E,EAAYzoC,GAAa6M,CAAW,EACpC85C,EACJ,OAAI9rC,GAAiB,CAAC4tB,EACpBke,EAAa,aACJ,CAAC9rC,GAAiB4tB,EAC3Bke,EAAa,YAEbA,EAAa,OAEf,KAAK,KAAK,CACR,WAAYA,EACZ,KAAMxvC,CACd,CAAO,EACM,EACb,CACI,SAASixC,GAA0B/7G,EAAMgW,EAASwqD,EAAa,CAC7D,IAAI1P,EAAY0P,EAAY,MAAM,SAC9BpiE,GAASoiE,EAAY,KAAK,MAAM,GAAK,IAAI,YAAW,EACpD2X,EAAS3X,EAAY,KAAK,OAAO,EAMrC,OALI2X,GACF,KAAK,KAAK,CACR,WAAY,WACtB,CAAS,EAECrnB,IAAc,SAAW,CAAE,SAAU,SAAU,SAAS1yD,CAAK,EACxD+5E,IAAW,KAEb,EACb,CACI,IAAI6jC,GAAwCD,GAC5C,SAASE,GAAmBj8G,EAAM,CAChC,OAAO00D,GAAmB10D,CAAI,CACpC,CACI,IAAIk8G,GAAgCD,GACpC,SAASE,GAAoBn8G,EAAMgW,EAAS,CAC1C,IAAIomG,EAAcpmG,EAAQ,YAAaqmG,EAAiBrmG,EAAQ,eAAgBgjG,EAAWhjG,EAAQ,SAAUsmG,EAAWtmG,EAAQ,SAAUumG,EAAuBvmG,EAAQ,YAAawmG,EAAcD,IAAyB,OAAS,EAAIA,EAAsBE,EAAczmG,EAAQ,YAAa0mG,EAAgB1mG,EAAQ,cAC3T,GAAI,CAACymG,GAAez8G,EAAK,MAAM,oBAAoBo8G,CAAW,IAAM,aAAeM,GAAiB,CAACvoD,GAAan0D,CAAI,EACpH,MAAO,GAET,IAAIqU,EAAO,CAAA,EACP,OAAO2kG,GAAa,WACtB3kG,EAAK,SAAW2kG,GAEd,OAAOsD,GAAa,WACtBjoG,EAAK,SAAWioG,GAElB,IAAIK,EAAoB38G,EAAK,MAAM,iBAAiBo8G,CAAW,EAC/D,GAAI,CAAE,UAAW,QAAS,SAAU,gBAAiB,SAASO,CAAiB,EAC7E,YAAK,KAAK3iH,GAAS,CACjB,MAAO2iH,GACNtoG,CAAI,CAAC,EACD,GAET,IAAIxX,EAAQ+/G,GAAe58G,EAAM,CAC/B,eAAgBq8G,EAChB,YAAaD,EACb,YAAaI,CACrB,CAAO,EAID,GAHA,KAAK,KAAKxiH,GAAS,CACjB,MAAO6C,GACNwX,CAAI,CAAC,EACJ,OAAOxX,GAAU,SAGrB,OAAK,OAAOm8G,GAAa,UAAYn8G,GAASm8G,KAAc,OAAOsD,GAAa,UAAYz/G,GAASy/G,EAI3G,CACI,SAASM,GAAerjD,EAASsjD,EAAQ,CACvC,IAAIT,EAAcS,EAAO,YAAaR,EAAiBQ,EAAO,eAAgBL,EAAcK,EAAO,YAC/FC,EAAgBlmH,EAAO,iBAAiB2iE,CAAO,EAC/CwjD,EAAeD,EAAc,iBAAiBV,CAAW,EAC7D,GAAIW,IAAiB,SACnB,OAAOP,EAET,IAAIQ,EAAc,WAAWD,CAAY,EACzC,GAAIV,EACF,OAAOW,EAET,IAAIjjC,EAAW,WAAW+iC,EAAc,iBAAiB,WAAW,CAAC,EACjEjgH,EAAQ,KAAK,MAAMmgH,EAAcjjC,EAAW,GAAG,EAAI,IACvD,OAAI,MAAMl9E,CAAK,EACNkgH,EAEFlgH,CACb,CACI,SAASogH,GAAej9G,EAAMgW,EAASwqD,EAAa,CAClD,IAAI1P,EAAY0P,EAAY,MAAM,SAClC,MAAK,CAAE,MAAO,QAAS,MAAM,EAAG,SAAS1P,CAAS,EAG3C0P,EAAY,QAAQ,KAAK,EAFvB,EAGf,CACI,IAAI08C,GAA2BD,GAC/B,SAASE,IAAiB,CAE9B,CACI,IAAIC,GAA0BD,GAC9B,SAASE,IAAsB,CAC7B,IAAIC,EAAQxmH,EAAS,MACrB,MAAO,CAAC,CAAC4xE,GAAiB40C,CAAK,CACrC,CACI,IAAIC,GAAiCF,GACrC,SAASG,GAA2Bx9G,EAAMgW,EAAS,CACjD,IAAIynG,EAAuBznG,EAAQ,cAAc,OAAO,SAASw3C,EAAU,CACzE,GAAIxtD,EAAK,MAAM,oBAAoBwtD,CAAQ,IAAM,YAC/C,OAAOA,CAEjB,CAAO,EACD,OAAIiwD,EAAqB,OAAS,GAChC,KAAK,KAAKA,CAAoB,EACvB,IAEF,EACb,CACI,IAAIC,GAAwCF,GAC5C,SAASG,GAAuB39G,EAAMgW,EAASwqD,EAAa,CAC1D,GAAI,CACF,MAAO,CAAC,CAACkI,GAAiBa,GAA4B/I,CAAW,CAAC,CAC1E,MAAyB,CACjB,MACR,CACA,CACI,IAAIo9C,GAAmCD,GACvC,SAASE,GAAkB79G,EAAMgW,EAASwqD,EAAa,CACrD,MAAO,CAAC,CAACkI,GAAiBc,GAAehJ,CAAW,CAAC,CAC3D,CACI,IAAIs9C,GAA8BD,GAClC,SAASE,GAAoB/9G,EAAM,CACjC,IAAIqD,EAAKrD,EAAK,aAAa,IAAI,EAAE,KAAI,EACrC,GAAI,CAACqD,EACH,MAAO,GAET,IAAIkyD,EAAO1C,GAAuB7yD,CAAI,EAClCi4F,EAAgB,MAAM,KAAK1iC,EAAK,iBAAiB,QAAQ,OAAOv5B,GAAwB34B,CAAE,EAAG,IAAI,CAAC,CAAC,EAAE,OAAO,SAAS26G,EAAW,CAClI,OAAOA,IAAch+G,CAC7B,CAAO,EACD,OAAIi4F,EAAc,QAChB,KAAK,aAAaA,CAAa,EAEjC,KAAK,KAAK50F,CAAE,EACL40F,EAAc,SAAW,CACtC,CACI,IAAIgmB,GAAgCF,GACpC,SAASG,GAAiBl7E,EAAS,CACjC,IAAIm7E,EAAY,CAAA,EAChB,OAAOn7E,EAAQ,OAAO,SAAS,EAAG,CAChC,OAAIm7E,EAAU,QAAQ,EAAE,IAAI,IAAM,IAChCA,EAAU,KAAK,EAAE,IAAI,EACd,IAEF,EACf,CAAO,CACP,CACI,IAAIC,GAA6BF,GACjC,SAASG,GAAyBr+G,EAAMgW,EAAS87C,EAAO,CACtD,IAAIwrD,EAAQ50C,GAAiB5W,EAAM,KAAK,OAAO,CAAC,EAAE,YAAW,EAC7D,YAAK,KAAKwrD,CAAK,EACR,EACb,CACI,IAAIgB,GAAsCD,GAC1C,SAASE,GAAsBv7E,EAAS,CACtC,IAAIw7E,EAAS,CAAA,EACb,OAAAx7E,EAAQ,QAAQ,SAAS,EAAG,CAC1Bw7E,EAAO,EAAE,IAAI,EAAIA,EAAO,EAAE,IAAI,IAAM,OAAS,EAAEA,EAAO,EAAE,IAAI,EAAI,CACxE,CAAO,EACDx7E,EAAQ,QAAQ,SAAS,EAAG,CAC1B,EAAE,OAAS,CAAC,CAACw7E,EAAO,EAAE,IAAI,CAClC,CAAO,EACMx7E,CACb,CACI,IAAIy7E,GAAmCF,GACvC,SAASG,GAAiB1+G,EAAM,CAC9B,IAAIjD,EAASw1D,GAAiCvyD,EAAM,MAAM,EAC1D,OAAIjD,EACK43D,GAA0B53D,CAAM,GAAK,OAEvC,EACb,CACI,IAAI4hH,GAA6BD,GAC7BE,GAAwB,CAAE,QAAS,MAAO,QAAQ,EACtD,SAASC,GAAe7+G,EAAMgW,EAASwqD,EAAa,CAClD,KAAK,KAAK,CACR,SAAU,CAAE,SAAU,OAAO,EAAG,SAASA,EAAY,MAAM,QAAQ,CAC3E,CAAO,EACD,IAAIs+C,EAAkBltD,GAAc,IAAI,kBAAmB,UAAW,CACpE,OAAOmtD,GAAmB/oG,CAAO,CACzC,CAAO,EACD,MAAO,CAAC8oG,EAAgB,SAASt+C,CAAW,CAClD,CACI,SAASu+C,GAAmB/oG,EAAS,CACnC,IAAI8oG,EAAkBE,GAAmBjoH,EAAI,MAAM,CAAC,EAAGif,CAAO,EAAE,IAAI,SAAS87C,EAAO,CAClF,KAAOA,EAAM,QAAU,CAACA,EAAM,OAAO,sBAAwBA,EAAM,OAAO,aAAeh7D,EAAS,MAChGg7D,EAAQA,EAAM,OAEhB,OAAOA,CACf,CAAO,EAAE,OAAO,SAASA,EAAOtrD,EAAO2C,EAAO,CACtC,OAAOA,EAAM,QAAQ2oD,CAAK,IAAMtrD,CACxC,CAAO,EACD,OAAOs4G,CACb,CACI,SAASE,GAAmBx+C,EAAaxqD,EAAS,CAChD,IAAIhW,EAAOwgE,EAAY,WACvB,GAAI4P,GAAiB5P,CAAW,IAAM,UAAYy+C,GAASz+C,EAAaxqD,CAAO,GAAK,CAAE,SAAU,OAAO,EAAG,SAASwqD,EAAY,MAAM,QAAQ,GAAKhM,GAAYgM,EAAY,UAAU,GAAKjO,GAAiCiO,EAAY,WAAY,MAAM,GAAK,CAAC7L,GAA0B30D,CAAI,EAAG,CAE7R,QADI8xD,EAAQ0O,EACL1O,GACLA,EAAM,qBAAuB,GAC7BA,EAAQA,EAAM,OAEhB,MAAI,CAAE,SAAU,OAAO,EAAG,SAAS0O,EAAY,MAAM,QAAQ,EACpD,CAAEA,CAAW,EAEf,CAAA,CACf,KAAa,QAAIxgE,IAASlJ,EAAS,MAAQu8D,GAAoBrzD,EAAM,EAAI,GAAK,CAACk/G,GAAkB1+C,CAAW,EAC7F,CAAEA,CAAW,EAEbA,EAAY,SAAS,OAAO,SAAS2+C,EAAQ,CAClD,IAAItrC,EAAasrC,EAAO,WACxB,OAAOtrC,EAAW,WAAa,CACzC,CAAS,EAAE,IAAI,SAAS/hB,EAAO,CACrB,OAAOktD,GAAmBltD,EAAO97C,CAAO,CAClD,CAAS,EAAE,OAAO,SAASD,EAAI1N,EAAI,CACzB,OAAO0N,EAAG,OAAO1N,CAAE,CAC7B,EAAW,CAAA,CAAE,CAEb,CACI,SAAS62G,GAAkB1+C,EAAa,CACtC,MAAO,CAAE,OAAQ,cAAc,EAAG,SAAS4P,GAAiB5P,CAAW,CAAC,GAAK,CAACie,GAAkBje,CAAW,CACjH,CACI,SAASy+C,GAASz+C,EAAaxqD,EAAS,CACtC,IAAIhW,EAAOwgE,EAAY,WACnBsK,EAAOsF,GAAiB5P,CAAW,EACnC4+C,GAAYp/G,EAAK,aAAa,WAAW,GAAK,IAAI,YAAW,EAAG,KAAI,EACpEq/G,EAAiBzI,GAA+B,UAAU,EAO9D,MANI,IAAE,YAAa,QAAQ,EAAG,SAASwI,CAAQ,GAAKR,GAAsB,SAAS9zC,CAAI,GAGnFu0C,EAAe,SAASv0C,CAAI,GAG5B90D,EAAQ,eAAiB86D,GAAiBtQ,EAAaxqD,EAAQ,aAAa,EAItF,CACI,SAASspG,GAAYt8E,EAAS,CAC5B,IAAIu8E,EAAgBv8E,EAAQ,OAAO,SAAS,EAAG,CAC7C,OAAO,EAAE,KAAK,QACtB,CAAO,EACD,OAAAA,EAAQ,QAAQ,SAAS,EAAG,CAC1B,GAAI,IAAE,QAAU,EAAE,KAAK,SAAS,SAAW,GAG3C,KAAIw8E,EAAgB,EAAE,KAAK,SAAS,MAAM,EAAG,EAAE,EAC3CC,EAAcnkH,GAA2BikH,CAAa,EAAGG,EAC7D,GAAI,CACF,IAAKD,EAAY,EAAC,EAAI,EAAEC,EAAUD,EAAY,EAAC,GAAI,MAAQ,CACzD,IAAIE,EAAeD,EAAQ,MAC3B,GAAIlhF,GAAeghF,EAAeG,EAAa,KAAK,QAAQ,EAAG,CAC7D,EAAE,OAASA,EAAa,OACxB,KACd,CACA,CACA,OAAiBhiH,EAAK,CACZ8hH,EAAY,EAAE9hH,CAAG,CAC3B,QAAS,CACC8hH,EAAY,EAAC,CACvB,EACA,CAAO,EACDF,EAAc,QAAQ,SAAS,EAAG,CAC3B,EAAE,SACL,EAAE,OAAS,GAErB,CAAO,EACMv8E,CACb,CACI,IAAI48E,GAAuBN,GAC3B,SAASO,GAAoBC,EAAQ,CACnC,OAAQA,EAAM,CACb,IAAK,UACJ,MAAO,KAER,IAAK,SACJ,MAAO,KAER,IAAK,OACJ,MAAO,KAER,IAAK,SACJ,MAAO,IACf,CACM,OAAAA,EAAS,SAASA,CAAM,EAChB,MAAMA,CAAM,EAAa,IAATA,CAC9B,CACI,SAASC,GAAiB/xD,EAAK,CAI7B,QAHIgyD,EAAWhyD,EACXiyD,EAAYjyD,EAAI,YAAY,KAAI,EAChCkyD,EAAYD,EACTC,IAAcD,GAAaD,IAAa,QAAQ,CACrD,IAAIG,EAAO,GAEX,GADAnyD,EAAMgyD,EACFhyD,EAAI,SAAS,SAAW,EAC1B,OAAOA,EAET,GACEmyD,IACAD,EAAYlyD,EAAI,SAASmyD,CAAI,EAAE,YAAY,KAAI,QACxCD,IAAc,IAAMC,EAAO,EAAInyD,EAAI,SAAS,QACrDgyD,EAAWhyD,EAAI,SAASmyD,CAAI,CACpC,CACM,OAAOnyD,CACb,CACI,SAASoyD,GAAepgH,EAAM,CAC5B,IAAI45E,EAAQhjF,EAAO,iBAAiBmpH,GAAiB//G,CAAI,CAAC,EAC1D,MAAO,CACL,WAAY6/G,GAAoBjmC,EAAM,iBAAiB,aAAa,CAAC,EACrE,SAAU,SAASA,EAAM,iBAAiB,WAAW,CAAC,EACtD,SAAUA,EAAM,iBAAiB,YAAY,IAAM,SAE3D,CACI,SAASymC,GAAcC,EAAQC,EAAQC,EAAS,CAC9C,OAAOA,EAAQ,OAAO,SAAS/+E,EAAKkgC,EAAQ,CAC1C,OAAOlgC,IAAQ,CAACkgC,EAAO,MAAQ2+C,EAAO,SAAW3+C,EAAO,KAAO4+C,EAAO,YAAc,CAAC5+C,EAAO,QAAU2+C,EAAO,WAAa3+C,EAAO,OAAS4+C,EAAO,cAAgB,CAAC5+C,EAAO,QAAU2+C,EAAO,UAAY,CAACC,EAAO,SACtN,EAAS,EAAK,CACd,CACI,SAASE,GAAmBzgH,EAAMgW,EAASwqD,EAAa,CACtD,IAAI/Q,EAAW,MAAM,KAAKzvD,EAAK,WAAW,QAAQ,EAC9C0gH,EAAejxD,EAAS,QAAQzvD,CAAI,EACxCgW,EAAUA,GAAW,CAAA,EACrB,IAAIwqG,EAAUxqG,EAAQ,SAAW,CAAA,EAC7B2qG,EAAclxD,EAAS,MAAMixD,EAAe,CAAC,EAAE,KAAK,SAAS1yD,EAAK,CACpE,OAAOA,EAAI,SAAS,YAAW,IAAO,GAC9C,CAAO,EACG4yD,EAAcnxD,EAAS,MAAM,EAAGixD,CAAY,EAAE,QAAO,EAAG,KAAK,SAAS1yD,EAAK,CAC7E,OAAOA,EAAI,SAAS,YAAW,IAAO,GAC9C,CAAO,EACG6yD,EAAYT,GAAepgH,CAAI,EAC/B8gH,EAAYH,EAAcP,GAAeO,CAAW,EAAI,KACxDI,EAAYH,EAAcR,GAAeQ,CAAW,EAAI,KACxDI,EAAoBhrG,EAAQ,WAC5BirG,EAAoBjrG,EAAQ,WAC5BkrG,EAAgBlhH,EAAK,YAAY,KAAI,EAAG,OACxCmhH,EAA4ER,GAAY,YAAY,KAAI,EAAG,OAI/G,GAHIO,EAAgBC,EAAkBH,GAGlC,CAACF,GAAa,CAACT,GAAcQ,EAAWC,EAAWN,CAAO,EAC5D,MAAO,GAET,IAAIY,EAAahvD,GAAwBoO,EAAa,YAAY,EAClE,GAAI,EAAA4gD,GAAcA,EAAW,SAAS,YAAW,IAAO,eAGpD,EAAAL,GAAa,CAACV,GAAcQ,EAAWE,EAAWP,CAAO,IAGzD,EAAAU,EAAgBC,EAAkBF,GAGtC,MAAO,EACb,CACI,IAAII,GAAgCZ,GAChCa,GAAiB,SACjBC,GAAwB,YAC5B,SAASC,GAAoBxhH,EAAMgW,EAASwqD,EAAa,CACvD,IAAIihD,EAASzrG,GAAW,GAAI0rG,EAAWD,EAAO,SAAUE,EAAWF,EAAO,SACtErkG,GAAWojD,EAAY,KAAK,SAAS,GAAK,IAAI,KAAI,EAClDohD,EAAiBxkG,EAAQ,MAAMkkG,EAAc,EAAGO,EAAkBhnH,EAAe+mH,EAAgB,CAAC,EAAGE,EAAcD,EAAgB,CAAC,EACxI,GAAI,CAACC,EAAY,MAAMP,EAAqB,EAC1C,MAAO,GAET,IAAIQ,EAAgB,WAAWD,CAAW,EAO1C,OANA,KAAK,KAAK,CACR,cAAeC,CACvB,CAAO,EACG,OAAOL,GAAa,UAAYK,GAAiB/rG,EAAQ,UAGzD,OAAO2rG,GAAa,UAAYI,EAAgB/rG,EAAQ,QAIlE,CACI,SAASgsG,GAA4BhiH,EAAMgW,EAASwqD,EAAa,CAC/D,IAAIyhD,EAAQpiF,GAA2B2gC,EAAa,SAAS,EAC7D,OAAOyhD,EAAM,KAAK,SAASC,EAAO,CAChC,MAAO,UAAU,KAAKA,EAAM,KAAK,MAAM,CAAC,CAChD,CAAO,CACP,CACI,IAAIC,GAAyCH,GACzCI,GAAkB,CAAA,EACtBjlH,GAASilH,GAAiB,CACxB,KAAM,UAAgB,CACpB,OAAOpO,EACf,EACM,MAAO,UAAiB,CACtB,OAAOqO,EACf,EACM,IAAK,UAAe,CAClB,OAAOtwD,EACf,EACM,MAAO,UAAiB,CACtB,OAAOuwD,EACf,EACM,QAAS,UAAmB,CAC1B,OAAOxxC,EACf,EACM,KAAM,UAAgB,CACpB,OAAOvW,EACf,EACM,UAAW,UAAqB,CAC9B,OAAOshD,EACf,EACM,MAAO,UAAiB,CACtB,OAAOnK,EACf,EACM,KAAM,UAAgB,CACpB,OAAOjqC,EACf,EACM,MAAO,UAAiB,CACtB,OAAO1sC,EACf,CACA,CAAK,EACD,IAAIsnF,GAAgB,CAAA,EACpBllH,GAASklH,GAAe,CACtB,MAAO,UAAiB,CACtB,OAAO3+B,EACf,EACM,kBAAmB,UAA6B,CAC9C,OAAO6+B,EACf,EACM,gBAAiB,UAA2B,CAC1C,OAAOzgC,EACf,EACM,kBAAmB,UAA6B,CAC9C,OAAO0gC,EACf,EACM,kBAAmB,UAA6B,CAC9C,OAAOC,EACf,EACM,cAAe,UAAyB,CACtC,OAAOC,EACf,EACM,oBAAqB,UAA+B,CAClD,OAAOC,EACf,EACM,mBAAoB,UAA8B,CAChD,OAAOC,EACf,EACM,mBAAoB,UAA8B,CAChD,OAAOC,EACf,EACM,YAAa,UAAuB,CAClC,OAAOC,EACf,EACM,mBAAoB,UAA8B,CAChD,OAAOC,EACf,EACM,sBAAuB,UAAiC,CACtD,OAAO9+B,EACf,EACM,aAAc,UAAwB,CACpC,OAAO++B,EACf,EACM,mBAAoB,UAA8B,CAChD,OAAOC,EACf,EACM,2BAA4B,UAAsC,CAChE,OAAOC,EACf,EACM,oBAAqB,UAA+B,CAClD,OAAOC,EACf,EACM,sBAAuB,UAAiC,CACtD,OAAOC,EACf,EACM,eAAgB,UAA0B,CACxC,OAAO5hC,EACf,EACM,iBAAkB,UAA4B,CAC5C,OAAO6hC,EACf,EACM,uBAAwB,UAAkC,CACxD,OAAOC,EACf,CACA,CAAK,EACD,SAASC,GAAkBpsD,EAAM,CAC/B,GAAI,EAAAA,EAAK,KAAOvgE,EAAO,aAGnB,EAAAugE,EAAK,IAAMvgE,EAAO,aAGtB,KAAIuH,EAAI,KAAK,IAAI,KAAK,KAAKg5D,EAAK,KAAOA,EAAK,MAAQ,CAAC,EAAGvgE,EAAO,WAAa,CAAC,EACzE0jE,EAAI,KAAK,IAAI,KAAK,KAAKnD,EAAK,IAAMA,EAAK,OAAS,CAAC,EAAGvgE,EAAO,YAAc,CAAC,EAC9E,MAAO,CACL,EAAGuH,EACH,EAAGm8D,GAEX,CACI,IAAIioD,GAA+BgB,GACnC,SAASC,GAAU5pC,EAAO,CACxB,OAAOA,EAAM,iBAAiB,aAAa,EAAE,MAAM,OAAO,EAAE,IAAI,SAASE,EAAM,CAC7E,OAAOA,EAAK,KAAI,EAAG,YAAW,CACtC,CAAO,CACP,CACI,SAAS2pC,GAAkBzjH,EAAM0jH,EAAc,CAC7C,IAAIC,EAAY/sH,EAAO,iBAAiBoJ,CAAI,EAC5C,GAAI2jH,EAAU,iBAAiB,kBAAkB,IAAM,OACrD,MAAO,GAET,IAAIpQ,EAAY,CAAE,gBAAiB,aAAc,SAAS,EAAG,OAAO,SAASxgG,EAAQ6wG,EAAM,CACzF,IAAIC,EAAY,IAAIngC,GACpB,OAAAmgC,EAAU,YAAYF,EAAU,iBAAiBC,EAAO,QAAQ,CAAC,EAC1D7wG,GAAU4wG,EAAU,iBAAiBC,EAAO,QAAQ,IAAM,QAAU,WAAWD,EAAU,iBAAiBC,EAAO,QAAQ,CAAC,EAAI,GAAKC,EAAU,QAAU,CACtK,EAAS,EAAK,EACR,GAAItQ,EACF,MAAO,GAET,IAAI/B,EAAc56G,EAAO,iBAAiB8sH,CAAY,EACtD,GAAIF,GAAUG,CAAS,EAAE,CAAC,IAAMH,GAAUhS,CAAW,EAAE,CAAC,EACtD,MAAO,GAET,IAAIsS,EAAW,CAAE,uBAAwB,wBAAyB,cAAe,aAAc,aAAc,OAAO,SAAS/wG,EAAQmyF,EAAS,CAC5I,OAAOnyF,GAAU4wG,EAAU,iBAAiBze,CAAO,IAAMsM,EAAY,iBAAiBtM,CAAO,CACrG,EAAS,EAAK,EACJ6e,EAAOJ,EAAU,iBAAiB,iBAAiB,EACvD,OAAII,EAAK,MAAM,GAAG,EAAE,OAAS,IAC3BD,EAAWA,GAAYC,IAASvS,EAAY,iBAAiB,iBAAiB,GAEzEsS,CACb,CACI,IAAItB,GAA8BiB,GAClC,SAASO,GAAch2D,EAAK,CAC1B,IAAIi2D,EAAgBxxD,GAA0BzE,CAAG,EAC7Ck2D,EAAchxD,GAA+BlF,CAAG,EACpD,MAAI,CAACk2D,GAAeA,EAAY,QAAU,EACjC,CAAED,CAAa,EAEpBC,EAAY,KAAK,SAASj2D,EAAO,CACnC,OAAOA,IAAU,MACzB,CAAO,EACQ,MAETi2D,EAAY,OAAO,EAAG,EAAGD,CAAa,EAC/BC,EACb,CACI,IAAIlB,GAAyBgB,GAC7B,SAASG,GAAkBn2D,EAAK,CAC9B,IAAIo2D,EAAYpB,GAAuBh1D,CAAG,EAC1C,GAAIo2D,GAAaA,EAAU,SAAW,EACpC,OAAOA,EAAU,CAAC,EAEpB,GAAIA,GAAaA,EAAU,OAAS,EAAG,CACrC,IAAIH,EAAgBG,EAAU,MAAK,EAC/BC,EAUJ,OATAD,EAAU,QAAQ,SAASE,EAAU99G,EAAO,CAC1C,GAAIA,IAAU,EAGd,KAAIqzD,EAAQuqD,EAAU59G,EAAQ,CAAC,EAAGszD,EAAQsqD,EAAU59G,CAAK,EACzD69G,EAASxqD,EAAM,MAAM,SAAS3I,EAASqzD,EAAc,CACnD,OAAOrzD,IAAY4I,EAAMyqD,CAAY,CACjD,CAAW,GAAKN,EAAc,SAASj2D,CAAG,EAC1C,CAAS,EACIq2D,EAIED,EAAU,CAAC,GAHhB5iC,GAAwB,IAAI,UAAW,uBAAuB,EACvD,KAGjB,CACM,OAAAA,GAAwB,IAAI,UAAW,iBAAiB,EACjD,IACb,CACI,IAAIihC,GAA8B0B,GAC9BK,GAAyB,CAAE,MAAO,aAAc,QAAS,YAAY,EACrEC,GAAiB,CACnB,OAAQ,SAAgBC,EAAIC,EAAI,CAC9B,OAAOA,CACf,EACM,SAAU,SAAkBD,EAAIC,EAAI,CAClC,OAAOA,EAAKD,CACpB,EACM,OAAQ,SAAgBA,EAAIC,EAAI,CAC9B,OAAOD,EAAKC,EAAKD,EAAKC,CAC9B,EACM,QAAS,SAAiBD,EAAIC,EAAI,CAChC,OAAO,KAAK,YAAY,EAAEA,EAAID,CAAE,CACxC,EACM,OAAQ,SAAgBA,EAAIC,EAAI,CAC9B,OAAO,KAAK,IAAID,EAAIC,CAAE,CAC9B,EACM,QAAS,SAAiBD,EAAIC,EAAI,CAChC,OAAO,KAAK,IAAID,EAAIC,CAAE,CAC9B,EACM,cAAe,SAAoBD,EAAIC,EAAI,CACzC,OAAOD,IAAO,EAAI,EAAIC,IAAO,EAAI,EAAI,KAAK,IAAI,EAAGD,GAAM,EAAIC,EAAG,CACtE,EACM,aAAc,SAAmBD,EAAIC,EAAI,CACvC,OAAOD,IAAO,EAAI,EAAIC,IAAO,EAAI,EAAI,EAAI,KAAK,IAAI,GAAI,EAAID,GAAMC,CAAE,CAC1E,EACM,aAAc,SAAmBD,EAAIC,EAAI,CACvC,OAAOA,GAAM,GAAK,KAAK,SAASD,EAAI,EAAIC,CAAE,EAAI,KAAK,OAAOD,EAAI,EAAIC,EAAK,CAAC,CAChF,EACM,aAAc,SAAmBD,EAAIC,EAAI,CACvC,GAAIA,GAAM,GACR,OAAOD,GAAM,EAAI,EAAIC,GAAMD,GAAM,EAAIA,GAErC,IAAIE,EAAIF,GAAM,MAAQ,GAAKA,EAAK,IAAMA,EAAK,GAAKA,EAAK,KAAK,KAAKA,CAAE,EACjE,OAAOA,GAAM,EAAIC,EAAK,IAAMC,EAAIF,EAE1C,EACM,WAAY,SAAoBA,EAAIC,EAAI,CACtC,OAAO,KAAK,IAAID,EAAKC,CAAE,CAC/B,EACM,UAAW,SAAmBD,EAAIC,EAAI,CACpC,OAAOD,EAAKC,EAAK,EAAID,EAAKC,CAClC,EACM,IAAK,SAAaD,EAAIC,EAAI,CACxB,OAAOA,EAAG,cAAcD,EAAG,cAAa,CAAE,EAAE,cAAcA,EAAG,eAAe,CACpF,EACM,WAAY,SAAoBA,EAAIC,EAAI,CACtC,OAAOD,EAAG,cAAcC,EAAG,cAAa,CAAE,EAAE,cAAcD,EAAG,eAAe,CACpF,EACM,MAAO,SAAeA,EAAIC,EAAI,CAC5B,OAAOA,EAAG,cAAcD,EAAG,cAAa,CAAE,CAClD,EACM,WAAY,SAAoBA,EAAIC,EAAI,CACtC,OAAOD,EAAG,cAAcC,EAAG,cAAa,CAAE,CAClD,GAEI,SAASjC,GAAemC,EAAaC,EAAU,CAC7C,IAAIC,EAAY,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,SAChFC,EAAiBC,GAAMH,EAAUD,EAAaE,CAAS,EACvDzsH,EAAI4sH,GAAuBL,EAAY,IAAKA,EAAY,MAAOC,EAAS,IAAKA,EAAS,MAAOE,EAAe,EAAI,GAAG,EACnH98D,EAAKg9D,GAAuBL,EAAY,MAAOA,EAAY,MAAOC,EAAS,MAAOA,EAAS,MAAOE,EAAe,EAAI,GAAG,EACxH38G,EAAK68G,GAAuBL,EAAY,KAAMA,EAAY,MAAOC,EAAS,KAAMA,EAAS,MAAOE,EAAe,EAAI,GAAG,EACtHG,EAAUC,GAAOP,EAAY,MAAQC,EAAS,OAAS,EAAID,EAAY,OAAQ,EAAG,CAAC,EACvF,GAAIM,IAAY,EACd,OAAO,IAAIzhC,GAAcprF,EAAG4vD,EAAI7/C,EAAI88G,CAAO,EAE7C,IAAIE,EAAK,KAAK,MAAM/sH,EAAI6sH,CAAO,EAC3BG,EAAK,KAAK,MAAMp9D,EAAKi9D,CAAO,EAC5BT,EAAK,KAAK,MAAMr8G,EAAK88G,CAAO,EAChC,OAAO,IAAIzhC,GAAc2hC,EAAIC,EAAIZ,EAAIS,CAAO,CAClD,CACI,SAASD,GAAuBP,EAAIY,EAASb,EAAIc,EAASR,EAAgB,CACxE,OAAOO,GAAW,EAAIC,GAAWb,EAAKY,EAAUC,EAAUR,GAAkB,EAAIO,GAAWC,EAAUd,CAC3G,CACI,SAASU,GAAOvoH,EAAO+I,EAAKK,EAAM,CAChC,OAAO,KAAK,IAAI,KAAK,IAAIL,EAAK/I,CAAK,EAAGoJ,CAAI,CAChD,CACI,SAASg/G,GAAMP,EAAIC,EAAII,EAAW,CAChC,GAAIP,GAAuB,SAASO,CAAS,EAC3C,OAAON,GAAeM,CAAS,EAAEL,EAAIC,CAAE,EAEzC,IAAIlpE,EAAI,IAAIioC,GACZ,OAAE,IAAK,IAAK,GAAG,EAAG,QAAQ,SAASxjF,EAAS,CAC1Cu7C,EAAEv7C,CAAO,EAAIukH,GAAeM,CAAS,EAAEL,EAAGxkH,CAAO,EAAGykH,EAAGzkH,CAAO,CAAC,CACvE,CAAO,EACMu7C,CACb,CACI,SAASknE,GAAqB8C,EAAS1hC,EAAS,CAC9C,IAAIz1C,EAAQm3E,EAAQ,MAChBntH,GAAK,EAAIg2C,GAASy1C,EAAQ,IAAMz1C,EAAQm3E,EAAQ,IAChDv9D,GAAM,EAAI5Z,GAASy1C,EAAQ,MAAQz1C,EAAQm3E,EAAQ,MACnDp9G,GAAM,EAAIimC,GAASy1C,EAAQ,KAAOz1C,EAAQm3E,EAAQ,KAClD1vG,EAAK0vG,EAAQ,MAAQ1hC,EAAQ,OAAS,EAAI0hC,EAAQ,OACtD,OAAO,IAAI/hC,GAAcprF,EAAG4vD,EAAI7/C,EAAI0N,CAAE,CAC5C,CACI,SAAS8sG,GAAoB7iH,EAAM,CAMjC,QALI6gF,EAAS3tB,GAA+BlzD,CAAI,EAAE,IAAI,SAASiuD,EAAO,CACpE,OAAAA,EAAQ4G,GAA0C5G,EAAOjuD,CAAI,EAC7DiuD,EAAQy3D,GAAmBz3D,CAAK,EACzBA,CACf,CAAO,EACQznD,EAAQ,EAAGA,EAAQq6E,EAAO,OAAQr6E,IAAS,CAClD,IAAIynD,EAAQ4yB,EAAOr6E,CAAK,EACxB,GAAIynD,EAAM,CAAC,IAAMjuD,EACf,OAAAwhF,GAAwB,IAAI,UAAW,WAAW,EAC3C,KAET,GAAIh7E,IAAU,GAAK,CAACm/G,GAAmB13D,EAAO4yB,EAAO,CAAC,CAAC,EACrD,OAAAW,GAAwB,IAAI,UAAW,uBAAuB,EACvD,IAEjB,CACM,OAAOX,EAAO,CAAC,GAAK,IAC1B,CACI,SAAS6kC,GAAmBE,EAAU,CACpC,IAAIC,EAAYD,EAAS,QAAQ9uH,EAAS,IAAI,EAC1CgvH,EAAUF,EACVG,EAAc9hC,GAAiCrtF,EAAO,iBAAiBE,EAAS,eAAe,CAAC,EACpG,GAAI+uH,EAAY,GAAKE,EAAY,QAAU,GAAK,CAACjkC,GAA0BhrF,EAAS,eAAe,EAAG,CAChG+uH,EAAY,IACdC,EAAQ,OAAOD,EAAW,CAAC,EAC3BC,EAAQ,KAAKhvH,EAAS,IAAI,GAE5B,IAAIkvH,EAAYF,EAAQ,QAAQhvH,EAAS,eAAe,EACpDkvH,EAAY,IACdF,EAAQ,OAAOE,EAAW,CAAC,EAC3BF,EAAQ,KAAKhvH,EAAS,eAAe,EAE/C,CACM,OAAOgvH,CACb,CACI,SAASH,GAAmB5vG,EAAI1N,EAAI,CAClC,GAAI0N,IAAO1N,EACT,MAAO,GAKT,GAHI0N,IAAO,MAAQ1N,IAAO,MAGtB0N,EAAG,SAAW1N,EAAG,OACnB,MAAO,GAET,QAAS49G,EAAO,EAAGA,EAAOlwG,EAAG,OAAQ,EAAEkwG,EACrC,GAAIlwG,EAAGkwG,CAAI,IAAM59G,EAAG49G,CAAI,EACtB,MAAO,GAGX,MAAO,EACb,CACI,IAAIC,GAAsB,IACtBC,GAAwB,GACxBC,GAA8B,IAC9BC,GAAQ,CAAE,MAAO,QAAS,SAAU,MAAM,EAC9C,SAASnD,GAA4BoD,EAAe,CAClD,IAAIC,EAAS,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAA,EAAIC,EAAwBD,EAAO,gBAAiBE,EAAkBD,IAA0B,OAAS,GAAQA,EAC9LE,EAAYC,GAAmBL,CAAa,EAC5CM,EAAiB,OAAO,QAAQF,CAAS,EAAE,IAAI,SAASG,EAAQ,CAClE,IAAIC,EAASjsH,EAAegsH,EAAQ,CAAC,EAAGE,EAAWD,EAAO,CAAC,EAAGE,EAAQF,EAAO,CAAC,EAC1EG,EAAYZ,GAAM,OAAO,SAASa,EAAM,CAC1C,OAAOF,EAAME,CAAI,EAAE,SAAW,CACxC,CAAS,EAAE,OACH,MAAO,CACL,SAAUH,EACV,MAAOC,EACP,UAAWC,EAErB,CAAO,EACD,MAAI,CAACR,GAAmBG,EAAe,KAAK,SAASO,EAAS,CAC5D,IAAIF,EAAYE,EAAQ,UACxB,OAAOF,EAAY,GAAKA,EAAY,CAC5C,CAAO,EACQ,KAEFL,EAAe,IAAIQ,EAAkB,EAAE,OAAO,SAASC,EAAQ,CACpE,OAAOA,IAAW,IAC1B,CAAO,CACP,CACI,SAASV,GAAmBL,EAAe,CACzC,IAAIgB,EAAW,CAAA,EACXC,EAAcjsH,GAA2BgrH,CAAa,EAAGkB,EAC7D,GAAI,CACF,IAAKD,EAAY,EAAC,EAAI,EAAEC,EAAUD,EAAY,EAAC,GAAI,MAAQ,CACzD,IAAIE,EACAC,EAAgBF,EAAQ,MAAOT,EAAWW,EAAc,SAAUC,EAASD,EAAc,QAC5FD,EAAqBH,EAASP,CAAQ,KAAO,MAAQU,IAAuB,SAA8BH,EAASP,CAAQ,EAAI,CAC9H,IAAK,CAAA,EACL,MAAO,CAAA,EACP,OAAQ,CAAA,EACR,KAAM,CAAA,IAER,IAAIa,EAAUN,EAASP,CAAQ,EAC3Bc,EAAUhtH,EAAe8sH,EAAQ,CAAC,EAAGG,EAAUD,EAAQ,CAAC,EAAGE,EAAUF,EAAQ,CAAC,EAC9EC,EAAU3B,GACZyB,EAAQ,MAAM,KAAKE,CAAO,EACjB,CAACA,EAAU3B,IACpByB,EAAQ,KAAK,KAAK,CAACE,CAAO,EAExBC,EAAU5B,GACZyB,EAAQ,OAAO,KAAKG,CAAO,EAClB,CAACA,EAAU5B,IACpByB,EAAQ,IAAI,KAAK,CAACG,CAAO,CAErC,CACA,OAAepqH,EAAK,CACZ4pH,EAAY,EAAE5pH,CAAG,CACzB,QAAO,CACC4pH,EAAY,EAAC,CACrB,CACM,OAAOD,CACb,CACI,SAASF,GAAmBY,EAAS,CACnC,IAAIjB,EAAWiB,EAAQ,SAAUhB,EAAQgB,EAAQ,MAAOf,EAAYe,EAAQ,UAC5E,GAAIf,IAAc,EAChB,OAAO,KAET,IAAIgB,EAAc,IAAIvkC,GACtBukC,EAAY,YAAYlB,CAAQ,EAChC,IAAImB,EAAU,EACVC,EAAU,GACd,OAAA9B,GAAM,QAAQ,SAASzC,EAAM,CAC3BsE,GAAWlB,EAAMpD,CAAI,EAAE,OAAS,EAChCuE,IAAYA,EAAUnB,EAAMpD,CAAI,EAAE,MAAM,SAASv6G,EAAQ,CACvD,OAAOA,EAAS+8G,EAC1B,CAAS,EACT,CAAO,EACI+B,IACHF,EAAY,MAAQ,EAAI,KAAK,IAAI/B,GAAqBgC,CAAO,GAExDD,CACb,CACI,SAAS5E,GAAkB+E,EAAY,CACrC,IAAI7yG,EAAU,CACZ,OAAQ,CAAA,GAENxN,EAAMqgH,EAAW,KAAI,EACrBC,EAAU,CAAE9yG,CAAO,EACvB,GAAI,CAACxN,EACH,MAAO,CAAA,EAET,KAAOA,GAAK,CACV,IAAIugH,EAAavgH,EAAI,MAAM,sBAAsB,GAAKA,EAAI,MAAM,cAAc,EAC1EwgH,EAAaxgH,EAAI,MAAM,gBAAgB,GAAKA,EAAI,MAAM,MAAM,EAChE,GAAIugH,EACF/sF,GAAe,CAAChmB,EAAQ,SAAU,8CAA8C,OAAO6yG,CAAU,CAAC,EAClGrgH,EAAMA,EAAI,QAAQugH,EAAW,CAAC,EAAG,EAAE,EAAE,KAAI,EACzC/yG,EAAQ,SAAW+yG,EAAW,CAAC,UACtBC,EAAY,CACrBhtF,GAAehmB,EAAQ,OAAO,OAAS,EAAG,wCAAwC,OAAO6yG,CAAU,CAAC,EACpGrgH,EAAMA,EAAI,QAAQwgH,EAAW,CAAC,EAAG,EAAE,EAAE,KAAI,EACzC,IAAIC,EAAY,YAAYD,EAAW,CAAC,EAAE,CAAC,IAAM,IAAM,IAAM,IAAMA,EAAW,CAAC,CAAC,EAChFhzG,EAAQ,OAAO,KAAKizG,CAAS,CACvC,SAAmBzgH,EAAI,CAAC,IAAM,IACpBwzB,GAAehmB,EAAQ,OAAO,QAAU,EAAG,uCAAuC,OAAO6yG,CAAU,CAAC,EACpG7yG,EAAU,CACR,OAAQ,CAAA,GAEV8yG,EAAQ,KAAK9yG,CAAO,EACpBxN,EAAMA,EAAI,OAAO,CAAC,EAAE,KAAI,MAExB,OAAM,IAAI,MAAM,mCAAmC,OAAOA,CAAG,CAAC,CAExE,CACM,OAAAsgH,EAAQ,QAAQ,SAASI,EAAS,CAChC,IAAId,EAASc,EAAQ,OACjBd,EAAO,SAAW,GACpBA,EAAO,KAAK,CAAC,CAEvB,CAAO,EACMU,CACb,CACI,SAASlF,GAAqBnjH,EAAM,CAClC,IAAI0oH,EAAU,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,GAAIC,EAAWD,EAAQ,SAAUE,EAAWF,EAAQ,SAAUjC,EAAkBiC,EAAQ,gBACtKG,EAAe,CAAA,EACfjvC,EAAQhjF,EAAO,iBAAiBoJ,CAAI,EACpCooH,EAAaxuC,EAAM,iBAAiB,aAAa,EACrD,GAAIwuC,IAAe,OACjB,OAAOS,EAET,IAAIC,EAAclvC,EAAM,iBAAiB,WAAW,EAChDG,EAAW,SAAS+uC,CAAW,EACnCvtF,GAAe,MAAMw+C,CAAQ,IAAM,GAAO,uCAAuC,OAAO+uC,CAAW,CAAC,EACpG,IAAIC,EAAc,CAAA,EACdV,EAAUhF,GAAkB+E,CAAU,EACtCY,EAAc1tH,GAA2B+sH,CAAO,EAAGY,EACvD,GAAI,CACF,IAAKD,EAAY,EAAC,EAAI,EAAEC,EAAUD,EAAY,EAAC,GAAI,MAAQ,CACzD,IAAI3B,EAAS4B,EAAQ,MACjBlC,EAAWM,EAAO,UAAYztC,EAAM,iBAAiB,OAAO,EAC5DsvC,EAAiBruH,EAAewsH,EAAO,OAAQ,CAAC,EAAGS,EAAUoB,EAAe,CAAC,EAAGnB,EAAUmB,EAAe,CAAC,EAAGC,EAAkBD,EAAe,CAAC,EAAGE,EAAaD,IAAoB,OAAS,EAAIA,EACpM,GAAI,EAAAP,GAAYQ,GAAcrvC,EAAW6uC,GAGzC,IAAID,GAAYS,EAAarvC,EAAW4uC,EAAU,CAChDI,EAAY,KAAK,CACf,SAAUhC,EACV,OAAQM,EAAO,MAC7B,CAAa,EACD,QACZ,CACU,GAAI0B,EAAY,OAAS,EAAG,CAC1B,IAAIM,EAAgBnG,GAA4B6F,EAAa,CAC3D,gBAAiBtC,CAC/B,CAAa,EACD,GAAI4C,IAAkB,KACpB,OAAO,KAETR,EAAa,KAAK,MAAMA,EAAc5uH,GAAmBovH,CAAa,CAAC,EACvEN,EAAY,OAAO,EAAGA,EAAY,MAAM,CACpD,CACU,IAAIO,EAAUC,GAAgB,CAC5B,SAAUxC,EACV,QAASe,EACT,QAASC,EACT,WAAYqB,EACZ,SAAUrvC,CACtB,CAAW,EACD8uC,EAAa,KAAKS,CAAO,EACnC,CACA,OAAe3rH,EAAK,CACZqrH,EAAY,EAAErrH,CAAG,CACzB,QAAO,CACCqrH,EAAY,EAAC,CACrB,CACM,GAAID,EAAY,OAAS,EAAG,CAC1B,IAAIS,EAAetG,GAA4B6F,EAAa,CAC1D,gBAAiBtC,CAC3B,CAAS,EACD,GAAI+C,IAAiB,KACnB,OAAO,KAETX,EAAa,KAAK,MAAMA,EAAc5uH,GAAmBuvH,CAAY,CAAC,CAC9E,CACM,OAAOX,CACb,CACI,SAASU,GAAgBE,EAAS,CAChC,IAAI1C,EAAW0C,EAAQ,SAAU3B,EAAU2B,EAAQ,QAAS1B,EAAU0B,EAAQ,QAASL,EAAaK,EAAQ,WAAY1vC,EAAW0vC,EAAQ,SAC3I,GAAI3B,EAAUsB,GAAcrB,EAAUqB,EACpC,OAAO,IAAI1lC,GAAc,EAAG,EAAG,EAAG,CAAC,EAErC,IAAIgmC,EAAc,IAAIhmC,GACtB,OAAAgmC,EAAY,YAAY3C,CAAQ,EAChC2C,EAAY,OAASC,GAAkBP,EAAYrvC,CAAQ,EACpD2vC,CACb,CACI,SAASC,GAAkBP,EAAYrvC,EAAU,CAC/C,GAAIqvC,IAAe,EACjB,MAAO,GAET,IAAIQ,EAAeR,EAAarvC,EAChC,MAAO,OAAQ6vC,EAAe,GACpC,CACI,SAAS3G,GAAoBj1D,EAAK43D,EAAU,CAC1C,IAAIplD,EAAczjC,GAA2BixB,CAAG,EAChD,GAAIwS,EAAY,iBACd,OAAOA,EAAY,iBAErB,IAAIqpD,EAAkB,CAAA,EAClBC,EAAa,IAAI,IACrB,OAAAlE,EAAWA,GAAsD/C,GAAoB70D,CAAG,EACxF43D,EAAS,QAAQ,SAASmE,EAAO,CAC/B,IAAIC,EACAC,EAAUltF,GAA2BgtF,CAAK,EAC1ChmC,EAAUmmC,GAAuBD,CAAO,EACxChqD,EAAgBgqD,EAAQ,eAAe,OAAO,SAASE,EAAS,CAClE,IAAIr4D,EAAQq4D,EAAQ,MACpB,MAAO,CAAC,CAACr4D,CACnB,CAAS,EACDmO,EAAc,QAAQ,SAASmqD,EAAS5jH,EAAO,CAC7C,IAAI6jH,EACAv4D,EAAQs4D,EAAQ,MAChBE,GAAkBD,EAAiBpqD,EAAcz5D,EAAQ,CAAC,KAAO,MAAQ6jH,IAAmB,OAAS,OAASA,EAAe,MAC7HE,EAAWC,GAAqBV,EAAYh4D,EAAOw4D,CAAc,EACjE9jH,IAAU,GAAK,CAACsjH,EAAW,IAAIh4D,CAAK,GACtC+3D,EAAgB,QAAQU,CAAQ,EAElCT,EAAW,IAAIh4D,EAAOy4D,CAAQ,CACxC,CAAS,EACD,IAAIE,GAAiBT,EAAkB/pD,EAAcA,EAAc,OAAS,CAAC,KAAO,MAAQ+pD,IAAoB,OAAS,OAASA,EAAgB,MAC9IrzF,EAAU6zF,GAAqBV,EAAYG,EAASQ,CAAa,EAChExqD,EAAc,QACjB4pD,EAAgB,QAAQlzF,CAAO,EAEjCA,EAAQ,QAAUotD,CAC1B,CAAO,EACDvjB,EAAY,iBAAmBqpD,EACxBA,CACb,CACI,SAASvG,GAAwB3sF,EAAS,CACxC,IAAI+zF,EACJ,GAAI,GAAGA,EAAuB/zF,EAAQ,eAAiB,MAAQ+zF,IAAyB,QAAUA,EAAqB,QAAS,CAC9H,IAAIjxE,EAAS9iB,EAAQ,QACrB,OAAA8iB,EAAO,OAAS9iB,EAAQ,QACjB,CACL,MAAO8iB,EACP,UAAW9iB,EAAQ,UAE7B,CACM,IAAIkuF,EAAcluF,EAAQ,YAAY,OAAOg0F,GAAeC,IAAwB,EAChF96E,EAAQ4yE,GAAemC,EAAaluF,EAAQ,QAASA,EAAQ,YAAY,CAAC,EAAE,SAAS,EACzF,OAAAmZ,EAAM,OAASnZ,EAAQ,QAChB,CACL,MAAOmZ,EACP,UAAWnZ,EAAQ,UAE3B,CACI,SAASg0F,GAAcE,EAAiBC,EAAe,CACrD,IAAIhG,EACA+F,aAA2BnnC,GAC7BohC,EAAW+F,EAEX/F,EAAWxB,GAAwBuH,CAAe,EAAE,MAEtD,IAAIhG,EAAcvB,GAAwBwH,CAAa,EAAE,MACzD,OAAOpI,GAAemC,EAAaC,EAAUgG,EAAc,SAAS,CAC1E,CACI,SAASF,GAAuB94D,EAAOi5D,EAAiB,CACtD,IAAIC,EACJ,MAAO,CACL,MAAOl5D,EACP,SAAUi5D,EACV,QAAS,YAAYC,EAAsEl5D,GAAM,8BAA8B,SAAS,KAAO,MAAQk5D,IAA0B,OAASA,EAAwB,CAAC,EACnN,QAAS,IAAItnC,GAAc,EAAG,EAAG,EAAG,CAAC,EACrC,UAAWunC,GAAiEn5D,GAAM,8BAA8B,gBAAgB,CAAC,EACjI,YAAa,CAAA,EAErB,CACI,SAASm5D,GAAmBC,EAAW,CACrC,OAASA,GAAwB,MACvC,CACI,SAASV,GAAqBV,EAAYh4D,EAAO24D,EAAe,CAC9D,IAAIU,EACAJ,EAAkBjB,EAAW,IAAIW,CAAa,EAC9C9zF,GAAWw0F,EAAkBrB,EAAW,IAAIh4D,CAAK,KAAO,MAAQq5D,IAAoB,OAASA,EAAkBP,GAAuB94D,EAAOi5D,CAAe,EAChK,OAAIA,GAAmBN,IAAkB34D,GAAS,CAACi5D,EAAgB,YAAY,SAASp0F,CAAO,GAC7Fo0F,EAAgB,YAAY,QAAQp0F,CAAO,EAEtCA,CACb,CACI,SAASuzF,GAAuBp4D,EAAO,CACrC,IAAIiyB,EAAU,IAAIL,GAClB,OAAAK,EAAQ,YAAYjyB,EAAM,8BAA8B,kBAAkB,CAAC,EACpEiyB,CACb,CACI,SAAS6+B,GAAqB50D,EAAK,CACjC,IAAIo9D,EAAS,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAA,EAC7EC,EAAqB,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,GACzFv5D,EAAQ/0B,GAA2BixB,CAAG,EACtCs9D,EAAex5D,EAAM,OAAO,mBAChC,GAAIw5D,EACF,OAAAF,EAAO,KAAK,MAAMA,EAAQnxH,GAAmBqxH,EAAa,MAAM,CAAC,EACjE9pC,GAAwB,IAAI,UAAW8pC,EAAa,cAAc,EAC3DA,EAAa,QAEtB,IAAIvnC,EAAUwnC,GAAoBv9D,EAAKo9D,EAAQC,CAAkB,EACjE,OAAAv5D,EAAM,OAAO,mBAAqB,CAChC,QAASiyB,EACT,OAAQqnC,EACR,eAAgB5pC,GAAwB,IAAI,SAAS,GAEhDuC,CACb,CACI,SAASwnC,GAAoBv9D,EAAKo9D,EAAQC,EAAoB,CAC5D,IAAIG,EAAuBC,EACvB7F,EAAW/C,GAAoB70D,CAAG,EACtC,GAAI,CAAC43D,EACH,OAAO,KAET,IAAI8F,EAAYt4D,GAAqCpF,CAAG,EACpD29D,GAAYH,EAAwBrI,GAAqBn1D,EAAK,CAChE,SAAUq9D,EACV,gBAAiB,GAClB,KAAO,MAAQG,IAA0B,OAASA,EAAwB,CAAA,EACvEG,EAAS,SACXA,EAAW,CAAE,CACX,MAAOA,EAAS,OAAOhJ,EAAoB,CACrD,CAAS,GAEH,QAASiJ,EAAO,EAAGA,EAAOhG,EAAS,OAAQgG,IAAQ,CACjD,IAAI7B,EAAQnE,EAASgG,CAAI,EACrBC,EAAaj1H,EAAO,iBAAiBmzH,CAAK,EAC9C,GAAIjoC,GAA0BioC,EAAO8B,CAAU,EAC7C,OAAAT,EAAO,KAAKrB,CAAK,EACV,KAET,IAAIhmC,EAAUE,GAAiC4nC,CAAU,EACzD,GAAI9nC,EAAQ,QAAU,EAGtB,IAAI8nC,EAAW,iBAAiB,SAAS,IAAM,UAAY,CAACC,GAAiB/B,EAAO2B,CAAS,EAC3F,OAAAN,EAAO,KAAKrB,CAAK,EACjBvoC,GAAwB,IAAI,UAAW,sBAAsB,EACtD,KAGT,GADA4pC,EAAO,KAAKrB,CAAK,EACbhmC,EAAQ,QAAU,EACpB,MAEV,CACM,IAAI8lC,EAAkB5G,GAAoBj1D,EAAK43D,CAAQ,EACvD+F,EAAW9B,EAAgB,IAAIvG,EAAuB,EAAE,OAAOqI,CAAQ,EACvE,IAAII,EAAUC,GAAwBh+D,EAAK43D,EAAS,SAAS9uH,EAAS,IAAI,CAAC,EAE3E,IADC20H,EAAYE,GAAU,QAAQ,MAAMF,EAAWxxH,GAAmB8xH,CAAO,CAAC,EACvEJ,EAAS,SAAW,EACtB,OAAO,IAAIjoC,GAAc,IAAK,IAAK,IAAK,CAAC,EAE3C,IAAIuoC,EAAeN,EAAS,OAAO,SAAS5nC,EAAS0hC,EAAS,CAC5D,OAAO/C,GAAe+C,EAAQ,MAAO1hC,EAAQ,iBAAiBL,GAAgBK,EAAQ,MAAQA,EAAS0hC,EAAQ,SAAS,CAChI,CAAO,EACD,OAAO/C,GAAeuJ,EAAa,iBAAiBvoC,GAAgBuoC,EAAa,MAAQA,EAAc,IAAIvoC,GAAc,IAAK,IAAK,IAAK,CAAC,CAAC,CAChJ,CACI,SAASooC,GAAiB9rH,EAAMq9D,EAAO,CACrCA,EAAQ,MAAM,QAAQA,CAAK,EAAIA,EAAQ,CAAEA,CAAK,EAC9C,IAAIhG,EAAWr3D,EAAK,sBAAqB,EACrCg6D,EAAQ3C,EAAS,MAAO4C,EAAS5C,EAAS,OAC1CuiB,EAAQhjF,EAAO,iBAAiBoJ,CAAI,EACpCg2D,EAAW4jB,EAAM,iBAAiB,UAAU,EAChD,OAAI,CAAE,SAAU,QAAS,SAAS5jB,CAAQ,GAAKh2D,aAAgBpJ,EAAO,mBACpEojE,EAAQ3C,EAAS,KAAOr3D,EAAK,YAC7Bi6D,EAAS5C,EAAS,IAAMr3D,EAAK,cAExBq9D,EAAM,MAAM,SAASlG,EAAM,CAChC,OAAOA,EAAK,KAAOE,EAAS,KAAOF,EAAK,QAAU8C,GAAU9C,EAAK,MAAQE,EAAS,MAAQF,EAAK,OAAS6C,CAChH,CAAO,CACP,CACI,SAASkyD,GAAoBhB,EAAW,CACtC,OAASA,GAAwB,MACvC,CACI,SAASc,GAAwBh+D,EAAKm+D,EAAmB,CACvD,IAAIC,EAAa,CAAA,EACjB,GAAI,CAACD,EAAmB,CACtB,IAAIvvG,EAAO9lB,EAAS,gBAChB8hE,EAAO9hE,EAAS,KAChBu1H,EAAYz1H,EAAO,iBAAiBgmB,CAAI,EACxC0vG,EAAY11H,EAAO,iBAAiBgiE,CAAI,EACxCmtD,EAAc9hC,GAAiCooC,CAAS,EACxDE,EAActoC,GAAiCqoC,CAAS,EACxDE,EAAqBD,EAAY,QAAU,GAAKT,GAAiBlzD,EAAM5K,EAAI,uBAAuB,GAClGu+D,EAAY,QAAU,GAAKxG,EAAY,QAAU,GAAKyG,GAAsBD,EAAY,QAAU,IACpGH,EAAW,QAAQ,CACjB,MAAOG,EACP,UAAWL,GAAoBI,EAAU,iBAAiB,gBAAgB,CAAC,CACvF,CAAW,EAECvG,EAAY,QAAU,IAAM,CAACyG,GAAsBA,GAAsBD,EAAY,QAAU,IACjGH,EAAW,QAAQ,CACjB,MAAOrG,EACP,UAAWmG,GAAoBG,EAAU,iBAAiB,gBAAgB,CAAC,CACvF,CAAW,CAEX,CACM,OAAOD,CACb,CACI,SAASK,GAAY1oC,EAAS0hC,EAAS,CACrC,GAAI,CAACA,GAAW,CAAC1hC,EACf,OAAO,KAEL0hC,EAAQ,MAAQ,IAClBA,EAAU/C,GAAe+C,EAAS1hC,CAAO,GAE3C,IAAI2oC,EAAK3oC,EAAQ,qBAAoB,EACjC4oC,EAAKlH,EAAQ,qBAAoB,EACrC,OAAQ,KAAK,IAAIkH,EAAID,CAAE,EAAI,MAAQ,KAAK,IAAIC,EAAID,CAAE,EAAI,IAC5D,CACI,IAAI5J,GAAuB2J,GAC3B,SAAS1J,GAAoB/iH,EAAMwE,EAAGu/E,EAAS,CAa7C,QAZI/tE,EAAU,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAA,EAC9E2tG,EAAY/sH,EAAO,iBAAiBoJ,CAAI,EACxC4sH,EAAa,CAAE,UAAW,CAC5B,OAAOC,GAAelJ,EAAW3tG,CAAO,CAChD,EAAS,UAAW,CACZ,OAAO82G,GAAanJ,CAAS,CACrC,EAAS,UAAW,CACZ,OAAOR,GAAqBnjH,EAAM,CAChC,SAAU,CACpB,CAAS,CACT,CAAO,EACG+sH,EAAW,CAAA,EACNC,EAAO,EAAGC,EAAcL,EAAYI,EAAOC,EAAY,OAAQD,IAAQ,CAC9E,IAAIE,EAAUD,EAAYD,CAAI,EAC1BG,EAAUD,EAAO,EACrB,GAAKC,IAGLJ,EAAWA,EAAS,OAAOI,CAAO,EAC9BA,EAAQ,QAAU,GACpB,KAEV,CACM,IAAI1H,EAAUsH,EAAS,OAAO,SAAS92G,EAAQ6uG,EAAU,CACvD,OAAOpC,GAAezsG,EAAQ6uG,CAAQ,CAC9C,CAAO,EAED,GADA/gC,IAAmDA,EAAU6+B,GAAqB5iH,EAAM,EAAE,GACtF+jF,IAAY,KAAM,CACpB,IAAI1hF,EAASm/E,GAAwB,IAAI,SAAS,EAClD,OAAAA,GAAwB,IAAI,UAAWn/E,CAAM,EACtC,IACf,CACM,IAAI+qH,EAAmBnK,GAAoBjjH,CAAI,EAC3C22B,EAAU02F,GAAmBD,EAAkBptH,CAAI,EACvD,OAAO0iH,GAAe4K,GAAgC7H,EAAS9uF,EAASy2F,CAAgB,EAAG,IAAI1pC,GAAc,IAAK,IAAK,IAAK,CAAC,CAAC,CACpI,CACI,SAASopC,GAAanJ,EAAW,CAC/B,OAAO,IAAIjgC,GAAa,EAAG,YAAYigC,EAAU,iBAAiB,yBAAyB,GAAKA,EAAU,iBAAiB,OAAO,CAAC,CACzI,CACI,SAASkJ,GAAelJ,EAAW4J,EAAS,CAC1C,IAAIC,EAAwBD,EAAQ,gBAAiBE,EAAkBD,IAA0B,OAAS,EAAIA,EAC1GE,EAAc,WAAW/J,EAAU,iBAAiB,2BAA2B,CAAC,EACpF,GAAI+J,IAAgB,EAClB,OAAO,KAET,IAAI3zC,EAAW4pC,EAAU,iBAAiB,WAAW,EACjDgK,EAAsBD,EAAc,WAAW3zC,CAAQ,EAC3D,GAAI,MAAM4zC,CAAmB,GAAKA,EAAsBF,EACtD,OAAO,KAET,IAAIxF,EAActE,EAAU,iBAAiB,2BAA2B,EACxE,OAAO,IAAIjgC,GAAa,EAAG,YAAYukC,CAAW,CACxD,CACI,SAASqF,GAAgC7H,EAAS9uF,EAASy2F,EAAkB,CAC3E,KAAOz2F,GAAS,CACd,IAAIi3F,EACJ,GAAIj3F,EAAQ,UAAY,GAAKA,EAAQ,SAAU,CAC7CA,EAAUA,EAAQ,SAClB,QACV,CACQ8uF,EAAQ,OAAS9uF,EAAQ,QACzB,IAAIs3B,IAAU2/D,EAAoBj3F,EAAQ,YAAc,MAAQi3F,IAAsB,OAAS,OAASA,EAAkB,cAAgBR,EACtIz2F,EAAQ,UAAY,IACtBs3B,EAAQA,EAAM,MAAM,EAAGA,EAAM,QAAQt3B,CAAO,CAAC,GAE/C,IAAIg1F,EAAW19D,EAAM,IAAIq1D,EAAuB,EAChD,GAAI,CAACqI,EAAS,OAAQ,CACpBh1F,EAAUA,EAAQ,SAClB,QACV,CACQ,IAAIotD,EAAU4nC,EAAS,OAAO,SAAS7G,EAAU7uG,EAAQ,CACvD,OAAOysG,GAAezsG,EAAO,MAAO6uG,EAAS,iBAAiBphC,GAAgBohC,EAAS,MAAQA,CAAQ,CACjH,EAAW,CACD,MAAO,IAAIphC,GAAc,EAAG,EAAG,EAAG,CAAC,EACnC,UAAW,QACrB,CAAS,EACD+hC,EAAU/C,GAAe+C,EAAS1hC,CAAO,EACzCptD,EAAUA,EAAQ,QAC1B,CACM,OAAO8uF,CACb,CACI,SAAS4H,GAAmBQ,EAAU7tH,EAAM,CAC1C,IAAI8tH,EAAcxyH,GAA2BuyH,CAAQ,EAAGE,EACxD,GAAI,CACF,IAAKD,EAAY,EAAC,EAAI,EAAEC,EAAUD,EAAY,EAAC,GAAI,MAAQ,CACzD,IAAIE,EACAr3F,EAAUo3F,EAAQ,MACtB,KAAMC,EAAiBr3F,EAAQ,SAAW,MAAQq3F,IAAmB,OAAS,OAASA,EAAe,cAAgBhuH,EACpH,OAAO22B,EAET,IAAIs3F,EAAQZ,GAAmB12F,EAAQ,YAAa32B,CAAI,EACxD,GAAIiuH,EACF,OAAOA,CAEnB,CACA,OAAetwH,EAAK,CACZmwH,EAAY,EAAEnwH,CAAG,CACzB,QAAO,CACCmwH,EAAY,EAAC,CACrB,CACA,CACI,SAASI,GAAsBC,EAAIC,EAAIr0C,EAAUs0C,EAAQ,CACvD,IAAIjxE,EAAY0lE,GAAqBqL,EAAIC,CAAE,EACvCE,EAAcD,GAAU,KAAK,KAAKt0C,EAAW,EAAE,EAAI,GAAK,IAAM,CAACs0C,GAAU,KAAK,KAAKt0C,EAAW,EAAE,EAAI,GAAK,GACzGw0C,EAAwBD,EAAc,IAAM,EAChD,MAAO,CACL,QAASlxE,EAAYmxE,EACrB,cAAenxE,EACf,sBAAuBmxE,EAE/B,CACI,IAAInL,GAAmC8K,GACnC5L,GAAgB,CAAA,EACpBnlH,GAASmlH,GAAe,CACtB,eAAgB,UAA0B,CACxC,OAAOjtC,EACf,EACM,cAAe,UAAyB,CACtC,OAAOF,EACf,EACM,YAAa,UAAuB,CAClC,OAAOK,EACf,EACM,cAAe,UAAyB,CACtC,OAAOP,EACf,EACM,WAAY,UAAsB,CAChC,OAAOu5C,EACf,EACM,eAAgB,UAA0B,CACxC,OAAOz5C,EACf,EACM,gBAAiB,UAA2B,CAC1C,OAAOF,EACf,CACA,CAAK,EACD,IAAI45C,GAAoB,CAAE,WAAY,SAAU,SAAU,QAAS,UAAU,EAC7E,SAASC,GAAWluD,EAAa,CAC/B,IAAImuD,EAAgBnuD,EAAY,YAChC,GAAI,OAAOmuD,GAAkB,UAC3B,OAAOA,EAET,IAAI79D,EAAY0P,EAAY,MAAM,SAC9BouD,EAAepuD,EAAY,KAAK,eAAe,EACnD,OAAIiuD,GAAkB,SAAS39D,CAAS,GAAK0P,EAAY,QAAQ,UAAU,EACzEmuD,EAAgB,GACPC,EACTD,EAAgBC,EAAa,YAAW,IAAO,OACtCpuD,EAAY,OACrBmuD,EAAgBD,GAAWluD,EAAY,MAAM,EAE7CmuD,EAAgB,GAElBnuD,EAAY,YAAcmuD,EACnBA,CACb,CACI,IAAIH,GAAsBE,GAC1B,SAASG,GAAkC7uH,EAAMgW,EAASwqD,EAAa,CACrE,IAAIsuD,EAAUrnD,GAAa,sBAAsBjH,CAAW,EACxDnjE,EAAOoqE,GAAa,SAASA,GAAa,cAAcqnD,EAAS,CACnE,MAAO,GACP,OAAQ,GACR,aAAc,EACtB,CAAO,CAAC,EAAE,YAAW,EACf,GAAKzxH,EAGL,KAAI0xH,EAAY,CACd,KAAM1xH,EACN,SAAU00D,GAAY,sBAAsB/xD,EAAM,MAAM,GAE1D,YAAK,KAAK+uH,CAAS,EACnB,KAAK,aAAa,CAAE/uH,EAAM,EACnB,GACb,CACI,IAAIgvH,GAAgDH,GACpD,SAASI,GAAkBl5G,EAAI1N,EAAI,CACjC,GAAI,CAAC0N,GAAM,CAAC1N,EACV,MAAO,GAET,IAAI6mH,EAAS,OAAO,oBAAoBn5G,CAAE,EACtCo5G,EAAS,OAAO,oBAAoB9mH,CAAE,EAC1C,GAAI6mH,EAAO,SAAWC,EAAO,OAC3B,MAAO,GAET,IAAIp8G,EAASm8G,EAAO,MAAM,SAASxkD,EAAU,CAC3C,IAAI0kD,EAASr5G,EAAG20D,CAAQ,EACpB2kD,EAAShnH,EAAGqiE,CAAQ,EACxB,OAAI1zE,EAAQo4H,CAAM,IAAMp4H,EAAQq4H,CAAM,EAC7B,GAELr4H,EAAQo4H,CAAM,IAAM,UAAYp4H,EAAQq4H,CAAM,IAAM,SAC/CJ,GAAkBG,EAAQC,CAAM,EAElCD,IAAWC,CAC1B,CAAO,EACD,OAAOt8G,CACb,CACI,SAASu8G,GAA+BtsF,EAAS,CAC/C,GAAIA,EAAQ,OAAS,EACnB,OAAOA,EAiCT,QA/BIusF,EAAoBvsF,EAAQ,OAAO,SAASwsF,EAAS,CACvD,IAAIz8G,EAASy8G,EAAQ,OACrB,OAAOz8G,IAAW,MAC1B,CAAO,EACG08G,EAAgB,CAAA,EAChBC,EAAU,CAAA,EACVC,EAAS,SAAgBnpH,EAAO,CAClC,IAAIopH,EACAC,EAAgBN,EAAkB/oH,CAAK,EACvCspH,EAAsBD,EAAc,KAAMxyH,EAAOyyH,EAAoB,KAAMC,EAAWD,EAAoB,SAC9G,GAAIJ,EAAQryH,CAAI,EACd,MAAO,GAET,IAAI2yH,EAAkBT,EAAkB,OAAO,SAASU,EAASC,EAAW,CAC1E,IAAI77G,EAAO47G,EAAQ,KACnB,OAAO57G,EAAK,OAAShX,GAAQ6yH,IAAc1pH,CACrD,CAAS,EACG2pH,EAAYH,EAAgB,MAAM,SAASI,EAAS,CACtD,IAAI/7G,EAAO+7G,EAAQ,KACnB,OAAOnB,GAAkB56G,EAAK,SAAU07G,CAAQ,CAC1D,CAAS,EACGC,EAAgB,QAAU,CAACG,IAC7BN,EAAc,OAAS,QAEzBA,EAAc,aAAe,CAAA,GAC5BD,EAAwBC,EAAc,cAAc,KAAK,MAAMD,EAAuB31H,GAAmB+1H,EAAgB,IAAI,SAAShwH,EAAM,CAC3I,OAAOA,EAAK,aAAa,CAAC,CACpC,CAAS,CAAC,CAAC,EACH0vH,EAAQryH,CAAI,EAAI2yH,EAChBP,EAAc,KAAKI,CAAa,CACxC,EACerpH,EAAQ,EAAGA,EAAQ+oH,EAAkB,OAAQ/oH,IAChDmpH,EAAOnpH,CAAK,EAIlB,OAAOipH,CACb,CACI,IAAIY,GAA6Cf,GACjD,SAASgB,GAASx+D,EAAO,CACvB,IAAIgZ,EAAOsF,GAAiBte,CAAK,EAC7By+D,EAAczlD,GAAQA,EAAK,SAAS,SAAS,EAC7C0lD,EAAmB1+D,EAAM,KAAK,YAAY,EAC1C2+D,EAAY,SAASD,EAAkB,EAAE,EACzCE,EAAU5+D,EAAM,MAAM,SAAS,MAAM,OAAO,GAAK,CAAA,EAAI6+D,EAAU91H,EAAe61H,EAAS,CAAC,EAAGE,EAAeD,EAAQ,CAAC,EACvH,OAAKJ,EAGDK,GAAgB,CAACJ,EACZ,SAASI,EAAc,EAAE,EAE9B,MAAMH,CAAS,GAAKA,EAAY,EAC9BG,EACK,SAASA,EAAc,EAAE,EAE3B,EAELH,GAGG,GAdE,EAef,CACI,SAASI,IAAuB,CAC9B,IAAIC,EAAel/D,GAAc,IAAI,cAAc,EACnD,GAAIk/D,EACF,MAAO,GAET,IAAI/pG,EAAW,wDACX2+E,EAAS5lE,GAAkC/oC,EAAI,MAAM,CAAC,EAAGgwB,EAAU4tC,EAAyB,EAChG,OAAAm8D,EAAeprB,EAAO,IAAI,SAAS5zC,EAAO,CACxC,MAAO,CACL,SAAU,CAAEx1B,GAAaw1B,EAAM,UAAU,CAAC,EAC1C,MAAOw+D,GAASx+D,CAAK,EAE/B,CAAO,EACD,KAAK,KAAK,CACR,aAAcg/D,CACtB,CAAO,EACDl/D,GAAc,IAAI,eAAgB8zC,CAAM,EACjC,EACb,CACI,IAAIqrB,GAAiCF,GACrC,SAASG,GAAkBhuF,EAAS,CAClC,IAAI8tF,EAAeG,GAAgBjuF,CAAO,EAC1C,OAAAA,EAAQ,QAAQ,SAASjwB,EAAQ,CAC/BA,EAAO,OAASm+G,GAAuBn+G,EAAQ+9G,CAAY,CACnE,CAAO,EACM9tF,CACb,CACI,SAASkuF,GAAuBn+G,EAAQ+9G,EAAc,CACpD,IAAIK,EAAuBC,EAAqBC,EAAqBC,EACjE9qH,EAAQ+qH,GAAsBT,EAAc/9G,EAAO,KAAK,QAAQ,EAChEy+G,GAAaL,GAAyBC,EAAsBN,EAAatqH,CAAK,KAAO,MAAQ4qH,IAAwB,OAAS,OAASA,EAAoB,SAAW,MAAQD,IAA0B,OAASA,EAAwB,GACzOM,GAAaJ,GAAuBC,EAAgBR,EAAatqH,EAAQ,CAAC,KAAO,MAAQ8qH,IAAkB,OAAS,OAASA,EAAc,SAAW,MAAQD,IAAwB,OAASA,EAAsB,GACzN,GAAI7qH,IAAU,EACZ,MAAO,GAET,GAAIgrH,IAAc,GAGlB,OAAOA,EAAYC,GAAa,CACtC,CACI,SAASR,GAAgBjuF,EAAS,CAChCA,EAAU/oC,GAAmB+oC,CAAO,EACpCA,EAAQ,KAAK,SAAS0uF,EAASC,EAAS,CACtC,IAAI57B,EAAQ27B,EAAQ,KAChB17B,EAAQ27B,EAAQ,KACpB,OAAO57B,EAAM,SAAS,OAASC,EAAM,SAAS,MACtD,CAAO,EACD,IAAI86B,EAAe9tF,EAAQ,OAAO4uF,GAAmB,CAAA,CAAE,EACvD,OAAOd,EAAa,OAAO,SAASe,EAAS,CAC3C,IAAIC,EAAQD,EAAQ,MACpB,OAAOC,IAAU,EACzB,CAAO,CACP,CACI,SAASF,GAAkBG,EAAoBh/G,EAAQ,CACrD,IAAIi/G,EACAC,GAAqBD,EAAej/G,EAAO,QAAU,MAAQi/G,IAAiB,OAAS,OAASA,EAAa,aAC7GxS,EAAgB0S,GAAan/G,EAAO,KAAK,SAAU,CAAC,EACxD,GAAI,CAACk/G,EACH,OAAOF,EAET,IAAII,EAAyBF,EAAkB,IAAI,SAASG,EAAS,CACnE,OAAOC,GAA0BD,EAAS5S,CAAa,CAC/D,CAAO,EACGh5G,EAAQ8rH,GAAcP,EAAoBvS,CAAa,EAC3D,OAAIh5G,IAAU,GACZurH,EAAmB,KAAK,MAAMA,EAAoB93H,GAAmBk4H,CAAsB,CAAC,EAE5FJ,EAAmB,OAAO,MAAMA,EAAoB,CAAEvrH,EAAO,CAAC,EAAG,OAAOvM,GAAmBk4H,CAAsB,CAAC,CAAC,EAE9GJ,CACb,CACI,SAASO,GAAcxB,EAActR,EAAe,CAClD,KAAOA,EAAc,QAAQ,CAC3B,IAAIh5G,EAAQ+qH,GAAsBT,EAActR,CAAa,EAC7D,GAAIh5G,IAAU,GACZ,OAAOA,EAETg5G,EAAgB0S,GAAa1S,EAAe,CAAC,CACrD,CACM,MAAO,EACb,CACI,SAAS+R,GAAsBT,EAAcyB,EAAU,CACrD,OAAOzB,EAAa,UAAU,SAASsB,EAAS,CAC9C,OAAO5zF,GAAe4zF,EAAQ,SAAUG,CAAQ,CACxD,CAAO,CACP,CACI,SAASF,GAA0BD,EAAS5S,EAAe,CACzD,IAAI+S,EAAW/S,EAAc,OAAO4S,EAAQ,QAAQ,EACpD,OAAOp4H,GAAS,CAAA,EAAIo4H,EAAS,CAC3B,SAAUG,CAClB,CAAO,CACP,CACI,SAASL,GAAajiG,EAAKuiG,EAAc,CACvC,OAAOviG,EAAI,MAAM,EAAGA,EAAI,OAASuiG,CAAY,CACnD,CACI,SAASC,GAAmBzyH,EAAMgW,EAAS87C,EAAO,CAChD,IAAIwJ,EAA6DtlD,GAAQ,SAAY,GACjFqhD,EAAWvF,EAAM,mBACrB,GAAI8I,GAAoBU,EAAU,GAAIjE,CAAQ,EAC5C,YAAK,KAAK,CACR,WAAY,QACZ,QAASiE,CACnB,CAAS,EACM,GAET,IAAIo3D,EAAiB93D,GAAoB,KAAK,KAAMU,CAAO,EACvDq3D,EAAazgE,GAAgBJ,CAAK,EAClC8gE,EAAqBC,GAAyB/gE,EAAO6gE,CAAU,EAC/DG,EAAuBC,GAAoBjhE,EAAO6gE,CAAU,EAAGK,EAAqBF,EAAqB,mBAAoBG,EAAuBH,EAAqB,qBAC7K,GAAIF,EAAmB,SAAWI,EAAmB,QAAU,CAACN,EAAer7D,CAAQ,GAAI,CACzF,KAAK,KAAK,CACR,QAASiE,EACT,WAAY,iBACtB,CAAS,EACD,KAAK,aAAa43D,GAAeN,CAAkB,CAAC,EACpD,MACR,CACM,GAAII,EAAmB,OACrB,YAAK,aAAaE,GAAeF,CAAkB,CAAC,EACpD,KAAK,KAAK,CACR,WAAY,UACtB,CAAS,EACM,GAET,IAAIG,EAAkBp/D,GAAcjC,CAAK,EAAI,GAAQ,OACrD,GAAI,CAAC4gE,EAAer7D,CAAQ,EAC1B,YAAK,KAAKr9D,GAAS,CACjB,QAASshE,CACnB,EAAW83D,GAAc/7D,CAAQ,CAAC,CAAC,EACpB87D,EAET,IAAIE,EAAkBC,GAAuBL,CAAoB,EACjE,GAAI,CAACI,EAAgB,OACnB,YAAK,KAAKr5H,GAAS,CACjB,QAASshE,CACnB,EAAW83D,GAAc/7D,CAAQ,CAAC,CAAC,EACpB,GAET,IAAIk8D,EAAmBC,GAAyB1hE,EAAOuhE,CAAe,EACtE,GAAI,CAACE,EAAkB,CACrB,KAAK,KAAK,CACR,QAASj4D,EACT,WAAY,cACtB,CAAS,EACD,MACR,CACM,GAAI,CAACo3D,EAAea,CAAgB,EAAG,CACrC,GAAIX,EAAmB,OAAQ,CAC7B,KAAK,KAAK,CACR,QAASt3D,EACT,WAAY,iBACxB,CAAW,EACD,KAAK,aAAa43D,GAAeN,CAAkB,CAAC,EACpD,MACV,CACQ,IAAIa,EAAcJ,EAAgB,MAAMt/D,EAAa,EACjDumD,EAAa,oBAAoB,OAAOmZ,EAAc,GAAK,aAAa,EAC5E,YAAK,KAAKz5H,GAAS,CACjB,WAAYsgH,EACZ,QAASh/C,CACnB,EAAW83D,GAAcG,CAAgB,CAAC,CAAC,EACnC,KAAK,aAAaL,GAAeG,CAAe,CAAC,EAC1CI,EAAcN,EAAkB,MAC/C,CACM,YAAK,KAAKn5H,GAAS,CACjB,QAASshE,GACR83D,GAAcG,GAAoBl8D,CAAQ,CAAC,CAAC,EAC/C,KAAK,aAAa67D,GAAeG,CAAe,CAAC,EAC1C,EACb,CACI,SAASR,GAAyB/gE,EAAO6gE,EAAY,CACnD,OAAOA,EAAW,OAAO,SAASe,EAAW,CAC3C,MAAO,CAACC,GAAgBD,EAAW5hE,CAAK,GAAK8hE,GAA2B9hE,EAAO4hE,CAAS,CAChG,CAAO,CACP,CACI,SAASX,GAAoBjhE,EAAO6gE,EAAY,CAC9C,IAAIK,EAAqB,CAAA,EACrBC,EAAuB,CAAA,EACvBY,EAAcv4H,GAA2Bq3H,CAAU,EAAGmB,EAC1D,GAAI,CACF,IAAKD,EAAY,EAAC,EAAI,EAAEC,EAAUD,EAAY,EAAC,GAAI,MAAQ,CACzD,IAAIp4D,EAAYq4D,EAAQ,MACpB,CAACF,GAA2B9hE,EAAO2J,CAAS,GAAKd,GAAkB7I,EAAO2J,CAAS,GAAKs4D,GAAoBt4D,CAAS,IAAM,SACzHk4D,GAAgB7hE,EAAO2J,CAAS,EAClCu3D,EAAmB,KAAKv3D,CAAS,EAEjCw3D,EAAqB,KAAKx3D,CAAS,EAGjD,CACA,OAAe99D,EAAK,CACZk2H,EAAY,EAAEl2H,CAAG,CACzB,QAAO,CACCk2H,EAAY,EAAC,CACrB,CACM,MAAO,CACL,mBAAoBb,EACpB,qBAAsBC,EAE9B,CACI,SAASO,GAAyB1hE,EAAOkiE,EAAe,CACtD,IAAI38D,EAAWvF,EAAM,mBACjBkV,EAAiBgtD,EAAc,IAAI,SAASC,EAAS,CACvD,IAAI98D,EAAO88D,EAAQ,mBACnB,OAAO98D,CACf,CAAO,EACG+8D,EACJ,GAAI,CACFA,EAAkBr5D,GAAYxD,EAAU2P,CAAc,CAC9D,MAAyB,CACjB,OAAO,IACf,CACM,OAAOmtD,GAAgBD,CAAe,CAC5C,CACI,SAASC,GAAgB92D,EAAO/B,EAAS,CACvC,OAAO+B,EAAM,OAAO,SAASxD,EAAOC,EAAO,CACzC,IAAIuN,EAAiBzM,GAAoBU,EAASzB,CAAK,EACnDyN,EAAiB1M,GAAoBU,EAASxB,CAAK,EACvD,GAAIuN,IAAmBC,EACrB,OAAOD,EAAiBxN,EAAQC,EAElC,IAAIyN,EAAQ1N,EAAM,MAAQA,EAAM,OAC5B2N,EAAQ1N,EAAM,MAAQA,EAAM,OAChC,OAAOyN,EAAQC,EAAQ3N,EAAQC,CACvC,CAAO,CACP,CACI,SAASw5D,GAAuB5tB,EAAQ,CACtC,OAAOA,EAAO,OAAO,SAAS5zC,EAAO,CACnC,OAAO4tB,GAAsB5tB,CAAK,IAAM,UAAY6B,GAAa7B,CAAK,CAC9E,CAAO,CACP,CACI,SAAS6hE,GAAgB/2D,EAAQC,EAAQ,CACvC,IAAIhD,EAAQ+C,EAAO,mBACf9C,EAAQ+C,EAAO,mBACnB,OAAOhD,EAAM,KAAOC,EAAM,KAAOD,EAAM,MAAQC,EAAM,MAAQD,EAAM,QAAUC,EAAM,QAAUD,EAAM,OAASC,EAAM,KACxH,CACI,SAASi6D,GAAoBjiE,EAAO,CAClC,OAAOA,EAAM,8BAA8B,gBAAgB,CACjE,CACI,SAASshE,GAAcj8D,EAAM,CAC3B,MAAO,CACL,MAAO,KAAK,MAAMA,EAAK,MAAQ,EAAE,EAAI,GACrC,OAAQ,KAAK,MAAMA,EAAK,OAAS,EAAE,EAAI,GAE/C,CACI,SAASy8D,GAA2B1sD,EAAWpV,EAAO,CACpD,OAAOl2B,GAAUsrC,EAAWpV,CAAK,GAAK,CAACiC,GAAcjC,CAAK,CAChE,CACI,SAASohE,GAAextB,EAAQ,CAC9B,OAAOA,EAAO,IAAI,SAAS0uB,EAAS,CAClC,IAAIvgD,EAAaugD,EAAQ,WACzB,OAAOvgD,CACf,CAAO,CACP,CACI,IAAIwgD,GAAkB,IACtB,SAASC,GAAqBt0H,EAAMgW,EAAS87C,EAAO,CAClD,IAAIyiE,EAA+Dv+G,GAAQ,WAAc,GACzF,GAAI4kD,GAAoB25D,EAAY,GAAIziE,EAAM,kBAAkB,EAC9D,YAAK,KAAK,CACR,WAAY,QACZ,UAAWyiE,CACrB,CAAS,EACM,GAET,IAAIC,EAAiB,CAAA,EACjBC,EAAgBF,EAChBG,EAAcp5H,GAA2B42D,GAAgBJ,EAAOyiE,CAAS,CAAC,EAAGI,EACjF,GAAI,CACF,IAAKD,EAAY,EAAC,EAAI,EAAEC,EAAUD,EAAY,EAAC,GAAI,MAAQ,CACzD,IAAIj5D,EAAYk5D,EAAQ,MACxB,GAAI,EAAAj1C,GAAsBjkB,CAAS,IAAM,UAAY,CAAC9H,GAAa8H,CAAS,GAG5E,KAAIpyD,EAAS,KACb,GAAI,CACFA,EAASoxD,GAAW3I,EAAO2J,EAAW84D,EAAY,CAAC,CAC/D,OAAmBjnG,EAAM,CACb,GAAIA,EAAK,QAAQ,WAAW,YAAY,EAAG,CACzC,KAAK,KAAK,CACR,WAAY,eACZ,cAAe,EACf,UAAWinG,CAC3B,CAAe,EACD,MACd,CACY,MAAMjnG,CAClB,CACcjkB,IAAW,OAGfA,EAASurH,GAAqBvrH,CAAM,EAAI,EACpC,EAAAA,EAASgrH,IAAmBE,KAGhCE,EAAgB,KAAK,IAAIA,EAAeprH,CAAM,EAC9CmrH,EAAe,KAAK/4D,CAAS,IACvC,CACA,OAAe99D,EAAK,CACZ+2H,EAAY,EAAE/2H,CAAG,CACzB,QAAO,CACC+2H,EAAY,EAAC,CACrB,CACM,GAAIF,EAAe,SAAW,EAC5B,YAAK,KAAK,CACR,cAAeC,EACf,UAAWF,CACrB,CAAS,EACM,GAMT,GAJA,KAAK,aAAaC,EAAe,IAAI,SAASK,EAAS,CACrD,IAAIhhD,EAAaghD,EAAQ,WACzB,OAAOhhD,CACf,CAAO,CAAC,EACE,CAAC2gD,EAAe,KAAKzgE,EAAa,EAAG,CACvC,KAAK,KAAK,CACR,WAAY,sBACZ,cAAe0gE,EACf,UAAWF,CACrB,CAAS,EACD,MACR,CACM,YAAK,KAAK,CACR,cAAeE,EACf,UAAWF,CACnB,CAAO,EACMxgE,GAAcjC,CAAK,EAAI,GAAQ,MAC5C,CACI,SAAS8iE,GAAqB1zE,EAAK,CACjC,OAAO,KAAK,MAAMA,EAAM,EAAE,EAAI,EACpC,CACI,SAAS4zE,GAA0B90H,EAAMgW,EAASwqD,EAAa,CAC7D,IAAIu0D,EAAU/+G,GAAW,GAAIg/G,EAAuBD,EAAQ,aAAcE,EAAeD,IAAyB,OAAS,EAAIA,EAAsBE,EAAqBH,EAAQ,WAAYI,EAAaD,IAAuB,OAAS,GAAQA,EAC/O93G,EAAUojD,EAAY,KAAK,SAAS,GAAK,GAC7C,GAAI,CAACpjD,EACH,MAAO,GAET,IAAIrK,EAASqK,EAAQ,MAAM,MAAM,EAAE,OAAO,SAASqkB,EAAKysB,EAAM,CAC5D,IAAIknE,EAAelnE,EAAK,KAAI,EAC5B,GAAI,CAACknE,EACH,OAAO3zF,EAET,IAAI4zF,EAAsBD,EAAa,MAAM,GAAG,EAAGE,EAAuBz6H,EAAew6H,EAAqB,CAAC,EAAGz4H,EAAM04H,EAAqB,CAAC,EAAGz4H,EAAQy4H,EAAqB,CAAC,EAC/K,GAAI,CAAC14H,GAAO,CAACC,EACX,OAAO4kC,EAET,IAAI8zF,EAAa34H,EAAI,YAAW,EAAG,KAAI,EACnC44H,EAAe34H,EAAM,YAAW,EAAG,KAAI,EAI3C,OAHI04H,IAAe,iBAAmBC,IAAiB,QACrDA,EAAe,GAEbD,IAAe,iBAAmB,WAAWC,CAAY,EAAI,IAGjE/zF,EAAI8zF,CAAU,EAAIC,GACX/zF,CACf,EAAS,CAAA,CAAE,EACL,GAAI0zF,GAAcpiH,EAAO,eAAe,GAAK,WAAWA,EAAO,eAAe,CAAC,EAAIoiH,EACjF,MAAO,GAET,GAAI,CAACA,GAAcpiH,EAAO,eAAe,IAAM,KAC7C,YAAK,KAAK,kBAAkB,EACrB,GAET,IAAI0iH,EAAsB,WAAW1iH,EAAO,eAAe,CAAC,EAC5D,MAAI,CAACoiH,GAAcpiH,EAAO,eAAe,IAAM0iH,GAAuBA,IAAwB,IAAMA,EAAsB,IAAMA,EAAsB,GACpJ,KAAK,KAAK,eAAe,EAClB,IAEL1iH,EAAO,eAAe,GAAK,WAAWA,EAAO,eAAe,CAAC,EAAIkiH,GACnE,KAAK,KAAK,eAAe,EAClB,IAEF,EACb,CACI,IAAIS,GAAuCZ,GAC3C,SAASa,GAA2B31H,EAAMgW,EAASwqD,EAAa7pC,EAAS,CACvE,IAAIi/F,EAAUj/F,GAAW,CAAA,EAAIk/F,EAAgBD,EAAQ,MAAOE,EAAQD,IAAkB,OAAS,OAASA,EACpGE,EAAU//G,GAAW,CAAA,EAAIggH,EAAwBD,EAAQ,gBAAiBE,EAAkBD,IAA0B,OAAS,EAAIA,EACvI,GAAI,CAACF,GAAS,CAACA,EAAM,OACnB,OAwBF,QAtBII,EAAW,GACXC,EAAkB,CAAA,EAClBC,EAA+BC,EAAqBP,CAAK,EACzDQ,EAAS,UAAkB,CAC7B,IAAI15H,EAAM25H,EAAcC,CAAI,EACxBC,EAAwBL,EAA6Bx5H,CAAG,EAAG24D,EAAOkhE,EAAsB,KAAMl0B,EAAQk0B,EAAsB,MAC5HC,GAAmBn0B,EAAM,OAAOo0B,CAA0B,EAC9D,GAAI,CAACD,GAAiB,OACpB,MAAO,GAETA,GAAiB,QAAQ,SAASE,EAAS,CACzC,IAAIC,GAAWD,EAAQ,SACvB,MAAM,KAAKC,EAAQ,EAAE,QAAQ,SAASC,EAAS,CAC7C,IAAIC,EAASC,EAAuBF,CAAO,EAC3C,GAAIC,GAAUD,EAAQ,aAAa,YAAW,IAAO,OAAQ,CAC3D,IAAIhqB,EAAO,MAAM,KAAKv3C,EAAK,iBAAiBuhE,EAAQ,YAAY,CAAC,GAAK,CAAA,EACtEX,EAAkBA,EAAgB,OAAOrpB,CAAI,CAC3D,CACYopB,EAAWA,GAAYa,CACnC,CAAW,CACX,CAAS,CACT,EACeP,EAAO,EAAGD,EAAgB,OAAO,KAAKH,CAA4B,EAAGI,EAAOD,EAAc,OAAQC,IACrGF,EAAM,EAIZ,GAAI,CAACJ,EACH,MAAO,GAET,OAAIC,EAAgB,QAClB,KAAK,aAAaA,CAAe,EAE5B,GACP,SAASE,EAAqBY,EAAgB,CAC5C,OAAOA,EAAe,OAAO,SAASx1F,EAAKy1F,EAAS,CAClD,IAAI70B,EAAQ60B,EAAQ,MAAO3hE,EAAO2hE,EAAQ,KAAM7uC,GAAW6uC,EAAQ,SAC/Dt6H,EAAMyrF,IAAsB,cAOhC,GANK5mD,EAAI7kC,CAAG,IACV6kC,EAAI7kC,CAAG,EAAI,CACT,KAAM24D,EACN,MAAO,CAAA,IAGP,CAAC8sC,GAAS,CAACA,EAAM,SACnB,OAAO5gE,EAET,IAAI8gE,GAAQ,MAAM,KAAKF,EAAM,QAAQ,EACrC,OAAA5gE,EAAI7kC,CAAG,EAAE,MAAQ6kC,EAAI7kC,CAAG,EAAE,MAAM,OAAO2lG,EAAK,EACrC9gE,CACjB,EAAW,CAAA,CAAE,CACb,CACM,SAASk1F,EAA2BQ,EAAS,CAC3C,IAAI/4H,EAAQ+4H,EAAQ,KAAMC,EAAUD,EAAQ,QAC5C,OAAI/4H,IAAU,EACL,GAEF,4BAA4B,KAAKg5H,CAAO,GAAK,2BAA2B,KAAKA,CAAO,CACnG,CACM,SAASJ,EAAuBK,EAAS,CACvC,IAAIC,EAAeD,EAAQ,aAAcz9C,EAAQy9C,EAAQ,MACzD,GAAI,CAACC,GAAgB19C,EAAM,QAAU,EACnC,MAAO,GAET,IAAI29C,EAAiB39C,EAAM,WAAaA,EAAM,iBAAmBA,EAAM,aAAe,GACtF,GAAI,CAAC29C,GAAkB,CAAC39C,EAAM,OAC5B,MAAO,GAET,IAAI49C,EAAmBC,EAAoBF,CAAc,EACrDG,GAAgBC,EAAqB,SAAU/9C,EAAM,MAAM,EAC3Dg+C,EAAUJ,EAAmBE,GAKjC,MAJI,CAACE,IAGLA,EAAU,KAAK,IAAIA,CAAO,EACtB,KAAK,IAAIA,EAAU,GAAG,EAAI,KAAO3B,GAC5B,GAEF,KAAK,IAAI2B,EAAU,EAAE,EAAI,IAAM3B,CAC9C,CACM,SAASwB,EAAoBF,EAAgB,CAC3C,GAAI,CAACA,EACH,MAAO,GAET,IAAI/lD,EAAW+lD,EAAe,MAAM,qGAAqG,EACzI,GAAI,CAAC/lD,EACH,MAAO,GAET,IAAIqmD,EAAYh9H,EAAe22E,EAAU,CAAC,EAAGsmD,EAAcD,EAAU,CAAC,EAAGE,EAAmBF,EAAU,CAAC,EACvG,OAAOF,EAAqBG,EAAaC,CAAgB,CACjE,CACM,SAASJ,EAAqBK,EAAmBD,EAAkB,CACjE,OAAQC,EAAiB,CACxB,IAAK,SACL,IAAK,UACJ,OAAOC,EAAkBF,CAAgB,EAE1C,IAAK,WACJ,IAAIG,EAAwBH,EAAiB,MAAM,GAAG,EAAE,IAAI,SAASl7H,EAAO,CAC1E,OAAOA,EAAM,KAAI,CAC7B,CAAW,EAAGs7H,EAAyBt9H,EAAeq9H,EAAuB,CAAC,EAAGE,EAAID,EAAuB,CAAC,EAAGE,GAAgBF,EAAuB,CAAC,EAC9I,OAAI,SAASC,CAAC,IAAM,EAClB,OAEKH,EAAkBI,EAAa,EAEvC,IAAK,SACL,IAAK,WACJ,OAAOC,EAAqCP,CAAgB,EAE7D,QACC,MAAO,EACjB,CACA,CACM,SAASE,EAAkBI,EAAe,CACxC,IAAIE,EAAUF,EAAc,MAAM,qBAAqB,GAAK,CAAA,EAAIG,EAAU39H,EAAe09H,EAAS,CAAC,EAAG51C,EAAO61C,EAAQ,CAAC,EACtH,GAAI,CAAC71C,EACH,MAAO,GAET,IAAI3xC,EAAQ,WAAWqnF,EAAc,QAAQ11C,EAAM,EAAE,CAAC,EACtD,OAAQA,EAAI,CACX,IAAK,MACJ,OAAO81C,EAAgBznF,CAAK,EAE7B,IAAK,OACJ,OAAO0nF,EAAiB1nF,CAAK,EAE9B,IAAK,OACJ,OAAO2nF,EAAiB3nF,CAAK,EAE9B,IAAK,MACL,QACC,OAAO,SAASA,CAAK,CAC/B,CACA,CACM,SAASsnF,EAAqCP,EAAkB,CAC9D,IAAI/2F,EAAU+2F,EAAiB,MAAM,GAAG,EACxC,GAAI/2F,EAAQ,QAAU,EAAG,CACvB,IAAI43F,EAAU/9H,EAAemmC,EAAS,CAAC,EAAGjrB,EAAK6iH,EAAQ,CAAC,EAAGC,EAAKD,EAAQ,CAAC,EACrEE,GAAU,KAAK,MAAM,WAAWD,CAAE,EAAG,WAAW9iH,CAAE,CAAC,EACvD,OAAO0iH,EAAgBK,EAAO,CACxC,CACQ,IAAIC,EAAO,WAAW/3F,EAAQ,CAAC,CAAC,EAC5B34B,GAAK,KAAK,KAAK0wH,CAAI,EACnBC,EAAO,KAAK,IAAI3wH,EAAE,EAClB4wH,EAAiB,KAAK,KAAK,WAAWj4F,EAAQ,CAAC,CAAC,EAAIg4F,CAAI,EAC5D,OAAOP,EAAgBQ,CAAc,CAC7C,CACM,SAASR,EAAgBK,EAAS,CAChC,OAAO,KAAK,MAAMA,GAAW,IAAM,KAAK,GAAG,CACnD,CACM,SAASJ,EAAiBQ,EAAM,CAC9B,OAAAA,EAAOA,EAAO,IACVA,EAAO,IACTA,GAAQ,KAEH,KAAK,MAAMA,EAAO,IAAM,GAAG,CAC1C,CACM,SAASP,EAAiB/0C,EAAM,CAC9B,OAAO,KAAK,MAAM,KAAO,EAAIA,EAAK,CAC1C,CACA,CACI,IAAIu1C,GAAwCxD,GAC5C,SAASyD,GAAwBp5H,EAAMgW,EAAS,CAC9C,IAAIqjH,EAAcr5H,EAAK,aAAa,UAAU,EAC9C,GAAIA,EAAK,aAAa,MAAM,EAC1B,OAAOq5H,EAET,GAAI,CAACr5H,EAAK,SAAU,CAClB,QAAQ,KAAK,8CAA8C,EAC3D,MACR,CACM,IAAIs5H,EAAwBtjH,EAAQ,gBAAiBujH,EAAkBD,IAA0B,OAAS,EAAIA,EAC1GE,EAAmBC,EAAoBz5H,CAAI,EAC/C,GAAIw5H,GAAoBD,EACtB,MAAO,GAET,GAAI,CAACF,EACH,MAAO,GAET,MAAO,GACP,SAASI,EAAoBzrE,EAAK,CAChC,GAAI,CAACA,EAAI,WACP,MAAO,GAET,IAAI0rE,EAAgBC,EAAiB3rE,EAAI,UAAU,EACnD,OAAK0rE,EAGDA,EAAc,SAAW,EACpB,KAAK,IAAI1rE,EAAI,SAAW0rE,EAAc,CAAC,CAAC,EAE1C,KAAK,IAAIA,EAAc,CAAC,EAAIA,EAAc,CAAC,CAAC,EAL1C,KAAK,IAAI1rE,EAAI,UAAYA,EAAI,aAAe,EAAE,CAM/D,CACM,SAAS2rE,EAAiB1uG,EAAK,CAC7B,IAAIpb,EAAQob,EAAI,MAAM,SAAS,EAC/B,GAAKpb,EAGL,KAAI+pH,EAAS/+H,EAAegV,EAAO,CAAC,EAAGhT,EAAQ+8H,EAAO,CAAC,EACnDC,EAASh9H,EAAM,MAAM,GAAG,EAC5B,OAAOg9H,EAAO,IAAI,SAAS3wF,EAAQ,CACjC,MAAI,IAAI,KAAKA,CAAM,EACV4wF,EAA2B5wF,CAAM,EAEnC,WAAWA,CAAM,CAClC,CAAS,EACT,CACM,SAAS4wF,EAA2BC,EAAQ,CAI1C,QAHIjyG,EAAQiyG,EAAO,MAAM,GAAG,EACxBC,EAAO,EACPC,EAAO,EACJnyG,EAAM,OAAS,GACpBkyG,GAAQC,EAAO,SAASnyG,EAAM,IAAG,EAAI,EAAE,EACvCmyG,GAAQ,GAEV,OAAO,WAAWD,CAAI,CAC9B,CACA,CACI,IAAIE,GAAqCd,GACzC,SAASe,GAAoBn6H,EAAMgW,EAAS,CAC1C,OAAOA,EAAQ,YAAc,GAAQ,MAC3C,CACI,IAAIokH,GAAgCD,GAChCE,GAAU,MACd,SAASC,GAAiBt3F,EAAS,CACjC,IAAIu3F,EAAU,CAAA,EACd,OAAOv3F,EAAQ,OAAO,SAASjwB,EAAQ,CACrC,IAAI6iF,EAAc7iF,EAAO,KAAK,SAASA,EAAO,KAAK,SAAS,OAAS,CAAC,IAAM,OAC5E,GAAI6iF,EAAa,CACf,IAAI4kC,EAAYznH,EAAO,KAAK,SAAS,KAAK,GAAQ,EAAE,KAAKsnH,EAAO,EAChE,OAAAE,EAAQC,CAAS,EAAIznH,EACd,EACjB,CACQ,IAAIw/G,EAAWx/G,EAAO,KAAK,SAAS,MAAM,EAAGA,EAAO,KAAK,SAAS,OAAS,CAAC,EAAE,KAAK,GAAQ,EAAE,KAAKsnH,EAAO,EACzG,OAAIE,EAAQhI,CAAQ,IAClBgI,EAAQhI,CAAQ,EAAE,OAAS,IAEtB,EACf,CAAO,CACP,CACI,IAAIkI,GAA6BH,GACjC,SAASI,GAAgB16H,EAAMgW,EAASwqD,EAAa,CACnD,IAAIm6D,EAAS96F,GAA2B2gC,EAAa,OAAO,EACxDo6D,EAAcD,EAAO,KAAK,SAAS7oE,EAAO,CAC5C,OAAQA,EAAM,KAAK,MAAM,GAAK,IAAI,YAAW,IAAO,UAC5D,CAAO,EACD,OAAO8oE,EAAc,GAAQ,MACnC,CACI,IAAIC,GAA2BH,GAC/B,SAASI,GAA0B96H,EAAMgW,EAASwqD,EAAa,CAC7D,IAAIsT,EAAWtT,EAAY,SAC3B,GAAI,CAACsT,GAAY,CAACA,EAAS,OACzB,MAAO,GAGT,QADIinD,EAAQ,GAAOC,EAAQ,GAAOlqE,EACzBmqE,EAAO,EAAGA,EAAOnnD,EAAS,OAAQmnD,IAAQ,CAKjD,GAJAnqE,EAAYgjB,EAASmnD,CAAI,EAAE,MAAM,SAAS,YAAW,EACjDnqE,IAAc,OAChBiqE,EAAQ,IAENA,GAASjqE,IAAc,KACzB,MAAO,GAELA,IAAc,OAChBkqE,EAAQ,GAElB,CACM,OAAOD,GAASC,CACtB,CACI,IAAIE,GAAsCJ,GAC1C,SAASK,GAAsBn7H,EAAMgW,EAASwqD,EAAa,CACzD,IAAI46D,EAAsB,GACtBC,EAAqB,GACrBC,EAAW,GACXC,EAAW,CAAA,EACXC,EAAe,CAAA,EACfC,EAAW,CAAA,EA2Bf,OA1BAj7D,EAAY,SAAS,QAAQ,SAAS1O,EAAO,CAC3C,IAAI+hB,EAAa/hB,EAAM,WACvB,GAAI+hB,EAAW,WAAa,GAAKA,EAAW,UAAU,KAAI,IAAO,GAAI,CACnEunD,EAAsB,GACtB,MACV,CACQ,GAAI,EAAAvnD,EAAW,WAAa,GAAK,CAAClf,GAA0Bkf,CAAU,GAGtE,CAAAynD,EAAW,GACX,IAAII,EAAO7nD,EAAW,SAAS,YAAW,IAAO,KAC7C/I,EAAOsF,GAAiBte,CAAK,EAC7B6pE,EAAiB7wD,IAAS,WAC1B,CAAC4wD,GAAQ,CAACC,GACZJ,EAAS,KAAK1nD,CAAU,EAEtB6nD,GAAQ,CAACC,IACXH,EAAa,KAAK3nD,CAAU,EACvB4nD,EAAS,SAAS3wD,CAAI,GACzB2wD,EAAS,KAAK3wD,CAAI,GAGlB6wD,IACFN,EAAqB,IAE/B,CAAO,EACGD,GAAuBG,EAAS,QAClC,KAAK,aAAaA,CAAQ,EACnB,IAELD,GAAYD,EACP,IAET,KAAK,aAAaG,CAAY,EAC9B,KAAK,KAAK,CACR,WAAY,eACZ,MAAOC,EAAS,KAAK,IAAI,CACjC,CAAO,EACM,GACb,CACI,IAAIG,GAAkCT,GACtC,SAASU,GAAoB77H,EAAMgW,EAASwqD,EAAa,CACvD,IAAIs7D,EAAgB,CAAE,aAAc,OAAQ,MAAM,EAC9CnsG,EAAO,CACT,SAAU,CAAA,EACV,oBAAqB,IAEnBvS,EAAUojD,EAAY,SAAS,OAAO,SAASklC,EAAQhlG,EAAO,CAChE,IAAImzE,EAAanzE,EAAM,WACvB,OAAImzE,EAAW,SAAS,YAAW,IAAO,OAASzD,GAAiByD,CAAU,IAAM,KAC3E6xB,EAAO,OAAOhlG,EAAM,QAAQ,EAE9BglG,EAAO,OAAOhlG,CAAK,CAClC,EAAS,CAAA,CAAE,EACDqS,EAASqK,EAAQ,OAAO,SAASqkB,EAAK83D,EAAW,CACnD,IAAI1lB,EAAa0lB,EAAU,WACvBwiC,EAAUloD,EAAW,SAAS,YAAW,EAC7C,GAAIA,EAAW,WAAa,GAAKlf,GAA0Bkf,CAAU,EAAG,CACtE,IAAIb,EAAgBhH,GAA0B6H,CAAU,GACpDkoD,IAAY,MAAQA,IAAY,MAAQ/oD,KACrC8oD,EAAc,SAAS9oD,CAAa,GACvCvxC,EAAI,SAAS,KAAKoyC,CAAU,EAG1C,MAAmBA,EAAW,WAAa,GAAKA,EAAW,UAAU,KAAI,IAAO,KACtEpyC,EAAI,oBAAsB,IAE5B,OAAOA,CACf,EAAS9R,CAAI,EACP,OAAI5c,EAAO,SAAS,QAClB,KAAK,aAAaA,EAAO,QAAQ,EAE5B,CAAC,CAACA,EAAO,SAAS,QAAUA,EAAO,mBAChD,CACI,SAASipH,GAAiBh8H,EAAMgW,EAASwqD,EAAa,CACpD,IAAI//D,EAAS+/D,EAAY,OACzB,GAAK//D,EAGL,KAAIw7H,EAAiBx7H,EAAO,MAAM,SAC9B4xE,EAAarG,GAA0BvrE,CAAM,EACjD,MAAI,CAAE,eAAgB,OAAQ,MAAM,EAAG,SAAS4xE,CAAU,EACjD,GAELA,GAAc9G,GAAsB8G,CAAU,GAChD,KAAK,KAAK,CACR,WAAY,cACtB,CAAS,EACM,IAEF,CAAE,KAAM,KAAM,MAAM,EAAG,SAAS4pD,CAAc,EAC3D,CACI,SAASC,GAAwBl8H,EAAM,CACrC,IAAIgW,EAAU,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAA,EAC9EwqD,EAAc,UAAU,OAAS,EAAI,UAAU,CAAC,EAAI,OACpDg0B,EAAe,CAAA,EACf2nC,EAAS,CAAA,EACb,GAAK37D,EAAY,SAIjB,SADI47D,EAAYC,GAAc77D,EAAY,QAAQ,EAC3C47D,EAAU,QAAQ,CACvB,IAAIE,EACAC,EAAmBH,EAAU,QAASI,EAASD,EAAiB,OAAQE,EAASF,EAAiB,OACtG,GAAIvmH,EAAQ,WAAa,CAACymH,GAAUC,GAAWF,CAAM,EAAG,CACtD,GAAI,CAACA,EAAO,SACV,OAEF,IAAIG,EAAiBN,GAAcG,EAAO,SAAU,EAAI,EACxDJ,EAAU,KAAK,MAAMA,EAAWniI,GAAmB0iI,CAAc,CAAC,EAClE,QACV,CACQ,IAAIC,EAAQC,GAAmBL,EAAQC,EAAQzmH,CAAO,EACjD4mH,IAGAT,EAAO,SAASS,CAAK,GACxBT,EAAO,KAAKS,CAAK,GAEdJ,GAAW,OAA8BF,EAAqBE,EAAO,cAAgB,MAAQF,IAAuB,OAAS,OAASA,EAAmB,YAAc,GAC1K9nC,EAAa,KAAKgoC,EAAO,UAAU,EAE7C,CACM,OAAIL,EAAO,SAAW,EACb,IAET,KAAK,KAAK,CACR,OAAQA,EAAO,KAAK,IAAI,CAChC,CAAO,EACD,KAAK,aAAa3nC,CAAY,EACvB,IACb,CACI,SAASqoC,GAAmBL,EAAQC,EAAQK,EAAS,CACnD,IAAIC,EAAqBD,EAAQ,WAAYE,EAAaD,IAAuB,OAAS,CAAA,EAAKA,EAAoBE,EAAwBH,EAAQ,eAAgBI,EAAiBD,IAA0B,OAAS,CAAA,EAAKA,EACxNE,EAAgBX,EAAO,MAAO1rE,EAAYqsE,EAAc,SAAU1oD,EAAW0oD,EAAc,SAAUzoD,EAAYyoD,EAAc,UAC/Hp2G,EAAW01G,EAAS,SAAW,GACnC,GAAIhoD,IAAa,GAAKC,EAAU,KAAI,IAAO,GACzC,OAAO3tD,EAAW,QAEpB,GAAI0tD,IAAa,GAAK,CAAC9f,GAA0B6nE,CAAM,EACrD,MAAO,GAET,IAAI1xD,EAAOkB,GAA0BwwD,CAAM,EAC3C,OAAI1xD,EACKkyD,EAAW,SAASlyD,CAAI,EAAI,GAAQ/jD,EAAW,SAAS,OAAO+jD,EAAM,GAAG,EAExEoyD,EAAe,SAASpsE,CAAS,EAAI,GAAQ/pC,EAAW+pC,CAEvE,CACI,SAAS4rE,GAAW5qE,EAAO,CACzB,OAAOA,EAAM,MAAM,WAAa,OAASka,GAA0Bla,CAAK,IAAM,IACpF,CACI,SAASuqE,GAAc32B,EAAQ,CAC7B,IAAI+2B,EAAS,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,GACjF,OAAO/2B,EAAO,IAAI,SAAS82B,EAAQ,CACjC,MAAO,CACL,OAAQA,EACR,OAAQC,EAElB,CAAO,CACP,CACI,SAASW,GAAep9H,EAAM,CAC5B,IAAIS,EAAS6xD,GAA4BtyD,CAAI,EACzCq9H,EAAgB58H,EAAO,SAAS,YAAW,EAC3C4xE,EAAarG,GAA0BvrE,CAAM,EAMjD,OALI48H,IAAkB,OAAS,CAAE,eAAgB,OAAQ,IAAI,EAAG,SAAShrD,CAAU,IACjF5xE,EAAS6xD,GAA4B7xD,CAAM,EAC3C48H,EAAgB58H,EAAO,SAAS,YAAW,EAC3C4xE,EAAarG,GAA0BvrE,CAAM,GAE3C48H,IAAkB,KACb,GAEL,IAAChrD,GAAc,CAAE,eAAgB,OAAQ,QAAS,SAASA,CAAU,EAI/E,CACI,IAAIirD,GAA0BF,GAC9B,SAASG,GAAwBv9H,EAAMgW,EAAS87C,EAAO,CACrD,IAAI0rE,EAAmBjhG,GAAsBu1B,EAAM,KAAK,MAAM,CAAC,EAC3D2rE,EAAsBlhG,GAAsBu1B,EAAM,KAAK,UAAU,CAAC,EACtE,OAAO0rE,IAAqBC,CAClC,CACI,IAAIC,GAAqCH,GACzC,SAASI,GAAkB39H,EAAMgW,EAASwqD,EAAa,CACrD,IAAIo9D,EAAU,CAAA,EAed,OAdA5nH,EAAQ,WAAW,QAAQ,SAAS6nH,EAAU,CAC5C,IAAIC,EAAUt9D,EAAY,KAAKq9D,CAAQ,EACvC,GAAI,OAAOC,GAAY,SAGvB,KAAIC,EAAcxhG,GAAsBuhG,CAAO,EAC3CE,EAAchoH,EAAQ,MAAQ,CAACA,EAAQ,MAAM,IAAIumB,EAAqB,EAAE,SAASwhG,CAAW,EAAI,CAACz/F,GAAoBy/F,CAAW,GAChIA,IAAgB,IAAMC,GAAeF,IAAY,IAAM,CAACp1D,GAAiBo1D,CAAO,IAClFF,EAAQ,KAAKC,EAAW,KAAOr9D,EAAY,KAAKq9D,CAAQ,EAAI,GAAG,EAEzE,CAAO,EACG,CAACD,EAAQ,QAGTp9D,EAAY,MAAM,WAAa,QAAU,CAACjN,GAAaiN,CAAW,EAC7D,IAET,KAAK,KAAKo9D,CAAO,EACV,GACb,CACI,IAAIK,GAA8BN,GAClC,SAASO,GAASrhI,EAAO,CACvB,OAAQA,GAAS,IAAI,KAAI,IAAO,EACtC,CACI,SAASshI,GAAgBn+H,EAAMgW,EAASwqD,EAAa,CACnD,IAAIzQ,EAAQ,OAAOj5D,EAAa,IAAcynC,GAAiBznC,CAAQ,EAAI,GAC3E,GAAIkf,EAAQ,WAAW,SAAS,UAAU,GAAKA,EAAQ,WAAW,SAAS,MAAM,GAAKkoH,GAAS19D,EAAY,KAAK,UAAU,CAAC,GAAK,CAAC09D,GAAS19D,EAAY,KAAK,MAAM,CAAC,GAAK,CAACzQ,EACtK,YAAK,KAAK,CACR,WAAY,SACtB,CAAS,EACM,GAET,IAAIquE,EAAUpoH,EAAQ,WAAW,KAAK,SAAS3Y,EAAM,CACnD,OAAO6gI,GAAS19D,EAAY,KAAKnjE,CAAI,CAAC,CAC9C,CAAO,EACD,OAAK+gI,EAME,IALL,KAAK,KAAK,CACR,WAAY,QACtB,CAAS,EACM,GAGf,CACI,IAAIC,GAA4BF,GAChC,SAASG,GAAyBt+H,EAAMgW,EAASwqD,EAAa,CAC5D,IAAIsK,EAAOsF,GAAiBpwE,CAAI,EAC5Bu+H,EAAkB52D,GAAuBnH,CAAW,EACxD,OAAA+9D,EAAkBA,EAAkBA,EAAgB,YAAW,EAAK,KACpE,KAAK,KAAK,CACR,KAAMzzD,EACN,eAAgByzD,CACxB,CAAO,EACD,KAAK,aAAa,CAAEv+H,EAAM,EACnB,EACb,CACI,IAAIw+H,GAAsCF,GAC1C,SAASG,GAAsBz7F,EAAS,CACtC,IAAI07F,EAAkB,CAAA,EACtB,OAAO17F,EAAQ,OAAO,SAAS6sF,EAAe,CAC5C,IAAI8O,EAAY,SAAmBC,EAAY,CAC7C,OAAO/O,EAAc,KAAK,OAAS+O,EAAW,KAAK,MAAQ/O,EAAc,KAAK,iBAAmB+O,EAAW,KAAK,cAC3H,EACYC,EAAgBH,EAAgB,KAAKC,CAAS,EAClD,OAAIE,GACFA,EAAc,OAAS,GACvBA,EAAc,aAAa,KAAKhP,EAAc,aAAa,CAAC,CAAC,EACtD,KAET6O,EAAgB,KAAK7O,CAAa,EAClCA,EAAc,aAAe,CAAA,EACtB,GACf,CAAO,CACP,CACI,IAAIiP,GAAmCL,GACvC,SAASM,GAAkB/+H,EAAMgW,EAASwqD,EAAa,CACrD,IAAIw+D,EAAa32D,GAAuB7H,CAAW,EAC/C88C,EAAQ10C,GAAmBpI,CAAW,EACtCy+D,EAAkBz+D,EAAY,KAAK,kBAAkB,EACzD,MAAO,CAACw+D,GAAc,CAAC,EAAE1hB,GAAS2hB,EACxC,CACI,IAAIC,GAA8BH,GAClC,SAASI,GAAsBn/H,EAAM,CACnC,IAAIqD,EAAK24B,GAAwBh8B,EAAK,aAAa,IAAI,CAAC,EACpDS,EAAST,EAAK,WACdu1D,EAAO1C,GAAuB7yD,CAAI,EACtCu1D,EAAOA,EAAK,iBAAmBA,EAC/B,IAAI2iB,EAAS,MAAM,KAAK3iB,EAAK,iBAAiB,cAAc,OAAOlyD,EAAI,IAAI,CAAC,CAAC,EAM7E,IALI60E,EAAO,SACTA,EAASA,EAAO,OAAO,SAASC,EAAQ,CACtC,MAAO,CAACtkB,GAAqBskB,CAAM,CAC7C,CAAS,GAEI13E,GACDA,EAAO,SAAS,gBAAkB,SAAWy3E,EAAO,QAAQz3E,CAAM,IAAM,IAC1Ey3E,EAAO,KAAKz3E,CAAM,EAEpBA,EAASA,EAAO,WAGlB,GADA,KAAK,aAAay3E,CAAM,EACpBA,EAAO,OAAS,EAAG,CACrB,IAAIknD,EAAkBlnD,EAAO,OAAO,SAASC,EAAQ,CACnD,OAAOxjB,GAA0BwjB,CAAM,CACjD,CAAS,EACD,GAAIinD,EAAgB,OAAS,EAC3B,OAEF,IAAIC,EAAa7rE,GAAexzD,EAAM,iBAAiB,EACvD,OAAQq/H,EAAW,SAASD,EAAgB,CAAC,CAAC,EAAa,GAAT,MAC1D,CACM,MAAO,EACb,CACI,IAAIE,GAAkCH,GACtC,SAASI,GAAkBC,EAASnlD,EAAa,CAC/C,IAAIolD,EAAqBC,GAAarlD,CAAW,EAC7CslD,EAAiBD,GAAaF,CAAO,EACzC,MAAI,CAACC,GAAsB,CAACE,EACnB,GAEFF,EAAmB,SAASE,CAAc,CACvD,CACI,SAASD,GAAa33H,EAAK,CACzB,IAAI8zE,EAAepT,GAAuB1gE,EAAK,CAC7C,MAAO,GACP,OAAQ,GACR,aAAc,EACtB,CAAO,EACD,OAAO2gE,GAAiBmT,CAAY,CAC1C,CACI,SAAS+jD,GAAiC5/H,EAAMgW,EAASwqD,EAAa,CACpE,IAAIq/D,EACAzkD,EAAmEplE,GAAQ,eAC3EwjE,GAAuBqmD,EAA0E7pH,GAAQ,uBAAyB,MAAQ6pH,IAA0B,OAASA,EAA0E7pH,GAAQ,mBAC/P84G,EAAUpnD,GAAwB1nE,CAAI,EAAE,YAAW,EACnD8/H,EAAcp3D,GAAiBC,GAAqBnI,EAAa,CACnE,kBAAmB,GACnB,mBAAoB,GACpB,eAAgB4a,EAChB,oBAAqB5B,CAC7B,CAAO,CAAC,EAAE,YAAW,EACf,GAAI,CAACsmD,EACH,MAAO,GAET,GAAI,EAAA93D,GAA+B8mD,CAAO,EAAI,GAAK9mD,GAA+B83D,CAAW,EAAI,GAGjG,OAAOP,GAAkBO,EAAahR,CAAO,CACnD,CACI,IAAIiR,GAA+CH,GACnD,SAASI,GAAiBhgI,EAAMgW,EAASwqD,EAAa,CACpD,GAAI,CACF,IAAI2X,EAASz8C,GAAgB8kC,EAAa,OAAO,EACjD,GAAI2X,EAAQ,CACV,IAAIF,EAAgBvP,GAAiBf,GAAuBwQ,EAAQ,CAClE,iBAAkB,GAClB,UAAW3X,CACvB,CAAW,CAAC,EACF,OAAI2X,EAAO,YACT,KAAK,aAAa,CAAEA,EAAO,UAAU,CAAE,EAEzC,KAAK,KAAK,CACR,cAAeF,CAC3B,CAAW,EACM,CAAC,CAACA,CACnB,CACQ,MAAO,EACf,MAAyB,CACjB,MACR,CACA,CACI,IAAIgoD,GAA4BD,GAChC,SAASE,GAA4BlgI,EAAMgW,EAASwqD,EAAa,CAC/D,GAAIA,EAAY,QAAQ,IAAI,EAAG,CAC7B,GAAI,CAACA,EAAY,WACf,OAEF,IAAIjL,EAAO1C,GAAuB7yD,CAAI,EAClCmgI,EAAOnkG,GAAwBh8B,EAAK,aAAa,IAAI,CAAC,EACtDm4E,EAAS5iB,EAAK,cAAc,cAAc,OAAO4qE,EAAM,IAAI,CAAC,EAChE,GAAIhoD,GAAU,CAACxjB,GAA0BwjB,CAAM,EAAG,CAChD,IAAI96E,EACJ,GAAI,CACFA,EAAOsqE,GAAuBnH,CAAW,EAAE,KAAI,CAC3D,MAA6B,CACjB,MACZ,CACU,IAAI4/D,EAAc/iI,IAAS,GAC3B,OAAO+iI,CACjB,CACA,CACM,MAAO,EACb,CACI,IAAIC,GAAyCH,GAC7C,SAASI,GAAwBtgI,EAAMgW,EAASwqD,EAAa,CAC3D,IAAIw+D,EAAa32D,GAAuB7H,CAAW,EAC/C30D,EAAQ7L,EAAK,aAAa,OAAO,EACrC,GAAI,CAACg/H,EACH,MAAO,GAET,GAAI,CAACnzH,IACHA,EAAQ,GACJ7L,EAAK,aAAa,kBAAkB,GAAG,CACzC,IAAIusC,EAAMinB,GAAexzD,EAAM,kBAAkB,EACjD6L,EAAQ0gC,EAAI,IAAI,SAAS9I,EAAO,CAC9B,OAAOA,EAAQikC,GAAwBjkC,CAAK,EAAI,EAC5D,CAAW,EAAE,KAAK,EAAE,CACpB,CAEM,OAAOilC,GAAiB78D,CAAK,IAAM68D,GAAiBs2D,CAAU,CACpE,CACI,IAAIuB,GAAsCD,GAC1C,SAASE,GAAiBxgI,EAAMgW,EAASwqD,EAAa,CACpD,IAAIigE,EAAS,KACb,GAAI,CAACjgE,EAAY,KAAK,IAAI,EACxB,MAAO,GAET,GAAKA,EAAY,WAGjB,KAAIjL,EAAO1C,GAAuB2N,EAAY,UAAU,EACpDn9D,EAAK24B,GAAwBwkC,EAAY,KAAK,IAAI,CAAC,EACnD0X,EAAS,MAAM,KAAK3iB,EAAK,iBAAiB,cAAc,OAAOlyD,EAAI,IAAI,CAAC,CAAC,EAE7E,GADA,KAAK,aAAa60E,CAAM,EACpB,CAACA,EAAO,OACV,MAAO,GAET,GAAI,CACF,OAAOA,EAAO,KAAK,SAASC,EAAQ,CAClC,GAAKzjB,GAAmByjB,CAAM,EAEvB,CACL,IAAIuoD,EAAgBh4D,GAAiBhB,GAAwByQ,EAAQ,CACnE,iBAAkB,GAClB,UAAW3X,CACzB,CAAa,CAAC,EACF,OAAAigE,EAAO,KAAK,CACV,cAAeC,CAC7B,CAAa,EACM,CAAC,CAACA,CACrB,KAVY,OAAO,EAWnB,CAAS,CACT,MAA0B,CAClB,MACR,EACA,CACI,IAAIC,GAA4BH,GAChC,SAASI,GAA0B5gI,EAAMgW,EAASwqD,EAAa,CAC7D,GAAI,CAAE,OAAQ,cAAc,EAAG,SAAS4P,GAAiB5P,CAAW,CAAC,EACnE,MAAO,GAET,IAAInC,EAAc3iC,GAAgB8kC,EAAaxqD,EAAQ,cAAc,EACrE,GAAI,CAACqoD,EACH,MAAO,GAET,IAAIyhE,EAAc92D,GAAwB3K,EAAa,EAAI,EAAE,YAAW,EACxE,OAAIyhE,IAAgB,GACX,GAEFA,IAAgBn4D,GAAuBnH,CAAW,EAAE,YAAW,CAC5E,CACI,IAAIqgE,GAAuCD,GAC3C,SAASE,GAAsB9gI,EAAMgW,EAASwqD,EAAa,CACzD,IAAIugE,EAAMvgE,EAAY,KAAK,KAAK,EAC5BwgE,EAAc,QAClB,OAAO,OAAOD,GAAQ,UAAYC,EAAY,KAAKD,CAAG,CAC5D,CACI,IAAIE,GAAmCH,GACvC,SAASI,GAAiBlhI,EAAMgW,EAASwqD,EAAa,CACpD,IAAI+F,EAAWlnC,GAAuBmhC,EAAY,KAAK,UAAU,CAAC,EAClE,OAAO+F,IAAa,MAAQA,GAAY,CAC9C,CACI,IAAI46D,GAA4BD,GAChC,SAASE,GAA2BphI,EAAMgW,EAASwqD,EAAa,CAC9D,GAAKA,EAAY,SAGjB,GAAI,CACF,IAAI6gE,EAAwBC,GAAwB9gE,CAAW,EAC/D,GAAI,CAAC6gE,EAAsB,OACzB,MAAO,GAET,IAAIE,EAAoBF,EAAsB,OAAOG,EAA4B,EACjF,OAAID,EAAkB,OAAS,GAC7B,KAAK,KAAK,CACR,WAAY,WACxB,CAAW,EACD,KAAK,aAAaA,CAAiB,GAEnC,KAAK,aAAaF,CAAqB,EAElC,EACf,MAA0B,CAClB,MACR,CACA,CACI,SAASC,GAAwBxvE,EAAO,CACtC,GAAI,CAACA,EAAM,SAAU,CACnB,GAAIA,EAAM,MAAM,WAAa,EAC3B,MAAM,IAAI,MAAM,2BAA2B,EAE7C,MAAO,CAAA,CACf,CACM,IAAIzC,EAAS,CAAA,EACb,OAAAyC,EAAM,SAAS,QAAQ,SAASpxD,EAAO,CACjCg/E,GAAsBh/E,CAAK,IAAM,UAAYizD,GAAajzD,CAAK,EACjE2uD,EAAO,KAAK3uD,CAAK,EAEjB2uD,EAAO,KAAK,MAAMA,EAAQp1D,GAAmBqnI,GAAwB5gI,CAAK,CAAC,CAAC,CAEtF,CAAO,EACM2uD,CACb,CACI,SAASmyE,GAA6B1vE,EAAO,CAC3C,IAAIyU,EAAWlnC,GAAuByyB,EAAM,KAAK,UAAU,CAAC,EAC5D,OAAOyU,IAAa,MAAQA,EAAW,CAC7C,CACI,SAASk7D,GAA2BzhI,EAAM,CACxC,IAAI0hI,EAAY9qB,GAA+B,UAAU,EACrDn2G,EAAS6xD,GAA4BtyD,CAAI,EACzC2hI,EAAWvxD,GAAiBpwE,CAAI,EAIpC,IAHA,KAAK,KAAK,CACR,KAAM2hI,CACd,CAAO,EACMlhI,GAAQ,CACb,IAAIqqE,EAAOkB,GAA0BvrE,CAAM,EAI3C,GAHI,CAACqqE,GAAQrqE,EAAO,SAAS,YAAW,IAAO,SAC7CqqE,EAAO+E,GAAsBpvE,CAAM,GAEjCqqE,GAAQ42D,EAAU,SAAS52D,CAAI,GAAK,EAAEA,IAAS,QAAU62D,IAAa,iBACxE,MAAO,GAETlhI,EAAS6xD,GAA4B7xD,CAAM,CACnD,CACM,MAAO,EACb,CACI,IAAImhI,GAAyCH,GAC7C,SAASI,GAA8B7hI,EAAMgW,EAASwqD,EAAa,CACjE,GAAKA,EAAY,SAGjB,GAAI,CACF,MAAO,CAACA,EAAY,SAAS,KAAK,SAAS9/D,EAAO,CAChD,OAAOohI,GAAqBphI,CAAK,CAC3C,CAAS,CACT,MAA0B,CAClB,MACR,CACA,CACI,SAASohI,GAAqBhwE,EAAO,CACnC,GAAIiC,GAAcjC,CAAK,EACrB,MAAO,GAET,GAAI,CAACA,EAAM,SAAU,CACnB,GAAIA,EAAM,MAAM,WAAa,EAC3B,MAAM,IAAI,MAAM,2BAA2B,EAE7C,MAAO,EACf,CACM,OAAOA,EAAM,SAAS,KAAK,SAASpxD,EAAO,CACzC,OAAOohI,GAAqBphI,CAAK,CACzC,CAAO,CACP,CACI,SAASqhI,GAA6B/hI,EAAMgW,EAASwqD,EAAa,CAChE,IAAIwhE,EAA4B,CAAE,SAAU,WAAY,QAAS,SAAU,UAAU,EACjF37D,EAAmB7F,EAAY,iBACnC,GAAI,CAAC6F,GAAoB,CAACA,EAAiB,OACzC,MAAO,GAET,IAAImuB,EAAenuB,EAAiB,OAAO,SAASvU,EAAO,CACzD,MAAO,CAACkwE,EAA0B,SAASlwE,EAAM,MAAM,QAAQ,CACvE,CAAO,EAID,OAHA,KAAK,aAAa0iC,EAAa,IAAI,SAAS1iC,EAAO,CACjD,OAAOA,EAAM,UACrB,CAAO,CAAC,EACE0iC,EAAa,SAAW,GAAKtgC,GAAqB,EAC7C,GAEFsgC,EAAa,MAAM,SAAS1iC,EAAO,CACxC,IAAImwE,EAAgBnwE,EAAM,8BAA8B,gBAAgB,EACpEqJ,EAAQ,SAASrJ,EAAM,8BAA8B,OAAO,CAAC,EAC7DsJ,EAAS,SAAStJ,EAAM,8BAA8B,QAAQ,CAAC,EACnE,OAAOA,EAAM,WAAW,UAAYqJ,IAAU,GAAKC,IAAW,IAAM6mE,IAAkB,MAC9F,CAAO,EAAI,OAAS,EACpB,CACI,IAAIC,GAA0CH,GAC9C,SAASI,GAAwBniI,EAAMgW,EAASwqD,EAAa,CAC3D,GAAI,CAACzM,GAAcyM,CAAW,EAC5B,MAAO,GAET,GAAI,CACF,MAAO,CAACmH,GAAuBnH,CAAW,CAClD,MAA0B,CAClB,MACR,CACA,CACI,IAAI4hE,GAAqCD,GACzC,SAASE,GAA2BriI,EAAMgW,EAASwqD,EAAa,CAC9D,IAAI6F,EAAmB7F,EAAY,iBAAiB,IAAI,SAAS8hE,EAAS,CACxE,IAAIzuD,EAAayuD,EAAQ,WACzB,OAAOzuD,CACf,CAAO,EACD,GAAI,CAACxN,GAAoB,CAACA,EAAiB,OACzC,MAAO,GAET,GAAInS,GAAqB,EAAI,CAC3B,KAAK,aAAamS,CAAgB,EAClC,MACR,CACM,MAAO,EACb,CACI,IAAIk8D,GAAwCF,GAC5C,SAASG,GAAyBxiI,EAAMgW,EAASwqD,EAAa,CAC5D,GAAIA,EAAY,QAAQ,iBAAiB,GAAKiiE,EAAkBjiE,CAAW,EACzE,MAAO,GAET,OAAOzM,GAAcyM,CAAW,EAChC,SAASiiE,EAAkB3wE,EAAO,CAChC,IAAI4wE,EAAkB5wE,EAAM,KAAK,iBAAiB,EAClD,GAAI4wE,IAAoB,QAAUA,IAAoB,GACpD,MAAO,GAET,GAAIA,IAAoB,QACtB,MAAO,GAET,IAAIxqE,EAAWx8B,GAAgB8kC,EAAY,OAAQ,mBAAmB,EACtE,OAAKtI,EAGEuqE,EAAkBvqE,CAAQ,EAFxB,EAGjB,CACA,CACI,IAAIyqE,GAAqCH,GACzC,SAASI,GAA0B5iI,EAAMgW,EAASwqD,EAAa,CAC7D,IAAIwhE,EAA4B,CAAE,SAAU,WAAY,QAAS,SAAU,UAAU,EACjF37D,EAAmB7F,EAAY,iBACnC,GAAI,CAAC6F,GAAoB,CAACA,EAAiB,OACzC,MAAO,GAET,IAAImuB,EAAenuB,EAAiB,OAAO,SAASvU,EAAO,CACzD,OAAOkwE,EAA0B,SAASlwE,EAAM,MAAM,QAAQ,CACtE,CAAO,EAID,OAHA,KAAK,aAAa0iC,EAAa,IAAI,SAAS1iC,EAAO,CACjD,OAAOA,EAAM,UACrB,CAAO,CAAC,EACE0iC,EAAa,SAAW,GAAKtgC,GAAqB,EAC7C,GAEFsgC,EAAa,MAAM,SAAS1iC,EAAO,CACxC,IAAImwE,EAAgBnwE,EAAM,8BAA8B,gBAAgB,EACpEqJ,EAAQ,SAASrJ,EAAM,8BAA8B,OAAO,CAAC,EAC7DsJ,EAAS,SAAStJ,EAAM,8BAA8B,QAAQ,CAAC,EACnE,OAAOA,EAAM,WAAW,UAAYqJ,IAAU,GAAKC,IAAW,IAAM6mE,IAAkB,MAC9F,CAAO,EAAI,OAAS,EACpB,CACI,IAAIY,GAAsCD,GAC1C,SAASE,GAAyB9iI,EAAMgW,EAASwqD,EAAa,CAC5D,IAAI6F,EAAmB7F,EAAY,iBACnC,GAAI,CAAC6F,EACH,MAAO,GAET,IAAI08D,EAA0B18D,EAAiB,OAAO,SAASxtD,EAAI,CACjE,OAAOA,IAAO2nD,CACtB,CAAO,EACD,OAAOuiE,EAAwB,OAAS,CAC9C,CACI,IAAIC,GAAqCF,GACzC,SAASG,GAAmBjjI,EAAMgW,EAAS87C,EAAO,CAChD,OAAK+B,GAAqB/B,CAAK,IAC7B,KAAK,KAAKA,EAAM,KAAK,WAAW,CAAC,EACjC,KAAK,aAAa,CAAE9xD,EAAM,GAErB,EACb,CACI,IAAIkjI,GAA8BD,GAClC,SAASE,GAAgBngG,EAAS,CAChC,IAAI8nD,EAAO,CAAA,EACX,OAAO9nD,EAAQ,OAAO,SAAS,EAAG,CAChC,GAAI,CAAC,EAAE,KACL,MAAO,GAET,IAAIpmC,EAAM,EAAE,KAAK,YAAW,EAC5B,OAAKkuF,EAAKluF,CAAG,GAKbkuF,EAAKluF,CAAG,EAAE,aAAa,KAAK,EAAE,aAAa,CAAC,CAAC,EACtC,KALLkuF,EAAKluF,CAAG,EAAI,EACZ,EAAE,aAAe,CAAA,EACV,GAIjB,CAAO,EAAE,IAAI,SAAS,EAAG,CACjB,SAAE,OAAS,CAAC,CAAC,EAAE,aAAa,OACrB,CACf,CAAO,CACP,CACI,IAAIwmI,GAA2BD,GAC/B,SAASE,GAAwBrjI,EAAMgW,EAASwqD,EAAa,CAC3D,GAAI,CAACxqD,GAAW,CAACA,EAAQ,UAAY,OAAOA,EAAQ,UAAa,SAC/D,MAAM,IAAI,UAAU,4DAA4D,EAElF,IAAIpZ,EAAM,qBAAuBoZ,EAAQ,SACzC,GAAI47C,GAAc,IAAIh1D,CAAG,EAAG,CAC1B,KAAK,KAAK,SAAS,EACnB,MACR,CACMg1D,GAAc,IAAIh1D,EAAK,EAAI,EAC3B,IAAIkwG,EAAOhtE,GAAkC/oC,EAAI,MAAM,CAAC,EAAGif,EAAQ,SAAU,SAASg4C,EAAK,CACzF,OAAO2G,GAA0B3G,CAAG,CAC5C,CAAO,EACD,OAAI,OAAOh4C,EAAQ,mBAAsB,WACvC82F,EAAOA,EAAK,OAAO,SAAS9+C,EAAK,CAC/B,OAAOA,EAAI,WAAW,aAAa,MAAM,GAAK,CAACoE,GAAwBpE,EAAKh4C,EAAQ,iBAAiB,CAC/G,CAAS,GAEC,OAAOA,EAAQ,MAAS,WAC1B82F,EAAOA,EAAK,OAAO,SAAS9+C,EAAK,CAC/B,OAAOoiB,GAAiBpiB,CAAG,IAAMh4C,EAAQ,IACnD,CAAS,GAEH,KAAK,aAAa82F,EAAK,OAAO,SAAS9+C,EAAK,CAC1C,OAAOA,IAAQwS,CACvB,CAAO,EAAE,IAAI,SAASxS,EAAK,CACnB,OAAOA,EAAI,UACnB,CAAO,CAAC,EACK8+C,EAAK,QAAU,CAC5B,CACI,IAAIw2B,GAAqCD,GACzC,SAASE,GAAqBvgG,EAAS,CACrC,OAAOA,EAAQ,OAAO,SAASd,EAAa,CAC1C,OAAOA,EAAY,OAAS,SACpC,CAAO,CACP,CACI,IAAIshG,GAAkCD,GACtC,SAASE,GAA0Bj/H,EAAGwR,EAASwqD,EAAa,CAC1D,OAAOsQ,GAAiBtQ,EAAaxqD,EAAQ,OAAO,CAC1D,CACI,IAAI0tH,GAAsCD,GAC1C,SAASE,GAAuB3jI,EAAMgW,EAASwqD,EAAa,CAC1D,GAAI,CACF,OAAOkI,GAAiBC,GAAqBnI,CAAW,CAAC,IAAM,EACvE,MAA0B,CAClB,MACR,CACA,CACI,SAASojE,GAAc5jI,EAAMgW,EAASwqD,EAAa,CACjD,GAAI,CAACxqD,GAAW,CAACA,EAAQ,UAAY,OAAOA,EAAQ,UAAa,SAC/D,MAAM,IAAI,UAAU,yDAAyD,EAE/E,GAAIA,EAAQ,cAAgBk+C,KAC1B,MAAO,GAET,IAAI2vE,EAAe/jG,GAAkC0gC,EAAaxqD,EAAQ,SAAU,SAAS87C,EAAO,CAClG,OAAO6C,GAA0B7C,CAAK,CAC9C,CAAO,EACD,YAAK,aAAa+xE,EAAa,IAAI,SAAS/xE,EAAO,CACjD,OAAOA,EAAM,UACrB,CAAO,CAAC,EACK+xE,EAAa,OAAS,CACnC,CACI,IAAIC,GAAkCF,GACtC,SAASG,GAAgB/gG,EAAS,CAChC,IAAIghG,EAAkBhhG,EAAQ,KAAK,SAAS4yD,EAAa,CACvD,OAAOA,EAAY,SAAW,EACtC,CAAO,EACD,OAAIouC,GACFhhG,EAAQ,QAAQ,SAASjwB,EAAQ,CAC/BA,EAAO,OAAS,EAC1B,CAAS,EAEIiwB,CACb,CACI,IAAIihG,GAA+BF,GACnC,SAASG,GAA4BlkI,EAAM,CACzC,IAAIgW,EAAU,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAA,EAC9E87C,EAAQ,UAAU,OAAS,EAAI,UAAU,CAAC,EAAI,OAClD,GAAI,CAAC97C,EAAQ,WAAa,OAAOA,EAAQ,WAAc,SACrD,MAAM,IAAI,UAAU,kEAAkE,EAExF,GAAI,CAAC87C,EAAM,QAAQ97C,EAAQ,SAAS,EAClC,YAAK,KAAK,CACR,WAAY,QACtB,CAAS,EACM,GAET,IAAIwwE,EAAY10B,EAAM,KAAK97C,EAAQ,SAAS,EACxCmuH,EAAmB,CAACz7D,GAAiB8d,CAAS,EAClD,OAAI29C,GACF,KAAK,KAAK,CACR,WAAY,WACtB,CAAS,EACM,IAEF,EACb,CACI,IAAIC,GAA0CF,GAC9C,SAASG,GAA0BC,EAAOtuH,EAASwqD,EAAa,CAC9D,IAAI+jE,EAAgB/jE,EAAY,KAAK,cAAc,GAAK,GACxD,OAAO0H,GAA8Bq8D,EAAevuH,CAAO,CACjE,CACI,IAAIwuH,GAAsCH,GAC1C,SAASI,GAAgCzkI,EAAMgW,EAASwqD,EAAa,CACnE,GAAIA,EAAY,MAAM,WAAa,QACjC,MAAO,GAET,IAAIxoD,EAAS,CAAE,OAAQ,SAAU,SAAU,KAAK,EAC5CksB,EAAM,CAAE,OAAQ,SAAU,KAAK,EAC/BwgG,EAAkB,CACpB,KAAM,CAAE,OAAQ,SAAU,MAAM,EAChC,MAAO,CAAE,OAAQ,SAAU,OAAO,EAClC,SAAU,CAAE,OAAQ,SAAU,OAAO,EACrC,iBAAkB,CAAE,MAAM,EAC1B,IAAK,CAAE,OAAQ,SAAU,KAAK,EAC9B,mBAAoB,CAAE,OAAQ,SAAU,KAAK,EAC7C,eAAgB,CAAE,OAAQ,SAAU,KAAK,EACzC,gBAAiB,CAAE,OAAQ,SAAU,KAAK,EAC1C,YAAa,CAAE,OAAQ,SAAU,KAAK,EACtC,mBAAoB,CAAE,OAAQ,SAAU,KAAK,EAC7C,mBAAoB,CAAE,OAAQ,SAAU,KAAK,EAC7C,gBAAiB,CAAE,OAAQ,SAAU,KAAK,EAC1C,YAAa1sH,EACb,SAAU,CAAE,OAAQ,SAAU,QAAS,KAAK,EAC5C,eAAgBA,EAChB,cAAeA,EACf,SAAUA,EACV,qBAAsBA,EACtB,WAAYA,EACZ,aAAcA,EACd,YAAaA,EACb,eAAgB,CAAE,OAAQ,SAAU,UAAU,EAC9C,mBAAoB,CAAE,OAAQ,SAAU,UAAU,EAClD,IAAKksB,EACL,MAAOA,EACP,KAAMA,GAEJltC,EAAQgf,CAAO,IAAM,UACvB,OAAO,KAAKA,CAAO,EAAE,QAAQ,SAASpZ,EAAK,CACpC8nI,EAAgB9nI,CAAG,IACtB8nI,EAAgB9nI,CAAG,EAAI,CAAA,GAEzB8nI,EAAgB9nI,CAAG,EAAI8nI,EAAgB9nI,CAAG,EAAE,OAAOoZ,EAAQpZ,CAAG,CAAC,CACzE,CAAS,EAEH,IAAI+nI,EAAmBnkE,EAAY,KAAK,cAAc,EAClDuc,EAAoB4nD,EAAiB,MAAM,MAAM,EAAE,IAAI,SAASC,EAAM,CACxE,OAAOA,EAAK,YAAW,CAC/B,CAAO,EACG5nD,EAAcD,EAAkBA,EAAkB,OAAS,CAAC,EAChE,GAAInV,GAAc,WAAW,SAASoV,CAAW,EAC/C,MAAO,GAET,IAAI6nD,EAAeH,EAAgB1nD,CAAW,EAC1C5+E,EAAQoiE,EAAY,QAAQ,MAAM,EAAIkI,GAAiBlI,EAAY,KAAK,MAAM,CAAC,EAAE,YAAW,EAAK,OAErG,OADApiE,EAAQyiC,GAAwB,EAAG,SAASziC,CAAK,EAAIA,EAAQ,OACzD,OAAOymI,EAAiB,IACnBzmI,IAAU,OAEZymI,EAAa,SAASzmI,CAAK,CACxC,CACI,IAAI0mI,GAA4CL,GAC5CM,GAAa,CAAE,QAAS,YAAa,QAAS,OAAQ,OAAQ,cAAc,EAChF,SAASC,GAA6BhlI,EAAM,CAC1C,GAAIilI,GAASjlI,CAAI,EACf,MAAO,GAGT,QADI+/E,EAAcztB,GAA4BtyD,CAAI,EAC3C+/E,GAAeA,EAAY,WAAa,GAAK,CAACklD,GAASllD,CAAW,GACvEA,EAAcztB,GAA4BytB,CAAW,EAEvD,GAAKA,EAIL,IADA,KAAK,aAAa,CAAEA,EAAa,EAC7ByiC,GAA4BxiH,EAAM+/E,CAAW,EAC/C,MAAO,GAET,GAAImlD,GAAiBllI,CAAI,EAAG,CAC1B,KAAK,KAAK,CACR,WAAY,eACtB,CAAS,EACD,MACR,CACM,MAAO,GACb,CACI,SAASilI,GAASj3E,EAAK,CACrB,IAAI+R,EAAWnpE,EAAO,iBAAiBo3D,CAAG,EAAE,iBAAiB,SAAS,EACtE,OAAO+2E,GAAW,QAAQhlE,CAAQ,IAAM,IAAMA,EAAS,OAAO,EAAG,CAAC,IAAM,QAC9E,CACI,SAASmlE,GAAiBllI,EAAM,CAC9B,QAASmlI,EAAO,EAAGC,EAAQ,CAAE,SAAU,OAAO,EAAID,EAAOC,EAAM,OAAQD,IAAQ,CAC7E,IAAI19G,EAAS29G,EAAMD,CAAI,EACnBvrD,EAAQhjF,EAAO,iBAAiBoJ,EAAM,IAAI,OAAOynB,CAAM,CAAC,EACxDrK,EAAUw8D,EAAM,iBAAiB,SAAS,EAC9C,GAAIx8D,IAAY,OACd,MAAO,EAEjB,CACM,MAAO,EACb,CACI,SAASioH,GAAa7rF,EAAQC,EAAQ,CACpC,IAAI6rF,EAAQ9rF,EAAO,qBAAoB,EACnC+rF,EAAQ9rF,EAAO,qBAAoB,EACvC,OAAQ,KAAK,IAAI6rF,EAAOC,CAAK,EAAI,MAAQ,KAAK,IAAID,EAAOC,CAAK,EAAI,IACxE,CACI,IAAIC,GAAa,CAAE,QAAS,YAAa,QAAS,OAAQ,OAAQ,cAAc,EAChF,SAASC,GAASz3E,EAAK,CACrB,IAAI+R,EAAWnpE,EAAO,iBAAiBo3D,CAAG,EAAE,iBAAiB,SAAS,EACtE,OAAOw3E,GAAW,QAAQzlE,CAAQ,IAAM,IAAMA,EAAS,OAAO,EAAG,CAAC,IAAM,QAC9E,CACI,SAAS2lE,GAAwB1lI,EAAMgW,EAAS,CAC9C,IAAI2vH,EAAwB3vH,EAAQ,sBAAuB4vH,EAAiB5vH,EAAQ,eACpF,GAAIyvH,GAASzlI,CAAI,EACf,MAAO,GAGT,QADI+/E,EAAcztB,GAA4BtyD,CAAI,EAC3C+/E,GAAeA,EAAY,WAAa,GAAK,CAAC0lD,GAAS1lD,CAAW,GACvEA,EAAcztB,GAA4BytB,CAAW,EAEvD,GAAKA,EAGL,MAAK,aAAa,CAAEA,EAAa,EACjC,IAAI8lD,EAAY9iB,GAAoB/iH,CAAI,EACpC8lI,EAAc/iB,GAAoBhjC,CAAW,EAC7CgmD,EAAsBnjB,GAAqB5iH,CAAI,EAC/CgmI,EAAwBpjB,GAAqB7iC,CAAW,EACxDkmD,EAAeJ,GAAaC,EAAcT,GAAaQ,EAAWC,CAAW,EAAI,OAIrF,GAHIG,IACFA,EAAe,KAAK,MAAMA,EAAe,GAAG,EAAI,KAE9CA,GAAgBA,GAAgBN,EAClC,MAAO,GAET,IAAIO,EAAqBH,GAAuBC,EAAwBX,GAAaU,EAAqBC,CAAqB,EAAI,OAInI,GAHIE,IACFA,EAAqB,KAAK,MAAMA,EAAqB,GAAG,EAAI,KAE1DA,GAAsBA,GAAsBP,EAC9C,MAAO,GAET,GAAI,CAACO,EAAoB,CACvB,IAAIC,EACA9jI,GAAU8jI,EAAwB3kD,GAAwB,IAAI,SAAS,KAAO,MAAQ2kD,IAA0B,OAASA,EAAwB,aACrJ,KAAK,KAAK,CACR,WAAY9jI,CACtB,CAAS,EACDm/E,GAAwB,MAAK,EAC7B,MACR,CACM,GAAKykD,EAGL,OAAIL,GAAkBK,IAAiB,GAAKC,IAAuB,EAC1D,GAELD,IAAiB,GAAKC,EAAqB,GAC7C,KAAK,KAAK,CACR,WAAY,aACZ,cAAeA,EACf,sBAAuBP,EACvB,oBAAqBI,EAAsBA,EAAoB,YAAW,EAAK,OAC/E,sBAAuBC,EAAwBA,EAAsB,cAAgB,MAC/F,CAAS,EACM,KAET,KAAK,KAAK,CACR,WAAY,aACZ,cAAeC,EACf,sBAAuBN,EACvB,UAAWE,EAAYA,EAAU,YAAW,EAAK,OACjD,YAAaC,EAAcA,EAAY,cAAgB,MAC/D,CAAO,EACM,IACb,CACI,IAAIM,GAAsCV,GAC1C,SAASW,GAAsBrmI,EAAMgW,EAASwqD,EAAa,CACzD,IAAI8lE,EAAgBtwH,EAAQ,cAAeuwH,EAAevwH,EAAQ,aAAcwwH,EAAexwH,EAAQ,aAAcywH,EAAYzwH,EAAQ,UAAW0wH,EAAa1wH,EAAQ,WAAY2wH,EAAc3wH,EAAQ,YAAa4wH,EAAgB5wH,EAAQ,cAAeq1G,EAAqBr1G,EAAQ,mBAAoB6wH,EAAsB7wH,EAAQ,oBAC9U,GAAI,CAAC0+C,GAAmB10D,CAAI,EAC1B,YAAK,KAAK,CACR,WAAY,QACtB,CAAS,EACM,GAET,IAAI8/H,EAAc92D,GAAwBxI,EAAa,GAAO,EAAI,EAClE,GAAI8lE,GAAiBQ,GAAahH,CAAW,EAAG,CAC9C,KAAK,KAAK,CACR,WAAY,QACtB,CAAS,EACD,MACR,CACM,IAAInc,EAAY/sH,EAAO,iBAAiBoJ,CAAI,EACxC+5E,EAAW,WAAW4pC,EAAU,iBAAiB,WAAW,CAAC,EAC7DojB,EAAapjB,EAAU,iBAAiB,aAAa,EACrDqjB,EAAO,WAAWD,CAAU,GAAKN,GAAaM,IAAe,OAC7DE,EAAS,KAAK,KAAKltD,EAAW,EAAE,EAAI,GACpCu0C,EAAc0Y,GAAQC,EAASP,GAAc,CAACM,GAAQC,EAASN,EAC/DO,EAAU5Y,EAAcsY,EAAc,OAASA,EAAc,MAAOO,EAAWD,EAAQ,SAAUE,EAAeF,EAAQ,aAAcG,EAAeH,EAAQ,aAC7JI,EAAYC,GAAkB/mE,EAAa,CAC7C,aAAcgmE,EACd,oBAAqBK,CAC7B,CAAO,EACD,GAAIS,EAAW,CACb,KAAK,KAAK,CACR,SAAU,GAAG,QAAQvtD,EAAW,GAAK,IAAI,QAAQ,CAAC,EAAG,MAAM,EAAE,OAAOA,EAAU,KAAK,EACnF,WAAYitD,EAAO,OAAS,SAC5B,WAAY,gBACZ,sBAAuBG,EAAW,IAC5C,CAAS,EACD,KAAK,aAAaG,EAAU,UAAU,EACtC,MACR,CACM,IAAIze,EAAe1F,GAAqBnjH,EAAM,CAC5C,SAAU,KACV,SAAUqrH,CAClB,CAAO,EACD,GAAIxC,IAAiB,KAAM,CACzB,KAAK,KAAK,CACR,WAAY,oBACtB,CAAS,EACD,MACR,CACM,IAAI/C,EAAU,CAAA,EACV/hC,EAAU6+B,GAAqB5iH,EAAM8lH,EAASuF,CAAkB,EAChE5F,EAAU1C,GAAoB/iH,EAAM,GAAO+jF,EAAS/tE,CAAO,EAC3DonC,EAAY,KACZoqF,EAAsB,KACtB9d,EAAc,KAClB,GAAIb,EAAa,SAAW,EAC1BzrE,EAAY0lE,GAAqB/+B,EAAS0hC,CAAO,UACxCA,GAAW1hC,EAAS,CAC7B2lC,EAAc,CAAA,EAAG,OAAOzvH,GAAmB4uH,CAAY,EAAG,CAAE9kC,CAAO,CAAE,EAAE,OAAO4+B,EAAoB,EAClG,IAAI8kB,GAAe3kB,GAAqB/+B,EAAS0hC,CAAO,EACpDiiB,EAAe5kB,GAAqB/+B,EAAS2lC,CAAW,EACxDie,GAAe7kB,GAAqB4G,EAAajE,CAAO,EAC5DroE,EAAY,KAAK,IAAIqqF,GAAcC,EAAcC,EAAY,EACzDvqF,IAAcqqF,KAChBD,EAAsBE,EAAeC,GAAe,kBAAoB,kBAElF,CACM,IAAIC,EAAUxqF,EAAY+pF,EAC1B,GAAI,OAAOC,GAAiB,WAAa,OAAOhqF,GAAc,UAAYA,EAAYgqF,IAAiB,OAAOC,GAAiB,WAAa,OAAOjqF,GAAc,UAAYA,EAAYiqF,GACvL,YAAK,KAAK,CACR,cAAejqF,CACzB,CAAS,EACM,GAET,IAAIyqF,EAAkB,KAAK,MAAMzqF,EAAY,GAAG,EAAI,IAChD0qF,EACA/jD,IAAY,KACd+jD,EAAUtmD,GAAwB,IAAI,SAAS,EACrComD,IACVE,EAAUN,GAEZ,IAAIO,EAAaF,IAAoB,EACjCG,EAAmBlI,EAAY,SAAW,EAgB9C,GAfIiI,EACFD,EAAUtmD,GAAwB,IAAI,UAAW,YAAY,EACpD,CAAComD,GAAWI,GAAoB,CAACzB,IAC1CuB,EAAU,oBAEZ,KAAK,KAAK,CACR,QAASriB,EAAUA,EAAQ,YAAW,EAAK,OAC3C,QAAS1hC,EAAUA,EAAQ,YAAW,EAAK,OAC3C,cAAe8jD,EACf,SAAU,GAAG,QAAQ9tD,EAAW,GAAK,IAAI,QAAQ,CAAC,EAAG,MAAM,EAAE,OAAOA,EAAU,KAAK,EACnF,WAAYitD,EAAO,OAAS,SAC5B,WAAYc,EACZ,sBAAuBX,EAAW,KAClC,YAAazd,EAAcA,EAAY,cAAgB,MAC/D,CAAO,EACGjE,IAAY,MAAQ1hC,IAAY,MAAQgkD,GAAcC,GAAoB,CAACzB,GAAgB,CAACqB,EAAS,CACvGE,EAAU,KACVtmD,GAAwB,MAAK,EAC7B,KAAK,aAAaskC,CAAO,EACzB,MACR,CACM,OAAK8hB,GACH,KAAK,aAAa9hB,CAAO,EAEpB8hB,CACb,CACI,SAASL,GAAkBz1E,EAAOm2E,EAAS,CACzC,IAAIC,EAAwBD,EAAQ,oBAAqBpB,EAAsBqB,IAA0B,OAAS,IAAMA,EAAuBC,EAAuBF,EAAQ,aAAczB,EAAe2B,IAAyB,OAAS,GAAQA,EACrP,GAAI,CAAA3B,EAGJ,KAAIrvE,EAAOrF,EAAM,mBACbs2E,EAAcjxE,EAAK,MAAQA,EAAK,OAAS0vE,EAC7C,EAAG,CACD,IAAIwB,EAAaC,GAAqBx2E,EAAM,WAAY,SAAS,EAC7Dy2E,EAAYD,GAAqBx2E,EAAM,WAAY,QAAQ,EAC/D,GAAIu2E,EAAaE,EAAYH,EAC3B,OAAOt2E,CAEjB,OAAeA,EAAQA,EAAM,QAC7B,CACI,IAAIw2E,GAAuB1pG,GAAgB,SAA+B5+B,EAAMynB,EAAQ,CACtF,IAAImyD,EAAQhjF,EAAO,iBAAiBoJ,EAAMynB,CAAM,EAC5C+gH,EAAmB,SAA0Br4F,EAAMtzC,EAAO,CAC5D,OAAO+8E,EAAM,iBAAiBzpC,CAAI,IAAMtzC,CAChD,EAIM,GAHI2rI,EAAiB,UAAW,MAAM,GAAKA,EAAiB,UAAW,MAAM,GAAKA,EAAiB,aAAc,QAAQ,GAAKA,EAAiB,WAAY,UAAU,IAAM,IAGvKvkD,GAAiCrK,CAAK,EAAE,QAAU,GAAK4uD,EAAiB,mBAAoB,MAAM,EACpG,MAAO,GAET,IAAIC,EAAcC,GAAU9uD,EAAM,iBAAiB,OAAO,CAAC,EACvD+uD,EAAeD,GAAU9uD,EAAM,iBAAiB,QAAQ,CAAC,EAC7D,OAAI6uD,EAAY,OAAS,MAAQE,EAAa,OAAS,KAC9CF,EAAY,QAAU,GAAKE,EAAa,QAAU,EAAI,EAAI,IAE5DF,EAAY,MAAQE,EAAa,KAC9C,CAAK,EACD,SAAS7B,GAAahH,EAAa,CACjC,IAAI9pH,EAAU,CACZ,OAAQ,IAEN4yH,EAAkB7gE,GAAoB+3D,EAAa9pH,CAAO,EAC1D6yH,EAAqBngE,GAAiBD,GAAuBq3D,EAAa9pH,CAAO,CAAC,IAAM,GAC5F,OAAO4yH,GAAmBC,CAChC,CACI,SAASH,GAAU3gI,EAAK,CACtB,IAAI+gI,EAAY,uBACZC,EAAUhhI,EAAI,MAAM+gI,CAAS,GAAK,CAAA,EAAIE,EAAUnuI,EAAekuI,EAAS,CAAC,EAAGE,EAAWD,EAAQ,CAAC,EAAGnsI,EAAQosI,IAAa,OAAS,GAAKA,EAAUC,EAAYF,EAAQ,CAAC,EAAGrmD,EAAOumD,IAAc,OAAS,GAAKA,EAC/M,MAAO,CACL,MAAO,WAAWrsI,CAAK,EACvB,KAAM8lF,EAAK,YAAW,EAE9B,CACI,IAAIwmD,GAAyC,CAC3C,QAAS,GACT,MAAO,GACP,IAAK,GACL,QAAS,IAEPC,GAAqC,CACvC,MAAO,GACP,YAAa,GACb,YAAa,GACb,QAAS,GACT,OAAQ,GACR,cAAe,GACf,YAAa,GACb,OAAQ,GACR,KAAM,GACN,IAAK,GACL,KAAM,GACN,WAAY,GACZ,OAAQ,GACR,OAAQ,GACR,OAAQ,GACR,SAAU,IAEZ,SAASC,GAAuBrpI,EAAM,CACpC,IAAI8wD,EAAY9wD,EAAK,SAAS,YAAW,EACzC,OAAOmpI,GAAuCr4E,CAAS,GAAK,EAClE,CACI,SAASw4E,GAAoBtpI,EAAMgW,EAAS,CAC1C,IAAI80D,EAAOkB,GAA0BhsE,CAAI,EACzC,OAAK8qE,IAGEs+D,GAAmCt+D,CAAI,GAAK90D,EAAQ,MAAM,SAAS80D,CAAI,IAAK,EACzF,CACI,SAASy+D,GAAiCvpI,EAAMgW,EAAS,CACvD,OAAOszH,GAAoBtpI,EAAMgW,CAAO,GAAKqzH,GAAuBrpI,CAAI,CAC9E,CACI,IAAIwpI,GAA8CD,GAClD,SAASE,GAAwBzpI,EAAMgW,EAASwqD,EAAa,CAC3D,IAAIsK,EAAOsF,GAAiB5P,EAAa,CACvC,KAAM,GACN,SAAU,EAClB,CAAO,EACGkpE,EAAgB1+D,GAA4BF,CAAI,EACpD,OAAI4+D,GACF,KAAK,KAAK5+D,CAAI,EAET4+D,CACb,CACI,IAAIC,GAAmCF,GACvC,SAASG,GAAgC5pI,EAAMgW,EAASwqD,EAAa,CACnE,IAAIsK,EAAOsF,GAAiB5P,EAAa,CACvC,WAAY,EACpB,CAAO,EACD,KAAK,KAAKsK,CAAI,EACd,IAAIqN,EACA22C,EACJ,GAAI,CACF32C,EAASzP,GAAiBN,GAAmB5H,CAAW,CAAC,EAAE,YAAW,EACtEsuD,EAAUpmD,GAAiBf,GAAuBnH,CAAW,CAAC,EAAE,YAAW,CACnF,MAA0B,CAClB,MACR,CACM,GAAI,CAACsuD,GAAW,CAAC32C,EACf,MAAO,GAET,GAAI,GAAC22C,GAAW32C,IAGX22C,EAAQ,SAAS32C,CAAM,EAG5B,MAAO,EACb,CACI,IAAI0xD,GAA8CD,GAClD,SAASE,GAA2B9pI,EAAMgW,EAASwqD,EAAa,CAC9D,OAAO7M,GAAa6M,CAAW,CACrC,CACI,IAAIupE,GAAwCD,GAC5C,SAASE,GAAoBhqI,EAAMgW,EAASwqD,EAAa,CACvD,IAAIypE,EAAWvpG,GAAmB8/B,EAAY,KAAK,MAAM,CAAC,EACtD0pE,EAAaD,EAAS,MAAM,SAASn/D,EAAM,CAC7C,MAAO,CAACS,GAAsBT,EAAK,cAAe,CAChD,cAAe,EACzB,CAAS,CACT,CAAO,EACD,OAAIo/D,GACF,KAAK,KAAKD,CAAQ,EACX,IAEF,EACb,CACI,IAAIE,GAA+BH,GACnC,SAASI,GAAsBpqI,EAAMgW,EAASwqD,EAAa,CACzD,IAAIsK,EAAOkB,GAA0BxL,CAAW,EAChD,GAAIsK,IAAS,KACX,MAAO,GAET,IAAIgsC,EAAWp3B,GAAsB5U,CAAI,EACzC,OAAOgsC,IAAa,UAAYA,IAAa,WACnD,CACI,IAAIuzB,GAAmCD,GACvC,SAASE,GAA+BtqI,EAAMgW,EAASwqD,EAAa,CAClE,IAAI+pE,EAAcl+D,GAA6B,EAAG,OAAO,SAAShlD,EAAM,CACtE,OAAOm5C,EAAY,QAAQn5C,CAAI,CACvC,CAAO,EACD,YAAK,KAAKkjH,CAAW,EACdA,EAAY,OAAS,CAClC,CACI,IAAIC,GAA6CF,GACjD,SAASG,GAA4CjqE,EAAakqE,EAAe,CAC/E,IAAIC,EAAkB96D,GAAsBrP,CAAW,EACvD,MAAO,CAACmqE,GAAmBD,EAAc,SAAW,GAAKA,EAAc,SAAS,MAAM,GAAKA,EAAc,SAAS,cAAc,CACtI,CACI,SAASE,GAAqB5qI,EAAMgW,EAASwqD,EAAa,CACxD,IAAIkqE,EAAgBhqG,GAAmB8/B,EAAY,KAAK,MAAM,CAAC,EAC/D,OAAIkqE,EAAc,QAAU,EACnB,GAEFD,GAA4CjqE,EAAakqE,CAAa,EAAI,OAAS,EAChG,CACI,IAAIG,GAAgCD,GACpC,SAASE,GAAuB9qI,EAAMgW,EAASwqD,EAAa,CAC1D,IAAIsK,EAAOsF,GAAiB5P,EAAa,CACvC,KAAM,GACN,SAAU,EAClB,CAAO,EACGuK,EAAiBH,GAAkB,UAAUE,CAAI,EACrD,OAAMC,GAAmB,MAAqCA,EAAe,YAG7E,KAAK,KAAKD,CAAI,EACP,IAHE,EAIf,CACI,SAASigE,GAAyC/qI,EAAMgW,EAASwqD,EAAa,CAC5E,IAAIwqE,EACAC,GAAmBD,EAAoBxqE,EAAY,KAAK,6BAA6B,KAAO,MAAQwqE,IAAsB,OAASA,EAAoB,GAC3J,GAAItiE,GAAiBuiE,CAAe,IAAM,GACxC,MAAO,GAET,IAAIC,EAAW1qE,EAAY,KAAK,sBAAsB,EACtD,OAAI,OAAO0qE,GAAa,UACtB,KAAK,KAAK,CACR,WAAY,mBACtB,CAAS,EACM,IAELxiE,GAAiBwiE,CAAQ,IAAM,IACjC,KAAK,KAAK,CACR,WAAY,sBACtB,CAAS,EACM,IAEF,EACb,CACI,SAASC,GAA+BnrI,EAAMgW,EAASwqD,EAAa,CAClE,IAAI4qE,EACAC,GAAgBD,EAAqB5qE,EAAY,KAAK,mBAAmB,KAAO,MAAQ4qE,IAAuB,OAASA,EAAqB,GACjJ,GAAI,CAACC,EAAa,OAChB,MAAO,GAET,GAAI,CACF,OAAO3iE,GAAiBf,GAAuBnH,CAAW,CAAC,IAAM,EACzE,MAA0B,CAClB,MACR,CACA,CACI,SAAS8qE,GAA2BtrI,EAAMgW,EAASwqD,EAAa,CAC9DxqD,EAAU,MAAM,QAAQA,EAAQ,KAAK,EAAIA,EAAQ,MAAQ,CAAA,EACzD,IAAIu1H,EAAc,GACdjxB,EAAa,GACbsjB,EAAU,CAAA,EACV4N,EAAO,SACPC,EAAY,CAAE,mBAAmB,EACjCC,EAAY,CACd,gBAAiB,UAAwB,CACvC,IAAIC,EAAW,CAAE,QAAS,IAAI,EAAG,SAASnrE,EAAY,KAAK,eAAe,CAAC,IAAM,GACjF,OAAImrE,IACFJ,EAAc,kBAAkB,OAAO/qE,EAAY,KAAK,eAAe,EAAG,GAAG,EAC7E85C,EAAa,uBAER95C,EAAY,KAAK,eAAe,IAAM,SAAWA,EAAY,KAAK,eAAe,IAAM,SAAWmrE,IAAa,EAChI,EACQ,eAAgB,SAAqBv5G,EAAY,CAC1CA,IACHm5G,EAAc,iBAAiB,OAAO/qE,EAAY,KAAK,cAAc,EAAG,GAAG,EAC3E85C,EAAa,cAGzB,EACQ,YAAa,UAAoB,CAC/B,OAAO95C,EAAY,KAAK,eAAe,IAAM,OACvD,EACQ,mBAAoB,SAAyBpuC,EAAY,CAClDA,IACHm5G,EAAc,qBAAqB,OAAO/qE,EAAY,KAAK,kBAAkB,EAAG,GAAG,EACnF85C,EAAavjH,EAAI,OAASA,EAAI,MAAM,CAAC,EAAE,eAAiB,aAAe,OAGnF,EACQ,kBAAmB,SAAwBq7B,EAAY,CAChDA,IACHm5G,EAAc,oBAAoB,OAAO/qE,EAAY,KAAK,iBAAiB,EAAG,GAAG,EACjF85C,EAAavjH,EAAI,OAASA,EAAI,MAAM,CAAC,EAAE,eAAiB,aAAe,OAEnF,GAwBM,GAtBAypE,EAAY,UAAU,QAAQ,SAAS4L,EAAU,CAC/C,GAAI,EAAAq/D,EAAU,SAASr/D,CAAQ,GAAKp2D,EAAQ,SAASo2D,CAAQ,GAAK,CAACo/D,EAAK,KAAKp/D,CAAQ,GAGrF,KAAIh6C,EACA7K,EAAYi5C,EAAY,KAAK4L,CAAQ,EACzC,GAAI,CACFh6C,EAAa4iF,GAA4Bx0C,EAAa4L,CAAQ,CACxE,MAA4B,CAClBm/D,EAAc,GAAG,OAAOn/D,EAAU,IAAI,EAAE,OAAO7kD,EAAW,GAAG,EAC7D+yF,EAAa,SACb,MACV,EACa,CAAAoxB,EAAUt/D,CAAQ,GAAIs/D,EAAUt/D,CAAQ,EAAEh6C,CAAU,IAAa,CAACA,IACjE7K,IAAc,IAAM,CAACqkH,GAAax/D,CAAQ,GAC5Cm/D,EAAcn/D,EACdkuC,EAAa,SAEbsjB,EAAQ,KAAK,GAAG,OAAOxxD,EAAU,IAAI,EAAE,OAAO7kD,EAAW,GAAG,CAAC,GAGzE,CAAO,EACGq2G,EAAQ,OACV,YAAK,KAAKA,CAAO,EACV,GAET,GAAI2N,EAAa,CACf,KAAK,KAAK,CACR,WAAYjxB,EACZ,YAAaixB,CACvB,CAAS,EACD,MACR,CACM,MAAO,EACb,CACI,SAASK,GAAax/D,EAAU,CAC9B,IAAIy/D,EACJ,QAASA,EAAwBjhE,GAAkB,UAAUwB,CAAQ,KAAO,MAAQy/D,IAA0B,OAAS,OAASA,EAAsB,QAAU,QACtK,CACI,SAASC,GAAsB9rI,EAAMgW,EAASwqD,EAAa,CACzDxqD,EAAU,MAAM,QAAQA,EAAQ,KAAK,EAAIA,EAAQ,MAAQ,CAAA,EACzD,IAAI4nH,EAAU,CAAA,EACV4N,EAAO,SAMX,OALAhrE,EAAY,UAAU,QAAQ,SAASn5C,EAAM,CACvCrR,EAAQ,QAAQqR,CAAI,IAAM,IAAMmkH,EAAK,KAAKnkH,CAAI,GAAK,CAAC0tF,GAAsB1tF,CAAI,GAChFu2G,EAAQ,KAAKv2G,CAAI,CAE3B,CAAO,EACGu2G,EAAQ,QACV,KAAK,KAAKA,CAAO,EACV,IAEF,EACb,CACI,IAAImO,GAAmCD,GACvC,SAASE,GAA4BhsI,EAAMgW,EAASwqD,EAAa,CAC/D,IAAIyrE,EAAmBzrE,EAAY,UAAU,OAAO,SAASnjE,EAAM,CACjE,IAAImpF,EAAY5b,GAAkB,UAAUvtE,CAAI,EAChD,GAAI,CAAC03G,GAAsB13G,CAAI,EAC7B,MAAO,GAET,IAAI6uI,EAAc1lD,EAAU,YAC5B,OAAIxvF,EAAQk1I,CAAW,IAAM,SACpB,CAAC,CAACA,EAEJ,CAACp7D,GAAiB9wE,EAAMksI,EAAY,UAAU,CAC7D,CAAO,EACD,OAAID,EAAiB,QACnB,KAAK,KAAKA,CAAgB,EACnB,IAEF,EACb,CACI,IAAIE,GAAyCH,GAC7C,SAASI,GAA4BpsI,EAAM,CACzC,IAAIgW,EAAU,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAA,EAC9EwqD,EAAc,UAAU,OAAS,EAAI,UAAU,CAAC,EAAI,OACpDsK,EAAOsF,GAAiB5P,CAAW,EACnC6rE,EAAiBr2H,EAAQ,gBAAkB,CAAA,EAC/C,GAAIq2H,EAAe,SAASvhE,CAAI,EAC9B,MAAO,GAET,GAAI,EAAAA,GAAQA,IAAS,gBAAkBA,IAAS,QAGhD,MAAO,EACb,CACI,IAAIwhE,GAAwCF,GAC5C,SAASG,GAAkB/rE,EAAagsE,EAAeC,EAAYC,EAAgB,CACjF,IAAI15D,EAAgBhH,GAA0BxL,CAAW,EAIzD,GAHKisE,IACHA,EAAa53B,GAAyB7hC,CAAa,GAEjD,CAACy5D,EACH,OAAO,KAIT,QAFIE,EAAcF,EAAW,SAAS,OAAO,EACzC36E,EAAQ46E,EAAiBlsE,EAAcA,EAAY,OAChD1O,GAAO,CACZ,IAAIgZ,EAAOsF,GAAiBte,EAAO,CACjC,iBAAkB,EAC5B,CAAS,EACD,GAAI,CAACgZ,EACHhZ,EAAQA,EAAM,eACLgZ,IAAS,SAAW6hE,EACzBH,EAAc,SAASx5D,CAAa,GACtCy5D,EAAW,KAAKz5D,CAAa,EAE/By5D,EAAaA,EAAW,OAAO,SAASn0I,EAAG,CACzC,OAAOA,IAAM,OACzB,CAAW,EACDw5D,EAAQA,EAAM,WACT,QAAI26E,EAAW,SAAS3hE,CAAI,EAC1B,KAEA2hE,CAEjB,CACM,OAAOA,CACb,CACI,SAASG,GAAc17E,EAAS,CAG9B,QAFI27E,EAAS,CAAA,EACTvzI,EAAI,KACD43D,GAAS,CACd,GAAIA,EAAQ,aAAa,IAAI,EAAG,CAC9B,IAAI47E,EAAO9wG,GAAwBk1B,EAAQ,aAAa,IAAI,CAAC,EACzDpD,EAAM+E,GAAuB3B,CAAO,EACxC53D,EAAIw0D,EAAI,cAAc,eAAe,OAAOg/E,EAAM,GAAG,CAAC,EAClDxzI,GACFuzI,EAAO,KAAKvzI,CAAC,CAEzB,CACQ43D,EAAUA,EAAQ,aAC1B,CACM,OAAO27E,EAAO,OAASA,EAAS,IACtC,CACI,SAASE,GAA2B/sI,EAAMgW,EAASwqD,EAAa,CAC9D,IAAIgsE,EAAgBx2H,GAAW,MAAM,QAAQA,EAAQ,aAAa,EAAIA,EAAQ,cAAgB,CAAA,EAC1Fg3H,EAAiBT,GAAkB/rE,EAAagsE,CAAa,EACjE,GAAI,CAACQ,EACH,MAAO,GAET,IAAIH,EAASD,GAAc5sI,CAAI,EAC/B,GAAI6sI,GACF,QAASI,EAAO,EAAGlyI,EAAI8xI,EAAO,OAAQI,EAAOlyI,EAAGkyI,IAE9C,GADAD,EAAiBT,GAAkBxvG,GAA2B8vG,EAAOI,CAAI,CAAC,EAAGT,EAAeQ,EAAgB,EAAI,EAC5G,CAACA,EACH,MAAO,GAIb,YAAK,KAAKA,CAAc,EACjB,EACb,CACI,IAAIE,GAAwCH,GAC5C,SAASI,GAA6BntI,EAAMgW,EAASwqD,EAAa,CAChE,IAAI4sE,EAAcp3H,GAAW,MAAM,QAAQA,EAAQ,WAAW,EAAIA,EAAQ,YAAc,CAAA,EACpFg9D,EAAgBhH,GAA0BxL,EAAa,CACzD,KAAM,EACd,CAAO,EACG6sE,EAAWv4B,GAAuB9hC,CAAa,EACnD,GAAIq6D,IAAa,KACf,MAAO,GAET,IAAIC,EAAaC,GAAc/sE,EAAa6sE,CAAQ,EAChDG,EAAYF,EAAW,OAAO,SAASG,EAAS,CAClD,IAAI3iE,EAAO2iE,EAAQ,KAAM37E,EAAQ27E,EAAQ,MACzC,OAAO37E,EAAM,MAAM,WAAa,GAAK,CAACu7E,EAAS,SAASviE,CAAI,CACpE,CAAO,EACD,GAAI0iE,EAAU,OACZ,YAAK,aAAaA,EAAU,IAAI,SAASE,EAAS,CAChD,IAAI57E,EAAQ47E,EAAQ,MACpB,OAAO57E,CACjB,CAAS,CAAC,EACF,KAAK,KAAK,CACR,WAAY,YACZ,OAAQ07E,EAAU,IAAI,SAASG,EAAS,CACtC,IAAI77E,EAAQ67E,EAAQ,MAAOtmH,EAAOsmH,EAAQ,KAC1C,OAAOC,GAAqB97E,EAAOzqC,CAAI,CACnD,CAAW,EAAE,OAAO,SAASN,EAAUvgB,EAAO2C,EAAO,CACzC,OAAOA,EAAM,QAAQ4d,CAAQ,IAAMvgB,CAC/C,CAAW,EAAE,KAAK,IAAI,CACtB,CAAS,EACM,GAET,GAAIqnI,GAAoBR,EAAUC,CAAU,EAC1C,MAAO,GAET,GAAI9sE,EAAY,KAAK,WAAW,IAAM,OACpC,YAAK,KAAK,CACR,WAAY,WACtB,CAAS,EACM,GAGT,GADA,KAAK,KAAK6sE,CAAQ,EACd,EAAAD,EAAY,SAASp6D,CAAa,GAAK,CAACs6D,EAAW,KAAKQ,EAAS,GAGrE,MAAO,EACb,CACI,SAASP,GAAc/sE,EAAa6sE,EAAU,CAgC5C,QA/BIv7E,EACAw7E,EAAa,CAAA,EACbS,EAAe/5D,GAA0BxT,CAAW,EACpDwtE,EAAS,UAAkB,CAO7B,GANIl8E,EAAM,MAAM,WAAa,GAC3Bw7E,EAAW,KAAK,CACd,MAAOx7E,EACP,KAAM,IAClB,CAAW,EAECA,EAAM,MAAM,WAAa,GAAK,CAAC6C,GAA0B7C,CAAK,EAChE,MAAO,GAET,IAAIgZ,EAAOsF,GAAiBte,EAAO,CACjC,iBAAkB,EAC5B,CAAS,EACGm8E,EAAiBC,GAAkBp8E,CAAK,EACxCq8E,EAA2B,CAAC,CAACF,GAAkBt6E,GAAa7B,CAAK,EACrE,GAAI,CAACgZ,GAAQ,CAACqjE,GAA4B,CAAE,QAAS,UAAU,EAAG,SAASrjE,CAAI,GAAKuiE,EAAS,KAAK,SAASe,EAAc,CACvH,OAAOA,IAAiBtjE,CAClC,CAAS,EACCijE,EAAa,KAAK,MAAMA,EAAc9zI,GAAmB63D,EAAM,QAAQ,CAAC,UAC/DgZ,GAAQqjE,EAA0B,CAC3C,IAAI9mH,EAAO4mH,GAAkB,WAC7BX,EAAW,KAAK,CACd,KAAMxiE,EACN,KAAMzjD,EACN,MAAOyqC,CACnB,CAAW,CACX,CACA,EACaA,EAAQi8E,EAAa,SACtBC,EAAM,EAIZ,OAAOV,CACb,CACI,SAASO,GAAoBR,EAAUC,EAAY,CACjD,OAAOA,EAAW,KAAK,SAASe,EAAS,CACvC,IAAIvjE,EAAOujE,EAAQ,KACnB,OAAOvjE,GAAQuiE,EAAS,SAASviE,CAAI,CAC7C,CAAO,CACP,CACI,SAASojE,GAAkBp8E,EAAO,CAChC,OAAOua,GAA6B,EAAG,KAAK,SAAShlD,EAAM,CACzD,OAAOyqC,EAAM,QAAQzqC,CAAI,CACjC,CAAO,CACP,CACI,SAASumH,GAAqB97E,EAAOzqC,EAAM,CACzC,IAAIinH,EAAex8E,EAAM,MAAOhB,EAAYw9E,EAAa,SAAU75D,EAAW65D,EAAa,SAC3F,GAAI75D,IAAa,EACf,MAAO,QAET,IAAI3J,EAAOkB,GAA0Bla,EAAO,CAC1C,KAAM,EACd,CAAO,EACD,OAAIgZ,EACK,SAAS,OAAOA,EAAM,GAAG,EAE9BzjD,EACKypC,EAAY,IAAI,OAAOzpC,EAAM,GAAG,EAElCypC,CACb,CACI,SAASg9E,GAAUS,EAAS,CAC1B,IAAIz8E,EAAQy8E,EAAQ,MACpB,OAAIz8E,EAAM,MAAM,WAAa,EACpBA,EAAM,MAAM,UAAU,KAAI,EAAG,OAAS,EAExCwB,GAA4BxB,EAAO,GAAO,EAAI,CAC3D,CACI,SAAS08E,GAAyBxuI,EAAM,CACtC,IAAIyuI,EACAz4H,EAAU,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAA,EAC9EwqD,EAAc,UAAU,OAAS,EAAI,UAAU,CAAC,EAAI,OACpDsK,EAAOkB,GAA0BxL,CAAW,EAC5CioB,EAAQjoB,EAAY,UACpBkuE,EAAgB95B,GAAsB9pC,CAAI,EAU9C,GATI,MAAM,QAAQ90D,EAAQ80D,CAAI,CAAC,IAC7B4jE,EAAgB/tG,GAAqB3qB,EAAQ80D,CAAI,EAAG4jE,CAAa,GAE/D,CAAC5jE,GAAQ,CAAC2d,EAAM,QAAU,CAACimD,EAAc,QAGzCC,GAAkBnuE,EAAasK,CAAI,GAAK8jE,GAAiBpuE,EAAasK,CAAI,GAG1EA,IAAS,WAAa2jE,EAAqBjuE,EAAY,KAAK,gBAAgB,KAAO,MAAQiuE,IAAuB,QAAUA,EAAmB,KAAI,EACrJ,MAAO,GAET,IAAI51D,EAAUlH,GAAyBnR,CAAW,EAC9CquE,EAAeH,EAAc,OAAO,SAASI,EAAe,CAC9D,MAAO,CAACtuE,EAAY,KAAKsuE,CAAa,GAAK,CAACC,GAAgBl2D,EAASi2D,CAAa,CAC1F,CAAO,EACD,OAAID,EAAa,QACf,KAAK,KAAKA,CAAY,EACf,IAEF,EACb,CACI,SAASF,GAAkB78E,EAAOgZ,EAAM,CACtC,OAAOA,IAAS,aAAe,CAACnX,GAAa7B,CAAK,CACxD,CACI,SAASi9E,GAAgBl2D,EAASxxD,EAAM,CACtC,IAAI2nH,EACJ,QAASA,EAAwBn2D,EAAQ,iBAAmB,MAAQm2D,IAA0B,OAAS,OAASA,EAAsB3nH,CAAI,KAAO,MACvJ,CACI,SAASunH,GAAiB98E,EAAOgZ,EAAM,CACrC,OAAOA,IAAS,YAAchZ,EAAM,KAAK,eAAe,IAAM,OACpE,CACI,SAASm9E,GAA2BjvI,EAAM,CACxC,IAAIgW,EAAU,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAA,EAC9EwqD,EAAc,UAAU,OAAS,EAAI,UAAU,CAAC,EAAI,OACpD0uE,EAA8El5H,GAAQ,0BAA6B,CAAA,EACnH86C,EAAY0P,EAAY,MAAM,SAC9BsK,EAAOsF,GAAiB5P,EAAa,CACvC,SAAU,GACV,SAAU,EAClB,CAAO,EACG2uE,EAAiBC,GAAoB5uE,EAAasK,EAAMha,EAAWo+E,CAAwB,EAC3FG,EAAaF,EAAe,OAAO,SAAS/iE,EAAU,CACxD,OAAK5L,EAAY,UAAU,SAAS4L,CAAQ,EAGrC1D,GAAiBlI,EAAY,KAAK4L,CAAQ,CAAC,IAAM,GAF/C,EAGjB,CAAO,EACD,GAAIijE,EAAW,SAAW,EACxB,MAAO,GAET,IAAI/0B,EAAaxvC,IAAS,KAAO,UAAY,SAC7CwvC,GAAc+0B,EAAW,OAAS,EAAI,SAAW,WACjD,KAAK,KAAK,CACR,KAAMvkE,EACN,SAAUha,EACV,WAAYwpD,EACZ,WAAY+0B,CACpB,CAAO,EACD,IAAIC,EAAc3mE,GAAqBnI,EAAa,CAClD,kBAAmB,EAC3B,CAAO,EACD,GAAIkI,GAAiB4mE,CAAW,IAAM,GAGtC,MAAO,EACb,CACI,SAASF,GAAoBt9E,EAAOgZ,EAAMha,EAAWo+E,EAA0B,CAC7E,IAAIK,EAAW3kE,GAAkB,UAAUE,CAAI,EAC/C,OAAIykE,EACKA,EAAS,iBAAmB,CAAA,EAE/BzkE,GAAQokE,EAAyB,SAASp+E,CAAS,GAAK0+E,GAA2B19E,CAAK,IAAM,SAC3F,CAAA,EAEF,CAAE,aAAc,iBAAiB,CAC9C,CACI,IAAI09E,GAA6B5wG,GAAgB,SAA4CkzB,EAAO,CAClG,GAAKA,EAGL,KAAIgZ,EAAOsF,GAAiBte,EAAO,CACjC,iBAAkB,GAClB,SAAU,EAClB,CAAO,EACD,OAAIgZ,EACK4U,GAAsB5U,CAAI,EAE5B0kE,GAA2B19E,EAAM,MAAM,EACpD,CAAK,EACD,SAAS29E,GAAkBzvI,EAAMgW,EAASwqD,EAAa,CACrD,IAAIgwD,EAAmBhwD,EAAY,KAAK,YAAY,EAChDiwD,EAAY,SAASD,EAAkB,EAAE,EAC7C,GAAI,EAAAC,EAAY,GAGhB,MAAO,EACb,CACI,IAAIif,GAA8BD,GAClC,SAASE,GAAuB3vI,EAAMgW,EAASwqD,EAAa,CAC1D,OAAOA,EAAY,KAAK,aAAa,IAAM,MACjD,CACI,IAAIovE,GAAoCD,GACxC,SAASE,GAAyB7vI,EAAMgW,EAASwqD,EAAa,CAC5DxqD,EAAU,MAAM,QAAQA,CAAO,EAAIA,EAAU,CAAA,EAC7C,IAAI85H,EAAmBtvE,EAAY,KAAK,mBAAmB,EACvDuvE,EAAUvvE,EAAY,QAAQ,mBAAmB,EACjDwvE,EAASxvE,EAAY,KAAK,cAAc,EACxCyvE,EAAczvE,EAAY,QAAQ,cAAc,EACpD,GAAI,CAACyvE,GAAeD,IAAW,QAC7B,MAAO,GAET,SAASE,EAAmB7oH,EAAM,CAChC,GAAIA,EAAK,KAAI,IAAO,GAClB,OAAOujD,GAAkB,UAAU,mBAAmB,EAAE,WAE1D,IAAIulE,EACJ,GAAI,CACFA,EAAQ9oH,GAAQmsC,GAAegN,EAAa,mBAAmB,EAAE,CAAC,CAC5E,MAA4B,CAClB,KAAK,KAAK,CACR,WAAY,SACZ,OAAQ9/B,GAAmBrZ,CAAI,CAC3C,CAAW,EACD,MACV,CACQ,GAAI8oH,EACF,OAAKx7E,GAA0Bw7E,CAAK,EAO7BnkE,GAA0BmkE,CAAK,IAAM,SAAWA,EAAM,aAAa,WAAW,IAAM,aAAeA,EAAM,aAAa,WAAW,IAAM,UAAYzvG,GAAmB8/B,EAAY,KAAK,kBAAkB,CAAC,EAAE,QAAQn5C,CAAI,EAAI,IANjO,KAAK,KAAK,CACR,WAAY,SACZ,OAAQqZ,GAAmBrZ,CAAI,CAC7C,CAAa,EACM,GAKnB,CACM,OAAIrR,EAAQ,QAAQ85H,CAAgB,IAAM,IAAMC,GAC9C,KAAK,KAAKrvG,GAAmBovG,CAAgB,CAAC,EACvCI,EAAmB,KAAK,KAAMJ,CAAgB,GAEhD,EACb,CACI,SAASM,GAAuBpwI,EAAM,CACpC,IAAIqwI,EAAuBC,EACvBC,EAAU,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAA,EAAIC,EAAuBD,EAAQ,qBACjH/vE,EAAc,UAAU,OAAS,EAAI,UAAU,CAAC,EAAI,OACpDiwE,GAAgBJ,EAAwBG,GAAyB,OAA4CF,EAAyBE,EAAqB,UAAY,MAAQF,IAA2B,OAAS,OAASA,EAAuB,KAAKE,EAAsB,SAASE,EAAa,CACtS,OAAOlwE,EAAY,QAAQkwE,CAAW,CAC9C,CAAO,KAAO,MAAQL,IAA0B,OAASA,EAAwB,CAAA,EAC3E,GAAII,EAAa,SAAW,EAC1B,MAAO,GAET,IAAIE,EAAQC,GAAYpwE,CAAW,EAC/BqwE,EAAYF,GAASvgE,GAAiBugE,CAAK,EAC/C,GAAI,CAACE,GAAaA,IAAc,WAC9B,MAAO,GAET,IAAIv2B,EAAa,MAAM,OAAOm2B,EAAa,OAAS,EAAI,SAAW,UAAU,EAC7E,YAAK,KAAK,CACR,WAAYn2B,EACZ,aAAcm2B,EACd,UAAWI,CACnB,CAAO,EACM,EACb,CACI,SAASD,GAAYpwE,EAAa,CAChC,GAAKA,EAAY,OAGjB,KAAIswE,EAAgB,yEACpB,OAAOp1G,GAAgB8kC,EAAaswE,CAAa,EACvD,CACI,SAASC,GAA4B/wI,EAAMgW,EAASwqD,EAAa,CAC/D,IAAIwwE,EAAqBxwE,EAAY,MAAO1P,EAAYkgF,EAAmB,SAAU5yI,EAAQ4yI,EAAmB,KAC5GC,EAAcC,GAAqB1wE,EAAY,KAAK,cAAc,CAAC,EACvE,GAAI1P,IAAc,SAAW1yD,IAAU,YAAc,CAAC6yI,EACpD,MAAO,GAET,IAAIE,EAAaC,GAAc5wE,CAAW,EAC1C,OAAIywE,IAAgBE,EACX,IAET,KAAK,KAAK,CACR,WAAY,WACZ,WAAYA,CACpB,CAAO,EACM,GACb,CACI,SAASC,GAAct/E,EAAO,CAC5B,OAAIA,EAAM,MAAM,cACP,QAEFA,EAAM,MAAM,QAAU,OAAS,OAC5C,CACI,SAASo/E,GAAqBG,EAAgB,CAC5C,OAAKA,GAGLA,EAAiBA,EAAe,YAAW,EACvC,CAAE,QAAS,MAAM,EAAG,SAASA,CAAc,EACtCA,EAEF,SANE,EAOf,CACI,IAAIC,GAAqB,CACvB,IAAKlB,GACL,SAAUW,IAEZ,SAASQ,GAA4BvxI,EAAMgW,EAASwqD,EAAa,CAC/D,IAAIsK,EAAOsF,GAAiB5P,CAAW,EACvC,OAAK8wE,GAAmBxmE,CAAI,EAGrBwmE,GAAmBxmE,CAAI,EAAE,KAAK,KAAM9qE,EAAMgW,EAASwqD,CAAW,EAF5D,EAGf,CACI,SAASgxE,GAAiBxxI,EAAMgW,EAASwqD,EAAa,CACpD,OAAOA,EAAY,KAAK,WAAW,IAAM,MAC/C,CACI,SAASixE,GAAwBzxI,EAAM,CACrC,IAAIgW,EAAU,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAA,EAC9EwqD,EAAc,UAAU,OAAS,EAAI,UAAU,CAAC,EAAI,OACpDkxE,EAAwB17H,EAAQ,cAAesgG,EAAgBo7B,IAA0B,OAAS,GAAOA,EAAuBC,EAAuB37H,EAAQ,YAAa47H,EAAcD,IAAyB,OAAS,CAAA,EAAKA,EACjO7gF,EAAY0P,EAAY,MAAM,SAClC,GAAIoxE,EAAY,IAAI,SAASj3H,EAAK,CAChC,OAAOA,EAAI,YAAW,CAC9B,CAAO,EAAE,SAASm2C,CAAS,EACnB,MAAO,GAET,IAAI+gF,EAAiB19B,GAAoC3zC,EAAa81C,CAAa,EACnF,OAAIu7B,EAAe,QACjB,KAAK,KAAKA,CAAc,EACnBl9E,GAA0B6L,CAAW,EAGnC,GAFL,QAIG,EACb,CACI,IAAIsxE,GAAqCL,GACzC,SAASM,GAAwB/xI,EAAMgW,EAASwqD,EAAa,CAC3D,IAAIo9D,EAAU,CAAA,EACV9yD,EAAOsF,GAAiB5P,CAAW,EACnCwxE,EAAU/9B,GAAqBnpC,CAAI,EACnC,MAAM,QAAQ90D,EAAQ80D,CAAI,CAAC,IAC7BknE,EAAUrxG,GAAqB3qB,EAAQ80D,CAAI,EAAE,OAAOknE,CAAO,CAAC,GAE9D,IAAIC,EAAc32I,GAA2BklE,EAAY,SAAS,EAAG0xE,EACrE,GAAI,CACF,IAAKD,EAAY,EAAC,EAAI,EAAEC,EAAUD,EAAY,EAAC,GAAI,MAAQ,CACzD,IAAI7lE,EAAW8lE,EAAQ,MACnBn9B,GAAsB3oC,CAAQ,GAAK,CAAC4lE,EAAQ,SAAS5lE,CAAQ,GAAK,CAAC+lE,GAAa/lE,EAAU5L,EAAY,KAAK4L,CAAQ,EAAG5L,CAAW,GACnIo9D,EAAQ,KAAKxxD,CAAQ,CAEjC,CACA,OAAezuE,EAAK,CACZs0I,EAAY,EAAEt0I,CAAG,CACzB,QAAO,CACCs0I,EAAY,EAAC,CACrB,CACM,GAAI,CAACrU,EAAQ,OACX,MAAO,GAKT,GAHA,KAAK,KAAKA,EAAQ,IAAI,SAASxxD,EAAU,CACvC,OAAOA,EAAW,KAAO5L,EAAY,KAAK4L,CAAQ,EAAI,GAC9D,CAAO,CAAC,EACE,GAACtB,GAAQ,CAAC7sC,GAAwBuiC,CAAW,GAAK,CAAC7M,GAAa6M,CAAW,GAG/E,MAAO,EACb,CACI,SAAS2xE,GAAa/lE,EAAU7kD,EAAWuqC,EAAO,CAIhD,MAHI,GAAAsa,IAAa,iBAAmB7kD,IAAc,SAG9C6kD,IAAa,kBAAoB7kD,IAAc,SAAWuqC,EAAM,QAAQ,iBAAiB,EAInG,CACI,SAASsgF,GAAqBpyI,EAAMgW,EAASwqD,EAAa,CACxD,IAAI6xE,EAAgB3xG,GAAmB8/B,EAAY,KAAK,MAAM,CAAC,EAAE,OAAO,SAASsK,EAAM,CACrF,OAAO4U,GAAsB5U,CAAI,IAAM,UAC/C,CAAO,EACD,OAAIunE,EAAc,OAAS,GACzB,KAAK,KAAKA,CAAa,EAChB,IAEF,EACb,CACI,IAAIC,GAAgCF,GACpC,SAASG,GAAuBvyI,EAAM,CACpC,IAAIw9H,EAAmBjhG,GAAsBv8B,EAAK,aAAa,MAAM,CAAC,EAClEy9H,EAAsBlhG,GAAsBv8B,EAAK,aAAa,UAAU,CAAC,EAC7E,OAAOs+B,GAAoBk/F,CAAgB,GAAKl/F,GAAoBm/F,CAAmB,CAC7F,CACI,IAAI+U,GAAoCD,GACxC,SAASE,GAAmBzyI,EAAM,CAChC,OAAOA,EAAK,cAAc,YAAY,OAASA,EAAK,cAAc,YAAY,GACpF,CACI,IAAI0yI,GAAgCD,GACpC,SAASE,GAAoB3yI,EAAMwgE,EAAa,CAC9C,GAAI,CACF,IAAI1P,EAAY0P,EAAY,MAAM,SAClC,OAAI1P,IAAc,MACT,GAEF,CAAC,CAACp1B,GAAgB8kC,EAAa,KAAK,CACnD,MAA0B,CAClB,MAAO,EACf,CACA,CACI,IAAIoyE,GAAgCD,GACpC,SAASE,GAAgB7yI,EAAM8xD,EAAO,CACpC,OAAOghF,GAAW,MAAM,SAASnmI,EAAI,CACnC,OAAOA,EAAG3M,EAAM8xD,CAAK,CAC7B,CAAO,CACP,CACI,IAAIghF,GAAa,CAAE,SAAS9yI,EAAM8xD,EAAO,CACvC,OAAOihF,GAAajhF,CAAK,CAC/B,EAAO,SAAS9xD,EAAM8xD,EAAO,CACvB,OAAOkhF,GAAiBlhF,CAAK,CACnC,EAAO,SAAS9xD,EAAM8xD,EAAO,CACvB,MAAO,CAAC8gF,GAA8B5yI,EAAM8xD,CAAK,CACvD,EAAO,SAAS9xD,EAAM8xD,EAAO,CACvB,OAAO6B,GAAa7B,CAAK,CAC/B,EAAO,SAAS9xD,EAAM8xD,EAAO,CACvB,OAAOiC,GAAcjC,CAAK,GAAK,CAACmhF,GAA4BnhF,CAAK,CACvE,EAAO,SAAS9xD,EAAM,CAChB,MAAO,CAACg0D,GAAyBh0D,EAAM,CACrC,gBAAiB,EACzB,CAAO,CACP,CAAK,EACD,SAAS+yI,GAAajhF,EAAO,CAC3B,OAAO4tB,GAAsB5tB,CAAK,IAAM,QAC9C,CACI,SAASkhF,GAAiBlhF,EAAO,CAC/B,OAAOA,EAAM,MAAM,WAAa,MACtC,CACI,IAAImhF,GAA8Br0G,GAAgB,SAASs0G,EAAoCphF,EAAO,CACpG,OAAMA,GAAU,MAA4BA,EAAM,OAG9CihF,GAAajhF,EAAM,MAAM,GAAKiC,GAAcjC,EAAM,MAAM,EACnD,GAEFohF,EAAoCphF,EAAM,MAAM,EAL9C,EAMf,CAAK,EACD,SAASqhF,GAAuB3uI,EAAGstD,EAAO,CACxC,IAAIgZ,EAAOsF,GAAiBte,CAAK,EACjC,MAAO,CAAE,WAAY,OAAQ,OAAO,EAAG,SAASgZ,CAAI,CAC1D,CACI,SAASsoE,GAA4B5uI,EAAGg8D,EAAa,CACnD,IAAI//D,EAAS+/D,EAAY,OACzB,GAAI//D,EAAO,MAAM,WAAa,WAAa4yI,GAAa7yE,CAAW,EACjE,MAAO,GAET,IAAIvI,EAAex3D,EAAO,SAAS,KAAK,SAASC,EAAO,CACtD,OAAOA,EAAM,MAAM,WAAa,SACxC,CAAO,EACD,OAAIu3D,IAAiBuI,CAI3B,CACI,SAAS6yE,GAAavhF,EAAO,CAC3B,IAAIwhF,EACAC,GAAaD,EAAoBxhF,EAAM,cAAgB,MAAQwhF,IAAsB,OAAS,OAASA,EAAkB,cAC7H,OAAOC,GAAaA,IAAczhF,EAAM,OAAO,UACrD,CACI,SAAS0hF,GAAgBxzI,EAAM,CAC7B,OAAOw0D,GAAYx0D,CAAI,GAAKs0D,GAAqBt0D,CAAI,CAC3D,CACI,IAAIyzI,GAA4BD,GAChC,SAASE,GAAiC1zI,EAAMwgE,EAAa,CAC3D,OAAOrjC,GAAmBn9B,EAAM,EAAE,IAAM,QAAUy0G,GAAiBj0C,CAAW,IAAM,IAASmzE,GAAmBnzE,CAAW,CACjI,CACI,SAASmzE,GAAmB7hF,EAAO,CACjC,OAAOjyB,GAA2BiyB,EAAO,GAAG,EAAE,KAAK,SAAS9D,EAAK,CAC/D,OAAOsF,GAA4BtF,EAAK,GAAM,EAAI,CAC1D,CAAO,CACP,CACI,SAAS4lF,GAAgC5zI,EAAMwgE,EAAa,CAC1D,OAAOqP,GAAsBrP,EAAa,CACxC,cAAe,GAChB,IAAM,IACb,CACI,IAAIqzE,GAA6CD,GACjD,SAASE,GAAkB9zI,EAAM,CAC/B,IAAI8zE,EAAW,MAAM,KAAK9zE,EAAK,WAAW,UAAU,EAChD+zI,EAAW/zI,EAAK,YAAY,KAAI,EAChCg0I,EAAa,sBACjB,GAAID,EAAS,SAAW,IAAMA,EAAS,MAAMC,CAAU,GAAK,CAAA,GAAI,QAAU,EACxE,MAAO,GAET,IAAIC,EAAgBngE,EAAS,MAAMA,EAAS,QAAQ9zE,CAAI,EAAI,CAAC,EAAE,OAAO,SAASguD,EAAK,CAClF,OAAOA,EAAI,SAAS,YAAW,IAAO,KAAOA,EAAI,YAAY,KAAI,IAAO,EAChF,CAAO,EACD,OAAOimF,EAAc,SAAW,CACtC,CACI,IAAIC,GAA+BJ,GACnC,SAASK,GAAuBn0I,EAAMwgE,EAAa,CACjD,IAAIsK,EAAOkB,GAA0BxL,CAAW,EAChD,GAAI,CAACsK,GAAQ,CAAE,OAAQ,cAAc,EAAG,SAASA,CAAI,EACnD,MAAO,GAET,IAAIspE,EAAUvqE,GAAmBiB,CAAI,GAAK,CAAA,EAAIupE,EAAyBD,EAAQ,uBAC/E,MAAI,GAAAC,GAA0B1gF,GAAa6M,CAAW,EAI5D,CACI,IAAI8zE,GAA4CH,GAC5CI,GAAmC,SAA0Cv0I,EAAM8xD,EAAO,CAC5F,MAAO,CAAEwiF,GAA2CE,EAAe,EAAG,MAAM,SAAS7nI,EAAI,CACvF,OAAOA,EAAG3M,EAAM8xD,CAAK,CAC7B,CAAO,CACP,EACI,SAAS0iF,GAAgBx0I,EAAM,CAC7B,IAAIy0I,EACJ,GAAI,EAAEz0I,GAAS,OAA4By0I,EAAsBz0I,EAAK,iBAAmB,MAAQy0I,IAAwB,QAAUA,EAAoB,aACrJ,MAAO,GAET,IAAIvrG,EAASlpC,EAAK,cAAc,YAAW,EAC3C,OAAAkpC,EAAO,SAASlpC,EAAM,CAAC,EACvBkpC,EAAO,OAAOlpC,EAAMA,EAAK,WAAW,MAAM,EACnCkpC,EAAO,iBAAiB,SAAW,CAChD,CACI,SAASwrG,GAAe10I,EAAMwgE,EAAa,CACzC,OAAOA,EAAY,MAAM,WAAa,MAC5C,CACI,IAAIm0E,GAA2BD,GAC/B,SAASE,GAAc50I,EAAM8xD,EAAO,CAClC,MAAO,CAACA,EAAM,KAAK,MAAM,CAC/B,CACI,IAAI+iF,GAA0BD,GAC9B,SAASE,GAA0B90I,EAAMwgE,EAAa,CACpD,IAAImG,EAAWtnC,GAAuBmhC,EAAY,KAAK,UAAU,CAAC,EAClE,OAAOmG,IAAa,MAAQA,GAAY,CAC9C,CACI,IAAIouE,GAAuCD,GAC3C,SAASE,GAAsBh1I,EAAMwgE,EAAa,CAChD,IAAIy0E,EAAyBtjE,GAAyBnR,CAAW,EAAG00E,EAAgBD,EAAuB,cAO3G,MANI,EAAAC,GAAiBA,EAAc,SAAW,GAG1ClpE,GAA0BxL,CAAW,IAAM,YAAc3gC,GAA2B2gC,EAAa,4BAA4B,EAAE,QAG/Hi0C,GAAiBj0C,EAAa,CAChC,WAAY,CAAE,SAAS,CAC/B,CAAO,EAIP,CACI,IAAI20E,GAAmCH,GACvC,SAASI,GAAmBp1I,EAAMwgE,EAAa,CAI7C,MAHI,GAACA,EAAY,QAAQ,MAAM,GAG3B,CAACA,EAAY,KAAK,MAAM,EAAE,KAAI,EAIxC,CACI,IAAI60E,GAAgCD,GACpC,SAASE,GAAuBt1I,EAAM,CAIpC,MAHI,GAACA,EAAK,YAGNA,EAAK,aAAa,QAAQ,GAAKA,EAAK,aAAa,OAAO,EAIlE,CACI,IAAIu1I,GAAoCD,GACxC,SAASE,GAAyBx1I,EAAMwgE,EAAa,CACnD,IAAIsK,EAAOsF,GAAiB5P,CAAW,EACvC,OAAKsK,EAGE,CAAC,CAACF,GAAkB,UAAUE,CAAI,EAAE,uBAFlC,EAGf,CACI,IAAI2qE,GAAqCD,GACzC,SAASE,GAAuB11I,EAAM,CACpC,IAAIo4E,EAAO1P,GAAiB1oE,EAAK,SAAS,EACtC8qE,EAAOkB,GAA0BhsE,CAAI,EAOzC,OANI8qE,GAAQA,IAAS,QAGjB,CAACsN,GAGD,CAAC1jB,GAAmB10D,CAAI,EACnB,GAEFg0D,GAAyBh0D,CAAI,CAC1C,CACI,IAAI21I,GAAqCD,GACzC,SAASE,GAAiB51I,EAAM,CAC9B,MAAO,CAAC8xG,GAAsB9xG,CAAI,GAAK,CAAC2zD,GAAa3zD,CAAI,CAC/D,CACI,IAAI61I,GAA+BD,GACnC,SAASE,GAAsB91I,EAAMwgE,EAAa,CAChD,OAAOu1E,GAAkBv1E,CAAW,GAAK7L,GAA0B6L,CAAW,CACpF,CACI,SAASu1E,GAAkBjkF,EAAO,CAChC,IAAIutD,EAAiBzI,GAA+B,UAAU,EAC1D9rC,EAAOsF,GAAiBte,CAAK,EACjC,GAAI,CAACgZ,EACH,MAAO,GAET,IAAIha,EAAYgB,EAAM,MAAM,SAC5B,GAAIhB,IAAc,WAAaA,IAAc,OAAQ,CACnD,IAAIytE,EAAkB52D,GAAuB7V,CAAK,EAClD,MAAO,CAAC,CAACysE,CACjB,CACM,OAAOlf,EAAe,QAAQv0C,CAAI,GAAK,GAAKA,IAAS,QAC3D,CACI,SAASkrE,GAA8Bh2I,EAAMwgE,EAAa,CACxD,IAAIy1E,EAAoB,qCACxB,OAAOj2I,EAAK,aAAa,MAAM,GAAK,CAACoyD,GAAwBoO,EAAay1E,CAAiB,CACjG,CACI,IAAIC,GAA4CF,GAChD,SAASG,GAAan2I,EAAMwgE,EAAa,CACvC,GAAIA,EAAY,MAAM,WAAa,SAAWA,EAAY,QAAQ,MAAM,IAAM,GAC5E,MAAO,GAET,IAAIpiE,EAAQoiE,EAAY,KAAK,MAAM,EAAE,YAAW,EAChD,MAAO,CAAE,SAAU,QAAS,SAAU,SAAU,SAAU,SAASpiE,CAAK,IAAM,EACpF,CACI,IAAIg4I,GAAwBD,GAC5B,SAASE,GAAgCr2I,EAAMwgE,EAAa,CAC1D,IAAIsK,EAAOsF,GAAiBpwE,CAAI,EAChC,GAAI,CAAC8qE,EACH,MAAO,GAET,IAAIwrE,EAAc1/B,GAA+B,QAAQ,EACrD2/B,EAAgBD,EAAY,SAASxrE,CAAI,EAC7C,GAAI,CAACyrE,EACH,MAAO,GAET,IAAIC,EAA4Bx/B,GAAmD,EAOnF,MANI,GAACw/B,EAA0B,SAAS1rE,CAAI,GAGxC,CAACpC,GAAiBc,GAAehJ,CAAW,CAAC,GAAK,CAACkI,GAAiBa,GAA4BvpE,CAAI,CAAC,GAGrG,CAAC0oE,GAAiBM,GAAwBxI,CAAW,CAAC,EAIhE,CACI,IAAIi2E,GAA8CJ,GAClD,SAASK,GAAyB12I,EAAMwgE,EAAa,CACnD,OAAO9L,GAAmB8L,CAAW,CAC3C,CACI,SAASm2E,GAAsB32I,EAAM,CACnC,OAAO00D,GAAmB10D,CAAI,CACpC,CACI,SAAS42I,GAAmB52I,EAAMwgE,EAAa7pC,EAAS,CACtD,OAAOA,EAAQ,SACrB,CACI,IAAIkgH,GAA+BD,GACnC,SAASE,GAA8B92I,EAAM,CAC3C,OAAOyzD,GAAkCzzD,CAAI,CACnD,CACI,IAAI+2I,GAA4CD,GAChD,SAASE,GAAiCh3I,EAAMwgE,EAAa,CAC3D,IAAIy2E,EAAa,CAAC,CAACtvE,GAAuBnH,CAAW,EACrD,GAAI,CAACy2E,EACH,MAAO,GAET,IAAInsE,EAAOsF,GAAiBpwE,CAAI,EAChC,MAAI,EAAA8qE,GAAQA,IAAS,OAI3B,CACI,IAAIosE,GAA+CF,GACnD,SAASG,GAAqBn3I,EAAMwgE,EAAa,CAC/C,MAAO,CAACoyE,GAA8B5yI,EAAMwgE,CAAW,CAC7D,CACI,IAAI42E,GAAiCD,GACrC,SAASE,GAAer3I,EAAMwgE,EAAa,CACzC,OAAO4P,GAAiB5P,CAAW,IAAM,SAC/C,CACI,SAAS82E,GAA+Bt3I,EAAMwgE,EAAa,CACzD,OAAOqP,GAAsBrP,EAAa,CACxC,SAAU,GACX,IAAM,IACb,CACI,IAAI+2E,GAA6CD,GACjD,SAASE,GAAyBx3I,EAAM,CACtC,IAAIs9G,EAAQt9G,EAAK,aAAa,OAAO,EACrC,MAAO,CAAC,CAAC0oE,GAAiB40C,CAAK,CACrC,CACI,IAAIm6B,GAAuCD,GAC3C,SAASE,GAA6B13I,EAAMwgE,EAAa7pC,EAAS,CAChE,IAAIghH,EAAeC,EACnB,MAAO,CAACjhH,EAAQ,WAAa,CAACA,EAAQ,aAAeghH,EAAgBhhH,EAAQ,QAAU,MAAQghH,IAAkB,OAAS,OAASA,EAAc,SAAWC,EAAiBjhH,EAAQ,QAAU,MAAQihH,IAAmB,OAAS,OAASA,EAAe,QAAU,CAC3Q,CACI,IAAIC,GAA0CH,GAC9C,SAASI,GAAuB93I,EAAM,CACpC,IAAIqD,EAAKrD,EAAK,aAAa,IAAI,EAAE,KAAI,EACjC+3I,EAAa,SAAS,OAAO/7G,GAAwB34B,CAAE,EAAG,IAAI,EAC9D20I,EAAiB,MAAM,KAAKnlF,GAAuB7yD,CAAI,EAAE,iBAAiB+3I,CAAU,CAAC,EACzF,MAAO,CAACxjC,GAA0Bv0G,CAAI,GAAKg4I,EAAe,MAAM,SAAShqF,EAAK,CAC5E,MAAO,CAAC2F,GAAa3F,CAAG,CAChC,CAAO,CACP,CACI,IAAIiqF,GAAoCH,GACxC,SAASI,GAAuBl4I,EAAM,CACpC,OAAOu0G,GAA0Bv0G,CAAI,CAC3C,CACI,IAAIm4I,GAAoCD,GACxC,SAASE,GAAyBp4I,EAAM,CACtC,IAAIqD,EAAKrD,EAAK,aAAa,IAAI,EAAE,KAAI,EACjC+3I,EAAa,SAAS,OAAO/7G,GAAwB34B,CAAE,EAAG,IAAI,EAC9D20I,EAAiB,MAAM,KAAKnlF,GAAuB7yD,CAAI,EAAE,iBAAiB+3I,CAAU,CAAC,EACzF,MAAO,CAACxjC,GAA0Bv0G,CAAI,GAAKg4I,EAAe,KAAKrkF,EAAY,CACjF,CACI,IAAI0kF,GAAsCD,GAC1C,SAASE,GAAkBt4I,EAAM,CAC/B,OAAO8xG,GAAsB9xG,CAAI,CACvC,CACI,IAAIu4I,GAA6BD,GACjC,SAASE,GAAsBx4I,EAAM,CACnC,GAAI8xG,GAAsB9xG,CAAI,EAAG,CAC/B,IAAIy4I,EAAazrE,GAAgBhtE,CAAI,EACrC,OAAOy4I,EAAW,QAAU,GAAKA,EAAW,CAAC,EAAE,QAAU,GAAKA,EAAW,CAAC,EAAE,QAAU,GAAKA,EAAW,CAAC,EAAE,QAAU,CAC3H,CACM,MAAO,EACb,CACI,IAAIC,GAAmCF,GACvC,SAASG,GAAqB34I,EAAMwgE,EAAa,CAC/C,IAAIo4E,EAAsBp4E,EAAY,MAAO1P,EAAY8nF,EAAoB,SAAUC,EAAYD,EAAoB,KAIvH,GAHI9nF,IAAc,UAGdA,IAAc,UAAY,CAAC9wD,EAAK,QAAQ,OAC1C,MAAO,GAET,IAAI84I,EAAe,CAAE,SAAU,QAAS,QAAS,WAAY,QAAS,OAAO,EAI7E,GAHIhoF,IAAc,SAAWgoF,EAAa,SAASD,CAAS,GAGxDrqB,GAAoBhuD,CAAW,GAAKvM,GAASuM,CAAW,EAC1D,MAAO,GAET,IAAIu4E,EAAe,CAAE,QAAS,SAAU,UAAU,EAClD,GAAIA,EAAa,SAASjoF,CAAS,EAAG,CACpC,IAAI8oB,EAAQhjF,EAAO,iBAAiBoJ,CAAI,EACpCg5I,EAAa,SAASp/D,EAAM,iBAAiB,aAAa,EAAG,EAAE,EACnE,GAAIo/D,EAAY,CACd,IAAI7hF,EAAOn3D,EAAK,sBAAqB,EAOrC,GANAm3D,EAAO,CACL,IAAKA,EAAK,IACV,OAAQA,EAAK,OACb,KAAMA,EAAK,KAAO6hF,EAClB,MAAO7hF,EAAK,MAAQ6hF,GAElB,CAAC/jF,GAA0BkC,EAAMn3D,CAAI,EACvC,MAAO,EAEnB,CACQ,MAAO,EACf,CACM,IAAIi5I,EAAkB7mF,GAAwBoO,EAAa,OAAO,EAClE,GAAI1P,IAAc,SAAWmoF,EAAiB,CAC5C,IAAIC,EAAYD,GAAmBj5I,EAC/Bm5I,EAAgBF,EAAkBl8G,GAA2Bk8G,CAAe,EAAIz4E,EACpF,GAAI04E,EAAU,QAAS,CACrB,IAAIprF,EAAM+E,GAAuBqmF,CAAS,EACtCE,EAAkBtrF,EAAI,eAAeorF,EAAU,OAAO,EACtDG,EAAyBD,GAAmBr8G,GAA2Bq8G,CAAe,EAC1F,GAAIC,GAA0B7qB,GAAoB6qB,CAAsB,EACtE,MAAO,EAEnB,CACQ,IAAI/0G,EAAQ,6GACRg1G,EAAkBz5G,GAA2Bs5G,EAAe70G,CAAK,EAAE,CAAC,EACxE,GAAIg1G,GAAmB9qB,GAAoB8qB,CAAe,EACxD,MAAO,EAEjB,CAGM,QAFIC,EAAyB,CAAA,EACzB71B,EAAeljD,EACZkjD,GAAc,CACnB,GAAIA,EAAa,MAAM,GAAI,CACzB,IAAI81B,EAAkBtlC,GAA4BwP,CAAY,EAAE,OAAO,SAAS+1B,EAAS,CACvF,OAAO/4G,GAAmB+4G,EAAQ,aAAa,iBAAiB,GAAK,EAAE,EAAE,SAAS/1B,EAAa,MAAM,EAAE,CACnH,CAAW,EAAE,IAAI,SAAS+1B,EAAS,CACvB,OAAO18G,GAA2B08G,CAAO,CACrD,CAAW,EACDF,EAAuB,KAAK,MAAMA,EAAwBt/I,GAAmBu/I,CAAe,CAAC,CACvG,CACQ91B,EAAeA,EAAa,MACpC,CAOM,GANI61B,EAAuB,OAAS,GAAKA,EAAuB,MAAM/qB,EAAmB,GAGrF,CAACkrB,GAAoBl5E,CAAW,GAGhC,CAAC,WAAWA,EAAY,8BAA8B,WAAW,CAAC,EACpE,MAAO,GAIT,QAFIt3B,EAASpyC,EAAS,YAAW,EAC7BsiG,EAAa54B,EAAY,SACpBh6D,EAAQ,EAAGA,EAAQ4yF,EAAW,OAAQ5yF,IAAS,CACtD,IAAI9F,EAAQ04F,EAAW5yF,CAAK,EACxB9F,EAAM,WAAW,WAAa,GAAKgoE,GAAiBhoE,EAAM,WAAW,SAAS,IAAM,IACtFwoC,EAAO,mBAAmBxoC,EAAM,UAAU,CAEpD,CACM,IAAI28D,EAAQ,MAAM,KAAKn0B,EAAO,eAAc,CAAE,EAC1CywG,EAAoB/mF,GAAsC4N,CAAW,EACzE,OAAOnD,EAAM,KAAK,SAASlG,EAAM,CAC/B,IAAIyiF,EAAW3kF,GAA0BkC,EAAMn3D,CAAI,EACnD,GAAI,CAAC25I,EAAkB,OACrB,OAAOC,EAET,IAAIC,EAAiBF,EAAkB,KAAK,SAAS94E,EAAc,CACjE,OAAOlL,GAAcwB,EAAM0J,EAAa,kBAAkB,CACpE,CAAS,EACD,OAAO+4E,GAAYC,CAC3B,CAAO,CACP,CACI,IAAIC,GAAiCnB,GACjCoB,GAAuB,CACzB,MAAO,GACP,OAAQ,GACR,aAAc,IAEhB,SAASL,GAAoBl5E,EAAa,CACxC,IAAIs/D,EAAc92D,GAAwBxI,EAAa,GAAO,EAAI,EAClE,OAAIs/D,IAAgB,IAAMr3D,GAAuBq3D,EAAaia,EAAoB,IAAM,GAC/E,GAEFv5E,EAAY,SAAS,KAAK,SAASg8D,EAAQ,CAChD,OAAOA,EAAO,MAAM,WAAa,SAAW,CAACv0D,GAAgBu0D,CAAM,CAC3E,CAAO,CACP,CACI,SAASwd,GAAch6I,EAAMwgE,EAAa7pC,EAAS,CACjD,OAAIkgH,GAA6B72I,EAAMwgE,EAAa7pC,CAAO,EAClD,CAAC,CAAC32B,EAAK,cAAc,SAAS,EAEhC,EACb,CACI,IAAIi6I,GAAyBD,GAC7B,SAASE,GAAoBl6I,EAAMwgE,EAAa,CAC9C,IAAI+jE,EAAgB/jE,EAAY,KAAK,cAAc,EACnD,GAAI,CAAC+jE,GAAiB77D,GAAiB67D,CAAa,IAAM,GACxD,MAAO,GAET,IAAIzzE,EAAY0P,EAAY,MAAM,SAClC,GAAI,CAAE,WAAY,QAAS,QAAQ,EAAG,SAAS1P,CAAS,IAAM,GAC5D,MAAO,GAET,IAAIqpF,EAAe35E,EAAY,KAAK,eAAe,GAAK,QACxD,GAAIA,EAAY,QAAQ,UAAU,GAAK25E,EAAa,YAAW,IAAO,OACpE,MAAO,GAET,IAAIC,EAAqB,CAAE,SAAU,QAAS,SAAU,QAAQ,EAChE,GAAItpF,IAAc,SAAWspF,EAAmB,SAAS55E,EAAY,MAAM,IAAI,EAC7E,MAAO,GAET,IAAIouD,EAAepuD,EAAY,KAAK,eAAe,GAAK,QACxD,GAAIA,EAAY,QAAQ,UAAU,GAAKouD,EAAa,YAAW,IAAO,OACpE,MAAO,GAET,IAAI9jD,EAAOkB,GAA0BxL,CAAW,EAC5C+F,EAAWlnC,GAAuBmhC,EAAY,KAAK,UAAU,CAAC,EAClE,GAAI+F,EAAW,GAAK/F,EAAY,QAAQ,MAAM,EAAG,CAC/C,IAAIkT,EAAU9I,GAAkB,UAAUE,CAAI,EAC9C,GAAI4I,IAAY,QAAUA,EAAQ,OAAS,SACzC,MAAO,EAEjB,CACM,MAAI,EAAAnN,EAAW,GAAK/F,EAAY,YAAc,CAAC9L,GAAmB8L,CAAW,GAAK,CAAC7L,GAA0B6L,CAAW,EAI9H,CACI,IAAI65E,GAA+BH,GACnC,SAASI,GAA0Bt6I,EAAMwgE,EAAa,CACpD,IAAIsK,EAAOkB,GAA0BxL,CAAW,EAChD,MAAO,CAAC,CAACq0C,GAAyB/pC,CAAI,CAC5C,CACI,IAAIyvE,GAAuCD,GAC3C,SAASE,GAA4Bx6I,EAAMwgE,EAAa,CACtD,IAAIsK,EAAOkB,GAA0BxL,EAAa,CAChD,KAAM,EACd,CAAO,EACD,MAAO,CAAC,CAACs0C,GAAuBhqC,CAAI,CAC1C,CACI,IAAI2vE,GAAyCD,GAC7C,SAASE,GAAmB7hI,EAAI,CAC9B,OAAKA,EAGDA,EAAG,aAAa,aAAa,IAAM,OAC9B,GAEF6hI,GAAmBpoF,GAA4Bz5C,CAAE,CAAC,EALhD,EAMf,CACI,SAAS8hI,GAAuB36I,EAAM,CACpC,OAAO06I,GAAmBpoF,GAA4BtyD,CAAI,CAAC,CACjE,CACI,IAAI46I,GAAoCD,GACxC,SAASE,GAAmB76I,EAAMwgE,EAAa,CAC7C,IAAIgrE,EAAO,SACX,OAAOhrE,EAAY,UAAU,KAAK,SAASn5C,EAAM,CAC/C,OAAOmkH,EAAK,KAAKnkH,CAAI,CAC7B,CAAO,CACP,CACI,IAAIyzH,GAAgCD,GACpC,SAASE,GAAuB/6I,EAAMwgE,EAAa,CACjD,OAAOwL,GAA0BxL,EAAa,CAC5C,KAAM,GACN,SAAU,GACX,IAAM,IACb,CACI,IAAIw6E,GAAoCD,GACxC,SAASE,GAAuBj7I,EAAMwgE,EAAa,CACjD,IAAIgrE,EAAO,SACP/iD,EAAQjoB,EAAY,UACxB,GAAIioB,EAAM,QACR,QAASyyD,EAAO,EAAGngJ,EAAI0tF,EAAM,OAAQyyD,EAAOngJ,EAAGmgJ,IAC7C,GAAI1P,EAAK,KAAK/iD,EAAMyyD,CAAI,CAAC,EACvB,MAAO,GAIb,MAAO,EACb,CACI,IAAIC,GAAoCF,GACpCG,GAAsB,CACxB,wBAAyB9I,GACzB,mBAAoBlP,GACpB,sBAAuBF,GACvB,2BAA4BjC,GAC5B,6BAA8B8Q,GAC9B,4BAA6BoJ,GAC7B,6BAA8BrJ,GAC9B,4BAA6BkJ,GAC7B,qBAAsBxJ,GACtB,iCAAkCD,GAClC,0CAA2CR,GAC3C,qCAAsCX,GACtC,6BAA8BP,GAC9B,wBAAyBiL,GACzB,4BAA6BlL,GAC7B,4BAA6BgL,GAC7B,sBAAuB98B,GACvB,2BAA4BF,GAC5B,sBAAuB8xB,GACvB,gCAAiCT,GACjC,8BAA+BT,GAC/B,kCAAmCrB,GACnC,iCAAkCsN,GAClC,gCAAiCvN,GACjC,+BAAgCqN,GAChC,gCAAiCjO,GACjC,iCAAkCH,GAClC,2BAA4BJ,GAC5B,iCAAkCT,GAClC,kCAAmClH,GACnC,oCAAqCU,GACrC,uBAAwBuV,GACxB,8BAA+B7V,GAC/B,gCAAiC9mB,GACjC,oCAAqCytB,GACrC,8CAA+CJ,GAC/C,iBAAkBkP,GAClB,mBAAoBpf,GACpB,yBAA0Btf,GAC1B,0BAA2B8qB,GAC3B,yBAA0ByT,GAC1B,gCAAiC3gB,GACjC,2BAA4Buf,GAC5B,qBAAsBH,GACtB,0BAA2BzN,GAC3B,kBAAmBxN,GACnB,yBAA0B/f,GAC1B,8BAA+B86B,GAC/B,qBAAsBj6B,GACtB,4BAA6B+5B,GAC7B,wBAAyBl6B,GACzB,4BAA6Bg6B,GAC7B,+BAAgCpX,GAChC,kBAAmBzjB,GACnB,oBAAqBujB,GACrB,wBAAyBkK,GACzB,6BAA8B7H,GAC9B,8BAA+BH,GAC/B,6BAA8BF,GAC9B,gCAAiCJ,GACjC,6BAA8BH,GAC9B,kCAAmCF,GACnC,mCAAoCL,GACpC,kCAAmCgW,GACnC,qBAAsBpd,GACtB,wBAAyBL,GACzB,+BAAgCqd,GAChC,mBAAoBv6B,GACpB,uBAAwB+mB,GACxB,0BAA2BH,GAC3B,qCAAsC0G,GACtC,qCAAsC+M,GACtC,oBAAqBlZ,GACrB,4BAA6BsF,GAC7B,2BAA4B0G,GAC5B,kBAAmBgN,GACnB,sBAAuBrmB,GACvB,yBAA0BD,GAC1B,8BAA+BwP,GAC/B,0BAA2B9uB,GAC3B,iCAAkC4uB,GAClC,yBAA0B+W,GAC1B,uBAAwBj8B,GACxB,qCAAsCkV,GACtC,wCAAyCrB,GACzC,uCAAwCkoB,GACxC,oBAAqBjX,GACrB,iCAAkC9jB,GAClC,oCAAqC46B,GACrC,iCAAkC50B,GAClC,4BAA6B+Z,GAC7B,uBAAwBiO,GACxB,gCAAiCJ,GACjC,uBAAwB8M,GACxB,wBAAyB36B,GACzB,qBAAsBy6B,GACtB,+BAAgCD,GAChC,uCAAwC3W,GACxC,sCAAuC0W,GACvC,gBAAiBL,GACjB,oCAAqCF,GACrC,iCAAkCtU,GAClC,2BAA4B9C,GAC5B,8BAA+BN,GAC/B,0BAA2BsX,GAC3B,uBAAwBD,GACxB,8BAA+BzP,GAC/B,6BAA8BuP,GAC9B,oCAAqC3Q,GACrC,oBAAqBhJ,GACrB,8BAA+B0H,GAC/B,wBAAyBliB,GACzB,+BAAgCkU,GAChC,0BAA2B4J,GAC3B,6BAA8BmW,GAC9B,6BAA8Bvb,GAC9B,4BAA6Bqb,GAC7B,wBAAyBF,GACzB,oCAAqCf,GACrC,gCAAiClT,GACjC,sCAAuCyI,GACvC,2BAA4BsL,GAC5B,+BAAgCJ,GAChC,kBAAmBF,GACnB,gCAAiC74B,GACjC,mBAAoB24B,GACpB,2BAA4BJ,GAC5B,wBAAyB1Y,GACzB,0BAA2BD,GAC3B,wBAAyBva,GACzB,uBAAwB6yB,GACxB,0BAA2B1Q,GAC3B,6BAA8BF,GAC9B,qCAAsCuQ,GACtC,+BAAgC/3B,GAChC,eAAgB8D,GAChB,kBAAmBf,GACnB,gCAAiCjE,GACjC,uBAAwBD,GACxB,sCAAuC+4B,GACvC,qBAAsB/0B,GACtB,oBAAqB80B,GACrB,8BAA+BvY,GAC/B,8BAA+BkY,GAC/B,wBAAyBR,GACzB,+BAAgCh3B,GAChC,oBAAqBulB,GACrB,6BAA8BgS,GAC9B,yBAA0B7e,GAC1B,uBAAwB7B,GACxB,yBAA0BhY,GAC1B,2BAA4BX,GAC5B,6BAA8BN,GAC9B,sBAAuB0lB,GACvB,2BAA4BzgB,GAC5B,8BAA+BH,GAC/B,2BAA4BqrB,GAC5B,sBAAuB1L,GACvB,sCAAuCuL,GACvC,4BAA6BqJ,GAC7B,wBAAyBH,GACzB,6BAA8BhV,GAC9B,4BAA6B8U,IAE3B6I,GAAgCD,GACpC,SAASE,GAAYzvI,EAAO,CAC1B,KAAK,GAAKA,EAAM,GAChB,KAAK,KAAO,KACZ,KAAK,aAAe,CAAA,EACpB,KAAK,OAAS,IACpB,CACI,IAAI0vI,GAAuBD,GAC3B,SAASE,GAAuBnqE,EAAM,CACpC,GAAI,OAAOA,GAAS,SAAU,CAC5B,GAAIgqE,GAA8BhqE,CAAI,EACpC,OAAOgqE,GAA8BhqE,CAAI,EAE3C,GAAI,wBAAwB,KAAKA,CAAI,EACnC,OAAO,IAAI,SAAS,UAAYA,EAAO,GAAG,EAAC,EAE7C,MAAM,IAAI,eAAe,4DAA4D,OAAOA,CAAI,CAAC,CACzG,CACM,OAAOA,CACb,CACI,SAASoqE,IAAmB,CAC1B,IAAIzlI,EAAU,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAA,EAClF,OAAI,MAAM,QAAQA,CAAO,GAAKhf,EAAQgf,CAAO,IAAM,YACjDA,EAAU,CACR,MAAOA,IAGJA,CACb,CACI,SAAS0lI,GAAMrqE,EAAM,CACfA,IACF,KAAK,GAAKA,EAAK,GACf,KAAK,UAAUA,CAAI,EAE3B,CACIqqE,GAAM,UAAU,QAAU,GAC1BA,GAAM,UAAU,IAAM,SAAa17I,EAAMgW,EAAS2gB,EAASt1B,EAASiB,EAAQ,CAC1E0T,EAAUA,GAAW,CAAA,EACrB,IAAIylF,EAAUzlF,EAAQ,eAAe,SAAS,EAAIA,EAAQ,QAAU,KAAK,QACrE2lI,EAAe,KAAK,WAAW3lI,EAAQ,OAAO,EAClD,GAAIylF,EAAS,CACX,IAAIv5D,EAAc,IAAIq5G,GAAqB,IAAI,EAC3CK,EAASpgH,GAAqB0G,EAAalsB,EAAS3U,EAASiB,CAAM,EACnEyQ,EACJ,GAAI,CACFA,EAAS,KAAK,SAAS,KAAK6oI,EAAQ57I,EAAK,WAAY27I,EAAc37I,EAAM22B,CAAO,CAC1F,OAAiBx9B,EAAG,CACN6G,GAAQA,EAAK,aACf7G,EAAE,UAAY4lC,GAAwB,OAAO/+B,CAAI,GAEnDsC,EAAOnJ,CAAC,EACR,MACV,CACayiJ,EAAO,UACV15G,EAAY,OAASnvB,EACrB1R,EAAQ6gC,CAAW,EAE7B,MACQ7gC,EAAQ,IAAI,CAEpB,EACIq6I,GAAM,UAAU,QAAU,SAAiB17I,EAAMgW,EAAS2gB,EAAS,CACjE3gB,EAAUA,GAAW,CAAA,EACrB,IAAI6lI,EAAY7lI,EAAS8lI,EAAoBD,EAAU,QAASpgD,EAAUqgD,IAAsB,OAAS,KAAK,QAAUA,EACxH,GAAI,CAACrgD,EACH,OAAO,KAET,IAAIkgD,EAAe,KAAK,WAAW3lI,EAAQ,OAAO,EAC9CksB,EAAc,IAAIq5G,GAAqB,IAAI,EAC3CK,EAASpgH,GAAqB0G,CAAoB,EACtD05G,EAAO,MAAQ,UAAiB,CAC9B,MAAM,IAAI,MAAM,mDAAmD,CAC3E,EACM,IAAI7oI,EACJ,GAAI,CACFA,EAAS,KAAK,SAAS,KAAK6oI,EAAQ57I,EAAK,WAAY27I,EAAc37I,EAAM22B,CAAO,CACxF,OAAex9B,EAAG,CACV,MAAI6G,GAAQA,EAAK,aACf7G,EAAE,UAAY4lC,GAAwB,OAAO/+B,CAAI,GAE7C7G,CACd,CACM,OAAA+oC,EAAY,OAASnvB,EACdmvB,CACb,EACIw5G,GAAM,UAAU,UAAY,SAAoBrqE,EAAM,CACpD,IAAI0qE,EAAS,MACT,CAAC1qE,EAAK,UAAYgqE,GAA8BhqE,EAAK,QAAQ,KAC/D,KAAK,eAAiB,IAEpBA,EAAK,eAAe,SAAS,IAC/B,KAAK,QAAUA,EAAK,SAElBA,EAAK,eAAe,SAAS,IAC3B,KAAK,eACP,KAAK,QAAUoqE,GAAiBpqE,EAAK,OAAO,EAE5C,KAAK,QAAUA,EAAK,SAGxB,CAAE,WAAY,OAAO,EAAG,OAAO,SAASlhC,EAAM,CAC5C,OAAOkhC,EAAK,eAAelhC,CAAI,CACvC,CAAO,EAAE,QAAQ,SAASA,EAAM,CACxB,OAAO4rG,EAAO5rG,CAAI,EAAIqrG,GAAuBnqE,EAAKlhC,CAAI,CAAC,CAC/D,CAAO,CACP,EACIurG,GAAM,UAAU,WAAa,SAAoB1lI,EAAS,CACxD,OAAI,KAAK,eACA+lB,GAAmB,KAAK,QAAS0/G,GAAiBzlI,GAAW,CAAA,CAAE,CAAC,EAEhEA,GAAW,KAAK,OAE/B,EACI,IAAIgmI,GAAgBN,GACpB,SAASO,GAAWh1H,EAAM,CACxB,KAAK,GAAKA,EAAK,GACf,KAAK,OAASsT,GAAkB,GAChC,KAAK,UAAYtT,EAAK,UACtB,KAAK,OAAS,KACd,KAAK,MAAQ,CAAA,CACnB,CACI,IAAIi1H,GAAsBD,GAC1B,SAASE,GAAK9qE,EAAM+qE,EAAa,CAC/B,KAAK,OAASA,EACd,KAAK,GAAK/qE,EAAK,GACf,KAAK,SAAWA,EAAK,UAAY,IAC7BA,EAAK,SACP91C,GAAehB,GAAkB,OAAO,SAAS82C,EAAK,MAAM,EAAG,UAAU,OAAOA,EAAK,OAAQ,wBAAwB,CAAC,EACtH,KAAK,OAASA,EAAK,QAErB,KAAK,cAAgB,OAAOA,EAAK,eAAkB,UAAYA,EAAK,cAAgB,GACpF,KAAK,QAAU,OAAOA,EAAK,SAAY,UAAYA,EAAK,QAAU,GAClE,KAAK,UAAY,OAAOA,EAAK,WAAc,UAAYA,EAAK,UAAY,GACxE,KAAK,aAAe,OAAOA,EAAK,cAAiB,UAAYA,EAAK,aAAe,GACjF,KAAK,IAAMA,EAAK,KAAO,CAAA,EACvB,KAAK,IAAMA,EAAK,KAAO,CAAA,EACvB,KAAK,KAAOA,EAAK,MAAQ,CAAA,EACzB,KAAK,KAAOA,EAAK,MAAQ,CAAA,EACzB,KAAK,QAAU,EAAAA,EAAK,QACpB,KAAK,OAASA,EAAK,OACfA,EAAK,UACP,KAAK,QAAUmqE,GAAuBnqE,EAAK,OAAO,EAE1D,CACI8qE,GAAK,UAAU,QAAU,UAAoB,CAC3C,MAAO,EACb,EACIA,GAAK,UAAU,OAAS,SAAgBxlH,EAAS,CAC/C,IAAI3gB,EAAU,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAA,EAC9EqmI,EAAY,qBAAuB,KAAK,GACxCC,EAAU,mBAAqB,KAAK,GACpCC,EAAkB,uCAAyC,KAAK,GAChEC,EAAgB,qCAAuC,KAAK,GAC5DxmI,EAAQ,kBACVspB,GAA0B,KAAK+8G,CAAS,EAE1C,IAAI72D,EAAWtlD,GAAQ,KAAK,SAAUvJ,CAAO,EAC7C,OAAI,KAAK,gBACH3gB,EAAQ,kBACVspB,GAA0B,KAAKi9G,CAAe,EAEhD/2D,EAAWA,EAAS,OAAO,SAASt0B,EAAS,CAC3C,OAAOyD,GAA0BzD,CAAO,CAClD,CAAS,EACGl7C,EAAQ,mBACVspB,GAA0B,KAAKk9G,CAAa,EAC5Cl9G,GAA0B,QAAQ,QAAU,KAAK,GAAK,6CAA8Ci9G,EAAiBC,CAAa,IAGlIxmI,EAAQ,mBACVspB,GAA0B,KAAKg9G,CAAO,EACtCh9G,GAA0B,QAAQ,QAAU,KAAK,GAAK,UAAW+8G,EAAWC,CAAO,GAE9E92D,CACb,EACI22D,GAAK,UAAU,UAAY,SAAmB/9I,EAAO4B,EAAMgW,EAAS2gB,EAASt1B,EAASiB,EAAQ,CAC5F,IAAI2I,EAAQ,KACRwxI,EAAa18G,GAAa,EAC9B,KAAK3hC,CAAK,EAAE,QAAQ,SAASwF,EAAI,CAC/B,IAAIiI,EAAQZ,EAAM,OAAO,OAAOrH,EAAG,IAAMA,CAAE,EACvC4yE,EAAS/5C,GAAyB5wB,EAAOZ,EAAM,GAAI+K,CAAO,EAC9DymI,EAAW,MAAM,SAAS51H,EAAK+vE,EAAK,CAClC/qF,EAAM,IAAI7L,EAAMw2E,EAAQ7/C,EAAS9P,EAAK,SAAS1kB,EAAO,CACpDy0F,EAAI,IAAI37D,GAAmB,CACzB,OAAQhwB,EAAM,GACd,OAAQ,GAAG,OAAOY,EAAM,GAAI,WAAW,EACvC,UAAW,IAAImvB,GAAmBh7B,CAAI,EACtC,MAAOmC,CACrB,CAAa,CAAC,CACd,CAAW,CACX,CAAS,CACT,CAAO,EACDs6I,EAAW,KAAK,SAASz5G,EAAS,CAChCA,EAAUA,EAAQ,OAAO,SAASn3B,EAAO,CACvC,OAAOA,CACjB,CAAS,EACDxK,EAAQ,CACN,KAAMjD,EACN,QAAS4kC,CACnB,CAAS,CACT,CAAO,EAAE,MAAS1gC,CAAM,CACxB,EACI65I,GAAK,UAAU,cAAgB,SAAuB/9I,EAAO4B,EAAMgW,EAAS2gB,EAAS,CACnF,IAAI1rB,EAAQ,KACR+3B,EAAU,CAAA,EACd,YAAK5kC,CAAK,EAAE,QAAQ,SAASwF,EAAI,CAC/B,IAAIiI,EAAQZ,EAAM,OAAO,OAAOrH,EAAG,IAAMA,CAAE,EACvC4yE,EAAS/5C,GAAyB5wB,EAAOZ,EAAM,GAAI+K,CAAO,EAC9DgtB,EAAQ,KAAKn3B,EAAM,QAAQ7L,EAAMw2E,EAAQ7/C,CAAO,CAAC,CACzD,CAAO,EACDqM,EAAUA,EAAQ,OAAO,SAASn3B,EAAO,CACvC,OAAOA,CACf,CAAO,EACM,CACL,KAAMzN,EACN,QAAS4kC,EAEjB,EACIm5G,GAAK,UAAU,IAAM,SAAcxlH,EAAS,CAC1C,IAAI+lH,EAAS,KACT1mI,EAAU,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAA,EAC9E3U,EAAU,UAAU,OAAS,EAAI,UAAU,CAAC,EAAI,OAChDiB,EAAS,UAAU,OAAS,EAAI,UAAU,CAAC,EAAI,OAC/C0T,EAAQ,kBACV,KAAK,kBAAiB,EAExB,IAAI43E,EAAI7tD,GAAa,EACjBgC,EAAa,IAAIm6G,GAAoB,IAAI,EACzChlF,EACJ,GAAI,CACFA,EAAQ,KAAK,oBAAoBvgC,EAAS3gB,CAAO,CACzD,OAAe7T,EAAO,CACdG,EAAOH,CAAK,EACZ,MACR,CACU6T,EAAQ,kBACV,KAAK,sBAAsBkhD,CAAK,EAElCA,EAAM,QAAQ,SAASl3D,EAAM,CAC3B4tF,EAAE,MAAM,SAAS+uD,EAAaC,EAAY,CACxC,IAAIH,EAAa18G,GAAa,EAC9B,CAAE,MAAO,MAAO,MAAM,EAAG,QAAQ,SAAS3hC,EAAO,CAC/Cq+I,EAAW,MAAM,SAAS51H,EAAK+vE,EAAK,CAClC8lD,EAAO,UAAUt+I,EAAO4B,EAAMgW,EAAS2gB,EAAS9P,EAAK+vE,CAAG,CACtE,CAAa,CACb,CAAW,EACD6lD,EAAW,KAAK,SAASz5G,EAAS,CAChC,IAAIjwB,EAAS8pI,GAAU75G,CAAO,EAC1BjwB,IACFA,EAAO,KAAO,IAAIioB,GAAmBh7B,CAAI,EACzC+hC,EAAW,MAAM,KAAKhvB,CAAM,EACxB2pI,EAAO,eACT,CAAE,MAAO,KAAK,EAAG,QAAQ,SAASt+I,EAAO,CACvC2U,EAAO3U,CAAK,EAAE,QAAQ,SAAS8jC,EAAa,CACtCA,EAAY,SAAW,KACzBA,EAAY,OAAS,OAE3C,CAAmB,CACnB,CAAiB,EACDnvB,EAAO,KAAK,QAAQ,SAASmvB,EAAa,CACpCA,EAAY,SAAW,KACzBA,EAAY,OAAS,OAEzC,CAAiB,IAGLy6G,EAAW,CACvB,CAAW,EAAE,MAAS,SAASrvH,EAAM,CACzB,OAAOsvH,EAAWtvH,CAAI,CAClC,CAAW,CACX,CAAS,CACT,CAAO,EACDsgE,EAAE,KAAK,UAAW,CACZ53E,EAAQ,kBACV0mI,EAAO,oBAAmB,EAE5B,WAAW,UAAW,CACpBr7I,EAAQ0gC,CAAU,CAC5B,EAAW,CAAC,CACZ,CAAO,EAAE,MAAS,SAAS5/B,EAAO,CACtB6T,EAAQ,kBACV0mI,EAAO,oBAAmB,EAE5Bp6I,EAAOH,CAAK,CACpB,CAAO,CACP,EACIg6I,GAAK,UAAU,QAAU,SAAkBxlH,EAAS,CAClD,IAAImmH,EAAU,KACV9mI,EAAU,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAA,EAC9EA,EAAQ,kBACV,KAAK,kBAAiB,EAExB,IAAI+rB,EAAa,IAAIm6G,GAAoB,IAAI,EACzChlF,EAAQ,KAAK,oBAAoBvgC,EAAS3gB,CAAO,EACrD,OAAIA,EAAQ,kBACV,KAAK,sBAAsBkhD,CAAK,EAElCA,EAAM,QAAQ,SAASl3D,EAAM,CAC3B,IAAIgjC,EAAU,CAAA,EACd,CAAE,MAAO,MAAO,MAAM,EAAG,QAAQ,SAAS5kC,EAAO,CAC/C4kC,EAAQ,KAAK85G,EAAQ,cAAc1+I,EAAO4B,EAAMgW,EAAS2gB,CAAO,CAAC,CAC3E,CAAS,EACD,IAAI5jB,EAAS8pI,GAAU75G,CAAO,EAC1BjwB,IACFA,EAAO,KAAO/S,EAAK,WAAa,IAAIg7B,GAAmBh7B,CAAI,EAAI,KAC/D+hC,EAAW,MAAM,KAAKhvB,CAAM,EACxB+pI,EAAQ,eACV,CAAE,MAAO,KAAK,EAAG,QAAQ,SAAS1+I,EAAO,CACvC2U,EAAO3U,CAAK,EAAE,QAAQ,SAAS8jC,EAAa,CACtCA,EAAY,SAAW,KACzBA,EAAY,OAAS,OAEvC,CAAe,CACf,CAAa,EACDnvB,EAAO,KAAK,QAAQ,SAASmvB,EAAa,CACpCA,EAAY,SAAW,KACzBA,EAAY,OAAS,OAErC,CAAa,GAGb,CAAO,EACGlsB,EAAQ,kBACV,KAAK,oBAAmB,EAEnB+rB,CACb,EACIo6G,GAAK,UAAU,kBAAoB,UAA6B,CAC9D,KAAK,WAAa,mBAAqB,KAAK,GAC5C,KAAK,SAAW,iBAAmB,KAAK,GACxC,KAAK,iBAAmB,wBAA0B,KAAK,GACvD,KAAK,eAAiB,sBAAwB,KAAK,EACzD,EACIA,GAAK,UAAU,sBAAwB,SAA+BjlF,EAAO,CAC3Ez8B,GAAY,cAAc,OAAO,KAAK,GAAI,IAAI,EAAE,OAAOy8B,EAAM,OAAQ,WAAW,EAAE,OAAO53B,GAA0B,YAAW,EAAI,IAAI,CAAC,EACvIA,GAA0B,KAAK,KAAK,gBAAgB,CAC1D,EACI68G,GAAK,UAAU,oBAAsB,UAA+B,CAClE78G,GAA0B,KAAK,KAAK,cAAc,EAClDA,GAA0B,KAAK,KAAK,QAAQ,EAC5CA,GAA0B,QAAQ,aAAe,KAAK,GAAI,KAAK,iBAAkB,KAAK,cAAc,EACpGA,GAA0B,QAAQ,QAAU,KAAK,GAAI,KAAK,WAAY,KAAK,QAAQ,CACzF,EACI,SAASu9G,GAAU75G,EAAS,CAC1B,GAAIA,EAAQ,OAAQ,CAClB,IAAI+5G,EAAa,GACbhqI,EAAS,CAAA,EAUb,OATAiwB,EAAQ,QAAQ,SAAS1qC,EAAG,CAC1B,IAAIuuB,EAAMvuB,EAAE,QAAQ,OAAO,SAAS0kJ,EAAS,CAC3C,OAAOA,CACnB,CAAW,EACDjqI,EAAOza,EAAE,IAAI,EAAIuuB,EACbA,EAAI,SACNk2H,EAAa,GAEzB,CAAS,EACGA,EACKhqI,EAEF,IACf,CACA,CACIopI,GAAK,UAAU,oBAAsB,SAA6BxlH,EAAS3gB,EAAS,CAClF,IAAIinI,EAAU,KACVC,EAAmB,sBAAwB,KAAK,GAChDC,EAAiB,oBAAsB,KAAK,GAC5CjmF,EAAQ,KAAK,OAAOvgC,EAAS3gB,CAAO,EACxC,OAAIA,EAAQ,kBACVspB,GAA0B,KAAK49G,CAAgB,EAEjDhmF,EAAQA,EAAM,OAAO,SAASl3D,EAAM,CAClC,GAAI,CACF,OAAOi9I,EAAQ,QAAQj9I,EAAK,WAAYA,EAAM22B,CAAO,CAC/D,OAAiBx0B,EAAO,CACd,MAAM,IAAI84B,GAAmB,CAC3B,OAAQgiH,EAAQ,GAChB,OAAQ,WACR,UAAW,IAAIjiH,GAAmBh7B,CAAI,EACtC,MAAOmC,CACnB,CAAW,CACX,CACA,CAAO,EACG6T,EAAQ,mBACVspB,GAA0B,KAAK69G,CAAc,EAC7C79G,GAA0B,QAAQ,QAAU,KAAK,GAAK,WAAY49G,EAAkBC,CAAc,GAE7FjmF,CACb,EACI,SAASkmF,GAAgBn2H,EAAM,CAC7B,OAAOoV,GAAuBpV,CAAI,EAAE,IAAI,SAASrjB,EAAI,CACnD,IAAIiI,EAAQob,EAAK,OAAO,OAAOrjB,EAAG,IAAMA,CAAE,EAC1C,OAAOiI,GAAS,OAAOA,EAAM,OAAU,WAAaA,EAAQ,IACpE,CAAO,EAAE,OAAO,OAAO,CACvB,CACI,SAASwxI,GAAiBnmF,EAAOomF,EAAS,CACxC,IAAIC,EAAe,CAAA,EACnB,OAAArmF,EAAM,QAAQ,SAASt1B,EAAY,CACjC,IAAIszD,EAAS74D,GAAuBuF,CAAU,EAC9CszD,EAAO,QAAQ,SAAShzD,EAAa,CAC/BA,EAAY,KAAOo7G,IACrBp7G,EAAY,KAAON,EAAW,KAC9B27G,EAAa,KAAKr7G,CAAW,EAEzC,CAAS,CACT,CAAO,EACMq7G,CACb,CACI,SAASC,GAAatoD,EAAQ,CAC5B,OAAOA,EAAO,OAAO,SAASrpF,EAAO,CACnC,OAAOA,EAAM,WAAa,EAClC,CAAO,CACP,CACI,SAAS4xI,GAAc1qI,EAAQ,CAC7B,IAAI2qI,EAAc,CAAE,MAAO,MAAO,MAAM,EACpCxmF,EAAQnkD,EAAO,MAAM,OAAO,SAAS/P,EAAQ,CAC/C,IAAIH,EAAS,EACb,OAAA66I,EAAY,QAAQ,SAASt/I,EAAO,CAClC4E,EAAO5E,CAAK,EAAIo/I,GAAax6I,EAAO5E,CAAK,CAAC,EAC1CyE,GAAUG,EAAO5E,CAAK,EAAE,MAClC,CAAS,EACMyE,EAAS,CACxB,CAAO,EACD,OAAIkQ,EAAO,WAAamkD,EAAM,SAC5BA,EAAQ,CAAEA,EAAM,OAAO,SAASnhD,EAAI1N,EAAI,CACtC,GAAI0N,EACF,OAAA2nI,EAAY,QAAQ,SAASt/I,EAAO,CAClC2X,EAAG3X,CAAK,EAAE,KAAK,MAAM2X,EAAG3X,CAAK,EAAGiK,EAAGjK,CAAK,CAAC,CACvD,CAAa,EACM2X,CAEnB,CAAS,CAAC,GAEGmhD,CACb,CACIilF,GAAK,UAAU,MAAQ,SAAeppI,EAAQiD,EAAS,CACrD,IAAI2nI,EAAU,KACVC,EAAcR,GAAgB,IAAI,EACtC,OAAAQ,EAAY,QAAQ,SAAS/xI,EAAO,CAClC,IAAIgyI,EAAgBR,GAAiBtqI,EAAO,MAAOlH,EAAM,EAAE,EACvD2vF,EAAc/+D,GAAyB5wB,EAAO8xI,EAAQ,GAAI3nI,CAAO,EACjE8nI,EACJ,GAAI,CACFA,EAAejyI,EAAM,MAAMgyI,EAAeriD,EAAY,OAAO,CACvE,OAAiBr5F,EAAO,CACd,IAAI47I,EACJ,MAAM,IAAI9iH,GAAmB,CAC3B,OAAQ0iH,EAAQ,GAChB,OAAQ,GAAG,OAAO9xI,EAAM,GAAI,QAAQ,EACpC,WAAYkyI,EAAgBhrI,EAAO,SAAW,MAAQgrI,IAAkB,SAAWA,EAAgBA,EAAc,CAAC,KAAO,MAAQA,IAAkB,OAAS,OAASA,EAAc,KACnL,MAAO57I,CACnB,CAAW,CACX,CACYw7I,EAAQ,cACVG,EAAa,QAAQ,SAAS57G,EAAa,CACzC,IAAI87G,GAAuBL,EAAQ,IAAI,SAASz7G,EAAY,EAAE,GAAKy7G,EAAQ,IAAI,SAASz7G,EAAY,EAAE,IAAMA,EAAY,SAAW,GAC/H+7G,EAAmBN,EAAQ,KAAK,SAASz7G,EAAY,EAAE,GAAKA,EAAY,SAAW,IACnF87G,GAAuBC,KACzB/7G,EAAY,OAAS,OAEnC,CAAW,EAEH27G,EAAc,QAAQ,SAAS3vF,EAAM,CACnC,OAAOA,EAAK,KACR4vF,EAAa,QAAQ5vF,CAAI,IAAM,KACjCA,EAAK,SAAW,GAE5B,CAAS,CACT,CAAO,EACDn7C,EAAO,MAAQ0qI,GAAc1qI,CAAM,EAC5BA,CACb,EACIopI,GAAK,UAAU,UAAY,SAAoB9qE,EAAM,CAC/CA,EAAK,eAAe,UAAU,IAChC,KAAK,SAAWA,EAAK,UAEnBA,EAAK,eAAe,eAAe,IACrC,KAAK,cAAgB,OAAOA,EAAK,eAAkB,UAAYA,EAAK,cAAgB,IAElFA,EAAK,eAAe,SAAS,IAC/B,KAAK,QAAU,OAAOA,EAAK,SAAY,UAAYA,EAAK,QAAU,IAEhEA,EAAK,eAAe,WAAW,IACjC,KAAK,UAAY,OAAOA,EAAK,WAAc,UAAYA,EAAK,UAAY,IAEtEA,EAAK,eAAe,cAAc,IACpC,KAAK,aAAe,OAAOA,EAAK,cAAiB,UAAYA,EAAK,aAAe,IAE/EA,EAAK,eAAe,KAAK,IAC3B,KAAK,IAAMA,EAAK,KAEdA,EAAK,eAAe,KAAK,IAC3B,KAAK,IAAMA,EAAK,KAEdA,EAAK,eAAe,MAAM,IAC5B,KAAK,KAAOA,EAAK,MAEfA,EAAK,eAAe,MAAM,IAC5B,KAAK,KAAOA,EAAK,MAEfA,EAAK,eAAe,QAAQ,IAC9B,KAAK,OAASA,EAAK,QAEjBA,EAAK,eAAe,SAAS,IAC/B,KAAK,QAAUmqE,GAAuBnqE,EAAK,OAAO,GAEhDA,EAAK,SACP91C,GAAehB,GAAkB,OAAO,SAAS82C,EAAK,MAAM,EAAG,UAAU,OAAOA,EAAK,OAAQ,wBAAwB,CAAC,EACtH,KAAK,OAASA,EAAK,OAE3B,EACI,IAAI6sE,GAAW,eACXC,IAAQ,UAAW,CACrB,SAASA,EAAM3uC,EAAO,CACpBt0G,GAAgB,KAAMijJ,CAAK,EAC3B,KAAK,KAAO,KACZ,KAAK,cAAgB3uC,EACrB,KAAK,UAAY5kC,GACjB,KAAK,MAAK,EACV,KAAK,eAAiB,IAC9B,CACM,OAAOxvE,GAAa+iJ,EAAO,CAAE,CAC3B,IAAK,oBACL,MAAO,UAA6B,CAClC,GAAI,MAAK,eAWT,SARIC,EAAS,CACX,OAAQ,CAAA,EACR,MAAO,CAAA,EACP,iBAAkB,CAAA,EAClB,0BAA2B,GAC3B,KAAM,KAAK,MAETC,EAAW,OAAO,KAAK,KAAK,KAAK,MAAM,EAClCC,EAAO,EAAGA,EAAOD,EAAS,OAAQC,IAAQ,CACjD,IAAIC,EAAOF,EAASC,CAAI,EACpBzyI,EAAQ,KAAK,KAAK,OAAO0yI,CAAI,EAC7BC,EAAkB3yI,EAAM,SAAU4yI,EAAOD,EAAgB,KAAME,EAAOF,EAAgB,KAAMG,EAAaH,EAAgB,WAC7HJ,EAAO,OAAOG,CAAI,EAAI,CACpB,KAAME,EACN,KAAMC,EACN,WAAYC,EAE1B,CAEU,QADIC,EAAU,OAAO,KAAK,KAAK,KAAK,KAAK,EAChCC,EAAO,EAAGA,EAAOD,EAAQ,OAAQC,IAAQ,CAChD,IAAIC,EAAOF,EAAQC,CAAI,EACnB53H,EAAO,KAAK,KAAK,MAAM63H,CAAI,EAC3BptH,EAAczK,EAAK,YAAa83H,EAAO93H,EAAK,KAChDm3H,EAAO,MAAMU,CAAI,EAAI,CACnB,YAAaptH,EACb,KAAMqtH,EAEpB,CAEU,QADIC,EAAmB,OAAO,KAAK,KAAK,KAAK,gBAAgB,EACpDC,EAAO,EAAGA,EAAOD,EAAiB,OAAQC,IAAQ,CACzD,IAAI7gJ,EAAQ4gJ,EAAiBC,CAAI,EAC7BC,EAAkB,KAAK,KAAK,iBAAiB9gJ,CAAK,EAClD+gJ,EAAiBD,EAAgB,eACrCd,EAAO,iBAAiBhgJ,CAAK,EAAI,CAC/B,eAAgB+gJ,EAE9B,CACUf,EAAO,0BAA4B,KAAK,KAAK,0BAC7C,KAAK,eAAiBA,EAChC,CACA,EAAS,CACD,IAAK,eACL,MAAO,UAAwB,CAC7B,IAAIgB,EAAgB,KAAK,eACpBA,GAGL,KAAK,YAAYA,CAAa,CACxC,CACA,EAAS,CACD,IAAK,oBACL,MAAO,SAA2BlqD,EAAQ,CAExC,QADI79E,EAAO,OAAO,KAAK69E,CAAM,EACpBmqD,EAAO,EAAGA,EAAOhoI,EAAK,OAAQgoI,IAAQ,CAC7C,IAAIC,EAAOjoI,EAAKgoI,CAAI,EACpB,GAAI,CAAC,KAAK,KAAK,OAAOC,CAAI,EACxB,MAAM,IAAI,MAAM,uCAAuC,OAAOA,EAAM,GAAG,CAAC,EAE1E,KAAK,KAAK,OAAOA,CAAI,EAAIC,GAAiB,KAAK,KAAK,OAAOD,CAAI,EAAGpqD,EAAOoqD,CAAI,CAAC,CAC1F,CACA,CACA,EAAS,CACD,IAAK,mBACL,MAAO,SAA0B/8C,EAAO,CAEtC,QADIlrF,EAAO,OAAO,KAAKkrF,CAAK,EACnBi9C,EAAO,EAAGA,EAAOnoI,EAAK,OAAQmoI,IAAQ,CAC7C,IAAIC,EAAOpoI,EAAKmoI,CAAI,EACpB,GAAI,CAAC,KAAK,KAAK,MAAMC,CAAI,EACvB,MAAM,IAAI,MAAM,sCAAsC,OAAOA,EAAM,GAAG,CAAC,EAEzE,KAAK,KAAK,MAAMA,CAAI,EAAIC,GAAgB,KAAK,KAAK,MAAMD,CAAI,EAAGl9C,EAAMk9C,CAAI,CAAC,CACtF,CACA,CACA,EAAS,CACD,IAAK,yBACL,MAAO,SAAgCv1C,EAAU,CAE/C,QADI7yF,EAAO,OAAO,KAAK6yF,CAAQ,EACtBy1C,EAAO,EAAGA,EAAOtoI,EAAK,OAAQsoI,IAAQ,CAC7C,IAAIC,EAAQvoI,EAAKsoI,CAAI,EACrB,GAAI,CAAC,KAAK,KAAK,iBAAiBC,CAAK,EACnC,MAAM,IAAI,MAAM,gDAAgD,OAAOA,EAAO,GAAG,CAAC,EAEpF,KAAK,KAAK,iBAAiBA,CAAK,EAAIC,GAAoB,KAAK,KAAK,iBAAiBD,CAAK,EAAG11C,EAAS01C,CAAK,CAAC,CACtH,CACA,CACA,EAAS,CACD,IAAK,cACL,MAAO,SAAqBxB,EAAQ,CAClC,KAAK,kBAAiB,EAClBA,EAAO,QACT,KAAK,kBAAkBA,EAAO,MAAM,EAElCA,EAAO,OACT,KAAK,iBAAiBA,EAAO,KAAK,EAEhCA,EAAO,kBACT,KAAK,uBAAuBA,EAAO,iBAAkB,kBAAkB,EAErEA,EAAO,4BACT,KAAK,KAAK,0BAA4B0B,GAAqB,KAAK,KAAK,0BAA2B1B,EAAO,yBAAyB,GAE9HA,EAAO,OACT,KAAK,KAAOA,EAAO,KAE/B,CACA,EAAS,CACD,IAAK,oBACL,MAAO,SAA2B3sD,EAAgB,CAChD,IAAIsuD,EAAgBC,GAAgB,EACpC,KAAK,eAAiB,CAAA,EACtB,IAAIC,EAAc3kJ,GAA2Bm2F,CAAc,EAAGyuD,EAC9D,GAAI,CACF,IAAKD,EAAY,EAAC,EAAI,EAAEC,EAAUD,EAAY,EAAC,GAAI,MAAQ,CACzD,IAAIvuD,EAASwuD,EAAQ,MACrB,GAAIxuD,IAAWn3D,GAAkB,WAAY,CAC3C,KAAK,eAAiB,CAAE,GAAG,EAC3B,MAChB,MAAyBm3D,IAAWn3D,GAAkB,WACtC,KAAK,eAAe,KAAKm3D,CAAM,EACtBquD,GACT,KAAK,eAAe,KAAKA,CAAa,CAEtD,CACA,OAAmBpiJ,EAAK,CACZsiJ,EAAY,EAAEtiJ,CAAG,CAC7B,QAAW,CACCsiJ,EAAY,EAAC,CACzB,CACA,CACA,EAAS,CACD,IAAK,QACL,MAAO,UAAiB,CACtB,IAAIzwC,EAAQ2wC,GAAwB,KAAK,aAAa,EACtD,KAAK,KAAO3wC,EAAM,MAAQ,KAC1B,KAAK,SAAWA,EAAM,SACtB,KAAK,SAAW,CAAA,EAChB,KAAK,MAAQ,CAAA,EACb,KAAK,OAAS,CAAA,EACd,KAAK,MAAQ,MACb,KAAK,YAAc,SACnB,KAAK,WAAa,CAAE,eAAgB,YAAY,EAChD,KAAK,OAASA,EAAM,OACpB,KAAK,eAAiBA,EAAM,eAC5B4wC,GAAe5wC,EAAM,MAAO,KAAM,SAAS,EAC3C4wC,GAAe5wC,EAAM,OAAQ,KAAM,UAAU,EAC7C,KAAK,KAAO,CAAA,EACZ,KAAK,KAAK,OAASA,EAAM,MAAQA,EAAM,KAAK,QAAU,CAAA,EACtD,KAAK,KAAK,MAAQA,EAAM,MAAQA,EAAM,KAAK,OAAS,CAAA,EACpD,KAAK,KAAK,iBAAmBA,EAAM,MAAQA,EAAM,KAAK,kBAAoB,CAAA,EAC1E,KAAK,KAAK,0BAA4BA,EAAM,MAAQA,EAAM,KAAK,2BAA6B,GAC5F,KAAK,mBAAkB,CACjC,CACA,EAAS,CACD,IAAK,kBACL,MAAO,SAAyBjZ,EAAS,CACvC,KAAK,SAASA,EAAQ,EAAE,EAAIA,EAAQ,QAC9C,CACA,EAAS,CACD,IAAK,UACL,MAAO,SAAiBllB,EAAM,CACxBA,EAAK,WACP,KAAK,KAAK,MAAMA,EAAK,EAAE,EAAIA,EAAK,UAElC,IAAIpqD,EAAO,KAAK,QAAQoqD,EAAK,EAAE,EAC3BpqD,EACFA,EAAK,UAAUoqD,CAAI,EAEnB,KAAK,MAAM,KAAK,IAAI8qE,GAAK9qE,EAAM,IAAI,CAAC,CAEhD,CACA,EAAS,CACD,IAAK,WACL,MAAO,SAAkBA,EAAM,CAC7B,IAAIn1D,EAAWm1D,EAAK,SAChBr6E,EAAQklB,CAAQ,IAAM,WACxB,KAAK,KAAK,OAAOm1D,EAAK,EAAE,EAAIn1D,EACxBllB,EAAQklB,EAAS,QAAQ,IAAM,UACjC,OAAO,KAAKA,EAAS,QAAQ,EAAE,OAAO,SAASi0B,EAAM,CACnD,OAAOj0B,EAAS,SAAS,eAAei0B,CAAI,GAAK,OAAOj0B,EAAS,SAASi0B,CAAI,GAAM,QACpG,CAAe,EAAE,QAAQ,SAASA,EAAM,CACpBj0B,EAAS,SAASi0B,CAAI,EAAE,QAAQ,UAAU,IAAM,IAClDj0B,EAAS,SAASi0B,CAAI,EAAI,IAAI,SAAS,UAAYj0B,EAAS,SAASi0B,CAAI,EAAI,GAAG,EAAC,EAEnG,CAAe,GAGD,KAAK,OAAOkhC,EAAK,EAAE,EACrB,KAAK,OAAOA,EAAK,EAAE,EAAE,UAAUA,CAAI,EAEnC,KAAK,OAAOA,EAAK,EAAE,EAAI,IAAI2qE,GAAc3qE,CAAI,CAEzD,CACA,EAAS,CACD,IAAK,MACL,MAAO,SAAa16C,EAAS3gB,EAAS3U,EAASiB,EAAQ,CACrD,KAAK,iBAAiB0T,CAAO,EAC7BglB,GAAmB,cAAchlB,CAAO,EACxCjf,EAAI,aAAe,CAAA,EACnB,IAAIspJ,EAAgBC,GAAc,KAAK,MAAO3pH,EAAS3gB,CAAO,EAC1DuqI,EAAcF,EAAc,IAC5BG,EAAgBH,EAAc,MAC9BI,EAAgB1gH,GAAa,EACjCwgH,EAAY,QAAQ,SAASt5H,EAAM,CACjCw5H,EAAc,MAAMC,GAAgBz5H,EAAM0P,EAAS3gB,CAAO,CAAC,CACvE,CAAW,EACD,IAAI2qI,EAAiB5gH,GAAa,EAC9BygH,EAAc,QAChBG,EAAe,MAAM,SAAS95H,EAAK,CACjC2Y,GAASxpB,CAAO,EAAE,KAAK,SAASoxF,EAAQ,CACtC,OAAOvgF,EAAIugF,CAAM,CACjC,CAAe,EAAE,MAAS,SAAS95E,EAAM,CACzB,QAAQ,KAAK,iCAAmCA,CAAI,EACpDzG,EAAI,MAAM,CAC1B,CAAe,CACf,CAAa,EAEH,IAAI+5H,EAA+B7gH,GAAa,EAChD6gH,EAA6B,MAAMH,CAAa,EAChDG,EAA6B,MAAMD,CAAc,EACjDC,EAA6B,KAAK,SAASC,EAA6B,CACtE,IAAIC,EAAkBD,EAA4B,IAAG,EACrD,GAAIC,GAAmBA,EAAgB,OAAQ,CAC7C,IAAI15C,EAAS05C,EAAgB,CAAC,EAC1B15C,IACFzwE,EAAU38B,GAAS,GAAI28B,EAASywE,CAAM,EAEtD,CACY,IAAI25C,EAAkBF,EAA4B,CAAC,EACnD,GAAI,CAACL,EAAc,OAAQ,CACzBzpJ,EAAI,aAAe,OACnBsK,EAAQ0/I,EAAgB,OAAO,SAAShuI,EAAQ,CAC9C,MAAO,CAAC,CAACA,CACzB,CAAe,CAAC,EACF,MACd,CACY,IAAIiuI,EAAkBjhH,GAAa,EACnCygH,EAAc,QAAQ,SAASv5H,EAAM,CACnC,IAAIg6H,EAAeP,GAAgBz5H,EAAM0P,EAAS3gB,CAAO,EACzDgrI,EAAgB,MAAMC,CAAY,CAChD,CAAa,EACDD,EAAgB,KAAK,SAASE,EAAkB,CAC9CnqJ,EAAI,aAAe,OACnBsK,EAAQ0/I,EAAgB,OAAOG,CAAgB,EAAE,OAAO,SAASnuI,EAAQ,CACvE,MAAO,CAAC,CAACA,CACzB,CAAe,CAAC,CAChB,CAAa,EAAE,MAASzQ,CAAM,CAC9B,CAAW,EAAE,MAASA,CAAM,CAC5B,CACA,EAAS,CACD,IAAK,QACL,MAAO,SAAe0gC,EAAShtB,EAAS,CACtC,IAAIusF,EAAQ,KAAK,MACjB,OAAOv/D,EAAQ,IAAI,SAASjB,EAAY,CACtC,GAAIA,EAAW,MACb,OAAOA,EAET,IAAI9a,EAAOmV,GAAgBmmE,EAAO,KAAMxgE,EAAW,EAAE,EACrD,GAAI,CAAC9a,EACH,MAAM,IAAI,MAAM,wEAAwE,EAE1F,GAAI,CACF,OAAOA,EAAK,MAAM8a,EAAY/rB,CAAO,CACnD,OAAqBsX,EAAM,CACb,GAAItX,EAAQ,MACV,MAAMsX,EAER,OAAO6zH,GAA4Bl6H,EAAMqG,CAAI,CAC3D,CACA,CAAW,CACX,CACA,EAAS,CACD,IAAK,UACL,MAAO,SAAiB+xE,EAAQ,CAC9B,OAAO,KAAK,MAAM,KAAK,SAASp4E,EAAM,CACpC,OAAOA,EAAK,KAAOo4E,CAC/B,CAAW,CACX,CACA,EAAS,CACD,IAAK,mBACL,MAAO,SAA0BrpF,EAAS,CACxC,IAAIw5F,EAAQ,KACRwB,EAAO,CAAA,EACPowC,EAAU,CAAA,EASd,GARA5xC,EAAM,MAAM,QAAQ,SAASvoF,EAAM,CACjCm6H,EAAQ,KAAKn6H,EAAK,EAAE,EACpBA,EAAK,KAAK,QAAQ,SAAStM,EAAK,CACzBq2F,EAAK,SAASr2F,CAAG,GACpBq2F,EAAK,KAAKr2F,CAAG,CAE7B,CAAa,CACb,CAAW,EACG,CAAE,SAAU,UAAW,SAAS3jB,EAAQgf,EAAQ,OAAO,CAAC,EAAG,CAI7D,GAHI,OAAOA,EAAQ,SAAY,WAC7BA,EAAQ,QAAU,CAAEA,EAAQ,OAAO,GAEjC,MAAM,QAAQA,EAAQ,OAAO,EAAG,CAClC,IAAIqrI,EAASrrI,EAAQ,QAAQ,KAAK,SAASnZ,EAAO,CAChD,OAAOm0G,EAAK,SAASn0G,CAAK,CAC1C,CAAe,EACGykJ,EAAUtrI,EAAQ,QAAQ,KAAK,SAASnZ,EAAO,CACjD,OAAOukJ,EAAQ,SAASvkJ,CAAK,CAC7C,CAAe,EACD,GAAIwkJ,GAAUC,EACZ,MAAM,IAAI,MAAM,uCAAuC,EAErDA,EACFtrI,EAAQ,QAAU,CAChB,KAAM,OACN,OAAQA,EAAQ,SAGlBA,EAAQ,QAAU,CAChB,KAAM,MACN,OAAQA,EAAQ,QAGlC,CACY,IAAIurI,EAAOvrI,EAAQ,QAKnB,GAJIurI,EAAK,OAAS,CAACA,EAAK,SACtBA,EAAK,OAASA,EAAK,MACnB,OAAOA,EAAK,OAEV,CAAC,MAAM,QAAQA,EAAK,MAAM,GAAKA,EAAK,OAAO,SAAW,EACxD,MAAM,IAAI,MAAM,0CAA0C,EAE5D,GAAI,CAAE,OAAQ,OAAO,EAAG,SAASA,EAAK,IAAI,EACxCA,EAAK,KAAO,OACZA,EAAK,OAAO,QAAQ,SAASliD,EAAQ,CACnC,GAAI,CAAC+hD,EAAQ,SAAS/hD,CAAM,EAC1B,MAAM,IAAI,MAAM,iBAAmBA,EAAS,sBAAsB,CAEpF,CAAe,UACQ,CAAE,MAAO,OAAQ,MAAM,EAAG,SAASkiD,EAAK,IAAI,EAAG,CACxDA,EAAK,KAAO,MACZ,IAAIC,EAAgBD,EAAK,OAAO,OAAO,SAAS5mI,EAAK,CACnD,MAAO,CAACq2F,EAAK,SAASr2F,CAAG,GAAK,CAAC,mBAAmB,KAAKA,CAAG,CAC1E,CAAe,EACG6mI,EAAc,SAAW,GAC3BzqJ,EAAI,IAAI,wBAA0ByqJ,EAAc,KAAK,MAAM,EAAI,GAAG,CAElF,KACc,OAAM,IAAI,MAAM,yBAA0B,OAAOD,EAAK,KAAM,GAAI,CAAC,CAE/E,CACU,OAAIvqJ,EAAQgf,EAAQ,KAAK,IAAM,UAC7B,OAAO,KAAKA,EAAQ,KAAK,EAAE,QAAQ,SAASqpF,EAAQ,CAClD,GAAI,CAAC+hD,EAAQ,SAAS/hD,CAAM,EAC1B,MAAM,IAAI,MAAM,iBAAmBA,EAAS,oBAAoB,CAEhF,CAAa,EAEIrpF,CACjB,CACA,EAAS,CACD,IAAK,cACL,MAAO,SAAqByrI,EAAU,CACpC,IAAIC,EAAW,CACb,MAAO,KAAK,MACZ,YAAa,KAAK,aAEhB,OAAOD,GAAa,WACtB,KAAK,YAAcA,GAEjBA,GAAYA,EAAS,eAAe,OAAO,GAAKA,EAAS,OAAS,OAAOA,EAAS,OAAU,WAC9F,KAAK,MAAQA,EAAS,OAEpBA,GAAYA,EAAS,eAAe,aAAa,GAAKA,EAAS,aAAe,OAAOA,EAAS,aAAgB,WAChH,KAAK,YAAcA,EAAS,aAE9B,KAAK,mBAAmBC,CAAQ,CAC1C,CACA,EAAS,CACD,IAAK,qBACL,MAAO,UAA8B,CACnC,IAAIC,EAAU,KACVD,EAAW,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,KAC/E5xI,GAAW/Y,EAAI,QAAQ,MAAM,sBAAsB,GAAK,CAAE,KAAK,GAAI,CAAC,EACxE,KAAK,MAAM,QAAQ,SAASkwB,EAAM,CAC3B06H,EAAQ,KAAK,MAAM16H,EAAK,EAAE,IAC7B06H,EAAQ,KAAK,MAAM16H,EAAK,EAAE,EAAI,CAAA,GAEhC,IAAI26H,EAAWD,EAAQ,KAAK,MAAM16H,EAAK,EAAE,GACrC,OAAO26H,EAAS,SAAY,UAAYF,GAAYE,EAAS,UAAYC,GAAWH,EAAUz6H,EAAK,GAAInX,CAAO,KAChH8xI,EAAS,QAAUC,GAAWF,EAAS16H,EAAK,GAAInX,CAAO,EAErE,CAAW,CACX,CACA,EAAS,CACD,IAAK,sBACL,MAAO,UAA+B,CACpC,KAAK,MAAK,EACV,KAAK,aAAY,CAC3B,CACA,EAAS,CACT,GAAK,EACGgyI,GAAgB3D,GACpB,SAAS6B,IAAmB,CAC1B,GAAIppJ,EAAO,QAAUA,EAAO,SAAW,OACrC,OAAOA,EAAO,OAEhB,GAAIA,EAAO,UAAYA,EAAO,SAAS,QAAUA,EAAO,SAAS,SAAW,OAC1E,OAAOA,EAAO,SAAS,MAE/B,CACI,SAASupJ,GAAwB3wC,EAAO,CACtC,IAAI/kC,EASJ,GARI+kC,GACF/kC,EAAShvC,GAAO+zE,CAAK,EACrB/kC,EAAO,QAAU+kC,EAAM,SAEvB/kC,EAAS,CAAA,EAEXA,EAAO,SAAWA,EAAO,UAAY,KACrCA,EAAO,OAASA,EAAO,QAAU,GAC7B,CAACA,EAAO,eAAgB,CAC1B,IAAIs1E,EAAgBC,GAAgB,EACpCv1E,EAAO,eAAiBs1E,EAAgB,CAAEA,CAAa,EAAK,CAAA,CACpE,CACM,OAAAt1E,EAAO,MAAQA,EAAO,OAAS,CAAA,EAC/BA,EAAO,OAASA,EAAO,QAAU,CAAA,EACjCA,EAAO,KAAOzwE,GAAS,CACrB,OAAQ,CAAA,EACR,MAAO,CAAA,CACf,EAASywE,EAAO,IAAI,EACPA,CACb,CACI,SAAS21E,GAAe3+C,EAAY+N,EAAOrgG,EAAQ,CACjD,IAAI1V,EAAGsB,EACP,IAAKtB,EAAI,EAAGsB,EAAI0mG,EAAW,OAAQhoG,EAAIsB,EAAGtB,IACxC+1G,EAAMrgG,CAAM,EAAEsyF,EAAWhoG,CAAC,CAAC,CAEnC,CACI,IAAI8lJ,GAAmB,SAA0BxpI,EAAI1N,EAAI,CACvD,IAAIo2I,EAAOp2I,EAAG,KAAMq2I,EAAOr2I,EAAG,KAC9B,OAAI,OAAOo2I,GAAS,UAAYP,GAAS,KAAKO,CAAI,IAChDA,EAAOt4G,GAAW,QAAW,QAAQs4G,CAAI,GAEvC,OAAOC,GAAS,UAAYR,GAAS,KAAKQ,CAAI,IAChDA,EAAOv4G,GAAW,QAAW,QAAQu4G,CAAI,GAEpC1kJ,GAAS,CAAA,EAAI+b,EAAI,CACtB,SAAU,CACR,KAAM0oI,GAAQ1oI,EAAG,SAAS,KAC1B,KAAM2oI,GAAQ3oI,EAAG,SAAS,KAC1B,WAAY/e,EAAQ+e,EAAG,SAAS,UAAU,IAAM,SAAW/b,GAAS,CAAA,EAAI+b,EAAG,SAAS,WAAY1N,EAAG,UAAU,EAAIA,EAAG,UAC9H,CACA,CAAO,CACP,EACQq3I,GAAkB,SAAyB3pI,EAAI1N,EAAI,CACrD,IAAI02I,EAAO12I,EAAG,KAAMqpB,EAAcrpB,EAAG,YACrC,OAAI,OAAO02I,GAAS,UAAYb,GAAS,KAAKa,CAAI,IAChDA,EAAO54G,GAAW,QAAW,QAAQ44G,CAAI,GAEvC,OAAOrtH,GAAgB,UAAYwsH,GAAS,KAAKxsH,CAAW,IAC9DA,EAAcyU,GAAW,QAAW,QAAQzU,CAAW,GAElD13B,GAAS,CAAA,EAAI+b,EAAI,CACtB,KAAMgpI,GAAQhpI,EAAG,KACjB,YAAa2b,GAAe3b,EAAG,WACvC,CAAO,CACP,EACQ8pI,GAAsB,SAA6B9pI,EAAI1N,EAAI,CAC7D,IAAI82I,EAAiB92I,EAAG,eACxB,OAAI,OAAO82I,GAAmB,UAAYjB,GAAS,KAAKiB,CAAc,IACpEA,EAAiBh5G,GAAW,QAAW,QAAQg5G,CAAc,GAExDnlJ,GAAS,CAAA,EAAI+b,EAAI,CACtB,eAAgBopI,GAAkBppI,EAAG,cAC7C,CAAO,CACP,EACQ+pI,GAAuB,SAA8B/pI,EAAI1N,EAAI,CAC/D,OAAI,OAAOA,GAAO,UAAY61I,GAAS,KAAK71I,CAAE,IAC5CA,EAAK89B,GAAW,QAAW,QAAQ99B,CAAE,GAEhCA,GAAM0N,CACnB,EACI,SAASuqI,GAAc/9C,EAAO5rE,EAAS3gB,EAAS,CAC9C,IAAI2Z,EAAO,CACT,IAAK,CAAA,EACL,MAAO,CAAA,GAELoyH,EAAax/C,EAAM,OAAO,SAAS9gE,EAAKxa,EAAM,CAChD,OAAKgZ,GAAwBhZ,EAAM0P,EAAS3gB,CAAO,EAG/CiR,EAAK,SACPwa,EAAI,MAAM,KAAKxa,CAAI,EACZwa,IAETA,EAAI,IAAI,KAAKxa,CAAI,EACVwa,GAPEA,CAQjB,EAAS9R,CAAI,EACP,OAAOoyH,CACb,CACI,SAASrB,GAAgBz5H,EAAM0P,EAAS3gB,EAAS,CAC/C,OAAIA,EAAQ,kBACVspB,GAA0B,KAAK,mBAAqBrY,EAAK,EAAE,EAEtD,SAAS5lB,EAASiB,EAAQ,CAC/B2kB,EAAK,IAAI0P,EAAS3gB,EAAS,SAAS+rB,EAAY,CAC9C,OAAO1gC,EAAQ0gC,CAAU,CACnC,EAAW,SAASzU,EAAM,CACZtX,EAAQ,MACV1T,EAAOgrB,CAAI,EAEXjsB,EAAQ8/I,GAA4Bl6H,EAAMqG,CAAI,CAAC,CAE3D,CAAS,CACT,CACA,CACI,SAAS6zH,GAA4Bl6H,EAAM9kB,EAAO,CAChD,IAAI+pG,EAAY/pG,EAAM,UAClB6/I,EAAc5hH,GAAgBj+B,CAAK,EACnC8/I,EAAO,CAAE,CACX,GAAI,iBACJ,OAAQ,OACR,KAAMD,EACN,aAAc,CAAA,CACtB,CAAO,EACGhiJ,EAAOksG,GAAa,IAAIlxE,GAAmBlkC,EAAS,eAAe,EACvE,OAAO,OAAO,OAAO,IAAIolJ,GAAoBj1H,CAAI,EAAG,CAClD,MAAO+6H,EACP,OAAQznH,GAAkB,SAC1B,MAAO,CAAE,CACP,IAAK,CAAA,EACL,IAAK,CAAA,EACL,KAAM0nH,EACN,KAAMjiJ,EACP,CACT,CAAO,CACP,CACI,SAAS6hJ,GAAWK,EAAS7iD,EAAQvvF,EAAS,CAC5C,IAAIqyI,EAAQD,EAAQ,MAAOxxD,EAAcwxD,EAAQ,YAAazoD,EAAOyoD,EAAQ,KAC7E,OAAO3nH,GAAkB,YAAc4nH,EAAQ,KAAOryI,GAAW/Y,EAAI,QAAQ,UAAU,EAAGA,EAAI,QAAQ,YAAY,GAAG,CAAC,GAAK,IAAMsoG,EAAS,gBAAkB,mBAAmB3O,CAAW,GAAK+I,GAAQA,IAAS,KAAO,SAAW,mBAAmBA,CAAI,EAAI,GACnQ,CACI,SAAS2oD,GAAazrH,EAAS,CAC7B,IAAI0rH,EAAYzrJ,GAAU,SAAUA,GAAU,aAAcA,EACxD0rJ,EAAS,CAAC,CAACxrJ,EACf,GAAI,EAAAurJ,GAAaC,GAGjB,IAAI,CAAC3rH,GAAW,CAACA,EAAQ,cACvB,MAAM,IAAI,MAAM,+JAA+J,EAE5K2rH,IACH1wF,GAAc,IAAI,oBAAqB,EAAI,EAC3C96D,EAAW6/B,EAAQ,eAEhB0rH,IACHzwF,GAAc,IAAI,kBAAmB,EAAI,EACzCh7D,EAASE,EAAS,aAE1B,CACI,SAASyrJ,IAAe,CAClB3wF,GAAc,IAAI,mBAAmB,IACvCA,GAAc,IAAI,oBAAqB,EAAK,EAC5C96D,EAAW,MAET86D,GAAc,IAAI,iBAAiB,IACrCA,GAAc,IAAI,kBAAmB,EAAK,EAC1Ch7D,EAAS,KAEjB,CACI,SAAS4rJ,IAAW,CAClBD,GAAY,EACZxrJ,EAAI,aAAa,QAAQ,SAAS4V,EAAI,CACpC,OAAOA,EAAG,MAAK,CACvB,CAAO,EACDilD,GAAc,MAAK,EACnB76D,EAAI,MAAQ,OACZA,EAAI,cAAgB,OACpBA,EAAI,aAAe,MACzB,CACI,IAAI0rJ,GAAmBD,GACvB,SAASE,GAAS/rH,EAAS3gB,EAAS3U,EAASiB,EAAQ,CACnD,GAAI,CACFq0B,EAAU,IAAIynE,GAAQznE,CAAO,EAC7B5/B,EAAI,MAAQ4/B,EAAQ,SACpB5/B,EAAI,cAAgBumC,GAAiB3G,EAAQ,QAAQ,CAC7D,OAAex9B,EAAG,CACV,OAAAspJ,GAAgB,EACTngJ,EAAOnJ,CAAC,CACvB,CACM,IAAIy0F,EAAI7tD,GAAa,EACjByvE,EAAQz4G,EAAI,OACZif,EAAQ,kBACVspB,GAA0B,WAAU,EAElC3I,EAAQ,OAAO,QAAU3gB,EAAQ,UAAY,IAC/C43E,EAAE,MAAM,SAAS/mE,EAAK+vE,EAAK,CACzBj7D,GAA0BhF,EAAS3gB,EAAS,QAAS,KAAM6Q,EAAK+vE,CAAG,CAC7E,CAAS,EAEHhJ,EAAE,MAAM,SAAS/mE,EAAK+vE,EAAK,CACzB4Y,EAAM,IAAI74E,EAAS3gB,EAAS6Q,EAAK+vE,CAAG,CAC5C,CAAO,EACDhJ,EAAE,KAAK,SAASv5E,EAAM,CACpB,GAAI,CACE2B,EAAQ,kBACVspB,GAA0B,SAAQ,EAEpC,IAAI0D,EAAUnE,GAAsBxqB,EAAK,IAAI,SAASwS,EAAK,CACzD,MAAO,CACL,QAASA,EAEvB,CAAW,CAAC,EACE8P,EAAQ,YACN3gB,EAAQ,kBACVspB,GAA0B,KAAK,iBAAiB,EAElD0D,EAAUwsE,EAAM,MAAMxsE,EAAShtB,CAAO,EAClCA,EAAQ,mBACVspB,GAA0B,KAAK,eAAe,EAC9CA,GAA0B,QAAQ,cAAe,kBAAmB,eAAe,EACnFA,GAA0B,YAAY,aAAa,GAErD0D,EAAQ,QAAQpD,EAAgB,EAChCoD,EAAUA,EAAQ,IAAI7G,EAAmB,GAE3C,GAAI,CACF96B,EAAQ2hC,EAASy/G,EAAgB,CAC7C,OAAmBtpJ,EAAG,CACVspJ,GAAgB,EAChBhoH,GAAYthC,CAAC,CACzB,CACA,OAAiBA,EAAG,CACVspJ,GAAgB,EAChBngJ,EAAOnJ,CAAC,CAClB,CACA,CAAO,EAAE,MAAS,SAASA,EAAG,CACtBspJ,GAAgB,EAChBngJ,EAAOnJ,CAAC,CAChB,CAAO,CACP,CACI,SAASwpJ,GAAKnzC,EAAO,CACnBz4G,EAAI,OAAS,IAAI+qJ,GAActyC,CAAK,CAC1C,CACI,SAASozC,GAAWvuI,EAAM27E,EAAWpxF,EAAU,CAC7C,IAAIyC,EAAUzC,EACV0D,EAAS,SAAiBgrB,EAAM,CAC9BA,aAAgB,QAClBA,EAAO,IAAI,MAAMA,CAAI,GAEvB1uB,EAAS0uB,CAAI,CACrB,EACUqJ,EAAUtiB,GAAQA,EAAK,SAAW,CAAA,EAClCsiB,EAAQ,eAAe,SAAS,GAAK,CAACA,EAAQ,QAAQ,SACxDA,EAAQ,QAAU,CAAE7/B,CAAQ,GAE9B,IAAIkf,EAAU3B,GAAQA,EAAK,SAAW,CAAA,EACtC,OAAQA,EAAK,QAAO,CACnB,IAAK,QACJ,OAAOquI,GAAS/rH,EAAS3gB,EAAS,SAASgtB,EAAS6/G,EAAW,CAC7D7/G,EAAUjE,GAAwB,cAAciE,CAAO,EACvD3hC,EAAQ2hC,CAAO,EACf6/G,EAAS,CACnB,EAAWvgJ,CAAM,EAEV,IAAK,iBACJ,OAAOwsG,GAAgBztG,EAASiB,CAAM,EAEvC,QACC,GAAIvL,EAAI,QAAUA,EAAI,OAAO,UAAYA,EAAI,OAAO,SAASsd,EAAK,OAAO,EACvE,OAAOtd,EAAI,OAAO,SAASsd,EAAK,OAAO,EAAEA,EAAMzV,CAAQ,CAEjE,CACA,CACQhI,EAAO,MAAQA,IACjBopC,GAAa,UAAU,YAAa4iH,EAAU,EAC9C5iH,GAAa,UAAU,WAAY,SAAS3rB,EAAM27E,EAAW8yD,EAAS,CACpEA,EAAQ,CACN,IAAK,EACf,CAAS,CACT,CAAO,GAEH,SAASC,GAAO1xE,EAAM,CACpB,KAAK,KAAOA,EAAK,IACjB,KAAK,SAAWA,EAAK,QACrB,KAAK,UAAY,CAAA,EACjBA,EAAK,SAAS,QAAQ,SAASklB,EAAS,CACtCx/F,EAAI,OAAO,gBAAgBw/F,CAAO,CAC1C,CAAO,CACP,CACIwsD,GAAO,UAAU,IAAM,UAAgB,CACrC,OAAO,KAAK,KAAK,MAAM,KAAM,SAAS,CAC5C,EACIA,GAAO,UAAU,QAAU,UAAmB,CAC5C,OAAO,KAAK,SAAS,MAAM,KAAM,SAAS,CAChD,EACIA,GAAO,UAAU,QAAU,SAAkBvhI,EAAM,CACjD,IAAIosE,EAAI72F,EAAI,MAAM,MAAK,EACnB6d,EAAO,KACX,OAAO,KAAK,KAAK,SAAS,EAAE,QAAQ,SAAShY,EAAK,CAChDgxF,EAAE,MAAM,SAASo1D,EAAO,CACtBpuI,EAAK,UAAUhY,CAAG,EAAE,QAAQomJ,CAAK,CAC3C,CAAS,CACT,CAAO,EACDp1D,EAAE,KAAKpsE,CAAI,CACjB,EACIuhI,GAAO,UAAU,IAAM,SAAaE,EAAM,CACxC,KAAK,UAAUA,EAAK,EAAE,EAAIA,CAChC,EACI,SAASC,GAAeC,EAAQ,CAC9BpsJ,EAAI,QAAQosJ,EAAO,EAAE,EAAI,IAAIJ,GAAOI,CAAM,CAChD,CACI,IAAIC,GAAkBF,GACtB,SAASG,IAAQ,CACf,IAAI7zC,EAAQz4G,EAAI,OAChB,GAAI,CAACy4G,EACH,MAAM,IAAI,MAAM,qBAAqB,EAEvCA,EAAM,oBAAmB,EACzB7kC,GAAc,CACpB,CACI,IAAI24E,GAAgBD,GACpB,SAASE,GAAelkD,EAAQvtC,EAAO,CACrC,IAAI97C,EAAU,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAA,EAClFA,EAAQ,SAAWA,EAAQ,UAAYjf,EAAI,OAAO,UAAY,KAC9DA,EAAI,cAAgB,CAAA,EACd+6D,aAAiBh3B,KACrBg3B,EAAQ,IAAI48C,GAA4B58C,CAAK,GAE/C,IAAI7qC,EAAOiW,GAASmiE,CAAM,EAC1B,GAAI,CAACp4E,EACH,MAAM,IAAI,MAAM,iBAAmBo4E,EAAS,GAAG,EAEjDp4E,EAAO,OAAO,OAAOA,EAAM,CACzB,cAAe,CACb,MAAO,EACjB,CACA,CAAO,EACD,IAAI0P,EAAU,CACZ,UAAW,GACX,QAAS,CAAEm7B,CAAK,EAChB,QAAS,CAAA,EACT,OAAQ,CAAA,EACR,KAAM,GACN,UAAW,GACX,KAAM,CAAA,EACN,SAAU,CAAA,GAERoiC,EAAajtE,EAAK,QAAQ0P,EAAS3gB,CAAO,EAC9C4pB,GAAiBs0D,CAAU,EAC3B/3D,GAAoB+3D,CAAU,EAC9B,IAAIlxD,EAAU3H,GAAyB,CAAE64D,EAAY,EACrD,OAAAlxD,EAAQ,WAAW,QAAQ,SAASjwB,EAAQ,CAC1C,OAAOA,EAAO,MAAM,QAAQ,SAAS6uB,EAAY,CAC/CA,EAAW,eAAiBi4D,GAAwBj4D,CAAU,CACxE,CAAS,CACT,CAAO,EACM5nC,GAAS,CAAA,EAAI0iC,GAAmB,EAAIsG,EAAS,CAClD,YAAahtB,CACrB,CAAO,CACP,CACI,SAASwtI,GAAmBC,EAAS,CACnC,IAAIC,EAASC,EAAmBC,EAC5BC,EAAUhpJ,EAAe4oJ,EAAS,CAAC,EAAG9sH,EAAUktH,EAAQ,CAAC,EAAG7tI,EAAU6tI,EAAQ,CAAC,EAAGjlJ,EAAWilJ,EAAQ,CAAC,EACtGC,EAAU,IAAI,UAAU,+BAA+B,EAC3D,GAAI,CAAC/lH,GAAepH,CAAO,EAAG,CAC5B,GAAI/3B,IAAa,OACf,MAAMklJ,EAERllJ,EAAWoX,EACXA,EAAU2gB,EACVA,EAAU7/B,CAClB,CACM,GAAIE,EAAQgf,CAAO,IAAM,SAAU,CACjC,GAAIpX,IAAa,OACf,MAAMklJ,EAERllJ,EAAWoX,EACXA,EAAU,CAAA,CAClB,CACM,GAAI,OAAOpX,GAAa,YAAcA,IAAa,OACjD,MAAMklJ,EAER,OAAA9tI,EAAUylB,GAAOzlB,CAAO,EACxBA,EAAQ,UAAY0tI,GAAWC,EAAoB3tI,EAAQ,YAAc,MAAQ2tI,IAAsB,OAASA,GAAqBC,EAAc7sJ,EAAI,UAAY,MAAQ6sJ,IAAgB,OAAS,OAASA,EAAY,YAAc,MAAQF,IAAY,OAASA,EAAU,KACvQ,CACL,QAAS/sH,EACT,QAAS3gB,EACT,SAAUpX,EAElB,CACI,IAAImlJ,GAAQ,UAAiB,CAAA,EAC7B,SAASC,IAAO,CACd,QAASC,EAAQ,UAAU,OAAQ/1H,EAAO,IAAI,MAAM+1H,CAAK,EAAGC,EAAS,EAAGA,EAASD,EAAOC,IACtFh2H,EAAKg2H,CAAM,EAAI,UAAUA,CAAM,EAEjC9B,GAAal0H,EAAK,CAAC,CAAC,EACpB,IAAIi2H,EAAsBX,GAAmBt1H,CAAI,EAAGyI,EAAUwtH,EAAoB,QAASnuI,EAAUmuI,EAAoB,QAASC,EAAwBD,EAAoB,SAAUvlJ,EAAWwlJ,IAA0B,OAASL,GAAQK,EAC1OC,EAAsBC,GAAmB1lJ,CAAQ,EAAGoD,EAAWqiJ,EAAoB,SAAUhjJ,EAAUgjJ,EAAoB,QAAS/hJ,EAAS+hJ,EAAoB,OACrK,GAAI,CACF9oH,GAAexkC,EAAI,OAAQ,qBAAqB,EAChDwkC,GAAe,CAACxkC,EAAI,SAAU,iHAAiH,CACvJ,OAAeoC,EAAG,CACV,OAAOorJ,GAAYprJ,EAAGyF,CAAQ,CACtC,CACM7H,EAAI,SAAW,GACXif,EAAQ,kBACVspB,GAA0B,MAAK,EAEjC,SAASklH,EAAetwD,EAAYuwD,EAAW,CAC7C,IAAI3B,EAAU,SAAiB9/G,EAAS,CAClChtB,EAAQ,mBACVspB,GAA0B,KAAK,aAAa,EAC5CA,GAA0B,QAAQ,WAAY,gBAAiB,aAAa,EAC5EA,GAA0B,YAAY,UAAU,EAChDA,GAA0B,IAAG,GAE/BvoC,EAAI,SAAW,GACf0tJ,EAAS,EACT,GAAI,CACFpjJ,EAAQ2hC,CAAO,CAC3B,OAAmB7pC,EAAG,CACVpC,EAAI,IAAIoC,CAAC,CACrB,CACA,EACYurJ,EAAgB,SAAuBp3H,EAAM,CAC/Cv2B,EAAI,SAAW,GACf0tJ,EAAS,EACT,GAAI,CACFniJ,EAAOgrB,CAAI,CACvB,OAAmBn0B,EAAG,CACVpC,EAAI,IAAIoC,CAAC,CACrB,CACA,EACQ,GAAI,CACE6c,EAAQ,kBACVspB,GAA0B,KAAK,eAAe,EAEhDqlH,GAAazwD,EAAYl+E,EAAS8sI,EAAS4B,CAAa,CAClE,OAAiBp3H,EAAM,CACbo3H,EAAcp3H,CAAI,CAC5B,CACA,CACM,SAASs3H,EAAct3H,EAAM,CACvBtX,EAAQ,kBACVspB,GAA0B,IAAG,EAE/BvoC,EAAI,SAAW,GACf6H,EAAS0uB,CAAI,EACbhrB,EAAOgrB,CAAI,CACnB,CACM,OAAAv2B,EAAI,UAAU4/B,EAAS3gB,EAASwuI,EAAgBI,CAAa,EACtD5iJ,CACb,CACI,SAASsiJ,GAAmB1lJ,EAAU,CACpC,IAAIoD,EAAUM,EAAQjB,EACtB,OAAI,OAAO,SAAY,YAAczC,IAAamlJ,GAChD/hJ,EAAW,IAAI,QAAQ,SAAS6iJ,EAAUC,EAAS,CACjDxiJ,EAASwiJ,EACTzjJ,EAAUwjJ,CACpB,CAAS,GAEDxjJ,EAAU,SAAiB0R,EAAQ,CACjC,OAAOnU,EAAS,KAAMmU,CAAM,CACtC,EACQzQ,EAAS,SAAgBgrB,EAAM,CAC7B,OAAO1uB,EAAS0uB,CAAI,CAC9B,GAEa,CACL,SAAUtrB,EACV,OAAQM,EACR,QAASjB,EAEjB,CACI,SAASsjJ,GAAazwD,EAAYl+E,EAAS8sI,EAASxgJ,EAAQ,CAC1D,IAAI8sG,EAAWD,GAAYn5F,EAAQ,QAAQ,EACvCgtB,EAAUosE,EAASlb,EAAYl+E,EAAS8sI,EAASxgJ,CAAM,EACvD0gC,IAAY,QACd8/G,EAAQ9/G,CAAO,CAEvB,CACI,SAASuhH,GAAYj3H,EAAM1uB,EAAU,CACnC,GAAI,OAAOA,GAAa,YAAcA,IAAamlJ,GAAO,CACxDnlJ,EAAS0uB,EAAK,OAAO,EACrB,MACR,CACM,MAAMA,CACZ,CACI,SAASy3H,IAAa,CACpB,QAASC,EAAQ,UAAU,OAAQ92H,EAAO,IAAI,MAAM82H,CAAK,EAAGC,EAAS,EAAGA,EAASD,EAAOC,IACtF/2H,EAAK+2H,CAAM,EAAI,UAAUA,CAAM,EAEjC,IAAIC,EAAuB1B,GAAmBt1H,CAAI,EAAGlY,EAAUkvI,EAAqB,QAASvuH,EAAUuuH,EAAqB,QAC5H3pH,GAAexkC,EAAI,OAAQ,0CAA0C,EACrEwkC,GAAe,CAACxkC,EAAI,SAAU,iHAAiH,EAC/I,IAAIouJ,EAAa,IAAI/mD,GAAQznE,EAAS5/B,EAAI,KAAK,EAC/C,OAAAA,EAAI,MAAQouJ,EAAW,SACvBpuJ,EAAI,cAAgBumC,GAAiB6nH,EAAW,QAAQ,EACxDpuJ,EAAI,SAAW,GACfif,EAAQ,WAAa,GACd,IAAI,QAAQ,SAAS6Q,EAAK+vE,EAAK,CACpC7/F,EAAI,OAAO,IAAIouJ,EAAYnvI,EAAS6Q,EAAK+vE,CAAG,CACpD,CAAO,EAAE,KAAK,SAAS5zD,EAAS,CACxBA,EAAUjE,GAAwB,cAAciE,CAAO,EACvD,IAAIyzD,EAAS0uD,EAAW,OAAO,IAAI,SAASC,EAAS,CACnD,IAAIplJ,EAAOolJ,EAAQ,KACnB,OAAOrmH,GAAwB,OAAO/+B,CAAI,CACpD,CAAS,EACGqlJ,EACJ,OAAIF,EAAW,YACbE,EAAkB3oH,GAAmB,GAEvC3lC,EAAI,SAAW,GACf0rJ,GAAgB,EACT,CACL,QAASz/G,EACT,OAAQyzD,EACR,gBAAiB4uD,EAE3B,CAAO,EAAE,MAAS,SAAS/3H,EAAM,CACzB,OAAAv2B,EAAI,SAAW,GACf0rJ,GAAgB,EACT,QAAQ,OAAOn1H,CAAI,CAClC,CAAO,CACP,CACI,SAASg4H,GAAUC,EAAgB,CACjC,IAAIC,EAASC,EAAoBC,EAC7B1vI,EAAU,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAA,EAClFA,EAAUylB,GAAOzlB,CAAO,EACxB,IAAI2vI,EAAUJ,EAAe,KAAK,SAASjtJ,EAAG,CAC5C,OAAOA,EAAE,eACjB,CAAO,GAAK,CAAA,EAAI+sJ,EAAkBM,EAAQ,gBACpC5uJ,EAAI,OAAO,iBAAiBif,CAAO,EACnCA,EAAQ,UAAYwvI,GAAWC,EAAqBzvI,EAAQ,YAAc,MAAQyvI,IAAuB,OAASA,GAAsBC,EAAe3uJ,EAAI,UAAY,MAAQ2uJ,IAAiB,OAAS,OAASA,EAAa,YAAc,MAAQF,IAAY,OAASA,EAAU,KACpRI,GAAaL,CAAc,EAC3B,IAAIviH,EAAUnE,GAAsB0mH,CAAc,EAClD,OAAAviH,EAAUjsC,EAAI,OAAO,MAAMisC,EAAShtB,CAAO,EAC3CgtB,EAAQ,QAAQpD,EAAgB,EAChCoD,EAAUA,EAAQ,IAAI7G,EAAmB,EAClC0pH,GAAc7iH,EAAShpC,GAAS,CACrC,gBAAiBqrJ,GAChBrvI,CAAO,CAAC,CACjB,CACI,SAAS4vI,GAAaL,EAAgB,CACpC,IAAIO,EAAa,CAAA,EACbC,EAAczqJ,GAA2BiqJ,CAAc,EAAGS,EAC9D,GAAI,CACF,IAAKD,EAAY,EAAC,EAAI,EAAEC,EAAUD,EAAY,EAAC,GAAI,MAAQ,CACzD,IAAIE,EAAgBD,EAAQ,MACxB/wD,EAAY6wD,EAAW,MAAK,EAChC,GAAKG,EAGL,CAAAA,EAAc,UAAYhxD,GAAyD,KACnF,IAAIixD,EAAaC,GAAoBF,CAAa,EAClDH,EAAW,QAAQ,MAAMA,EAAY7rJ,GAAmBisJ,CAAU,CAAC,EAC7E,CACA,OAAevoJ,EAAK,CACZooJ,EAAY,EAAEpoJ,CAAG,CACzB,QAAO,CACCooJ,EAAY,EAAC,CACrB,CACA,CACI,SAASI,GAAoBC,EAAS,CACpC,IAAIC,EAAkBD,EAAQ,OAAQpyD,EAAkBoyD,EAAQ,UAChE,OAAKpyD,EAGEqyD,EAAgB,IAAI,SAASC,EAAgB,CAClD,OAAOvnH,GAAwB,WAAWunH,EAAgBtyD,CAAe,CACjF,CAAO,EAJQqyD,CAKf,CACI,SAASR,GAAc7iH,EAAShtB,EAAS,CACvC,OAAO,IAAI,QAAQ,SAAS3U,EAASiB,EAAQ,CAC3C,IAAI8sG,EAAWD,GAAYn5F,EAAQ,QAAQ,EAC3Co5F,EAASpsE,EAAShtB,EAAS3U,EAASiB,CAAM,CAClD,CAAO,CACP,CACI,SAASikJ,GAAMvmJ,EAAM,CACnB,GAAIjJ,EAAI,MACN,MAAM,IAAI,MAAM,+EAA+E,EAEjG,OAAIiJ,GAAQhJ,EAAQgJ,EAAK,eAAe,IAAM,UAAYhJ,EAAQgJ,EAAK,WAAW,IAAM,WACtFA,EAAOA,EAAK,iBAEdoiJ,GAAapiJ,CAAI,EACjBjJ,EAAI,MAAQ4lC,GAAkB38B,CAAI,EAClCjJ,EAAI,cAAgBumC,GAAiBvmC,EAAI,KAAK,EACvCA,EAAI,MAAM,CAAC,CACxB,CACI,IAAIyvJ,GAAgBD,GAChBE,GAAa,SAAoBzjH,EAAShtB,EAASpX,EAAU,CAC/D,QAAQ,KAAK,8EAA8E,EACvF,OAAOoX,GAAY,aACrBpX,EAAWoX,EACXA,EAAU,CAAA,GAEZ,IAAI0wI,EAAY1wI,EAASqvI,EAAkBqB,EAAU,gBAAiBC,EAAcntJ,GAAyBktJ,EAAW1uJ,EAAW,EACnI4G,EAAS5E,GAAS,CAAA,EAAI0iC,GAAoB2oH,CAAe,EAAG,CAC1D,YAAasB,GACZ3sD,GAAiBh3D,EAAShtB,CAAO,CAAC,CAAC,CAC5C,EACQ4wI,GAAaH,GACbI,GAAmB,SAA0B7jH,EAAShtB,EAASpX,EAAU,CACvE,OAAOoX,GAAY,aACrBpX,EAAWoX,EACXA,EAAU,CAAA,GAEZ,IAAI8wI,EAAY9wI,EAASqvI,EAAkByB,EAAU,gBAAiBH,EAAcntJ,GAAyBstJ,EAAW7uJ,EAAW,EACnI+d,EAAQ,YAAc,CAAE,YAAY,EACpC,IAAI+wI,EAAoB/sD,GAAiBh3D,EAAShtB,CAAO,EAAGgxI,EAAaD,EAAkB,WAC3FnoJ,EAAS5E,GAAS,CAAA,EAAI0iC,GAAoB2oH,CAAe,EAAG,CAC1D,YAAasB,EACb,WAAYK,CACpB,CAAO,CAAC,CACR,EACQC,GAAoBJ,GACpBK,GAAc,SAAqBlkH,EAAShtB,EAASpX,EAAU,CAKjE,GAJI,OAAOoX,GAAY,aACrBpX,EAAWoX,EACXA,EAAU,CAAA,GAER,CAACgtB,GAAW,CAAC,MAAM,QAAQA,CAAO,EACpC,OAAOpkC,EAASokC,CAAO,EAEzB,IAAImkH,EAAqBnkH,EAAQ,IAAI,SAASjwB,EAAQ,CAGpD,QAFIq0I,EAAoBptJ,GAAS,CAAA,EAAI+Y,CAAM,EACvCs0I,EAAQ,CAAE,SAAU,aAAc,aAAc,cAAc,EACzDC,EAAO,EAAGC,EAASF,EAAOC,EAAOC,EAAO,OAAQD,IAAQ,CAC/D,IAAIlpJ,EAAQmpJ,EAAOD,CAAI,EACvBF,EAAkBhpJ,CAAK,EAAI2gC,GAAwB,kBAAkBqoH,EAAkBhpJ,CAAK,CAAC,CACvG,CACQ,OAAOgpJ,CACf,CAAO,EACDxoJ,EAASuoJ,CAAkB,CACjC,EACQK,GAAcN,GACdO,GAAiB,SAAwBzkH,EAAShtB,EAASpX,EAAU,CACnE,OAAOoX,GAAY,aACrBpX,EAAWoX,EACXA,EAAU,CAAA,GAEZ,IAAI0xI,EAAY1xI,EAASqvI,EAAkBqC,EAAU,gBAAiBf,EAAcntJ,GAAyBkuJ,EAAWxvJ,EAAW,EACnIsvJ,GAAYxkH,EAAS2jH,EAAa,SAASgB,EAAK,CAC9C,IAAIr+G,EAAM5M,GAAoB2oH,CAAe,EAC7CzmJ,EAAS,CACP,IAAK+oJ,EACL,IAAKr+G,CACf,CAAS,CACT,CAAO,CACP,EACQs+G,GAAkBH,GAClBI,GAAa,SAAoB7kH,EAAShtB,EAASpX,EAAU,CAC3D,OAAOoX,GAAY,aACrBpX,EAAWoX,EACXA,EAAU,CAAA,GAEZ,IAAI8xI,EAAY9xI,EAASqvI,EAAkByC,EAAU,gBAAiBnB,EAAcntJ,GAAyBsuJ,EAAW3vJ,EAAW,EAC/HspC,EAAMu4D,GAAiBh3D,EAAShtB,CAAO,EACvC+xI,EAAsB,SAA6Bh1I,EAAQ,CAC7DA,EAAO,MAAM,QAAQ,SAAS6uB,EAAY,CACxCA,EAAW,eAAiBi4D,GAAwBj4D,CAAU,CACxE,CAAS,CACT,EACMH,EAAI,WAAW,QAAQsmH,CAAmB,EAC1CtmH,EAAI,WAAW,QAAQsmH,CAAmB,EAC1CnpJ,EAAS5E,GAAS,CAAA,EAAI0iC,GAAoB2oH,CAAe,EAAG,CAC1D,YAAasB,GACZllH,CAAG,CAAC,CACb,EACQumH,GAAaH,GACbI,GAAa,SAAoBjlH,EAAShtB,EAASpX,EAAU,CAC3D,OAAOoX,GAAY,aACrBpX,EAAWoX,EACXA,EAAU,CAAA,GAEZ,IAAIkyI,EAAYlyI,EAASqvI,EAAkB6C,EAAU,gBAAiBvB,EAAcntJ,GAAyB0uJ,EAAW9vJ,EAAW,EAC/HqpC,EAAMu4D,GAAiBh3D,EAAShtB,CAAO,EAC3CpX,EAAS5E,GAAS,CAAA,EAAI0iC,GAAoB2oH,CAAe,EAAG,CAC1D,YAAasB,GACZllH,CAAG,CAAC,CACb,EACQ0mH,GAAaF,GACbG,GAA6B,CAC/B,KAAM,CACJ,MAAOtG,GACP,YAAavG,GACb,MAAOS,GACP,QAAS59C,GACT,WAAY89C,GACZ,KAAMC,GACN,oBAAqBd,IAEvB,OAAQ,CACN,UAAWtsC,IAEb,QAAS,CACP,eAAgBlV,GAChB,0BAA2BC,GAC3B,iBAAkBE,IAEpB,MAAO,CACL,yBAA0BzH,GAC1B,mBAAoBwG,GACpB,2BAA4BpB,GAC5B,gBAAiB97D,IAEnB,QAAS,CACP,IAAK,CACH,eAAgBs6B,GAChB,cAAeC,GACf,iBAAkBC,GAClB,uBAAwBG,GACxB,WAAYE,GACZ,cAAeC,GACf,aAAcC,GACd,eAAgBI,GAChB,WAAYM,GACZ,WAAYG,GACZ,cAAeM,EACzB,CACA,GAEQswF,GAA8BD,GAClCrxJ,EAAI,2BAA6BsxJ,GACjCtxJ,EAAI,UAAYwjC,GAChBxjC,EAAI,IAAM0jC,GACV1jC,EAAI,oBAAsB+jC,GAC1B/jC,EAAI,kBAAoB23G,GACxB33G,EAAI,YAAcunE,GAClBvnE,EAAI,OAAS66D,GACb76D,EAAI,QAAUgvC,GACdhvC,EAAI,QAAU+3G,GACd/3G,EAAI,UAAY65G,GAChB75G,EAAI,eAAiB85G,GACrB95G,EAAI,SAAWs6G,GACft6G,EAAI,MAAQ4rJ,GACZ5rJ,EAAI,QAAU,CAAA,EACdA,EAAI,eAAiBqsJ,GACrBrsJ,EAAI,YAAck4G,GAClBl4G,EAAI,YAAco4G,GAClBp4G,EAAI,YAAcs4G,GAClBt4G,EAAI,MAAQusJ,GACZvsJ,EAAI,UAAY2rJ,GAChB3rJ,EAAI,eAAiBwsJ,GACrBxsJ,EAAI,IAAMitJ,GACVjtJ,EAAI,MAAQyvJ,GACZzvJ,EAAI,SAAW0rJ,GACf1rJ,EAAI,WAAaguJ,GACjBhuJ,EAAI,UAAYuuJ,GAChBvuJ,EAAI,QAAUqrH,GACdrrH,EAAI,MAAQgkC,GACZhkC,EAAI,YAAY,KAAM6vJ,EAAU,EAChC7vJ,EAAI,YAAY,YAAakwJ,EAAiB,EAC9ClwJ,EAAI,YAAY,SAAU6wJ,EAAe,EACzC7wJ,EAAI,YAAY,MAAOywJ,EAAW,EAClCzwJ,EAAI,YAAY,KAAMixJ,EAAU,EAChCjxJ,EAAI,YAAY,KAAMoxJ,GAAY,EAAI,CAC1C,GAAG,EAEDpxJ,EAAI,MAAM,CACR,KAAM,KACN,KAAM,CACJ,MAAO,CACL,WAAY,CACV,YAAa,mDACb,KAAM,8CAER,WAAY,CACV,YAAa,6DACb,KAAM,qDAER,oBAAqB,CACnB,YAAa,wDACb,KAAM,oDAER,oBAAqB,CACnB,YAAa,iEACb,KAAM,mDAER,0BAA2B,CACzB,YAAa,yFACb,KAAM,8DAER,oBAAqB,CACnB,YAAa,qEACb,KAAM,8CAER,wBAAyB,CACvB,YAAa,0FACb,KAAM,oEAER,uBAAwB,CACtB,YAAa,8CACb,KAAM,0CAER,mBAAoB,CAClB,YAAa,uEACb,KAAM,oEAER,mBAAoB,CAClB,YAAa,iEACb,KAAM,+DAER,oBAAqB,CACnB,YAAa,+EACb,KAAM,2EAER,wBAAyB,CACvB,YAAa,uDACb,KAAM,kDAER,kBAAmB,CACjB,YAAa,sDACb,KAAM,iDAER,wBAAyB,CACvB,YAAa,4DACb,KAAM,uDAER,uBAAwB,CACtB,YAAa,kEACb,KAAM,oDAER,qBAAsB,CACpB,YAAa,oEACb,KAAM,6CAER,yBAA0B,CACxB,YAAa,0EACb,KAAM,uDAER,uBAAwB,CACtB,YAAa,oFACb,KAAM,8DAER,uBAAwB,CACtB,YAAa,yFACb,KAAM,iEAER,aAAc,CACZ,YAAa,8DACb,KAAM,gDAER,YAAa,CACX,YAAa,uEACb,KAAM,oDAER,yBAA0B,CACxB,YAAa,wDACb,KAAM,mDAER,oBAAqB,CACnB,YAAa,wDACb,KAAM,mDAER,qBAAsB,CACpB,YAAa,yDACb,KAAM,sDAER,wBAAyB,CACvB,YAAa,+CACb,KAAM,gDAER,kBAAmB,CACjB,YAAa,oEACb,KAAM,+CAER,gBAAiB,CACf,YAAa,wCACb,KAAM,+CAER,qBAAsB,CACpB,YAAa,+EACb,KAAM,iDAER,uBAAwB,CACtB,YAAa,gGACb,KAAM,kEAER,MAAO,CACL,YAAa,uCACb,KAAM,wDAER,cAAe,CACb,YAAa,uCACb,KAAM,sCAER,OAAQ,CACN,YAAa,+GACb,KAAM,kDAER,0BAA2B,CACzB,YAAa,mHACb,KAAM,+DAER,iBAAkB,CAChB,YAAa,iHACb,KAAM,8DAER,uBAAwB,CACtB,YAAa,4HACb,KAAM,uDAER,kBAAmB,CACjB,YAAa,gDACb,KAAM,0HAER,OAAQ,CACN,YAAa,wDACb,KAAM,sDAER,iBAAkB,CAChB,YAAa,iEACb,KAAM,4DAER,sBAAuB,CACrB,YAAa,+DACb,KAAM,yCAER,oBAAqB,CACnB,YAAa,uEACb,KAAM,8CAER,eAAgB,CACd,YAAa,4CACb,KAAM,qCAER,gBAAiB,CACf,YAAa,wCACb,KAAM,gCAER,qBAAsB,CACpB,YAAa,6CACb,KAAM,yCAER,wBAAyB,CACvB,YAAa,qFACb,KAAM,+DAER,6BAA8B,CAC5B,YAAa,0DACb,KAAM,oDAER,0BAA2B,CACzB,YAAa,sFACb,KAAM,2DAER,eAAgB,CACd,YAAa,mEACb,KAAM,yCAER,qBAAsB,CACpB,YAAa,wEACb,KAAM,6CAER,cAAe,CACb,YAAa,+DACb,KAAM,uCAER,gBAAiB,CACf,YAAa,uDACb,KAAM,8CAER,iBAAkB,CAChB,YAAa,qCACb,KAAM,iDAER,gBAAiB,CACf,YAAa,kDACb,KAAM,6CAER,kBAAmB,CACjB,YAAa,oEACb,KAAM,iEAER,yBAA0B,CACxB,YAAa,gHACb,KAAM,yEAER,+BAAgC,CAC9B,YAAa,0EACb,KAAM,wDAER,YAAa,CACX,YAAa,gFACb,KAAM,qCAER,sBAAuB,CACrB,YAAa,mDACb,KAAM,6DAER,oBAAqB,CACnB,YAAa,6CACb,KAAM,4CAER,kBAAmB,CACjB,YAAa,6DACb,KAAM,4CAER,8BAA+B,CAC7B,YAAa,oHACb,KAAM,0EAER,mBAAoB,CAClB,YAAa,gJACb,KAAM,6CAER,MAAO,CACL,YAAa,wCACb,KAAM,kCAER,+BAAgC,CAC9B,YAAa,6CACb,KAAM,+DAER,sCAAuC,CACrC,YAAa,6DACb,KAAM,qDAER,oCAAqC,CACnC,YAAa,kDACb,KAAM,oEAER,6BAA8B,CAC5B,YAAa,2CACb,KAAM,6DAER,+BAAgC,CAC9B,YAAa,sDACb,KAAM,0DAER,oCAAqC,CACnC,YAAa,2DACb,KAAM,+DAER,6BAA8B,CAC5B,YAAa,oDACb,KAAM,wDAER,oBAAqB,CACnB,YAAa,0CACb,KAAM,0CAER,kBAAmB,CACjB,YAAa,8BACb,KAAM,8FAER,qBAAsB,CACpB,YAAa,4FACb,KAAM,0DAER,YAAa,CACX,YAAa,qCACb,KAAM,oCAER,KAAM,CACJ,YAAa,6CACb,KAAM,kFAER,SAAU,CACR,YAAa,6CACb,KAAM,qDAER,QAAS,CACP,YAAa,yCACb,KAAM,0DAER,6BAA8B,CAC5B,YAAa,qEACb,KAAM,oCAER,eAAgB,CACd,YAAa,qEACb,KAAM,mDAER,sBAAuB,CACrB,YAAa,+DACb,KAAM,8DAER,gBAAiB,CACf,YAAa,0EACb,KAAM,4CAER,qBAAsB,CACpB,YAAa,uJACb,KAAM,2CAER,oBAAqB,CACnB,YAAa,yIACb,KAAM,2DAER,aAAc,CACZ,YAAa,iDACb,KAAM,gDAER,eAAgB,CACd,YAAa,wFACb,KAAM,oDAER,uBAAwB,CACtB,YAAa,mFACb,KAAM,2CAER,6BAA8B,CAC5B,YAAa,sHACb,KAAM,oEAER,OAAQ,CACN,YAAa,oDACb,KAAM,qDAER,eAAgB,CACd,YAAa,qDACb,KAAM,oDAER,mBAAoB,CAClB,YAAa,yDACb,KAAM,4CAER,8BAA+B,CAC7B,YAAa,0EACb,KAAM,+CAER,cAAe,CACb,YAAa,+CACb,KAAM,+CAER,wBAAyB,CACvB,YAAa,kDACb,KAAM,2CAER,YAAa,CACX,YAAa,gDACb,KAAM,sDAER,eAAgB,CACd,YAAa,gDACb,KAAM,+CAER,cAAe,CACb,YAAa,oGACb,KAAM,8DAER,SAAU,CACR,YAAa,0DACb,KAAM,uDAER,uBAAwB,CACtB,YAAa,uFACb,KAAM,uDAER,qBAAsB,CACpB,YAAa,+DACb,KAAM,0EAER,cAAe,CACb,YAAa,sDACb,KAAM,mEAER,gBAAiB,CACf,YAAa,sGACb,KAAM,kFAER,kBAAmB,CACjB,YAAa,oHACb,KAAM,qFAER,oBAAqB,CACnB,YAAa,wGACb,KAAM,0DAER,aAAc,CACZ,YAAa,2CACb,KAAM,0CAER,gBAAiB,CACf,YAAa,wCACb,KAAM,qCAChB,GAEM,OAAQ,CACN,aAAc,CACZ,OAAQ,UACR,SAAU,CACR,KAAM,8BACN,KAAM,CACJ,SAAU,wDACV,OAAQ,wDACtB,CACA,GAEQ,oBAAqB,CACnB,OAAQ,WACR,SAAU,CACR,KAAM,0DACN,KAAM,CACJ,SAAU,gDACV,OAAQ,mDAEV,WAAY,iGACxB,GAEQ,oBAAqB,CACnB,OAAQ,QACR,SAAU,CACR,KAAM,yCACN,KAAM,CACJ,SAAU,4DACV,OAAQ,+DAEV,WAAY,CACV,SAAU,kHACV,OAAQ,qHACtB,CACA,GAEQ,YAAa,CACX,OAAQ,UACR,SAAU,CACR,KAAM,qCACN,KAAM,sDAClB,GAEQ,wBAAyB,CACvB,OAAQ,UACR,SAAU,CACR,KAAM,4BACN,KAAM,CACJ,SAAU,0FACV,YAAa,kGACb,UAAW,oGACzB,CACA,GAEQ,oBAAqB,CACnB,OAAQ,WACR,SAAU,CACR,KAAM,8HACN,KAAM,CACJ,SAAU,8IACV,OAAQ,+IACR,OAAQ,8EAEV,WAAY,CACV,SAAU,iFACV,OAAQ,+EACR,OAAQ,qFACtB,CACA,GAEQ,mBAAoB,CAClB,OAAQ,WACR,SAAU,CACR,KAAM,uDACN,KAAM,6DAClB,GAEQ,aAAc,CACZ,OAAQ,UACR,SAAU,CACR,KAAM,8BACN,WAAY,iGACxB,GAEQ,uBAAwB,CACtB,OAAQ,UACR,SAAU,CACR,KAAM,4BACN,KAAM,CACJ,cAAe,yEACf,gBAAiB,wEACjB,aAAc,mGACd,eAAgB,mGAElB,WAAY,CACV,gBAAiB,+EACjB,cAAe,iFACf,eAAgB,yGAChB,aAAc,0GAC5B,CACA,GAEQ,qBAAsB,CACpB,OAAQ,WACR,SAAU,CACR,KAAM,2CACN,KAAM,CACJ,SAAU,sDACV,OAAQ,sDACtB,CACA,GAEQ,yBAA0B,CACxB,OAAQ,WACR,SAAU,CACR,KAAM,CACJ,QAAS,qCACT,YAAa,kFAEf,KAAM,CACJ,SAAU,uDACV,OAAQ,0DACR,UAAW,8DAEb,WAAY,CACV,SAAU,wDACV,OAAQ,0DACtB,CACA,GAEQ,uBAAwB,CACtB,OAAQ,WACR,SAAU,CACR,KAAM,oCACN,KAAM,CACJ,SAAU,wDACV,OAAQ,wDACtB,CACA,GAEQ,uBAAwB,CACtB,OAAQ,UACR,SAAU,CACR,KAAM,yDACN,WAAY,+EACZ,KAAM,4DAClB,GAEQ,wBAAyB,CACvB,OAAQ,WACR,SAAU,CACR,KAAM,8BACN,KAAM,qGAClB,GAEQ,wBAAyB,CACvB,OAAQ,WACR,SAAU,CACR,KAAM,kCACN,KAAM,CACJ,SAAU,+CACV,OAAQ,iDAEV,WAAY,CACV,KAAM,4EACN,WAAY,8HACZ,YAAa,kGACb,OAAQ,2FACR,MAAO,mEACP,oBAAqB,sHACnC,CACA,GAEQ,kBAAmB,CACjB,OAAQ,WACR,SAAU,CACR,KAAM,+BACN,KAAM,CACJ,SAAU,8CACV,OAAQ,8CACtB,CACA,GAEQ,2BAA4B,CAC1B,OAAQ,UACR,SAAU,CACR,KAAM,+DACN,KAAM,kEACN,WAAY,mCACxB,GAEQ,qCAAsC,CACpC,OAAQ,UACR,SAAU,CACR,KAAM,8EACN,KAAM,CACJ,kBAAmB,iFACnB,qBAAsB,sFACpC,CACA,GAEQ,eAAgB,CACd,OAAQ,QACR,SAAU,CACR,KAAM,8BACN,KAAM,sCAClB,GAEQ,aAAc,CACZ,OAAQ,UACR,SAAU,CACR,KAAM,2BACN,KAAM,oFACN,WAAY,mEACxB,GAEQ,4BAA6B,CAC3B,OAAQ,QACR,SAAU,CACR,KAAM,CACJ,SAAU,oDACV,OAAQ,sDAEV,KAAM,6CAClB,GAEQ,kBAAmB,CACjB,OAAQ,QACR,SAAU,CACR,KAAM,6BACN,KAAM,sCAClB,GAEQ,YAAa,CACX,OAAQ,WACR,SAAU,CACR,KAAM,qBACN,KAAM,CACJ,SAAU,2DACV,OAAQ,2DACtB,CACA,GAEQ,uBAAwB,CACtB,OAAQ,QACR,SAAU,CACR,KAAM,wBACN,KAAM,2BAClB,GAEQ,6BAA8B,CAC5B,OAAQ,UACR,SAAU,CACR,KAAM,6DACN,WAAY,+EACxB,GAEQ,gBAAiB,CACf,OAAQ,WACR,SAAU,CACR,KAAM,yBACN,KAAM,6FAClB,GAEQ,6BAA8B,CAC5B,OAAQ,QACR,SAAU,CACR,KAAM,iEACN,KAAM,kEAClB,GAEQ,0BAA2B,CACzB,OAAQ,UACR,SAAU,CACR,KAAM,iEACN,KAAM,CACJ,QAAS,kQACT,gBAAiB,+SACjB,gBAAiB,sTAEnB,WAAY,CACV,QAAS,qCACT,QAAS,+EACT,WAAY,kFACZ,QAAS,4FACT,UAAW,iGACX,QAAS,mFACT,qBAAsB,wGACtB,sBAAuB,kGACvB,gBAAiB,uFACjB,WAAY,uDACZ,iBAAkB,yEAClB,OAAQ,oDACR,cAAe,4EAC7B,CACA,GAEQ,iBAAkB,CAChB,OAAQ,UACR,SAAU,CACR,KAAM,CACJ,QAAS,iEACT,OAAQ,qBAEV,KAAM,CACJ,QAAS,kQACT,gBAAiB,+SACjB,gBAAiB,sTAEnB,WAAY,CACV,QAAS,qCACT,QAAS,+EACT,WAAY,kFACZ,QAAS,4FACT,UAAW,iGACX,mBAAoB,kFACpB,QAAS,mFACT,qBAAsB,wGACtB,sBAAuB,kGACvB,gBAAiB,uFACjB,WAAY,uDACZ,iBAAkB,yEAClB,OAAQ,oDACR,cAAe,4EAC7B,CACA,GAEQ,2BAA4B,CAC1B,OAAQ,UACR,SAAU,CACR,KAAM,qEACN,WAAY,CACV,QAAS,qEACT,cAAe,8FAEjB,KAAM,yFAClB,GAEQ,qBAAsB,CACpB,OAAQ,UACR,SAAU,CACR,KAAM,mFACN,KAAM,CACJ,WAAY,4NACZ,WAAY,uPAEd,WAAY,CACV,QAAS,8DACT,WAAY,8DACZ,QAAS,6EACT,WAAY,gFACZ,QAAS,0FACT,UAAW,6EACzB,CACA,GAEQ,2BAA4B,CAC1B,OAAQ,UACR,SAAU,CACR,KAAM,sDACN,KAAM,gEAClB,GAEQ,qBAAsB,CACpB,OAAQ,UACR,SAAU,CACR,KAAM,oDACN,KAAM,sDACN,WAAY,8GACxB,GAEQ,WAAY,CACV,OAAQ,UACR,SAAU,CACR,KAAM,sCACN,KAAM,wDAClB,GAEQ,oBAAqB,CACnB,OAAQ,UACR,SAAU,CACR,KAAM,sCACN,KAAM,uCAClB,GAEQ,qBAAsB,CACpB,OAAQ,UACR,SAAU,CACR,KAAM,iDACN,WAAY,uEACZ,KAAM,iEAClB,GAEQ,oBAAqB,CACnB,OAAQ,UACR,SAAU,CACR,KAAM,uBACN,KAAM,6BAClB,GAEQ,uBAAwB,CACtB,OAAQ,UACR,SAAU,CACR,KAAM,8CACN,WAAY,qEACxB,GAEQ,oBAAqB,CACnB,OAAQ,UACR,SAAU,CACR,KAAM,qDACN,KAAM,4DACN,WAAY,uDACxB,GAEQ,yBAA0B,CACxB,OAAQ,UACR,SAAU,CACR,KAAM,iDACN,WAAY,uEACZ,KAAM,wEAClB,GAEQ,0BAA2B,CACzB,OAAQ,UACR,SAAU,CACR,KAAM,8CACN,KAAM,oCACN,WAAY,gDACxB,GAEQ,wBAAyB,CACvB,OAAQ,WACR,SAAU,CACR,KAAM,iDACN,KAAM,6DAClB,GAEQ,uBAAwB,CACtB,OAAQ,UACR,SAAU,CACR,KAAM,8CACN,KAAM,CACJ,QAAS,oCACT,UAAW,0KAEb,WAAY,gDACxB,GAEQ,uBAAwB,CACtB,OAAQ,WACR,SAAU,CACR,KAAM,0CACN,KAAM,oCAClB,GAEQ,gBAAiB,CACf,OAAQ,WACR,SAAU,CACR,KAAM,0CACN,KAAM,wCAClB,GAEQ,2BAA4B,CAC1B,OAAQ,WACR,SAAU,CACR,KAAM,uDACN,KAAM,4CAClB,GAEQ,gCAAiC,CAC/B,OAAQ,WACR,SAAU,CACR,KAAM,4DACN,KAAM,iDAClB,GAEQ,yBAA0B,CACxB,OAAQ,WACR,SAAU,CACR,KAAM,qDACN,KAAM,0CAClB,GAEQ,SAAU,CACR,OAAQ,UACR,SAAU,CACR,KAAM,kDACN,KAAM,uCAClB,GAEQ,kBAAmB,CACjB,OAAQ,WACR,SAAU,CACR,KAAM,0CACN,KAAM,4GAClB,GAEQ,sBAAuB,CACrB,OAAQ,QACR,SAAU,CACR,KAAM,6DACN,KAAM,4EAClB,GAEQ,iBAAkB,CAChB,OAAQ,WACR,SAAU,CACR,KAAM,kCACN,KAAM,4CACN,WAAY,6DACxB,GAEQ,qBAAsB,CACpB,OAAQ,QACR,SAAU,CACR,KAAM,sEACN,KAAM,0EAClB,GAEQ,wBAAyB,CACvB,OAAQ,WACR,SAAU,CACR,KAAM,8CACN,KAAM,mDACN,WAAY,yEACxB,GAEQ,iBAAkB,CAChB,OAAQ,WACR,SAAU,CACR,KAAM,4CACN,KAAM,sDACN,WAAY,uEACxB,GAEQ,8BAA+B,CAC7B,OAAQ,UACR,SAAU,CACR,KAAM,gEACN,KAAM,gEAClB,GAEQ,iBAAkB,CAChB,OAAQ,WACR,SAAU,CACR,KAAM,mDACN,WAAY,uIACxB,GAEQ,aAAc,CACZ,OAAQ,UACR,SAAU,CACR,KAAM,iEACN,KAAM,oDAClB,GAEQ,qBAAsB,CACpB,OAAQ,WACR,SAAU,CACR,KAAM,2FACN,KAAM,yGAClB,GAEQ,WAAY,CACV,OAAQ,UACR,SAAU,CACR,KAAM,0CACN,KAAM,CACJ,QAAS,6EACT,OAAQ,mDACtB,CACA,GAEQ,aAAc,CACZ,OAAQ,UACR,SAAU,CACR,KAAM,qEACN,KAAM,qEAClB,GAEQ,oBAAqB,CACnB,OAAQ,WACR,SAAU,CACR,KAAM,2DACN,KAAM,iEAClB,GAEQ,OAAQ,CACN,OAAQ,UACR,SAAU,CACR,KAAM,kDACN,KAAM,2DAClB,GAEQ,SAAU,CACR,OAAQ,UACR,SAAU,CACR,KAAM,2DACN,KAAM,CACJ,QAAS,sDACT,aAAc,6DAC5B,CACA,GAEQ,eAAgB,CACd,OAAQ,UACR,SAAU,CACR,KAAM,6FACN,KAAM,qEAClB,GAEQ,iBAAkB,CAChB,OAAQ,UACR,SAAU,CACR,KAAM,8EACN,KAAM,uEAClB,GAEQ,qBAAsB,CACpB,OAAQ,UACR,SAAU,CACR,KAAM,0DACN,KAAM,uGAClB,GAEQ,QAAS,CACP,OAAQ,WACR,SAAU,CACR,KAAM,8CACN,WAAY,mDACxB,GAEQ,eAAgB,CACd,OAAQ,WACR,SAAU,CACR,KAAM,sCACN,KAAM,+CACN,WAAY,iDACxB,GAEQ,oBAAqB,CACnB,OAAQ,WACR,SAAU,CACR,KAAM,oGACN,KAAM,yGACN,WAAY,yHACxB,GAEQ,uBAAwB,CACtB,OAAQ,UACR,SAAU,CACR,KAAM,2DACN,KAAM,gEACN,WAAY,2CACxB,GAEQ,sBAAuB,CACrB,OAAQ,QACR,SAAU,CACR,KAAM,oEACN,KAAM,6CAClB,GAEQ,gBAAiB,CACf,OAAQ,WACR,SAAU,CACR,KAAM,wDACN,KAAM,0DAClB,GAEQ,gBAAiB,CACf,OAAQ,UACR,SAAU,CACR,KAAM,CACJ,QAAS,gKACT,MAAO,+DAET,KAAM,kKACN,WAAY,CACV,QAAS,4MACT,oBAAqB,4LACrB,aAAc,+EAC5B,CACA,GAEQ,cAAe,CACb,OAAQ,UACR,SAAU,CACR,KAAM,CACJ,QAAS,+HACT,SAAU,yEACV,MAAO,6DAET,KAAM,CACJ,QAAS,gIACT,kBAAmB,oLAErB,WAAY,CACV,QAAS,2KACT,gBAAiB,0EACjB,kBAAmB,8NACnB,6BAA8B,mPAC9B,aAAc,+EAC5B,CACA,GAEQ,iBAAkB,CAChB,OAAQ,UACR,SAAU,CACR,KAAM,qBACN,KAAM,8BAClB,GAEQ,gBAAiB,CACf,OAAQ,WACR,SAAU,CACR,KAAM,sBACN,KAAM,wBACN,WAAY,sCACxB,GAEQ,+BAAgC,CAC9B,OAAQ,QACR,SAAU,CACR,KAAM,0EACN,WAAY,yEACxB,GAEQ,wBAAyB,CACvB,OAAQ,UACR,SAAU,CACR,KAAM,wBACN,KAAM,0BAClB,GAEQ,SAAU,CACR,OAAQ,UACR,SAAU,CACR,KAAM,6BACN,KAAM,sCAClB,GAEQ,6BAA8B,CAC5B,OAAQ,QACR,SAAU,CACR,KAAM,mDACN,KAAM,yCAClB,GAEQ,eAAgB,CACd,OAAQ,WACR,SAAU,CACR,KAAM,mDACN,KAAM,8DAClB,GAEQ,eAAgB,CACd,OAAQ,UACR,SAAU,CACR,KAAM,0CACN,KAAM,iEACN,WAAY,4DACxB,GAEQ,OAAQ,CACN,OAAQ,WACR,SAAU,CACR,KAAM,6CACN,KAAM,iDAClB,GAEQ,YAAa,CACX,OAAQ,WACR,SAAU,CACR,KAAM,0BACN,WAAY,uDACZ,KAAM,qBAClB,GAEQ,qBAAsB,CACpB,OAAQ,UACR,SAAU,CACR,KAAM,sCACN,KAAM,yCAClB,GAEQ,sBAAuB,CACrB,OAAQ,UACR,SAAU,CACR,KAAM,mEACN,KAAM,kEAClB,GAEQ,oBAAqB,CACnB,OAAQ,WACR,SAAU,CACR,KAAM,2FACN,KAAM,yFAClB,GAEQ,eAAgB,CACd,OAAQ,QACR,SAAU,CACR,KAAM,mEACN,KAAM,2EAClB,GAEQ,aAAc,CACZ,OAAQ,UACR,SAAU,CACR,KAAM,+CACN,KAAM,iDAClB,GAEQ,kBAAmB,CACjB,OAAQ,UACR,SAAU,CACR,KAAM,8FACN,KAAM,wHACN,WAAY,uDACxB,GAEQ,uBAAwB,CACtB,OAAQ,UACR,SAAU,CACR,KAAM,iFACN,KAAM,CACJ,SAAU,6GACV,OAAQ,6GACtB,CACA,GAEQ,0BAA2B,CACzB,OAAQ,WACR,SAAU,CACR,KAAM,2DACN,KAAM,qEACN,WAAY,6CACxB,GAEQ,gBAAiB,CACf,OAAQ,UACR,SAAU,CACR,KAAM,2CACN,KAAM,oDAClB,GAEQ,iBAAkB,CAChB,SAAU,CACR,KAAM,GACN,WAAY,2EACxB,GAEQ,OAAQ,CACN,OAAQ,QACR,SAAU,CACR,KAAM,yBACN,WAAY,gBACxB,GAEQ,UAAW,CACT,OAAQ,WACR,SAAU,CACR,KAAM,+BACN,KAAM,wCAClB,GAEQ,mBAAoB,CAClB,OAAQ,QACR,SAAU,CACR,KAAM,qDACN,KAAM,+DACN,WAAY,6CACxB,GAEQ,2BAA4B,CAC1B,OAAQ,UACR,SAAU,CACR,KAAM,uFACN,KAAM,sHAClB,GAEQ,wBAAyB,CACvB,OAAQ,UACR,SAAU,CACR,KAAM,oFACN,KAAM,mHAClB,GAEQ,yBAA0B,CACxB,OAAQ,UACR,SAAU,CACR,KAAM,qFACN,KAAM,oHAClB,GAEQ,eAAgB,CACd,OAAQ,UACR,SAAU,CACR,KAAM,yBACN,KAAM,oBAClB,GAEQ,gBAAiB,CACf,OAAQ,WACR,SAAU,CACR,KAAM,wCACN,KAAM,CACJ,OAAQ,+BACR,UAAW,oCACzB,CACA,GAEQ,uBAAwB,CACtB,OAAQ,WACR,SAAU,CACR,KAAM,CACJ,QAAS,0CACT,YAAa,2CAEf,KAAM,gEAClB,GAEQ,wBAAyB,CACvB,OAAQ,UACR,SAAU,CACR,KAAM,sCACN,KAAM,CACJ,OAAQ,uCACR,UAAW,4CACzB,CACA,GAEQ,kBAAmB,CACjB,OAAQ,UACR,SAAU,CACR,KAAM,gCACN,KAAM,CACJ,OAAQ,iCACR,UAAW,sCACzB,CACA,GAEQ,kBAAmB,CACjB,OAAQ,WACR,SAAU,CACR,KAAM,0CACN,KAAM,CACJ,OAAQ,iCACR,UAAW,sCACzB,CACA,GAEQ,sBAAuB,CACrB,OAAQ,QACR,SAAU,CACR,KAAM,wEACN,KAAM,CACJ,QAAS,0FACT,WAAY,8EACZ,UAAW,+DACX,KAAM,+FACN,OAAQ,qIACtB,CACA,GAEQ,YAAa,CACX,OAAQ,QACR,SAAU,CACR,KAAM,+DACN,KAAM,kEAClB,GAEQ,oBAAqB,CACnB,OAAQ,QACR,SAAU,CACR,KAAM,uEACN,KAAM,0EAClB,GAEQ,sBAAuB,CACrB,OAAQ,UACR,SAAU,CACR,KAAM,sCACN,KAAM,CACJ,QAAS,uCACT,WAAY,gCAEd,WAAY,yDACxB,GAEQ,gBAAiB,CACf,OAAQ,UACR,SAAU,CACR,KAAM,oDACN,KAAM,0EAClB,GAEQ,cAAe,CACb,OAAQ,WACR,SAAU,CACR,KAAM,+DACN,KAAM,8EAClB,GAEQ,uBAAwB,CACtB,OAAQ,QACR,SAAU,CACR,KAAM,gEACN,KAAM,mEACN,WAAY,sDACxB,GAEQ,cAAe,CACb,OAAQ,WACR,SAAU,CACR,KAAM,oCACN,KAAM,6DAClB,GAEQ,gBAAiB,CACf,OAAQ,WACR,SAAU,CACR,KAAM,8CACN,KAAM,qDAClB,GAEQ,kBAAmB,CACjB,OAAQ,UACR,SAAU,CACR,KAAM,wFACN,WAAY,iCACZ,KAAM,CACJ,2BAA4B,4FAC5B,qBAAsB,mEACtB,mBAAoB,qDAClC,CACA,GAEQ,oBAAqB,CACnB,OAAQ,UACR,SAAU,CACR,KAAM,6CACN,KAAM,iDACN,WAAY,uCACxB,GAEQ,iBAAkB,CAChB,OAAQ,QACR,SAAU,CACR,KAAM,6CACN,KAAM,0DACN,WAAY,yIACxB,CACA,GAEM,iBAAkB,CAChB,IAAK,CACH,eAAgB,SAAmB+U,EAAI,CACrC,IAAI21B,EAAM,4BACN6jE,EAAOx5F,EACX,GAAIw5F,EAEF,QADIzoG,GAAOyrJ,GAAK,GAAIC,GAAKjjD,EAAK,OAAS,EAChCgjD,GAAKC,IACV1rJ,GAAQyoG,EAAKgjD,IAAM,CAAC,EACpB7mH,GAAO;AAAA,IAAS5kC,GAAM,MAAM;AAAA,CAAI,EAAE,KAAK;AAAA,GAAM,EAGjD,OAAO4kC,CACnB,GAEQ,KAAM,CACJ,eAAgB,SAAmB31B,EAAI,CACrC,IAAI21B,EAAM,4BACN6jE,EAAOx5F,EACX,GAAIw5F,EAEF,QADIzoG,GAAOyrJ,GAAK,GAAIC,GAAKjjD,EAAK,OAAS,EAChCgjD,GAAKC,IACV1rJ,GAAQyoG,EAAKgjD,IAAM,CAAC,EACpB7mH,GAAO;AAAA,IAAS5kC,GAAM,MAAM;AAAA,CAAI,EAAE,KAAK;AAAA,GAAM,EAGjD,OAAO4kC,CACnB,CACA,GAEM,0BAA2B,0EAE7B,MAAO,CAAE,CACP,GAAI,aACJ,OAAQ,UACR,SAAU,cACV,cAAe,GACf,KAAM,CAAE,eAAgB,eAAe,EACvC,IAAK,CAAA,EACL,IAAK,CAAA,EACL,KAAM,CAAE,YAAY,CAC1B,EAAO,CACD,GAAI,WACJ,OAAQ,WACR,SAAU,iBACV,cAAe,GACf,KAAM,CAAE,wBAAyB,SAAU,UAAW,UAAW,aAAc,kBAAmB,OAAQ,QAAS,aAAc,aAAc,aAAc,MAAO,SAAU,YAAY,EAC1L,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAE,CACL,QAAS,CACP,UAAW,OAEb,GAAI,eACZ,EAAS,aAAc,kBAAmB,CAClC,QAAS,CACP,UAAW,SAEb,GAAI,iBACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,oBACJ,OAAQ,WACR,QAAS,4BACT,KAAM,CAAE,WAAY,SAAU,UAAW,aAAc,aAAc,SAAU,YAAY,EAC3F,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAE,CACL,QAAS,CACP,kBAAmB,CAAE,gBAAiB,eAAgB,gBAAiB,YAAY,GAErF,GAAI,mBACZ,CAAO,EACD,IAAK,CAAA,EACL,KAAM,CAAE,uBAAuB,CACrC,EAAO,CACD,GAAI,oBACJ,OAAQ,QACR,cAAe,GACf,SAAU,SACV,QAAS,4BACT,KAAM,CAAE,WAAY,eAAe,EACnC,IAAK,CAAA,EACL,IAAK,CAAE,CACL,QAAS,CACP,cAAe,GACf,YAAa,CAAA,GAEf,GAAI,mBACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,0BACJ,aAAc,GACd,OAAQ,UACR,SAAU,qDACV,KAAM,CAAE,WAAY,SAAU,UAAW,aAAc,YAAY,EACnE,IAAK,CAAE,qCAAsC,0BAA0B,EACvE,IAAK,CAAA,EACL,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,oBACJ,OAAQ,UACR,SAAU,oDACV,QAAS,2BACT,KAAM,CAAE,WAAY,SAAU,UAAW,OAAQ,QAAS,aAAc,aAAc,MAAO,SAAU,aAAa,EACpH,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAE,mBAAoB,aAAc,kBAAmB,CAC1D,QAAS,CACP,UAAW,SAEb,GAAI,iBACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,wBACJ,OAAQ,UACR,QAAS,4BACT,KAAM,CAAE,WAAY,SAAU,UAAW,aAAc,aAAc,SAAU,YAAY,EAC3F,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAE,CACL,QAAS,CACP,qBAAsB,CAAE,gBAAiB,eAAgB,gBAAiB,YAAY,GAExF,GAAI,uBACZ,CAAO,EACD,IAAK,CAAA,EACL,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,uBACJ,OAAQ,QACR,SAAU,SACV,QAAS,wBACT,KAAM,CAAE,WAAY,SAAU,UAAW,aAAc,aAAc,SAAU,YAAY,EAC3F,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAA,EACL,KAAM,CAAE,gBAAgB,CAC9B,EAAO,CACD,GAAI,mBACJ,OAAQ,UACR,SAAU,wCACV,QAAS,2BACT,KAAM,CAAE,WAAY,eAAe,EACnC,IAAK,CAAA,EACL,IAAK,CAAE,aAAc,kBAAmB,CACtC,QAAS,CACP,UAAW,SAEb,GAAI,iBACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,mBACJ,OAAQ,WACR,SAAU,OACV,cAAe,GACf,QAAS,uBACT,KAAM,CAAE,WAAY,SAAU,UAAW,UAAW,aAAc,aAAc,aAAc,SAAU,YAAY,EACpH,IAAK,CAAA,EACL,IAAK,CAAE,kBAAkB,EACzB,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,oBACJ,OAAQ,UACR,SAAU,uBACV,QAAS,4BACT,cAAe,GACf,KAAM,CAAE,sBAAuB,SAAU,UAAW,OAAQ,QAAS,aAAc,aAAc,SAAU,YAAY,EACvH,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAE,uBAAwB,qBAAsB,wBAAwB,EAC7E,IAAK,CAAA,EACL,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,wBACJ,OAAQ,UACR,SAAU,kHACV,QAAS,2BACT,KAAM,CAAE,WAAY,SAAU,UAAW,OAAQ,QAAS,aAAc,aAAc,MAAO,SAAU,aAAa,EACpH,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAE,aAAc,kBAAmB,CACtC,QAAS,CACP,UAAW,SAEb,GAAI,iBACZ,CAAO,EACD,KAAM,CAAE,4BAA4B,CAC1C,EAAO,CACD,GAAI,kBACJ,OAAQ,UACR,SAAU,iBACV,QAAS,2BACT,KAAM,CAAE,WAAY,SAAU,UAAW,aAAc,aAAc,SAAU,aAAa,EAC5F,IAAK,CAAA,EACL,IAAK,CAAE,aAAc,kBAAmB,CACtC,QAAS,CACP,UAAW,SAEb,GAAI,iBACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,wBACJ,OAAQ,UACR,SAAU,uBACV,QAAS,2BACT,KAAM,CAAE,WAAY,SAAU,UAAW,aAAc,aAAc,SAAU,aAAa,EAC5F,IAAK,CAAA,EACL,IAAK,CAAE,aAAc,kBAAmB,CACtC,QAAS,CACP,UAAW,SAEb,GAAI,iBACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,uBACJ,OAAQ,UACR,QAAS,4BACT,KAAM,CAAE,WAAY,SAAU,UAAW,aAAc,aAAc,SAAU,YAAY,EAC3F,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAA,EACL,KAAM,CAAE,CACN,QAAS,CACP,yBAA0B,CAAE,SAAU,OAAO,GAE/C,GAAI,uBACL,CACP,EAAO,CACD,GAAI,qBACJ,OAAQ,WACR,SAAU,SACV,KAAM,CAAE,WAAY,SAAU,UAAW,aAAc,aAAc,SAAU,YAAY,EAC3F,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAE,oBAAoB,EAC3B,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,yBACJ,OAAQ,WACR,SAAU,SACV,QAAS,iCACT,KAAM,CAAE,WAAY,SAAU,UAAW,aAAc,aAAc,SAAU,YAAY,EAC3F,OAAQ,CAAE,SAAU,QAAQ,EAC5B,IAAK,CAAA,EACL,IAAK,CAAE,CACL,QAAS,CACP,YAAa,CAAE,mBAAoB,eAAgB,OAAQ,OAAQ,UAAW,OAAQ,UAAW,QAAS,UAAW,OAAQ,WAAY,UAAU,GAErJ,GAAI,wBACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,uBACJ,OAAQ,WACR,SAAU,SACV,QAAS,+BACT,KAAM,CAAE,WAAY,SAAU,UAAW,aAAc,aAAc,SAAU,YAAY,EAC3F,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAE,CACL,QAAS,CACP,cAAe,CAAE,WAAY,UAAU,GAEzC,GAAI,sBACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,uBACJ,OAAQ,UACR,SAAU,yBACV,KAAM,CAAE,WAAY,SAAU,UAAW,aAAc,aAAc,YAAY,EACjF,QAAS,GACT,IAAK,CAAA,EACL,IAAK,CAAE,CACL,QAAS,CACP,eAAgB,CAAE,SAAU,MAAO,WAAY,QAAS,WAAY,mBAAoB,eAAe,GAEzG,GAAI,sBACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,aACJ,OAAQ,WACR,SAAU,SACV,QAAS,wBACT,KAAM,CAAE,WAAY,SAAU,UAAW,aAAc,aAAc,SAAU,YAAY,EAC3F,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAA,EACL,KAAM,CAAE,cAAe,eAAgB,iBAAiB,CAC9D,EAAO,CACD,GAAI,YACJ,OAAQ,UACR,SAAU,cACV,KAAM,CAAE,WAAY,eAAe,EACnC,IAAK,CAAA,EACL,IAAK,CAAE,sBAAsB,EAC7B,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,yBACJ,OAAQ,UACR,SAAU,yHACV,QAAS,2BACT,KAAM,CAAE,WAAY,SAAU,UAAW,OAAQ,QAAS,aAAc,aAAc,MAAO,SAAU,YAAY,EACnH,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAE,mBAAoB,aAAc,kBAAmB,CAC1D,QAAS,CACP,UAAW,SAEb,GAAI,iBACZ,CAAO,EACD,KAAM,CAAE,4BAA4B,CAC1C,EAAO,CACD,GAAI,oBACJ,OAAQ,UACR,SAAU,mBACV,QAAS,2BACT,KAAM,CAAE,WAAY,SAAU,UAAW,aAAc,YAAY,EACnE,IAAK,CAAA,EACL,IAAK,CAAE,mBAAoB,aAAc,kBAAmB,CAC1D,QAAS,CACP,UAAW,SAEb,GAAI,iBACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,qBACJ,OAAQ,UACR,SAAU,oBACV,QAAS,2BACT,KAAM,CAAE,WAAY,eAAe,EACnC,IAAK,CAAA,EACL,IAAK,CAAE,mBAAoB,aAAc,kBAAmB,CAC1D,QAAS,CACP,UAAW,SAEb,GAAI,iBACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,wBACJ,OAAQ,WACR,QAAS,wBACT,KAAM,CAAE,WAAY,SAAU,UAAW,aAAc,aAAc,SAAU,YAAY,EAC3F,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAE,CACL,QAAS,CAAA,EACT,GAAI,uBACZ,EAAS,oBAAqB,YAAY,EACpC,IAAK,CAAA,EACL,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,kBACJ,OAAQ,WACR,QAAS,wBACT,KAAM,CAAE,WAAY,SAAU,UAAW,aAAc,aAAc,SAAU,YAAY,EAC3F,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAE,CACL,QAAS,CAAA,EACT,GAAI,iBACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,gBACJ,OAAQ,WACR,SAAU,QACV,QAAS,GACT,cAAe,GACf,KAAM,CAAE,qBAAsB,SAAU,UAAW,aAAc,aAAc,aAAc,kBAAmB,YAAY,EAC5H,OAAQ,CAAE,SAAU,QAAQ,EAC5B,IAAK,CAAA,EACL,IAAK,CAAA,EACL,KAAM,CAAE,SAAS,CACvB,EAAO,CACD,GAAI,qBACJ,OAAQ,UACR,QAAS,uBACT,KAAM,CAAE,YAAa,WAAY,UAAW,aAAc,aAAc,MAAO,SAAU,cAAc,EACvG,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAE,CACL,QAAS,CACP,WAAY,CAAE,OAAQ,QAAS,OAAQ,WAAY,UAAW,YAAa,OAAQ,OAAQ,KAAK,EAChG,cAAe,CAAE,OAAQ,WAAY,SAAU,UAAW,SAAS,GAErE,GAAI,oBACZ,CAAO,EACD,IAAK,CAAA,EACL,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,uBACJ,OAAQ,UACR,SAAU,UACV,QAAS,+BACT,KAAM,CAAE,gBAAiB,WAAY,WAAY,aAAc,cAAe,KAAK,EACnF,OAAQ,CAAE,SAAU,SAAU,QAAQ,EACtC,IAAK,CAAE,CACL,QAAS,CACP,YAAa,iBACb,SAAU,KAEZ,GAAI,0BACZ,EAAS,CACD,QAAS,CACP,YAAa,eACb,SAAU,KAEZ,GAAI,wBACZ,EAAS,CACD,QAAS,CACP,cAAe,GACf,YAAa,cACb,SAAU,IACV,YAAa,GAEf,GAAI,uBACZ,CAAO,EACD,IAAK,CAAA,EACL,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,QACJ,OAAQ,UACR,SAAU,QACV,cAAe,GACf,KAAM,CAAE,qBAAsB,SAAU,UAAW,aAAc,kBAAmB,OAAQ,QAAS,aAAc,aAAc,SAAU,aAAa,EACxJ,IAAK,CAAA,EACL,IAAK,CAAA,EACL,KAAM,CAAE,cAAc,CAC5B,EAAO,CACD,GAAI,cACJ,OAAQ,WACR,SAAU,SACV,QAAS,oCACT,KAAM,CAAE,sBAAuB,SAAU,UAAW,aAAc,kBAAmB,OAAQ,QAAS,aAAc,aAAc,MAAO,SAAU,aAAa,EAChK,OAAQ,CAAE,SAAU,QAAQ,EAC5B,IAAK,CAAA,EACL,IAAK,CAAE,0BAA2B,aAAc,kBAAmB,CACjE,QAAS,CACP,UAAW,SAEb,GAAI,iBACZ,EAAS,iBAAkB,iBAAkB,qBAAqB,EAC5D,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,SACJ,OAAQ,UACR,SAAU,OACV,UAAW,GACX,QAAS,iBACT,aAAc,GACd,KAAM,CAAE,eAAgB,SAAU,UAAW,aAAc,kBAAmB,OAAQ,QAAS,aAAc,aAAc,SAAU,aAAa,EAClJ,OAAQ,CAAE,SAAU,SAAU,SAAU,SAAU,QAAQ,EAC1D,IAAK,CAAA,EACL,IAAK,CAAE,wBAAyB,CAC9B,QAAS,CACP,SAAU,2DAEZ,GAAI,gBACZ,EAAS,CACD,QAAS,CACP,SAAU,qBAEZ,GAAI,UACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,0BACJ,OAAQ,UACR,QAAS,yBACT,cAAe,GACf,QAAS,GACT,KAAM,CAAE,YAAa,WAAY,UAAW,KAAK,EACjD,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAE,CACL,QAAS,CACP,cAAe,GACf,aAAc,GACd,aAAc,GACd,UAAW,IACX,WAAY,GACZ,YAAa,GACb,cAAe,CACb,OAAQ,CACN,SAAU,EACV,aAAc,KAEhB,MAAO,CACL,SAAU,IACV,aAAc,CAC5B,GAEU,oBAAqB,IACrB,mBAAoB,GACpB,gBAAiB,KAEnB,GAAI,yBACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,iBACJ,OAAQ,UACR,QAAS,yBACT,cAAe,GACf,KAAM,CAAE,YAAa,UAAW,UAAW,OAAQ,SAAU,aAAc,aAAc,MAAO,SAAU,YAAY,EACtH,OAAQ,CAAE,SAAU,QAAQ,EAC5B,IAAK,CAAA,EACL,IAAK,CAAE,CACL,QAAS,CACP,cAAe,GACf,aAAc,GACd,aAAc,GACd,UAAW,IACX,WAAY,GACZ,YAAa,GACb,cAAe,CACb,OAAQ,CACN,SAAU,KAEZ,MAAO,CACL,SAAU,CACxB,GAEU,oBAAqB,IACrB,mBAAoB,GACpB,gBAAiB,KAEnB,GAAI,gBACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,uBACJ,OAAQ,UACR,SAAU,OACV,KAAM,CAAE,gBAAiB,UAAW,WAAY,aAAc,aAAc,SAAU,cAAe,cAAc,EACnH,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAE,CACL,QAAS,CACP,gBAAiB,GAEnB,GAAI,sBACZ,CAAO,EACD,IAAK,CAAA,EACL,KAAM,CAAA,EACN,QAAS,EACf,EAAO,CACD,GAAI,kBACJ,OAAQ,UACR,SAAU,KACV,QAAS,kBACT,KAAM,CAAE,gBAAiB,SAAU,UAAW,aAAc,aAAc,SAAU,YAAY,EAChG,IAAK,CAAA,EACL,IAAK,CAAA,EACL,KAAM,CAAE,qBAAsB,CAC5B,QAAS,CACP,WAAY,CAAE,aAAc,OAAQ,UAAU,EAC9C,eAAgB,CAAE,KAAM,IAAI,EAC5B,UAAW,IAEb,GAAI,eACL,CACP,EAAO,CACD,GAAI,SACJ,OAAQ,UACR,SAAU,SACV,QAAS,kBACT,KAAM,CAAE,gBAAiB,SAAU,UAAW,aAAc,aAAc,SAAU,YAAY,EAChG,IAAK,CAAA,EACL,IAAK,CAAE,QAAQ,EACf,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,iBACJ,OAAQ,UACR,SAAU,OACV,QAAS,uBACT,KAAM,CAAE,wBAAyB,SAAU,UAAW,OAAQ,SAAU,aAAc,aAAc,MAAO,SAAU,YAAY,EACjI,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAE,eAAe,EACtB,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,sBACJ,OAAQ,UACR,SAAU,OACV,QAAS,8BACT,cAAe,GACf,KAAM,CAAE,cAAe,kBAAmB,UAAW,YAAY,EACjE,QAAS,GACT,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAE,qBAAqB,EAC5B,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,oBACJ,OAAQ,WACR,SAAU,OACV,QAAS,4BACT,cAAe,GACf,KAAM,CAAE,cAAe,SAAU,UAAW,aAAc,aAAc,SAAU,YAAY,EAC9F,aAAc,GACd,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAE,mBAAmB,EAC1B,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,eACJ,OAAQ,QACR,SAAU,OACV,QAAS,4BACT,cAAe,GACf,KAAM,CAAE,cAAe,kBAAmB,UAAW,YAAY,EACjE,QAAS,GACT,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAE,cAAc,EACrB,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,gBACJ,OAAQ,QACR,SAAU,2CACV,QAAS,kBACT,KAAM,CAAE,sBAAuB,eAAe,EAC9C,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAE,mBAAoB,aAAc,kBAAmB,CAC1D,QAAS,CACP,UAAW,SAEb,GAAI,iBACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,qBACJ,OAAQ,QACR,SAAU,4DACV,KAAM,CAAE,sBAAuB,eAAe,EAC9C,IAAK,CAAA,EACL,IAAK,CAAE,kBAAkB,EACzB,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,wBACJ,OAAQ,QACR,SAAU,uDACV,QAAS,oCACT,KAAM,CAAE,eAAgB,gBAAiB,SAAU,cAAe,cAAc,EAChF,IAAK,CAAA,EACL,IAAK,CAAE,CACL,QAAS,CAAA,EACT,GAAI,iBACZ,EAAS,CACD,QAAS,CACP,MAAO,CAAE,SAAS,GAEpB,GAAI,4BACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,6BACJ,OAAQ,WACR,SAAU,0BACV,QAAS,gBACT,KAAM,CAAE,YAAa,SAAU,UAAW,OAAQ,QAAS,aAAc,aAAc,SAAU,aAAa,EAC9G,IAAK,CAAA,EACL,IAAK,CAAA,EACL,KAAM,CAAE,gBAAgB,CAC9B,EAAO,CACD,GAAI,0BACJ,OAAQ,UACR,SAAU,OACV,QAAS,kCACT,KAAM,CAAE,eAAgB,SAAU,UAAW,OAAQ,QAAS,aAAc,aAAc,SAAU,YAAY,EAChH,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAE,yBAAyB,EAChC,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,eACJ,OAAQ,WACR,SAAU,sBACV,KAAM,CAAE,gBAAiB,gBAAiB,aAAa,EACvD,IAAK,CAAE,CACL,QAAS,CACP,YAAa,IAEf,GAAI,cACZ,CAAO,EACD,IAAK,CAAA,EACL,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,qBACJ,OAAQ,UACR,SAAU,8BACV,QAAS,+BACT,KAAM,CAAE,wBAAyB,SAAU,UAAW,OAAQ,SAAU,aAAc,aAAc,SAAU,YAAY,EAC1H,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAA,EACL,KAAM,CAAE,oBAAoB,EAC5B,aAAc,EACpB,EAAO,CACD,GAAI,cACJ,OAAQ,UACR,SAAU,gBACV,QAAS,+BACT,KAAM,CAAE,wBAAyB,SAAU,UAAW,aAAc,kBAAmB,OAAQ,SAAU,aAAc,aAAc,SAAU,YAAY,EAC3J,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAE,CACL,QAAS,CACP,UAAW,SAEb,GAAI,iBACZ,EAAS,aAAc,kBAAmB,qBAAqB,EACzD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,gBACJ,OAAQ,WACR,SAAU,yCACV,QAAS,kBACT,KAAM,CAAE,gBAAiB,eAAe,EACxC,IAAK,CAAA,EACL,IAAK,CAAE,eAAe,EACtB,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,iBACJ,OAAQ,QACR,SAAU,IACV,cAAe,GACf,KAAM,CAAE,gBAAiB,gBAAiB,eAAgB,aAAa,EACvE,IAAK,CAAA,EACL,IAAK,CAAE,gBAAgB,EACvB,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,gBACJ,OAAQ,UACR,SAAU,OACV,QAAS,uBACT,KAAM,CAAE,eAAgB,SAAU,UAAW,OAAQ,SAAU,aAAc,aAAc,MAAO,SAAU,YAAY,EACxH,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAE,CACL,QAAS,CACP,WAAY,CAAE,OAAQ,UAAU,GAElC,GAAI,UACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,kBACJ,OAAQ,UACR,SAAU,mEACV,KAAM,CAAE,eAAgB,SAAU,UAAW,OAAQ,SAAU,aAAc,aAAc,MAAO,SAAU,YAAY,EACxH,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAA,EACL,KAAM,CAAE,CACN,QAAS,CACP,WAAY,CAAE,OAAQ,UAAU,GAElC,GAAI,aACL,CACP,EAAO,CACD,GAAI,yBACJ,OAAQ,WACR,SAAU,yBACV,QAAS,4BACT,KAAM,CAAE,eAAgB,SAAU,UAAW,aAAc,aAAc,MAAO,SAAU,YAAY,EACtG,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAE,mBAAmB,EAC1B,IAAK,CAAA,EACL,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,+BACJ,OAAQ,QACR,SAAU,qCACV,cAAe,GACf,QAAS,GACT,QAAS,uCACT,KAAM,CAAE,gBAAiB,WAAY,SAAS,EAC9C,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAE,8BAA8B,EACrC,IAAK,CAAA,EACL,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,YACJ,OAAQ,WACR,SAAU,MACV,QAAS,oCACT,KAAM,CAAE,wBAAyB,SAAU,UAAW,aAAc,kBAAmB,OAAQ,QAAS,QAAS,aAAc,aAAc,MAAO,SAAU,YAAY,EAC1K,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAE,UAAW,aAAc,kBAAmB,CACjD,QAAS,CACP,UAAW,SAEb,GAAI,mBACH,qBAAqB,EACxB,KAAM,CAAE,iBAAiB,CAC/B,EAAO,CACD,GAAI,sBACJ,OAAQ,QACR,SAAU,MACV,KAAM,CAAE,wBAAyB,eAAe,EAChD,IAAK,CAAA,EACL,IAAK,CAAA,EACL,KAAM,CAAE,CACN,QAAS,CACP,eAAgB,iDAElB,GAAI,sBACL,CACP,EAAO,CACD,GAAI,oBACJ,OAAQ,WACR,SAAU,kEACV,QAAS,oCACT,KAAM,CAAE,sBAAuB,SAAU,UAAW,aAAc,kBAAmB,OAAQ,QAAS,aAAc,aAAc,MAAO,SAAU,aAAa,EAChK,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAE,uBAAwB,CAC7B,QAAS,CACP,UAAW,SAEb,GAAI,iBACZ,EAAS,aAAc,kBAAmB,CAClC,QAAS,CACP,UAAW,SAEb,GAAI,iBACZ,EAAS,iBAAkB,iBAAkB,qBAAqB,EAC5D,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,kBACJ,OAAQ,WACR,SAAU,sBACV,QAAS,oCACT,KAAM,CAAE,wBAAyB,SAAU,UAAW,UAAW,aAAc,kBAAmB,OAAQ,QAAS,aAAc,aAAc,aAAc,MAAO,SAAU,YAAY,EAC1L,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAE,CACL,QAAS,CACP,UAAW,OAEb,GAAI,eACZ,EAAS,aAAc,kBAAmB,CAClC,QAAS,CACP,UAAW,SAEb,GAAI,iBACZ,EAAS,iBAAkB,gBAAgB,EACrC,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,8BACJ,OAAQ,UACR,QAAS,sCACT,KAAM,CAAE,gBAAiB,UAAW,UAAW,aAAc,aAAc,SAAU,aAAc,cAAc,EACjH,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAE,CACL,QAAS,CACP,eAAgB,GAChB,oBAAqB,GAEvB,GAAI,6BACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,mBACJ,OAAQ,UACR,SAAU,0BACV,QAAS,gBACT,KAAM,CAAE,YAAa,eAAe,EACpC,IAAK,CAAA,EACL,IAAK,CAAA,EACL,KAAM,CAAE,YAAY,CAC1B,EAAO,CACD,GAAI,QACJ,OAAQ,WACR,SAAU,kBACV,QAAS,gBACT,KAAM,CAAE,YAAa,SAAU,UAAW,aAAc,kBAAmB,OAAQ,QAAS,aAAc,aAAc,MAAO,SAAU,aAAa,EACtJ,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAE,iBAAkB,iBAAkB,aAAc,kBAAmB,CAC1E,QAAS,CACP,UAAW,SAEb,GAAI,iBACZ,EAAS,CACD,QAAS,CACP,UAAW,eAEb,GAAI,yBACH,qBAAqB,EACxB,KAAM,CAAE,uBAAuB,CACrC,EAAO,CACD,GAAI,+BACJ,OAAQ,WACR,SAAU,oCACV,QAAS,oCACT,KAAM,CAAE,gBAAiB,eAAe,EACxC,IAAK,CAAA,EACL,IAAK,CAAE,uBAAuB,EAC9B,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,sCACJ,OAAQ,WACR,SAAU,0CACV,KAAM,CAAE,gBAAiB,eAAe,EACxC,IAAK,CAAA,EACL,IAAK,CAAE,uBAAuB,EAC9B,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,oCACJ,OAAQ,WACR,SAAU,yCACV,QAAS,oCACT,KAAM,CAAE,gBAAiB,eAAe,EACxC,IAAK,CAAA,EACL,IAAK,CAAE,uBAAuB,EAC9B,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,6BACJ,OAAQ,WACR,SAAU,gCACV,KAAM,CAAE,gBAAiB,eAAe,EACxC,IAAK,CAAA,EACL,IAAK,CAAE,uBAAuB,EAC9B,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,+BACJ,OAAQ,WACR,SAAU,oCACV,KAAM,CAAE,gBAAiB,eAAe,EACxC,IAAK,CAAA,EACL,IAAK,CAAE,CACL,QAAS,CACP,SAAU,oCACV,KAAM,UAER,GAAI,0BACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,oCACJ,OAAQ,WACR,SAAU,yCACV,KAAM,CAAE,gBAAiB,eAAe,EACxC,IAAK,CAAA,EACL,IAAK,CAAE,CACL,QAAS,CACP,SAAU,yCACV,KAAM,eAER,GAAI,+BACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,6BACJ,OAAQ,WACR,SAAU,gCACV,KAAM,CAAE,gBAAiB,eAAe,EACxC,IAAK,CAAA,EACL,IAAK,CAAE,CACL,QAAS,CACP,SAAU,mCAEZ,GAAI,wBACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,oBACJ,OAAQ,WACR,SAAU,OACV,KAAM,CAAE,gBAAiB,eAAe,EACxC,IAAK,CAAE,CACL,QAAS,CACP,SAAU,kCACV,aAAc,IAEhB,GAAI,eACZ,CAAO,EACD,IAAK,CAAA,EACL,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,kBACJ,OAAQ,WACR,SAAU,sLACV,KAAM,CAAE,gBAAiB,eAAe,EACxC,QAAS,0BACT,IAAK,CAAA,EACL,IAAK,CAAE,oBAAoB,EAC3B,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,qBACJ,OAAQ,UACR,SAAU,uBACV,QAAS,6BACT,cAAe,GACf,KAAM,CAAE,YAAa,SAAU,UAAW,OAAQ,SAAU,aAAc,aAAc,SAAU,aAAa,EAC/G,IAAK,CAAA,EACL,IAAK,CAAE,CACL,QAAS,CACP,sBAAuB,EACvB,eAAgB,IAElB,GAAI,sBACH,0BAA0B,EAC7B,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,YACJ,OAAQ,UACR,SAAU,UACV,KAAM,CAAE,sBAAuB,SAAU,UAAW,UAAW,aAAc,kBAAmB,OAAQ,QAAS,aAAc,aAAc,aAAc,MAAO,SAAU,YAAY,EACxL,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAE,mBAAoB,aAAc,kBAAmB,CAC1D,QAAS,CACP,UAAW,SAEb,GAAI,iBACZ,CAAO,EACD,KAAM,CAAE,mBAAmB,CACjC,EAAO,CACD,GAAI,OACJ,OAAQ,UACR,SAAU,SACV,QAAS,kBACT,KAAM,CAAE,gBAAiB,SAAU,UAAW,aAAc,aAAc,SAAU,YAAY,EAChG,IAAK,CAAA,EACL,IAAK,CAAA,EACL,KAAM,CAAE,CACN,QAAS,CACP,WAAY,CAAE,UAAU,EACxB,eAAgB,CAAE,IAAI,GAExB,GAAI,iBACL,CACP,EAAO,CACD,GAAI,WACJ,OAAQ,UACR,SAAU,KACV,QAAS,kBACT,KAAM,CAAE,gBAAiB,SAAU,UAAW,aAAc,aAAc,SAAU,YAAY,EAChG,IAAK,CAAA,EACL,IAAK,CAAE,UAAU,EACjB,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,UACJ,OAAQ,UACR,SAAU,UACV,cAAe,GACf,KAAM,CAAE,cAAe,SAAU,UAAW,OAAQ,QAAS,aAAc,aAAc,SAAU,aAAa,EAChH,IAAK,CAAA,EACL,IAAK,CAAA,EACL,KAAM,CAAE,cAAc,CAC5B,EAAO,CACD,GAAI,6BACJ,OAAQ,QACR,SAAU,sCACV,cAAe,GACf,QAAS,GACT,KAAM,CAAE,qBAAsB,WAAY,UAAW,SAAS,EAC9D,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAE,CACL,QAAS,CACP,SAAU,KACV,SAAU,IAEZ,GAAI,4BACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,eACJ,OAAQ,WACR,SAAU,sCACV,cAAe,GACf,KAAM,CAAE,qBAAsB,SAAU,UAAW,OAAQ,QAAS,aAAc,aAAc,SAAU,aAAa,EACvH,OAAQ,CAAE,SAAU,QAAQ,EAC5B,IAAK,CAAA,EACL,IAAK,CAAE,CACL,QAAS,CACP,SAAU,EACV,SAAU,MAEZ,GAAI,cACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,sBACJ,OAAQ,QACR,SAAU,wBACV,QAAS,uBACT,cAAe,GACf,KAAM,CAAE,8BAA+B,eAAe,EACtD,IAAK,CAAA,EACL,IAAK,CAAE,CACL,QAAS,CACP,aAAc,EACd,WAAY,GAEd,GAAI,qBACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,gBACJ,OAAQ,WACR,SAAU,wBACV,QAAS,uBACT,cAAe,GACf,KAAM,CAAE,8BAA+B,UAAW,UAAW,aAAc,aAAc,MAAO,SAAU,aAAa,EACvH,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAE,CACL,QAAS,CACP,aAAc,GAEhB,GAAI,eACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,qBACJ,OAAQ,UACR,QAAS,6BACT,KAAM,CAAE,eAAgB,SAAU,UAAW,OAAQ,QAAS,aAAc,aAAc,SAAU,YAAY,EAChH,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAE,sBAAsB,EAC7B,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,oBACJ,OAAQ,WACR,cAAe,GACf,SAAU,mCACV,QAAS,4BACT,aAAc,GACd,KAAM,CAAE,qBAAsB,SAAU,UAAW,OAAQ,QAAS,aAAc,aAAc,MAAO,SAAU,aAAa,EAC9H,OAAQ,CAAE,QAAQ,EAClB,QAAS,GACT,IAAK,CAAE,CACL,QAAS,CACP,gBAAiB,GAEnB,GAAI,mBACZ,CAAO,EACD,IAAK,CAAA,EACL,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,aACJ,OAAQ,UACR,SAAU,eACV,QAAS,2BACT,KAAM,CAAE,wBAAyB,SAAU,UAAW,aAAc,kBAAmB,aAAc,aAAc,SAAU,YAAY,EACzI,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAE,aAAc,kBAAmB,CACtC,QAAS,CACP,UAAW,SAEb,GAAI,mBACH,qBAAqB,EACxB,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,eACJ,OAAQ,UACR,SAAU,IACV,QAAS,uBACT,KAAM,CAAE,gBAAiB,SAAU,UAAW,aAAc,aAAc,SAAU,aAAc,cAAc,EAChH,IAAK,CAAE,CACL,QAAS,CACP,QAAS,CAAE,CACT,OAAQ,IACR,OAAQ,EACpB,EAAa,CACD,OAAQ,IACR,KAAM,IAClB,EAAa,CACD,OAAQ,GACR,KAAM,IAClB,EAAa,CACD,KAAM,GAClB,CAAW,EACD,WAAY,EACZ,WAAY,IAEd,GAAI,cACZ,CAAO,EACD,IAAK,CAAA,EACL,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,uBACJ,OAAQ,WACR,SAAU,OACV,KAAM,CAAE,gBAAiB,eAAe,EACxC,IAAK,CAAE,CACL,QAAS,CACP,SAAU,oHACV,aAAc,IAEhB,GAAI,sBACZ,CAAO,EACD,IAAK,CAAA,EACL,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,6BACJ,OAAQ,QACR,SAAU,oDACV,QAAS,qCACT,KAAM,CAAE,WAAY,gBAAiB,KAAK,EAC1C,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAA,EACL,KAAM,CAAE,uBAAwB,2BAA2B,CACjE,EAAO,CACD,GAAI,SACJ,OAAQ,WACR,SAAU,SACV,KAAM,CAAE,eAAgB,gBAAiB,SAAU,YAAY,EAC/D,IAAK,CAAA,EACL,IAAK,CAAE,CACL,QAAS,CACP,cAAe,kDAEjB,GAAI,QACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,eACJ,OAAQ,UACR,SAAU,6CACV,QAAS,yBACT,KAAM,CAAE,wBAAyB,SAAU,UAAW,aAAc,kBAAmB,OAAQ,QAAS,aAAc,aAAc,MAAO,SAAU,YAAY,EACjK,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAE,aAAc,kBAAmB,CACtC,QAAS,CACP,UAAW,SAEb,GAAI,iBACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,mBACJ,OAAQ,WACR,SAAU,uBACV,KAAM,CAAE,aAAc,eAAe,EACrC,IAAK,CAAE,cAAe,CACpB,QAAS,CACP,OAAQ,CAAE,MAAO,MAAO,WAAY,UAAU,GAEhD,GAAI,aACZ,CAAO,EACD,IAAK,CAAA,EACL,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,8BACJ,OAAQ,UACR,SAAU,yBACV,QAAS,sCACT,KAAM,CAAE,eAAgB,SAAU,UAAW,UAAW,OAAQ,QAAS,aAAc,aAAc,aAAc,SAAU,YAAY,EACzI,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAE,oBAAqB,mBAAmB,EAC/C,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,cACJ,OAAQ,WACR,SAAU,SACV,KAAM,CAAE,YAAa,SAAU,UAAW,aAAc,kBAAmB,OAAQ,QAAS,aAAc,aAAc,MAAO,SAAU,aAAa,EACtJ,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAE,iBAAkB,iBAAkB,aAAc,kBAAmB,CAC1E,QAAS,CACP,UAAW,SAEb,GAAI,mBACH,qBAAqB,EACxB,KAAM,CAAE,uBAAuB,CACrC,EAAO,CACD,GAAI,wBACJ,OAAQ,QACR,SAAU,aACV,KAAM,CAAE,wBAAyB,SAAU,UAAW,aAAc,kBAAmB,OAAQ,QAAS,aAAc,aAAc,SAAU,YAAY,EAC1J,IAAK,CAAA,EACL,IAAK,CAAA,EACL,KAAM,CAAE,QAAQ,CACtB,EAAO,CACD,GAAI,YACJ,OAAQ,WACR,SAAU,8BACV,QAAS,oBACT,KAAM,CAAE,eAAgB,gBAAiB,SAAU,aAAa,EAChE,IAAK,CAAA,EACL,IAAK,CAAE,WAAW,EAClB,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,eACJ,OAAQ,UACR,SAAU,UACV,QAAS,8BACT,KAAM,CAAE,sBAAuB,SAAU,UAAW,aAAc,kBAAmB,OAAQ,QAAS,aAAc,YAAY,EAChI,IAAK,CAAA,EACL,IAAK,CAAE,mBAAoB,aAAc,kBAAmB,CAC1D,QAAS,CACP,UAAW,SAEb,GAAI,iBACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,cACJ,OAAQ,UACR,SAAU,wEACV,QAAS,wBACT,KAAM,CAAE,wBAAyB,SAAU,UAAW,aAAc,kBAAmB,OAAQ,QAAS,aAAc,aAAc,MAAO,SAAU,YAAY,EACjK,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAE,sBAAuB,aAAc,kBAAmB,CAC7D,QAAS,CACP,UAAW,SAEb,GAAI,iBACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,WACJ,OAAQ,UACR,SAAU,aACV,KAAM,CAAE,eAAgB,eAAe,EACvC,IAAK,CAAA,EACL,IAAK,CAAE,UAAU,EACjB,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,uBACJ,OAAQ,QACR,SAAU,QACV,KAAM,CAAE,aAAc,gBAAiB,SAAU,YAAY,EAC7D,IAAK,CAAA,EACL,IAAK,CAAA,EACL,KAAM,CAAE,sBAAsB,CACpC,EAAO,CACD,GAAI,qBACJ,OAAQ,UACR,SAAU,QACV,QAAS,qBACT,KAAM,CAAE,aAAc,eAAgB,SAAU,UAAW,aAAc,kBAAmB,aAAc,aAAc,SAAU,YAAY,EAC9I,IAAK,CAAE,eAAe,EACtB,IAAK,CAAA,EACL,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,cACJ,OAAQ,UACR,SAAU,IACV,QAAS,GACT,QAAS,4BACT,KAAM,CAAE,8BAA+B,WAAY,SAAS,EAC5D,IAAK,CAAA,EACL,IAAK,CAAE,CACL,QAAS,CACP,QAAS,IAEX,GAAI,aACZ,EAAS,CACD,QAAS,CACP,UAAW,IAEb,GAAI,eACZ,CAAO,EACD,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,gBACJ,OAAQ,WACR,SAAU,QACV,QAAS,2BACT,KAAM,CAAE,aAAc,eAAgB,SAAU,UAAW,aAAc,kBAAmB,OAAQ,SAAU,aAAc,aAAc,SAAU,YAAY,EAChK,IAAK,CAAE,eAAe,EACtB,IAAK,CAAA,EACL,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,kBACJ,OAAQ,UACR,SAAU,QACV,QAAS,6BACT,KAAM,CAAE,aAAc,SAAU,UAAW,aAAc,kBAAmB,OAAQ,SAAU,aAAc,aAAc,SAAU,YAAY,EAChJ,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAE,iBAAiB,EACxB,IAAK,CAAA,EACL,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,oBACJ,OAAQ,UACR,SAAU,QACV,QAAS,qBACT,KAAM,CAAE,aAAc,SAAU,UAAW,aAAc,kBAAmB,OAAQ,SAAU,aAAc,aAAc,SAAU,YAAY,EAChJ,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAE,mBAAmB,EAC1B,IAAK,CAAA,EACL,KAAM,CAAA,CACZ,EAAO,CACD,GAAI,aACJ,OAAQ,UACR,SAAU,2CACV,KAAM,CAAE,eAAgB,UAAW,UAAW,OAAQ,SAAU,aAAc,aAAc,MAAO,SAAU,YAAY,EACzH,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAA,EACL,KAAM,CAAE,CACN,QAAS,CACP,WAAY,CAAE,OAAQ,UAAU,GAElC,GAAI,aACL,CACP,EAAO,CACD,GAAI,gBACJ,OAAQ,WACR,SAAU,QACV,KAAM,CAAE,wBAAyB,SAAU,UAAW,aAAc,kBAAmB,OAAQ,SAAU,aAAc,aAAc,SAAU,YAAY,EAC3J,OAAQ,CAAE,QAAQ,EAClB,IAAK,CAAA,EACL,IAAK,CAAA,EACL,KAAM,CAAE,SAAS,CACvB,CAAK,EACD,OAAQ,CAAE,CACR,GAAI,eACJ,SAAU,uBAChB,EAAO,CACD,GAAI,oBACJ,SAAU,6BACV,QAAS,CACP,kBAAmB,CAAE,gBAAiB,eAAgB,gBAAiB,YAAY,CAC3F,CACA,EAAO,CACD,GAAI,oBACJ,SAAU,6BACV,QAAS,CACP,cAAe,GACf,YAAa,CAAA,CACrB,CACA,EAAO,CACD,GAAI,YACJ,SAAU,qBACV,WAAY,EAClB,EAAO,CACD,GAAI,wBACJ,SAAU,iCACV,QAAS,CACP,qBAAsB,CAAE,gBAAiB,eAAgB,gBAAiB,YAAY,CAC9F,CACA,EAAO,CACD,GAAI,oBACJ,SAAU,4BAChB,EAAO,CACD,GAAI,mBACJ,SAAU,2BAChB,EAAO,CACD,GAAI,aACJ,SAAU,qBAChB,EAAO,CACD,GAAI,uBACJ,SAAU,gCACV,QAAS,CACP,yBAA0B,CAAE,SAAU,OAAO,CACrD,CACA,EAAO,CACD,GAAI,qBACJ,SAAU,6BAChB,EAAO,CACD,GAAI,yBACJ,SAAU,kCACV,QAAS,CACP,YAAa,CAAE,mBAAoB,eAAgB,OAAQ,OAAQ,UAAW,OAAQ,UAAW,QAAS,UAAW,OAAQ,WAAY,UAAU,CAC3J,CACA,EAAO,CACD,GAAI,uBACJ,SAAU,gCACV,QAAS,CACP,cAAe,CAAE,WAAY,UAAU,CAC/C,CACA,EAAO,CACD,GAAI,uBACJ,SAAU,gCACV,QAAS,CACP,eAAgB,CAAE,SAAU,MAAO,WAAY,QAAS,WAAY,mBAAoB,eAAe,CAC/G,CACA,EAAO,CACD,GAAI,wBACJ,SAAU,gCAChB,EAAO,CACD,GAAI,wBACJ,SAAU,iCACV,QAAS,CAAA,CACf,EAAO,CACD,GAAI,kBACJ,SAAU,2BACV,QAAS,CAAA,CACf,EAAO,CACD,GAAI,2BACJ,SAAU,mCAChB,EAAO,CACD,GAAI,qCACJ,SAAU,6CAChB,EAAO,CACD,GAAI,iBACJ,SAAU,yBAChB,EAAO,CACD,GAAI,eACJ,SAAU,uBAChB,EAAO,CACD,GAAI,4BACJ,SAAU,oCAChB,EAAO,CACD,GAAI,kBACJ,SAAU,2BACV,QAAS,CAAA,CACf,EAAO,CACD,GAAI,cACJ,SAAU,sBAChB,EAAO,CACD,GAAI,uBACJ,SAAU,+BAChB,EAAO,CACD,GAAI,6BACJ,SAAU,qCAChB,EAAO,CACD,GAAI,kBACJ,SAAU,0BAChB,EAAO,CACD,GAAI,6BACJ,SAAU,sCACV,QAAS,CACP,MAAO,CAAE,SAAS,CAC1B,CACA,EAAO,CACD,GAAI,0BACJ,SAAU,0BACV,QAAS,CACP,cAAe,GACf,aAAc,GACd,aAAc,GACd,UAAW,IACX,WAAY,GACZ,YAAa,GACb,cAAe,CACb,OAAQ,CACN,SAAU,EACV,aAAc,KAEhB,MAAO,CACL,SAAU,IACV,aAAc,CAC1B,GAEQ,oBAAqB,IACrB,mBAAoB,GACpB,gBAAiB,GACzB,CACA,EAAO,CACD,GAAI,iBACJ,SAAU,0BACV,QAAS,CACP,cAAe,GACf,aAAc,GACd,aAAc,GACd,UAAW,IACX,WAAY,GACZ,YAAa,GACb,cAAe,CACb,OAAQ,CACN,SAAU,KAEZ,MAAO,CACL,SAAU,CACtB,GAEQ,oBAAqB,IACrB,mBAAoB,GACpB,gBAAiB,GACzB,CACA,EAAO,CACD,GAAI,2BACJ,SAAU,mCAChB,EAAO,CACD,GAAI,qBACJ,SAAU,8BACV,QAAS,CACP,sBAAuB,EACvB,eAAgB,EACxB,CACA,EAAO,CACD,GAAI,2BACJ,SAAU,oCACV,WAAY,EAClB,EAAO,CACD,GAAI,qBACJ,SAAU,8BACV,QAAS,CACP,WAAY,CAAE,OAAQ,QAAS,OAAQ,WAAY,UAAW,YAAa,OAAQ,OAAQ,KAAK,EAChG,cAAe,CAAE,OAAQ,WAAY,SAAU,UAAW,SAAS,CAC3E,CACA,EAAO,CACD,GAAI,aACJ,SAAU,sBACV,MAAO,kBACb,EAAO,CACD,GAAI,oBACJ,SAAU,4BAChB,EAAO,CACD,GAAI,qBACJ,SAAU,6BAChB,EAAO,CACD,GAAI,oBACJ,SAAU,4BAChB,EAAO,CACD,GAAI,uBACJ,SAAU,+BAChB,EAAO,CACD,GAAI,oBACJ,SAAU,4BAChB,EAAO,CACD,GAAI,yBACJ,SAAU,iCAChB,EAAO,CACD,GAAI,0BACJ,SAAU,kCAChB,EAAO,CACD,GAAI,wBACJ,SAAU,gCAChB,EAAO,CACD,GAAI,uBACJ,SAAU,+BAChB,EAAO,CACD,GAAI,uBACJ,SAAU,0BACV,MAAO,uBACP,QAAS,CACP,SAAU,oHACV,aAAc,EACtB,CACA,EAAO,CACD,GAAI,gBACJ,SAAU,0BACV,MAAO,uBACP,QAAS,CACP,SAAU,kCACV,aAAc,EACtB,CACA,EAAO,CACD,GAAI,2BACJ,SAAU,6BACV,MAAO,0BACP,QAAS,CACP,SAAU,oCACV,KAAM,QACd,CACA,EAAO,CACD,GAAI,gCACJ,SAAU,6BACV,MAAO,0BACP,QAAS,CACP,SAAU,yCACV,KAAM,aACd,CACA,EAAO,CACD,GAAI,yBACJ,SAAU,6BACV,MAAO,0BACP,QAAS,CACP,SAAU,iCAClB,CACA,EAAO,CACD,GAAI,WACJ,SAAU,mBAChB,EAAO,CACD,GAAI,kBACJ,SAAU,0BAChB,EAAO,CACD,GAAI,sBACJ,SAAU,+BACV,QAAS,CACP,eAAgB,+CACxB,CACA,EAAO,CACD,GAAI,iBACJ,SAAU,mBAChB,EAAO,CACD,GAAI,qBACJ,SAAU,6BAChB,EAAO,CACD,GAAI,wBACJ,SAAU,gCAChB,EAAO,CACD,GAAI,iBACJ,SAAU,mBAChB,EAAO,CACD,GAAI,8BACJ,SAAU,uCACV,QAAS,CACP,eAAgB,GAChB,oBAAqB,CAC7B,CACA,EAAO,CACD,GAAI,iBACJ,SAAU,yBAChB,EAAO,CACD,GAAI,aACJ,SAAU,qBAChB,EAAO,CACD,GAAI,qBACJ,SAAU,8BACV,MAAO,0BACb,EAAO,CACD,GAAI,WACJ,SAAU,oBACV,QAAS,CACP,WAAY,CAAE,OAAQ,UAAU,CACxC,CACA,EAAO,CACD,GAAI,aACJ,SAAU,sBACV,QAAS,CACP,WAAY,CAAE,OAAQ,UAAU,CACxC,CACA,EAAO,CACD,GAAI,oBACJ,SAAU,4BAChB,EAAO,CACD,GAAI,SACJ,SAAU,iBAChB,EAAO,CACD,GAAI,WACJ,SAAU,mBAChB,EAAO,CACD,GAAI,eACJ,SAAU,4BACV,QAAS,CACP,WAAY,CAAE,aAAc,OAAQ,UAAU,EAC9C,eAAgB,CAAE,KAAM,IAAI,EAC5B,UAAW,EACnB,CACA,EAAO,CACD,GAAI,iBACJ,SAAU,4BACV,QAAS,CACP,WAAY,CAAE,UAAU,EACxB,eAAgB,CAAE,IAAI,CAC9B,CACA,EAAO,CACD,GAAI,qBACJ,SAAU,6BAChB,EAAO,CACD,GAAI,UACJ,SAAU,kBAChB,EAAO,CACD,GAAI,eACJ,SAAU,wBACV,MAAO,qBACP,QAAS,CACP,YAAa,EACrB,CACA,EAAO,CACD,GAAI,oBACJ,SAAU,6BACV,QAAS,CACP,gBAAiB,CACzB,CACA,EAAO,CACD,GAAI,uBACJ,SAAU,gCACV,QAAS,CACP,gBAAiB,CACzB,CACA,EAAO,CACD,GAAI,sBACJ,SAAU,+BACV,QAAS,CACP,aAAc,EACd,WAAY,CACpB,CACA,EAAO,CACD,GAAI,gBACJ,SAAU,+BACV,QAAS,CACP,aAAc,CACtB,CACA,EAAO,CACD,GAAI,gBACJ,SAAU,yBACV,QAAS,CACP,UAAW,EACnB,CACA,EAAO,CACD,GAAI,cACJ,SAAU,uBACV,QAAS,CACP,QAAS,EACjB,CACA,EAAO,CACD,GAAI,iBACJ,SAAU,0BACV,MAAO,uBACP,QAAS,CACP,SAAU,yDAClB,CACA,EAAO,CACD,GAAI,gBACJ,SAAU,yBACV,MAAO,qBACb,EAAO,CACD,GAAI,+BACJ,SAAU,wCACV,MAAO,oCACb,EAAO,CACD,GAAI,wBACJ,SAAU,gCAChB,EAAO,CACD,GAAI,WACJ,SAAU,0BACV,QAAS,CACP,SAAU,mBAClB,CACA,EAAO,CACD,GAAI,6BACJ,SAAU,wBACV,QAAS,CACP,SAAU,KACV,SAAU,EAClB,CACA,EAAO,CACD,GAAI,eACJ,SAAU,wBACV,QAAS,CACP,SAAU,EACV,SAAU,IAClB,CACA,EAAO,CACD,GAAI,eACJ,SAAU,wBACV,QAAS,CACP,QAAS,CAAE,CACT,OAAQ,IACR,OAAQ,EAClB,EAAW,CACD,OAAQ,IACR,KAAM,IAChB,EAAW,CACD,OAAQ,GACR,KAAM,IAChB,EAAW,CACD,KAAM,GAChB,CAAS,EACD,WAAY,EACZ,WAAY,EACpB,CACA,EAAO,CACD,GAAI,SACJ,SAAU,kBACV,MAAO,eACP,QAAS,CACP,cAAe,gDACvB,CACA,EAAO,CACD,GAAI,YACJ,SAAU,oBAChB,EAAO,CACD,GAAI,qBACJ,SAAU,8BACV,MAAO,0BACb,EAAO,CACD,GAAI,sBACJ,SAAU,wBACV,MAAO,oBACb,EAAO,CACD,GAAI,oBACJ,SAAU,wBACV,MAAO,oBACb,EAAO,CACD,GAAI,eACJ,SAAU,wBACV,MAAO,oBACb,EAAO,CACD,GAAI,aACJ,SAAU,qBAChB,EAAO,CACD,GAAI,kBACJ,SAAU,0BAChB,EAAO,CACD,GAAI,uBACJ,SAAU,gCACV,QAAS,CACP,cAAe,CAAE,cAAe,iBAAkB,cAAc,CACxE,CACA,EAAO,CACD,GAAI,0BACJ,SAAU,2BAChB,EAAO,CACD,GAAI,gBACJ,SAAU,wBAChB,EAAO,CACD,GAAI,iBACJ,SAAU,iBAChB,EAAO,CACD,GAAI,SACJ,SAAU,iBAChB,EAAO,CACD,GAAI,UACJ,SAAU,kBAChB,EAAO,CACD,GAAI,mBACJ,SAAU,2BAChB,EAAO,CACD,GAAI,2BACJ,SAAU,iCACV,QAAS,CACP,YAAa,iBACb,SAAU,GAClB,CACA,EAAO,CACD,GAAI,wBACJ,SAAU,iCACV,QAAS,CACP,cAAe,GACf,YAAa,cACb,SAAU,IACV,YAAa,CACrB,CACA,EAAO,CACD,GAAI,yBACJ,SAAU,iCACV,QAAS,CACP,YAAa,eACb,SAAU,GAClB,CACA,EAAO,CACD,GAAI,eACJ,SAAU,uBAChB,EAAO,CACD,GAAI,gBACJ,SAAU,kCACV,QAAS,CACP,UAAW,KACnB,CACA,EAAO,CACD,GAAI,uBACJ,SAAU,+BAChB,EAAO,CACD,GAAI,wBACJ,SAAU,kCACV,QAAS,CACP,UAAW,aACnB,CACA,EAAO,CACD,GAAI,kBACJ,SAAU,kCACV,QAAS,CACP,UAAW,OACnB,CACA,EAAO,CACD,GAAI,kBACJ,SAAU,kCACV,QAAS,CACP,UAAW,OACnB,CACA,EAAO,CACD,GAAI,sBACJ,SAAU,8BAChB,EAAO,CACD,GAAI,YACJ,SAAU,8BACV,WAAY,GACZ,QAAS,CACP,QAAS,CACP,WAAY,CACV,KAAM,MAClB,CACA,CACA,CACA,EAAO,CACD,GAAI,oBACJ,SAAU,8BACV,WAAY,GACZ,QAAS,CACP,QAAS,CACP,WAAY,CACV,KAAM,cAClB,CACA,CACA,CACA,EAAO,CACD,GAAI,sBACJ,SAAU,8BAChB,EAAO,CACD,GAAI,gBACJ,SAAU,wBAChB,EAAO,CACD,GAAI,cACJ,SAAU,sBAChB,EAAO,CACD,GAAI,uBACJ,SAAU,+BAChB,EAAO,CACD,GAAI,cACJ,SAAU,uBACV,QAAS,CACP,OAAQ,CAAE,MAAO,MAAO,WAAY,UAAU,CACtD,CACA,EAAO,CACD,GAAI,gBACJ,SAAU,wBAChB,EAAO,CACD,GAAI,kBACJ,SAAU,0BAChB,EAAO,CACD,GAAI,oBACJ,SAAU,4BAChB,EAAO,CACD,GAAI,iBACJ,SAAU,0BACX,CACL,CAAG,CACH,GAAG,OAAO,QAAW,SAAW,OAAS+mH,EAAI","x_google_ignoreList":[0]}