{"version":3,"file":"axe-SSuQgRHN.js","sources":["../../node_modules/axe-core/axe.js"],"sourcesContent":["/*! axe v4.9.1\n * Copyright (c) 2015 - 2024 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.9.1';\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 function SupportError(error) {\n this.name = 'SupportError';\n this.cause = error.cause;\n this.message = '`'.concat(error.cause, '` - feature unsupported in your environment.');\n if (error.ruleId) {\n this.ruleId = error.ruleId;\n this.message += ' Skipping '.concat(this.ruleId, ' rule.');\n }\n this.stack = new Error().stack;\n }\n SupportError.prototype = Object.create(Error.prototype);\n SupportError.prototype.constructor = SupportError;\n 'use strict';\n var _excluded = [ 'node' ], _excluded2 = [ 'relatedNodes' ], _excluded3 = [ 'node' ], _excluded4 = [ 'variant' ], _excluded5 = [ 'matches' ], _excluded6 = [ 'chromium' ], _excluded7 = [ 'noImplicit' ], _excluded8 = [ 'noPresentational' ], _excluded9 = [ 'precision', 'format', 'inGamut' ], _excluded10 = [ 'space' ], _excluded11 = [ 'algorithm' ], _excluded12 = [ 'method' ], _excluded13 = [ 'maxDeltaE', 'deltaEMethod', 'steps', 'maxSteps' ], _excluded14 = [ 'node' ], _excluded15 = [ 'environmentData' ], _excluded16 = [ 'environmentData' ], _excluded17 = [ 'environmentData' ], _excluded18 = [ 'environmentData' ], _excluded19 = [ 'environmentData' ];\n function _toArray(arr) {\n return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest();\n }\n function _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\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 _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(self, call) {\n if (call && (_typeof(call) === 'object' || typeof call === 'function')) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError('Derived constructors may only return object or undefined');\n }\n return _assertThisInitialized(self);\n }\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError('this hasn\\'t been initialised - super() hasn\\'t been called');\n }\n return self;\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(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== 'function' && superClass !== null) {\n throw new TypeError('Super expression must either be null or a function');\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, 'prototype', {\n writable: false\n });\n if (superClass) {\n _setPrototypeOf(subClass, superClass);\n }\n }\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n }\n function _classPrivateFieldInitSpec(obj, privateMap, value) {\n _checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n }\n function _classPrivateMethodInitSpec(obj, privateSet) {\n _checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n }\n function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\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 _objectWithoutProperties(source, excluded) {\n if (source == null) {\n return {};\n }\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) {\n continue;\n }\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\n continue;\n }\n target[key] = source[key];\n }\n }\n return target;\n }\n function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) {\n return {};\n }\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) {\n continue;\n }\n target[key] = source[key];\n }\n return target;\n }\n function _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _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(iter) {\n if (typeof Symbol !== 'undefined' && iter[Symbol.iterator] != null || iter['@@iterator'] != null) {\n return Array.from(iter);\n }\n }\n function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n return _arrayLikeToArray(arr);\n }\n }\n function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n }\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _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(arr) {\n if (Array.isArray(arr)) {\n return arr;\n }\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n }\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor) {\n descriptor.writable = true;\n }\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) {\n _defineProperties(Constructor.prototype, protoProps);\n }\n if (staticProps) {\n _defineProperties(Constructor, staticProps);\n }\n Object.defineProperty(Constructor, 'prototype', {\n writable: false\n });\n return Constructor;\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(o, allowArrayLike) {\n var it = typeof Symbol !== 'undefined' && o[Symbol.iterator] || o['@@iterator'];\n if (!it) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === 'number') {\n if (it) {\n o = it;\n }\n var i = 0;\n var F = function F() {};\n return {\n s: F,\n n: function n() {\n if (i >= o.length) {\n return {\n done: true\n };\n }\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\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 normalCompletion = true, didErr = false, err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it['return'] != null) {\n it['return']();\n }\n } finally {\n if (didErr) {\n throw err;\n }\n }\n }\n };\n }\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) {\n return;\n }\n if (typeof o === 'string') {\n return _arrayLikeToArray(o, minLen);\n }\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === 'Object' && o.constructor) {\n n = o.constructor.name;\n }\n if (n === 'Map' || n === 'Set') {\n return Array.from(o);\n }\n if (n === 'Arguments' || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\n return _arrayLikeToArray(o, minLen);\n }\n }\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) {\n len = arr.length;\n }\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\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, _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_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_object = __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_object();\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_this = __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_this();\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_symbol = __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_symbol();\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_this().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_this().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_this().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_from = __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_from();\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_from();\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_callable = __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_callable();\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_callable();\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 '';\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_from();\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 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 CssSelectorParser3 = function() {\n function CssSelectorParser4() {\n this.pseudos = {};\n this.attrEqualityMods = {};\n this.ruleNestingOperators = {};\n this.substitutesEnabled = false;\n }\n CssSelectorParser4.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 CssSelectorParser4.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 CssSelectorParser4.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 CssSelectorParser4.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 CssSelectorParser4.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 CssSelectorParser4.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 CssSelectorParser4.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 CssSelectorParser4.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 CssSelectorParser4.prototype.enableSubstitutes = function() {\n this.substitutesEnabled = true;\n return this;\n };\n CssSelectorParser4.prototype.disableSubstitutes = function() {\n this.substitutesEnabled = false;\n return this;\n };\n CssSelectorParser4.prototype.parse = function(str) {\n return parser_context_1.parseCssSelector(str, 0, this.pseudos, this.attrEqualityMods, this.ruleNestingOperators, this.substitutesEnabled);\n };\n CssSelectorParser4.prototype.render = function(path) {\n return render_1.renderEntity(path).trim();\n };\n return CssSelectorParser4;\n }();\n exports.CssSelectorParser = CssSelectorParser3;\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 = __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) || function() {\n return this;\n }() || exports || 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_document_all = __commonJS(function(exports, module) {\n 'use strict';\n var documentAll = (typeof document === 'undefined' ? 'undefined' : _typeof(document)) == 'object' && document.all;\n var IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== void 0;\n module.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n };\n });\n var require_is_callable2 = __commonJS(function(exports, module) {\n 'use strict';\n var $documentAll = require_document_all();\n var documentAll = $documentAll.all;\n module.exports = $documentAll.IS_HTMLDDA ? 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_object2 = __commonJS(function(exports, module) {\n 'use strict';\n var isCallable = require_is_callable2();\n var $documentAll = require_document_all();\n var documentAll = $documentAll.all;\n module.exports = $documentAll.IS_HTMLDDA ? function(it) {\n return _typeof(it) == 'object' ? it !== null : isCallable(it) || it === documentAll;\n } : 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 global2 = require_global();\n var isCallable = require_is_callable2();\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(global2[namespace]) : path[namespace] && path[namespace][method] || global2[namespace] && global2[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_engine_user_agent = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n });\n var require_engine_v8_version = __commonJS(function(exports, module) {\n 'use strict';\n var global2 = require_global();\n var userAgent = require_engine_user_agent();\n var process2 = global2.process;\n var Deno = global2.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_engine_v8_version();\n var fails = require_fails();\n var global2 = require_global();\n var $String = global2.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_symbol2 = __commonJS(function(exports, module) {\n 'use strict';\n var getBuiltIn = require_get_built_in();\n var isCallable = require_is_callable2();\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_callable2();\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_callable2();\n var isObject = require_is_object2();\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 global2 = require_global();\n var defineProperty = Object.defineProperty;\n module.exports = function(key, value) {\n try {\n defineProperty(global2, key, {\n value: value,\n configurable: true,\n writable: true\n });\n } catch (error) {\n global2[key] = value;\n }\n return value;\n };\n });\n var require_shared_store = __commonJS(function(exports, module) {\n 'use strict';\n var global2 = require_global();\n var defineGlobalProperty = require_define_global_property();\n var SHARED = '__core-js_shared__';\n var store = global2[SHARED] || defineGlobalProperty(SHARED, {});\n module.exports = store;\n });\n var require_shared = __commonJS(function(exports, module) {\n 'use strict';\n var IS_PURE = require_is_pure();\n var store = require_shared_store();\n (module.exports = function(key, value) {\n return store[key] || (store[key] = value !== void 0 ? value : {});\n })('versions', []).push({\n version: '3.33.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '\\xa9 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.33.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\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..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 global2 = require_global();\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 = global2.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_object2();\n var isSymbol = require_is_symbol2();\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_symbol2();\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 global2 = require_global();\n var isObject = require_is_object2();\n var document2 = global2.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_callable2();\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_object2();\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 global2 = require_global();\n var apply = require_function_apply();\n var uncurryThis = require_function_uncurry_this_clause();\n var isCallable = require_is_callable2();\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 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 ? global2 : STATIC ? global2[TARGET] : (global2[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 (USE_NATIVE && _typeof(targetProperty) == _typeof(sourceProperty)) {\n continue;\n }\n if (options.bind && USE_NATIVE) {\n resultProperty = bind(sourceProperty, global2);\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_callable2();\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 return argument > 0 ? min(toIntegerOrInfinity(argument), 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 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_callable2();\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 global2 = require_global();\n var isCallable = require_is_callable2();\n var WeakMap2 = global2.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 global2 = require_global();\n var isObject = require_is_object2();\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 = global2.TypeError;\n var WeakMap2 = global2.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_callable2();\n var isObject = require_is_object2();\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 if (it) {\n var target = STATIC ? it : it.prototype;\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_a_possible_prototype = __commonJS(function(exports, module) {\n 'use strict';\n var isCallable = require_is_callable2();\n var $String = String;\n var $TypeError = TypeError;\n module.exports = function(argument) {\n if (_typeof(argument) == 'object' || isCallable(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 anObject = require_an_object();\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 anObject(O);\n aPossiblePrototype(proto);\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_callable2();\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_callable2();\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_callable2();\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 empty = [];\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, empty, 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 toPropertyKey = require_to_property_key();\n var definePropertyModule = require_object_define_property();\n var createPropertyDescriptor = require_create_property_descriptor();\n module.exports = function(object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) {\n definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n } else {\n object[propertyKey] = 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 iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = IS_CONSTRUCTOR ? new this() : [];\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_from2 = __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_from3 = __commonJS(function(exports, module) {\n 'use strict';\n var parent = require_from2();\n module.exports = parent;\n });\n var require_from4 = __commonJS(function(exports, module) {\n 'use strict';\n var parent = require_from3();\n module.exports = parent;\n });\n var require_doT = __commonJS(function(exports, module) {\n (function() {\n 'use strict';\n var doT3 = {\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 doT3.encodeHTMLSource = function(doNotSkipEncoded) {\n var encodeHTMLRules = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n '\\'': ''',\n '/': '/'\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 = doT3;\n } else if (typeof define === 'function' && define.amd) {\n define(function() {\n return doT3;\n });\n } else {\n globalThis.doT = doT3;\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 doT3.template = function(tmpl, c4, def) {\n c4 = c4 || doT3.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 + '',\n sameOrigin: ''\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 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 _clone;\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 _getSelector;\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 isHidden: function isHidden() {\n return is_hidden_default;\n },\n isHtmlElement: function isHtmlElement() {\n return is_html_element_default;\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 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 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 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 _splitString10 = _slicedToArray(_splitString9, 2);\n domain = _splitString10[0];\n port = _splitString10[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 index, candidate, candidates = [ 'matches', 'matchesSelector', 'mozMatchesSelector', 'webkitMatchesSelector', 'msMatchesSelector' ], length = candidates.length;\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 import_memoizee = __toModule(require_memoizee());\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 _loop2 = function _loop2() {\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 _loop2();\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) {\n similar = Array.from(doc.querySelectorAll(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 function generateAncestry(node) {\n var nodeName2 = node.nodeName.toLowerCase();\n var parent = node.parentElement;\n if (!parent) {\n return nodeName2;\n }\n var nthChild = '';\n if (nodeName2 !== 'head' && nodeName2 !== 'body' && parent.children.length > 1) {\n var index = Array.prototype.indexOf.call(parent.children, node) + 1;\n nthChild = ':nth-child('.concat(index, ')');\n }\n return generateAncestry(parent) + ' > ' + 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 CACHE_KEY = 'DqElm.RunOptions';\n function truncate(str, maxLength) {\n maxLength = maxLength || 300;\n if (str.length > maxLength) {\n var index = str.indexOf('>');\n str = str.substring(0, index + 1);\n }\n return str;\n }\n function getSource(element) {\n if (!(element !== null && element !== void 0 && element.outerHTML)) {\n return '';\n }\n var source = element.outerHTML;\n if (!source && typeof window.XMLSerializer === 'function') {\n source = new window.XMLSerializer().serializeToString(element);\n }\n return truncate(source || '');\n }\n function DqElement(elm) {\n var _this$spec$selector, _this$_virtualNode;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var spec = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\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 }\n DqElement.prototype = {\n get selector() {\n return this.spec.selector || [ _getSelector(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(_ref2) {\n var elementRef = _ref2.elementRef, absolutePaths = _ref2.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 _clone(obj) {\n return cloneRecused(obj, new Map());\n }\n function cloneRecused(obj, seen) {\n var _window, _window2;\n if (obj === null || _typeof(obj) !== 'object') {\n return obj;\n }\n if ((_window = window) !== null && _window !== void 0 && _window.Node && obj instanceof window.Node || (_window2 = window) !== null && _window2 !== void 0 && _window2.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 key in obj) {\n out[key] = cloneRecused(obj[key], seen);\n }\n return out;\n }\n var import_css_selector_parser = __toModule(require_lib());\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 _rnds8 = new Uint8Array(16);\n _rng = function whatwgRNG() {\n _crypto.getRandomValues(_rnds8);\n return _rnds8;\n };\n }\n var _rnds8;\n if (!_rng) {\n _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 _rnds;\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 parse(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 = parse;\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(_ref3) {\n var topic = _ref3.topic, channelId = _ref3.channelId, message = _ref3.message, messageId = _ref3.messageId, keepalive = _ref3.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 (e) {\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(_ref4, topicHandler) {\n var origin = _ref4.origin, dataString = _ref4.data, win = _ref4.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 _ref5 = getReplyHandler(channelId) || {}, replyHandler = _ref5.replyHandler, sendToParent = _ref5.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(_ref6) {\n var open = _ref6.open, post = _ref6.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 = _getSelector(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(_ref7) {\n var node = _ref7.node, nodeResult = _objectWithoutProperties(_ref7, _excluded);\n nodeResult.node = nodeSerializer.dqElmToSpec(node);\n for (var _i2 = 0, _arr = [ 'any', 'all', 'none' ]; _i2 < _arr.length; _i2++) {\n var type2 = _arr[_i2];\n nodeResult[type2] = nodeResult[type2].map(function(_ref8) {\n var relatedNodes = _ref8.relatedNodes, checkResult = _objectWithoutProperties(_ref8, _excluded2);\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 for (var _i3 = 0; _i3 < target.length; _i3++) {\n var node = target[_i3].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, [ _i3, 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 }\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 _i4 = 0; _i4 < length; _i4++) {\n var indexA = nodeIndexesA === null || nodeIndexesA === void 0 ? void 0 : nodeIndexesA[_i4];\n var indexB = nodeIndexesB === null || nodeIndexesB === void 0 ? void 0 : nodeIndexesB[_i4];\n if (typeof indexA !== 'number' || isNaN(indexA)) {\n return _i4 === 0 ? 1 : -1;\n }\n if (typeof indexB !== 'number' || isNaN(indexB)) {\n return _i4 === 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(_ref9) {\n var frameElement = _ref9.node, context = _objectWithoutProperties(_ref9, _excluded3);\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 _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) {\n sources[_key] = arguments[_key];\n }\n sources.forEach(function(source) {\n if (!source || _typeof(source) !== 'object' || Array.isArray(source)) {\n return;\n }\n for (var _i5 = 0, _Object$keys = Object.keys(source); _i5 < _Object$keys.length; _i5++) {\n var key = _Object$keys[_i5];\n if (!target.hasOwnProperty(key) || _typeof(source[key]) !== 'object' || Array.isArray(target[key])) {\n target[key] = source[key];\n } else {\n target[key] = deepMerge(target[key], source[key]);\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 (e) {}\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 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 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(_ref10) {\n var context = _ref10.context, value = _ref10.value, attr = _ref10.attr, _ref10$elm = _ref10.elm, elm = _ref10$elm === void 0 ? '' : _ref10$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 _ref11 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, isAncestor = _ref11.isAncestor;\n return !isAncestor && [ 'hidden', 'collapse' ].includes(vNode.getComputedStylePropertyValue('visibility'));\n }\n function contentVisibiltyHidden(vNode) {\n var _ref12 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, isAncestor = _ref12.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 _ref13 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, isAncestor = _ref13.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 _ref14 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, skipAncestors = _ref14.skipAncestors, _ref14$isAncestor = _ref14.isAncestor, isAncestor = _ref14$isAncestor === void 0 ? false : _ref14$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 _ref15 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, isAncestor = _ref15.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(_ref16, _ref17) {\n var x = _ref16.x, y = _ref16.y;\n var top = _ref17.top, right = _ref17.right, bottom = _ref17.bottom, left = _ref17.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(_ref18) {\n var left = _ref18.left, top = _ref18.top, width = _ref18.width, height = _ref18.height;\n return new window.DOMPoint(left + width / 2, top + height / 2);\n }\n var roundingMargin = .05;\n function _rectHasMinimumSize(minSize, _ref19) {\n var width = _ref19.width, height = _ref19.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 _iterator2 = _createForOfIteratorHelper(neighborRects), _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) {\n var rect = _step2.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 _iterator2.e(err);\n } finally {\n _iterator2.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 _iterator3 = _createForOfIteratorHelper(overlapRects), _step3;\n try {\n var _loop3 = function _loop3() {\n var overlapRect = _step3.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 (_iterator3.s(); !(_step3 = _iterator3.n()).done; ) {\n _loop3();\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.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 _rootGrid;\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 = 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(_ref20) {\n var stackLevel2 = _ref20.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(_ref21) {\n var _this$cells, _row;\n var x = _ref21.x, y = _ref21.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(_ref22) {\n var top = _ref22.top, right = _ref22.right, bottom = _ref22.bottom, left = _ref22.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 _i6 = 0; _i6 < matrix._negativeIndex - start; _i6++) {\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 _findNearbyElms(vNode) {\n var _vNode$_grid2;\n var margin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n _createGrid();\n if (!((_vNode$_grid2 = vNode._grid) !== null && _vNode$_grid2 !== void 0 && (_vNode$_grid2 = _vNode$_grid2.cells) !== null && _vNode$_grid2 !== void 0 && _vNode$_grid2.length)) {\n return [];\n }\n var rect = vNode.boundingClientRect;\n var grid = vNode._grid;\n var selfIsFixed = hasFixedPosition(vNode);\n var gridPosition = grid.getGridPositionOfRect(rect, margin);\n var neighbors = [];\n grid.loopGridPosition(gridPosition, function(vNeighbors) {\n var _iterator4 = _createForOfIteratorHelper(vNeighbors), _step4;\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done; ) {\n var vNeighbor = _step4.value;\n if (vNeighbor && vNeighbor !== vNode && !neighbors.includes(vNeighbor) && selfIsFixed === hasFixedPosition(vNeighbor)) {\n neighbors.push(vNeighbor);\n }\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.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 _ref23 = (_getNodeFromGrid = getNodeFromGrid(dialog)) !== null && _getNodeFromGrid !== void 0 ? _getNodeFromGrid : {}, vNode = _ref23.vNode, rect = _ref23.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 _i7 = 0; _i7 < cells.length; _i7++) {\n var vNode = cells[_i7];\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 _ref24 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, skipAncestors = _ref24.skipAncestors, isAncestor = _ref24.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 _nodeLookup3 = _nodeLookup(el), vNode = _nodeLookup3.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 _i8 = 0; _i8 < length; _i8++) {\n if (typeof b2._stackingOrder[_i8] === 'undefined') {\n return -1;\n } else if (typeof a2._stackingOrder[_i8] === 'undefined') {\n return 1;\n }\n if (b2._stackingOrder[_i8].stackLevel > a2._stackingOrder[_i8].stackLevel) {\n return 1;\n }\n if (b2._stackingOrder[_i8].stackLevel < a2._stackingOrder[_i8].stackLevel) {\n return -1;\n }\n if (b2._stackingOrder[_i8].treeOrder !== a2._stackingOrder[_i8].treeOrder) {\n return b2._stackingOrder[_i8].treeOrder - a2._stackingOrder[_i8].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 _createGrid();\n var vNode = get_node_from_tree_default(node);\n var grid = vNode._grid;\n if (!grid) {\n return [];\n }\n return getRectStack(grid, vNode.boundingClientRect);\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 = vNode.actualNode.getAttribute('tabindex');\n tabIndex = tabIndex && !isNaN(parseInt(tabIndex, 10)) ? parseInt(tabIndex) : null;\n return tabIndex ? isFocusable2 && tabIndex >= 0 : isFocusable2;\n });\n return tabbableElements;\n }\n var get_tabbable_elements_default = getTabbableElements;\n function isNativelyFocusable(el) {\n var _nodeLookup4 = _nodeLookup(el), vNode = _nodeLookup4.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 _nodeLookup5 = _nodeLookup(el), vNode = _nodeLookup5.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 = vNode.attr('tabindex');\n if (tabindex && !isNaN(parseInt(tabindex, 10))) {\n return true;\n }\n return false;\n }\n function _isInTabOrder(el) {\n var _nodeLookup6 = _nodeLookup(el), vNode = _nodeLookup6.vNode;\n if (vNode.props.nodeType !== 1) {\n return false;\n }\n var tabindex = parseInt(vNode.attr('tabindex', 10));\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(_ref25) {\n var rect = _ref25.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 (e) {\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 _nodeLookup7 = _nodeLookup(element), vNode = _nodeLookup7.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 _nodeLookup8 = _nodeLookup(element), vNode = _nodeLookup8.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: 'widget',\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: [ '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', '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 _ref26 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, allowAbstract = _ref26.allowAbstract, _ref26$flagUnsupporte = _ref26.flagUnsupported, flagUnsupported = _ref26$flagUnsupporte === void 0 ? false : _ref26$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 _ref27 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, fallback = _ref27.fallback, abstracts = _ref27.abstracts, dpub = _ref27.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 _nodeLookup9 = _nodeLookup(el), vNode = _nodeLookup9.vNode, cell = _nodeLookup9.domNode;\n var scope = vNode.attr('scope');\n var role = vNode.attr('role');\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 getSectioningElementSelector = function getSectioningElementSelector() {\n return cache_default.get('sectioningElementSelector', function() {\n return get_elements_by_content_type_default('sectioning').map(function(nodeName2) {\n return ''.concat(nodeName2, ':not([role])');\n }).join(', ') + ' , main:not([role]), [role=article], [role=complementary], [role=main], [role=navigation], [role=region]';\n });\n };\n function hasAccessibleName(vNode) {\n var ariaLabelledby = sanitize_default(arialabelledby_text_default(vNode));\n var ariaLabel = sanitize_default(_arialabelText(vNode));\n return !!(ariaLabelledby || ariaLabel);\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: 'complementary',\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, getSectioningElementSelector());\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, getSectioningElementSelector());\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 _ref28 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref28$noMatchAccessi = _ref28.noMatchAccessibleName, noMatchAccessibleName = _ref28$noMatchAccessi === void 0 ? false : _ref28$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, _excluded4);\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, _excluded5);\n var matchProperties = Array.isArray(matches4) ? matches4 : [ matches4 ];\n for (var _i9 = 0; _i9 < matchProperties.length && noMatchAccessibleName; _i9++) {\n if (matchProperties[_i9].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 _ref29 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, chromium = _ref29.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, _ref30) {\n var chromium = _ref30.chromium, explicitRoleOptions = _objectWithoutProperties(_ref30, _excluded6);\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 _ref31 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var noImplicit = _ref31.noImplicit, roleOptions = _objectWithoutProperties(_ref31, _excluded7);\n var _nodeLookup10 = _nodeLookup(node), vNode = _nodeLookup10.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 _ref32 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var noPresentational = _ref32.noPresentational, options = _objectWithoutProperties(_ref32, _excluded8);\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 _nodeLookup11 = _nodeLookup(node), vNode = _nodeLookup11.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 _ref33 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, strict = _ref33.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 _nodeLookup12 = _nodeLookup(element), vNode = _nodeLookup12.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 _nodeLookup13 = _nodeLookup(node), vNode = _nodeLookup13.vNode;\n if (is_native_textbox_default(vNode)) {\n return vNode.props.value || '';\n }\n return '';\n }\n function nativeSelectValue(node) {\n var _nodeLookup14 = _nodeLookup(node), vNode = _nodeLookup14.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 _nodeLookup15 = _nodeLookup(node), vNode = _nodeLookup15.vNode, domNode = _nodeLookup15.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 _nodeLookup16 = _nodeLookup(node), vNode = _nodeLookup16.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 _nodeLookup17 = _nodeLookup(node), vNode = _nodeLookup17.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 _nodeLookup18 = _nodeLookup(node), vNode = _nodeLookup18.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(_ref34) {\n var actualNode = _ref34.actualNode;\n return actualNode.value || '';\n },\n buttonDefaultText: function buttonDefaultText(_ref35) {\n var actualNode = _ref35.actualNode;\n return defaultButtonValues[actualNode.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, _ref36, context) {\n var actualNode = _ref36.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 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](?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])?|[\\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(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])?(?:\\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](?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])?(?:\\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-\\uDDF5\\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\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4\\uDEB5](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD74\\uDD90](?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])?|[\\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-\\uDED7\\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]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFC-\\uDFFF])))?|\\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]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\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]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\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]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\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]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\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]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\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]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\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]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\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]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\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]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDC6F(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uDD75(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])?(?:\\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\\uDD3D\\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-\\uDE88\\uDE90-\\uDEBD\\uDEBF-\\uDEC2\\uDECE-\\uDEDB\\uDEE0-\\uDEE8]|\\uDD3C(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF])?|\\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]|\\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]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\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]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\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]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\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]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\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]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?))?|\\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 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 _ref37 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref37$looseTyped = _ref37.looseTyped, looseTyped = _ref37$looseTyped === void 0 ? false : _ref37$looseTyped, _ref37$stateTerms = _ref37.stateTerms, stateTerms = _ref37$stateTerms === void 0 ? [] : _ref37$stateTerms, _ref37$locations = _ref37.locations, locations = _ref37$locations === void 0 ? [] : _ref37$locations, _ref37$qualifiers = _ref37.qualifiers, qualifiers = _ref37$qualifiers === void 0 ? [] : _ref37$qualifiers, _ref37$standaloneTerm = _ref37.standaloneTerms, standaloneTerms = _ref37$standaloneTerm === void 0 ? [] : _ref37$standaloneTerm, _ref37$qualifiedTerms = _ref37.qualifiedTerms, qualifiedTerms = _ref37$qualifiedTerms === void 0 ? [] : _ref37$qualifiedTerms;\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 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 id = escape_selector_default(virtualNode.attr('id'));\n doc = get_root_node_default2(virtualNode.actualNode);\n ref = doc.querySelector('label[for=\"' + id + '\"]');\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 _createGrid();\n var vNode = get_node_from_tree_default(node);\n var grid = vNode._grid;\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 _nodeLookup19 = _nodeLookup(el), vNode = _nodeLookup19.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(_ref38) {\n var props = _ref38.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 = parseInt(el.getAttribute('tabindex'), 10);\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 _nodeLookup20 = _nodeLookup(el), vNode = _nodeLookup20.vNode, domNode = _nodeLookup20.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 _window3;\n if (role instanceof abstract_virtual_node_default || (_window3 = window) !== null && _window3 !== void 0 && _window3.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 _loop4 = function _loop4() {\n var modalElement = stacks[_i10].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 }, _ret;\n for (var _i10 = 0; _i10 < stacks.length; _i10++) {\n _ret = _loop4();\n if (_ret) {\n return _ret.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 _iterator5 = _createForOfIteratorHelper(range2.getClientRects()), _step5;\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done; ) {\n var rect = _step5.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 _iterator5.e(err);\n } finally {\n _iterator5.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 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_parser2.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_memoizee2['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_from4());\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_parser2 = __toModule(require_lib());\n var import_dot = __toModule(require_doT());\n var import_memoizee2 = __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 _iterator6 = _createForOfIteratorHelper(col), _step6;\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done; ) {\n var c4 = _step6.value;\n ret += row * c4;\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n return ret;\n }\n for (var _i11 = 0; _i11 < row.length; _i11++) {\n ret += row[_i11] * (col[_i11] || 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 = '';\n } else if (/deg$/.test(arg)) {\n arg = new Number(+arg.slice(0, -3));\n arg.type = '';\n arg.unit = 'deg';\n } else if (isNumberRegex.test(arg)) {\n arg = new Number(arg);\n arg.type = '';\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 _ColorSpace = (_Class_brand = new WeakSet(), _path = new WeakMap(), function() {\n function _ColorSpace(options) {\n var _options$coords, _ref39, _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 ? _ColorSpace.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 = (_ref39 = (_options$white = options.white) !== null && _options$white !== void 0 ? _options$white : this.base.white) !== null && _ref39 !== void 0 ? _ref39 : '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 _ref40 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref40$epsilon = _ref40.epsilon, epsilon = _ref40$epsilon === void 0 ? \\u03b5$4 : _ref40$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 _ref41 = [ space.space, space.coords ];\n space = _ref41[0];\n coords = _ref41[1];\n }\n space = _ColorSpace.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 _i12 = 0; _i12 < myPath.length; _i12++) {\n if (myPath[_i12] === otherPath[_i12]) {\n connectionSpace = myPath[_i12];\n connectionSpaceIndex = _i12;\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 _i13 = myPath.length - 1; _i13 > connectionSpaceIndex; _i13--) {\n coords = myPath[_i13].toBase(coords);\n }\n for (var _i14 = connectionSpaceIndex + 1; _i14 < otherPath.length; _i14++) {\n coords = otherPath[_i14].fromBase(coords);\n }\n return coords;\n }\n }, {\n key: 'from',\n value: function from(space, coords) {\n if (arguments.length === 1) {\n var _ref42 = [ space.space, space.coords ];\n space = _ref42[0];\n coords = _ref42[1];\n }\n space = _ColorSpace.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(_ColorSpace.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 _iterator7 = _createForOfIteratorHelper(space.aliases), _step7;\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done; ) {\n var alias = _step7.value;\n this.register(alias, space);\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n }\n return space;\n }\n }, {\n key: 'get',\n value: function get(space) {\n if (!space || space instanceof _ColorSpace) {\n return space;\n }\n var argType = type(space);\n if (argType === 'string') {\n var ret = _ColorSpace.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 _len2 = arguments.length, alternatives = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n alternatives[_key2 - 1] = arguments[_key2];\n }\n if (alternatives.length) {\n return _ColorSpace.get.apply(_ColorSpace, 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 _ref43 = _slicedToArray(ref, 2);\n space = _ref43[0];\n coord = _ref43[1];\n } else {\n space = ref.space;\n coord = ref.coordId;\n }\n space = _ColorSpace.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 = _ColorSpace.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(_ref151, i) {\n var _ref152 = _slicedToArray(_ref151, 2), id = _ref152[0], coordMeta = _ref152[1];\n var outputType = format.coordGrammar[i][0];\n var fromRange = coordMeta.range || coordMeta.refRange;\n var toRange = outputType.range, suffix = '';\n if (outputType == '') {\n toRange = [ 0, 100 ];\n suffix = '%';\n } else if (outputType == '') {\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 = _ColorSpace;\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(_ColorSpace2) {\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, _ColorSpace2);\n return _createClass(RGBColorSpace);\n }(ColorSpace);\n function parse2(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 _iterator8 = _createForOfIteratorHelper(ColorSpace.all), _step8;\n try {\n var _loop5 = function _loop5() {\n var space = _step8.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 }, _ret2;\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done; ) {\n _ret2 = _loop5();\n if (_ret2) {\n return _ret2.v;\n }\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.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 _iterator9 = _createForOfIteratorHelper(ColorSpace.all), _step9;\n try {\n var _loop6 = function _loop6() {\n var space = _step9.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(_ref44, i) {\n var _coords$i;\n var _ref45 = _slicedToArray(_ref44, 2), id = _ref45[0], coordMeta = _ref45[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 === '') {\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 }, _ret3;\n for (_iterator9.s(); !(_step9 = _iterator9.n()).done; ) {\n _ret3 = _loop6();\n if (_ret3) {\n return _ret3.v;\n }\n }\n } catch (err) {\n _iterator9.e(err);\n } finally {\n _iterator9.f();\n }\n }\n } else {\n var _iterator10 = _createForOfIteratorHelper(ColorSpace.all), _step10;\n try {\n for (_iterator10.s(); !(_step10 = _iterator10.n()).done; ) {\n var space = _step10.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 _iterator10.e(err);\n } finally {\n _iterator10.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 = parse2(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: [ ' | ', '', '' ]\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: [ ' | ', '', ' | ' ]\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 _ref46 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, _ref46$kL = _ref46.kL, kL = _ref46$kL === void 0 ? 1 : _ref46$kL, _ref46$kC = _ref46.kC, kC = _ref46$kC === void 0 ? 1 : _ref46$kC, _ref46$kH = _ref46.kH, kH = _ref46$kH === void 0 ? 1 : _ref46$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 _ref47 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, _ref47$epsilon = _ref47.epsilon, epsilon = _ref47$epsilon === void 0 ? \\u03b5$2 : _ref47$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 clone2(color) {\n return {\n space: color.space,\n coords: color.coords.slice(),\n alpha: color.alpha\n };\n }\n function toGamut(color) {\n var _ref48 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref48$method = _ref48.method, method = _ref48$method === void 0 ? defaults.gamut_mapping : _ref48$method, _ref48$space = _ref48.space, space = _ref48$space === void 0 ? color.space : _ref48$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(clone2(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 = clone2(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 _ref49 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, inGamut2 = _ref49.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 _ref51, _color$space$getForma;\n var _ref50 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _ref50$precision = _ref50.precision, precision = _ref50$precision === void 0 ? defaults.precision : _ref50$precision, _ref50$format = _ref50.format, format = _ref50$format === void 0 ? 'default' : _ref50$format, _ref50$inGamut = _ref50.inGamut, inGamut$1 = _ref50$inGamut === void 0 ? true : _ref50$inGamut, customOptions = _objectWithoutProperties(_ref50, _excluded9);\n var ret;\n color = getColor(color);\n var formatId = format;\n format = (_ref51 = (_color$space$getForma = color.space.getFormat(format)) !== null && _color$space$getForma !== void 0 ? _color$space$getForma : color.space.getFormat('default')) !== null && _ref51 !== void 0 ? _ref51 : 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(clone2(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(' | [0, 255]');\n var coordGrammarNumber = Array(3).fill('[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 _ref52 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, _ref52$collapse = _ref52.collapse, collapse = _ref52$collapse === void 0 ? true : _ref52$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.supports) {\n for (var _i15 = 0, _arr2 = [ lab, REC2020, P3 ]; _i15 < _arr2.length; _i15++) {\n var space = _arr2[_i15];\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 _ref53 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _ref53$space = _ref53.space, space = _ref53$space === void 0 ? defaults.display_space : _ref53$space, options = _objectWithoutProperties(_ref53, _excluded10);\n var ret = serialize(color, options);\n if (typeof CSS === 'undefined' || CSS.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 _ref54 = [ Y2, Y1 ];\n Y1 = _ref54[0];\n Y2 = _ref54[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 _ref55 = [ Y2, Y1 ];\n Y1 = _ref55[0];\n Y2 = _ref55[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 _ref56 = [ Y2, Y1 ];\n Y1 = _ref56[0];\n Y2 = _ref56[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: [ ' | ', '', '' ]\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, _excluded11);\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 _ref57 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, _ref57$l = _ref57.l, l = _ref57$l === void 0 ? 2 : _ref57$l, _ref57$c = _ref57.c, c4 = _ref57$c === void 0 ? 1 : _ref57$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: [ ' | ', '', '' ]\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, _excluded12);\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 _ref58 = [ getColor(c12), getColor(c22) ];\n c12 = _ref58[0];\n c22 = _ref58[1];\n if (type(p2) === 'object') {\n var _ref59 = [ .5, p2 ];\n p2 = _ref59[0];\n o = _ref59[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, _excluded13);\n if (!colorRange) {\n var _ref60 = [ getColor(c12), getColor(c22) ];\n c12 = _ref60[0];\n c22 = _ref60[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 _i16 = 1; _i16 < ret.length && ret.length < maxSteps; _i16++) {\n var prev = ret[_i16 - 1];\n var cur = ret[_i16];\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(_i16, 0, {\n p: p2,\n color: colorRange(p2)\n });\n _i16++;\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 = clone2(color1);\n color2 = clone2(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 _ref61 = [ get(color1, hue), get(color2, hue) ], \\u03b81 = _ref61[0], \\u03b82 = _ref61[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'\n });\n Color3.defineFunction('steps', steps, {\n returns: 'array'\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: [ ' | ', '', '' ]\n },\n hsla: {\n coords: [ ' | ', '', '' ],\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: [ ' | ', '', '' ]\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: [ ' | ', '', ' | ' ]\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(_ref62) {\n var id = _ref62.id, toCone_M = _ref62.toCone_M, fromCone_M = _ref62.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 _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\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 _i17 = 0; _i17 < this.coords.length; _i17++) {\n if (this.coords[_i17] === 'NaN') {\n this.coords[_i17] = NaN;\n }\n }\n var _loop7 = function _loop7(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 _loop7(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 _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\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 _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n args[_key5 - 1] = arguments[_key5];\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') {\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') {\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 _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\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: parse2,\n defaults: defaults\n });\n for (var _i18 = 0, _Object$keys2 = Object.keys(spaces); _i18 < _Object$keys2.length; _i18++) {\n var key = _Object$keys2[_i18];\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_from4());\n import_dot['default'].templateSettings.strip = false;\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 (err2) {\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(_ref63) {\n var actualNode = _ref63.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 _ref64 = (_window$Node2 = window.Node) !== null && _window$Node2 !== void 0 ? _window$Node2 : {}, DOCUMENT_NODE = _ref64.DOCUMENT_NODE, DOCUMENT_FRAGMENT_NODE = _ref64.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), _key7 = _pair$split2[0], _pair$split2$ = _pair$split2[1], value = _pair$split2$ === void 0 ? '' : _pair$split2$;\n query[decodeURIComponent(_key7)] = 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, _id = _this$actualNode.id, nodeValue = _this$actualNode.nodeValue;\n this._cache.props = {\n nodeType: nodeType,\n nodeName: this._isXHTML ? nodeName2 : nodeName2.toLowerCase(),\n id: _id,\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 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 _i19 = 0; _i19 < expressions.length; _i19++) {\n if (expressions[_i19].length > 1 && expressions[_i19].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 _i20 = 0; _i20 < exp.attributes.length; _i20++) {\n var _selectorMap;\n var attr = exp.attributes[_i20];\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 retVal = [];\n node = node.firstChild;\n while (node) {\n retVal.push(node);\n node = node.nextSibling;\n }\n return retVal;\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 flattenTree(node, shadowId, parent) {\n var retVal, realArray, nodeName2;\n function reduceShadowDOM(res, child, parentVNode) {\n var replacements = flattenTree(child, shadowId, parentVNode);\n if (replacements) {\n res = res.concat(replacements);\n }\n return res;\n }\n if (node.documentElement) {\n node = node.documentElement;\n }\n nodeName2 = node.nodeName.toLowerCase();\n if (is_shadow_root_default(node)) {\n hasShadowRoot = true;\n retVal = createNode(node, parent, shadowId);\n shadowId = 'a' + Math.random().toString().substring(2);\n realArray = Array.from(node.shadowRoot.childNodes);\n retVal.children = realArray.reduce(function(res, child) {\n return reduceShadowDOM(res, child, retVal);\n }, []);\n return [ retVal ];\n } else {\n if (nodeName2 === 'content' && typeof node.getDistributedNodes === 'function') {\n realArray = Array.from(node.getDistributedNodes());\n return realArray.reduce(function(res, child) {\n return reduceShadowDOM(res, child, parent);\n }, []);\n } else if (nodeName2 === 'slot' && typeof node.assignedNodes === 'function') {\n realArray = Array.from(node.assignedNodes());\n if (!realArray.length) {\n realArray = getSlotChildren(node);\n }\n var styl = window.getComputedStyle(node);\n if (false) {\n retVal = createNode(node, parent, shadowId);\n retVal.children = realArray.reduce(function(res, child) {\n return reduceShadowDOM(res, child, retVal);\n }, []);\n return [ retVal ];\n } else {\n return realArray.reduce(function(res, child) {\n return reduceShadowDOM(res, child, parent);\n }, []);\n }\n } else {\n if (node.nodeType === 1) {\n retVal = createNode(node, parent, shadowId);\n realArray = Array.from(node.childNodes);\n retVal.children = realArray.reduce(function(res, child) {\n return reduceShadowDOM(res, child, retVal);\n }, []);\n return [ retVal ];\n } else if (node.nodeType === 3) {\n return [ createNode(node, parent) ];\n }\n return void 0;\n }\n }\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 navigator2 = win.navigator, innerHeight = win.innerHeight, innerWidth = win.innerWidth;\n var _ref65 = getOrientation(win) || {}, angle = _ref65.angle, type2 = _ref65.type;\n return {\n userAgent: navigator2.userAgent,\n windowWidth: innerWidth,\n windowHeight: innerHeight,\n orientationAngle: angle,\n orientationType: type2\n };\n }\n function getOrientation(_ref66) {\n var screen = _ref66.screen;\n return screen.orientation || screen.msOrientation || screen.mozOrientation;\n }\n function createFrameContext(frame, _ref67) {\n var focusable = _ref67.focusable, page = _ref67.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 = frame.getAttribute('tabindex');\n if (!tabIndex) {\n return true;\n }\n var _int = parseInt(tabIndex, 10);\n return isNaN(_int) || _int >= 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 isContextSpec(contextSpec) {\n return isContextObject(contextSpec) || isContextProp(contextSpec);\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 _i21 = 0; _i21 < selectorList.length; _i21++) {\n var normalizedSelector = normalizeContextSelector(selectorList[_i21]);\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 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 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 isArrayLike(arr) {\n return arr && _typeof(arr) === 'object' && typeof arr.length === 'number' && arr instanceof window.Node === false;\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 objectHasOwn(obj, prop) {\n if (!obj || _typeof(obj) !== 'object') {\n return false;\n }\n return Object.prototype.hasOwnProperty.call(obj, prop);\n }\n function parseSelectorArray(context, type2) {\n var result = [];\n for (var _i22 = 0, l = context[type2].length; _i22 < l; _i22++) {\n var item = context[type2][_i22];\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 = _clone(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(_ref68) {\n var include = _ref68.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(_ref69) {\n var include = _ref69.include, exclude = _ref69.exclude;\n var selectors = Array.from(include).concat(Array.from(exclude));\n for (var _i23 = 0; _i23 < selectors.length; _i23++) {\n var item = selectors[_i23];\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(_ref70) {\n var node = _ref70.node, frameContext = _objectWithoutProperties(_ref70, _excluded14);\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(_ref71) {\n var id = _ref71.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 _clone(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 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, _ref72) {\n var _ref72$include = _ref72.include, include = _ref72$include === void 0 ? [] : _ref72$include, _ref72$exclude = _ref72.exclude, exclude = _ref72$exclude === void 0 ? [] : _ref72$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 var performanceTimer = function() {\n function now() {\n if (window.performance && window.performance) {\n return window.performance.now();\n }\n }\n var originalTime = null;\n var lastRecordedTime = now();\n return {\n start: function start() {\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');\n this.logMeasures('axe');\n },\n auditStart: function auditStart() {\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');\n this.logMeasures();\n },\n mark: function mark(markName) {\n if (window.performance && window.performance.mark !== void 0) {\n window.performance.mark(markName);\n }\n },\n measure: function measure(measureName, startMark, endMark) {\n if (window.performance && window.performance.measure !== void 0) {\n window.performance.measure(measureName, startMark, endMark);\n }\n },\n logMeasures: function logMeasures(measureName) {\n function logMeasure(req2) {\n log_default('Measure ' + req2.name + ' took ' + req2.duration + 'ms');\n }\n if (window.performance && window.performance.getEntriesByType !== void 0) {\n var axeStart = window.performance.getEntriesByName('mark_axe_start')[0];\n var measures = window.performance.getEntriesByType('measure').filter(function(measure) {\n return measure.startTime >= axeStart.startTime;\n });\n for (var i = 0; i < measures.length; ++i) {\n var req = measures[i];\n if (req.name === measureName) {\n logMeasure(req);\n return;\n }\n logMeasure(req);\n }\n }\n },\n timeElapsed: function timeElapsed() {\n return now() - lastRecordedTime;\n },\n reset: function reset() {\n if (!originalTime) {\n originalTime = now();\n }\n lastRecordedTime = now();\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 _i24 = 0; _i24 < combinedLength; _i24++) {\n var _currentLevel$anyLeve2, _currentLevel$anyLeve3, _currentLevel$anyLeve4;\n var exp = _i24 < (((_currentLevel$anyLeve2 = currentLevel.anyLevel) === null || _currentLevel$anyLeve2 === void 0 ? void 0 : _currentLevel$anyLeve2.length) || 0) ? currentLevel.anyLevel[_i24] : currentLevel.thisLevel[_i24 - (((_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(_ref73) {\n var _ref73$treeRoot = _ref73.treeRoot, treeRoot = _ref73$treeRoot === void 0 ? axe._tree[0] : _ref73$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(_ref74, index) {\n var rootNode = _ref74.rootNode, shadowId = _ref74.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(_ref75) {\n var _ref75$treeRoot = _ref75.treeRoot, treeRoot = _ref75$treeRoot === void 0 ? axe._tree[0] : _ref75$treeRoot;\n var mediaVirtualNodes = query_selector_all_filter_default(treeRoot, 'video, audio', function(_ref76) {\n var actualNode = _ref76.actualNode;\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(_ref77) {\n var actualNode = _ref77.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 = _clone(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, _clone(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 (e) {\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, matching;\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 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 _i25 = 0; _i25 < outerIncludes.length; _i25++) {\n candidate = outerIncludes[_i25];\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 _i26 = 0, l = arr2.length; _i26 < l; _i26++) {\n if (!arr1.includes(arr2[_i26])) {\n arr1.push(arr2[_i26]);\n }\n }\n return arr1;\n }\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(_ref79) {\n var elm = _ref79.elm, top = _ref79.top, left = _ref79.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(_ref80, doc) {\n var _ref81 = _toArray(_ref80), selectorStr = _ref81[0], restSelector = _ref81.slice(1);\n var elms = doc.querySelectorAll(selectorStr);\n if (restSelector.length === 0) {\n return Array.from(elms);\n }\n var selected = [];\n var _iterator13 = _createForOfIteratorHelper(elms), _step13;\n try {\n for (_iterator13.s(); !(_step13 = _iterator13.n()).done; ) {\n var elm = _step13.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 _iterator13.e(err);\n } finally {\n _iterator13.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 _i27 = 0; _i27 <= lang.length - 1; _i27++) {\n var index = lang.charCodeAt(_i27) - 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 _this6;\n _classCallCheck(this, SerialVirtualNode);\n _this6 = _callSuper(this, SerialVirtualNode);\n _this6._props = normaliseProps(serialNode);\n _this6._attrs = normaliseAttrs(serialNode);\n return _this6;\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, _ref82, _serialNode$nodeType;\n var nodeName2 = (_serialNode$nodeName = serialNode.nodeName) !== null && _serialNode$nodeName !== void 0 ? _serialNode$nodeName : nodeTypeToName[serialNode.nodeType];\n var nodeType = (_ref82 = (_serialNode$nodeType = serialNode.nodeType) !== null && _serialNode$nodeType !== void 0 ? _serialNode$nodeType : nodeNamesToTypes[serialNode.nodeName]) !== null && _ref82 !== void 0 ? _ref82 : 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(_ref83) {\n var _ref83$attributes = _ref83.attributes, attributes2 = _ref83$attributes === void 0 ? {} : _ref83$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;\n 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 = cell.getAttribute('role');\n if (is_valid_role_default(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 = (node.getAttribute('role') || '').toLowerCase();\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((cell.getAttribute('role') || '').toLowerCase())) {\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 (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 _id2 = escape_selector_default(cell.getAttribute('id'));\n return !!document.querySelector('[headers~=\"'.concat(_id2, '\"]'));\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 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(cell.getAttribute('role')) !== -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 function tdHeadersAttrEvaluate(node) {\n var cells = [];\n var reviewCells = [];\n var badCells = [];\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 cells.push(row.cells[cellIndex]);\n }\n }\n var ids = cells.filter(function(cell) {\n return cell.getAttribute('id');\n }).map(function(cell) {\n return cell.getAttribute('id');\n });\n cells.forEach(function(cell) {\n var isSelf = false;\n var notOfTable = false;\n if (!cell.hasAttribute('headers') || !_isVisibleToScreenReaders(cell)) {\n return;\n }\n var headersAttr = cell.getAttribute('headers').trim();\n if (!headersAttr) {\n return reviewCells.push(cell);\n }\n var headers = token_list_default(headersAttr);\n if (headers.length !== 0) {\n if (cell.getAttribute('id')) {\n isSelf = headers.indexOf(cell.getAttribute('id').trim()) !== -1;\n }\n notOfTable = headers.some(function(header) {\n return !ids.includes(header);\n });\n if (isSelf || notOfTable) {\n badCells.push(cell);\n }\n }\n });\n if (badCells.length > 0) {\n this.relatedNodes(badCells);\n return false;\n }\n if (reviewCells.length) {\n this.relatedNodes(reviewCells);\n return void 0;\n }\n return true;\n }\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 _id3 = node.getAttribute('for');\n if (!idRefs.has(_id3)) {\n idRefs.set(_id3, [ node ]);\n } else {\n idRefs.get(_id3).push(node);\n }\n }\n for (var _i28 = 0; _i28 < refAttrs.length; ++_i28) {\n var attr = refAttrs[_i28];\n var attrValue = sanitize_default(node.getAttribute(attr) || '');\n if (!attrValue) {\n continue;\n }\n var _iterator14 = _createForOfIteratorHelper(token_list_default(attrValue)), _step14;\n try {\n for (_iterator14.s(); !(_step14 = _iterator14.n()).done; ) {\n var token = _step14.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 _iterator14.e(err);\n } finally {\n _iterator14.f();\n }\n }\n }\n for (var _i29 = 0; _i29 < node.childNodes.length; _i29++) {\n if (node.childNodes[_i29].nodeType === 1) {\n cacheIdRefs(node.childNodes[_i29], 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 _nodeLookup21 = _nodeLookup(node), vNode = _nodeLookup21.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(_ref84) {\n var node = _ref84.node, out = _ref84.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(_ref85) {\n var node = _ref85.node;\n return !node.href;\n },\n BUTTON: function BUTTON(_ref86) {\n var node = _ref86.node, role = _ref86.role, out = _ref86.out;\n if (node.getAttribute('type') === 'menu') {\n return role === 'menuitem';\n }\n return out;\n },\n IMG: function IMG(_ref87) {\n var node = _ref87.node, role = _ref87.role, out = _ref87.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(_ref88) {\n var node = _ref88.node, role = _ref88.role, out = _ref88.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(_ref89) {\n var node = _ref89.node, out = _ref89.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(_ref90) {\n var node = _ref90.node;\n if (node.getAttribute('type') === 'context') {\n return false;\n }\n return true;\n },\n OPTION: function OPTION(_ref91) {\n var node = _ref91.node;\n var withinOptionList = axe.utils.matchesSelector(node, 'select > option, datalist > option, optgroup > option');\n return !withinOptionList;\n },\n SELECT: function SELECT(_ref92) {\n var node = _ref92.node, role = _ref92.role;\n return !node.multiple && node.size <= 1 && role === 'menu';\n },\n SVG: function SVG(_ref93) {\n var node = _ref93.node, out = _ref93.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 = _clone(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 _popupRoles;\n var _ref94 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, popupRoles = _ref94.popupRoles;\n var role = get_role_default(virtualNode);\n (_popupRoles = 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 (e) {\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 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(_ref95) {\n var props = _ref95.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 (e) {\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, _ref96) {\n var cssProperty = _ref96.cssProperty, absoluteValues = _ref96.absoluteValues, normalValue = _ref96.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 (e) {\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(_ref97) {\n var actualNode = _ref97.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 _iterator15 = _createForOfIteratorHelper(iframeResults), _step15;\n try {\n for (_iterator15.s(); !(_step15 = _iterator15.n()).done; ) {\n var iframeResult = _step15.value;\n if (_matchAncestry(frameAncestry, iframeResult.node.ancestry)) {\n r.result = iframeResult.result;\n break;\n }\n }\n } catch (err) {\n _iterator15.e(err);\n } finally {\n _iterator15.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 _i30 = -1;\n elm = nextNode;\n if (elm.children.length === 0) {\n return elm;\n }\n do {\n _i30++;\n innerText = elm.children[_i30].textContent.trim();\n } while (innerText === '' && _i30 + 1 < elm.children.length);\n nextNode = elm.children[_i30];\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 _ref98 = options || {}, minDelay = _ref98.minDelay, maxDelay = _ref98.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 i = 0; i < a2.length; ++i) {\n if (a2[i] !== b2[i]) {\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 _ref99 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref99$ignoreEdgeCoun = _ref99.ignoreEdgeCount, ignoreEdgeCount = _ref99$ignoreEdgeCoun === void 0 ? false : _ref99$ignoreEdgeCoun;\n var shadowMap = getShadowColorsMap(parsedShadows);\n var shadowsByColor = Object.entries(shadowMap).map(function(_ref100) {\n var _ref101 = _slicedToArray(_ref100, 2), colorStr = _ref101[0], sides = _ref101[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(_ref102) {\n var edgeCount = _ref102.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 _iterator16 = _createForOfIteratorHelper(parsedShadows), _step16;\n try {\n for (_iterator16.s(); !(_step16 = _iterator16.n()).done; ) {\n var _colorMap$colorStr;\n var _step16$value = _step16.value, colorStr = _step16$value.colorStr, pixels = _step16$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 _iterator16.e(err);\n } finally {\n _iterator16.f();\n }\n return colorMap;\n }\n function shadowGroupToColor(_ref103) {\n var colorStr = _ref103.colorStr, sides = _ref103.sides, edgeCount = _ref103.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(_ref104) {\n var pixels = _ref104.pixels;\n if (pixels.length === 2) {\n pixels.push(0);\n }\n });\n return shadows;\n }\n function _getTextShadowColors(node) {\n var _ref105 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, minRatio = _ref105.minRatio, maxRatio = _ref105.maxRatio, ignoreEdgeCount = _ref105.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 _iterator17 = _createForOfIteratorHelper(shadows), _step17;\n try {\n for (_iterator17.s(); !(_step17 = _iterator17.n()).done; ) {\n var shadow = _step17.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 _iterator17.e(err);\n } finally {\n _iterator17.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(_ref106) {\n var colorStr = _ref106.colorStr, offsetX = _ref106.offsetX, offsetY = _ref106.offsetY, blurRadius = _ref106.blurRadius, fontSize = _ref106.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 _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 = 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(_ref107) {\n var vNode = _ref107.vNode;\n return !!vNode;\n });\n stackingOrder.forEach(function(_ref108, index) {\n var _stackingOrder;\n var vNode = _ref108.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 _i31 = 0; _i31 < elmStack.length; _i31++) {\n var bgElm = elmStack[_i31];\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 _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 _i32 = 0, _colorStack = colorStack; _i32 < _colorStack.length; _i32++) {\n var colorFn = _colorStack[_i32];\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 = 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, _ref109) {\n var _ref109$textStrokeEmM = _ref109.textStrokeEmMin, textStrokeEmMin = _ref109$textStrokeEmM === void 0 ? 0 : _ref109$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 _iterator18 = _createForOfIteratorHelper(contexts), _step18;\n try {\n for (_iterator18.s(); !(_step18 = _iterator18.n()).done; ) {\n var _context$vNode;\n var context = _step18.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 _iterator18.e(err);\n } finally {\n _iterator18.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(_ref110) {\n var result = _ref110.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(_ref111, resultNum) {\n var data = _ref111.data;\n return data.name === name && resultNum !== index;\n });\n var isSameUrl = sameNameResults.every(function(_ref112) {\n var data = _ref112.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 _ref113 = vNode.props.nodeName.match(/h(\\d)/) || [], _ref114 = _slicedToArray(_ref113, 2), headingLevel = _ref114[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(_ref115, _ref116) {\n var nodeA = _ref115.node;\n var nodeB = _ref116.node;\n return nodeA.ancestry.length - nodeB.ancestry.length;\n });\n var headingOrder = results.reduce(mergeHeadingOrder, []);\n return headingOrder.filter(function(_ref117) {\n var level = _ref117.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 _iterator19 = _createForOfIteratorHelper(nearbyElms), _step19;\n try {\n for (_iterator19.s(); !(_step19 = _iterator19.n()).done; ) {\n var vNeighbor = _step19.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 _iterator19.e(err);\n } finally {\n _iterator19.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(_ref118) {\n var rect = _ref118.boundingClientRect;\n return rect;\n });\n var unobscuredRects;\n try {\n unobscuredRects = _splitRects(nodeRect, obscuringRects);\n } catch (err2) {\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(_ref119) {\n var actualNode = _ref119.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 _iterator20 = _createForOfIteratorHelper(_findNearbyElms(vNode, minOffset)), _step20;\n try {\n for (_iterator20.s(); !(_step20 = _iterator20.n()).done; ) {\n var vNeighbor = _step20.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 _iterator20.e(err);\n } finally {\n _iterator20.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(_ref120) {\n var actualNode = _ref120.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 _ref121 = options || {}, _ref121$scaleMinimum = _ref121.scaleMinimum, scaleMinimum = _ref121$scaleMinimum === void 0 ? 2 : _ref121$scaleMinimum, _ref121$lowerBound = _ref121.lowerBound, lowerBound = _ref121$lowerBound === void 0 ? false : _ref121$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 _ref122 = context || {}, _ref122$cssom = _ref122.cssom, cssom = _ref122$cssom === void 0 ? void 0 : _ref122$cssom;\n var _ref123 = options || {}, _ref123$degreeThresho = _ref123.degreeThreshold, degreeThreshold = _ref123$degreeThresho === void 0 ? 0 : _ref123$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[_i33];\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(_ref124) {\n var cssRules = _ref124.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 _i33 = 0, _Object$keys3 = Object.keys(rulesGroupByDocumentFragment); _i33 < _Object$keys3.length; _i33++) {\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, _ref125) {\n var sheet = _ref125.sheet, root = _ref125.root, shadowId = _ref125.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(_ref126) {\n var type2 = _ref126.type, cssText = _ref126.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(_ref127) {\n var selectorText = _ref127.selectorText, style = _ref127.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 _ref128 = angleWithUnit.match(/(deg|grad|rad|turn)/) || [], _ref129 = _slicedToArray(_ref128, 1), unit = _ref129[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 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 && !node.hasAttribute('loop')) {\n return true;\n }\n if (!node.hasAttribute('controls')) {\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 i = 0; i < children.length; i++) {\n nodeName2 = children[i].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, _ref130) {\n var _ref130$validRoles = _ref130.validRoles, validRoles = _ref130$validRoles === void 0 ? [] : _ref130$validRoles, _ref130$validNodeName = _ref130.validNodeNames, validNodeNames = _ref130$validNodeName === void 0 ? [] : _ref130$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 (e) {\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 _id4 = escape_selector_default(node.getAttribute('id'));\n var label3 = root.querySelector('label[for=\"'.concat(_id4, '\"]'));\n if (label3 && !_isVisibleToScreenReaders(label3)) {\n var name;\n try {\n name = _accessibleTextVirtual(virtualNode).trim();\n } catch (e) {\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), 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 _this7 = 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 _this7.data({\n explicitLabel: explicitLabel\n });\n return !!explicitLabel;\n }\n });\n } catch (e) {\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 = parseInt(virtualNode.attr('tabindex'), 10);\n return isNaN(tabIndex) ? true : 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 (e) {\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 = parseInt(vNode.attr('tabindex'), 10);\n return !isNaN(tabIndex) && 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 = parent.getAttribute('role');\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 (e) {\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 var tabIndex = virtualNode.attr('tabindex');\n var inFocusOrder = _isFocusable(virtualNode) && tabIndex > -1;\n if (!inFocusOrder) {\n return false;\n }\n try {\n return !_accessibleTextVirtual(virtualNode);\n } catch (e) {\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(_ref131) {\n var actualNode = _ref131.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 (e) {\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 _i34 = 0, _arr3 = [ 'before', 'after' ]; _i34 < _arr3.length; _i34++) {\n var pseudo = _arr3[_i34];\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 _ref132 = isSmallFont ? contrastRatio.normal : contrastRatio.large, expected = _ref132.expected, minThreshold = _ref132.minThreshold, maxThreshold = _ref132.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, _ref133) {\n var _ref133$pseudoSizeThr = _ref133.pseudoSizeThreshold, pseudoSizeThreshold = _ref133$pseudoSizeThr === void 0 ? .25 : _ref133$pseudoSizeThr, _ref133$ignorePseudo = _ref133.ignorePseudo, ignorePseudo = _ref133$ignorePseudo === void 0 ? false : _ref133$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 _ref134 = str.match(unitRegex) || [], _ref135 = _slicedToArray(_ref134, 3), _ref135$ = _ref135[1], value = _ref135$ === void 0 ? '' : _ref135$, _ref135$2 = _ref135[2], unit = _ref135$2 === void 0 ? '' : _ref135$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 };\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 (e) {\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) {\n var role = node.getAttribute('role');\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 (_unused) {\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 (e) {\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 = [], o = null;\n while (element) {\n if (element.getAttribute('id')) {\n var _id5 = escape_selector_default(element.getAttribute('id'));\n var doc = get_root_node_default2(element);\n o = doc.querySelector('[aria-owns~='.concat(_id5, ']'));\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 _i35 = 0, l = owners.length; _i35 < l; _i35++) {\n missingParents = getMissingContext(get_node_from_tree_default(owners[_i35]), 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(_ref136) {\n var role = _ref136.role, vNode = _ref136.vNode;\n return vNode.props.nodeType === 1 && !required.includes(role);\n });\n if (unallowed.length) {\n this.relatedNodes(unallowed.map(function(_ref137) {\n var vNode = _ref137.vNode;\n return vNode;\n }));\n this.data({\n messageKey: 'unallowed',\n values: unallowed.map(function(_ref138) {\n var vNode = _ref138.vNode, attr = _ref138.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 _loop10 = function _loop10() {\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 (_loop10()) {\n continue;\n }\n }\n return ownedRoles;\n }\n function hasRequiredChildren(required, ownedRoles) {\n return ownedRoles.some(function(_ref139) {\n var role = _ref139.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(_ref140) {\n var vNode = _ref140.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 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 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 });\n var prohibitedList = listProhibitedAttrs(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 = virtualNode.hasAttr('role') ? '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(role, nodeName2, elementsAllowedAriaLabel) {\n var roleSpec = standards_default.ariaRoles[role];\n if (roleSpec) {\n return roleSpec.prohibitedAttrs || [];\n }\n if (!!role || elementsAllowedAriaLabel.includes(nodeName2)) {\n return [];\n }\n return [ 'aria-label', 'aria-labelledby' ];\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 (e) {\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 idref.getAttribute('role') === '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 _ref141 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, invalidTableRowAttrs = _ref141.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 _iterator21 = _createForOfIteratorHelper(virtualNode.attrNames), _step21;\n try {\n for (_iterator21.s(); !(_step21 = _iterator21.n()).done; ) {\n var attrName = _step21.value;\n if (validate_attr_default(attrName) && !allowed.includes(attrName)) {\n invalid.push(attrName);\n }\n }\n } catch (err) {\n _iterator21.e(err);\n } finally {\n _iterator21.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 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 (e) {\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 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 _ref142 = aria_roles_default[role] || {}, accessibleNameRequired = _ref142.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 = parseInt(virtualNode.attr('tabindex'), 10);\n return isNaN(tabindex) || 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 = node.getAttribute('role');\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 var excludedParentsForHeaderFooterLandmarks = [ 'article', 'aside', 'main', 'nav', 'section' ].join(',');\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 === 'header' || nodeName2 === 'footer') {\n return isHeaderFooterLandmark(vNode);\n }\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 isHeaderFooterLandmark(headerFooterElement) {\n return !closest_default(headerFooterElement, excludedParentsForHeaderFooterLandmarks);\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 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 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 = virtualNode.attr('role');\n var tabIndex = virtualNode.attr('tabindex');\n if (tabIndex === '-1' && role) {\n var roleDef = standards_default.ariaRoles[role];\n if (roleDef === void 0 || roleDef.type !== 'widget') {\n return false;\n }\n }\n if (tabIndex === '-1' && 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 _i36 = 0, l = attrs.length; _i36 < l; _i36++) {\n if (aria.test(attrs[_i36])) {\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 '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 _this8 = 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 _this8[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, rej);\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 _this9 = 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(new SupportError({\n cause: error,\n ruleId: this.id\n }));\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 _this9.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 (_this9.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.defer(function(res) {\n return setTimeout(res, 0);\n });\n if (options.performanceTimer) {\n this._logRulePerformance();\n }\n q.then(function() {\n return resolve(ruleResult);\n })['catch'](function(error) {\n return 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;\n try {\n nodes = this.gatherAndMatchNodes(context, options);\n } catch (error) {\n throw new SupportError({\n cause: error,\n ruleId: this.id\n });\n }\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 (', nodes.length, '):', 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 return _this11.matches(node.actualNode, node, context);\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 var ruleID = this.id;\n afterChecks.forEach(function(check) {\n var beforeResults = findCheckResults(result.nodes, check.id);\n var checkOption = get_check_option_default(check, ruleID, options);\n var afterResults = check.after(beforeResults, checkOption.options);\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 import_dot2 = __toModule(require_doT());\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 _i37 = 0; _i37 < checkIDs.length; _i37++) {\n var _id6 = checkIDs[_i37];\n var check = this.data.checks[_id6];\n var _check$messages = check.messages, pass = _check$messages.pass, fail = _check$messages.fail, incomplete = _check$messages.incomplete;\n locale.checks[_id6] = {\n pass: pass,\n fail: fail,\n incomplete: incomplete\n };\n }\n var ruleIDs = Object.keys(this.data.rules);\n for (var _i38 = 0; _i38 < ruleIDs.length; _i38++) {\n var _id7 = ruleIDs[_i38];\n var rule = this.data.rules[_id7];\n var description = rule.description, help = rule.help;\n locale.rules[_id7] = {\n description: description,\n help: help\n };\n }\n var failureSummaries = Object.keys(this.data.failureSummaries);\n for (var _i39 = 0; _i39 < failureSummaries.length; _i39++) {\n var type2 = failureSummaries[_i39];\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 _i40 = 0; _i40 < keys.length; _i40++) {\n var _id8 = keys[_i40];\n if (!this.data.checks[_id8]) {\n throw new Error('Locale provided for unknown check: \"'.concat(_id8, '\"'));\n }\n this.data.checks[_id8] = mergeCheckLocale(this.data.checks[_id8], checks[_id8]);\n }\n }\n }, {\n key: '_applyRuleLocale',\n value: function _applyRuleLocale(rules) {\n var keys = Object.keys(rules);\n for (var _i41 = 0; _i41 < keys.length; _i41++) {\n var _id9 = keys[_i41];\n if (!this.data.rules[_id9]) {\n throw new Error('Locale provided for unknown rule: \"'.concat(_id9, '\"'));\n }\n this.data.rules[_id9] = mergeRuleLocale(this.data.rules[_id9], rules[_id9]);\n }\n }\n }, {\n key: '_applyFailureSummaries',\n value: function _applyFailureSummaries(messages) {\n var keys = Object.keys(messages);\n for (var _i42 = 0; _i42 < keys.length; _i42++) {\n var _key8 = keys[_i42];\n if (!this.data.failureSummaries[_key8]) {\n throw new Error('Locale provided for unknown failureMessage: \"'.concat(_key8, '\"'));\n }\n this.data.failureSummaries[_key8] = mergeFailureMessage(this.data.failureSummaries[_key8], messages[_key8]);\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 _iterator22 = _createForOfIteratorHelper(allowedOrigins), _step22;\n try {\n for (_iterator22.s(); !(_step22 = _iterator22.n()).done; ) {\n var origin = _step22.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 _iterator22.e(err);\n } finally {\n _iterator22.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' ];\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 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 return rule.after(ruleResult, options);\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 = _clone(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_dot2['default'].compile(pass);\n }\n if (typeof fail === 'string' && dotRegex.test(fail)) {\n fail = import_dot2['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_dot2['default'].compile(help);\n }\n if (typeof description === 'string' && dotRegex.test(description)) {\n description = import_dot2['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_dot2['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_dot2['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 resolve(ruleResult);\n }, function(err2) {\n if (!options.debug) {\n var errResult = Object.assign(new rule_result_default(rule), {\n result: constants_default.CANTTELL,\n description: 'An error occured while running this rule',\n message: err2.message,\n stack: err2.stack,\n error: err2,\n errorNode: err2.errorNode\n });\n resolve(errResult);\n } else {\n reject(err2);\n }\n });\n };\n }\n function getHelpUrl(_ref143, ruleId, version) {\n var brand = _ref143.brand, application = _ref143.application, lang = _ref143.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 results = audit.after(results, options);\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(_ref144) {\n var _ref146, _options$reporter, _axe$_audit;\n var _ref145 = _slicedToArray(_ref144, 3), context = _ref145[0], options = _ref145[1], callback = _ref145[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 = _clone(options);\n options.reporter = (_ref146 = (_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 && _ref146 !== void 0 ? _ref146 : '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 _len7 = arguments.length, args = new Array(_len7), _key9 = 0; _key9 < _len7; _key9++) {\n args[_key9] = arguments[_key9];\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 axe.utils.performanceTimer.start();\n }\n function handleRunRules(rawResults, teardown2) {\n var respond = function respond(results) {\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 if (options.performanceTimer) {\n axe.utils.performanceTimer.end();\n }\n try {\n createReport(rawResults, options, respond, wrappedReject);\n } catch (err2) {\n wrappedReject(err2);\n }\n }\n function errorRunRules(err2) {\n if (options.performanceTimer) {\n axe.utils.performanceTimer.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 _len8 = arguments.length, args = new Array(_len8), _key10 = 0; _key10 < _len8; _key10++) {\n args[_key10] = arguments[_key10];\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(_ref147) {\n var node = _ref147.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 _ref149, _options$reporter2, _axe$_audit2;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n options = _clone(options);\n var _ref148 = partialResults.find(function(r) {\n return r.environmentData;\n }) || {}, environmentData = _ref148.environmentData;\n axe._audit.normalizeOptions(options);\n options.reporter = (_ref149 = (_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 && _ref149 !== void 0 ? _ref149 : '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 _iterator23 = _createForOfIteratorHelper(partialResults), _step23;\n try {\n for (_iterator23.s(); !(_step23 = _iterator23.n()).done; ) {\n var partialResult = _step23.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 _iterator23.e(err);\n } finally {\n _iterator23.f();\n }\n }\n function getMergedFrameSpecs(_ref150) {\n var childFrameSpecs = _ref150.frames, parentFrameSpec = _ref150.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, _excluded15);\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, _excluded16);\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 _i43 = 0, _types = types; _i43 < _types.length; _i43++) {\n var type2 = _types[_i43];\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, _excluded17);\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, _excluded18);\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, _excluded19);\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: 'Ensures every accesskey attribute value is unique',\n help: 'accesskey attribute value should be unique'\n },\n 'area-alt': {\n description: 'Ensures elements of image maps have alternate text',\n help: 'Active elements must have alternate text'\n },\n 'aria-allowed-attr': {\n description: 'Ensures an element\\'s role supports its ARIA attributes',\n help: 'Elements must only use supported ARIA attributes'\n },\n 'aria-allowed-role': {\n description: 'Ensures 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: 'Ensures 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: 'Ensures 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: 'Ensures elements do not use deprecated roles',\n help: 'Deprecated ARIA roles must not be used'\n },\n 'aria-dialog-name': {\n description: 'Ensures 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: 'Ensures 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: 'Ensures 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: 'Ensures 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: 'Ensures 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: 'Ensures 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: 'Ensures 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: 'Ensures elements with ARIA roles have all required ARIA attributes',\n help: 'Required ARIA attributes must be provided'\n },\n 'aria-required-children': {\n description: 'Ensures 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: 'Ensures 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: 'Ensures 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: 'Ensures 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: 'Ensures 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: 'Ensures 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: 'Ensures 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: 'Ensures all ARIA attributes have valid values',\n help: 'ARIA attributes must conform to valid values'\n },\n 'aria-valid-attr': {\n description: 'Ensures attributes that begin with aria- are valid ARIA attributes',\n help: 'ARIA attributes must conform to valid names'\n },\n 'audio-caption': {\n description: 'Ensures