babelacc

compare different implementations of the text alternative computation  https://p.ce9e.org/babelacc/
git clone https://git.ce9e.org/babelacc.git

commit
b41f61b7ab06a2291bc21be16c7d4d06c8529b06
parent
28be522a44975d37961f34a702cbe5b539401f0f
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2024-11-01 13:07
update tools

Diffstat

M babel.js 4165 +++++++++++++++++++++++++++++++------------------------------
M package.json 6 +++---
M src/babel.js 6 +++---

3 files changed, 2112 insertions, 2065 deletions


diff --git a/babel.js b/babel.js

@@ -4953,1331 +4953,1303 @@ axs.properties.getNativelySupportedAttributes = function(element) {
 4953  4953 })();
 4954  4954 
 4955  4955 },{}],9:[function(require,module,exports){
 4956    -1 var query = require('./lib/query.js');
 4957    -1 var name = require('./lib/name.js');
 4958    -1 var atree = require('./lib/atree.js');
 4959    -1 
 4960    -1 module.exports = {
 4961    -1 	getRole: query.getRole,
 4962    -1 	getAttribute: query.getAttribute,
 4963    -1 	getName: name.getName,
 4964    -1 	getDescription: name.getDescription,
 4965    -1 
 4966    -1 	matches: query.matches,
 4967    -1 	querySelector: query.querySelector,
 4968    -1 	querySelectorAll: query.querySelectorAll,
 4969    -1 	closest: query.closest,
 4970    -1 
 4971    -1 	getParentNode: atree.getParentNode,
 4972    -1 	getChildNodes: atree.getChildNodes,
 4973    -1 };
 4974    -1 
 4975    -1 },{"./lib/atree.js":10,"./lib/name.js":13,"./lib/query.js":14}],10:[function(require,module,exports){
 4976    -1 const attrs = require('./attrs');
 4977    -1 
 4978    -1 const _getOwner = function(node, owners) {
 4979    -1 	if (node.nodeType === node.ELEMENT_NODE && node.id) {
 4980    -1 		const selector = '[aria-owns~="' + CSS.escape(node.id) + '"]';
 4981    -1 		if (owners) {
 4982    -1 			for (const owner of owners) {
 4983    -1 				if (owner.matches(selector)) {
 4984    -1 					return owner;
 4985    -1 				}
 4986    -1 			}
 4987    -1 		} else {
 4988    -1 			return document.querySelector(selector);
 4989    -1 		}
 4990    -1 	}
 4991    -1 };
 4992    -1 
 4993    -1 const _getParentNode = function(node, owners) {
 4994    -1 	return _getOwner(node, owners) || node.parentNode;
 4995    -1 };
 4996    -1 
 4997    -1 const detectLoop = function(node, owners) {
 4998    -1 	const seen = [node];
 4999    -1 	while ((node = _getParentNode(node, owners))) {
 5000    -1 		if (seen.includes(node)) {
 5001    -1 			return true;
 5002    -1 		}
 5003    -1 		seen.push(node);
 5004    -1 	}
 5005    -1 };
 5006    -1 
 5007    -1 const getOwner = function(node, owners) {
 5008    -1 	const owner = _getOwner(node, owners);
 5009    -1 	if (owner && !detectLoop(node, owners)) {
 5010    -1 		return owner;
 5011    -1 	}
 5012    -1 };
 5013    -1 
 5014    -1 const getParentNode = function(node, owners) {
 5015    -1 	return getOwner(node, owners) || node.parentNode;
 5016    -1 };
 5017    -1 
 5018    -1 const isHidden = function(node) {
 5019    -1 	return node.nodeType === node.ELEMENT_NODE && attrs.getAttribute(node, 'hidden');
 5020    -1 };
 5021    -1 
 5022    -1 const getChildNodes = function(node, owners) {
 5023    -1 	const childNodes = [];
 5024    -1 
 5025    -1 	for (let i = 0; i < node.childNodes.length; i++) {
 5026    -1 		const child = node.childNodes[i];
 5027    -1 		if (!getOwner(child, owners) && !isHidden(child)) {
 5028    -1 			childNodes.push(child);
 5029    -1 		}
 5030    -1 	}
 5031    -1 
 5032    -1 	if (node.nodeType === node.ELEMENT_NODE) {
 5033    -1 		const owns = attrs.getAttribute(node, 'owns') || [];
 5034    -1 		for (let i = 0; i < owns.length; i++) {
 5035    -1 			const child = document.getElementById(owns[i]);
 5036    -1 			// double check with getOwner for consistency
 5037    -1 			if (child && getOwner(child, owners) === node && !isHidden(child)) {
 5038    -1 				childNodes.push(child);
 5039    -1 			}
 5040    -1 		}
 5041    -1 	}
 5042    -1 
 5043    -1 	return childNodes;
 5044    -1 };
 5045    -1 
 5046    -1 const walk = function(root, fn) {
 5047    -1 	const owners = document.querySelectorAll('[aria-owns]');
 5048    -1 	let queue = [root];
 5049    -1 	while (queue.length) {
 5050    -1 		const item = queue.shift();
 5051    -1 		fn(item);
 5052    -1 		queue = getChildNodes(item, owners).concat(queue);
 5053    -1 	}
 5054    -1 };
 5055    -1 
 5056    -1 const searchUp = function(node, test) {
 5057    -1 	const candidate = getParentNode(node);
 5058    -1 	if (candidate) {
 5059    -1 		if (test(candidate)) {
 5060    -1 			return candidate;
 5061    -1 		} else {
 5062    -1 			return searchUp(candidate, test);
 5063    -1 		}
 5064    -1 	}
 5065    -1 };
 5066    -1 
 5067    -1 module.exports = {
 5068    -1 	'getParentNode': getParentNode,
 5069    -1 	'getChildNodes': getChildNodes,
 5070    -1 	'walk': walk,
 5071    -1 	'searchUp': searchUp,
 5072    -1 };
 5073    -1 
 5074    -1 },{"./attrs":11}],11:[function(require,module,exports){
 5075    -1 const constants = require('./constants.js');
 5076    -1 
 5077    -1 var unique = function(arr) {
 5078    -1 	return arr.filter((a, i) => arr.indexOf(a) === i);
 5079    -1 };
 5080    -1 
 5081    -1 var flatten = function(arr) {
 5082    -1 	return [].concat.apply([], arr);
 5083    -1 };
 5084    -1 
 5085    -1 var normalizeRoles = function(roles, includeAbstract) {
 5086    -1 	return unique(roles
 5087    -1 		.map(r => constants.aliases[r] || r)
 5088    -1 		.filter(r => constants.roles[r])
 5089    -1 		.filter(r => includeAbstract || !constants.roles[r].abstract)
 5090    -1 	);
 5091    -1 };
 5092    -1 
 5093    -1 // candidates can be passed for performance optimization
 5094    -1 const getRole = function(el, candidates) {
 5095    -1 	// TODO: filter out any invalid roles (e.g. name or context required)
 5096    -1 	const roles = normalizeRoles(
 5097    -1 		(el.getAttribute('role') || '').toLowerCase().split(/\s+/)
 5098    -1 	);
 5099    -1 
 5100    -1 	if (roles.length > 1 && candidates) {
 5101    -1 		return [roles, candidates];
 5102    -1 	} else if (roles.length) {
 5103    -1 		for (const role of roles) {
 5104    -1 			if (!candidates || candidates.includes(role)) {
 5105    -1 				return role;
 5106    -1 			}
 5107    -1 		}
 5108    -1 	} else {
 5109    -1 		for (const role of (candidates || Object.keys(constants.roles))) {
 5110    -1 			const r = constants.roles[role];
 5111    -1 			if (!r.abstract && r.selectors && el.matches(r.selectors.join(','))) {
 5112    -1 				return role;
 5113    -1 			}
 5114    -1 		}
 5115    -1 	}
 5116    -1 };
 5117    -1 
 5118    -1 const hasRole = function(el, roles) {
 5119    -1 	const subRoles = normalizeRoles(roles, true).map(role => {
 5120    -1 		return constants.roles[role].subRoles || [role];
 5121    -1 	});
 5122    -1 	return !!getRole(el, unique(flatten(subRoles)));
 5123    -1 };
 5124    -1 
 5125    -1 const getAttribute = function(el, key) {
 5126    -1 	if (constants.attributeStrongMapping.hasOwnProperty(key)) {
 5127    -1 		const value = el[constants.attributeStrongMapping[key]];
 5128    -1 		if (value) {
 5129    -1 			return value;
 5130    -1 		}
 5131    -1 	}
 5132    -1 	if (key === 'readonly' && el.contentEditable) {
 5133    -1 		return false;
 5134    -1 	} else if (key === 'invalid' && el.checkValidity) {
 5135    -1 		return !el.checkValidity();
 5136    -1 	} else if (key === 'hidden') {
 5137    -1 		// workaround for chromium
 5138    -1 		if (el.matches('noscript')) {
 5139    -1 			return true;
 5140    -1 		}
 5141    -1 		if (el.matches('details:not([open]) > :not(summary)')) {
 5142    -1 			return true;
 5143    -1 		}
 5144    -1 		const style = window.getComputedStyle(el);
 5145    -1 		if (style.display === 'none' || style.visibility === 'hidden' || style.visibility === 'collapse') {
 5146    -1 			return true;
 5147    -1 		}
 5148    -1 	}
 5149    -1 
 5150    -1 	const type = constants.attributes[key];
 5151    -1 	const raw = el.getAttribute('aria-' + key);
 5152    -1 
 5153    -1 	if (raw) {
 5154    -1 		if (type === 'bool') {
 5155    -1 			return raw === 'true';
 5156    -1 		} else if (type === 'tristate') {
 5157    -1 			return raw === 'true' ? true : raw === 'false' ? false : 'mixed';
 5158    -1 		} else if (type === 'bool-undefined') {
 5159    -1 			return raw === 'true' ? true : raw === 'false' ? false : undefined;
 5160    -1 		} else if (type === 'id-list') {
 5161    -1 			return raw.split(/\s+/);
 5162    -1 		} else if (type === 'integer') {
 5163    -1 			return parseInt(raw, 10);
 5164    -1 		} else if (type === 'number') {
 5165    -1 			return parseFloat(raw);
 5166    -1 		} else if (type === 'token-list') {
 5167    -1 			return raw.split(/\s+/);
 5168    -1 		} else {
 5169    -1 			return raw;
 5170    -1 		}
 5171    -1 	}
 5172    -1 
 5173    -1 	// TODO
 5174    -1 	// autocomplete
 5175    -1 	// contextmenu -> aria-haspopup
 5176    -1 	// indeterminate -> aria-checked="mixed"
 5177    -1 	// list -> aria-controls
 5178    -1 
 5179    -1 	if (key === 'level') {
 5180    -1 		for (let i = 1; i <= 6; i++) {
 5181    -1 			if (el.tagName.toLowerCase() === 'h' + i) {
 5182    -1 				return i;
 5183    -1 			}
 5184    -1 		}
 5185    -1 	} else if (constants.attributeWeakMapping.hasOwnProperty(key)) {
 5186    -1 		return el[constants.attributeWeakMapping[key]];
 5187    -1 	}
 5188    -1 
 5189    -1 	if (key in constants.attrsWithDefaults) {
 5190    -1 		const role = getRole(el);
 5191    -1 		const defaults = constants.roles[role].defaults;
 5192    -1 		if (defaults && defaults.hasOwnProperty(key)) {
 5193    -1 			return defaults[key];
 5194    -1 		}
 5195    -1 	}
 5196    -1 
 5197    -1 	if (type === 'bool' || type === 'tristate') {
 5198    -1 		return false;
 5199    -1 	}
 5200    -1 };
 5201    -1 
 5202    -1 module.exports = {
 5203    -1 	getRole: getRole,
 5204    -1 	hasRole: hasRole,
 5205    -1 	getAttribute: getAttribute,
 5206    -1 };
 5207    -1 
 5208    -1 },{"./constants.js":12}],12:[function(require,module,exports){
 5209    -1 // https://www.w3.org/TR/wai-aria/#state_prop_def
 5210    -1 exports.attributes = {
 5211    -1 	'activedescendant': 'id',
 5212    -1 	'atomic': 'bool',
 5213    -1 	'autocomplete': 'token',
 5214    -1 	'braillelabel': 'string',
 5215    -1 	'brailleroledescription': 'string',
 5216    -1 	'busy': 'bool',
 5217    -1 	'checked': 'tristate',
 5218    -1 	'colcount': 'int',
 5219    -1 	'colindex': 'int',
 5220    -1 	'colindextext': 'string',
 5221    -1 	'colspan': 'int',
 5222    -1 	'controls': 'id-list',
 5223    -1 	'current': 'token',
 5224    -1 	'describedby': 'id-list',
 5225    -1 	'description': 'string',
 5226    -1 	'details': 'id',
 5227    -1 	'disabled': 'bool',
 5228    -1 	'dropeffect': 'token-list',
 5229    -1 	'errormessage': 'id',
 5230    -1 	'expanded': 'bool-undefined',
 5231    -1 	'flowto': 'id-list',
 5232    -1 	'grabbed': 'bool-undefined',
 5233    -1 	'haspopup': 'token',
 5234    -1 	'hidden': 'bool-undefined',
 5235    -1 	'invalid': 'token',
 5236    -1 	'keyshortcuts': 'string',
 5237    -1 	'label': 'string',
 5238    -1 	'labelledby': 'id-list',
 5239    -1 	'level': 'int',
 5240    -1 	'live': 'token',
 5241    -1 	'modal': 'bool',
 5242    -1 	'multiline': 'bool',
 5243    -1 	'multiselectable': 'bool',
 5244    -1 	'orientation': 'token',
 5245    -1 	'owns': 'id-list',
 5246    -1 	'placeholder': 'string',
 5247    -1 	'posinset': 'int',
 5248    -1 	'pressed': 'tristate',
 5249    -1 	'readonly': 'bool',
 5250    -1 	'relevant': 'token-list',
 5251    -1 	'required': 'bool',
 5252    -1 	'roledescription': 'string',
 5253    -1 	'rowcount': 'int',
 5254    -1 	'rowindex': 'int',
 5255    -1 	'rowindextext': 'string',
 5256    -1 	'rowspan': 'int',
 5257    -1 	'selected': 'bool-undefined',
 5258    -1 	'setsize': 'int',
 5259    -1 	'sort': 'token',
 5260    -1 	'valuemax': 'number',
 5261    -1 	'valuemin': 'number',
 5262    -1 	'valuenow': 'number',
 5263    -1 	'valuetext': 'string',
 5264    -1 };
   -1  4956 (function (global, factory) {
   -1  4957 	typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
   -1  4958 	typeof define === 'function' && define.amd ? define(['exports'], factory) :
   -1  4959 	(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.aria = {}));
   -1  4960 })(this, (function (exports) { 'use strict';
   -1  4961 
   -1  4962 	// https://www.w3.org/TR/wai-aria/#state_prop_def
   -1  4963 	const attributes = {
   -1  4964 		'activedescendant': 'id',
   -1  4965 		'atomic': 'bool',
   -1  4966 		'autocomplete': 'token',
   -1  4967 		'braillelabel': 'string',
   -1  4968 		'brailleroledescription': 'string',
   -1  4969 		'busy': 'bool',
   -1  4970 		'checked': 'tristate',
   -1  4971 		'colcount': 'int',
   -1  4972 		'colindex': 'int',
   -1  4973 		'colindextext': 'string',
   -1  4974 		'colspan': 'int',
   -1  4975 		'controls': 'id-list',
   -1  4976 		'current': 'token',
   -1  4977 		'describedby': 'id-list',
   -1  4978 		'description': 'string',
   -1  4979 		'details': 'id',
   -1  4980 		'disabled': 'bool',
   -1  4981 		'dropeffect': 'token-list',
   -1  4982 		'errormessage': 'id',
   -1  4983 		'expanded': 'bool-undefined',
   -1  4984 		'flowto': 'id-list',
   -1  4985 		'grabbed': 'bool-undefined',
   -1  4986 		'haspopup': 'token',
   -1  4987 		'hidden': 'bool-undefined',
   -1  4988 		'invalid': 'token',
   -1  4989 		'keyshortcuts': 'string',
   -1  4990 		'label': 'string',
   -1  4991 		'labelledby': 'id-list',
   -1  4992 		'level': 'int',
   -1  4993 		'live': 'token',
   -1  4994 		'modal': 'bool',
   -1  4995 		'multiline': 'bool',
   -1  4996 		'multiselectable': 'bool',
   -1  4997 		'orientation': 'token',
   -1  4998 		'owns': 'id-list',
   -1  4999 		'placeholder': 'string',
   -1  5000 		'posinset': 'int',
   -1  5001 		'pressed': 'tristate',
   -1  5002 		'readonly': 'bool',
   -1  5003 		'relevant': 'token-list',
   -1  5004 		'required': 'bool',
   -1  5005 		'roledescription': 'string',
   -1  5006 		'rowcount': 'int',
   -1  5007 		'rowindex': 'int',
   -1  5008 		'rowindextext': 'string',
   -1  5009 		'rowspan': 'int',
   -1  5010 		'selected': 'bool-undefined',
   -1  5011 		'setsize': 'int',
   -1  5012 		'sort': 'token',
   -1  5013 		'valuemax': 'number',
   -1  5014 		'valuemin': 'number',
   -1  5015 		'valuenow': 'number',
   -1  5016 		'valuetext': 'string',
   -1  5017 	};
 5265  5018 
 5266    -1 exports.attributeStrongMapping = {
 5267    -1 	'disabled': 'disabled',
 5268    -1 	'placeholder': 'placeholder',
 5269    -1 	'readonly': 'readOnly',
 5270    -1 	'required': 'required',
 5271    -1 };
   -1  5019 	const attributeStrongMapping = {
   -1  5020 		'disabled': 'disabled',
   -1  5021 		'placeholder': 'placeholder',
   -1  5022 		'readonly': 'readOnly',
   -1  5023 		'required': 'required',
   -1  5024 	};
 5272  5025 
 5273    -1 exports.attributeWeakMapping = {
 5274    -1 	'checked': 'checked',
 5275    -1 	'colspan': 'colSpan',
 5276    -1 	'expanded': 'open',
 5277    -1 	'multiselectable': 'multiple',
 5278    -1 	'rowspan': 'rowSpan',
 5279    -1 	'selected': 'selected',
 5280    -1 };
   -1  5026 	const attributeWeakMapping = {
   -1  5027 		'checked': 'checked',
   -1  5028 		'colspan': 'colSpan',
   -1  5029 		'expanded': 'open',
   -1  5030 		'multiselectable': 'multiple',
   -1  5031 		'rowspan': 'rowSpan',
   -1  5032 		'selected': 'selected',
   -1  5033 	};
 5281  5034 
 5282    -1 // https://www.w3.org/TR/html/dom.html#sectioning-content-2
 5283    -1 const scoped = ['article *', 'aside *', 'nav *', 'section *'].join(',');
 5284    -1 
 5285    -1 const svgSelectors = function(selector) {
 5286    -1 	return [
 5287    -1 		// `${selector}:has(> title:not(:empty))`,
 5288    -1 		// `${selector}:has(> desc:not(:empty))`,
 5289    -1 		`${selector}[aria-label]`,
 5290    -1 		`${selector}[aria-roledescription]`,
 5291    -1 		`${selector}[aria-labelledby]`,
 5292    -1 		`${selector}[aria-describedby]`,
 5293    -1 		`${selector}[tabindex]`,
 5294    -1 		`${selector}[role]`,
 5295    -1 	];
 5296    -1 };
   -1  5035 	// https://www.w3.org/TR/html/dom.html#sectioning-content-2
   -1  5036 	const scoped = ['article *', 'aside *', 'nav *', 'section *'].join(',');
   -1  5037 
   -1  5038 	const svgSelectors = function(selector) {
   -1  5039 		return [
   -1  5040 			// `${selector}:has(> title:not(:empty))`,
   -1  5041 			// `${selector}:has(> desc:not(:empty))`,
   -1  5042 			`${selector}[aria-label]`,
   -1  5043 			`${selector}[aria-roledescription]`,
   -1  5044 			`${selector}[aria-labelledby]`,
   -1  5045 			`${selector}[aria-describedby]`,
   -1  5046 			`${selector}[tabindex]`,
   -1  5047 			`${selector}[role]`,
   -1  5048 		];
   -1  5049 	};
 5297  5050 
 5298    -1 // https://www.w3.org/TR/html-aam-1.0/#html-element-role-mappings
 5299    -1 // https://www.w3.org/TR/wai-aria/roles
 5300    -1 exports.roles = {
 5301    -1 	alert: {
 5302    -1 		childRoles: ['alertdialog'],
 5303    -1 		defaults: {
 5304    -1 			'live': 'assertive',
 5305    -1 			'atomic': true,
   -1  5051 	// https://www.w3.org/TR/html-aam-1.0/#html-element-role-mappings
   -1  5052 	// https://www.w3.org/TR/wai-aria/roles
   -1  5053 	const roles = {
   -1  5054 		alert: {
   -1  5055 			childRoles: ['alertdialog'],
   -1  5056 			defaults: {
   -1  5057 				'live': 'assertive',
   -1  5058 				'atomic': true,
   -1  5059 			},
 5306  5060 		},
 5307    -1 	},
 5308    -1 	alertdialog: {},
 5309    -1 	application: {},
 5310    -1 	article: {
 5311    -1 		selectors: ['article'],
 5312    -1 		childRoles: ['comment'],
 5313    -1 	},
 5314    -1 	banner: {
 5315    -1 		selectors: [`header:not(main *, ${scoped})`],
 5316    -1 	},
 5317    -1 	blockquote: {
 5318    -1 		selectors: ['blockquote'],
 5319    -1 	},
 5320    -1 	button: {
 5321    -1 		selectors: [
 5322    -1 			'button',
 5323    -1 			'input[type="button"]',
 5324    -1 			'input[type="image"]',
 5325    -1 			'input[type="reset"]',
 5326    -1 			'input[type="submit"]',
 5327    -1 			'summary',
 5328    -1 		],
 5329    -1 		nameFromContents: true,
 5330    -1 	},
 5331    -1 	caption: {
 5332    -1 		selectors: ['caption', 'figcaption'],
 5333    -1 	},
 5334    -1 	cell: {
 5335    -1 		selectors: ['td', 'td ~ th:not([scope])'],
 5336    -1 		childRoles: ['columnheader', 'gridcell', 'rowheader'],
 5337    -1 		nameFromContents: true,
 5338    -1 	},
 5339    -1 	checkbox: {
 5340    -1 		selectors: ['input[type="checkbox"]'],
 5341    -1 		childRoles: ['switch'],
 5342    -1 		nameFromContents: true,
 5343    -1 		defaults: {
 5344    -1 			'checked': 'false',
   -1  5061 		alertdialog: {},
   -1  5062 		application: {},
   -1  5063 		article: {
   -1  5064 			selectors: ['article'],
   -1  5065 			childRoles: ['comment'],
 5345  5066 		},
 5346    -1 	},
 5347    -1 	code: {
 5348    -1 		selectors: ['code'],
 5349    -1 	},
 5350    -1 	columnheader: {
 5351    -1 		selectors: ['th[scope="col"]'],
 5352    -1 		nameFromContents: true,
 5353    -1 	},
 5354    -1 	combobox: {
 5355    -1 		selectors: [
 5356    -1 			'input:not([type])[list]',
 5357    -1 			'input[type="email"][list]',
 5358    -1 			'input[type="search"][list]',
 5359    -1 			'input[type="tel"][list]',
 5360    -1 			'input[type="text"][list]',
 5361    -1 			'input[type="url"][list]',
 5362    -1 			'select:not([size]):not([multiple])',
 5363    -1 			'select[size="0"]:not([multiple])',
 5364    -1 			'select[size="1"]:not([multiple])',
 5365    -1 		],
 5366    -1 		defaults: {
 5367    -1 			'expanded': false,
 5368    -1 			'haspopup': 'listbox',
   -1  5067 		banner: {
   -1  5068 			selectors: [`header:not(main *, ${scoped})`],
 5369  5069 		},
 5370    -1 	},
 5371    -1 	command: {
 5372    -1 		abstract: true,
 5373    -1 		childRoles: ['button', 'link', 'menuitem'],
 5374    -1 	},
 5375    -1 	comment: {
 5376    -1 		nameFromContents: true,
 5377    -1 	},
 5378    -1 	complementary: {
 5379    -1 		selectors: [
 5380    -1 			`aside:not(${scoped})`,
 5381    -1 			'aside[aria-label]',
 5382    -1 			'aside[aria-labelledby]',
 5383    -1 			'aside[title]',
 5384    -1 		],
 5385    -1 	},
 5386    -1 	composite: {
 5387    -1 		abstract: true,
 5388    -1 		childRoles: ['grid', 'select', 'spinbutton', 'tablist'],
 5389    -1 	},
 5390    -1 	contentinfo: {
 5391    -1 		selectors: [`footer:not(main *, ${scoped})`],
 5392    -1 	},
 5393    -1 	definition: {
 5394    -1 		selectors: ['dd'],
 5395    -1 	},
 5396    -1 	deletion: {
 5397    -1 		selectors: ['del', 's'],
 5398    -1 	},
 5399    -1 	dialog: {
 5400    -1 		selectors: ['dialog'],
 5401    -1 		childRoles: ['alertdialog'],
 5402    -1 	},
 5403    -1 	'doc-abstract': {},
 5404    -1 	'doc-acknowledgments': {},
 5405    -1 	'doc-afterword': {},
 5406    -1 	'doc-appendix': {},
 5407    -1 	'doc-backlink': {
 5408    -1 		nameFromContents: true,
 5409    -1 	},
 5410    -1 	'doc-biblioentry': {},
 5411    -1 	'doc-bibliography': {},
 5412    -1 	'doc-biblioref': {
 5413    -1 		nameFromContents: true,
 5414    -1 	},
 5415    -1 	'doc-chapter': {},
 5416    -1 	'doc-colophon': {},
 5417    -1 	'doc-conclusion': {},
 5418    -1 	'doc-cover': {},
 5419    -1 	'doc-credit': {},
 5420    -1 	'doc-credits': {},
 5421    -1 	'doc-dedication': {},
 5422    -1 	'doc-endnote': {},
 5423    -1 	'doc-endnotes': {},
 5424    -1 	'doc-epilogue': {},
 5425    -1 	'doc-epigraph': {},
 5426    -1 	'doc-errata': {},
 5427    -1 	'doc-example': {},
 5428    -1 	'doc-footnote': {},
 5429    -1 	'doc-foreword': {},
 5430    -1 	'doc-glossary': {},
 5431    -1 	'doc-glossref': {
 5432    -1 		nameFromContents: true,
 5433    -1 	},
 5434    -1 	'doc-index': {},
 5435    -1 	'doc-introduction': {},
 5436    -1 	'doc-noteref': {
 5437    -1 		nameFromContents: true,
 5438    -1 	},
 5439    -1 	'doc-notice': {},
 5440    -1 	'doc-pagebreak': {
 5441    -1 		nameFromContents: true,
 5442    -1 	},
 5443    -1 	'doc-pagefooter': {},
 5444    -1 	'doc-pageheader': {},
 5445    -1 	'doc-pagelist': {},
 5446    -1 	'doc-part': {},
 5447    -1 	'doc-preface': {},
 5448    -1 	'doc-prologue': {},
 5449    -1 	'doc-pullquote': {},
 5450    -1 	'doc-qna': {},
 5451    -1 	'doc-subtitle': {
 5452    -1 		nameFromContents: true,
 5453    -1 	},
 5454    -1 	'doc-tip': {},
 5455    -1 	'doc-toc': {},
 5456    -1 	document: {
 5457    -1 		selectors: ['html'],
 5458    -1 		childRoles: ['article', 'graphics-document'],
 5459    -1 	},
 5460    -1 	emphasis: {
 5461    -1 		selectors: ['em'],
 5462    -1 	},
 5463    -1 	feed: {},
 5464    -1 	figure: {
 5465    -1 		selectors: ['figure'],
 5466    -1 		childRoles: ['doc-example'],
 5467    -1 	},
 5468    -1 	form: {
 5469    -1 		selectors: ['form[aria-label]', 'form[aria-labelledby]', 'form[title]'],
 5470    -1 	},
 5471    -1 	generic: {
 5472    -1 		selectors: [
 5473    -1 			'a:not([*|href])',
 5474    -1 			'area:not([*|href])',
 5475    -1 			`aside:not(${scoped}):not([aria-label]):not([aria-labelledby]):not([title])`,
 5476    -1 			'b',
 5477    -1 			'bdi',
 5478    -1 			'bdo',
 5479    -1 			'body',
 5480    -1 			'data',
 5481    -1 			'div',
 5482    -1 			// footer scoped
 5483    -1 			// header scoped
 5484    -1 			'i',
 5485    -1 			'li:not(ul > li):not(ol > li)',
 5486    -1 			'pre',
 5487    -1 			'q',
 5488    -1 			'samp',
 5489    -1 			'section:not([aria-label]):not([aria-labelledby]):not([title])',
 5490    -1 			'small',
 5491    -1 			'span',
 5492    -1 			'u',
 5493    -1 		],
 5494    -1 	},
 5495    -1 	'graphics-document': {
 5496    -1 		selectors: ['svg'],
 5497    -1 	},
 5498    -1 	'graphics-object': {
 5499    -1 		selectors: [
 5500    -1 			...svgSelectors('symbol'),
 5501    -1 			...svgSelectors('use'),
 5502    -1 		],
 5503    -1 	},
 5504    -1 	'graphics-symbol': {
 5505    -1 		selectors: [
 5506    -1 			...svgSelectors('circle'),
 5507    -1 			...svgSelectors('ellipse'),
 5508    -1 			...svgSelectors('line'),
 5509    -1 			...svgSelectors('path'),
 5510    -1 			...svgSelectors('polygon'),
 5511    -1 			...svgSelectors('polyline'),
 5512    -1 			...svgSelectors('rect'),
 5513    -1 		],
 5514    -1 	},
 5515    -1 	grid: {
 5516    -1 		childRoles: ['treegrid'],
 5517    -1 	},
 5518    -1 	gridcell: {
 5519    -1 		childRoles: ['columnheader', 'rowheader'],
 5520    -1 		nameFromContents: true,
 5521    -1 	},
 5522    -1 	group: {
 5523    -1 		selectors: [
 5524    -1 			'address',
 5525    -1 			'details',
 5526    -1 			'fieldset',
 5527    -1 			'hgroup',
 5528    -1 			'optgroup',
 5529    -1 			...svgSelectors('foreignObject'),
 5530    -1 			...svgSelectors('g'),
 5531    -1 			'text',
 5532    -1 			...svgSelectors('textPath'),
 5533    -1 			...svgSelectors('tspan'),
 5534    -1 		],
 5535    -1 		childRoles: ['row', 'select', 'toolbar', 'graphics-object'],
 5536    -1 	},
 5537    -1 	heading: {
 5538    -1 		selectors: ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'],
 5539    -1 		nameFromContents: true,
 5540    -1 		defaults: {
 5541    -1 			'level': 2,
   -1  5070 		blockquote: {
   -1  5071 			selectors: ['blockquote'],
 5542  5072 		},
 5543    -1 	},
 5544    -1 	image: {
 5545    -1 		selectors: [
 5546    -1 			'img:not([alt=""])',
 5547    -1 			'graphics-symbol',
 5548    -1 			...svgSelectors('image'),
 5549    -1 			...svgSelectors('mesh'),
 5550    -1 		],
 5551    -1 		childRoles: ['doc-cover'],
 5552    -1 	},
 5553    -1 	input: {
 5554    -1 		abstract: true,
 5555    -1 		childRoles: [
 5556    -1 			'checkbox',
 5557    -1 			'combobox',
 5558    -1 			'option',
 5559    -1 			'radio',
 5560    -1 			'slider',
 5561    -1 			'spinbutton',
 5562    -1 			'textbox',
 5563    -1 		],
 5564    -1 	},
 5565    -1 	insertion: {
 5566    -1 		selectors: ['ins'],
 5567    -1 	},
 5568    -1 	landmark: {
 5569    -1 		abstract: true,
 5570    -1 		childRoles: [
 5571    -1 			'banner',
 5572    -1 			'complementary',
 5573    -1 			'contentinfo',
 5574    -1 			'doc-acknowledgments',
 5575    -1 			'doc-afterword',
 5576    -1 			'doc-appendix',
 5577    -1 			'doc-bibliography',
 5578    -1 			'doc-chapter',
 5579    -1 			'doc-conclusion',
 5580    -1 			'doc-credits',
 5581    -1 			'doc-endnotes',
 5582    -1 			'doc-epilogue',
 5583    -1 			'doc-errata',
 5584    -1 			'doc-foreword',
 5585    -1 			'doc-glossary',
 5586    -1 			'doc-introduction',
 5587    -1 			'doc-part',
 5588    -1 			'doc-preface',
 5589    -1 			'doc-prologue',
 5590    -1 			'form',
 5591    -1 			'main',
 5592    -1 			'navigation',
 5593    -1 			'region',
 5594    -1 			'search',
 5595    -1 		],
 5596    -1 	},
 5597    -1 	link: {
 5598    -1 		selectors: ['a[*|href]', 'area[href]'],
 5599    -1 		childRoles: ['doc-backlink', 'doc-biblioref', 'doc-glossref', 'doc-noteref'],
 5600    -1 		nameFromContents: true,
 5601    -1 	},
 5602    -1 	list: {
 5603    -1 		selectors: ['dl', 'ol', 'ul', 'menu'],
 5604    -1 		childRoles: ['feed'],
 5605    -1 	},
 5606    -1 	listbox: {
 5607    -1 		selectors: [
 5608    -1 			'datalist',
 5609    -1 			'select[multiple]',
 5610    -1 			'select[size]:not([size="0"]):not([size="1"])',
 5611    -1 		],
 5612    -1 		defaults: {
 5613    -1 			'orientation': 'vertical',
   -1  5073 		button: {
   -1  5074 			selectors: [
   -1  5075 				'button',
   -1  5076 				'input[type="button"]',
   -1  5077 				'input[type="image"]',
   -1  5078 				'input[type="reset"]',
   -1  5079 				'input[type="submit"]',
   -1  5080 				'summary',
   -1  5081 			],
   -1  5082 			nameFromContents: true,
 5614  5083 		},
 5615    -1 	},
 5616    -1 	listitem: {
 5617    -1 		selectors: ['ol > li', 'ul > li'],
 5618    -1 		childRoles: ['doc-biblioentry', 'doc-endnote', 'treeitem'],
 5619    -1 	},
 5620    -1 	log: {
 5621    -1 		defaults: {
 5622    -1 			'live': 'polite',
   -1  5084 		caption: {
   -1  5085 			selectors: ['caption', 'figcaption'],
 5623  5086 		},
 5624    -1 	},
 5625    -1 	main: {
 5626    -1 		selectors: ['main'],
 5627    -1 	},
 5628    -1 	mark: {
 5629    -1 		selectors: ['mark'],
 5630    -1 	},
 5631    -1 	marquee: {},
 5632    -1 	math: {
 5633    -1 		selectors: ['math'],
 5634    -1 	},
 5635    -1 	meter: {
 5636    -1 		selectors: ['meter'],
 5637    -1 		defaults: {
 5638    -1 			'valuemin': 0,
 5639    -1 			'valuemax': 100,
   -1  5087 		cell: {
   -1  5088 			selectors: ['td', 'td ~ th:not([scope])'],
   -1  5089 			childRoles: ['columnheader', 'gridcell', 'rowheader'],
   -1  5090 			nameFromContents: true,
 5640  5091 		},
 5641    -1 	},
 5642    -1 	menu: {
 5643    -1 		childRoles: ['menubar'],
 5644    -1 		defaults: {
 5645    -1 			'orientation': 'vertical',
   -1  5092 		checkbox: {
   -1  5093 			selectors: ['input[type="checkbox"]'],
   -1  5094 			childRoles: ['switch'],
   -1  5095 			nameFromContents: true,
   -1  5096 			defaults: {
   -1  5097 				'checked': 'false',
   -1  5098 			},
 5646  5099 		},
 5647    -1 	},
 5648    -1 	menubar: {
 5649    -1 		defaults: {
 5650    -1 			'orientation': 'horizontal',
   -1  5100 		code: {
   -1  5101 			selectors: ['code'],
 5651  5102 		},
 5652    -1 	},
 5653    -1 	menuitem: {
 5654    -1 		childRoles: ['menuitemcheckbox', 'menuitemradio'],
 5655    -1 		nameFromContents: true,
 5656    -1 	},
 5657    -1 	menuitemcheckbox: {
 5658    -1 		nameFromContents: true,
 5659    -1 		defaults: {
 5660    -1 			'checked': 'false',
   -1  5103 		columnheader: {
   -1  5104 			selectors: ['th[scope="col"]'],
   -1  5105 			nameFromContents: true,
 5661  5106 		},
 5662    -1 	},
 5663    -1 	menuitemradio: {
 5664    -1 		nameFromContents: true,
 5665    -1 		defaults: {
 5666    -1 			'checked': 'false',
   -1  5107 		combobox: {
   -1  5108 			selectors: [
   -1  5109 				'input:not([type])[list]',
   -1  5110 				'input[type="email"][list]',
   -1  5111 				'input[type="search"][list]',
   -1  5112 				'input[type="tel"][list]',
   -1  5113 				'input[type="text"][list]',
   -1  5114 				'input[type="url"][list]',
   -1  5115 				'select:not([size]):not([multiple])',
   -1  5116 				'select[size="0"]:not([multiple])',
   -1  5117 				'select[size="1"]:not([multiple])',
   -1  5118 			],
   -1  5119 			defaults: {
   -1  5120 				'expanded': false,
   -1  5121 				'haspopup': 'listbox',
   -1  5122 			},
 5667  5123 		},
 5668    -1 	},
 5669    -1 	navigation: {
 5670    -1 		selectors: ['nav'],
 5671    -1 		childRoles: ['doc-index', 'doc-pagelist', 'doc-toc'],
 5672    -1 	},
 5673    -1 	none: {
 5674    -1 		selectors: ['img[alt=""]'],
 5675    -1 	},
 5676    -1 	note: {
 5677    -1 		childRoles: ['doc-notice', 'doc-tip'],
 5678    -1 	},
 5679    -1 	option: {
 5680    -1 		selectors: ['option'],
 5681    -1 		childRoles: ['treeitem'],
 5682    -1 		nameFromContents: true,
 5683    -1 		defaults: {
 5684    -1 			'selected': 'false',
   -1  5124 		command: {
   -1  5125 			abstract: true,
   -1  5126 			childRoles: ['button', 'link', 'menuitem'],
 5685  5127 		},
 5686    -1 	},
 5687    -1 	paragraph: {
 5688    -1 		selectors: ['p'],
 5689    -1 	},
 5690    -1 	progressbar: {
 5691    -1 		selectors: ['progress'],
 5692    -1 		defaults: {
 5693    -1 			'valuemin': 0,
 5694    -1 			'valuemax': 100,
   -1  5128 		comment: {
   -1  5129 			nameFromContents: true,
 5695  5130 		},
 5696    -1 	},
 5697    -1 	radio: {
 5698    -1 		selectors: ['input[type="radio"]'],
 5699    -1 		childRoles: ['menuitemradio'],
 5700    -1 		nameFromContents: true,
 5701    -1 		defaults: {
 5702    -1 			'checked': 'false',
   -1  5131 		complementary: {
   -1  5132 			selectors: [
   -1  5133 				`aside:not(${scoped})`,
   -1  5134 				'aside[aria-label]',
   -1  5135 				'aside[aria-labelledby]',
   -1  5136 				'aside[title]',
   -1  5137 			],
 5703  5138 		},
 5704    -1 	},
 5705    -1 	radiogroup: {},
 5706    -1 	range: {
 5707    -1 		abstract: true,
 5708    -1 		childRoles: ['meter', 'progressbar', 'scrollbar', 'slider', 'spinbutton'],
 5709    -1 	},
 5710    -1 	region: {
 5711    -1 		selectors: ['section[aria-label]', 'section[aria-labelledby]', 'section[title]'],
 5712    -1 	},
 5713    -1 	roletype: {
 5714    -1 		abstract: true,
 5715    -1 		childRoles: ['structure', 'widget', 'window'],
 5716    -1 	},
 5717    -1 	row: {
 5718    -1 		selectors: ['tr'],
 5719    -1 		nameFromContents: true,
 5720    -1 	},
 5721    -1 	rowgroup: {
 5722    -1 		selectors: ['tbody', 'thead', 'tfoot'],
 5723    -1 	},
 5724    -1 	rowheader: {
 5725    -1 		selectors: ['th[scope="row"]', 'th:not([scope]):not(td ~ th)'],
 5726    -1 		nameFromContents: true,
 5727    -1 	},
 5728    -1 	scrollbar: {
 5729    -1 		defaults: {
 5730    -1 			'orientation': 'vertical',
 5731    -1 			'valuemin': 0,
 5732    -1 			'valuemax': 100,
   -1  5139 		composite: {
   -1  5140 			abstract: true,
   -1  5141 			childRoles: ['grid', 'select', 'spinbutton', 'tablist'],
 5733  5142 		},
 5734    -1 	},
 5735    -1 	search: {
 5736    -1 		selectors: ['search'],
 5737    -1 	},
 5738    -1 	searchbox: {
 5739    -1 		selectors: ['input[type="search"]:not([list])'],
 5740    -1 	},
 5741    -1 	section: {
 5742    -1 		abstract: true,
 5743    -1 		childRoles: [
 5744    -1 			'alert',
 5745    -1 			'blockquote',
 5746    -1 			'caption',
 5747    -1 			'cell',
 5748    -1 			'code',
 5749    -1 			'definition',
 5750    -1 			'deletion',
 5751    -1 			'doc-abstract',
 5752    -1 			'doc-colophon',
 5753    -1 			'doc-credit',
 5754    -1 			'doc-dedication',
 5755    -1 			'doc-epigraph',
 5756    -1 			'doc-footnote',
 5757    -1 			'doc-pagefooter',
 5758    -1 			'doc-pageheader',
 5759    -1 			'doc-pullquote',
 5760    -1 			'doc-qna',
 5761    -1 			'emphasis',
 5762    -1 			'figure',
 5763    -1 			'group',
 5764    -1 			'image',
 5765    -1 			'insertion',
 5766    -1 			'landmark',
 5767    -1 			'list',
 5768    -1 			'listitem',
 5769    -1 			'log',
 5770    -1 			'mark',
 5771    -1 			'marquee',
 5772    -1 			'math',
 5773    -1 			'note',
 5774    -1 			'paragraph',
 5775    -1 			'status',
 5776    -1 			'strong',
 5777    -1 			'subscript',
 5778    -1 			'suggestion',
 5779    -1 			'superscript',
 5780    -1 			'table',
 5781    -1 			'tabpanel',
 5782    -1 			'term',
 5783    -1 			'time',
 5784    -1 			'tooltip',
 5785    -1 		],
 5786    -1 	},
 5787    -1 	sectionhead: {
 5788    -1 		abstract: true,
 5789    -1 		childRoles: [
 5790    -1 			'columnheader',
 5791    -1 			'doc-subtitle',
 5792    -1 			'heading',
 5793    -1 			'rowheader',
 5794    -1 			'tab',
 5795    -1 		],
 5796    -1 		nameFromContents: true,
 5797    -1 	},
 5798    -1 	select: {
 5799    -1 		abstract: true,
 5800    -1 		childRoles: ['listbox', 'menu', 'radiogroup', 'tree'],
 5801    -1 	},
 5802    -1 	separator: {
 5803    -1 		// assume not focussable because <hr> is not
 5804    -1 		selectors: ['hr'],
 5805    -1 		childRoles: ['doc-pagebreak'],
 5806    -1 		defaults: {
 5807    -1 			'orientation': 'horizontal',
 5808    -1 			'valuemin': 0,
 5809    -1 			'valuemax': 100,
   -1  5143 		contentinfo: {
   -1  5144 			selectors: [`footer:not(main *, ${scoped})`],
 5810  5145 		},
 5811    -1 	},
 5812    -1 	slider: {
 5813    -1 		selectors: ['input[type="range"]'],
 5814    -1 		defaults: {
 5815    -1 			'orientation': 'horizontal',
 5816    -1 			'valuemin': 0,
 5817    -1 			'valuemax': 100,
 5818    -1 			// FIXME: halfway between actual valuemin and valuemax
 5819    -1 			'valuenow': 50,
   -1  5146 		definition: {
   -1  5147 			selectors: ['dd'],
 5820  5148 		},
 5821    -1 	},
 5822    -1 	spinbutton: {
 5823    -1 		selectors: ['input[type="number"]'],
 5824    -1 		defaults: {
 5825    -1 			// FIXME: no valuemin/valuemax/valuenow
   -1  5149 		deletion: {
   -1  5150 			selectors: ['del', 's'],
 5826  5151 		},
 5827    -1 	},
 5828    -1 	status: {
 5829    -1 		selectors: ['output'],
 5830    -1 		childRoles: ['timer'],
 5831    -1 		defaults: {
 5832    -1 			'live': 'polite',
 5833    -1 			'atomic': true,
   -1  5152 		dialog: {
   -1  5153 			selectors: ['dialog'],
   -1  5154 			childRoles: ['alertdialog'],
 5834  5155 		},
 5835    -1 	},
 5836    -1 	strong: {
 5837    -1 		selectors: ['strong'],
 5838    -1 	},
 5839    -1 	structure: {
 5840    -1 		abstract: true,
 5841    -1 		childRoles: [
 5842    -1 			'application',
 5843    -1 			'document',
 5844    -1 			'none',
 5845    -1 			'generic',
 5846    -1 			'range',
 5847    -1 			'rowgroup',
 5848    -1 			'section',
 5849    -1 			'sectionhead',
 5850    -1 			'separator',
 5851    -1 		],
 5852    -1 	},
 5853    -1 	suggestion: {},
 5854    -1 	subscript: {
 5855    -1 		selectors: ['sub'],
 5856    -1 	},
 5857    -1 	superscript: {
 5858    -1 		selectors: ['sup'],
 5859    -1 	},
 5860    -1 	switch: {
 5861    -1 		nameFromContents: true,
 5862    -1 		defaults: {
 5863    -1 			'checked': false,
   -1  5156 		'doc-abstract': {},
   -1  5157 		'doc-acknowledgments': {},
   -1  5158 		'doc-afterword': {},
   -1  5159 		'doc-appendix': {},
   -1  5160 		'doc-backlink': {
   -1  5161 			nameFromContents: true,
 5864  5162 		},
 5865    -1 	},
 5866    -1 	tab: {
 5867    -1 		nameFromContents: true,
 5868    -1 		defaults: {
 5869    -1 			'selected': false,
   -1  5163 		'doc-biblioentry': {},
   -1  5164 		'doc-bibliography': {},
   -1  5165 		'doc-biblioref': {
   -1  5166 			nameFromContents: true,
 5870  5167 		},
 5871    -1 	},
 5872    -1 	table: {
 5873    -1 		selectors: ['table'],
 5874    -1 		childRoles: ['grid'],
 5875    -1 	},
 5876    -1 	tablist: {
 5877    -1 		defaults: {
 5878    -1 			'orientation': 'horizontal',
   -1  5168 		'doc-chapter': {},
   -1  5169 		'doc-colophon': {},
   -1  5170 		'doc-conclusion': {},
   -1  5171 		'doc-cover': {},
   -1  5172 		'doc-credit': {},
   -1  5173 		'doc-credits': {},
   -1  5174 		'doc-dedication': {},
   -1  5175 		'doc-endnote': {},
   -1  5176 		'doc-endnotes': {},
   -1  5177 		'doc-epilogue': {},
   -1  5178 		'doc-epigraph': {},
   -1  5179 		'doc-errata': {},
   -1  5180 		'doc-example': {},
   -1  5181 		'doc-footnote': {},
   -1  5182 		'doc-foreword': {},
   -1  5183 		'doc-glossary': {},
   -1  5184 		'doc-glossref': {
   -1  5185 			nameFromContents: true,
 5879  5186 		},
 5880    -1 	},
 5881    -1 	tabpanel: {},
 5882    -1 	term: {
 5883    -1 		selectors: ['dfn', 'dt'],
 5884    -1 	},
 5885    -1 	textbox: {
 5886    -1 		selectors: [
 5887    -1 			'input:not([type]):not([list])',
 5888    -1 			'input[type="email"]:not([list])',
 5889    -1 			'input[type="tel"]:not([list])',
 5890    -1 			'input[type="text"]:not([list])',
 5891    -1 			'input[type="url"]:not([list])',
 5892    -1 			'textarea',
 5893    -1 		],
 5894    -1 		childRoles: ['searchbox'],
 5895    -1 	},
 5896    -1 	time: {
 5897    -1 		selectors: ['time'],
 5898    -1 	},
 5899    -1 	timer: {
 5900    -1 		defaults: {
 5901    -1 			'live': 'off',
   -1  5187 		'doc-index': {},
   -1  5188 		'doc-introduction': {},
   -1  5189 		'doc-noteref': {
   -1  5190 			nameFromContents: true,
 5902  5191 		},
 5903    -1 	},
 5904    -1 	toolbar: {
 5905    -1 		defaults: {
 5906    -1 			'orientation': 'horizontal',
   -1  5192 		'doc-notice': {},
   -1  5193 		'doc-pagebreak': {
   -1  5194 			nameFromContents: true,
 5907  5195 		},
 5908    -1 	},
 5909    -1 	tooltip: {
 5910    -1 		nameFromContents: true,
 5911    -1 	},
 5912    -1 	tree: {
 5913    -1 		childRoles: ['treegrid'],
 5914    -1 		defaults: {
 5915    -1 			'orientation': 'vertical',
   -1  5196 		'doc-pagefooter': {},
   -1  5197 		'doc-pageheader': {},
   -1  5198 		'doc-pagelist': {},
   -1  5199 		'doc-part': {},
   -1  5200 		'doc-preface': {},
   -1  5201 		'doc-prologue': {},
   -1  5202 		'doc-pullquote': {},
   -1  5203 		'doc-qna': {},
   -1  5204 		'doc-subtitle': {
   -1  5205 			nameFromContents: true,
 5916  5206 		},
 5917    -1 	},
 5918    -1 	treegrid: {},
 5919    -1 	treeitem: {
 5920    -1 		nameFromContents: true,
 5921    -1 	},
 5922    -1 	widget: {
 5923    -1 		abstract: true,
 5924    -1 		childRoles: [
 5925    -1 			'command',
 5926    -1 			'composite',
 5927    -1 			'gridcell',
 5928    -1 			'input',
 5929    -1 			'progressbar',
 5930    -1 			'row',
 5931    -1 			'scrollbar',
 5932    -1 			'separator',
 5933    -1 			'tab',
 5934    -1 		],
 5935    -1 	},
 5936    -1 	window: {
 5937    -1 		abstract: true,
 5938    -1 		childRoles: ['dialog'],
 5939    -1 	},
 5940    -1 };
   -1  5207 		'doc-tip': {},
   -1  5208 		'doc-toc': {},
   -1  5209 		document: {
   -1  5210 			selectors: ['html'],
   -1  5211 			childRoles: ['article', 'graphics-document'],
   -1  5212 		},
   -1  5213 		emphasis: {
   -1  5214 			selectors: ['em'],
   -1  5215 		},
   -1  5216 		feed: {},
   -1  5217 		figure: {
   -1  5218 			selectors: ['figure'],
   -1  5219 			childRoles: ['doc-example'],
   -1  5220 		},
   -1  5221 		form: {
   -1  5222 			selectors: ['form[aria-label]', 'form[aria-labelledby]', 'form[title]'],
   -1  5223 		},
   -1  5224 		generic: {
   -1  5225 			selectors: [
   -1  5226 				'a:not([*|href])',
   -1  5227 				'area:not([*|href])',
   -1  5228 				`aside:not(${scoped}):not([aria-label]):not([aria-labelledby]):not([title])`,
   -1  5229 				'b',
   -1  5230 				'bdi',
   -1  5231 				'bdo',
   -1  5232 				'body',
   -1  5233 				'data',
   -1  5234 				'div',
   -1  5235 				// footer scoped
   -1  5236 				// header scoped
   -1  5237 				'i',
   -1  5238 				'li:not(ul > li):not(ol > li)',
   -1  5239 				'pre',
   -1  5240 				'q',
   -1  5241 				'samp',
   -1  5242 				'section:not([aria-label]):not([aria-labelledby]):not([title])',
   -1  5243 				'small',
   -1  5244 				'span',
   -1  5245 				'u',
   -1  5246 			],
   -1  5247 		},
   -1  5248 		'graphics-document': {
   -1  5249 			selectors: ['svg'],
   -1  5250 		},
   -1  5251 		'graphics-object': {
   -1  5252 			selectors: [
   -1  5253 				...svgSelectors('symbol'),
   -1  5254 				...svgSelectors('use'),
   -1  5255 			],
   -1  5256 		},
   -1  5257 		'graphics-symbol': {
   -1  5258 			selectors: [
   -1  5259 				...svgSelectors('circle'),
   -1  5260 				...svgSelectors('ellipse'),
   -1  5261 				...svgSelectors('line'),
   -1  5262 				...svgSelectors('path'),
   -1  5263 				...svgSelectors('polygon'),
   -1  5264 				...svgSelectors('polyline'),
   -1  5265 				...svgSelectors('rect'),
   -1  5266 			],
   -1  5267 		},
   -1  5268 		grid: {
   -1  5269 			childRoles: ['treegrid'],
   -1  5270 		},
   -1  5271 		gridcell: {
   -1  5272 			childRoles: ['columnheader', 'rowheader'],
   -1  5273 			nameFromContents: true,
   -1  5274 		},
   -1  5275 		group: {
   -1  5276 			selectors: [
   -1  5277 				'address',
   -1  5278 				'details',
   -1  5279 				'fieldset',
   -1  5280 				'hgroup',
   -1  5281 				'optgroup',
   -1  5282 				...svgSelectors('foreignObject'),
   -1  5283 				...svgSelectors('g'),
   -1  5284 				'text',
   -1  5285 				...svgSelectors('textPath'),
   -1  5286 				...svgSelectors('tspan'),
   -1  5287 			],
   -1  5288 			childRoles: ['row', 'select', 'toolbar', 'graphics-object'],
   -1  5289 		},
   -1  5290 		heading: {
   -1  5291 			selectors: ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'],
   -1  5292 			nameFromContents: true,
   -1  5293 			defaults: {
   -1  5294 				'level': 2,
   -1  5295 			},
   -1  5296 		},
   -1  5297 		image: {
   -1  5298 			selectors: [
   -1  5299 				'img:not([alt=""])',
   -1  5300 				'graphics-symbol',
   -1  5301 				...svgSelectors('image'),
   -1  5302 				...svgSelectors('mesh'),
   -1  5303 			],
   -1  5304 			childRoles: ['doc-cover'],
   -1  5305 		},
   -1  5306 		input: {
   -1  5307 			abstract: true,
   -1  5308 			childRoles: [
   -1  5309 				'checkbox',
   -1  5310 				'combobox',
   -1  5311 				'option',
   -1  5312 				'radio',
   -1  5313 				'slider',
   -1  5314 				'spinbutton',
   -1  5315 				'textbox',
   -1  5316 			],
   -1  5317 		},
   -1  5318 		insertion: {
   -1  5319 			selectors: ['ins'],
   -1  5320 		},
   -1  5321 		landmark: {
   -1  5322 			abstract: true,
   -1  5323 			childRoles: [
   -1  5324 				'banner',
   -1  5325 				'complementary',
   -1  5326 				'contentinfo',
   -1  5327 				'doc-acknowledgments',
   -1  5328 				'doc-afterword',
   -1  5329 				'doc-appendix',
   -1  5330 				'doc-bibliography',
   -1  5331 				'doc-chapter',
   -1  5332 				'doc-conclusion',
   -1  5333 				'doc-credits',
   -1  5334 				'doc-endnotes',
   -1  5335 				'doc-epilogue',
   -1  5336 				'doc-errata',
   -1  5337 				'doc-foreword',
   -1  5338 				'doc-glossary',
   -1  5339 				'doc-introduction',
   -1  5340 				'doc-part',
   -1  5341 				'doc-preface',
   -1  5342 				'doc-prologue',
   -1  5343 				'form',
   -1  5344 				'main',
   -1  5345 				'navigation',
   -1  5346 				'region',
   -1  5347 				'search',
   -1  5348 			],
   -1  5349 		},
   -1  5350 		link: {
   -1  5351 			selectors: ['a[*|href]', 'area[*|href]'],
   -1  5352 			childRoles: ['doc-backlink', 'doc-biblioref', 'doc-glossref', 'doc-noteref'],
   -1  5353 			nameFromContents: true,
   -1  5354 		},
   -1  5355 		list: {
   -1  5356 			selectors: ['dl', 'ol', 'ul', 'menu'],
   -1  5357 			childRoles: ['feed'],
   -1  5358 		},
   -1  5359 		listbox: {
   -1  5360 			selectors: [
   -1  5361 				'datalist',
   -1  5362 				'select[multiple]',
   -1  5363 				'select[size]:not([size="0"]):not([size="1"])',
   -1  5364 			],
   -1  5365 			defaults: {
   -1  5366 				'orientation': 'vertical',
   -1  5367 			},
   -1  5368 		},
   -1  5369 		listitem: {
   -1  5370 			selectors: ['ol > li', 'ul > li'],
   -1  5371 			childRoles: ['doc-biblioentry', 'doc-endnote', 'treeitem'],
   -1  5372 		},
   -1  5373 		log: {
   -1  5374 			defaults: {
   -1  5375 				'live': 'polite',
   -1  5376 			},
   -1  5377 		},
   -1  5378 		main: {
   -1  5379 			selectors: ['main'],
   -1  5380 		},
   -1  5381 		mark: {
   -1  5382 			selectors: ['mark'],
   -1  5383 		},
   -1  5384 		marquee: {},
   -1  5385 		math: {
   -1  5386 			selectors: ['math'],
   -1  5387 		},
   -1  5388 		meter: {
   -1  5389 			selectors: ['meter'],
   -1  5390 			defaults: {
   -1  5391 				'valuemin': 0,
   -1  5392 				'valuemax': 100,
   -1  5393 			},
   -1  5394 		},
   -1  5395 		menu: {
   -1  5396 			childRoles: ['menubar'],
   -1  5397 			defaults: {
   -1  5398 				'orientation': 'vertical',
   -1  5399 			},
   -1  5400 		},
   -1  5401 		menubar: {
   -1  5402 			defaults: {
   -1  5403 				'orientation': 'horizontal',
   -1  5404 			},
   -1  5405 		},
   -1  5406 		menuitem: {
   -1  5407 			childRoles: ['menuitemcheckbox', 'menuitemradio'],
   -1  5408 			nameFromContents: true,
   -1  5409 		},
   -1  5410 		menuitemcheckbox: {
   -1  5411 			nameFromContents: true,
   -1  5412 			defaults: {
   -1  5413 				'checked': 'false',
   -1  5414 			},
   -1  5415 		},
   -1  5416 		menuitemradio: {
   -1  5417 			nameFromContents: true,
   -1  5418 			defaults: {
   -1  5419 				'checked': 'false',
   -1  5420 			},
   -1  5421 		},
   -1  5422 		navigation: {
   -1  5423 			selectors: ['nav'],
   -1  5424 			childRoles: ['doc-index', 'doc-pagelist', 'doc-toc'],
   -1  5425 		},
   -1  5426 		none: {
   -1  5427 			selectors: ['img[alt=""]'],
   -1  5428 		},
   -1  5429 		note: {
   -1  5430 			childRoles: ['doc-notice', 'doc-tip'],
   -1  5431 		},
   -1  5432 		option: {
   -1  5433 			selectors: ['option'],
   -1  5434 			childRoles: ['treeitem'],
   -1  5435 			nameFromContents: true,
   -1  5436 			defaults: {
   -1  5437 				'selected': 'false',
   -1  5438 			},
   -1  5439 		},
   -1  5440 		paragraph: {
   -1  5441 			selectors: ['p'],
   -1  5442 		},
   -1  5443 		progressbar: {
   -1  5444 			selectors: ['progress'],
   -1  5445 			defaults: {
   -1  5446 				'valuemin': 0,
   -1  5447 				'valuemax': 100,
   -1  5448 			},
   -1  5449 		},
   -1  5450 		radio: {
   -1  5451 			selectors: ['input[type="radio"]'],
   -1  5452 			childRoles: ['menuitemradio'],
   -1  5453 			nameFromContents: true,
   -1  5454 			defaults: {
   -1  5455 				'checked': 'false',
   -1  5456 			},
   -1  5457 		},
   -1  5458 		radiogroup: {},
   -1  5459 		range: {
   -1  5460 			abstract: true,
   -1  5461 			childRoles: ['meter', 'progressbar', 'scrollbar', 'slider', 'spinbutton'],
   -1  5462 		},
   -1  5463 		region: {
   -1  5464 			selectors: ['section[aria-label]', 'section[aria-labelledby]', 'section[title]'],
   -1  5465 		},
   -1  5466 		roletype: {
   -1  5467 			abstract: true,
   -1  5468 			childRoles: ['structure', 'widget', 'window'],
   -1  5469 		},
   -1  5470 		row: {
   -1  5471 			selectors: ['tr'],
   -1  5472 			nameFromContents: true,
   -1  5473 		},
   -1  5474 		rowgroup: {
   -1  5475 			selectors: ['tbody', 'thead', 'tfoot'],
   -1  5476 		},
   -1  5477 		rowheader: {
   -1  5478 			selectors: ['th[scope="row"]', 'th:not([scope]):not(td ~ th)'],
   -1  5479 			nameFromContents: true,
   -1  5480 		},
   -1  5481 		scrollbar: {
   -1  5482 			defaults: {
   -1  5483 				'orientation': 'vertical',
   -1  5484 				'valuemin': 0,
   -1  5485 				'valuemax': 100,
   -1  5486 			},
   -1  5487 		},
   -1  5488 		search: {
   -1  5489 			selectors: ['search'],
   -1  5490 		},
   -1  5491 		searchbox: {
   -1  5492 			selectors: ['input[type="search"]:not([list])'],
   -1  5493 		},
   -1  5494 		section: {
   -1  5495 			abstract: true,
   -1  5496 			childRoles: [
   -1  5497 				'alert',
   -1  5498 				'blockquote',
   -1  5499 				'caption',
   -1  5500 				'cell',
   -1  5501 				'code',
   -1  5502 				'definition',
   -1  5503 				'deletion',
   -1  5504 				'doc-abstract',
   -1  5505 				'doc-colophon',
   -1  5506 				'doc-credit',
   -1  5507 				'doc-dedication',
   -1  5508 				'doc-epigraph',
   -1  5509 				'doc-footnote',
   -1  5510 				'doc-pagefooter',
   -1  5511 				'doc-pageheader',
   -1  5512 				'doc-pullquote',
   -1  5513 				'doc-qna',
   -1  5514 				'emphasis',
   -1  5515 				'figure',
   -1  5516 				'group',
   -1  5517 				'image',
   -1  5518 				'insertion',
   -1  5519 				'landmark',
   -1  5520 				'list',
   -1  5521 				'listitem',
   -1  5522 				'log',
   -1  5523 				'mark',
   -1  5524 				'marquee',
   -1  5525 				'math',
   -1  5526 				'note',
   -1  5527 				'paragraph',
   -1  5528 				'status',
   -1  5529 				'strong',
   -1  5530 				'subscript',
   -1  5531 				'suggestion',
   -1  5532 				'superscript',
   -1  5533 				'table',
   -1  5534 				'tabpanel',
   -1  5535 				'term',
   -1  5536 				'time',
   -1  5537 				'tooltip',
   -1  5538 			],
   -1  5539 		},
   -1  5540 		sectionhead: {
   -1  5541 			abstract: true,
   -1  5542 			childRoles: [
   -1  5543 				'columnheader',
   -1  5544 				'doc-subtitle',
   -1  5545 				'heading',
   -1  5546 				'rowheader',
   -1  5547 				'tab',
   -1  5548 			],
   -1  5549 			nameFromContents: true,
   -1  5550 		},
   -1  5551 		select: {
   -1  5552 			abstract: true,
   -1  5553 			childRoles: ['listbox', 'menu', 'radiogroup', 'tree'],
   -1  5554 		},
   -1  5555 		separator: {
   -1  5556 			// assume not focussable because <hr> is not
   -1  5557 			selectors: ['hr'],
   -1  5558 			childRoles: ['doc-pagebreak'],
   -1  5559 			defaults: {
   -1  5560 				'orientation': 'horizontal',
   -1  5561 				'valuemin': 0,
   -1  5562 				'valuemax': 100,
   -1  5563 			},
   -1  5564 		},
   -1  5565 		slider: {
   -1  5566 			selectors: ['input[type="range"]'],
   -1  5567 			defaults: {
   -1  5568 				'orientation': 'horizontal',
   -1  5569 				'valuemin': 0,
   -1  5570 				'valuemax': 100,
   -1  5571 				// FIXME: halfway between actual valuemin and valuemax
   -1  5572 				'valuenow': 50,
   -1  5573 			},
   -1  5574 		},
   -1  5575 		spinbutton: {
   -1  5576 			selectors: ['input[type="number"]'],
   -1  5577 			defaults: {
   -1  5578 				// FIXME: no valuemin/valuemax/valuenow
   -1  5579 			},
   -1  5580 		},
   -1  5581 		status: {
   -1  5582 			selectors: ['output'],
   -1  5583 			childRoles: ['timer'],
   -1  5584 			defaults: {
   -1  5585 				'live': 'polite',
   -1  5586 				'atomic': true,
   -1  5587 			},
   -1  5588 		},
   -1  5589 		strong: {
   -1  5590 			selectors: ['strong'],
   -1  5591 		},
   -1  5592 		structure: {
   -1  5593 			abstract: true,
   -1  5594 			childRoles: [
   -1  5595 				'application',
   -1  5596 				'document',
   -1  5597 				'none',
   -1  5598 				'generic',
   -1  5599 				'range',
   -1  5600 				'rowgroup',
   -1  5601 				'section',
   -1  5602 				'sectionhead',
   -1  5603 				'separator',
   -1  5604 			],
   -1  5605 		},
   -1  5606 		suggestion: {},
   -1  5607 		subscript: {
   -1  5608 			selectors: ['sub'],
   -1  5609 		},
   -1  5610 		superscript: {
   -1  5611 			selectors: ['sup'],
   -1  5612 		},
   -1  5613 		switch: {
   -1  5614 			nameFromContents: true,
   -1  5615 			defaults: {
   -1  5616 				'checked': false,
   -1  5617 			},
   -1  5618 		},
   -1  5619 		tab: {
   -1  5620 			nameFromContents: true,
   -1  5621 			defaults: {
   -1  5622 				'selected': false,
   -1  5623 			},
   -1  5624 		},
   -1  5625 		table: {
   -1  5626 			selectors: ['table'],
   -1  5627 			childRoles: ['grid'],
   -1  5628 		},
   -1  5629 		tablist: {
   -1  5630 			defaults: {
   -1  5631 				'orientation': 'horizontal',
   -1  5632 			},
   -1  5633 		},
   -1  5634 		tabpanel: {},
   -1  5635 		term: {
   -1  5636 			selectors: ['dfn', 'dt'],
   -1  5637 		},
   -1  5638 		textbox: {
   -1  5639 			selectors: [
   -1  5640 				'input:not([type]):not([list])',
   -1  5641 				'input[type="email"]:not([list])',
   -1  5642 				'input[type="tel"]:not([list])',
   -1  5643 				'input[type="text"]:not([list])',
   -1  5644 				'input[type="url"]:not([list])',
   -1  5645 				'textarea',
   -1  5646 			],
   -1  5647 			childRoles: ['searchbox'],
   -1  5648 		},
   -1  5649 		time: {
   -1  5650 			selectors: ['time'],
   -1  5651 		},
   -1  5652 		timer: {
   -1  5653 			defaults: {
   -1  5654 				'live': 'off',
   -1  5655 			},
   -1  5656 		},
   -1  5657 		toolbar: {
   -1  5658 			defaults: {
   -1  5659 				'orientation': 'horizontal',
   -1  5660 			},
   -1  5661 		},
   -1  5662 		tooltip: {
   -1  5663 			nameFromContents: true,
   -1  5664 		},
   -1  5665 		tree: {
   -1  5666 			childRoles: ['treegrid'],
   -1  5667 			defaults: {
   -1  5668 				'orientation': 'vertical',
   -1  5669 			},
   -1  5670 		},
   -1  5671 		treegrid: {},
   -1  5672 		treeitem: {
   -1  5673 			nameFromContents: true,
   -1  5674 		},
   -1  5675 		widget: {
   -1  5676 			abstract: true,
   -1  5677 			childRoles: [
   -1  5678 				'command',
   -1  5679 				'composite',
   -1  5680 				'gridcell',
   -1  5681 				'input',
   -1  5682 				'progressbar',
   -1  5683 				'row',
   -1  5684 				'scrollbar',
   -1  5685 				'separator',
   -1  5686 				'tab',
   -1  5687 			],
   -1  5688 		},
   -1  5689 		window: {
   -1  5690 			abstract: true,
   -1  5691 			childRoles: ['dialog'],
   -1  5692 		},
   -1  5693 	};
 5941  5694 
 5942    -1 const getSubRoles = function(role) {
 5943    -1 	const children = (exports.roles[role]).childRoles || [];
 5944    -1 	const descendents = children.map(getSubRoles);
   -1  5695 	const getSubRoles = function(role) {
   -1  5696 		const children = (roles[role]).childRoles || [];
   -1  5697 		const descendents = children.map(getSubRoles);
 5945  5698 
 5946    -1 	const result = [role];
   -1  5699 		const result = [role];
 5947  5700 
 5948    -1 	descendents.forEach(list => {
 5949    -1 		list.forEach(r => {
 5950    -1 			if (!result.includes(r)) {
 5951    -1 				result.push(r);
 5952    -1 			}
   -1  5701 		descendents.forEach(list => {
   -1  5702 			list.forEach(r => {
   -1  5703 				if (!result.includes(r)) {
   -1  5704 					result.push(r);
   -1  5705 				}
   -1  5706 			});
 5953  5707 		});
 5954    -1 	});
 5955  5708 
 5956    -1 	return result;
 5957    -1 };
   -1  5709 		return result;
   -1  5710 	};
 5958  5711 
 5959    -1 exports.attrsWithDefaults = [];
   -1  5712 	const attrsWithDefaults = [];
 5960  5713 
 5961    -1 for (const role in exports.roles) {
 5962    -1 	exports.roles[role].subRoles = getSubRoles(role);
 5963    -1 	for (const key in exports.roles[role].defaults) {
 5964    -1 		if (!exports.attrsWithDefaults.includes(key)) {
 5965    -1 			exports.attrsWithDefaults.push(key);
   -1  5714 	for (const role in roles) {
   -1  5715 		roles[role].subRoles = getSubRoles(role);
   -1  5716 		for (const key in roles[role].defaults) {
   -1  5717 			if (!attrsWithDefaults.includes(key)) {
   -1  5718 				attrsWithDefaults.push(key);
   -1  5719 			}
 5966  5720 		}
 5967  5721 	}
 5968    -1 }
 5969  5722 
 5970    -1 exports.aliases = {
 5971    -1 	'presentation': 'none',
 5972    -1 	'directory': 'list',
 5973    -1 	'img': 'image',
 5974    -1 };
   -1  5723 	const aliases = {
   -1  5724 		'presentation': 'none',
   -1  5725 		'directory': 'list',
   -1  5726 		'img': 'image',
   -1  5727 	};
 5975  5728 
 5976    -1 exports.nameFromDescendant = {
 5977    -1 	'figure': 'figcaption',
 5978    -1 	'table': 'caption',
 5979    -1 	'fieldset': 'legend',
 5980    -1 };
   -1  5729 	const nameFromDescendant = {
   -1  5730 		'figure': 'figcaption',
   -1  5731 		'table': 'caption',
   -1  5732 		'fieldset': 'legend',
   -1  5733 	};
 5981  5734 
 5982    -1 exports.nameDefaults = {
 5983    -1 	'input[type="submit"]': 'Submit',
 5984    -1 	'input[type="reset"]': 'Reset',
 5985    -1 	'summary': 'Details',
 5986    -1 };
   -1  5735 	const nameDefaults = {
   -1  5736 		'input[type="submit"]': 'Submit',
   -1  5737 		'input[type="reset"]': 'Reset',
   -1  5738 		'summary': 'Details',
   -1  5739 	};
   -1  5740 
   -1  5741 	var unique = function(arr) {
   -1  5742 		return arr.filter((a, i) => arr.indexOf(a) === i);
   -1  5743 	};
 5987  5744 
 5988    -1 },{}],13:[function(require,module,exports){
 5989    -1 const constants = require('./constants.js');
 5990    -1 const atree = require('./atree.js');
 5991    -1 const query = require('./query.js');
   -1  5745 	var flatten = function(arr) {
   -1  5746 		return [].concat.apply([], arr);
   -1  5747 	};
 5992  5748 
 5993    -1 const addSpaces = function(text, el, pseudoSelector) {
 5994    -1 	// https://github.com/w3c/accname/issues/3
 5995    -1 	const styles = window.getComputedStyle(el, pseudoSelector);
 5996    -1 	const inline = styles.display === 'inline';
 5997    -1 	return inline ? text : ` ${text} `;
 5998    -1 };
   -1  5749 	var normalizeRoles = function(roles$1, includeAbstract) {
   -1  5750 		return unique(roles$1
   -1  5751 			.map(r => aliases[r] || r)
   -1  5752 			.filter(r => roles[r])
   -1  5753 			.filter(r => includeAbstract || !roles[r].abstract)
   -1  5754 		);
   -1  5755 	};
 5999  5756 
 6000    -1 const getPseudoContent = function(el, pseudoSelector) {
 6001    -1 	const styles = window.getComputedStyle(el, pseudoSelector);
 6002    -1 	let tail = styles.getPropertyValue('content').trim();
 6003    -1 	let ret = [];
 6004    -1 
 6005    -1 	let match;
 6006    -1 	while (tail.length) {
 6007    -1 		if (match = tail.match(/^"([^"]*)"/)) {
 6008    -1 			ret.push(match[1]);
 6009    -1 		} else if (match = tail.match(/^([a-z-]+)\(([^)]*)\)/)) {
 6010    -1 			if (match[1] === 'attr') {
 6011    -1 				ret.push(el.getAttribute(match[2]) || '');
 6012    -1 			}
 6013    -1 		} else if (match = tail.match(/^([a-z-]+)/)) {
 6014    -1 			if (match[1] === 'open-quote' || match[1] === 'close-quote') {
 6015    -1 				ret.push('"');
   -1  5757 	// candidates can be passed for performance optimization
   -1  5758 	const getRoleRaw = function(el, candidates) {
   -1  5759 		// TODO: filter out any invalid roles (e.g. name or context required)
   -1  5760 		const roles$1 = normalizeRoles(
   -1  5761 			(el.getAttribute('role') || '').toLowerCase().split(/\s+/)
   -1  5762 		);
   -1  5763 
   -1  5764 		if (roles$1.length > 1 && candidates) {
   -1  5765 			return [roles$1, candidates];
   -1  5766 		} else if (roles$1.length) {
   -1  5767 			for (const role of roles$1) {
   -1  5768 				if (!candidates || candidates.includes(role)) {
   -1  5769 					return role;
   -1  5770 				}
 6016  5771 			}
 6017    -1 		} else if (match = tail.match(/^\//)) {
 6018    -1 			ret = [];
 6019  5772 		} else {
 6020    -1 			// invalid content, ignore
 6021    -1 			return '';
   -1  5773 			for (const role of (candidates || Object.keys(roles))) {
   -1  5774 				const r = roles[role];
   -1  5775 				if (!r.abstract && r.selectors && el.matches(r.selectors.join(','))) {
   -1  5776 					return role;
   -1  5777 				}
   -1  5778 			}
 6022  5779 		}
 6023    -1 		tail = tail.slice(match[0].length).trim();
 6024    -1 	}
   -1  5780 	};
 6025  5781 
 6026    -1 	return addSpaces(ret.join(''), el, pseudoSelector);
 6027    -1 };
   -1  5782 	const getRole = function(el) {
   -1  5783 		return getRoleRaw(el);
   -1  5784 	};
   -1  5785 
   -1  5786 	const hasRole = function(el, roles$1) {
   -1  5787 		const subRoles = normalizeRoles(roles$1, true).map(role => {
   -1  5788 			return roles[role].subRoles || [role];
   -1  5789 		});
   -1  5790 		return !!getRoleRaw(el, unique(flatten(subRoles)));
   -1  5791 	};
 6028  5792 
 6029    -1 const getContent = function(root, ongoingLabelledBy, visited) {
 6030    -1 	const children = atree.getChildNodes(root);
 6031    -1 
 6032    -1 	let ret = '';
 6033    -1 	for (let i = 0; i < children.length; i++) {
 6034    -1 		const node = children[i];
 6035    -1 		if (node.nodeType === node.TEXT_NODE) {
 6036    -1 			ret += node.textContent;
 6037    -1 		} else if (node.nodeType === node.ELEMENT_NODE) {
 6038    -1 			if (node.tagName.toLowerCase() === 'br') {
 6039    -1 				ret += '\n';
   -1  5793 	const getAttribute = function(el, key) {
   -1  5794 		if (attributeStrongMapping.hasOwnProperty(key)) {
   -1  5795 			const value = el[attributeStrongMapping[key]];
   -1  5796 			if (value) {
   -1  5797 				return value;
   -1  5798 			}
   -1  5799 		}
   -1  5800 		if (key === 'readonly' && el.contentEditable) {
   -1  5801 			return false;
   -1  5802 		} else if (key === 'invalid' && el.checkValidity) {
   -1  5803 			return !el.checkValidity();
   -1  5804 		} else if (key === 'hidden') {
   -1  5805 			// workaround for chromium
   -1  5806 			if (el.matches('noscript')) {
   -1  5807 				return true;
   -1  5808 			}
   -1  5809 			if (el.matches('details:not([open]) > :not(summary)')) {
   -1  5810 				return true;
   -1  5811 			}
   -1  5812 			const style = window.getComputedStyle(el);
   -1  5813 			if (style.display === 'none' || style.visibility === 'hidden' || style.visibility === 'collapse') {
   -1  5814 				return true;
   -1  5815 			}
   -1  5816 		}
   -1  5817 
   -1  5818 		const type = attributes[key];
   -1  5819 		const raw = el.getAttribute('aria-' + key);
   -1  5820 
   -1  5821 		if (raw) {
   -1  5822 			if (type === 'bool') {
   -1  5823 				return raw === 'true';
   -1  5824 			} else if (type === 'tristate') {
   -1  5825 				return raw === 'true' ? true : raw === 'false' ? false : 'mixed';
   -1  5826 			} else if (type === 'bool-undefined') {
   -1  5827 				return raw === 'true' ? true : raw === 'false' ? false : undefined;
   -1  5828 			} else if (type === 'id-list') {
   -1  5829 				return raw.split(/\s+/);
   -1  5830 			} else if (type === 'integer') {
   -1  5831 				return parseInt(raw, 10);
   -1  5832 			} else if (type === 'number') {
   -1  5833 				return parseFloat(raw);
   -1  5834 			} else if (type === 'token-list') {
   -1  5835 				return raw.split(/\s+/);
 6040  5836 			} else {
 6041    -1 				ret += getName(node, true, ongoingLabelledBy, visited);
   -1  5837 				return raw;
 6042  5838 			}
 6043  5839 		}
 6044    -1 	}
 6045  5840 
 6046    -1 	return ret;
 6047    -1 };
   -1  5841 		// TODO
   -1  5842 		// autocomplete
   -1  5843 		// contextmenu -> aria-haspopup
   -1  5844 		// indeterminate -> aria-checked="mixed"
   -1  5845 		// list -> aria-controls
 6048  5846 
 6049    -1 const allowNameFromContent = function(el) {
 6050    -1 	const role = query.getRole(el);
 6051    -1 	if (role) {
 6052    -1 		return constants.roles[role].nameFromContents;
 6053    -1 	}
 6054    -1 };
   -1  5847 		if (key === 'level') {
   -1  5848 			for (let i = 1; i <= 6; i++) {
   -1  5849 				if (el.tagName.toLowerCase() === 'h' + i) {
   -1  5850 					return i;
   -1  5851 				}
   -1  5852 			}
   -1  5853 		} else if (attributeWeakMapping.hasOwnProperty(key)) {
   -1  5854 			return el[attributeWeakMapping[key]];
   -1  5855 		}
 6055  5856 
 6056    -1 const getName = function(el, recursive, ongoingLabelledBy, visited, directReference) {
 6057    -1 	let ret = '';
   -1  5857 		if (key in attrsWithDefaults) {
   -1  5858 			const role = getRole(el);
   -1  5859 			const defaults = roles[role].defaults;
   -1  5860 			if (defaults && defaults.hasOwnProperty(key)) {
   -1  5861 				return defaults[key];
   -1  5862 			}
   -1  5863 		}
 6058  5864 
 6059    -1 	visited = visited || [];
 6060    -1 	if (visited.includes(el)) {
 6061    -1 		if (!directReference) {
 6062    -1 			return '';
   -1  5865 		if (type === 'bool' || type === 'tristate') {
   -1  5866 			return false;
 6063  5867 		}
 6064    -1 	} else {
 6065    -1 		visited.push(el);
 6066    -1 	}
   -1  5868 	};
 6067  5869 
 6068    -1 	// A
 6069    -1 	// handled in atree
   -1  5870 	const _getOwner = function(node, owners) {
   -1  5871 		if (node.nodeType === node.ELEMENT_NODE && node.id) {
   -1  5872 			const selector = '[aria-owns~="' + CSS.escape(node.id) + '"]';
   -1  5873 			if (owners) {
   -1  5874 				for (const owner of owners) {
   -1  5875 					if (owner.matches(selector)) {
   -1  5876 						return owner;
   -1  5877 					}
   -1  5878 				}
   -1  5879 			} else {
   -1  5880 				return document.querySelector(selector);
   -1  5881 			}
   -1  5882 		}
   -1  5883 	};
 6070  5884 
 6071    -1 	// B
 6072    -1 	if (!ongoingLabelledBy && el.matches('[aria-labelledby]')) {
 6073    -1 		const ids = el.getAttribute('aria-labelledby').split(/\s+/);
 6074    -1 		const strings = ids.map(id => {
 6075    -1 			const label = document.getElementById(id);
 6076    -1 			return label ? getName(label, true, true, visited, true) : '';
 6077    -1 		});
 6078    -1 		ret = strings.join(' ');
 6079    -1 	}
   -1  5885 	const _getParentNode = function(node, owners) {
   -1  5886 		return _getOwner(node, owners) || node.parentNode;
   -1  5887 	};
 6080  5888 
 6081    -1 	// E (the current draft has this at this high priority)
 6082    -1 	if (!ret.trim() && recursive) {
 6083    -1 		if (query.matches(el, 'textbox')) {
 6084    -1 			ret = el.value || el.textContent;
 6085    -1 		} else if (query.matches(el, 'combobox,listbox')) {
 6086    -1 			const selected = query.querySelector(el, ':selected') || query.querySelector(el, 'option');
 6087    -1 			if (selected) {
 6088    -1 				ret = getName(selected, recursive, ongoingLabelledBy, visited);
   -1  5889 	const detectLoop = function(node, owners) {
   -1  5890 		const seen = [node];
   -1  5891 		while ((node = _getParentNode(node, owners))) {
   -1  5892 			if (seen.includes(node)) {
   -1  5893 				return true;
   -1  5894 			}
   -1  5895 			seen.push(node);
   -1  5896 		}
   -1  5897 	};
   -1  5898 
   -1  5899 	const getOwner = function(node, owners) {
   -1  5900 		const owner = _getOwner(node, owners);
   -1  5901 		if (owner && !detectLoop(node, owners)) {
   -1  5902 			return owner;
   -1  5903 		}
   -1  5904 	};
   -1  5905 
   -1  5906 	const getParentNode = function(node, owners) {
   -1  5907 		return getOwner(node, owners) || node.parentNode;
   -1  5908 	};
   -1  5909 
   -1  5910 	const isHidden = function(node) {
   -1  5911 		return node.nodeType === node.ELEMENT_NODE && getAttribute(node, 'hidden');
   -1  5912 	};
   -1  5913 
   -1  5914 	const getChildNodes = function(node, owners) {
   -1  5915 		const childNodes = [];
   -1  5916 
   -1  5917 		for (let i = 0; i < node.childNodes.length; i++) {
   -1  5918 			const child = node.childNodes[i];
   -1  5919 			if (!getOwner(child, owners) && !isHidden(child)) {
   -1  5920 				childNodes.push(child);
   -1  5921 			}
   -1  5922 		}
   -1  5923 
   -1  5924 		if (node.nodeType === node.ELEMENT_NODE) {
   -1  5925 			const owns = getAttribute(node, 'owns') || [];
   -1  5926 			for (let i = 0; i < owns.length; i++) {
   -1  5927 				const child = document.getElementById(owns[i]);
   -1  5928 				// double check with getOwner for consistency
   -1  5929 				if (child && getOwner(child, owners) === node && !isHidden(child)) {
   -1  5930 					childNodes.push(child);
   -1  5931 				}
   -1  5932 			}
   -1  5933 		}
   -1  5934 
   -1  5935 		return childNodes;
   -1  5936 	};
   -1  5937 
   -1  5938 	const walk = function(root, fn) {
   -1  5939 		const owners = document.querySelectorAll('[aria-owns]');
   -1  5940 		let queue = [root];
   -1  5941 		while (queue.length) {
   -1  5942 			const item = queue.shift();
   -1  5943 			fn(item);
   -1  5944 			queue = getChildNodes(item, owners).concat(queue);
   -1  5945 		}
   -1  5946 	};
   -1  5947 
   -1  5948 	const searchUp = function(node, test) {
   -1  5949 		const candidate = getParentNode(node);
   -1  5950 		if (candidate) {
   -1  5951 			if (test(candidate)) {
   -1  5952 				return candidate;
 6089  5953 			} else {
 6090    -1 				ret = el.value || '';
   -1  5954 				return searchUp(candidate, test);
 6091  5955 			}
 6092    -1 		} else if (query.matches(el, 'range')) {
 6093    -1 			ret = '' + (query.getAttribute(el, 'valuetext') || query.getAttribute(el, 'valuenow') || el.value);
 6094  5956 		}
 6095    -1 	}
   -1  5957 	};
 6096  5958 
 6097    -1 	// C
 6098    -1 	if (!ret.trim() && el.matches('[aria-label]')) {
 6099    -1 		// FIXME: may skip to 2E
 6100    -1 		ret = el.getAttribute('aria-label');
 6101    -1 	}
   -1  5959 	const matches = function(el, selector) {
   -1  5960 		if (selector.substr(0, 1) === ':') {
   -1  5961 			const attr = selector.substr(1);
   -1  5962 			return getAttribute(el, attr);
   -1  5963 		} else if (selector.substr(0, 1) === '[') {
   -1  5964 			const match = /\[([a-z]+)="(.*)"\]/.exec(selector);
   -1  5965 			const actual = getAttribute(el, match[1]);
   -1  5966 			const rawValue = match[2];
   -1  5967 			return actual.toString() === rawValue;
   -1  5968 		} else {
   -1  5969 			return hasRole(el, selector.split(','));
   -1  5970 		}
   -1  5971 	};
   -1  5972 
   -1  5973 	const _querySelector = function(all) {
   -1  5974 		return function(root, selector) {
   -1  5975 			const results = [];
   -1  5976 			try {
   -1  5977 				walk(root, node => {
   -1  5978 					if (node.nodeType === node.ELEMENT_NODE) {
   -1  5979 						// FIXME: skip hidden elements
   -1  5980 						if (matches(node, selector)) {
   -1  5981 							results.push(node);
   -1  5982 							if (!all) {
   -1  5983 								throw 'StopIteration';
   -1  5984 							}
   -1  5985 						}
   -1  5986 					}
   -1  5987 				});
   -1  5988 			} catch (e) {
   -1  5989 				if (e !== 'StopIteration') {
   -1  5990 					throw e;
   -1  5991 				}
   -1  5992 			}
   -1  5993 			return all ? results : results[0];
   -1  5994 		};
   -1  5995 	};
 6102  5996 
 6103    -1 	// D
 6104    -1 	if (!ret.trim() && !recursive && el.labels) {
 6105    -1 		const strings = Array.prototype.map.call(el.labels, label => {
 6106    -1 			return getName(label, true, ongoingLabelledBy, visited);
   -1  5997 	const closest = function(el, selector) {
   -1  5998 		return searchUp(el, candidate => {
   -1  5999 			if (candidate.nodeType === candidate.ELEMENT_NODE) {
   -1  6000 				return matches(candidate, selector);
   -1  6001 			}
 6107  6002 		});
 6108    -1 		ret = strings.join(' ');
 6109    -1 	}
 6110    -1 	if (!ret.trim()) {
 6111    -1 		ret = el.alt || '';
 6112    -1 	}
 6113    -1 	if (!ret.trim() && el.matches('abbr,acronym') && el.title) {
 6114    -1 		ret = el.title;
 6115    -1 	}
 6116    -1 	if (!ret.trim()) {
 6117    -1 		for (const selector in constants.nameFromDescendant) {
 6118    -1 			if (el.matches(selector)) {
 6119    -1 				const descendant = el.querySelector(constants.nameFromDescendant[selector]);
 6120    -1 				if (descendant) {
 6121    -1 					ret = getName(descendant, true, ongoingLabelledBy, visited);
   -1  6003 	};
   -1  6004 
   -1  6005 	const querySelector = _querySelector();
   -1  6006 	const querySelectorAll = _querySelector(true);
   -1  6007 
   -1  6008 	const addSpaces = function(text, el, pseudoSelector) {
   -1  6009 		// https://github.com/w3c/accname/issues/3
   -1  6010 		const styles = window.getComputedStyle(el, pseudoSelector);
   -1  6011 		const inline = styles.display === 'inline';
   -1  6012 		return inline ? text : ` ${text} `;
   -1  6013 	};
   -1  6014 
   -1  6015 	const getPseudoContent = function(el, pseudoSelector) {
   -1  6016 		const styles = window.getComputedStyle(el, pseudoSelector);
   -1  6017 		let tail = styles.getPropertyValue('content').trim();
   -1  6018 		let ret = [];
   -1  6019 
   -1  6020 		let match;
   -1  6021 		while (tail.length) {
   -1  6022 			if ((match = tail.match(/^"([^"]*)"/))) {
   -1  6023 				ret.push(match[1]);
   -1  6024 			} else if ((match = tail.match(/^([a-z-]+)\(([^)]*)\)/))) {
   -1  6025 				if (match[1] === 'attr') {
   -1  6026 					ret.push(el.getAttribute(match[2]) || '');
   -1  6027 				}
   -1  6028 			} else if ((match = tail.match(/^([a-z-]+)/))) {
   -1  6029 				if (match[1] === 'open-quote' || match[1] === 'close-quote') {
   -1  6030 					ret.push('"');
 6122  6031 				}
   -1  6032 			} else if ((match = tail.match(/^\//))) {
   -1  6033 				ret = [];
   -1  6034 			} else {
   -1  6035 				// invalid content, ignore
   -1  6036 				return '';
 6123  6037 			}
   -1  6038 			tail = tail.slice(match[0].length).trim();
 6124  6039 		}
 6125    -1 	}
 6126    -1 	if (!ret.trim() && el.matches('svg *')) {
 6127    -1 		const svgTitle = el.querySelector('title');
 6128    -1 		if (svgTitle && svgTitle.parentElement === el) {
 6129    -1 			ret = svgTitle.textContent;
   -1  6040 
   -1  6041 		return addSpaces(ret.join(''), el, pseudoSelector);
   -1  6042 	};
   -1  6043 
   -1  6044 	const getContent = function(root, ongoingLabelledBy, visited) {
   -1  6045 		const children = getChildNodes(root);
   -1  6046 
   -1  6047 		let ret = '';
   -1  6048 		for (let i = 0; i < children.length; i++) {
   -1  6049 			const node = children[i];
   -1  6050 			if (node.nodeType === node.TEXT_NODE) {
   -1  6051 				const styles = window.getComputedStyle(node.parentElement);
   -1  6052 				if (styles.textTransform === 'uppercase') {
   -1  6053 					ret += node.textContent.toUpperCase();
   -1  6054 				} else if (styles.textTransform === 'lowercase') {
   -1  6055 					ret += node.textContent.toLowerCase();
   -1  6056 				} else if (styles.textTransform === 'capitalize') {
   -1  6057 					ret += node.textContent.replace(/\b\w/g, c => c.toUpperCase());
   -1  6058 				} else {
   -1  6059 					ret += node.textContent;
   -1  6060 				}
   -1  6061 			} else if (node.nodeType === node.ELEMENT_NODE) {
   -1  6062 				if (node.tagName.toLowerCase() === 'br') {
   -1  6063 					ret += '\n';
   -1  6064 				} else {
   -1  6065 					ret += getNameRaw(node, true, ongoingLabelledBy, visited);
   -1  6066 				}
   -1  6067 			}
 6130  6068 		}
 6131    -1 	}
 6132    -1 	if (!ret.trim() && el.matches('a')) {
 6133    -1 		ret = el.getAttribute('xlink:title') || '';
 6134    -1 	}
 6135  6069 
 6136    -1 	// F
 6137    -1 	// FIXME: menu is not mentioned in the spec
 6138    -1 	if (!ret.trim() && (recursive || allowNameFromContent(el) || el.closest('label')) && !query.matches(el, 'menu')) {
 6139    -1 		ret = getContent(el, ongoingLabelledBy, visited);
 6140    -1 	}
   -1  6070 		return ret;
   -1  6071 	};
 6141  6072 
 6142    -1 	if (!ret.trim() && query.matches(el, 'button')) {
 6143    -1 		ret = el.value || '';
 6144    -1 	}
   -1  6073 	const allowNameFromContent = function(el) {
   -1  6074 		const role = getRole(el);
   -1  6075 		if (role) {
   -1  6076 			return roles[role].nameFromContents;
   -1  6077 		}
   -1  6078 	};
   -1  6079 
   -1  6080 	const getNameRaw = function(el, recursive, ongoingLabelledBy, visited, directReference) {
   -1  6081 		let ret = '';
 6145  6082 
 6146    -1 	if (!ret.trim()) {
 6147    -1 		for (const selector in constants.nameDefaults) {
 6148    -1 			if (el.matches(selector)) {
 6149    -1 				ret = constants.nameDefaults[selector];
   -1  6083 		visited = visited || [];
   -1  6084 		if (visited.includes(el)) {
   -1  6085 			if (!directReference) {
   -1  6086 				return '';
 6150  6087 			}
   -1  6088 		} else {
   -1  6089 			visited.push(el);
 6151  6090 		}
 6152    -1 	}
 6153  6091 
 6154    -1 	// G/H
 6155    -1 	// handled in getContent
   -1  6092 		// A
   -1  6093 		// handled in atree
 6156  6094 
 6157    -1 	// I
 6158    -1 	if (!ret.trim()) {
 6159    -1 		ret = el.title || el.placeholder || '';
 6160    -1 	}
   -1  6095 		// B
   -1  6096 		if (!ongoingLabelledBy && el.matches('[aria-labelledby]')) {
   -1  6097 			const ids = el.getAttribute('aria-labelledby').split(/\s+/);
   -1  6098 			const strings = ids.map(id => {
   -1  6099 				const label = document.getElementById(id);
   -1  6100 				return label ? getNameRaw(label, true, true, visited, true) : '';
   -1  6101 			});
   -1  6102 			ret = strings.join(' ');
   -1  6103 		}
 6161  6104 
 6162    -1 	// FIXME: not exactly sure about this, but it reduces the number of failing
 6163    -1 	// WPT tests. Whitespace is hard.
 6164    -1 	if (!ret.trim()) {
 6165    -1 		ret = ' ';
 6166    -1 	}
   -1  6105 		// E (the current draft has this at this high priority)
   -1  6106 		if (!ret.trim() && recursive) {
   -1  6107 			if (matches(el, 'textbox')) {
   -1  6108 				ret = el.value || el.textContent;
   -1  6109 			} else if (matches(el, 'combobox,listbox')) {
   -1  6110 				const selected = querySelector(el, ':selected') || querySelector(el, 'option');
   -1  6111 				if (selected) {
   -1  6112 					ret = getNameRaw(selected, recursive, ongoingLabelledBy, visited);
   -1  6113 				} else {
   -1  6114 					ret = el.value || '';
   -1  6115 				}
   -1  6116 			} else if (matches(el, 'range')) {
   -1  6117 				ret = '' + (getAttribute(el, 'valuetext') || getAttribute(el, 'valuenow') || el.value);
   -1  6118 			}
   -1  6119 		}
 6167  6120 
 6168    -1 	const before = getPseudoContent(el, ':before');
 6169    -1 	const after = getPseudoContent(el, ':after');
 6170    -1 	return addSpaces(before + ret + after, el);
 6171    -1 };
   -1  6121 		// C
   -1  6122 		if (!ret.trim() && el.matches('[aria-label]')) {
   -1  6123 			// FIXME: may skip to 2E
   -1  6124 			ret = el.getAttribute('aria-label');
   -1  6125 		}
 6172  6126 
 6173    -1 const getNameTrimmed = function(el) {
 6174    -1 	return getName(el)
 6175    -1 		.replace(/[ \n\r\t\f]+/g, ' ')
 6176    -1 		.replace(/^ /, '')
 6177    -1 		.replace(/ $/, '');
 6178    -1 };
   -1  6127 		// D
   -1  6128 		if (!ret.trim() && !recursive && el.labels) {
   -1  6129 			const strings = Array.prototype.map.call(el.labels, label => {
   -1  6130 				return getNameRaw(label, true, ongoingLabelledBy, visited);
   -1  6131 			});
   -1  6132 			ret = strings.join(' ');
   -1  6133 		}
   -1  6134 		if (!ret.trim()) {
   -1  6135 			ret = el.alt || '';
   -1  6136 		}
   -1  6137 		if (!ret.trim() && el.matches('abbr,acronym') && el.title) {
   -1  6138 			ret = el.title;
   -1  6139 		}
   -1  6140 		if (!ret.trim()) {
   -1  6141 			for (const selector in nameFromDescendant) {
   -1  6142 				if (el.matches(selector)) {
   -1  6143 					const descendant = el.querySelector(nameFromDescendant[selector]);
   -1  6144 					if (descendant) {
   -1  6145 						ret = getNameRaw(descendant, true, ongoingLabelledBy, visited);
   -1  6146 					}
   -1  6147 				}
   -1  6148 			}
   -1  6149 		}
   -1  6150 		if (!ret.trim() && el.matches('svg *')) {
   -1  6151 			const svgTitle = el.querySelector('title');
   -1  6152 			if (svgTitle && svgTitle.parentElement === el) {
   -1  6153 				ret = svgTitle.textContent;
   -1  6154 			}
   -1  6155 		}
   -1  6156 		if (!ret.trim() && el.matches('a')) {
   -1  6157 			ret = el.getAttribute('xlink:title') || '';
   -1  6158 		}
 6179  6159 
 6180    -1 const getDescription = function(el) {
 6181    -1 	let ret = '';
   -1  6160 		// F
   -1  6161 		// FIXME: menu is not mentioned in the spec
   -1  6162 		if (!ret.trim() && (recursive || allowNameFromContent(el) || el.closest('label')) && !matches(el, 'menu')) {
   -1  6163 			ret = getContent(el, ongoingLabelledBy, visited);
   -1  6164 		}
 6182  6165 
 6183    -1 	if (el.matches('[aria-describedby]')) {
 6184    -1 		const ids = el.getAttribute('aria-describedby').split(/\s+/);
 6185    -1 		const strings = ids.map(id => {
 6186    -1 			const label = document.getElementById(id);
 6187    -1 			return label ? getName(label, true, true) : '';
 6188    -1 		});
 6189    -1 		ret = strings.join(' ');
 6190    -1 	} else if (el.matches('[aria-description]')) {
 6191    -1 		ret = el.getAttribute('aria-description');
 6192    -1 	} else if (el.matches('svg *')) {
 6193    -1 		const svgDesc = el.querySelector('desc');
 6194    -1 		if (svgDesc && svgDesc.parentElement === el) {
 6195    -1 			ret = svgDesc.textContent;
   -1  6166 		if (!ret.trim() && matches(el, 'button')) {
   -1  6167 			ret = el.value || '';
 6196  6168 		}
 6197    -1 	} else if (el.title) {
 6198    -1 		ret = el.title;
 6199    -1 	}
 6200    -1 	if (!ret.trim() && el.matches('a')) {
 6201    -1 		ret = el.getAttribute('xlink:title') || '';
 6202    -1 	}
 6203  6169 
 6204    -1 	ret = (ret || '').trim().replace(/\s+/g, ' ');
   -1  6170 		if (!ret.trim()) {
   -1  6171 			for (const selector in nameDefaults) {
   -1  6172 				if (el.matches(selector)) {
   -1  6173 					ret = nameDefaults[selector];
   -1  6174 				}
   -1  6175 			}
   -1  6176 		}
 6205  6177 
 6206    -1 	if (ret === getNameTrimmed(el)) {
 6207    -1 		ret = '';
 6208    -1 	}
   -1  6178 		// G/H
   -1  6179 		// handled in getContent
 6209  6180 
 6210    -1 	return ret;
 6211    -1 };
   -1  6181 		// I
   -1  6182 		if (!ret.trim()) {
   -1  6183 			ret = el.title || el.placeholder || '';
   -1  6184 		}
 6212  6185 
 6213    -1 module.exports = {
 6214    -1 	getName: getNameTrimmed,
 6215    -1 	getDescription: getDescription,
 6216    -1 };
   -1  6186 		// FIXME: not exactly sure about this, but it reduces the number of failing
   -1  6187 		// WPT tests. Whitespace is hard.
   -1  6188 		if (!ret.trim()) {
   -1  6189 			ret = ' ';
   -1  6190 		}
 6217  6191 
 6218    -1 },{"./atree.js":10,"./constants.js":12,"./query.js":14}],14:[function(require,module,exports){
 6219    -1 const attrs = require('./attrs.js');
 6220    -1 const atree = require('./atree.js');
   -1  6192 		const before = getPseudoContent(el, ':before');
   -1  6193 		const after = getPseudoContent(el, ':after');
   -1  6194 		return addSpaces(before + ret + after, el);
   -1  6195 	};
 6221  6196 
   -1  6197 	const getName = function(el) {
   -1  6198 		return getNameRaw(el)
   -1  6199 			.replace(/[ \n\r\t\f]+/g, ' ')
   -1  6200 			.replace(/^ /, '')
   -1  6201 			.replace(/ $/, '');
   -1  6202 	};
 6222  6203 
 6223    -1 const matches = function(el, selector) {
 6224    -1 	if (selector.substr(0, 1) === ':') {
 6225    -1 		const attr = selector.substr(1);
 6226    -1 		return attrs.getAttribute(el, attr);
 6227    -1 	} else if (selector.substr(0, 1) === '[') {
 6228    -1 		const match = /\[([a-z]+)="(.*)"\]/.exec(selector);
 6229    -1 		const actual = attrs.getAttribute(el, match[1]);
 6230    -1 		const rawValue = match[2];
 6231    -1 		return actual.toString() === rawValue;
 6232    -1 	} else {
 6233    -1 		return attrs.hasRole(el, selector.split(','));
 6234    -1 	}
 6235    -1 };
   -1  6204 	const getDescription = function(el) {
   -1  6205 		let ret = '';
 6236  6206 
 6237    -1 const _querySelector = function(all) {
 6238    -1 	return function(root, selector) {
 6239    -1 		const results = [];
 6240    -1 		try {
 6241    -1 			atree.walk(root, node => {
 6242    -1 				if (node.nodeType === node.ELEMENT_NODE) {
 6243    -1 					// FIXME: skip hidden elements
 6244    -1 					if (matches(node, selector)) {
 6245    -1 						results.push(node);
 6246    -1 						if (!all) {
 6247    -1 							throw 'StopIteration';
 6248    -1 						}
 6249    -1 					}
 6250    -1 				}
   -1  6207 		if (el.matches('[aria-describedby]')) {
   -1  6208 			const ids = el.getAttribute('aria-describedby').split(/\s+/);
   -1  6209 			const strings = ids.map(id => {
   -1  6210 				const label = document.getElementById(id);
   -1  6211 				return label ? getNameRaw(label, true, true) : '';
 6251  6212 			});
 6252    -1 		} catch (e) {
 6253    -1 			if (e !== 'StopIteration') {
 6254    -1 				throw e;
   -1  6213 			ret = strings.join(' ');
   -1  6214 		} else if (el.matches('[aria-description]')) {
   -1  6215 			ret = el.getAttribute('aria-description');
   -1  6216 		} else if (el.matches('svg *')) {
   -1  6217 			const svgDesc = el.querySelector('desc');
   -1  6218 			if (svgDesc && svgDesc.parentElement === el) {
   -1  6219 				ret = svgDesc.textContent;
 6255  6220 			}
   -1  6221 		} else if (el.title) {
   -1  6222 			ret = el.title;
 6256  6223 		}
 6257    -1 		return all ? results : results[0];
 6258    -1 	};
 6259    -1 };
   -1  6224 		if (!ret.trim() && el.matches('a')) {
   -1  6225 			ret = el.getAttribute('xlink:title') || '';
   -1  6226 		}
   -1  6227 
   -1  6228 		ret = (ret || '').trim().replace(/\s+/g, ' ');
 6260  6229 
 6261    -1 const closest = function(el, selector) {
 6262    -1 	return atree.searchUp(el, candidate => {
 6263    -1 		if (candidate.nodeType === candidate.ELEMENT_NODE) {
 6264    -1 			return matches(candidate, selector);
   -1  6230 		if (ret === getName(el)) {
   -1  6231 			ret = '';
 6265  6232 		}
 6266    -1 	});
 6267    -1 };
 6268  6233 
 6269    -1 module.exports = {
 6270    -1 	getRole: el => attrs.getRole(el),
 6271    -1 	getAttribute: attrs.getAttribute,
 6272    -1 	matches: matches,
 6273    -1 	querySelector: _querySelector(),
 6274    -1 	querySelectorAll: _querySelector(true),
 6275    -1 	closest: closest,
 6276    -1 };
   -1  6234 		return ret;
   -1  6235 	};
   -1  6236 
   -1  6237 	exports.closest = closest;
   -1  6238 	exports.getAttribute = getAttribute;
   -1  6239 	exports.getChildNodes = getChildNodes;
   -1  6240 	exports.getDescription = getDescription;
   -1  6241 	exports.getName = getName;
   -1  6242 	exports.getParentNode = getParentNode;
   -1  6243 	exports.getRole = getRole;
   -1  6244 	exports.matches = matches;
   -1  6245 	exports.querySelector = querySelector;
   -1  6246 	exports.querySelectorAll = querySelectorAll;
 6277  6247 
 6278    -1 },{"./atree.js":10,"./attrs.js":11}],15:[function(require,module,exports){
   -1  6248 }));
   -1  6249 
   -1  6250 },{}],10:[function(require,module,exports){
 6279  6251 (function (process,setImmediate){(function (){
 6280    -1 /*! axe v4.9.1
   -1  6252 /*! axe v4.10.2
 6281  6253  * Copyright (c) 2015 - 2024 Deque Systems, Inc.
 6282  6254  *
 6283  6255  * Your use of this Source Code Form is subject to the terms of the Mozilla Public
@@ -6301,7 +6273,7 @@ module.exports = {
 6301  6273     }, _typeof(o);
 6302  6274   }
 6303  6275   var axe = axe || {};
 6304    -1   axe.version = '4.9.1';
   -1  6276   axe.version = '4.10.2';
 6305  6277   if (typeof define === 'function' && define.amd) {
 6306  6278     define('axe-core', [], function() {
 6307  6279       return axe;
@@ -6329,22 +6301,16 @@ module.exports = {
 6329  6301   SupportError.prototype.constructor = SupportError;
 6330  6302   'use strict';
 6331  6303   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' ];
 6332    -1   function _toArray(arr) {
 6333    -1     return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest();
   -1  6304   function _toArray(r) {
   -1  6305     return _arrayWithHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableRest();
 6334  6306   }
 6335    -1   function _defineProperty(obj, key, value) {
 6336    -1     key = _toPropertyKey(key);
 6337    -1     if (key in obj) {
 6338    -1       Object.defineProperty(obj, key, {
 6339    -1         value: value,
 6340    -1         enumerable: true,
 6341    -1         configurable: true,
 6342    -1         writable: true
 6343    -1       });
 6344    -1     } else {
 6345    -1       obj[key] = value;
 6346    -1     }
 6347    -1     return obj;
   -1  6307   function _defineProperty(e, r, t) {
   -1  6308     return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
   -1  6309       value: t,
   -1  6310       enumerable: !0,
   -1  6311       configurable: !0,
   -1  6312       writable: !0
   -1  6313     }) : e[r] = t, e;
 6348  6314   }
 6349  6315   function _construct(t, e, r) {
 6350  6316     if (_isNativeReflectConstruct()) {
@@ -6358,19 +6324,20 @@ module.exports = {
 6358  6324   function _callSuper(t, o, e) {
 6359  6325     return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
 6360  6326   }
 6361    -1   function _possibleConstructorReturn(self, call) {
 6362    -1     if (call && (_typeof(call) === 'object' || typeof call === 'function')) {
 6363    -1       return call;
 6364    -1     } else if (call !== void 0) {
   -1  6327   function _possibleConstructorReturn(t, e) {
   -1  6328     if (e && ('object' == _typeof(e) || 'function' == typeof e)) {
   -1  6329       return e;
   -1  6330     }
   -1  6331     if (void 0 !== e) {
 6365  6332       throw new TypeError('Derived constructors may only return object or undefined');
 6366  6333     }
 6367    -1     return _assertThisInitialized(self);
   -1  6334     return _assertThisInitialized(t);
 6368  6335   }
 6369    -1   function _assertThisInitialized(self) {
 6370    -1     if (self === void 0) {
   -1  6336   function _assertThisInitialized(e) {
   -1  6337     if (void 0 === e) {
 6371  6338       throw new ReferenceError('this hasn\'t been initialised - super() hasn\'t been called');
 6372  6339     }
 6373    -1     return self;
   -1  6340     return e;
 6374  6341   }
 6375  6342   function _isNativeReflectConstruct() {
 6376  6343     try {
@@ -6380,47 +6347,38 @@ module.exports = {
 6380  6347       return !!t;
 6381  6348     })();
 6382  6349   }
 6383    -1   function _getPrototypeOf(o) {
 6384    -1     _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
 6385    -1       return o.__proto__ || Object.getPrototypeOf(o);
 6386    -1     };
 6387    -1     return _getPrototypeOf(o);
   -1  6350   function _getPrototypeOf(t) {
   -1  6351     return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(t) {
   -1  6352       return t.__proto__ || Object.getPrototypeOf(t);
   -1  6353     }, _getPrototypeOf(t);
 6388  6354   }
 6389    -1   function _inherits(subClass, superClass) {
 6390    -1     if (typeof superClass !== 'function' && superClass !== null) {
   -1  6355   function _inherits(t, e) {
   -1  6356     if ('function' != typeof e && null !== e) {
 6391  6357       throw new TypeError('Super expression must either be null or a function');
 6392  6358     }
 6393    -1     subClass.prototype = Object.create(superClass && superClass.prototype, {
   -1  6359     t.prototype = Object.create(e && e.prototype, {
 6394  6360       constructor: {
 6395    -1         value: subClass,
 6396    -1         writable: true,
 6397    -1         configurable: true
   -1  6361         value: t,
   -1  6362         writable: !0,
   -1  6363         configurable: !0
 6398  6364       }
 6399    -1     });
 6400    -1     Object.defineProperty(subClass, 'prototype', {
 6401    -1       writable: false
 6402    -1     });
 6403    -1     if (superClass) {
 6404    -1       _setPrototypeOf(subClass, superClass);
 6405    -1     }
   -1  6365     }), Object.defineProperty(t, 'prototype', {
   -1  6366       writable: !1
   -1  6367     }), e && _setPrototypeOf(t, e);
 6406  6368   }
 6407    -1   function _setPrototypeOf(o, p) {
 6408    -1     _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
 6409    -1       o.__proto__ = p;
 6410    -1       return o;
 6411    -1     };
 6412    -1     return _setPrototypeOf(o, p);
   -1  6369   function _setPrototypeOf(t, e) {
   -1  6370     return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(t, e) {
   -1  6371       return t.__proto__ = e, t;
   -1  6372     }, _setPrototypeOf(t, e);
 6413  6373   }
 6414    -1   function _classPrivateFieldInitSpec(obj, privateMap, value) {
 6415    -1     _checkPrivateRedeclaration(obj, privateMap);
 6416    -1     privateMap.set(obj, value);
   -1  6374   function _classPrivateFieldInitSpec(e, t, a) {
   -1  6375     _checkPrivateRedeclaration(e, t), t.set(e, a);
 6417  6376   }
 6418    -1   function _classPrivateMethodInitSpec(obj, privateSet) {
 6419    -1     _checkPrivateRedeclaration(obj, privateSet);
 6420    -1     privateSet.add(obj);
   -1  6377   function _classPrivateMethodInitSpec(e, a) {
   -1  6378     _checkPrivateRedeclaration(e, a), a.add(e);
 6421  6379   }
 6422    -1   function _checkPrivateRedeclaration(obj, privateCollection) {
 6423    -1     if (privateCollection.has(obj)) {
   -1  6380   function _checkPrivateRedeclaration(e, t) {
   -1  6381     if (t.has(e)) {
 6424  6382       throw new TypeError('Cannot initialize the same private elements twice on an object');
 6425  6383     }
 6426  6384   }
@@ -6436,75 +6394,63 @@ module.exports = {
 6436  6394     }
 6437  6395     throw new TypeError('Private element is not present on this object');
 6438  6396   }
 6439    -1   function _objectWithoutProperties(source, excluded) {
 6440    -1     if (source == null) {
   -1  6397   function _objectWithoutProperties(e, t) {
   -1  6398     if (null == e) {
 6441  6399       return {};
 6442  6400     }
 6443    -1     var target = _objectWithoutPropertiesLoose(source, excluded);
 6444    -1     var key, i;
   -1  6401     var o, r, i = _objectWithoutPropertiesLoose(e, t);
 6445  6402     if (Object.getOwnPropertySymbols) {
 6446    -1       var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
 6447    -1       for (i = 0; i < sourceSymbolKeys.length; i++) {
 6448    -1         key = sourceSymbolKeys[i];
 6449    -1         if (excluded.indexOf(key) >= 0) {
 6450    -1           continue;
 6451    -1         }
 6452    -1         if (!Object.prototype.propertyIsEnumerable.call(source, key)) {
 6453    -1           continue;
 6454    -1         }
 6455    -1         target[key] = source[key];
   -1  6403       var s = Object.getOwnPropertySymbols(e);
   -1  6404       for (r = 0; r < s.length; r++) {
   -1  6405         o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
 6456  6406       }
 6457  6407     }
 6458    -1     return target;
   -1  6408     return i;
 6459  6409   }
 6460    -1   function _objectWithoutPropertiesLoose(source, excluded) {
 6461    -1     if (source == null) {
   -1  6410   function _objectWithoutPropertiesLoose(r, e) {
   -1  6411     if (null == r) {
 6462  6412       return {};
 6463  6413     }
 6464    -1     var target = {};
 6465    -1     var sourceKeys = Object.keys(source);
 6466    -1     var key, i;
 6467    -1     for (i = 0; i < sourceKeys.length; i++) {
 6468    -1       key = sourceKeys[i];
 6469    -1       if (excluded.indexOf(key) >= 0) {
 6470    -1         continue;
   -1  6414     var t = {};
   -1  6415     for (var n in r) {
   -1  6416       if ({}.hasOwnProperty.call(r, n)) {
   -1  6417         if (e.includes(n)) {
   -1  6418           continue;
   -1  6419         }
   -1  6420         t[n] = r[n];
 6471  6421       }
 6472    -1       target[key] = source[key];
 6473  6422     }
 6474    -1     return target;
   -1  6423     return t;
 6475  6424   }
 6476    -1   function _toConsumableArray(arr) {
 6477    -1     return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
   -1  6425   function _toConsumableArray(r) {
   -1  6426     return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();
 6478  6427   }
 6479  6428   function _nonIterableSpread() {
 6480  6429     throw new TypeError('Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
 6481  6430   }
 6482    -1   function _iterableToArray(iter) {
 6483    -1     if (typeof Symbol !== 'undefined' && iter[Symbol.iterator] != null || iter['@@iterator'] != null) {
 6484    -1       return Array.from(iter);
   -1  6431   function _iterableToArray(r) {
   -1  6432     if ('undefined' != typeof Symbol && null != r[Symbol.iterator] || null != r['@@iterator']) {
   -1  6433       return Array.from(r);
 6485  6434     }
 6486  6435   }
 6487    -1   function _arrayWithoutHoles(arr) {
 6488    -1     if (Array.isArray(arr)) {
 6489    -1       return _arrayLikeToArray(arr);
   -1  6436   function _arrayWithoutHoles(r) {
   -1  6437     if (Array.isArray(r)) {
   -1  6438       return _arrayLikeToArray(r);
 6490  6439     }
 6491  6440   }
 6492  6441   function _extends() {
 6493    -1     _extends = Object.assign ? Object.assign.bind() : function(target) {
 6494    -1       for (var i = 1; i < arguments.length; i++) {
 6495    -1         var source = arguments[i];
 6496    -1         for (var key in source) {
 6497    -1           if (Object.prototype.hasOwnProperty.call(source, key)) {
 6498    -1             target[key] = source[key];
 6499    -1           }
   -1  6442     return _extends = Object.assign ? Object.assign.bind() : function(n) {
   -1  6443       for (var e = 1; e < arguments.length; e++) {
   -1  6444         var t = arguments[e];
   -1  6445         for (var r in t) {
   -1  6446           ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
 6500  6447         }
 6501  6448       }
 6502    -1       return target;
 6503    -1     };
 6504    -1     return _extends.apply(this, arguments);
   -1  6449       return n;
   -1  6450     }, _extends.apply(null, arguments);
 6505  6451   }
 6506    -1   function _slicedToArray(arr, i) {
 6507    -1     return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
   -1  6452   function _slicedToArray(r, e) {
   -1  6453     return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
 6508  6454   }
 6509  6455   function _nonIterableRest() {
 6510  6456     throw new TypeError('Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
@@ -6538,38 +6484,28 @@ module.exports = {
 6538  6484       return a;
 6539  6485     }
 6540  6486   }
 6541    -1   function _arrayWithHoles(arr) {
 6542    -1     if (Array.isArray(arr)) {
 6543    -1       return arr;
   -1  6487   function _arrayWithHoles(r) {
   -1  6488     if (Array.isArray(r)) {
   -1  6489       return r;
 6544  6490     }
 6545  6491   }
 6546    -1   function _classCallCheck(instance, Constructor) {
 6547    -1     if (!(instance instanceof Constructor)) {
   -1  6492   function _classCallCheck(a, n) {
   -1  6493     if (!(a instanceof n)) {
 6548  6494       throw new TypeError('Cannot call a class as a function');
 6549  6495     }
 6550  6496   }
 6551    -1   function _defineProperties(target, props) {
 6552    -1     for (var i = 0; i < props.length; i++) {
 6553    -1       var descriptor = props[i];
 6554    -1       descriptor.enumerable = descriptor.enumerable || false;
 6555    -1       descriptor.configurable = true;
 6556    -1       if ('value' in descriptor) {
 6557    -1         descriptor.writable = true;
 6558    -1       }
 6559    -1       Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);
   -1  6497   function _defineProperties(e, r) {
   -1  6498     for (var t = 0; t < r.length; t++) {
   -1  6499       var o = r[t];
   -1  6500       o.enumerable = o.enumerable || !1, o.configurable = !0, 'value' in o && (o.writable = !0), 
   -1  6501       Object.defineProperty(e, _toPropertyKey(o.key), o);
 6560  6502     }
 6561  6503   }
 6562    -1   function _createClass(Constructor, protoProps, staticProps) {
 6563    -1     if (protoProps) {
 6564    -1       _defineProperties(Constructor.prototype, protoProps);
 6565    -1     }
 6566    -1     if (staticProps) {
 6567    -1       _defineProperties(Constructor, staticProps);
 6568    -1     }
 6569    -1     Object.defineProperty(Constructor, 'prototype', {
 6570    -1       writable: false
 6571    -1     });
 6572    -1     return Constructor;
   -1  6504   function _createClass(e, r, t) {
   -1  6505     return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), 
   -1  6506     Object.defineProperty(e, 'prototype', {
   -1  6507       writable: !1
   -1  6508     }), e;
 6573  6509   }
 6574  6510   function _toPropertyKey(t) {
 6575  6511     var i = _toPrimitive(t, 'string');
@@ -6589,89 +6525,68 @@ module.exports = {
 6589  6525     }
 6590  6526     return ('string' === r ? String : Number)(t);
 6591  6527   }
 6592    -1   function _createForOfIteratorHelper(o, allowArrayLike) {
 6593    -1     var it = typeof Symbol !== 'undefined' && o[Symbol.iterator] || o['@@iterator'];
 6594    -1     if (!it) {
 6595    -1       if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === 'number') {
 6596    -1         if (it) {
 6597    -1           o = it;
 6598    -1         }
 6599    -1         var i = 0;
 6600    -1         var F = function F() {};
   -1  6528   function _createForOfIteratorHelper(r, e) {
   -1  6529     var t = 'undefined' != typeof Symbol && r[Symbol.iterator] || r['@@iterator'];
   -1  6530     if (!t) {
   -1  6531       if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && 'number' == typeof r.length) {
   -1  6532         t && (r = t);
   -1  6533         var _n = 0, F = function F() {};
 6601  6534         return {
 6602  6535           s: F,
 6603  6536           n: function n() {
 6604    -1             if (i >= o.length) {
 6605    -1               return {
 6606    -1                 done: true
 6607    -1               };
 6608    -1             }
 6609    -1             return {
 6610    -1               done: false,
 6611    -1               value: o[i++]
   -1  6537             return _n >= r.length ? {
   -1  6538               done: !0
   -1  6539             } : {
   -1  6540               done: !1,
   -1  6541               value: r[_n++]
 6612  6542             };
 6613  6543           },
 6614    -1           e: function e(_e) {
 6615    -1             throw _e;
   -1  6544           e: function e(r) {
   -1  6545             throw r;
 6616  6546           },
 6617  6547           f: F
 6618  6548         };
 6619  6549       }
 6620  6550       throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
 6621  6551     }
 6622    -1     var normalCompletion = true, didErr = false, err;
   -1  6552     var o, a = !0, u = !1;
 6623  6553     return {
 6624  6554       s: function s() {
 6625    -1         it = it.call(o);
   -1  6555         t = t.call(r);
 6626  6556       },
 6627  6557       n: function n() {
 6628    -1         var step = it.next();
 6629    -1         normalCompletion = step.done;
 6630    -1         return step;
   -1  6558         var r = t.next();
   -1  6559         return a = r.done, r;
 6631  6560       },
 6632    -1       e: function e(_e2) {
 6633    -1         didErr = true;
 6634    -1         err = _e2;
   -1  6561       e: function e(r) {
   -1  6562         u = !0, o = r;
 6635  6563       },
 6636  6564       f: function f() {
 6637  6565         try {
 6638    -1           if (!normalCompletion && it['return'] != null) {
 6639    -1             it['return']();
 6640    -1           }
   -1  6566           a || null == t['return'] || t['return']();
 6641  6567         } finally {
 6642    -1           if (didErr) {
 6643    -1             throw err;
   -1  6568           if (u) {
   -1  6569             throw o;
 6644  6570           }
 6645  6571         }
 6646  6572       }
 6647  6573     };
 6648  6574   }
 6649    -1   function _unsupportedIterableToArray(o, minLen) {
 6650    -1     if (!o) {
 6651    -1       return;
 6652    -1     }
 6653    -1     if (typeof o === 'string') {
 6654    -1       return _arrayLikeToArray(o, minLen);
 6655    -1     }
 6656    -1     var n = Object.prototype.toString.call(o).slice(8, -1);
 6657    -1     if (n === 'Object' && o.constructor) {
 6658    -1       n = o.constructor.name;
 6659    -1     }
 6660    -1     if (n === 'Map' || n === 'Set') {
 6661    -1       return Array.from(o);
 6662    -1     }
 6663    -1     if (n === 'Arguments' || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {
 6664    -1       return _arrayLikeToArray(o, minLen);
   -1  6575   function _unsupportedIterableToArray(r, a) {
   -1  6576     if (r) {
   -1  6577       if ('string' == typeof r) {
   -1  6578         return _arrayLikeToArray(r, a);
   -1  6579       }
   -1  6580       var t = {}.toString.call(r).slice(8, -1);
   -1  6581       return 'Object' === t && r.constructor && (t = r.constructor.name), 'Map' === t || 'Set' === t ? Array.from(r) : 'Arguments' === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
 6665  6582     }
 6666  6583   }
 6667    -1   function _arrayLikeToArray(arr, len) {
 6668    -1     if (len == null || len > arr.length) {
 6669    -1       len = arr.length;
 6670    -1     }
 6671    -1     for (var i = 0, arr2 = new Array(len); i < len; i++) {
 6672    -1       arr2[i] = arr[i];
   -1  6584   function _arrayLikeToArray(r, a) {
   -1  6585     (null == a || a > r.length) && (a = r.length);
   -1  6586     for (var e = 0, n = Array(a); e < a; e++) {
   -1  6587       n[e] = r[e];
 6673  6588     }
 6674    -1     return arr2;
   -1  6589     return n;
 6675  6590   }
 6676  6591   function _typeof(o) {
 6677  6592     '@babel/helpers - typeof';
@@ -6681,7 +6596,7 @@ module.exports = {
 6681  6596       return o && 'function' == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? 'symbol' : typeof o;
 6682  6597     }, _typeof(o);
 6683  6598   }
 6684    -1   (function(_Class_brand, _path, _space, _r, _g, _b, _red, _green, _blue, _Class3_brand) {
   -1  6599   (function(_Class_brand, _path, _CSS, _space, _r, _g, _b, _red, _green, _blue, _Class3_brand) {
 6685  6600     var __create = Object.create;
 6686  6601     var __defProp = Object.defineProperty;
 6687  6602     var __getProtoOf = Object.getPrototypeOf;
@@ -11620,8 +11535,8 @@ module.exports = {
11620 11535       var createNonEnumerableProperty = require_create_non_enumerable_property();
11621 11536       var hasOwn2 = require_has_own_property();
11622 11537       var wrapConstructor = function wrapConstructor(NativeConstructor) {
11623    -1         var Wrapper = function Wrapper(a2, b2, c4) {
11624    -1           if (this instanceof Wrapper) {
   -1 11538         var _Wrapper = function Wrapper(a2, b2, c4) {
   -1 11539           if (this instanceof _Wrapper) {
11625 11540             switch (arguments.length) {
11626 11541              case 0:
11627 11542               return new NativeConstructor();
@@ -11636,8 +11551,8 @@ module.exports = {
11636 11551           }
11637 11552           return apply(NativeConstructor, this, arguments);
11638 11553         };
11639    -1         Wrapper.prototype = NativeConstructor.prototype;
11640    -1         return Wrapper;
   -1 11554         _Wrapper.prototype = NativeConstructor.prototype;
   -1 11555         return _Wrapper;
11641 11556       };
11642 11557       module.exports = function(options, source) {
11643 11558         var TARGET = options.target;
@@ -12999,6 +12914,7 @@ module.exports = {
12999 12914     var constants = {
13000 12915       helpUrlBase: 'https://dequeuniversity.com/rules/',
13001 12916       gridSize: 200,
   -1 12917       selectorSimilarFilterLimit: 700,
13002 12918       results: [],
13003 12919       resultGroups: [],
13004 12920       resultGroupMap: {},
@@ -13183,7 +13099,7 @@ module.exports = {
13183 13099         return get_scroll_state_default;
13184 13100       },
13185 13101       getSelector: function getSelector() {
13186    -1         return _getSelector;
   -1 13102         return get_selector_default;
13187 13103       },
13188 13104       getSelectorData: function getSelectorData() {
13189 13105         return _getSelectorData;
@@ -13203,12 +13119,30 @@ module.exports = {
13203 13119       injectStyle: function injectStyle() {
13204 13120         return inject_style_default;
13205 13121       },
   -1 13122       isArrayLike: function isArrayLike() {
   -1 13123         return _isArrayLike;
   -1 13124       },
   -1 13125       isContextObject: function isContextObject() {
   -1 13126         return _isContextObject;
   -1 13127       },
   -1 13128       isContextProp: function isContextProp() {
   -1 13129         return _isContextProp;
   -1 13130       },
   -1 13131       isContextSpec: function isContextSpec() {
   -1 13132         return _isContextSpec;
   -1 13133       },
13206 13134       isHidden: function isHidden() {
13207 13135         return is_hidden_default;
13208 13136       },
13209 13137       isHtmlElement: function isHtmlElement() {
13210 13138         return is_html_element_default;
13211 13139       },
   -1 13140       isLabelledFramesSelector: function isLabelledFramesSelector() {
   -1 13141         return _isLabelledFramesSelector;
   -1 13142       },
   -1 13143       isLabelledShadowDomSelector: function isLabelledShadowDomSelector() {
   -1 13144         return _isLabelledShadowDomSelector;
   -1 13145       },
13212 13146       isNodeInContext: function isNodeInContext() {
13213 13147         return _isNodeInContext;
13214 13148       },
@@ -13248,6 +13182,9 @@ module.exports = {
13248 13182       nodeSorter: function nodeSorter() {
13249 13183         return node_sorter_default;
13250 13184       },
   -1 13185       objectHasOwn: function objectHasOwn() {
   -1 13186         return _objectHasOwn;
   -1 13187       },
13251 13188       parseCrossOriginStylesheet: function parseCrossOriginStylesheet() {
13252 13189         return parse_crossorigin_stylesheet_default;
13253 13190       },
@@ -13648,7 +13585,9 @@ module.exports = {
13648 13585     var matchesSelector = function() {
13649 13586       var method;
13650 13587       function getMethod(node) {
13651    -1         var index, candidate, candidates = [ 'matches', 'matchesSelector', 'mozMatchesSelector', 'webkitMatchesSelector', 'msMatchesSelector' ], length = candidates.length;
   -1 13588         var candidates = [ 'matches', 'matchesSelector', 'mozMatchesSelector', 'webkitMatchesSelector', 'msMatchesSelector' ];
   -1 13589         var length = candidates.length;
   -1 13590         var index, candidate;
13652 13591         for (index = 0; index < length; index++) {
13653 13592           candidate = candidates[index];
13654 13593           if (node[candidate]) {
@@ -13909,8 +13848,8 @@ module.exports = {
13909 13848         } else {
13910 13849           selector = features;
13911 13850         }
13912    -1         if (!similar) {
13913    -1           similar = Array.from(doc.querySelectorAll(selector));
   -1 13851         if (!similar || similar.length > constants_default.selectorSimilarFilterLimit) {
   -1 13852           similar = findSimilar(doc, selector);
13914 13853         } else {
13915 13854           similar = similar.filter(function(item) {
13916 13855             return element_matches_default(item, selector);
@@ -13925,21 +13864,26 @@ module.exports = {
13925 13864       }
13926 13865       return ':root';
13927 13866     }
13928    -1     function _getSelector(elm, options) {
   -1 13867     function getSelector(elm, options) {
13929 13868       return _getShadowSelector(generateSelector, elm, options);
13930 13869     }
   -1 13870     var get_selector_default = memoize_default(getSelector);
   -1 13871     var findSimilar = memoize_default(function(doc, selector) {
   -1 13872       return Array.from(doc.querySelectorAll(selector));
   -1 13873     });
13931 13874     function generateAncestry(node) {
13932 13875       var nodeName2 = node.nodeName.toLowerCase();
13933    -1       var parent = node.parentElement;
13934    -1       if (!parent) {
13935    -1         return nodeName2;
13936    -1       }
   -1 13876       var parentElement = node.parentElement;
   -1 13877       var parentNode = node.parentNode;
13937 13878       var nthChild = '';
13938    -1       if (nodeName2 !== 'head' && nodeName2 !== 'body' && parent.children.length > 1) {
13939    -1         var index = Array.prototype.indexOf.call(parent.children, node) + 1;
   -1 13879       if (nodeName2 !== 'head' && nodeName2 !== 'body' && (parentNode === null || parentNode === void 0 ? void 0 : parentNode.children.length) > 1) {
   -1 13880         var index = Array.prototype.indexOf.call(parentNode.children, node) + 1;
13940 13881         nthChild = ':nth-child('.concat(index, ')');
13941 13882       }
13942    -1       return generateAncestry(parent) + ' > ' + nodeName2 + nthChild;
   -1 13883       if (!parentElement) {
   -1 13884         return nodeName2 + nthChild;
   -1 13885       }
   -1 13886       return generateAncestry(parentElement) + ' > ' + nodeName2 + nthChild;
13943 13887     }
13944 13888     function _getAncestry(elm, options) {
13945 13889       return _getShadowSelector(generateAncestry, elm, options);
@@ -14065,10 +14009,10 @@ module.exports = {
14065 14009       }
14066 14010       return truncate(source || '');
14067 14011     }
14068    -1     function DqElement(elm) {
14069    -1       var _this$spec$selector, _this$_virtualNode;
14070    -1       var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
14071    -1       var spec = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
   -1 14012     var DqElement = memoize_default(function DqElement2(elm, options, spec) {
   -1 14013       var _options, _spec, _this$spec$selector, _this$_virtualNode;
   -1 14014       (_options = options) !== null && _options !== void 0 ? _options : options = null;
   -1 14015       (_spec = spec) !== null && _spec !== void 0 ? _spec : spec = {};
14072 14016       if (!options) {
14073 14017         var _cache_default$get;
14074 14018         options = (_cache_default$get = cache_default.get(CACHE_KEY)) !== null && _cache_default$get !== void 0 ? _cache_default$get : {};
@@ -14099,10 +14043,11 @@ module.exports = {
14099 14043         var _this$spec$source;
14100 14044         this.source = (_this$spec$source = this.spec.source) !== null && _this$spec$source !== void 0 ? _this$spec$source : getSource(this._element);
14101 14045       }
14102    -1     }
   -1 14046       return this;
   -1 14047     });
14103 14048     DqElement.prototype = {
14104 14049       get selector() {
14105    -1         return this.spec.selector || [ _getSelector(this.element, this._options) ];
   -1 14050         return this.spec.selector || [ get_selector_default(this.element, this._options) ];
14106 14051       },
14107 14052       get ancestry() {
14108 14053         return this.spec.ancestry || [ _getAncestry(this.element) ];
@@ -14533,15 +14478,14 @@ module.exports = {
14533 14478     var _rng;
14534 14479     var _crypto = window.crypto || window.msCrypto;
14535 14480     if (!_rng && _crypto && _crypto.getRandomValues) {
14536    -1       _rnds8 = new Uint8Array(16);
   -1 14481       var _rnds8 = new Uint8Array(16);
14537 14482       _rng = function whatwgRNG() {
14538 14483         _crypto.getRandomValues(_rnds8);
14539 14484         return _rnds8;
14540 14485       };
14541 14486     }
14542    -1     var _rnds8;
14543 14487     if (!_rng) {
14544    -1       _rnds = new Array(16);
   -1 14488       var _rnds = new Array(16);
14545 14489       _rng = function _rng() {
14546 14490         for (var i = 0, r; i < 16; i++) {
14547 14491           if ((i & 3) === 0) {
@@ -14552,7 +14496,6 @@ module.exports = {
14552 14496         return _rnds;
14553 14497       };
14554 14498     }
14555    -1     var _rnds;
14556 14499     var BufferClass = typeof window.Buffer == 'function' ? window.Buffer : Array;
14557 14500     var _byteToHex = [];
14558 14501     var _hexToByte = {};
@@ -14671,7 +14614,7 @@ module.exports = {
14671 14614       var data;
14672 14615       try {
14673 14616         data = JSON.parse(dataString);
14674    -1       } catch (e) {
   -1 14617       } catch (_unused) {
14675 14618         return;
14676 14619       }
14677 14620       if (!isRespondableMessage(data)) {
@@ -14977,7 +14920,7 @@ module.exports = {
14977 14920     function err(message, node) {
14978 14921       var selector;
14979 14922       if (axe._tree) {
14980    -1         selector = _getSelector(node);
   -1 14923         selector = get_selector_default(node);
14981 14924       }
14982 14925       return new Error(message + ': ' + (selector || node));
14983 14926     }
@@ -15074,8 +15017,9 @@ module.exports = {
15074 15017     }
15075 15018     function spliceNodes(target, to2) {
15076 15019       var firstFromFrame = to2[0].node;
   -1 15020       var node;
15077 15021       for (var _i3 = 0; _i3 < target.length; _i3++) {
15078    -1         var node = target[_i3].node;
   -1 15022         node = target[_i3].node;
15079 15023         var resultSort = nodeIndexSort(node.nodeIndexes, firstFromFrame.nodeIndexes);
15080 15024         if (resultSort > 0 || resultSort === 0 && firstFromFrame.selector.length < node.selector.length) {
15081 15025           target.splice.apply(target, [ _i3, 0 ].concat(_toConsumableArray(to2)));
@@ -15229,7 +15173,7 @@ module.exports = {
15229 15173         to2[prop] = null;
15230 15174         try {
15231 15175           to2[prop] = from[prop](to2);
15232    -1         } catch (e) {}
   -1 15176         } catch (_unused2) {}
15233 15177       });
15234 15178     }
15235 15179     var extend_meta_data_default = extendMetaData;
@@ -16788,7 +16732,7 @@ module.exports = {
16788 16732           }
16789 16733         }
16790 16734         return result;
16791    -1       } catch (e) {
   -1 16735       } catch (_unused3) {
16792 16736         throw new TypeError('Cannot resolve id references for non-DOM nodes');
16793 16737       }
16794 16738     }
@@ -18051,7 +17995,7 @@ module.exports = {
18051 17995       },
18052 17996       form: {
18053 17997         contentTypes: [ 'flow' ],
18054    -1         allowedRoles: [ 'search', 'none', 'presentation' ]
   -1 17998         allowedRoles: [ 'form', 'search', 'none', 'presentation' ]
18055 17999       },
18056 18000       h1: {
18057 18001         contentTypes: [ 'heading', 'flow' ],
@@ -18806,20 +18750,20 @@ module.exports = {
18806 18750     function toGrid(node) {
18807 18751       var table = [];
18808 18752       var rows = node.rows;
18809    -1       for (var i = 0, rowLength = rows.length; i < rowLength; i++) {
18810    -1         var cells = rows[i].cells;
18811    -1         table[i] = table[i] || [];
   -1 18753       for (var _i9 = 0, rowLength = rows.length; _i9 < rowLength; _i9++) {
   -1 18754         var cells = rows[_i9].cells;
   -1 18755         table[_i9] = table[_i9] || [];
18812 18756         var columnIndex = 0;
18813 18757         for (var j = 0, cellLength = cells.length; j < cellLength; j++) {
18814 18758           for (var colSpan = 0; colSpan < cells[j].colSpan; colSpan++) {
18815 18759             var rowspanAttr = cells[j].getAttribute('rowspan');
18816 18760             var rowspanValue = parseInt(rowspanAttr) === 0 || cells[j].rowspan === 0 ? rows.length : cells[j].rowSpan;
18817 18761             for (var rowSpan = 0; rowSpan < rowspanValue; rowSpan++) {
18818    -1               table[i + rowSpan] = table[i + rowSpan] || [];
18819    -1               while (table[i + rowSpan][columnIndex]) {
   -1 18762               table[_i9 + rowSpan] = table[_i9 + rowSpan] || [];
   -1 18763               while (table[_i9 + rowSpan][columnIndex]) {
18820 18764                 columnIndex++;
18821 18765               }
18822    -1               table[i + rowSpan][columnIndex] = cells[j];
   -1 18766               table[_i9 + rowSpan][columnIndex] = cells[j];
18823 18767             }
18824 18768             columnIndex++;
18825 18769           }
@@ -18897,17 +18841,21 @@ module.exports = {
18897 18841       return str.replace(/\r\n/g, '\n').replace(/\u00A0/g, ' ').replace(/[\s]{2,}/g, ' ').trim();
18898 18842     }
18899 18843     var sanitize_default = sanitize;
18900    -1     var getSectioningElementSelector = function getSectioningElementSelector() {
18901    -1       return cache_default.get('sectioningElementSelector', function() {
   -1 18844     var getSectioningContentSelector = function getSectioningContentSelector() {
   -1 18845       return cache_default.get('sectioningContentSelector', function() {
18902 18846         return get_elements_by_content_type_default('sectioning').map(function(nodeName2) {
18903 18847           return ''.concat(nodeName2, ':not([role])');
18904    -1         }).join(', ') + ' , main:not([role]), [role=article], [role=complementary], [role=main], [role=navigation], [role=region]';
   -1 18848         }).join(', ') + ' , [role=article], [role=complementary], [role=navigation], [role=region]';
   -1 18849       });
   -1 18850     };
   -1 18851     var getSectioningContentPlusMainSelector = function getSectioningContentPlusMainSelector() {
   -1 18852       return cache_default.get('sectioningContentPlusMainSelector', function() {
   -1 18853         return getSectioningContentSelector() + ' , main:not([role]), [role=main]';
18905 18854       });
18906 18855     };
18907 18856     function hasAccessibleName(vNode) {
18908    -1       var ariaLabelledby = sanitize_default(arialabelledby_text_default(vNode));
18909    -1       var ariaLabel = sanitize_default(_arialabelText(vNode));
18910    -1       return !!(ariaLabelledby || ariaLabel);
   -1 18857       var _ref28 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref28$checkTitle = _ref28.checkTitle, checkTitle = _ref28$checkTitle === void 0 ? false : _ref28$checkTitle;
   -1 18858       return !!(sanitize_default(arialabelledby_text_default(vNode)) || sanitize_default(_arialabelText(vNode)) || checkTitle && (vNode === null || vNode === void 0 ? void 0 : vNode.props.nodeType) === 1 && sanitize_default(vNode.attr('title')));
18911 18859     }
18912 18860     var implicitHtmlRoles = {
18913 18861       a: function a(vNode) {
@@ -18917,7 +18865,14 @@ module.exports = {
18917 18865         return vNode.hasAttr('href') ? 'link' : null;
18918 18866       },
18919 18867       article: 'article',
18920    -1       aside: 'complementary',
   -1 18868       aside: function aside(vNode) {
   -1 18869         if (closest_default(vNode.parent, getSectioningContentSelector()) && !hasAccessibleName(vNode, {
   -1 18870           checkTitle: true
   -1 18871         })) {
   -1 18872           return null;
   -1 18873         }
   -1 18874         return 'complementary';
   -1 18875       },
18921 18876       body: 'document',
18922 18877       button: 'button',
18923 18878       datalist: 'listbox',
@@ -18929,7 +18884,7 @@ module.exports = {
18929 18884       fieldset: 'group',
18930 18885       figure: 'figure',
18931 18886       footer: function footer(vNode) {
18932    -1         var sectioningElement = closest_default(vNode, getSectioningElementSelector());
   -1 18887         var sectioningElement = closest_default(vNode, getSectioningContentPlusMainSelector());
18933 18888         return !sectioningElement ? 'contentinfo' : null;
18934 18889       },
18935 18890       form: function form(vNode) {
@@ -18942,7 +18897,7 @@ module.exports = {
18942 18897       h5: 'heading',
18943 18898       h6: 'heading',
18944 18899       header: function header(vNode) {
18945    -1         var sectioningElement = closest_default(vNode, getSectioningElementSelector());
   -1 18900         var sectioningElement = closest_default(vNode, getSectioningContentPlusMainSelector());
18946 18901         return !sectioningElement ? 'banner' : null;
18947 18902       },
18948 18903       hr: 'separator',
@@ -19150,7 +19105,7 @@ module.exports = {
19150 19105     matches_default.semanticRole = semantic_role_default;
19151 19106     var matches_default2 = matches_default;
19152 19107     function getElementSpec(vNode) {
19153    -1       var _ref28 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref28$noMatchAccessi = _ref28.noMatchAccessibleName, noMatchAccessibleName = _ref28$noMatchAccessi === void 0 ? false : _ref28$noMatchAccessi;
   -1 19108       var _ref29 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref29$noMatchAccessi = _ref29.noMatchAccessibleName, noMatchAccessibleName = _ref29$noMatchAccessi === void 0 ? false : _ref29$noMatchAccessi;
19154 19109       var standard = standards_default.htmlElms[vNode.props.nodeName];
19155 19110       if (!standard) {
19156 19111         return {};
@@ -19165,8 +19120,8 @@ module.exports = {
19165 19120         }
19166 19121         var _variant$variantName = variant[variantName], matches4 = _variant$variantName.matches, props = _objectWithoutProperties(_variant$variantName, _excluded5);
19167 19122         var matchProperties = Array.isArray(matches4) ? matches4 : [ matches4 ];
19168    -1         for (var _i9 = 0; _i9 < matchProperties.length && noMatchAccessibleName; _i9++) {
19169    -1           if (matchProperties[_i9].hasOwnProperty('hasAccessibleName')) {
   -1 19123         for (var _i10 = 0; _i10 < matchProperties.length && noMatchAccessibleName; _i10++) {
   -1 19124           if (matchProperties[_i10].hasOwnProperty('hasAccessibleName')) {
19170 19125             return standard;
19171 19126           }
19172 19127         }
@@ -19187,7 +19142,7 @@ module.exports = {
19187 19142     }
19188 19143     var get_element_spec_default = getElementSpec;
19189 19144     function implicitRole2(node) {
19190    -1       var _ref29 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, chromium = _ref29.chromium;
   -1 19145       var _ref30 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, chromium = _ref30.chromium;
19191 19146       var vNode = node instanceof abstract_virtual_node_default ? node : get_node_from_tree_default(node);
19192 19147       node = vNode.actualNode;
19193 19148       if (!vNode) {
@@ -19240,8 +19195,8 @@ module.exports = {
19240 19195       }
19241 19196       return getInheritedRole(vNode.parent, explicitRoleOptions);
19242 19197     }
19243    -1     function resolveImplicitRole(vNode, _ref30) {
19244    -1       var chromium = _ref30.chromium, explicitRoleOptions = _objectWithoutProperties(_ref30, _excluded6);
   -1 19198     function resolveImplicitRole(vNode, _ref31) {
   -1 19199       var chromium = _ref31.chromium, explicitRoleOptions = _objectWithoutProperties(_ref31, _excluded6);
19245 19200       var implicitRole3 = implicit_role_default(vNode, {
19246 19201         chromium: chromium
19247 19202       });
@@ -19261,8 +19216,8 @@ module.exports = {
19261 19216       return hasGlobalAria || _isFocusable(vNode);
19262 19217     }
19263 19218     function resolveRole(node) {
19264    -1       var _ref31 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
19265    -1       var noImplicit = _ref31.noImplicit, roleOptions = _objectWithoutProperties(_ref31, _excluded7);
   -1 19219       var _ref32 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
   -1 19220       var noImplicit = _ref32.noImplicit, roleOptions = _objectWithoutProperties(_ref32, _excluded7);
19266 19221       var _nodeLookup10 = _nodeLookup(node), vNode = _nodeLookup10.vNode;
19267 19222       if (vNode.props.nodeType !== 1) {
19268 19223         return null;
@@ -19280,8 +19235,8 @@ module.exports = {
19280 19235       return explicitRole2;
19281 19236     }
19282 19237     function getRole(node) {
19283    -1       var _ref32 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
19284    -1       var noPresentational = _ref32.noPresentational, options = _objectWithoutProperties(_ref32, _excluded8);
   -1 19238       var _ref33 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
   -1 19239       var noPresentational = _ref33.noPresentational, options = _objectWithoutProperties(_ref33, _excluded8);
19285 19240       var role = resolveRole(node, options);
19286 19241       if (noPresentational && [ 'presentation', 'none' ].includes(role)) {
19287 19242         return null;
@@ -19302,7 +19257,7 @@ module.exports = {
19302 19257     }
19303 19258     var title_text_default = titleText;
19304 19259     function namedFromContents(vNode) {
19305    -1       var _ref33 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, strict = _ref33.strict;
   -1 19260       var _ref34 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, strict = _ref34.strict;
19306 19261       vNode = vNode instanceof abstract_virtual_node_default ? vNode : get_node_from_tree_default(vNode);
19307 19262       if (vNode.props.nodeType !== 1) {
19308 19263         return false;
@@ -19601,13 +19556,11 @@ module.exports = {
19601 19556       button: ''
19602 19557     };
19603 19558     var nativeTextMethods = {
19604    -1       valueText: function valueText(_ref34) {
19605    -1         var actualNode = _ref34.actualNode;
19606    -1         return actualNode.value || '';
   -1 19559       valueText: function valueText(vNode) {
   -1 19560         return vNode.props.value || '';
19607 19561       },
19608    -1       buttonDefaultText: function buttonDefaultText(_ref35) {
19609    -1         var actualNode = _ref35.actualNode;
19610    -1         return defaultButtonValues[actualNode.type] || '';
   -1 19562       buttonDefaultText: function buttonDefaultText(vNode) {
   -1 19563         return defaultButtonValues[vNode.props.type] || '';
19611 19564       },
19612 19565       tableCaptionText: descendantText.bind(null, 'caption'),
19613 19566       figureText: descendantText.bind(null, 'figcaption'),
@@ -19626,8 +19579,8 @@ module.exports = {
19626 19579     function attrText(attr, vNode) {
19627 19580       return vNode.attr(attr) || '';
19628 19581     }
19629    -1     function descendantText(nodeName2, _ref36, context) {
19630    -1       var actualNode = _ref36.actualNode;
   -1 19582     function descendantText(nodeName2, _ref35, context) {
   -1 19583       var actualNode = _ref35.actualNode;
19631 19584       nodeName2 = nodeName2.toLowerCase();
19632 19585       var nodeNames2 = [ nodeName2, actualNode.nodeName.toLowerCase() ].join(',');
19633 19586       var candidate = actualNode.querySelector(nodeNames2);
@@ -19674,7 +19627,7 @@ module.exports = {
19674 19627       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;
19675 19628     }
19676 19629     var emoji_regex_default = function emoji_regex_default() {
19677    -1       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;
   -1 19630       return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\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](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\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(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\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-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\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;
19678 19631     };
19679 19632     function hasUnicode(str, options) {
19680 19633       var emoji = options.emoji, nonBmp = options.nonBmp, punctuations = options.punctuations;
@@ -19895,7 +19848,7 @@ module.exports = {
19895 19848       locations: [ 'billing', 'shipping' ]
19896 19849     };
19897 19850     function isValidAutocomplete(autocompleteValue) {
19898    -1       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;
   -1 19851       var _ref36 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref36$looseTyped = _ref36.looseTyped, looseTyped = _ref36$looseTyped === void 0 ? false : _ref36$looseTyped, _ref36$stateTerms = _ref36.stateTerms, stateTerms = _ref36$stateTerms === void 0 ? [] : _ref36$stateTerms, _ref36$locations = _ref36.locations, locations = _ref36$locations === void 0 ? [] : _ref36$locations, _ref36$qualifiers = _ref36.qualifiers, qualifiers = _ref36$qualifiers === void 0 ? [] : _ref36$qualifiers, _ref36$standaloneTerm = _ref36.standaloneTerms, standaloneTerms = _ref36$standaloneTerm === void 0 ? [] : _ref36$standaloneTerm, _ref36$qualifiedTerms = _ref36.qualifiedTerms, qualifiedTerms = _ref36$qualifiedTerms === void 0 ? [] : _ref36$qualifiedTerms, _ref36$ignoredValues = _ref36.ignoredValues, ignoredValues = _ref36$ignoredValues === void 0 ? [] : _ref36$ignoredValues;
19899 19852       autocompleteValue = autocompleteValue.toLowerCase().trim();
19900 19853       stateTerms = stateTerms.concat(_autocomplete.stateTerms);
19901 19854       if (stateTerms.includes(autocompleteValue) || autocompleteValue === '') {
@@ -19928,6 +19881,9 @@ module.exports = {
19928 19881         }
19929 19882       }
19930 19883       var purposeTerm = autocompleteTerms[autocompleteTerms.length - 1];
   -1 19884       if (ignoredValues.includes(purposeTerm)) {
   -1 19885         return void 0;
   -1 19886       }
19931 19887       return standaloneTerms.includes(purposeTerm) || qualifiedTerms.includes(purposeTerm);
19932 19888     }
19933 19889     var is_valid_autocomplete_default = isValidAutocomplete;
@@ -20160,8 +20116,8 @@ module.exports = {
20160 20116       if (hiddenTextElms.includes(elm.props.nodeName)) {
20161 20117         return false;
20162 20118       }
20163    -1       return elm.children.some(function(_ref38) {
20164    -1         var props = _ref38.props;
   -1 20119       return elm.children.some(function(_ref37) {
   -1 20120         var props = _ref37.props;
20165 20121         return props.nodeType === 3 && props.nodeValue.trim();
20166 20122       });
20167 20123     }
@@ -20351,7 +20307,7 @@ module.exports = {
20351 20307         return Array.from(document.elementsFromPoint(point.x, point.y));
20352 20308       });
20353 20309       var _loop4 = function _loop4() {
20354    -1         var modalElement = stacks[_i10].find(function(elm) {
   -1 20310         var modalElement = stacks[_i11].find(function(elm) {
20355 20311           var style = window.getComputedStyle(elm);
20356 20312           return parseInt(style.width, 10) >= percentWidth && parseInt(style.height, 10) >= percentHeight && style.getPropertyValue('pointer-events') !== 'none' && (style.position === 'absolute' || style.position === 'fixed');
20357 20313         });
@@ -20364,7 +20320,7 @@ module.exports = {
20364 20320           };
20365 20321         }
20366 20322       }, _ret;
20367    -1       for (var _i10 = 0; _i10 < stacks.length; _i10++) {
   -1 20323       for (var _i11 = 0; _i11 < stacks.length; _i11++) {
20368 20324         _ret = _loop4();
20369 20325         if (_ret) {
20370 20326           return _ret.v;
@@ -20454,7 +20410,7 @@ module.exports = {
20454 20410         return import_from2['default'];
20455 20411       },
20456 20412       Colorjs: function Colorjs() {
20457    -1         return Color;
   -1 20413         return _Color;
20458 20414       },
20459 20415       CssSelectorParser: function CssSelectorParser() {
20460 20416         return import_css_selector_parser2.CssSelectorParser;
@@ -20533,9 +20489,9 @@ module.exports = {
20533 20489           var length = list.length >>> 0;
20534 20490           var thisArg = arguments[1];
20535 20491           var value;
20536    -1           for (var i = 0; i < length; i++) {
20537    -1             value = list[i];
20538    -1             if (predicate.call(thisArg, value, i, list)) {
   -1 20492           for (var _i12 = 0; _i12 < length; _i12++) {
   -1 20493             value = list[_i12];
   -1 20494             if (predicate.call(thisArg, value, _i12, list)) {
20539 20495               return value;
20540 20496             }
20541 20497           }
@@ -20555,10 +20511,10 @@ module.exports = {
20555 20511           var list = Object(this);
20556 20512           var length = list.length >>> 0;
20557 20513           var value;
20558    -1           for (var i = 0; i < length; i++) {
20559    -1             value = list[i];
20560    -1             if (predicate.call(thisArg, value, i, list)) {
20561    -1               return i;
   -1 20514           for (var _i13 = 0; _i13 < length; _i13++) {
   -1 20515             value = list[_i13];
   -1 20516             if (predicate.call(thisArg, value, _i13, list)) {
   -1 20517               return _i13;
20562 20518             }
20563 20519           }
20564 20520           return -1;
@@ -20607,8 +20563,8 @@ module.exports = {
20607 20563           var t = Object(this);
20608 20564           var len = t.length >>> 0;
20609 20565           var thisArg = arguments.length >= 2 ? arguments[1] : void 0;
20610    -1           for (var i = 0; i < len; i++) {
20611    -1             if (i in t && fun.call(thisArg, t[i], i, t)) {
   -1 20566           for (var _i14 = 0; _i14 < len; _i14++) {
   -1 20567             if (_i14 in t && fun.call(thisArg, t[_i14], _i14, t)) {
20612 20568               return true;
20613 20569             }
20614 20570           }
@@ -20691,8 +20647,8 @@ module.exports = {
20691 20647             }
20692 20648             return ret;
20693 20649           }
20694    -1           for (var _i11 = 0; _i11 < row.length; _i11++) {
20695    -1             ret += row[_i11] * (col[_i11] || 0);
   -1 20650           for (var _i15 = 0; _i15 < row.length; _i15++) {
   -1 20651             ret += row[_i15] * (col[_i15] || 0);
20696 20652           }
20697 20653           return ret;
20698 20654         });
@@ -20884,15 +20840,15 @@ module.exports = {
20884 20840       }
20885 20841     }
20886 20842     var \u03b5$4 = 75e-6;
20887    -1     var _ColorSpace = (_Class_brand = new WeakSet(), _path = new WeakMap(), function() {
   -1 20843     var _ColorSpace2 = (_Class_brand = new WeakSet(), _path = new WeakMap(), function() {
20888 20844       function _ColorSpace(options) {
20889    -1         var _options$coords, _ref39, _options$white, _options$formats, _this$formats$functio, _this$formats, _this$formats2;
   -1 20845         var _options$coords, _ref38, _options$white, _options$formats, _this$formats$functio, _this$formats, _this$formats2;
20890 20846         _classCallCheck(this, _ColorSpace);
20891 20847         _classPrivateMethodInitSpec(this, _Class_brand);
20892 20848         _classPrivateFieldInitSpec(this, _path, void 0);
20893 20849         this.id = options.id;
20894 20850         this.name = options.name;
20895    -1         this.base = options.base ? _ColorSpace.get(options.base) : null;
   -1 20851         this.base = options.base ? _ColorSpace2.get(options.base) : null;
20896 20852         this.aliases = options.aliases;
20897 20853         if (this.base) {
20898 20854           this.fromBase = options.fromBase;
@@ -20900,7 +20856,7 @@ module.exports = {
20900 20856         }
20901 20857         var _coords = (_options$coords = options.coords) !== null && _options$coords !== void 0 ? _options$coords : this.base.coords;
20902 20858         this.coords = _coords;
20903    -1         var white2 = (_ref39 = (_options$white = options.white) !== null && _options$white !== void 0 ? _options$white : this.base.white) !== null && _ref39 !== void 0 ? _ref39 : 'D65';
   -1 20859         var white2 = (_ref38 = (_options$white = options.white) !== null && _options$white !== void 0 ? _options$white : this.base.white) !== null && _ref38 !== void 0 ? _ref38 : 'D65';
20904 20860         this.white = getWhite(white2);
20905 20861         this.formats = (_options$formats = options.formats) !== null && _options$formats !== void 0 ? _options$formats : {};
20906 20862         for (var name in this.formats) {
@@ -20925,7 +20881,7 @@ module.exports = {
20925 20881       return _createClass(_ColorSpace, [ {
20926 20882         key: 'inGamut',
20927 20883         value: function inGamut(coords) {
20928    -1           var _ref40 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref40$epsilon = _ref40.epsilon, epsilon = _ref40$epsilon === void 0 ? \u03b5$4 : _ref40$epsilon;
   -1 20884           var _ref39 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref39$epsilon = _ref39.epsilon, epsilon = _ref39$epsilon === void 0 ? \u03b5$4 : _ref39$epsilon;
20929 20885           if (this.isPolar) {
20930 20886             coords = this.toBase(coords);
20931 20887             return this.base.inGamut(coords, {
@@ -20984,11 +20940,11 @@ module.exports = {
20984 20940         key: 'to',
20985 20941         value: function to(space, coords) {
20986 20942           if (arguments.length === 1) {
20987    -1             var _ref41 = [ space.space, space.coords ];
20988    -1             space = _ref41[0];
20989    -1             coords = _ref41[1];
   -1 20943             var _ref40 = [ space.space, space.coords ];
   -1 20944             space = _ref40[0];
   -1 20945             coords = _ref40[1];
20990 20946           }
20991    -1           space = _ColorSpace.get(space);
   -1 20947           space = _ColorSpace2.get(space);
20992 20948           if (this === space) {
20993 20949             return coords;
20994 20950           }
@@ -20998,10 +20954,10 @@ module.exports = {
20998 20954           var myPath = _classPrivateFieldGet(_path, this);
20999 20955           var otherPath = _classPrivateFieldGet(_path, space);
21000 20956           var connectionSpace, connectionSpaceIndex;
21001    -1           for (var _i12 = 0; _i12 < myPath.length; _i12++) {
21002    -1             if (myPath[_i12] === otherPath[_i12]) {
21003    -1               connectionSpace = myPath[_i12];
21004    -1               connectionSpaceIndex = _i12;
   -1 20957           for (var _i16 = 0; _i16 < myPath.length; _i16++) {
   -1 20958             if (myPath[_i16] === otherPath[_i16]) {
   -1 20959               connectionSpace = myPath[_i16];
   -1 20960               connectionSpaceIndex = _i16;
21005 20961             } else {
21006 20962               break;
21007 20963             }
@@ -21009,11 +20965,11 @@ module.exports = {
21009 20965           if (!connectionSpace) {
21010 20966             throw new Error('Cannot convert between color spaces '.concat(this, ' and ').concat(space, ': no connection space was found'));
21011 20967           }
21012    -1           for (var _i13 = myPath.length - 1; _i13 > connectionSpaceIndex; _i13--) {
21013    -1             coords = myPath[_i13].toBase(coords);
   -1 20968           for (var _i17 = myPath.length - 1; _i17 > connectionSpaceIndex; _i17--) {
   -1 20969             coords = myPath[_i17].toBase(coords);
21014 20970           }
21015    -1           for (var _i14 = connectionSpaceIndex + 1; _i14 < otherPath.length; _i14++) {
21016    -1             coords = otherPath[_i14].fromBase(coords);
   -1 20971           for (var _i18 = connectionSpaceIndex + 1; _i18 < otherPath.length; _i18++) {
   -1 20972             coords = otherPath[_i18].fromBase(coords);
21017 20973           }
21018 20974           return coords;
21019 20975         }
@@ -21021,11 +20977,11 @@ module.exports = {
21021 20977         key: 'from',
21022 20978         value: function from(space, coords) {
21023 20979           if (arguments.length === 1) {
21024    -1             var _ref42 = [ space.space, space.coords ];
21025    -1             space = _ref42[0];
21026    -1             coords = _ref42[1];
   -1 20980             var _ref41 = [ space.space, space.coords ];
   -1 20981             space = _ref41[0];
   -1 20982             coords = _ref41[1];
21027 20983           }
21028    -1           space = _ColorSpace.get(space);
   -1 20984           space = _ColorSpace2.get(space);
21029 20985           return space.to(this, coords);
21030 20986         }
21031 20987       }, {
@@ -21048,7 +21004,7 @@ module.exports = {
21048 21004       } ], [ {
21049 21005         key: 'all',
21050 21006         get: function get() {
21051    -1           return _toConsumableArray(new Set(Object.values(_ColorSpace.registry)));
   -1 21007           return _toConsumableArray(new Set(Object.values(_ColorSpace2.registry)));
21052 21008         }
21053 21009       }, {
21054 21010         key: 'register',
@@ -21080,12 +21036,12 @@ module.exports = {
21080 21036       }, {
21081 21037         key: 'get',
21082 21038         value: function get(space) {
21083    -1           if (!space || space instanceof _ColorSpace) {
   -1 21039           if (!space || space instanceof _ColorSpace2) {
21084 21040             return space;
21085 21041           }
21086 21042           var argType = type(space);
21087 21043           if (argType === 'string') {
21088    -1             var ret = _ColorSpace.registry[space.toLowerCase()];
   -1 21044             var ret = _ColorSpace2.registry[space.toLowerCase()];
21089 21045             if (!ret) {
21090 21046               throw new TypeError('No color space found with id = "'.concat(space, '"'));
21091 21047             }
@@ -21095,7 +21051,7 @@ module.exports = {
21095 21051             alternatives[_key2 - 1] = arguments[_key2];
21096 21052           }
21097 21053           if (alternatives.length) {
21098    -1             return _ColorSpace.get.apply(_ColorSpace, alternatives);
   -1 21054             return _ColorSpace2.get.apply(_ColorSpace2, alternatives);
21099 21055           }
21100 21056           throw new TypeError(''.concat(space, ' is not a valid color space'));
21101 21057         }
@@ -21115,14 +21071,14 @@ module.exports = {
21115 21071               coord = ref;
21116 21072             }
21117 21073           } else if (Array.isArray(ref)) {
21118    -1             var _ref43 = _slicedToArray(ref, 2);
21119    -1             space = _ref43[0];
21120    -1             coord = _ref43[1];
   -1 21074             var _ref42 = _slicedToArray(ref, 2);
   -1 21075             space = _ref42[0];
   -1 21076             coord = _ref42[1];
21121 21077           } else {
21122 21078             space = ref.space;
21123 21079             coord = ref.coordId;
21124 21080           }
21125    -1           space = _ColorSpace.get(space);
   -1 21081           space = _ColorSpace2.get(space);
21126 21082           if (!space) {
21127 21083             space = workingSpace;
21128 21084           }
@@ -21140,7 +21096,7 @@ module.exports = {
21140 21096               }, meta[1]);
21141 21097             }
21142 21098           }
21143    -1           space = _ColorSpace.get(space);
   -1 21099           space = _ColorSpace2.get(space);
21144 21100           var normalizedCoord = coord.toLowerCase();
21145 21101           var i = 0;
21146 21102           for (var id in space.coords) {
@@ -21164,8 +21120,8 @@ module.exports = {
21164 21120         format.type || (format.type = 'function');
21165 21121         format.name || (format.name = 'color');
21166 21122         format.coordGrammar = parseCoordGrammar(format.coords);
21167    -1         var coordFormats = Object.entries(this.coords).map(function(_ref151, i) {
21168    -1           var _ref152 = _slicedToArray(_ref151, 2), id = _ref152[0], coordMeta = _ref152[1];
   -1 21123         var coordFormats = Object.entries(this.coords).map(function(_ref150, i) {
   -1 21124           var _ref151 = _slicedToArray(_ref150, 2), id = _ref151[0], coordMeta = _ref151[1];
21169 21125           var outputType = format.coordGrammar[i][0];
21170 21126           var fromRange = coordMeta.range || coordMeta.refRange;
21171 21127           var toRange = outputType.range, suffix = '';
@@ -21204,7 +21160,7 @@ module.exports = {
21204 21160       }
21205 21161       return ret;
21206 21162     }
21207    -1     var ColorSpace = _ColorSpace;
   -1 21163     var ColorSpace = _ColorSpace2;
21208 21164     __publicField(ColorSpace, 'registry', {});
21209 21165     __publicField(ColorSpace, 'DEFAULT_FORMAT', {
21210 21166       type: 'functions',
@@ -21232,7 +21188,7 @@ module.exports = {
21232 21188       },
21233 21189       aliases: [ 'xyz' ]
21234 21190     });
21235    -1     var RGBColorSpace = function(_ColorSpace2) {
   -1 21191     var RGBColorSpace = function(_ColorSpace3) {
21236 21192       function RGBColorSpace(options) {
21237 21193         var _options$referred;
21238 21194         var _this;
@@ -21273,7 +21229,7 @@ module.exports = {
21273 21229         (_options$referred = options.referred) !== null && _options$referred !== void 0 ? _options$referred : options.referred = 'display';
21274 21230         return _this = _callSuper(this, RGBColorSpace, [ options ]);
21275 21231       }
21276    -1       _inherits(RGBColorSpace, _ColorSpace2);
   -1 21232       _inherits(RGBColorSpace, _ColorSpace3);
21277 21233       return _createClass(RGBColorSpace);
21278 21234     }(ColorSpace);
21279 21235     function parse2(str) {
@@ -21347,9 +21303,9 @@ module.exports = {
21347 21303                 }
21348 21304                 var coords = env.parsed.args;
21349 21305                 if (format.coordGrammar) {
21350    -1                   Object.entries(space.coords).forEach(function(_ref44, i) {
   -1 21306                   Object.entries(space.coords).forEach(function(_ref43, i) {
21351 21307                     var _coords$i;
21352    -1                     var _ref45 = _slicedToArray(_ref44, 2), id = _ref45[0], coordMeta = _ref45[1];
   -1 21308                     var _ref44 = _slicedToArray(_ref43, 2), id = _ref44[0], coordMeta = _ref44[1];
21353 21309                     var coordGrammar2 = format.coordGrammar[i];
21354 21310                     var providedType = (_coords$i = coords[i]) === null || _coords$i === void 0 ? void 0 : _coords$i.type;
21355 21311                     coordGrammar2 = coordGrammar2.find(function(c4) {
@@ -21613,7 +21569,7 @@ module.exports = {
21613 21569     var r2d = 180 / \u03c0$1;
21614 21570     var d2r$1 = \u03c0$1 / 180;
21615 21571     function deltaE2000(color, sample) {
21616    -1       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;
   -1 21572       var _ref45 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, _ref45$kL = _ref45.kL, kL = _ref45$kL === void 0 ? 1 : _ref45$kL, _ref45$kC = _ref45.kC, kC = _ref45$kC === void 0 ? 1 : _ref45$kC, _ref45$kH = _ref45.kH, kH = _ref45$kH === void 0 ? 1 : _ref45$kH;
21617 21573       var _lab$from = lab.from(color), _lab$from2 = _slicedToArray(_lab$from, 3), L1 = _lab$from2[0], a1 = _lab$from2[1], b1 = _lab$from2[2];
21618 21574       var C1 = lch.from(lab, [ L1, a1, b1 ])[1];
21619 21575       var _lab$from3 = lab.from(sample), _lab$from4 = _slicedToArray(_lab$from3, 3), L2 = _lab$from4[0], a2 = _lab$from4[1], b2 = _lab$from4[2];
@@ -21693,7 +21649,7 @@ module.exports = {
21693 21649     var \u03b5$2 = 75e-6;
21694 21650     function inGamut(color) {
21695 21651       var space = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : color.space;
21696    -1       var _ref47 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, _ref47$epsilon = _ref47.epsilon, epsilon = _ref47$epsilon === void 0 ? \u03b5$2 : _ref47$epsilon;
   -1 21652       var _ref46 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, _ref46$epsilon = _ref46.epsilon, epsilon = _ref46$epsilon === void 0 ? \u03b5$2 : _ref46$epsilon;
21697 21653       color = getColor(color);
21698 21654       space = ColorSpace.get(space);
21699 21655       var coords = color.coords;
@@ -21712,7 +21668,7 @@ module.exports = {
21712 21668       };
21713 21669     }
21714 21670     function toGamut(color) {
21715    -1       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;
   -1 21671       var _ref47 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref47$method = _ref47.method, method = _ref47$method === void 0 ? defaults.gamut_mapping : _ref47$method, _ref47$space = _ref47.space, space = _ref47$space === void 0 ? color.space : _ref47$space;
21716 21672       if (isString(arguments[1])) {
21717 21673         space = arguments[1];
21718 21674       }
@@ -21782,7 +21738,7 @@ module.exports = {
21782 21738     }
21783 21739     toGamut.returns = 'color';
21784 21740     function to(color, space) {
21785    -1       var _ref49 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, inGamut2 = _ref49.inGamut;
   -1 21741       var _ref48 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, inGamut2 = _ref48.inGamut;
21786 21742       color = getColor(color);
21787 21743       space = ColorSpace.get(space);
21788 21744       var coords = space.from(color);
@@ -21798,13 +21754,13 @@ module.exports = {
21798 21754     }
21799 21755     to.returns = 'color';
21800 21756     function serialize(color) {
21801    -1       var _ref51, _color$space$getForma;
21802    -1       var _ref50 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
21803    -1       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);
   -1 21757       var _ref50, _color$space$getForma;
   -1 21758       var _ref49 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
   -1 21759       var _ref49$precision = _ref49.precision, precision = _ref49$precision === void 0 ? defaults.precision : _ref49$precision, _ref49$format = _ref49.format, format = _ref49$format === void 0 ? 'default' : _ref49$format, _ref49$inGamut = _ref49.inGamut, inGamut$1 = _ref49$inGamut === void 0 ? true : _ref49$inGamut, customOptions = _objectWithoutProperties(_ref49, _excluded9);
21804 21760       var ret;
21805 21761       color = getColor(color);
21806 21762       var formatId = format;
21807    -1       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;
   -1 21763       format = (_ref50 = (_color$space$getForma = color.space.getFormat(format)) !== null && _color$space$getForma !== void 0 ? _color$space$getForma : color.space.getFormat('default')) !== null && _ref50 !== void 0 ? _ref50 : ColorSpace.DEFAULT_FORMAT;
21808 21764       inGamut$1 || (inGamut$1 = format.toGamut);
21809 21765       var coords = color.coords;
21810 21766       coords = coords.map(function(c4) {
@@ -22123,7 +22079,7 @@ module.exports = {
22123 22079             };
22124 22080           },
22125 22081           serialize: function serialize(coords, alpha) {
22126    -1             var _ref52 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, _ref52$collapse = _ref52.collapse, collapse = _ref52$collapse === void 0 ? true : _ref52$collapse;
   -1 22082             var _ref51 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, _ref51$collapse = _ref51.collapse, collapse = _ref51$collapse === void 0 ? true : _ref51$collapse;
22127 22083             if (alpha < 1) {
22128 22084               coords.push(alpha);
22129 22085             }
@@ -22180,9 +22136,9 @@ module.exports = {
22180 22136       }
22181 22137     });
22182 22138     defaults.display_space = sRGB;
22183    -1     if (typeof CSS !== 'undefined' && CSS.supports) {
22184    -1       for (var _i15 = 0, _arr2 = [ lab, REC2020, P3 ]; _i15 < _arr2.length; _i15++) {
22185    -1         var space = _arr2[_i15];
   -1 22139     if (typeof CSS !== 'undefined' && (_CSS = CSS) !== null && _CSS !== void 0 && _CSS.supports) {
   -1 22140       for (var _i19 = 0, _arr2 = [ lab, REC2020, P3 ]; _i19 < _arr2.length; _i19++) {
   -1 22141         var space = _arr2[_i19];
22186 22142         var coords = space.getMinCoords();
22187 22143         var color = {
22188 22144           space: space,
@@ -22197,10 +22153,11 @@ module.exports = {
22197 22153       }
22198 22154     }
22199 22155     function _display(color) {
22200    -1       var _ref53 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
22201    -1       var _ref53$space = _ref53.space, space = _ref53$space === void 0 ? defaults.display_space : _ref53$space, options = _objectWithoutProperties(_ref53, _excluded10);
   -1 22156       var _CSS2;
   -1 22157       var _ref52 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
   -1 22158       var _ref52$space = _ref52.space, space = _ref52$space === void 0 ? defaults.display_space : _ref52$space, options = _objectWithoutProperties(_ref52, _excluded10);
22202 22159       var ret = serialize(color, options);
22203    -1       if (typeof CSS === 'undefined' || CSS.supports('color', ret) || !defaults.display_space) {
   -1 22160       if (typeof CSS === 'undefined' || (_CSS2 = CSS) !== null && _CSS2 !== void 0 && _CSS2.supports('color', ret) || !defaults.display_space) {
22204 22161         ret = new String(ret);
22205 22162         ret.color = color;
22206 22163       } else {
@@ -22258,9 +22215,9 @@ module.exports = {
22258 22215       var Y1 = Math.max(getLuminance(color1), 0);
22259 22216       var Y2 = Math.max(getLuminance(color2), 0);
22260 22217       if (Y2 > Y1) {
22261    -1         var _ref54 = [ Y2, Y1 ];
22262    -1         Y1 = _ref54[0];
22263    -1         Y2 = _ref54[1];
   -1 22218         var _ref53 = [ Y2, Y1 ];
   -1 22219         Y1 = _ref53[0];
   -1 22220         Y2 = _ref53[1];
22264 22221       }
22265 22222       return (Y1 + .05) / (Y2 + .05);
22266 22223     }
@@ -22334,9 +22291,9 @@ module.exports = {
22334 22291       var Y1 = Math.max(getLuminance(color1), 0);
22335 22292       var Y2 = Math.max(getLuminance(color2), 0);
22336 22293       if (Y2 > Y1) {
22337    -1         var _ref55 = [ Y2, Y1 ];
22338    -1         Y1 = _ref55[0];
22339    -1         Y2 = _ref55[1];
   -1 22294         var _ref54 = [ Y2, Y1 ];
   -1 22295         Y1 = _ref54[0];
   -1 22296         Y2 = _ref54[1];
22340 22297       }
22341 22298       var denom = Y1 + Y2;
22342 22299       return denom === 0 ? 0 : (Y1 - Y2) / denom;
@@ -22348,9 +22305,9 @@ module.exports = {
22348 22305       var Y1 = Math.max(getLuminance(color1), 0);
22349 22306       var Y2 = Math.max(getLuminance(color2), 0);
22350 22307       if (Y2 > Y1) {
22351    -1         var _ref56 = [ Y2, Y1 ];
22352    -1         Y1 = _ref56[0];
22353    -1         Y2 = _ref56[1];
   -1 22308         var _ref55 = [ Y2, Y1 ];
   -1 22309         Y1 = _ref55[0];
   -1 22310         Y2 = _ref55[1];
22354 22311       }
22355 22312       return Y2 === 0 ? max : (Y1 - Y2) / Y2;
22356 22313     }
@@ -22483,7 +22440,7 @@ module.exports = {
22483 22440     var \u03c0 = Math.PI;
22484 22441     var d2r = \u03c0 / 180;
22485 22442     function deltaECMC(color, sample) {
22486    -1       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;
   -1 22443       var _ref56 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, _ref56$l = _ref56.l, l = _ref56$l === void 0 ? 2 : _ref56$l, _ref56$c = _ref56.c, c4 = _ref56$c === void 0 ? 1 : _ref56$c;
22487 22444       var _lab$from5 = lab.from(color), _lab$from6 = _slicedToArray(_lab$from5, 3), L1 = _lab$from6[0], a1 = _lab$from6[1], b1 = _lab$from6[2];
22488 22445       var _lch$from = lch.from(lab, [ L1, a1, b1 ]), _lch$from2 = _slicedToArray(_lch$from, 3), C1 = _lch$from2[1], H1 = _lch$from2[2];
22489 22446       var _lab$from7 = lab.from(sample), _lab$from8 = _slicedToArray(_lab$from7, 3), L2 = _lab$from8[0], a2 = _lab$from8[1], b2 = _lab$from8[2];
@@ -22831,13 +22788,13 @@ module.exports = {
22831 22788     function mix(c12, c22) {
22832 22789       var p2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : .5;
22833 22790       var o = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
22834    -1       var _ref58 = [ getColor(c12), getColor(c22) ];
22835    -1       c12 = _ref58[0];
22836    -1       c22 = _ref58[1];
   -1 22791       var _ref57 = [ getColor(c12), getColor(c22) ];
   -1 22792       c12 = _ref57[0];
   -1 22793       c22 = _ref57[1];
22837 22794       if (type(p2) === 'object') {
22838    -1         var _ref59 = [ .5, p2 ];
22839    -1         p2 = _ref59[0];
22840    -1         o = _ref59[1];
   -1 22795         var _ref58 = [ .5, p2 ];
   -1 22796         p2 = _ref58[0];
   -1 22797         o = _ref58[1];
22841 22798       }
22842 22799       var _o3 = o, space = _o3.space, outputSpace = _o3.outputSpace, premultiplied = _o3.premultiplied;
22843 22800       var r = range(c12, c22, {
@@ -22857,11 +22814,11 @@ module.exports = {
22857 22814         c12 = _colorRange$rangeArgs[0];
22858 22815         c22 = _colorRange$rangeArgs[1];
22859 22816       }
22860    -1       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);
   -1 22817       var _options2 = options, maxDeltaE = _options2.maxDeltaE, deltaEMethod = _options2.deltaEMethod, _options2$steps = _options2.steps, steps2 = _options2$steps === void 0 ? 2 : _options2$steps, _options2$maxSteps = _options2.maxSteps, maxSteps = _options2$maxSteps === void 0 ? 1e3 : _options2$maxSteps, rangeOptions = _objectWithoutProperties(_options2, _excluded13);
22861 22818       if (!colorRange) {
22862    -1         var _ref60 = [ getColor(c12), getColor(c22) ];
22863    -1         c12 = _ref60[0];
22864    -1         c22 = _ref60[1];
   -1 22819         var _ref59 = [ getColor(c12), getColor(c22) ];
   -1 22820         c12 = _ref59[0];
   -1 22821         c22 = _ref59[1];
22865 22822         colorRange = range(c12, c22, rangeOptions);
22866 22823       }
22867 22824       var totalDelta = deltaE(c12, c22);
@@ -22897,17 +22854,17 @@ module.exports = {
22897 22854         }, 0);
22898 22855         while (maxDelta > maxDeltaE) {
22899 22856           maxDelta = 0;
22900    -1           for (var _i16 = 1; _i16 < ret.length && ret.length < maxSteps; _i16++) {
22901    -1             var prev = ret[_i16 - 1];
22902    -1             var cur = ret[_i16];
   -1 22857           for (var _i20 = 1; _i20 < ret.length && ret.length < maxSteps; _i20++) {
   -1 22858             var prev = ret[_i20 - 1];
   -1 22859             var cur = ret[_i20];
22903 22860             var p2 = (cur.p + prev.p) / 2;
22904 22861             var _color = colorRange(p2);
22905 22862             maxDelta = Math.max(maxDelta, deltaE(_color, prev.color), deltaE(_color, cur.color));
22906    -1             ret.splice(_i16, 0, {
   -1 22863             ret.splice(_i20, 0, {
22907 22864               p: p2,
22908 22865               color: colorRange(p2)
22909 22866             });
22910    -1             _i16++;
   -1 22867             _i20++;
22911 22868           }
22912 22869         }
22913 22870       }
@@ -22944,7 +22901,7 @@ module.exports = {
22944 22901       if (space.coords.h && space.coords.h.type === 'angle') {
22945 22902         var arc = options.hue = options.hue || 'shorter';
22946 22903         var hue = [ space, 'h' ];
22947    -1         var _ref61 = [ get(color1, hue), get(color2, hue) ], \u03b81 = _ref61[0], \u03b82 = _ref61[1];
   -1 22904         var _ref60 = [ get(color1, hue), get(color2, hue) ], \u03b81 = _ref60[0], \u03b82 = _ref60[1];
22948 22905         var _adjust = adjust(arc, [ \u03b81, \u03b82 ]);
22949 22906         var _adjust2 = _slicedToArray(_adjust, 2);
22950 22907         \u03b81 = _adjust2[0];
@@ -23346,8 +23303,8 @@ module.exports = {
23346 23303         env.M = adapt(env.W1, env.W2, env.options.method);
23347 23304       }
23348 23305     });
23349    -1     function defineCAT(_ref62) {
23350    -1       var id = _ref62.id, toCone_M = _ref62.toCone_M, fromCone_M = _ref62.fromCone_M;
   -1 23306     function defineCAT(_ref61) {
   -1 23307       var id = _ref61.id, toCone_M = _ref61.toCone_M, fromCone_M = _ref61.fromCone_M;
23351 23308       CATs[id] = arguments[0];
23352 23309     }
23353 23310     function adapt(W1, W2) {
@@ -23498,7 +23455,7 @@ module.exports = {
23498 23455       ACEScg: ACEScg,
23499 23456       ACEScc: acescc
23500 23457     });
23501    -1     var Color = (_space = new WeakMap(), function() {
   -1 23458     var _Color = (_space = new WeakMap(), function() {
23502 23459       function Color() {
23503 23460         var _this2 = this;
23504 23461         _classCallCheck(this, Color);
@@ -23523,9 +23480,9 @@ module.exports = {
23523 23480         _classPrivateFieldSet(_space, this, ColorSpace.get(space));
23524 23481         this.coords = coords ? coords.slice() : [ 0, 0, 0 ];
23525 23482         this.alpha = alpha < 1 ? alpha : 1;
23526    -1         for (var _i17 = 0; _i17 < this.coords.length; _i17++) {
23527    -1           if (this.coords[_i17] === 'NaN') {
23528    -1             this.coords[_i17] = NaN;
   -1 23483         for (var _i21 = 0; _i21 < this.coords.length; _i21++) {
   -1 23484           if (this.coords[_i21] === 'NaN') {
   -1 23485             this.coords[_i21] = NaN;
23529 23486           }
23530 23487         }
23531 23488         var _loop7 = function _loop7(id) {
@@ -23555,7 +23512,7 @@ module.exports = {
23555 23512       }, {
23556 23513         key: 'clone',
23557 23514         value: function clone() {
23558    -1           return new Color(this.space, this.coords, this.alpha);
   -1 23515           return new _Color(this.space, this.coords, this.alpha);
23559 23516         }
23560 23517       }, {
23561 23518         key: 'toJSON',
@@ -23573,19 +23530,19 @@ module.exports = {
23573 23530             args[_key4] = arguments[_key4];
23574 23531           }
23575 23532           var ret = _display.apply(void 0, [ this ].concat(args));
23576    -1           ret.color = new Color(ret.color);
   -1 23533           ret.color = new _Color(ret.color);
23577 23534           return ret;
23578 23535         }
23579 23536       } ], [ {
23580 23537         key: 'get',
23581 23538         value: function get(color) {
23582    -1           if (color instanceof Color) {
   -1 23539           if (color instanceof _Color) {
23583 23540             return color;
23584 23541           }
23585 23542           for (var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {
23586 23543             args[_key5 - 1] = arguments[_key5];
23587 23544           }
23588    -1           return _construct(Color, [ color ].concat(args));
   -1 23545           return _construct(_Color, [ color ].concat(args));
23589 23546         }
23590 23547       }, {
23591 23548         key: 'defineFunction',
@@ -23595,26 +23552,26 @@ module.exports = {
23595 23552           var func = function func() {
23596 23553             var ret = code.apply(void 0, arguments);
23597 23554             if (returns === 'color') {
23598    -1               ret = Color.get(ret);
   -1 23555               ret = _Color.get(ret);
23599 23556             } else if (returns === 'function<color>') {
23600 23557               var f = ret;
23601 23558               ret = function ret() {
23602 23559                 var ret2 = f.apply(void 0, arguments);
23603    -1                 return Color.get(ret2);
   -1 23560                 return _Color.get(ret2);
23604 23561               };
23605 23562               Object.assign(ret, f);
23606 23563             } else if (returns === 'array<color>') {
23607 23564               ret = ret.map(function(c4) {
23608    -1                 return Color.get(c4);
   -1 23565                 return _Color.get(c4);
23609 23566               });
23610 23567             }
23611 23568             return ret;
23612 23569           };
23613    -1           if (!(name in Color)) {
23614    -1             Color[name] = func;
   -1 23570           if (!(name in _Color)) {
   -1 23571             _Color[name] = func;
23615 23572           }
23616 23573           if (instance) {
23617    -1             Color.prototype[name] = function() {
   -1 23574             _Color.prototype[name] = function() {
23618 23575               for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
23619 23576                 args[_key6] = arguments[_key6];
23620 23577               }
@@ -23626,23 +23583,23 @@ module.exports = {
23626 23583         key: 'defineFunctions',
23627 23584         value: function defineFunctions(o) {
23628 23585           for (var name in o) {
23629    -1             Color.defineFunction(name, o[name], o[name]);
   -1 23586             _Color.defineFunction(name, o[name], o[name]);
23630 23587           }
23631 23588         }
23632 23589       }, {
23633 23590         key: 'extend',
23634 23591         value: function extend(exports) {
23635 23592           if (exports.register) {
23636    -1             exports.register(Color);
   -1 23593             exports.register(_Color);
23637 23594           } else {
23638 23595             for (var name in exports) {
23639    -1               Color.defineFunction(name, exports[name]);
   -1 23596               _Color.defineFunction(name, exports[name]);
23640 23597             }
23641 23598           }
23642 23599         }
23643 23600       } ]);
23644 23601     }());
23645    -1     Color.defineFunctions({
   -1 23602     _Color.defineFunctions({
23646 23603       get: get,
23647 23604       getAll: getAll,
23648 23605       set: set,
@@ -23654,7 +23611,7 @@ module.exports = {
23654 23611       distance: distance,
23655 23612       toString: serialize
23656 23613     });
23657    -1     Object.assign(Color, {
   -1 23614     Object.assign(_Color, {
23658 23615       util: util,
23659 23616       hooks: hooks,
23660 23617       WHITES: WHITES,
@@ -23663,8 +23620,8 @@ module.exports = {
23663 23620       parse: parse2,
23664 23621       defaults: defaults
23665 23622     });
23666    -1     for (var _i18 = 0, _Object$keys2 = Object.keys(spaces); _i18 < _Object$keys2.length; _i18++) {
23667    -1       var key = _Object$keys2[_i18];
   -1 23623     for (var _i22 = 0, _Object$keys2 = Object.keys(spaces); _i22 < _Object$keys2.length; _i22++) {
   -1 23624       var key = _Object$keys2[_i22];
23668 23625       ColorSpace.register(spaces[key]);
23669 23626     }
23670 23627     for (var id in ColorSpace.registry) {
@@ -23683,7 +23640,7 @@ module.exports = {
23683 23640         return c4.name;
23684 23641       });
23685 23642       var propId = id.replace(/-/g, '_');
23686    -1       Object.defineProperty(Color.prototype, propId, {
   -1 23643       Object.defineProperty(_Color.prototype, propId, {
23687 23644         get: function get() {
23688 23645           var _this3 = this;
23689 23646           var ret = this.getAll(id);
@@ -23727,23 +23684,23 @@ module.exports = {
23727 23684         enumerable: true
23728 23685       });
23729 23686     }
23730    -1     Color.extend(deltaEMethods);
23731    -1     Color.extend({
   -1 23687     _Color.extend(deltaEMethods);
   -1 23688     _Color.extend({
23732 23689       deltaE: deltaE
23733 23690     });
23734    -1     Color.extend(variations);
23735    -1     Color.extend({
   -1 23691     _Color.extend(variations);
   -1 23692     _Color.extend({
23736 23693       contrast: contrast
23737 23694     });
23738    -1     Color.extend(chromaticity);
23739    -1     Color.extend(luminance);
23740    -1     Color.extend(interpolation);
23741    -1     Color.extend(contrastMethods);
   -1 23695     _Color.extend(chromaticity);
   -1 23696     _Color.extend(luminance);
   -1 23697     _Color.extend(interpolation);
   -1 23698     _Color.extend(contrastMethods);
23742 23699     var import_from2 = __toModule(require_from4());
23743 23700     import_dot['default'].templateSettings.strip = false;
23744 23701     var hexRegex = /^#[0-9a-f]{3,8}$/i;
23745 23702     var hslRegex = /hsl\(\s*([-\d.]+)(rad|turn)/;
23746    -1     var Color2 = (_r = new WeakMap(), _g = new WeakMap(), _b = new WeakMap(), _red = new WeakMap(), 
   -1 23703     var _Color2 = (_r = new WeakMap(), _g = new WeakMap(), _b = new WeakMap(), _red = new WeakMap(), 
23747 23704     _green = new WeakMap(), _blue = new WeakMap(), _Class3_brand = new WeakSet(), 
23748 23705     function() {
23749 23706       function Color2(red, green, blue) {
@@ -23756,7 +23713,7 @@ module.exports = {
23756 23713         _classPrivateFieldInitSpec(this, _red, void 0);
23757 23714         _classPrivateFieldInitSpec(this, _green, void 0);
23758 23715         _classPrivateFieldInitSpec(this, _blue, void 0);
23759    -1         if (red instanceof Color2) {
   -1 23716         if (red instanceof _Color2) {
23760 23717           var r = red.r, g2 = red.g, b2 = red.b;
23761 23718           this.r = r;
23762 23719           this.g = g2;
@@ -23861,7 +23818,7 @@ module.exports = {
23861 23818               prototypeArrayFrom = Array.from;
23862 23819               Array.from = import_from2['default'];
23863 23820             }
23864    -1             var _color2 = new Color(colorString).to('srgb');
   -1 23821             var _color2 = new _Color(colorString).to('srgb');
23865 23822             if (prototypeArrayFrom) {
23866 23823               Array.from = prototypeArrayFrom;
23867 23824               prototypeArrayFrom = null;
@@ -23870,7 +23827,7 @@ module.exports = {
23870 23827             this.g = _color2.g;
23871 23828             this.b = _color2.b;
23872 23829             this.alpha = +_color2.alpha;
23873    -1           } catch (err2) {
   -1 23830           } catch (_unused4) {
23874 23831             throw new Error('Unable to parse color "'.concat(colorString, '"'));
23875 23832           }
23876 23833           return this;
@@ -23921,7 +23878,7 @@ module.exports = {
23921 23878       }, {
23922 23879         key: 'setSaturation',
23923 23880         value: function setSaturation(s) {
23924    -1           var C = new Color2(this);
   -1 23881           var C = new _Color2(this);
23925 23882           var colorEntires = [ {
23926 23883             name: 'r',
23927 23884             value: C.r
@@ -23950,7 +23907,7 @@ module.exports = {
23950 23907       }, {
23951 23908         key: 'clip',
23952 23909         value: function clip() {
23953    -1           var C = new Color2(this);
   -1 23910           var C = new _Color2(this);
23954 23911           var L = C.getLuminosity();
23955 23912           var n2 = Math.min(C.r, C.g, C.b);
23956 23913           var x = Math.max(C.r, C.g, C.b);
@@ -23969,13 +23926,13 @@ module.exports = {
23969 23926       } ]);
23970 23927     }());
23971 23928     function _add(value) {
23972    -1       var C = new Color2(this);
   -1 23929       var C = new _Color2(this);
23973 23930       C.r += value;
23974 23931       C.g += value;
23975 23932       C.b += value;
23976 23933       return C;
23977 23934     }
23978    -1     var color_default = Color2;
   -1 23935     var color_default = _Color2;
23979 23936     function clamp(value, min, max2) {
23980 23937       return Math.min(Math.max(min, value), max2);
23981 23938     }
@@ -24064,8 +24021,8 @@ module.exports = {
24064 24021       if (!refs || !refs.length) {
24065 24022         return false;
24066 24023       }
24067    -1       return refs.some(function(_ref63) {
24068    -1         var actualNode = _ref63.actualNode;
   -1 24024       return refs.some(function(_ref62) {
   -1 24025         var actualNode = _ref62.actualNode;
24069 24026         return isVisible(actualNode, screenReader, recursed);
24070 24027       });
24071 24028     }
@@ -24077,7 +24034,7 @@ module.exports = {
24077 24034       var vNode = el instanceof abstract_virtual_node_default ? el : get_node_from_tree_default(el);
24078 24035       el = vNode ? vNode.actualNode : el;
24079 24036       var cacheName = '_isVisible' + (screenReader ? 'ScreenReader' : '');
24080    -1       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;
   -1 24037       var _ref63 = (_window$Node2 = window.Node) !== null && _window$Node2 !== void 0 ? _window$Node2 : {}, DOCUMENT_NODE = _ref63.DOCUMENT_NODE, DOCUMENT_FRAGMENT_NODE = _ref63.DOCUMENT_FRAGMENT_NODE;
24081 24038       var nodeType = vNode ? vNode.props.nodeType : el.nodeType;
24082 24039       var nodeName2 = vNode ? vNode.props.nodeName : el.nodeName.toLowerCase();
24083 24040       if (vNode && typeof vNode[cacheName] !== 'undefined') {
@@ -24466,8 +24423,8 @@ module.exports = {
24466 24423         return;
24467 24424       }
24468 24425       var shadowId = domTree[0].shadowId;
24469    -1       for (var _i19 = 0; _i19 < expressions.length; _i19++) {
24470    -1         if (expressions[_i19].length > 1 && expressions[_i19].some(function(expression) {
   -1 24426       for (var _i23 = 0; _i23 < expressions.length; _i23++) {
   -1 24427         if (expressions[_i23].length > 1 && expressions[_i23].some(function(expression) {
24471 24428           return isGlobalSelector(expression);
24472 24429         })) {
24473 24430           return;
@@ -24528,9 +24485,9 @@ module.exports = {
24528 24485           nodes = nodes ? getSharedValues(_cachedNodes, nodes) : _cachedNodes;
24529 24486         }
24530 24487         if (exp.attributes) {
24531    -1           for (var _i20 = 0; _i20 < exp.attributes.length; _i20++) {
   -1 24488           for (var _i24 = 0; _i24 < exp.attributes.length; _i24++) {
24532 24489             var _selectorMap;
24533    -1             var attr = exp.attributes[_i20];
   -1 24490             var attr = exp.attributes[_i24];
24534 24491             if (attr.type === 'attrValue') {
24535 24492               isComplexSelector = true;
24536 24493             }
@@ -24605,7 +24562,7 @@ module.exports = {
24605 24562       return vNode;
24606 24563     }
24607 24564     function flattenTree(node, shadowId, parent) {
24608    -1       var retVal, realArray, nodeName2;
   -1 24565       var retVal, realArray;
24609 24566       function reduceShadowDOM(res, child, parentVNode) {
24610 24567         var replacements = flattenTree(child, shadowId, parentVNode);
24611 24568         if (replacements) {
@@ -24616,7 +24573,7 @@ module.exports = {
24616 24573       if (node.documentElement) {
24617 24574         node = node.documentElement;
24618 24575       }
24619    -1       nodeName2 = node.nodeName.toLowerCase();
   -1 24576       var nodeName2 = node.nodeName.toLowerCase();
24620 24577       if (is_shadow_root_default(node)) {
24621 24578         hasShadowRoot = true;
24622 24579         retVal = createNode(node, parent, shadowId);
@@ -24884,7 +24841,7 @@ module.exports = {
24884 24841         return {};
24885 24842       }
24886 24843       var navigator2 = win.navigator, innerHeight = win.innerHeight, innerWidth = win.innerWidth;
24887    -1       var _ref65 = getOrientation(win) || {}, angle = _ref65.angle, type2 = _ref65.type;
   -1 24844       var _ref64 = getOrientation(win) || {}, angle = _ref64.angle, type2 = _ref64.type;
24888 24845       return {
24889 24846         userAgent: navigator2.userAgent,
24890 24847         windowWidth: innerWidth,
@@ -24893,12 +24850,12 @@ module.exports = {
24893 24850         orientationType: type2
24894 24851       };
24895 24852     }
24896    -1     function getOrientation(_ref66) {
24897    -1       var screen = _ref66.screen;
   -1 24853     function getOrientation(_ref65) {
   -1 24854       var screen = _ref65.screen;
24898 24855       return screen.orientation || screen.msOrientation || screen.mozOrientation;
24899 24856     }
24900    -1     function createFrameContext(frame, _ref67) {
24901    -1       var focusable = _ref67.focusable, page = _ref67.page;
   -1 24857     function createFrameContext(frame, _ref66) {
   -1 24858       var focusable = _ref66.focusable, page = _ref66.page;
24902 24859       return {
24903 24860         node: frame,
24904 24861         include: [],
@@ -24931,11 +24888,11 @@ module.exports = {
24931 24888       };
24932 24889     }
24933 24890     function normalizeContext(contextSpec) {
24934    -1       if (isContextObject(contextSpec)) {
   -1 24891       if (_isContextObject(contextSpec)) {
24935 24892         var msg = ' must be used inside include or exclude. It should not be on the same object.';
24936    -1         assert2(!objectHasOwn(contextSpec, 'fromFrames'), 'fromFrames' + msg);
24937    -1         assert2(!objectHasOwn(contextSpec, 'fromShadowDom'), 'fromShadowDom' + msg);
24938    -1       } else if (isContextProp(contextSpec)) {
   -1 24893         assert2(!_objectHasOwn(contextSpec, 'fromFrames'), 'fromFrames' + msg);
   -1 24894         assert2(!_objectHasOwn(contextSpec, 'fromShadowDom'), 'fromShadowDom' + msg);
   -1 24895       } else if (_isContextProp(contextSpec)) {
24939 24896         contextSpec = {
24940 24897           include: contextSpec,
24941 24898           exclude: []
@@ -24956,17 +24913,14 @@ module.exports = {
24956 24913         exclude: exclude
24957 24914       };
24958 24915     }
24959    -1     function isContextSpec(contextSpec) {
24960    -1       return isContextObject(contextSpec) || isContextProp(contextSpec);
24961    -1     }
24962 24916     function normalizeContextList() {
24963 24917       var selectorList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
24964 24918       var normalizedList = [];
24965    -1       if (!isArrayLike(selectorList)) {
   -1 24919       if (!_isArrayLike(selectorList)) {
24966 24920         selectorList = [ selectorList ];
24967 24921       }
24968    -1       for (var _i21 = 0; _i21 < selectorList.length; _i21++) {
24969    -1         var normalizedSelector = normalizeContextSelector(selectorList[_i21]);
   -1 24922       for (var _i25 = 0; _i25 < selectorList.length; _i25++) {
   -1 24923         var normalizedSelector = normalizeContextSelector(selectorList[_i25]);
24970 24924         if (normalizedSelector) {
24971 24925           normalizedList.push(normalizedSelector);
24972 24926         }
@@ -24980,10 +24934,10 @@ module.exports = {
24980 24934       if (typeof selector === 'string') {
24981 24935         return [ selector ];
24982 24936       }
24983    -1       if (isLabelledFramesSelector(selector)) {
   -1 24937       if (_isLabelledFramesSelector(selector)) {
24984 24938         assertLabelledFrameSelector(selector);
24985 24939         selector = selector.fromFrames;
24986    -1       } else if (isLabelledShadowDomSelector(selector)) {
   -1 24940       } else if (_isLabelledShadowDomSelector(selector)) {
24987 24941         selector = [ selector ];
24988 24942       }
24989 24943       return normalizeFrameSelectors(selector);
@@ -24997,7 +24951,7 @@ module.exports = {
24997 24951       try {
24998 24952         for (_iterator11.s(); !(_step11 = _iterator11.n()).done; ) {
24999 24953           var selector = _step11.value;
25000    -1           if (isLabelledShadowDomSelector(selector)) {
   -1 24954           if (_isLabelledShadowDomSelector(selector)) {
25001 24955             assertLabelledShadowDomSelector(selector);
25002 24956             selector = selector.fromShadowDom;
25003 24957           }
@@ -25013,34 +24967,20 @@ module.exports = {
25013 24967       }
25014 24968       return normalizedSelectors;
25015 24969     }
25016    -1     function isContextObject(contextSpec) {
25017    -1       return [ 'include', 'exclude' ].some(function(prop) {
25018    -1         return objectHasOwn(contextSpec, prop) && isContextProp(contextSpec[prop]);
25019    -1       });
25020    -1     }
25021    -1     function isContextProp(contextList) {
25022    -1       return typeof contextList === 'string' || contextList instanceof window.Node || isLabelledFramesSelector(contextList) || isLabelledShadowDomSelector(contextList) || isArrayLike(contextList);
25023    -1     }
25024    -1     function isLabelledFramesSelector(selector) {
25025    -1       return objectHasOwn(selector, 'fromFrames');
25026    -1     }
25027    -1     function isLabelledShadowDomSelector(selector) {
25028    -1       return objectHasOwn(selector, 'fromShadowDom');
25029    -1     }
25030 24970     function assertLabelledFrameSelector(selector) {
25031 24971       assert2(Array.isArray(selector.fromFrames), 'fromFrames property must be an array');
25032 24972       assert2(selector.fromFrames.every(function(fromFrameSelector) {
25033    -1         return !objectHasOwn(fromFrameSelector, 'fromFrames');
   -1 24973         return !_objectHasOwn(fromFrameSelector, 'fromFrames');
25034 24974       }), 'Invalid context; fromFrames selector must be appended, rather than nested');
25035    -1       assert2(!objectHasOwn(selector, 'fromShadowDom'), 'fromFrames and fromShadowDom cannot be used on the same object');
   -1 24975       assert2(!_objectHasOwn(selector, 'fromShadowDom'), 'fromFrames and fromShadowDom cannot be used on the same object');
25036 24976     }
25037 24977     function assertLabelledShadowDomSelector(selector) {
25038 24978       assert2(Array.isArray(selector.fromShadowDom), 'fromShadowDom property must be an array');
25039 24979       assert2(selector.fromShadowDom.every(function(fromShadowDomSelector) {
25040    -1         return !objectHasOwn(fromShadowDomSelector, 'fromFrames');
   -1 24980         return !_objectHasOwn(fromShadowDomSelector, 'fromFrames');
25041 24981       }), 'shadow selector must be inside fromFrame instead');
25042 24982       assert2(selector.fromShadowDom.every(function(fromShadowDomSelector) {
25043    -1         return !objectHasOwn(fromShadowDomSelector, 'fromShadowDom');
   -1 24983         return !_objectHasOwn(fromShadowDomSelector, 'fromShadowDom');
25044 24984       }), 'fromShadowDom selector must be appended, rather than nested');
25045 24985     }
25046 24986     function isShadowSelector(selector) {
@@ -25048,22 +24988,13 @@ module.exports = {
25048 24988         return typeof str === 'string';
25049 24989       });
25050 24990     }
25051    -1     function isArrayLike(arr) {
25052    -1       return arr && _typeof(arr) === 'object' && typeof arr.length === 'number' && arr instanceof window.Node === false;
25053    -1     }
25054 24991     function assert2(bool, str) {
25055 24992       assert_default(bool, 'Invalid context; '.concat(str, '\nSee: https://github.com/dequelabs/axe-core/blob/master/doc/context.md'));
25056 24993     }
25057    -1     function objectHasOwn(obj, prop) {
25058    -1       if (!obj || _typeof(obj) !== 'object') {
25059    -1         return false;
25060    -1       }
25061    -1       return Object.prototype.hasOwnProperty.call(obj, prop);
25062    -1     }
25063 24994     function parseSelectorArray(context, type2) {
25064 24995       var result = [];
25065    -1       for (var _i22 = 0, l = context[type2].length; _i22 < l; _i22++) {
25066    -1         var item = context[type2][_i22];
   -1 24996       for (var _i26 = 0, l = context[type2].length; _i26 < l; _i26++) {
   -1 24997         var item = context[type2][_i26];
25067 24998         if (item instanceof window.Node) {
25068 24999           if (item.documentElement instanceof window.Node) {
25069 25000             result.push(context.flatTree[0]);
@@ -25101,13 +25032,13 @@ module.exports = {
25101 25032       });
25102 25033     }
25103 25034     function Context(spec, flatTree) {
25104    -1       var _spec, _spec2, _spec3, _spec4, _this5 = this;
   -1 25035       var _spec2, _spec3, _spec4, _spec5, _this5 = this;
25105 25036       spec = _clone(spec);
25106 25037       this.frames = [];
25107    -1       this.page = typeof ((_spec = spec) === null || _spec === void 0 ? void 0 : _spec.page) === 'boolean' ? spec.page : void 0;
25108    -1       this.initiator = typeof ((_spec2 = spec) === null || _spec2 === void 0 ? void 0 : _spec2.initiator) === 'boolean' ? spec.initiator : true;
25109    -1       this.focusable = typeof ((_spec3 = spec) === null || _spec3 === void 0 ? void 0 : _spec3.focusable) === 'boolean' ? spec.focusable : true;
25110    -1       this.size = _typeof((_spec4 = spec) === null || _spec4 === void 0 ? void 0 : _spec4.size) === 'object' ? spec.size : {};
   -1 25038       this.page = typeof ((_spec2 = spec) === null || _spec2 === void 0 ? void 0 : _spec2.page) === 'boolean' ? spec.page : void 0;
   -1 25039       this.initiator = typeof ((_spec3 = spec) === null || _spec3 === void 0 ? void 0 : _spec3.initiator) === 'boolean' ? spec.initiator : true;
   -1 25040       this.focusable = typeof ((_spec4 = spec) === null || _spec4 === void 0 ? void 0 : _spec4.focusable) === 'boolean' ? spec.focusable : true;
   -1 25041       this.size = _typeof((_spec5 = spec) === null || _spec5 === void 0 ? void 0 : _spec5.size) === 'object' ? spec.size : {};
25111 25042       spec = normalizeContext(spec);
25112 25043       this.flatTree = flatTree !== null && flatTree !== void 0 ? flatTree : _getFlattenedTree(getRootNode2(spec));
25113 25044       this.exclude = spec.exclude;
@@ -25137,8 +25068,8 @@ module.exports = {
25137 25068       }
25138 25069       context.frames.push(createFrameContext(frame, context));
25139 25070     }
25140    -1     function isPageContext(_ref68) {
25141    -1       var include = _ref68.include;
   -1 25071     function isPageContext(_ref67) {
   -1 25072       var include = _ref67.include;
25142 25073       return include.length === 1 && include[0].actualNode === document.documentElement;
25143 25074     }
25144 25075     function validateContext(context) {
@@ -25147,11 +25078,11 @@ module.exports = {
25147 25078         throw new Error('No elements found for include in ' + env + ' Context');
25148 25079       }
25149 25080     }
25150    -1     function getRootNode2(_ref69) {
25151    -1       var include = _ref69.include, exclude = _ref69.exclude;
   -1 25081     function getRootNode2(_ref68) {
   -1 25082       var include = _ref68.include, exclude = _ref68.exclude;
25152 25083       var selectors = Array.from(include).concat(Array.from(exclude));
25153    -1       for (var _i23 = 0; _i23 < selectors.length; _i23++) {
25154    -1         var item = selectors[_i23];
   -1 25084       for (var _i27 = 0; _i27 < selectors.length; _i27++) {
   -1 25085         var item = selectors[_i27];
25155 25086         if (item instanceof window.Element) {
25156 25087           return item.ownerDocument.documentElement;
25157 25088         }
@@ -25167,8 +25098,8 @@ module.exports = {
25167 25098         return [];
25168 25099       }
25169 25100       var _Context = new Context(context), frames = _Context.frames;
25170    -1       return frames.map(function(_ref70) {
25171    -1         var node = _ref70.node, frameContext = _objectWithoutProperties(_ref70, _excluded14);
   -1 25101       return frames.map(function(_ref69) {
   -1 25102         var node = _ref69.node, frameContext = _objectWithoutProperties(_ref69, _excluded14);
25172 25103         frameContext.initiator = false;
25173 25104         var frameSelector = _getAncestry(node);
25174 25105         return {
@@ -25178,8 +25109,8 @@ module.exports = {
25178 25109       });
25179 25110     }
25180 25111     function _getRule(ruleId) {
25181    -1       var rule = axe._audit.rules.find(function(_ref71) {
25182    -1         var id = _ref71.id;
   -1 25112       var rule = axe._audit.rules.find(function(_ref70) {
   -1 25113         var id = _ref70.id;
25183 25114         return id === ruleId;
25184 25115       });
25185 25116       if (!rule) {
@@ -25286,6 +25217,32 @@ module.exports = {
25286 25217       return styleSheet;
25287 25218     }
25288 25219     var inject_style_default = injectStyle;
   -1 25220     function _isArrayLike(arr) {
   -1 25221       return !!arr && _typeof(arr) === 'object' && typeof arr.length === 'number' && arr instanceof window.Node === false;
   -1 25222     }
   -1 25223     function _objectHasOwn(obj, prop) {
   -1 25224       if (!obj || _typeof(obj) !== 'object') {
   -1 25225         return false;
   -1 25226       }
   -1 25227       return Object.prototype.hasOwnProperty.call(obj, prop);
   -1 25228     }
   -1 25229     function _isContextSpec(contextSpec) {
   -1 25230       return _isContextObject(contextSpec) || _isContextProp(contextSpec);
   -1 25231     }
   -1 25232     function _isContextObject(contextSpec) {
   -1 25233       return [ 'include', 'exclude' ].some(function(prop) {
   -1 25234         return _objectHasOwn(contextSpec, prop) && _isContextProp(contextSpec[prop]);
   -1 25235       });
   -1 25236     }
   -1 25237     function _isContextProp(contextList) {
   -1 25238       return typeof contextList === 'string' || contextList instanceof window.Node || _isLabelledFramesSelector(contextList) || _isLabelledShadowDomSelector(contextList) || _isArrayLike(contextList);
   -1 25239     }
   -1 25240     function _isLabelledFramesSelector(selector) {
   -1 25241       return _objectHasOwn(selector, 'fromFrames');
   -1 25242     }
   -1 25243     function _isLabelledShadowDomSelector(selector) {
   -1 25244       return _objectHasOwn(selector, 'fromShadowDom');
   -1 25245     }
25289 25246     function isHidden(el, recursed) {
25290 25247       var node = get_node_from_tree_default(el);
25291 25248       if (el.nodeType === 9) {
@@ -25318,8 +25275,8 @@ module.exports = {
25318 25275       return !!standards_default.htmlElms[nodeName2];
25319 25276     }
25320 25277     var is_html_element_default = isHtmlElement;
25321    -1     function _isNodeInContext(node, _ref72) {
25322    -1       var _ref72$include = _ref72.include, include = _ref72$include === void 0 ? [] : _ref72$include, _ref72$exclude = _ref72.exclude, exclude = _ref72$exclude === void 0 ? [] : _ref72$exclude;
   -1 25278     function _isNodeInContext(node, _ref71) {
   -1 25279       var _ref71$include = _ref71.include, include = _ref71$include === void 0 ? [] : _ref71$include, _ref71$exclude = _ref71.exclude, exclude = _ref71$exclude === void 0 ? [] : _ref71$exclude;
25323 25280       var filterInclude = include.filter(function(candidate) {
25324 25281         return _contains(candidate, node);
25325 25282       });
@@ -25526,16 +25483,16 @@ module.exports = {
25526 25483           }
25527 25484         },
25528 25485         logMeasures: function logMeasures(measureName) {
25529    -1           function logMeasure(req2) {
25530    -1             log_default('Measure ' + req2.name + ' took ' + req2.duration + 'ms');
   -1 25486           function logMeasure(req) {
   -1 25487             log_default('Measure ' + req.name + ' took ' + req.duration + 'ms');
25531 25488           }
25532 25489           if (window.performance && window.performance.getEntriesByType !== void 0) {
25533 25490             var axeStart = window.performance.getEntriesByName('mark_axe_start')[0];
25534 25491             var measures = window.performance.getEntriesByType('measure').filter(function(measure) {
25535 25492               return measure.startTime >= axeStart.startTime;
25536 25493             });
25537    -1             for (var i = 0; i < measures.length; ++i) {
25538    -1               var req = measures[i];
   -1 25494             for (var _i28 = 0; _i28 < measures.length; ++_i28) {
   -1 25495               var req = measures[_i28];
25539 25496               if (req.name === measureName) {
25540 25497                 logMeasure(req);
25541 25498                 return;
@@ -25629,9 +25586,9 @@ module.exports = {
25629 25586         var childAny = null;
25630 25587         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);
25631 25588         var added = false;
25632    -1         for (var _i24 = 0; _i24 < combinedLength; _i24++) {
   -1 25589         for (var _i29 = 0; _i29 < combinedLength; _i29++) {
25633 25590           var _currentLevel$anyLeve2, _currentLevel$anyLeve3, _currentLevel$anyLeve4;
25634    -1           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)];
   -1 25591           var exp = _i29 < (((_currentLevel$anyLeve2 = currentLevel.anyLevel) === null || _currentLevel$anyLeve2 === void 0 ? void 0 : _currentLevel$anyLeve2.length) || 0) ? currentLevel.anyLevel[_i29] : currentLevel.thisLevel[_i29 - (((_currentLevel$anyLeve3 = currentLevel.anyLevel) === null || _currentLevel$anyLeve3 === void 0 ? void 0 : _currentLevel$anyLeve3.length) || 0)];
25635 25592           if ((!exp[0].id || vNode.shadowId === currentLevel.parentShadowId) && _matchesExpression(vNode, exp[0])) {
25636 25593             if (exp.length === 1) {
25637 25594               if (!added && (!filter || filter(vNode))) {
@@ -25675,8 +25632,8 @@ module.exports = {
25675 25632       return matchExpressions(domTree, expressions, filter);
25676 25633     }
25677 25634     var query_selector_all_filter_default = querySelectorAllFilter;
25678    -1     function preloadCssom(_ref73) {
25679    -1       var _ref73$treeRoot = _ref73.treeRoot, treeRoot = _ref73$treeRoot === void 0 ? axe._tree[0] : _ref73$treeRoot;
   -1 25635     function preloadCssom(_ref72) {
   -1 25636       var _ref72$treeRoot = _ref72.treeRoot, treeRoot = _ref72$treeRoot === void 0 ? axe._tree[0] : _ref72$treeRoot;
25680 25637       var rootNodes = getAllRootNodesInTree(treeRoot);
25681 25638       if (!rootNodes.length) {
25682 25639         return Promise.resolve();
@@ -25706,8 +25663,8 @@ module.exports = {
25706 25663     }
25707 25664     function getCssomForAllRootNodes(rootNodes, convertDataToStylesheet) {
25708 25665       var promises = [];
25709    -1       rootNodes.forEach(function(_ref74, index) {
25710    -1         var rootNode = _ref74.rootNode, shadowId = _ref74.shadowId;
   -1 25666       rootNodes.forEach(function(_ref73, index) {
   -1 25667         var rootNode = _ref73.rootNode, shadowId = _ref73.shadowId;
25711 25668         var sheets = getStylesheetsOfRootNode(rootNode, shadowId, convertDataToStylesheet);
25712 25669         if (!sheets) {
25713 25670           return Promise.all(promises);
@@ -25793,10 +25750,10 @@ module.exports = {
25793 25750         return true;
25794 25751       });
25795 25752     }
25796    -1     function preloadMedia(_ref75) {
25797    -1       var _ref75$treeRoot = _ref75.treeRoot, treeRoot = _ref75$treeRoot === void 0 ? axe._tree[0] : _ref75$treeRoot;
25798    -1       var mediaVirtualNodes = query_selector_all_filter_default(treeRoot, 'video, audio', function(_ref76) {
25799    -1         var actualNode = _ref76.actualNode;
   -1 25753     function preloadMedia(_ref74) {
   -1 25754       var _ref74$treeRoot = _ref74.treeRoot, treeRoot = _ref74$treeRoot === void 0 ? axe._tree[0] : _ref74$treeRoot;
   -1 25755       var mediaVirtualNodes = query_selector_all_filter_default(treeRoot, 'video, audio', function(_ref75) {
   -1 25756         var actualNode = _ref75.actualNode;
25800 25757         if (actualNode.hasAttribute('src')) {
25801 25758           return !!actualNode.getAttribute('src');
25802 25759         }
@@ -25808,8 +25765,8 @@ module.exports = {
25808 25765         }
25809 25766         return true;
25810 25767       });
25811    -1       return Promise.all(mediaVirtualNodes.map(function(_ref77) {
25812    -1         var actualNode = _ref77.actualNode;
   -1 25768       return Promise.all(mediaVirtualNodes.map(function(_ref76) {
   -1 25769         var actualNode = _ref76.actualNode;
25813 25770         return isMediaElementReady(actualNode);
25814 25771       }));
25815 25772     }
@@ -25922,7 +25879,7 @@ module.exports = {
25922 25879             throw new Error();
25923 25880           }
25924 25881           return msg;
25925    -1         } catch (e) {
   -1 25882         } catch (_unused5) {
25926 25883           if (typeof checkData.missingData === 'string') {
25927 25884             return messages.incomplete[checkData.missingData];
25928 25885           } else {
@@ -25962,7 +25919,7 @@ module.exports = {
25962 25919     }
25963 25920     var query_selector_all_default = querySelectorAll;
25964 25921     function matchTags(rule, runOnly) {
25965    -1       var include, exclude, matching;
   -1 25922       var include, exclude;
25966 25923       var defaultExclude = axe._audit && axe._audit.tagExclude ? axe._audit.tagExclude : [];
25967 25924       if (runOnly.hasOwnProperty('include') || runOnly.hasOwnProperty('exclude')) {
25968 25925         include = runOnly.include || [];
@@ -25978,7 +25935,7 @@ module.exports = {
25978 25935           return include.indexOf(tag) === -1;
25979 25936         });
25980 25937       }
25981    -1       matching = include.some(function(tag) {
   -1 25938       var matching = include.some(function(tag) {
25982 25939         return rule.tags.indexOf(tag) !== -1;
25983 25940       });
25984 25941       if (matching || include.length === 0 && rule.enabled !== false) {
@@ -26058,8 +26015,8 @@ module.exports = {
26058 26015       }
26059 26016       var outerIncludes = getOuterIncludes(context.include);
26060 26017       var isInContext = getContextFilter(context);
26061    -1       for (var _i25 = 0; _i25 < outerIncludes.length; _i25++) {
26062    -1         candidate = outerIncludes[_i25];
   -1 26018       for (var _i30 = 0; _i30 < outerIncludes.length; _i30++) {
   -1 26019         candidate = outerIncludes[_i30];
26063 26020         var nodes = query_selector_all_filter_default(candidate, selector, isInContext);
26064 26021         result = mergeArrayUniques(result, nodes);
26065 26022       }
@@ -26096,9 +26053,9 @@ module.exports = {
26096 26053         arr1 = arr2;
26097 26054         arr2 = temp;
26098 26055       }
26099    -1       for (var _i26 = 0, l = arr2.length; _i26 < l; _i26++) {
26100    -1         if (!arr1.includes(arr2[_i26])) {
26101    -1           arr1.push(arr2[_i26]);
   -1 26056       for (var _i31 = 0, l = arr2.length; _i31 < l; _i31++) {
   -1 26057         if (!arr1.includes(arr2[_i31])) {
   -1 26058           arr1.push(arr2[_i31]);
26102 26059         }
26103 26060       }
26104 26061       return arr1;
@@ -26112,8 +26069,8 @@ module.exports = {
26112 26069       }
26113 26070     }
26114 26071     function setScrollState(scrollState) {
26115    -1       scrollState.forEach(function(_ref79) {
26116    -1         var elm = _ref79.elm, top = _ref79.top, left = _ref79.left;
   -1 26072       scrollState.forEach(function(_ref78) {
   -1 26073         var elm = _ref78.elm, top = _ref78.top, left = _ref78.left;
26117 26074         return setScroll(elm, top, left);
26118 26075       });
26119 26076     }
@@ -26141,8 +26098,8 @@ module.exports = {
26141 26098       }
26142 26099       return selectAllRecursive(selectorArr, doc);
26143 26100     }
26144    -1     function selectAllRecursive(_ref80, doc) {
26145    -1       var _ref81 = _toArray(_ref80), selectorStr = _ref81[0], restSelector = _ref81.slice(1);
   -1 26101     function selectAllRecursive(_ref79, doc) {
   -1 26102       var _ref80 = _toArray(_ref79), selectorStr = _ref80[0], restSelector = _ref80.slice(1);
26146 26103       var elms = doc.querySelectorAll(selectorStr);
26147 26104       if (restSelector.length === 0) {
26148 26105         return Array.from(elms);
@@ -26173,8 +26130,8 @@ module.exports = {
26173 26130       while (lang.length < 3) {
26174 26131         lang += '`';
26175 26132       }
26176    -1       for (var _i27 = 0; _i27 <= lang.length - 1; _i27++) {
26177    -1         var index = lang.charCodeAt(_i27) - 96;
   -1 26133       for (var _i32 = 0; _i32 <= lang.length - 1; _i32++) {
   -1 26134         var index = lang.charCodeAt(_i32) - 96;
26178 26135         array = array[index];
26179 26136         if (!array) {
26180 26137           return false;
@@ -26244,9 +26201,9 @@ module.exports = {
26244 26201       nodeTypeToName[nodeNamesToTypes[nodeName2]] = nodeName2;
26245 26202     });
26246 26203     function normaliseProps(serialNode) {
26247    -1       var _serialNode$nodeName, _ref82, _serialNode$nodeType;
   -1 26204       var _serialNode$nodeName, _ref81, _serialNode$nodeType;
26248 26205       var nodeName2 = (_serialNode$nodeName = serialNode.nodeName) !== null && _serialNode$nodeName !== void 0 ? _serialNode$nodeName : nodeTypeToName[serialNode.nodeType];
26249    -1       var nodeType = (_ref82 = (_serialNode$nodeType = serialNode.nodeType) !== null && _serialNode$nodeType !== void 0 ? _serialNode$nodeType : nodeNamesToTypes[serialNode.nodeName]) !== null && _ref82 !== void 0 ? _ref82 : 1;
   -1 26206       var nodeType = (_ref81 = (_serialNode$nodeType = serialNode.nodeType) !== null && _serialNode$nodeType !== void 0 ? _serialNode$nodeType : nodeNamesToTypes[serialNode.nodeName]) !== null && _ref81 !== void 0 ? _ref81 : 1;
26250 26207       assert_default(typeof nodeType === 'number', 'nodeType has to be a number, got \''.concat(nodeType, '\''));
26251 26208       assert_default(typeof nodeName2 === 'string', 'nodeName has to be a string, got \''.concat(nodeName2, '\''));
26252 26209       nodeName2 = nodeName2.toLowerCase();
@@ -26267,8 +26224,8 @@ module.exports = {
26267 26224       delete props.attributes;
26268 26225       return Object.freeze(props);
26269 26226     }
26270    -1     function normaliseAttrs(_ref83) {
26271    -1       var _ref83$attributes = _ref83.attributes, attributes2 = _ref83$attributes === void 0 ? {} : _ref83$attributes;
   -1 26227     function normaliseAttrs(_ref82) {
   -1 26228       var _ref82$attributes = _ref82.attributes, attributes2 = _ref82$attributes === void 0 ? {} : _ref82$attributes;
26272 26229       var attrMap = {
26273 26230         htmlFor: 'for',
26274 26231         className: 'class'
@@ -26343,8 +26300,7 @@ module.exports = {
26343 26300       }
26344 26301     }
26345 26302     function configure(spec) {
26346    -1       var audit;
26347    -1       audit = axe._audit;
   -1 26303       var audit = axe._audit;
26348 26304       if (!audit) {
26349 26305         throw new Error('No audit configured');
26350 26306       }
@@ -26650,8 +26606,8 @@ module.exports = {
26650 26606         return true;
26651 26607       }
26652 26608       var bgColor, bgImage;
26653    -1       for (rowIndex = 0; rowIndex < rowLength; rowIndex++) {
26654    -1         row = node.rows[rowIndex];
   -1 26609       for (var _rowIndex = 0; _rowIndex < rowLength; _rowIndex++) {
   -1 26610         row = node.rows[_rowIndex];
26655 26611         if (bgColor && bgColor !== window.getComputedStyle(row).getPropertyValue('background-color')) {
26656 26612           return true;
26657 26613         } else {
@@ -26961,8 +26917,8 @@ module.exports = {
26961 26917             idRefs.get(_id3).push(node);
26962 26918           }
26963 26919         }
26964    -1         for (var _i28 = 0; _i28 < refAttrs.length; ++_i28) {
26965    -1           var attr = refAttrs[_i28];
   -1 26920         for (var _i33 = 0; _i33 < refAttrs.length; ++_i33) {
   -1 26921           var attr = refAttrs[_i33];
26966 26922           var attrValue = sanitize_default(node.getAttribute(attr) || '');
26967 26923           if (!attrValue) {
26968 26924             continue;
@@ -26984,9 +26940,9 @@ module.exports = {
26984 26940           }
26985 26941         }
26986 26942       }
26987    -1       for (var _i29 = 0; _i29 < node.childNodes.length; _i29++) {
26988    -1         if (node.childNodes[_i29].nodeType === 1) {
26989    -1           cacheIdRefs(node.childNodes[_i29], idRefs, refAttrs);
   -1 26943       for (var _i34 = 0; _i34 < node.childNodes.length; _i34++) {
   -1 26944         if (node.childNodes[_i34].nodeType === 1) {
   -1 26945           cacheIdRefs(node.childNodes[_i34], idRefs, refAttrs);
26990 26946         }
26991 26947       }
26992 26948     }
@@ -28834,8 +28790,8 @@ module.exports = {
28834 28790       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' ]
28835 28791     } ];
28836 28792     lookupTable.evaluateRoleForElement = {
28837    -1       A: function A(_ref84) {
28838    -1         var node = _ref84.node, out = _ref84.out;
   -1 28793       A: function A(_ref83) {
   -1 28794         var node = _ref83.node, out = _ref83.out;
28839 28795         if (node.namespaceURI === 'http://www.w3.org/2000/svg') {
28840 28796           return true;
28841 28797         }
@@ -28844,19 +28800,19 @@ module.exports = {
28844 28800         }
28845 28801         return true;
28846 28802       },
28847    -1       AREA: function AREA(_ref85) {
28848    -1         var node = _ref85.node;
   -1 28803       AREA: function AREA(_ref84) {
   -1 28804         var node = _ref84.node;
28849 28805         return !node.href;
28850 28806       },
28851    -1       BUTTON: function BUTTON(_ref86) {
28852    -1         var node = _ref86.node, role = _ref86.role, out = _ref86.out;
   -1 28807       BUTTON: function BUTTON(_ref85) {
   -1 28808         var node = _ref85.node, role = _ref85.role, out = _ref85.out;
28853 28809         if (node.getAttribute('type') === 'menu') {
28854 28810           return role === 'menuitem';
28855 28811         }
28856 28812         return out;
28857 28813       },
28858    -1       IMG: function IMG(_ref87) {
28859    -1         var node = _ref87.node, role = _ref87.role, out = _ref87.out;
   -1 28814       IMG: function IMG(_ref86) {
   -1 28815         var node = _ref86.node, role = _ref86.role, out = _ref86.out;
28860 28816         switch (node.alt) {
28861 28817          case null:
28862 28818           return out;
@@ -28868,8 +28824,8 @@ module.exports = {
28868 28824           return role !== 'presentation' && role !== 'none';
28869 28825         }
28870 28826       },
28871    -1       INPUT: function INPUT(_ref88) {
28872    -1         var node = _ref88.node, role = _ref88.role, out = _ref88.out;
   -1 28827       INPUT: function INPUT(_ref87) {
   -1 28828         var node = _ref87.node, role = _ref87.role, out = _ref87.out;
28873 28829         switch (node.type) {
28874 28830          case 'button':
28875 28831          case 'image':
@@ -28899,32 +28855,32 @@ module.exports = {
28899 28855           return false;
28900 28856         }
28901 28857       },
28902    -1       LI: function LI(_ref89) {
28903    -1         var node = _ref89.node, out = _ref89.out;
   -1 28858       LI: function LI(_ref88) {
   -1 28859         var node = _ref88.node, out = _ref88.out;
28904 28860         var hasImplicitListitemRole = axe.utils.matchesSelector(node, 'ol li, ul li');
28905 28861         if (hasImplicitListitemRole) {
28906 28862           return out;
28907 28863         }
28908 28864         return true;
28909 28865       },
28910    -1       MENU: function MENU(_ref90) {
28911    -1         var node = _ref90.node;
   -1 28866       MENU: function MENU(_ref89) {
   -1 28867         var node = _ref89.node;
28912 28868         if (node.getAttribute('type') === 'context') {
28913 28869           return false;
28914 28870         }
28915 28871         return true;
28916 28872       },
28917    -1       OPTION: function OPTION(_ref91) {
28918    -1         var node = _ref91.node;
   -1 28873       OPTION: function OPTION(_ref90) {
   -1 28874         var node = _ref90.node;
28919 28875         var withinOptionList = axe.utils.matchesSelector(node, 'select > option, datalist > option, optgroup > option');
28920 28876         return !withinOptionList;
28921 28877       },
28922    -1       SELECT: function SELECT(_ref92) {
28923    -1         var node = _ref92.node, role = _ref92.role;
   -1 28878       SELECT: function SELECT(_ref91) {
   -1 28879         var node = _ref91.node, role = _ref91.role;
28924 28880         return !node.multiple && node.size <= 1 && role === 'menu';
28925 28881       },
28926    -1       SVG: function SVG(_ref93) {
28927    -1         var node = _ref93.node, out = _ref93.out;
   -1 28882       SVG: function SVG(_ref92) {
   -1 28883         var node = _ref92.node, out = _ref92.out;
28928 28884         if (node.parentNode && node.parentNode.namespaceURI === 'http://www.w3.org/2000/svg') {
28929 28885           return true;
28930 28886         }
@@ -28950,7 +28906,7 @@ module.exports = {
28950 28906     var is_accessible_ref_default = isAccessibleRef;
28951 28907     function _isComboboxPopup(virtualNode) {
28952 28908       var _popupRoles;
28953    -1       var _ref94 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, popupRoles = _ref94.popupRoles;
   -1 28909       var _ref93 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, popupRoles = _ref93.popupRoles;
28954 28910       var role = get_role_default(virtualNode);
28955 28911       (_popupRoles = popupRoles) !== null && _popupRoles !== void 0 ? _popupRoles : popupRoles = aria_attrs_default['aria-haspopup'].values;
28956 28912       if (!popupRoles.includes(role)) {
@@ -29042,7 +28998,7 @@ module.exports = {
29042 28998         try {
29043 28999           var doc = get_root_node_default2(vNode.actualNode);
29044 29000           return !!(value && doc.getElementById(value));
29045    -1         } catch (e) {
   -1 29001         } catch (_unused6) {
29046 29002           throw new TypeError('Cannot resolve id references for partial DOM');
29047 29003         }
29048 29004 
@@ -29133,8 +29089,8 @@ module.exports = {
29133 29089       if (!virtualNode.children) {
29134 29090         return void 0;
29135 29091       }
29136    -1       var titleNode = virtualNode.children.find(function(_ref95) {
29137    -1         var props = _ref95.props;
   -1 29092       var titleNode = virtualNode.children.find(function(_ref94) {
   -1 29093         var props = _ref94.props;
29138 29094         return props.nodeName === 'title';
29139 29095       });
29140 29096       if (!titleNode) {
@@ -29153,7 +29109,7 @@ module.exports = {
29153 29109           });
29154 29110           return false;
29155 29111         }
29156    -1       } catch (e) {
   -1 29112       } catch (_unused7) {
29157 29113         return void 0;
29158 29114       }
29159 29115       return true;
@@ -29271,8 +29227,8 @@ module.exports = {
29271 29227       }
29272 29228       return false;
29273 29229     }
29274    -1     function getNumberValue(domNode, _ref96) {
29275    -1       var cssProperty = _ref96.cssProperty, absoluteValues = _ref96.absoluteValues, normalValue = _ref96.normalValue;
   -1 29230     function getNumberValue(domNode, _ref95) {
   -1 29231       var cssProperty = _ref95.cssProperty, absoluteValues = _ref95.absoluteValues, normalValue = _ref95.normalValue;
29276 29232       var computedStyle = window.getComputedStyle(domNode);
29277 29233       var cssPropValue = computedStyle.getPropertyValue(cssProperty);
29278 29234       if (cssPropValue === 'normal') {
@@ -29322,7 +29278,7 @@ module.exports = {
29322 29278     function ariaLabelledbyEvaluate(node, options, virtualNode) {
29323 29279       try {
29324 29280         return !!sanitize_default(arialabelledby_text_default(virtualNode));
29325    -1       } catch (e) {
   -1 29281       } catch (_unused8) {
29326 29282         return void 0;
29327 29283       }
29328 29284     }
@@ -29419,8 +29375,8 @@ module.exports = {
29419 29375       } else if (node !== document.body && has_content_default(node, true) && !isShallowlyHidden(virtualNode)) {
29420 29376         return [ virtualNode ];
29421 29377       } else {
29422    -1         return virtualNode.children.filter(function(_ref97) {
29423    -1           var actualNode = _ref97.actualNode;
   -1 29378         return virtualNode.children.filter(function(_ref96) {
   -1 29379           var actualNode = _ref96.actualNode;
29424 29380           return actualNode.nodeType === 1;
29425 29381         }).map(function(vNode) {
29426 29382           return findRegionlessElms(vNode, options);
@@ -29502,16 +29458,16 @@ module.exports = {
29502 29458       var outerText = elm.textContent.trim();
29503 29459       var innerText = outerText;
29504 29460       while (innerText === outerText && nextNode !== void 0) {
29505    -1         var _i30 = -1;
   -1 29461         var _i35 = -1;
29506 29462         elm = nextNode;
29507 29463         if (elm.children.length === 0) {
29508 29464           return elm;
29509 29465         }
29510 29466         do {
29511    -1           _i30++;
29512    -1           innerText = elm.children[_i30].textContent.trim();
29513    -1         } while (innerText === '' && _i30 + 1 < elm.children.length);
29514    -1         nextNode = elm.children[_i30];
   -1 29467           _i35++;
   -1 29468           innerText = elm.children[_i35].textContent.trim();
   -1 29469         } while (innerText === '' && _i35 + 1 < elm.children.length);
   -1 29470         nextNode = elm.children[_i35];
29515 29471       }
29516 29472       return elm;
29517 29473     }
@@ -29568,7 +29524,7 @@ module.exports = {
29568 29524     var separatorRegex = /[;,\s]/;
29569 29525     var validRedirectNumRegex = /^[0-9.]+$/;
29570 29526     function metaRefreshEvaluate(node, options, virtualNode) {
29571    -1       var _ref98 = options || {}, minDelay = _ref98.minDelay, maxDelay = _ref98.maxDelay;
   -1 29527       var _ref97 = options || {}, minDelay = _ref97.minDelay, maxDelay = _ref97.maxDelay;
29572 29528       var content = (virtualNode.attr('content') || '').trim();
29573 29529       var _content$split = content.split(separatorRegex), _content$split2 = _slicedToArray(_content$split, 1), redirectStr = _content$split2[0];
29574 29530       if (!redirectStr.match(validRedirectNumRegex)) {
@@ -29919,8 +29875,8 @@ module.exports = {
29919 29875       if (a2.length !== b2.length) {
29920 29876         return false;
29921 29877       }
29922    -1       for (var i = 0; i < a2.length; ++i) {
29923    -1         if (a2[i] !== b2[i]) {
   -1 29878       for (var _i36 = 0; _i36 < a2.length; ++_i36) {
   -1 29879         if (a2[_i36] !== b2[_i36]) {
29924 29880           return false;
29925 29881         }
29926 29882       }
@@ -29931,10 +29887,10 @@ module.exports = {
29931 29887     var OPAQUE_STROKE_OFFSET_MIN_PX = 1.5;
29932 29888     var edges = [ 'top', 'right', 'bottom', 'left' ];
29933 29889     function _getStrokeColorsFromShadows(parsedShadows) {
29934    -1       var _ref99 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref99$ignoreEdgeCoun = _ref99.ignoreEdgeCount, ignoreEdgeCount = _ref99$ignoreEdgeCoun === void 0 ? false : _ref99$ignoreEdgeCoun;
   -1 29890       var _ref98 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref98$ignoreEdgeCoun = _ref98.ignoreEdgeCount, ignoreEdgeCount = _ref98$ignoreEdgeCoun === void 0 ? false : _ref98$ignoreEdgeCoun;
29935 29891       var shadowMap = getShadowColorsMap(parsedShadows);
29936    -1       var shadowsByColor = Object.entries(shadowMap).map(function(_ref100) {
29937    -1         var _ref101 = _slicedToArray(_ref100, 2), colorStr = _ref101[0], sides = _ref101[1];
   -1 29892       var shadowsByColor = Object.entries(shadowMap).map(function(_ref99) {
   -1 29893         var _ref100 = _slicedToArray(_ref99, 2), colorStr = _ref100[0], sides = _ref100[1];
29938 29894         var edgeCount = edges.filter(function(side) {
29939 29895           return sides[side].length !== 0;
29940 29896         }).length;
@@ -29944,8 +29900,8 @@ module.exports = {
29944 29900           edgeCount: edgeCount
29945 29901         };
29946 29902       });
29947    -1       if (!ignoreEdgeCount && shadowsByColor.some(function(_ref102) {
29948    -1         var edgeCount = _ref102.edgeCount;
   -1 29903       if (!ignoreEdgeCount && shadowsByColor.some(function(_ref101) {
   -1 29904         var edgeCount = _ref101.edgeCount;
29949 29905         return edgeCount > 1 && edgeCount < 4;
29950 29906       })) {
29951 29907         return null;
@@ -29987,8 +29943,8 @@ module.exports = {
29987 29943       }
29988 29944       return colorMap;
29989 29945     }
29990    -1     function shadowGroupToColor(_ref103) {
29991    -1       var colorStr = _ref103.colorStr, sides = _ref103.sides, edgeCount = _ref103.edgeCount;
   -1 29946     function shadowGroupToColor(_ref102) {
   -1 29947       var colorStr = _ref102.colorStr, sides = _ref102.sides, edgeCount = _ref102.edgeCount;
29992 29948       if (edgeCount !== 4) {
29993 29949         return null;
29994 29950       }
@@ -30039,8 +29995,8 @@ module.exports = {
30039 29995           throw new Error('Unable to process text-shadows: '.concat(str));
30040 29996         }
30041 29997       }
30042    -1       shadows.forEach(function(_ref104) {
30043    -1         var pixels = _ref104.pixels;
   -1 29998       shadows.forEach(function(_ref103) {
   -1 29999         var pixels = _ref103.pixels;
30044 30000         if (pixels.length === 2) {
30045 30001           pixels.push(0);
30046 30002         }
@@ -30048,7 +30004,7 @@ module.exports = {
30048 30004       return shadows;
30049 30005     }
30050 30006     function _getTextShadowColors(node) {
30051    -1       var _ref105 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, minRatio = _ref105.minRatio, maxRatio = _ref105.maxRatio, ignoreEdgeCount = _ref105.ignoreEdgeCount;
   -1 30007       var _ref104 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, minRatio = _ref104.minRatio, maxRatio = _ref104.maxRatio, ignoreEdgeCount = _ref104.ignoreEdgeCount;
30052 30008       var shadowColors = [];
30053 30009       var style = window.getComputedStyle(node);
30054 30010       var textShadow = style.getPropertyValue('text-shadow');
@@ -30111,8 +30067,8 @@ module.exports = {
30111 30067       }
30112 30068       return shadowColors;
30113 30069     }
30114    -1     function textShadowColor(_ref106) {
30115    -1       var colorStr = _ref106.colorStr, offsetX = _ref106.offsetX, offsetY = _ref106.offsetY, blurRadius = _ref106.blurRadius, fontSize = _ref106.fontSize;
   -1 30070     function textShadowColor(_ref105) {
   -1 30071       var colorStr = _ref105.colorStr, offsetX = _ref105.offsetX, offsetY = _ref105.offsetY, blurRadius = _ref105.blurRadius, fontSize = _ref105.fontSize;
30116 30072       if (offsetX > blurRadius || offsetY > blurRadius) {
30117 30073         return new color_default(0, 0, 0, 0);
30118 30074       }
@@ -30141,13 +30097,13 @@ module.exports = {
30141 30097         var _stackingOrder2;
30142 30098         var bgVNode = get_node_from_tree_default(bgElm);
30143 30099         var bgColor = getOwnBackgroundColor2(bgVNode);
30144    -1         var stackingOrder = bgVNode._stackingOrder.filter(function(_ref107) {
30145    -1           var vNode = _ref107.vNode;
   -1 30100         var stackingOrder = bgVNode._stackingOrder.filter(function(_ref106) {
   -1 30101           var vNode = _ref106.vNode;
30146 30102           return !!vNode;
30147 30103         });
30148    -1         stackingOrder.forEach(function(_ref108, index) {
   -1 30104         stackingOrder.forEach(function(_ref107, index) {
30149 30105           var _stackingOrder;
30150    -1           var vNode = _ref108.vNode;
   -1 30106           var vNode = _ref107.vNode;
30151 30107           var ancestorVNode2 = (_stackingOrder = stackingOrder[index - 1]) === null || _stackingOrder === void 0 ? void 0 : _stackingOrder.vNode;
30152 30108           var context2 = addToStackingContext(contextMap, vNode, ancestorVNode2);
30153 30109           if (index === 0 && !contextMap.get(vNode)) {
@@ -30255,8 +30211,8 @@ module.exports = {
30255 30211           color: bgColors.reduce(_flattenShadowColors)
30256 30212         } ];
30257 30213       }
30258    -1       for (var _i31 = 0; _i31 < elmStack.length; _i31++) {
30259    -1         var bgElm = elmStack[_i31];
   -1 30214       for (var _i37 = 0; _i37 < elmStack.length; _i37++) {
   -1 30215         var bgElm = elmStack[_i37];
30260 30216         var bgElmStyle = window.getComputedStyle(bgElm);
30261 30217         if (element_has_image_default(bgElm, bgElmStyle)) {
30262 30218           bgElms.push(bgElm);
@@ -30356,8 +30312,8 @@ module.exports = {
30356 30312         });
30357 30313       } ];
30358 30314       var fgColors = [];
30359    -1       for (var _i32 = 0, _colorStack = colorStack; _i32 < _colorStack.length; _i32++) {
30360    -1         var colorFn = _colorStack[_i32];
   -1 30315       for (var _i38 = 0, _colorStack = colorStack; _i38 < _colorStack.length; _i38++) {
   -1 30316         var colorFn = _colorStack[_i38];
30361 30317         var _color4 = colorFn();
30362 30318         if (!_color4) {
30363 30319           continue;
@@ -30383,8 +30339,8 @@ module.exports = {
30383 30339     function getTextColor(nodeStyle) {
30384 30340       return new color_default().parseString(nodeStyle.getPropertyValue('-webkit-text-fill-color') || nodeStyle.getPropertyValue('color'));
30385 30341     }
30386    -1     function getStrokeColor(nodeStyle, _ref109) {
30387    -1       var _ref109$textStrokeEmM = _ref109.textStrokeEmMin, textStrokeEmMin = _ref109$textStrokeEmM === void 0 ? 0 : _ref109$textStrokeEmM;
   -1 30342     function getStrokeColor(nodeStyle, _ref108) {
   -1 30343       var _ref108$textStrokeEmM = _ref108.textStrokeEmMin, textStrokeEmMin = _ref108$textStrokeEmM === void 0 ? 0 : _ref108$textStrokeEmM;
30388 30344       var strokeWidth = parseFloat(nodeStyle.getPropertyValue('-webkit-text-stroke-width'));
30389 30345       if (strokeWidth === 0) {
30390 30346         return null;
@@ -30546,8 +30502,8 @@ module.exports = {
30546 30502       if (results.length < 2) {
30547 30503         return results;
30548 30504       }
30549    -1       var incompleteResults = results.filter(function(_ref110) {
30550    -1         var result = _ref110.result;
   -1 30505       var incompleteResults = results.filter(function(_ref109) {
   -1 30506         var result = _ref109.result;
30551 30507         return result !== void 0;
30552 30508       });
30553 30509       var uniqueResults = [];
@@ -30559,12 +30515,12 @@ module.exports = {
30559 30515         if (nameMap[name]) {
30560 30516           return 1;
30561 30517         }
30562    -1         var sameNameResults = incompleteResults.filter(function(_ref111, resultNum) {
30563    -1           var data = _ref111.data;
   -1 30518         var sameNameResults = incompleteResults.filter(function(_ref110, resultNum) {
   -1 30519           var data = _ref110.data;
30564 30520           return data.name === name && resultNum !== index;
30565 30521         });
30566    -1         var isSameUrl = sameNameResults.every(function(_ref112) {
30567    -1           var data = _ref112.data;
   -1 30522         var isSameUrl = sameNameResults.every(function(_ref111) {
   -1 30523           var data = _ref111.data;
30568 30524           return isIdenticalObject(data.urlProps, urlProps);
30569 30525         });
30570 30526         if (sameNameResults.length && !isSameUrl) {
@@ -30590,7 +30546,7 @@ module.exports = {
30590 30546       var headingRole = role && role.includes('heading');
30591 30547       var ariaHeadingLevel = vNode.attr('aria-level');
30592 30548       var ariaLevel = parseInt(ariaHeadingLevel, 10);
30593    -1       var _ref113 = vNode.props.nodeName.match(/h(\d)/) || [], _ref114 = _slicedToArray(_ref113, 2), headingLevel = _ref114[1];
   -1 30549       var _ref112 = vNode.props.nodeName.match(/h(\d)/) || [], _ref113 = _slicedToArray(_ref112, 2), headingLevel = _ref113[1];
30594 30550       if (!headingRole) {
30595 30551         return -1;
30596 30552       }
@@ -30650,14 +30606,14 @@ module.exports = {
30650 30606     }
30651 30607     function getHeadingOrder(results) {
30652 30608       results = _toConsumableArray(results);
30653    -1       results.sort(function(_ref115, _ref116) {
30654    -1         var nodeA = _ref115.node;
30655    -1         var nodeB = _ref116.node;
   -1 30609       results.sort(function(_ref114, _ref115) {
   -1 30610         var nodeA = _ref114.node;
   -1 30611         var nodeB = _ref115.node;
30656 30612         return nodeA.ancestry.length - nodeB.ancestry.length;
30657 30613       });
30658 30614       var headingOrder = results.reduce(mergeHeadingOrder, []);
30659    -1       return headingOrder.filter(function(_ref117) {
30660    -1         var level = _ref117.level;
   -1 30615       return headingOrder.filter(function(_ref116) {
   -1 30616         var level = _ref116.level;
30661 30617         return level !== -1;
30662 30618       });
30663 30619     }
@@ -30810,14 +30766,14 @@ module.exports = {
30810 30766     }
30811 30767     function getLargestUnobscuredArea(vNode, obscuredNodes) {
30812 30768       var nodeRect = vNode.boundingClientRect;
30813    -1       var obscuringRects = obscuredNodes.map(function(_ref118) {
30814    -1         var rect = _ref118.boundingClientRect;
   -1 30769       var obscuringRects = obscuredNodes.map(function(_ref117) {
   -1 30770         var rect = _ref117.boundingClientRect;
30815 30771         return rect;
30816 30772       });
30817 30773       var unobscuredRects;
30818 30774       try {
30819 30775         unobscuredRects = _splitRects(nodeRect, obscuringRects);
30820    -1       } catch (err2) {
   -1 30776       } catch (_unused9) {
30821 30777         return null;
30822 30778       }
30823 30779       return getLargestRect2(unobscuredRects);
@@ -30857,8 +30813,8 @@ module.exports = {
30857 30813       return _contains(vAncestor, vNode) && !_isInTabOrder(vNode);
30858 30814     }
30859 30815     function mapActualNodes(vNodes) {
30860    -1       return vNodes.map(function(_ref119) {
30861    -1         var actualNode = _ref119.actualNode;
   -1 30816       return vNodes.map(function(_ref118) {
   -1 30817         var actualNode = _ref118.actualNode;
30862 30818         return actualNode;
30863 30819       });
30864 30820     }
@@ -30917,8 +30873,8 @@ module.exports = {
30917 30873         });
30918 30874         return true;
30919 30875       }
30920    -1       this.relatedNodes(closeNeighbors.map(function(_ref120) {
30921    -1         var actualNode = _ref120.actualNode;
   -1 30876       this.relatedNodes(closeNeighbors.map(function(_ref119) {
   -1 30877         var actualNode = _ref119.actualNode;
30922 30878         return actualNode;
30923 30879       }));
30924 30880       if (!closeNeighbors.some(_isInTabOrder)) {
@@ -30939,7 +30895,7 @@ module.exports = {
30939 30895       return Math.round(num * 10) / 10;
30940 30896     }
30941 30897     function metaViewportScaleEvaluate(node, options, virtualNode) {
30942    -1       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;
   -1 30898       var _ref120 = options || {}, _ref120$scaleMinimum = _ref120.scaleMinimum, scaleMinimum = _ref120$scaleMinimum === void 0 ? 2 : _ref120$scaleMinimum, _ref120$lowerBound = _ref120.lowerBound, lowerBound = _ref120$lowerBound === void 0 ? false : _ref120$lowerBound;
30943 30899       var content = virtualNode.attr('content') || '';
30944 30900       if (!content) {
30945 30901         return true;
@@ -30984,8 +30940,8 @@ module.exports = {
30984 30940     }
30985 30941     var meta_viewport_scale_evaluate_default = metaViewportScaleEvaluate;
30986 30942     function cssOrientationLockEvaluate(node, options, virtualNode, context) {
30987    -1       var _ref122 = context || {}, _ref122$cssom = _ref122.cssom, cssom = _ref122$cssom === void 0 ? void 0 : _ref122$cssom;
30988    -1       var _ref123 = options || {}, _ref123$degreeThresho = _ref123.degreeThreshold, degreeThreshold = _ref123$degreeThresho === void 0 ? 0 : _ref123$degreeThresho;
   -1 30943       var _ref121 = context || {}, _ref121$cssom = _ref121.cssom, cssom = _ref121$cssom === void 0 ? void 0 : _ref121$cssom;
   -1 30944       var _ref122 = options || {}, _ref122$degreeThresho = _ref122.degreeThreshold, degreeThreshold = _ref122$degreeThresho === void 0 ? 0 : _ref122$degreeThresho;
30989 30945       if (!cssom || !cssom.length) {
30990 30946         return void 0;
30991 30947       }
@@ -30993,14 +30949,14 @@ module.exports = {
30993 30949       var relatedElements = [];
30994 30950       var rulesGroupByDocumentFragment = groupCssomByDocument(cssom);
30995 30951       var _loop9 = function _loop9() {
30996    -1         var key = _Object$keys3[_i33];
   -1 30952         var key = _Object$keys3[_i39];
30997 30953         var _rulesGroupByDocument = rulesGroupByDocumentFragment[key], root = _rulesGroupByDocument.root, rules = _rulesGroupByDocument.rules;
30998 30954         var orientationRules = rules.filter(isMediaRuleWithOrientation);
30999 30955         if (!orientationRules.length) {
31000 30956           return 1;
31001 30957         }
31002    -1         orientationRules.forEach(function(_ref124) {
31003    -1           var cssRules = _ref124.cssRules;
   -1 30958         orientationRules.forEach(function(_ref123) {
   -1 30959           var cssRules = _ref123.cssRules;
31004 30960           Array.from(cssRules).forEach(function(cssRule) {
31005 30961             var locked = getIsOrientationLocked(cssRule);
31006 30962             if (locked && cssRule.selectorText.toUpperCase() !== 'HTML') {
@@ -31011,7 +30967,7 @@ module.exports = {
31011 30967           });
31012 30968         });
31013 30969       };
31014    -1       for (var _i33 = 0, _Object$keys3 = Object.keys(rulesGroupByDocumentFragment); _i33 < _Object$keys3.length; _i33++) {
   -1 30970       for (var _i39 = 0, _Object$keys3 = Object.keys(rulesGroupByDocumentFragment); _i39 < _Object$keys3.length; _i39++) {
31015 30971         if (_loop9()) {
31016 30972           continue;
31017 30973         }
@@ -31024,8 +30980,8 @@ module.exports = {
31024 30980       }
31025 30981       return false;
31026 30982       function groupCssomByDocument(cssObjectModel) {
31027    -1         return cssObjectModel.reduce(function(out, _ref125) {
31028    -1           var sheet = _ref125.sheet, root = _ref125.root, shadowId = _ref125.shadowId;
   -1 30983         return cssObjectModel.reduce(function(out, _ref124) {
   -1 30984           var sheet = _ref124.sheet, root = _ref124.root, shadowId = _ref124.shadowId;
31029 30985           var key = shadowId ? shadowId : 'topDocument';
31030 30986           if (!out[key]) {
31031 30987             out[key] = {
@@ -31041,15 +30997,15 @@ module.exports = {
31041 30997           return out;
31042 30998         }, {});
31043 30999       }
31044    -1       function isMediaRuleWithOrientation(_ref126) {
31045    -1         var type2 = _ref126.type, cssText = _ref126.cssText;
   -1 31000       function isMediaRuleWithOrientation(_ref125) {
   -1 31001         var type2 = _ref125.type, cssText = _ref125.cssText;
31046 31002         if (type2 !== 4) {
31047 31003           return false;
31048 31004         }
31049 31005         return /orientation:\s*landscape/i.test(cssText) || /orientation:\s*portrait/i.test(cssText);
31050 31006       }
31051    -1       function getIsOrientationLocked(_ref127) {
31052    -1         var selectorText = _ref127.selectorText, style = _ref127.style;
   -1 31007       function getIsOrientationLocked(_ref126) {
   -1 31008         var selectorText = _ref126.selectorText, style = _ref126.style;
31053 31009         if (!selectorText || style.length <= 0) {
31054 31010           return false;
31055 31011         }
@@ -31104,7 +31060,7 @@ module.exports = {
31104 31060         }
31105 31061       }
31106 31062       function getAngleInDegrees(angleWithUnit) {
31107    -1         var _ref128 = angleWithUnit.match(/(deg|grad|rad|turn)/) || [], _ref129 = _slicedToArray(_ref128, 1), unit = _ref129[0];
   -1 31063         var _ref127 = angleWithUnit.match(/(deg|grad|rad|turn)/) || [], _ref128 = _slicedToArray(_ref127, 1), unit = _ref128[0];
31108 31064         if (!unit) {
31109 31065           return 0;
31110 31066         }
@@ -31241,8 +31197,8 @@ module.exports = {
31241 31197         return false;
31242 31198       }
31243 31199       var hasDt = false, hasDd = false, nodeName2;
31244    -1       for (var i = 0; i < children.length; i++) {
31245    -1         nodeName2 = children[i].props.nodeName.toUpperCase();
   -1 31200       for (var _i40 = 0; _i40 < children.length; _i40++) {
   -1 31201         nodeName2 = children[_i40].props.nodeName.toUpperCase();
31246 31202         if (nodeName2 === 'DT') {
31247 31203           hasDt = true;
31248 31204         }
@@ -31395,8 +31351,8 @@ module.exports = {
31395 31351       this.relatedNodes(relatedNodes);
31396 31352       return true;
31397 31353     }
31398    -1     function getInvalidSelector(vChild, nested, _ref130) {
31399    -1       var _ref130$validRoles = _ref130.validRoles, validRoles = _ref130$validRoles === void 0 ? [] : _ref130$validRoles, _ref130$validNodeName = _ref130.validNodeNames, validNodeNames = _ref130$validNodeName === void 0 ? [] : _ref130$validNodeName;
   -1 31354     function getInvalidSelector(vChild, nested, _ref129) {
   -1 31355       var _ref129$validRoles = _ref129.validRoles, validRoles = _ref129$validRoles === void 0 ? [] : _ref129$validRoles, _ref129$validNodeName = _ref129.validNodeNames, validNodeNames = _ref129$validNodeName === void 0 ? [] : _ref129$validNodeName;
31400 31356       var _vChild$props = vChild.props, nodeName2 = _vChild$props.nodeName, nodeType = _vChild$props.nodeType, nodeValue = _vChild$props.nodeValue;
31401 31357       var selector = nested ? 'div > ' : '';
31402 31358       if (nodeType === 3 && nodeValue.trim() !== '') {
@@ -31615,7 +31571,7 @@ module.exports = {
31615 31571           return !!implicitLabel;
31616 31572         }
31617 31573         return false;
31618    -1       } catch (e) {
   -1 31574       } catch (_unused10) {
31619 31575         return void 0;
31620 31576       }
31621 31577     }
@@ -31632,7 +31588,7 @@ module.exports = {
31632 31588           var name;
31633 31589           try {
31634 31590             name = _accessibleTextVirtual(virtualNode).trim();
31635    -1           } catch (e) {
   -1 31591           } catch (_unused11) {
31636 31592             return void 0;
31637 31593           }
31638 31594           var isNameEmpty = name === '';
@@ -31643,7 +31599,8 @@ module.exports = {
31643 31599     }
31644 31600     var hidden_explicit_label_evaluate_default = hiddenExplicitLabelEvaluate;
31645 31601     function helpSameAsLabelEvaluate(node, options, virtualNode) {
31646    -1       var labelText2 = label_virtual_default2(virtualNode), check = node.getAttribute('title');
   -1 31602       var labelText2 = label_virtual_default2(virtualNode);
   -1 31603       var check = node.getAttribute('title');
31647 31604       if (!labelText2) {
31648 31605         return false;
31649 31606       }
@@ -31689,7 +31646,7 @@ module.exports = {
31689 31646             return !!explicitLabel;
31690 31647           }
31691 31648         });
31692    -1       } catch (e) {
   -1 31649       } catch (_unused12) {
31693 31650         return void 0;
31694 31651       }
31695 31652     }
@@ -31739,7 +31696,7 @@ module.exports = {
31739 31696           this.relatedNodes(focusableDescendants2);
31740 31697         }
31741 31698         return false;
31742    -1       } catch (e) {
   -1 31699       } catch (_unused13) {
31743 31700         return void 0;
31744 31701       }
31745 31702     }
@@ -31792,7 +31749,7 @@ module.exports = {
31792 31749         return !virtualNode.children.some(function(child) {
31793 31750           return focusableDescendants(child);
31794 31751         });
31795    -1       } catch (e) {
   -1 31752       } catch (_unused14) {
31796 31753         return void 0;
31797 31754       }
31798 31755     }
@@ -31841,14 +31798,14 @@ module.exports = {
31841 31798       }
31842 31799       try {
31843 31800         return !_accessibleTextVirtual(virtualNode);
31844    -1       } catch (e) {
   -1 31801       } catch (_unused15) {
31845 31802         return void 0;
31846 31803       }
31847 31804     }
31848 31805     var focusable_no_name_evaluate_default = focusableNoNameEvaluate;
31849 31806     function focusableModalOpenEvaluate(node, options, virtualNode) {
31850    -1       var tabbableElements = virtualNode.tabbableElements.map(function(_ref131) {
31851    -1         var actualNode = _ref131.actualNode;
   -1 31807       var tabbableElements = virtualNode.tabbableElements.map(function(_ref130) {
   -1 31808         var actualNode = _ref130.actualNode;
31852 31809         return actualNode;
31853 31810       });
31854 31811       if (!tabbableElements || !tabbableElements.length) {
@@ -31988,7 +31945,7 @@ module.exports = {
31988 31945     function hasTextContentEvaluate(node, options, virtualNode) {
31989 31946       try {
31990 31947         return sanitize_default(subtree_text_default(virtualNode)) !== '';
31991    -1       } catch (e) {
   -1 31948       } catch (_unused16) {
31992 31949         return void 0;
31993 31950       }
31994 31951     }
@@ -32043,7 +32000,7 @@ module.exports = {
32043 32000       return true;
32044 32001     }
32045 32002     var attr_non_space_content_evaluate_default = attrNonSpaceContentEvaluate;
32046    -1     function autocompleteValidEvaluate(node, options, virtualNode) {
   -1 32003     function autocompleteValidEvaluate(_node, options, virtualNode) {
32047 32004       var autocomplete2 = virtualNode.attr('autocomplete') || '';
32048 32005       return is_valid_autocomplete_default(autocomplete2, options);
32049 32006     }
@@ -32136,8 +32093,8 @@ module.exports = {
32136 32093       return blockLike2.indexOf(display2) !== -1 || display2.substr(0, 6) === 'table-';
32137 32094     }
32138 32095     function hasPseudoContent(node) {
32139    -1       for (var _i34 = 0, _arr3 = [ 'before', 'after' ]; _i34 < _arr3.length; _i34++) {
32140    -1         var pseudo = _arr3[_i34];
   -1 32096       for (var _i41 = 0, _arr3 = [ 'before', 'after' ]; _i41 < _arr3.length; _i41++) {
   -1 32097         var pseudo = _arr3[_i41];
32141 32098         var style = window.getComputedStyle(node, ':'.concat(pseudo));
32142 32099         var content = style.getPropertyValue('content');
32143 32100         if (content !== 'none') {
@@ -32243,7 +32200,7 @@ module.exports = {
32243 32200       var bold = parseFloat(fontWeight) >= boldValue || fontWeight === 'bold';
32244 32201       var ptSize = Math.ceil(fontSize * 72) / 96;
32245 32202       var isSmallFont = bold && ptSize < boldTextPt || !bold && ptSize < largeTextPt;
32246    -1       var _ref132 = isSmallFont ? contrastRatio.normal : contrastRatio.large, expected = _ref132.expected, minThreshold = _ref132.minThreshold, maxThreshold = _ref132.maxThreshold;
   -1 32203       var _ref131 = isSmallFont ? contrastRatio.normal : contrastRatio.large, expected = _ref131.expected, minThreshold = _ref131.minThreshold, maxThreshold = _ref131.maxThreshold;
32247 32204       var pseudoElm = findPseudoElement(virtualNode, {
32248 32205         ignorePseudo: ignorePseudo,
32249 32206         pseudoSizeThreshold: pseudoSizeThreshold
@@ -32328,8 +32285,8 @@ module.exports = {
32328 32285       }
32329 32286       return isValid;
32330 32287     }
32331    -1     function findPseudoElement(vNode, _ref133) {
32332    -1       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;
   -1 32288     function findPseudoElement(vNode, _ref132) {
   -1 32289       var _ref132$pseudoSizeThr = _ref132.pseudoSizeThreshold, pseudoSizeThreshold = _ref132$pseudoSizeThr === void 0 ? .25 : _ref132$pseudoSizeThr, _ref132$ignorePseudo = _ref132.ignorePseudo, ignorePseudo = _ref132$ignorePseudo === void 0 ? false : _ref132$ignorePseudo;
32333 32290       if (ignorePseudo) {
32334 32291         return;
32335 32292       }
@@ -32371,7 +32328,7 @@ module.exports = {
32371 32328     }
32372 32329     function parseUnit(str) {
32373 32330       var unitRegex = /^([0-9.]+)([a-z]+)$/i;
32374    -1       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;
   -1 32331       var _ref133 = str.match(unitRegex) || [], _ref134 = _slicedToArray(_ref133, 3), _ref134$ = _ref134[1], value = _ref134$ === void 0 ? '' : _ref134$, _ref134$2 = _ref134[2], unit = _ref134$2 === void 0 ? '' : _ref134$2;
32375 32332       return {
32376 32333         value: parseFloat(value),
32377 32334         unit: unit.toLowerCase()
@@ -32437,7 +32394,7 @@ module.exports = {
32437 32394       try {
32438 32395         label3 = sanitize_default(label_text_default(virtualNode)).toLowerCase();
32439 32396         accText = sanitize_default(_accessibleTextVirtual(virtualNode)).toLowerCase();
32440    -1       } catch (e) {
   -1 32397       } catch (_unused17) {
32441 32398         return void 0;
32442 32399       }
32443 32400       if (!accText && !label3) {
@@ -32540,7 +32497,7 @@ module.exports = {
32540 32497       }
32541 32498       try {
32542 32499         return sanitize_default(_accessibleTextVirtual(virtualNode)) !== '';
32543    -1       } catch (_unused) {
   -1 32500       } catch (_unused18) {
32544 32501         return void 0;
32545 32502       }
32546 32503     }
@@ -32592,7 +32549,7 @@ module.exports = {
32592 32549         var attrValue = virtualNode.attr(attrName);
32593 32550         try {
32594 32551           validValue = validate_attr_value_default(virtualNode, attrName);
32595    -1         } catch (e) {
   -1 32552         } catch (_unused19) {
32596 32553           needsReview = ''.concat(attrName, '="').concat(attrValue, '"');
32597 32554           messageKey = 'idrefs';
32598 32555           return;
@@ -32705,7 +32662,8 @@ module.exports = {
32705 32662       return reqContext;
32706 32663     }
32707 32664     function getAriaOwners(element) {
32708    -1       var owners = [], o = null;
   -1 32665       var owners = [];
   -1 32666       var o = null;
32709 32667       while (element) {
32710 32668         if (element.getAttribute('id')) {
32711 32669           var _id5 = escape_selector_default(element.getAttribute('id'));
@@ -32727,8 +32685,8 @@ module.exports = {
32727 32685       }
32728 32686       var owners = getAriaOwners(node);
32729 32687       if (owners) {
32730    -1         for (var _i35 = 0, l = owners.length; _i35 < l; _i35++) {
32731    -1           missingParents = getMissingContext(get_node_from_tree_default(owners[_i35]), ownGroupRoles, missingParents, true);
   -1 32688         for (var _i42 = 0, l = owners.length; _i42 < l; _i42++) {
   -1 32689           missingParents = getMissingContext(get_node_from_tree_default(owners[_i42]), ownGroupRoles, missingParents, true);
32732 32690           if (!missingParents) {
32733 32691             return true;
32734 32692           }
@@ -32748,19 +32706,19 @@ module.exports = {
32748 32706         return true;
32749 32707       }
32750 32708       var ownedRoles = getOwnedRoles(virtualNode, required);
32751    -1       var unallowed = ownedRoles.filter(function(_ref136) {
32752    -1         var role = _ref136.role, vNode = _ref136.vNode;
   -1 32709       var unallowed = ownedRoles.filter(function(_ref135) {
   -1 32710         var role = _ref135.role, vNode = _ref135.vNode;
32753 32711         return vNode.props.nodeType === 1 && !required.includes(role);
32754 32712       });
32755 32713       if (unallowed.length) {
32756    -1         this.relatedNodes(unallowed.map(function(_ref137) {
32757    -1           var vNode = _ref137.vNode;
   -1 32714         this.relatedNodes(unallowed.map(function(_ref136) {
   -1 32715           var vNode = _ref136.vNode;
32758 32716           return vNode;
32759 32717         }));
32760 32718         this.data({
32761 32719           messageKey: 'unallowed',
32762    -1           values: unallowed.map(function(_ref138) {
32763    -1             var vNode = _ref138.vNode, attr = _ref138.attr;
   -1 32720           values: unallowed.map(function(_ref137) {
   -1 32721             var vNode = _ref137.vNode, attr = _ref137.attr;
32764 32722             return getUnallowedSelector(vNode, attr);
32765 32723           }).filter(function(selector, index, array) {
32766 32724             return array.indexOf(selector) === index;
@@ -32823,8 +32781,8 @@ module.exports = {
32823 32781       return ownedRoles;
32824 32782     }
32825 32783     function hasRequiredChildren(required, ownedRoles) {
32826    -1       return ownedRoles.some(function(_ref139) {
32827    -1         var role = _ref139.role;
   -1 32784       return ownedRoles.some(function(_ref138) {
   -1 32785         var role = _ref138.role;
32828 32786         return role && required.includes(role);
32829 32787       });
32830 32788     }
@@ -32849,14 +32807,15 @@ module.exports = {
32849 32807       }
32850 32808       return nodeName2;
32851 32809     }
32852    -1     function isContent(_ref140) {
32853    -1       var vNode = _ref140.vNode;
   -1 32810     function isContent(_ref139) {
   -1 32811       var vNode = _ref139.vNode;
32854 32812       if (vNode.props.nodeType === 3) {
32855 32813         return vNode.props.nodeValue.trim().length > 0;
32856 32814       }
32857 32815       return has_content_virtual_default(vNode, false, true);
32858 32816     }
32859 32817     function ariaRequiredAttrEvaluate(node) {
   -1 32818       var _virtualNode$attr3;
32860 32819       var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
32861 32820       var virtualNode = arguments.length > 2 ? arguments[2] : undefined;
32862 32821       var role = get_explicit_role_default(virtualNode);
@@ -32871,6 +32830,9 @@ module.exports = {
32871 32830       if (isStaticSeparator(virtualNode, role) || isClosedCombobox(virtualNode, role)) {
32872 32831         return true;
32873 32832       }
   -1 32833       if (role === 'slider' && (_virtualNode$attr3 = virtualNode.attr('aria-valuetext')) !== null && _virtualNode$attr3 !== void 0 && _virtualNode$attr3.trim()) {
   -1 32834         return true;
   -1 32835       }
32874 32836       var elmSpec = get_element_spec_default(virtualNode);
32875 32837       var missingAttrs = requiredAttrs.filter(function(requiredAttr2) {
32876 32838         return !virtualNode.attr(requiredAttr2) && !hasImplicitAttr(elmSpec, requiredAttr2);
@@ -32899,7 +32861,7 @@ module.exports = {
32899 32861       var role = get_role_default(virtualNode, {
32900 32862         chromium: true
32901 32863       });
32902    -1       var prohibitedList = listProhibitedAttrs(role, nodeName2, elementsAllowedAriaLabel);
   -1 32864       var prohibitedList = listProhibitedAttrs(virtualNode, role, nodeName2, elementsAllowedAriaLabel);
32903 32865       var prohibited = prohibitedList.filter(function(attrName) {
32904 32866         if (!virtualNode.attrNames.includes(attrName)) {
32905 32867           return false;
@@ -32925,16 +32887,29 @@ module.exports = {
32925 32887       }
32926 32888       return true;
32927 32889     }
32928    -1     function listProhibitedAttrs(role, nodeName2, elementsAllowedAriaLabel) {
   -1 32890     function listProhibitedAttrs(vNode, role, nodeName2, elementsAllowedAriaLabel) {
32929 32891       var roleSpec = standards_default.ariaRoles[role];
32930 32892       if (roleSpec) {
32931 32893         return roleSpec.prohibitedAttrs || [];
32932 32894       }
32933    -1       if (!!role || elementsAllowedAriaLabel.includes(nodeName2)) {
   -1 32895       if (!!role || elementsAllowedAriaLabel.includes(nodeName2) || getClosestAncestorRoleType(vNode) === 'widget') {
32934 32896         return [];
32935 32897       }
32936 32898       return [ 'aria-label', 'aria-labelledby' ];
32937 32899     }
   -1 32900     var getClosestAncestorRoleType = memoize_default(function getClosestAncestorRoleTypeMemoized(vNode) {
   -1 32901       if (!vNode) {
   -1 32902         return;
   -1 32903       }
   -1 32904       var role = get_role_default(vNode, {
   -1 32905         noPresentational: true,
   -1 32906         chromium: true
   -1 32907       });
   -1 32908       if (role) {
   -1 32909         return get_role_type_default(role);
   -1 32910       }
   -1 32911       return getClosestAncestorRoleType(vNode.parent);
   -1 32912     });
32938 32913     function ariaLevelEvaluate(node, options, virtualNode) {
32939 32914       var ariaHeadingLevel = virtualNode.attr('aria-level');
32940 32915       var ariaLevel = parseInt(ariaHeadingLevel, 10);
@@ -32964,7 +32939,7 @@ module.exports = {
32964 32939         var idref;
32965 32940         try {
32966 32941           idref = attr && idrefs_default(virtualNode, 'aria-errormessage')[0];
32967    -1         } catch (e) {
   -1 32942         } catch (_unused20) {
32968 32943           this.data({
32969 32944             messageKey: 'idrefs',
32970 32945             values: token_list_default(attr)
@@ -32991,7 +32966,7 @@ module.exports = {
32991 32966     }
32992 32967     function ariaConditionalRowAttr(node) {
32993 32968       var _invalidTableRowAttrs, _invalidTableRowAttrs2;
32994    -1       var _ref141 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, invalidTableRowAttrs = _ref141.invalidTableRowAttrs;
   -1 32969       var _ref140 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, invalidTableRowAttrs = _ref140.invalidTableRowAttrs;
32995 32970       var virtualNode = arguments.length > 2 ? arguments[2] : undefined;
32996 32971       var invalidAttrs = (_invalidTableRowAttrs = invalidTableRowAttrs === null || invalidTableRowAttrs === void 0 || (_invalidTableRowAttrs2 = invalidTableRowAttrs.filter) === null || _invalidTableRowAttrs2 === void 0 ? void 0 : _invalidTableRowAttrs2.call(invalidTableRowAttrs, function(invalidAttr) {
32997 32972         return virtualNode.hasAttr(invalidAttr);
@@ -33097,7 +33072,7 @@ module.exports = {
33097 33072       try {
33098 33073         for (_iterator21.s(); !(_step21 = _iterator21.n()).done; ) {
33099 33074           var attrName = _step21.value;
33100    -1           if (validate_attr_default(attrName) && !allowed.includes(attrName)) {
   -1 33075           if (validate_attr_default(attrName) && !allowed.includes(attrName) && !ignoredAttrs(attrName, virtualNode.attr(attrName), virtualNode)) {
33101 33076             invalid.push(attrName);
33102 33077           }
33103 33078         }
@@ -33117,6 +33092,15 @@ module.exports = {
33117 33092       }
33118 33093       return false;
33119 33094     }
   -1 33095     function ignoredAttrs(attrName, attrValue, vNode) {
   -1 33096       if (attrName === 'aria-required' && attrValue === 'false') {
   -1 33097         return true;
   -1 33098       }
   -1 33099       if (attrName === 'aria-multiline' && attrValue === 'false' && vNode.hasAttr('contenteditable')) {
   -1 33100         return true;
   -1 33101       }
   -1 33102       return false;
   -1 33103     }
33120 33104     function abstractroleEvaluate(node, options, virtualNode) {
33121 33105       var abstractRoles = token_list_default(virtualNode.attr('role')).filter(function(role) {
33122 33106         return get_role_type_default(role) === 'abstract';
@@ -33145,7 +33129,7 @@ module.exports = {
33145 33129           return true;
33146 33130         }
33147 33131         return !!closest_default(virtualNode, 'svg');
33148    -1       } catch (e) {
   -1 33132       } catch (_unused21) {
33149 33133         return false;
33150 33134       }
33151 33135     }
@@ -33189,6 +33173,24 @@ module.exports = {
33189 33173       var role = get_role_default(vNode);
33190 33174       return [ 'treegrid', 'grid', 'table' ].includes(role);
33191 33175     }
   -1 33176     function summaryIsInteractiveMatches(_, virtualNode) {
   -1 33177       var parent = virtualNode.parent;
   -1 33178       if (parent.props.nodeName !== 'details' || isSlottedElm(virtualNode)) {
   -1 33179         return false;
   -1 33180       }
   -1 33181       var firstSummary = parent.children.find(function(child) {
   -1 33182         return child.props.nodeName === 'summary';
   -1 33183       });
   -1 33184       if (firstSummary !== virtualNode) {
   -1 33185         return false;
   -1 33186       }
   -1 33187       return true;
   -1 33188     }
   -1 33189     function isSlottedElm(vNode) {
   -1 33190       var _vNode$actualNode;
   -1 33191       var domParent = (_vNode$actualNode = vNode.actualNode) === null || _vNode$actualNode === void 0 ? void 0 : _vNode$actualNode.parentElement;
   -1 33192       return domParent && domParent !== vNode.parent.actualNode;
   -1 33193     }
33192 33194     function skipLinkMatches(node) {
33193 33195       return _isSkipLink(node) && is_offscreen_default(node);
33194 33196     }
@@ -33225,7 +33227,7 @@ module.exports = {
33225 33227       if (!role || [ 'none', 'presentation' ].includes(role)) {
33226 33228         return true;
33227 33229       }
33228    -1       var _ref142 = aria_roles_default[role] || {}, accessibleNameRequired = _ref142.accessibleNameRequired;
   -1 33230       var _ref141 = aria_roles_default[role] || {}, accessibleNameRequired = _ref141.accessibleNameRequired;
33229 33231       if (accessibleNameRequired || _isFocusable(virtualNode)) {
33230 33232         return true;
33231 33233       }
@@ -33323,7 +33325,6 @@ module.exports = {
33323 33325       return !is_data_table_default(node) && !_isFocusable(node);
33324 33326     }
33325 33327     var layout_table_matches_default = dataTableMatches;
33326    -1     var excludedParentsForHeaderFooterLandmarks = [ 'article', 'aside', 'main', 'nav', 'section' ].join(',');
33327 33328     function landmarkUniqueMatches(node, virtualNode) {
33328 33329       return isLandmarkVirtual(virtualNode) && _isVisibleToScreenReaders(virtualNode);
33329 33330     }
@@ -33334,18 +33335,12 @@ module.exports = {
33334 33335         return false;
33335 33336       }
33336 33337       var nodeName2 = vNode.props.nodeName;
33337    -1       if (nodeName2 === 'header' || nodeName2 === 'footer') {
33338    -1         return isHeaderFooterLandmark(vNode);
33339    -1       }
33340 33338       if (nodeName2 === 'section' || nodeName2 === 'form') {
33341 33339         var accessibleText2 = _accessibleTextVirtual(vNode);
33342 33340         return !!accessibleText2;
33343 33341       }
33344 33342       return landmarkRoles2.indexOf(role) >= 0 || role === 'region';
33345 33343     }
33346    -1     function isHeaderFooterLandmark(headerFooterElement) {
33347    -1       return !closest_default(headerFooterElement, excludedParentsForHeaderFooterLandmarks);
33348    -1     }
33349 33344     function landmarkHasBodyContextMatches(node, virtualNode) {
33350 33345       var nativeScopeFilter = 'article, aside, main, nav, section';
33351 33346       return node.hasAttribute('role') || !find_up_virtual_default(virtualNode, nativeScopeFilter);
@@ -33650,8 +33645,8 @@ module.exports = {
33650 33645       var aria = /^aria-/;
33651 33646       var attrs = virtualNode.attrNames;
33652 33647       if (attrs.length) {
33653    -1         for (var _i36 = 0, l = attrs.length; _i36 < l; _i36++) {
33654    -1           if (aria.test(attrs[_i36])) {
   -1 33648         for (var _i43 = 0, l = attrs.length; _i43 < l; _i43++) {
   -1 33649           if (aria.test(attrs[_i43])) {
33655 33650             return true;
33656 33651           }
33657 33652         }
@@ -33803,6 +33798,7 @@ module.exports = {
33803 33798       'skip-link-evaluate': skip_link_evaluate_default,
33804 33799       'skip-link-matches': skip_link_matches_default,
33805 33800       'structured-dlitems-evaluate': structured_dlitems_evaluate_default,
   -1 33801       'summary-interactive-matches': summaryIsInteractiveMatches,
33806 33802       'svg-namespace-matches': svg_namespace_matches_default,
33807 33803       'svg-non-empty-title-evaluate': svg_non_empty_title_evaluate_default,
33808 33804       'tabindex-evaluate': tabindex_evaluate_default,
@@ -33886,7 +33882,7 @@ module.exports = {
33886 33882     };
33887 33883     Check.prototype.runSync = function runSync(node, options, context) {
33888 33884       options = options || {};
33889    -1       var _options2 = options, _options2$enabled = _options2.enabled, enabled = _options2$enabled === void 0 ? this.enabled : _options2$enabled;
   -1 33885       var _options3 = options, _options3$enabled = _options3.enabled, enabled = _options3$enabled === void 0 ? this.enabled : _options3$enabled;
33890 33886       if (!enabled) {
33891 33887         return null;
33892 33888       }
@@ -34341,8 +34337,8 @@ module.exports = {
34341 34337             lang: this.lang
34342 34338           };
34343 34339           var checkIDs = Object.keys(this.data.checks);
34344    -1           for (var _i37 = 0; _i37 < checkIDs.length; _i37++) {
34345    -1             var _id6 = checkIDs[_i37];
   -1 34340           for (var _i44 = 0; _i44 < checkIDs.length; _i44++) {
   -1 34341             var _id6 = checkIDs[_i44];
34346 34342             var check = this.data.checks[_id6];
34347 34343             var _check$messages = check.messages, pass = _check$messages.pass, fail = _check$messages.fail, incomplete = _check$messages.incomplete;
34348 34344             locale.checks[_id6] = {
@@ -34352,8 +34348,8 @@ module.exports = {
34352 34348             };
34353 34349           }
34354 34350           var ruleIDs = Object.keys(this.data.rules);
34355    -1           for (var _i38 = 0; _i38 < ruleIDs.length; _i38++) {
34356    -1             var _id7 = ruleIDs[_i38];
   -1 34351           for (var _i45 = 0; _i45 < ruleIDs.length; _i45++) {
   -1 34352             var _id7 = ruleIDs[_i45];
34357 34353             var rule = this.data.rules[_id7];
34358 34354             var description = rule.description, help = rule.help;
34359 34355             locale.rules[_id7] = {
@@ -34362,8 +34358,8 @@ module.exports = {
34362 34358             };
34363 34359           }
34364 34360           var failureSummaries = Object.keys(this.data.failureSummaries);
34365    -1           for (var _i39 = 0; _i39 < failureSummaries.length; _i39++) {
34366    -1             var type2 = failureSummaries[_i39];
   -1 34361           for (var _i46 = 0; _i46 < failureSummaries.length; _i46++) {
   -1 34362             var type2 = failureSummaries[_i46];
34367 34363             var failureSummary2 = this.data.failureSummaries[type2];
34368 34364             var failureMessage = failureSummary2.failureMessage;
34369 34365             locale.failureSummaries[type2] = {
@@ -34386,8 +34382,8 @@ module.exports = {
34386 34382         key: '_applyCheckLocale',
34387 34383         value: function _applyCheckLocale(checks) {
34388 34384           var keys = Object.keys(checks);
34389    -1           for (var _i40 = 0; _i40 < keys.length; _i40++) {
34390    -1             var _id8 = keys[_i40];
   -1 34385           for (var _i47 = 0; _i47 < keys.length; _i47++) {
   -1 34386             var _id8 = keys[_i47];
34391 34387             if (!this.data.checks[_id8]) {
34392 34388               throw new Error('Locale provided for unknown check: "'.concat(_id8, '"'));
34393 34389             }
@@ -34398,8 +34394,8 @@ module.exports = {
34398 34394         key: '_applyRuleLocale',
34399 34395         value: function _applyRuleLocale(rules) {
34400 34396           var keys = Object.keys(rules);
34401    -1           for (var _i41 = 0; _i41 < keys.length; _i41++) {
34402    -1             var _id9 = keys[_i41];
   -1 34397           for (var _i48 = 0; _i48 < keys.length; _i48++) {
   -1 34398             var _id9 = keys[_i48];
34403 34399             if (!this.data.rules[_id9]) {
34404 34400               throw new Error('Locale provided for unknown rule: "'.concat(_id9, '"'));
34405 34401             }
@@ -34410,8 +34406,8 @@ module.exports = {
34410 34406         key: '_applyFailureSummaries',
34411 34407         value: function _applyFailureSummaries(messages) {
34412 34408           var keys = Object.keys(messages);
34413    -1           for (var _i42 = 0; _i42 < keys.length; _i42++) {
34414    -1             var _key8 = keys[_i42];
   -1 34409           for (var _i49 = 0; _i49 < keys.length; _i49++) {
   -1 34410             var _key8 = keys[_i49];
34415 34411             if (!this.data.failureSummaries[_key8]) {
34416 34412               throw new Error('Locale provided for unknown failureMessage: "'.concat(_key8, '"'));
34417 34413             }
@@ -34473,7 +34469,7 @@ module.exports = {
34473 34469           this.checks = {};
34474 34470           this.brand = 'axe';
34475 34471           this.application = 'axeAPI';
34476    -1           this.tagExclude = [ 'experimental' ];
   -1 34472           this.tagExclude = [ 'experimental', 'deprecated' ];
34477 34473           this.noHtml = audit.noHtml;
34478 34474           this.allowedOrigins = audit.allowedOrigins;
34479 34475           unpackToObject(audit.rules, this, 'addRule');
@@ -34841,8 +34837,8 @@ module.exports = {
34841 34837         });
34842 34838       };
34843 34839     }
34844    -1     function getHelpUrl(_ref143, ruleId, version) {
34845    -1       var brand = _ref143.brand, application = _ref143.application, lang = _ref143.lang;
   -1 34840     function getHelpUrl(_ref142, ruleId, version) {
   -1 34841       var brand = _ref142.brand, application = _ref142.application, lang = _ref142.lang;
34846 34842       return constants_default.helpUrlBase + brand + '/' + (version || axe.version.substring(0, axe.version.lastIndexOf('.'))) + '/' + ruleId + '?application=' + encodeURIComponent(application) + (lang && lang !== 'en' ? '&lang=' + encodeURIComponent(lang) : '');
34847 34843     }
34848 34844     function setupGlobals(context) {
@@ -34917,7 +34913,15 @@ module.exports = {
34917 34913             };
34918 34914           }));
34919 34915           if (context.initiator) {
   -1 34916             if (options.performanceTimer) {
   -1 34917               performance_timer_default.mark('auditAfterStart');
   -1 34918             }
34920 34919             results = audit.after(results, options);
   -1 34920             if (options.performanceTimer) {
   -1 34921               performance_timer_default.mark('auditAfterEnd');
   -1 34922               performance_timer_default.measure('audit.after', 'auditAfterStart', 'auditAfterEnd');
   -1 34923               performance_timer_default.logMeasures('audit.after');
   -1 34924             }
34921 34925             results.forEach(_publishMetaData);
34922 34926             results = results.map(_finalizeRuleResult);
34923 34927           }
@@ -35056,11 +35060,11 @@ module.exports = {
35056 35060         toolOptions: options
35057 35061       });
35058 35062     }
35059    -1     function normalizeRunParams(_ref144) {
35060    -1       var _ref146, _options$reporter, _axe$_audit;
35061    -1       var _ref145 = _slicedToArray(_ref144, 3), context = _ref145[0], options = _ref145[1], callback = _ref145[2];
   -1 35063     function normalizeRunParams(_ref143) {
   -1 35064       var _ref145, _options$reporter, _axe$_audit;
   -1 35065       var _ref144 = _slicedToArray(_ref143, 3), context = _ref144[0], options = _ref144[1], callback = _ref144[2];
35062 35066       var typeErr = new TypeError('axe.run arguments are invalid');
35063    -1       if (!isContextSpec(context)) {
   -1 35067       if (!_isContextSpec(context)) {
35064 35068         if (callback !== void 0) {
35065 35069           throw typeErr;
35066 35070         }
@@ -35079,7 +35083,7 @@ module.exports = {
35079 35083         throw typeErr;
35080 35084       }
35081 35085       options = _clone(options);
35082    -1       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';
   -1 35086       options.reporter = (_ref145 = (_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 && _ref145 !== void 0 ? _ref145 : 'v1';
35083 35087       return {
35084 35088         context: context,
35085 35089         options: options,
@@ -35102,10 +35106,16 @@ module.exports = {
35102 35106       }
35103 35107       axe._running = true;
35104 35108       if (options.performanceTimer) {
35105    -1         axe.utils.performanceTimer.start();
   -1 35109         performance_timer_default.start();
35106 35110       }
35107 35111       function handleRunRules(rawResults, teardown2) {
35108 35112         var respond = function respond(results) {
   -1 35113           if (options.performanceTimer) {
   -1 35114             performance_timer_default.mark('reporterEnd');
   -1 35115             performance_timer_default.measure('reporter', 'reporterStart', 'reporterEnd');
   -1 35116             performance_timer_default.logMeasures('reporter');
   -1 35117             performance_timer_default.end();
   -1 35118           }
35109 35119           axe._running = false;
35110 35120           teardown2();
35111 35121           try {
@@ -35123,10 +35133,10 @@ module.exports = {
35123 35133             axe.log(e);
35124 35134           }
35125 35135         };
35126    -1         if (options.performanceTimer) {
35127    -1           axe.utils.performanceTimer.end();
35128    -1         }
35129 35136         try {
   -1 35137           if (options.performanceTimer) {
   -1 35138             performance_timer_default.mark('reporterStart');
   -1 35139           }
35130 35140           createReport(rawResults, options, respond, wrappedReject);
35131 35141         } catch (err2) {
35132 35142           wrappedReject(err2);
@@ -35134,7 +35144,7 @@ module.exports = {
35134 35144       }
35135 35145       function errorRunRules(err2) {
35136 35146         if (options.performanceTimer) {
35137    -1           axe.utils.performanceTimer.end();
   -1 35147           performance_timer_default.end();
35138 35148         }
35139 35149         axe._running = false;
35140 35150         callback(err2);
@@ -35194,8 +35204,8 @@ module.exports = {
35194 35204         axe._audit.run(contextObj, options, res, rej);
35195 35205       }).then(function(results) {
35196 35206         results = node_serializer_default.mapRawResults(results);
35197    -1         var frames = contextObj.frames.map(function(_ref147) {
35198    -1           var node = _ref147.node;
   -1 35207         var frames = contextObj.frames.map(function(_ref146) {
   -1 35208           var node = _ref146.node;
35199 35209           return node_serializer_default.toSpec(node);
35200 35210         });
35201 35211         var environmentData;
@@ -35216,14 +35226,14 @@ module.exports = {
35216 35226       });
35217 35227     }
35218 35228     function finishRun(partialResults) {
35219    -1       var _ref149, _options$reporter2, _axe$_audit2;
   -1 35229       var _ref148, _options$reporter2, _axe$_audit2;
35220 35230       var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
35221 35231       options = _clone(options);
35222    -1       var _ref148 = partialResults.find(function(r) {
   -1 35232       var _ref147 = partialResults.find(function(r) {
35223 35233         return r.environmentData;
35224    -1       }) || {}, environmentData = _ref148.environmentData;
   -1 35234       }) || {}, environmentData = _ref147.environmentData;
35225 35235       axe._audit.normalizeOptions(options);
35226    -1       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';
   -1 35236       options.reporter = (_ref148 = (_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 && _ref148 !== void 0 ? _ref148 : 'v1';
35227 35237       setFrameSpec(partialResults);
35228 35238       var results = merge_results_default(partialResults);
35229 35239       results = axe._audit.after(results, options);
@@ -35253,8 +35263,8 @@ module.exports = {
35253 35263         _iterator23.f();
35254 35264       }
35255 35265     }
35256    -1     function getMergedFrameSpecs(_ref150) {
35257    -1       var childFrameSpecs = _ref150.frames, parentFrameSpec = _ref150.frameSpec;
   -1 35266     function getMergedFrameSpecs(_ref149) {
   -1 35267       var childFrameSpecs = _ref149.frames, parentFrameSpec = _ref149.frameSpec;
35258 35268       if (!parentFrameSpec) {
35259 35269         return childFrameSpecs;
35260 35270       }
@@ -35287,7 +35297,7 @@ module.exports = {
35287 35297         callback = options;
35288 35298         options = {};
35289 35299       }
35290    -1       var _options3 = options, environmentData = _options3.environmentData, toolOptions = _objectWithoutProperties(_options3, _excluded15);
   -1 35300       var _options4 = options, environmentData = _options4.environmentData, toolOptions = _objectWithoutProperties(_options4, _excluded15);
35291 35301       callback(_extends({}, _getEnvironmentData(environmentData), {
35292 35302         toolOptions: toolOptions
35293 35303       }, processAggregate(results, options)));
@@ -35298,7 +35308,7 @@ module.exports = {
35298 35308         callback = options;
35299 35309         options = {};
35300 35310       }
35301    -1       var _options4 = options, environmentData = _options4.environmentData, toolOptions = _objectWithoutProperties(_options4, _excluded16);
   -1 35311       var _options5 = options, environmentData = _options5.environmentData, toolOptions = _objectWithoutProperties(_options5, _excluded16);
35302 35312       options.resultTypes = [ 'violations' ];
35303 35313       var _processAggregate = processAggregate(results, options), violations = _processAggregate.violations;
35304 35314       callback(_extends({}, _getEnvironmentData(environmentData), {
@@ -35318,8 +35328,8 @@ module.exports = {
35318 35328       var transformedResults = results.map(function(result) {
35319 35329         var transformedResult = _extends({}, result);
35320 35330         var types = [ 'passes', 'violations', 'incomplete', 'inapplicable' ];
35321    -1         for (var _i43 = 0, _types = types; _i43 < _types.length; _i43++) {
35322    -1           var type2 = _types[_i43];
   -1 35331         for (var _i50 = 0, _types = types; _i50 < _types.length; _i50++) {
   -1 35332           var type2 = _types[_i50];
35323 35333           transformedResult[type2] = node_serializer_default.mapRawNodeResults(transformedResult[type2]);
35324 35334         }
35325 35335         return transformedResult;
@@ -35332,7 +35342,7 @@ module.exports = {
35332 35342         callback = options;
35333 35343         options = {};
35334 35344       }
35335    -1       var _options5 = options, environmentData = _options5.environmentData, toolOptions = _objectWithoutProperties(_options5, _excluded17);
   -1 35345       var _options6 = options, environmentData = _options6.environmentData, toolOptions = _objectWithoutProperties(_options6, _excluded17);
35336 35346       raw_default(results, toolOptions, function(raw) {
35337 35347         var env = _getEnvironmentData(environmentData);
35338 35348         callback({
@@ -35347,7 +35357,7 @@ module.exports = {
35347 35357         callback = options;
35348 35358         options = {};
35349 35359       }
35350    -1       var _options6 = options, environmentData = _options6.environmentData, toolOptions = _objectWithoutProperties(_options6, _excluded18);
   -1 35360       var _options7 = options, environmentData = _options7.environmentData, toolOptions = _objectWithoutProperties(_options7, _excluded18);
35351 35361       var out = processAggregate(results, options);
35352 35362       var addFailureSummaries = function addFailureSummaries(result) {
35353 35363         result.nodes.forEach(function(nodeResult) {
@@ -35366,7 +35376,7 @@ module.exports = {
35366 35376         callback = options;
35367 35377         options = {};
35368 35378       }
35369    -1       var _options7 = options, environmentData = _options7.environmentData, toolOptions = _objectWithoutProperties(_options7, _excluded19);
   -1 35379       var _options8 = options, environmentData = _options8.environmentData, toolOptions = _objectWithoutProperties(_options8, _excluded19);
35370 35380       var out = processAggregate(results, options);
35371 35381       callback(_extends({}, _getEnvironmentData(environmentData), {
35372 35382         toolOptions: toolOptions
@@ -35455,19 +35465,19 @@ module.exports = {
35455 35465     data: {
35456 35466       rules: {
35457 35467         accesskeys: {
35458    -1           description: 'Ensures every accesskey attribute value is unique',
   -1 35468           description: 'Ensure every accesskey attribute value is unique',
35459 35469           help: 'accesskey attribute value should be unique'
35460 35470         },
35461 35471         'area-alt': {
35462    -1           description: 'Ensures <area> elements of image maps have alternate text',
35463    -1           help: 'Active <area> elements must have alternate text'
   -1 35472           description: 'Ensure <area> elements of image maps have alternative text',
   -1 35473           help: 'Active <area> elements must have alternative text'
35464 35474         },
35465 35475         'aria-allowed-attr': {
35466    -1           description: 'Ensures an element\'s role supports its ARIA attributes',
   -1 35476           description: 'Ensure an element\'s role supports its ARIA attributes',
35467 35477           help: 'Elements must only use supported ARIA attributes'
35468 35478         },
35469 35479         'aria-allowed-role': {
35470    -1           description: 'Ensures role attribute has an appropriate value for the element',
   -1 35480           description: 'Ensure role attribute has an appropriate value for the element',
35471 35481           help: 'ARIA role should be appropriate for the element'
35472 35482         },
35473 35483         'aria-braille-equivalent': {
@@ -35475,55 +35485,55 @@ module.exports = {
35475 35485           help: 'aria-braille attributes must have a non-braille equivalent'
35476 35486         },
35477 35487         'aria-command-name': {
35478    -1           description: 'Ensures every ARIA button, link and menuitem has an accessible name',
   -1 35488           description: 'Ensure every ARIA button, link and menuitem has an accessible name',
35479 35489           help: 'ARIA commands must have an accessible name'
35480 35490         },
35481 35491         'aria-conditional-attr': {
35482    -1           description: 'Ensures ARIA attributes are used as described in the specification of the element\'s role',
   -1 35492           description: 'Ensure ARIA attributes are used as described in the specification of the element\'s role',
35483 35493           help: 'ARIA attributes must be used as specified for the element\'s role'
35484 35494         },
35485 35495         'aria-deprecated-role': {
35486    -1           description: 'Ensures elements do not use deprecated roles',
   -1 35496           description: 'Ensure elements do not use deprecated roles',
35487 35497           help: 'Deprecated ARIA roles must not be used'
35488 35498         },
35489 35499         'aria-dialog-name': {
35490    -1           description: 'Ensures every ARIA dialog and alertdialog node has an accessible name',
   -1 35500           description: 'Ensure every ARIA dialog and alertdialog node has an accessible name',
35491 35501           help: 'ARIA dialog and alertdialog nodes should have an accessible name'
35492 35502         },
35493 35503         'aria-hidden-body': {
35494    -1           description: 'Ensures aria-hidden="true" is not present on the document body.',
   -1 35504           description: 'Ensure aria-hidden="true" is not present on the document body.',
35495 35505           help: 'aria-hidden="true" must not be present on the document body'
35496 35506         },
35497 35507         'aria-hidden-focus': {
35498    -1           description: 'Ensures aria-hidden elements are not focusable nor contain focusable elements',
   -1 35508           description: 'Ensure aria-hidden elements are not focusable nor contain focusable elements',
35499 35509           help: 'ARIA hidden element must not be focusable or contain focusable elements'
35500 35510         },
35501 35511         'aria-input-field-name': {
35502    -1           description: 'Ensures every ARIA input field has an accessible name',
   -1 35512           description: 'Ensure every ARIA input field has an accessible name',
35503 35513           help: 'ARIA input fields must have an accessible name'
35504 35514         },
35505 35515         'aria-meter-name': {
35506    -1           description: 'Ensures every ARIA meter node has an accessible name',
   -1 35516           description: 'Ensure every ARIA meter node has an accessible name',
35507 35517           help: 'ARIA meter nodes must have an accessible name'
35508 35518         },
35509 35519         'aria-progressbar-name': {
35510    -1           description: 'Ensures every ARIA progressbar node has an accessible name',
   -1 35520           description: 'Ensure every ARIA progressbar node has an accessible name',
35511 35521           help: 'ARIA progressbar nodes must have an accessible name'
35512 35522         },
35513 35523         'aria-prohibited-attr': {
35514    -1           description: 'Ensures ARIA attributes are not prohibited for an element\'s role',
   -1 35524           description: 'Ensure ARIA attributes are not prohibited for an element\'s role',
35515 35525           help: 'Elements must only use permitted ARIA attributes'
35516 35526         },
35517 35527         'aria-required-attr': {
35518    -1           description: 'Ensures elements with ARIA roles have all required ARIA attributes',
   -1 35528           description: 'Ensure elements with ARIA roles have all required ARIA attributes',
35519 35529           help: 'Required ARIA attributes must be provided'
35520 35530         },
35521 35531         'aria-required-children': {
35522    -1           description: 'Ensures elements with an ARIA role that require child roles contain them',
   -1 35532           description: 'Ensure elements with an ARIA role that require child roles contain them',
35523 35533           help: 'Certain ARIA roles must contain particular children'
35524 35534         },
35525 35535         'aria-required-parent': {
35526    -1           description: 'Ensures elements with an ARIA role that require parent roles are contained by them',
   -1 35536           description: 'Ensure elements with an ARIA role that require parent roles are contained by them',
35527 35537           help: 'Certain ARIA roles must be contained by particular parents'
35528 35538         },
35529 35539         'aria-roledescription': {
@@ -35531,35 +35541,35 @@ module.exports = {
35531 35541           help: 'aria-roledescription must be on elements with a semantic role'
35532 35542         },
35533 35543         'aria-roles': {
35534    -1           description: 'Ensures all elements with a role attribute use a valid value',
   -1 35544           description: 'Ensure all elements with a role attribute use a valid value',
35535 35545           help: 'ARIA roles used must conform to valid values'
35536 35546         },
35537 35547         'aria-text': {
35538    -1           description: 'Ensures role="text" is used on elements with no focusable descendants',
   -1 35548           description: 'Ensure role="text" is used on elements with no focusable descendants',
35539 35549           help: '"role=text" should have no focusable descendants'
35540 35550         },
35541 35551         'aria-toggle-field-name': {
35542    -1           description: 'Ensures every ARIA toggle field has an accessible name',
   -1 35552           description: 'Ensure every ARIA toggle field has an accessible name',
35543 35553           help: 'ARIA toggle fields must have an accessible name'
35544 35554         },
35545 35555         'aria-tooltip-name': {
35546    -1           description: 'Ensures every ARIA tooltip node has an accessible name',
   -1 35556           description: 'Ensure every ARIA tooltip node has an accessible name',
35547 35557           help: 'ARIA tooltip nodes must have an accessible name'
35548 35558         },
35549 35559         'aria-treeitem-name': {
35550    -1           description: 'Ensures every ARIA treeitem node has an accessible name',
   -1 35560           description: 'Ensure every ARIA treeitem node has an accessible name',
35551 35561           help: 'ARIA treeitem nodes should have an accessible name'
35552 35562         },
35553 35563         'aria-valid-attr-value': {
35554    -1           description: 'Ensures all ARIA attributes have valid values',
   -1 35564           description: 'Ensure all ARIA attributes have valid values',
35555 35565           help: 'ARIA attributes must conform to valid values'
35556 35566         },
35557 35567         'aria-valid-attr': {
35558    -1           description: 'Ensures attributes that begin with aria- are valid ARIA attributes',
   -1 35568           description: 'Ensure attributes that begin with aria- are valid ARIA attributes',
35559 35569           help: 'ARIA attributes must conform to valid names'
35560 35570         },
35561 35571         'audio-caption': {
35562    -1           description: 'Ensures <audio> elements have captions',
   -1 35572           description: 'Ensure <audio> elements have captions',
35563 35573           help: '<audio> elements must have a captions track'
35564 35574         },
35565 35575         'autocomplete-valid': {
@@ -35571,87 +35581,87 @@ module.exports = {
35571 35581           help: 'Inline text spacing must be adjustable with custom stylesheets'
35572 35582         },
35573 35583         blink: {
35574    -1           description: 'Ensures <blink> elements are not used',
   -1 35584           description: 'Ensure <blink> elements are not used',
35575 35585           help: '<blink> elements are deprecated and must not be used'
35576 35586         },
35577 35587         'button-name': {
35578    -1           description: 'Ensures buttons have discernible text',
   -1 35588           description: 'Ensure buttons have discernible text',
35579 35589           help: 'Buttons must have discernible text'
35580 35590         },
35581 35591         bypass: {
35582    -1           description: 'Ensures each page has at least one mechanism for a user to bypass navigation and jump straight to the content',
   -1 35592           description: 'Ensure each page has at least one mechanism for a user to bypass navigation and jump straight to the content',
35583 35593           help: 'Page must have means to bypass repeated blocks'
35584 35594         },
35585 35595         'color-contrast-enhanced': {
35586    -1           description: 'Ensures the contrast between foreground and background colors meets WCAG 2 AAA enhanced contrast ratio thresholds',
   -1 35596           description: 'Ensure the contrast between foreground and background colors meets WCAG 2 AAA enhanced contrast ratio thresholds',
35587 35597           help: 'Elements must meet enhanced color contrast ratio thresholds'
35588 35598         },
35589 35599         'color-contrast': {
35590    -1           description: 'Ensures the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds',
   -1 35600           description: 'Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds',
35591 35601           help: 'Elements must meet minimum color contrast ratio thresholds'
35592 35602         },
35593 35603         'css-orientation-lock': {
35594    -1           description: 'Ensures content is not locked to any specific display orientation, and the content is operable in all display orientations',
   -1 35604           description: 'Ensure content is not locked to any specific display orientation, and the content is operable in all display orientations',
35595 35605           help: 'CSS Media queries must not lock display orientation'
35596 35606         },
35597 35607         'definition-list': {
35598    -1           description: 'Ensures <dl> elements are structured correctly',
   -1 35608           description: 'Ensure <dl> elements are structured correctly',
35599 35609           help: '<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements'
35600 35610         },
35601 35611         dlitem: {
35602    -1           description: 'Ensures <dt> and <dd> elements are contained by a <dl>',
   -1 35612           description: 'Ensure <dt> and <dd> elements are contained by a <dl>',
35603 35613           help: '<dt> and <dd> elements must be contained by a <dl>'
35604 35614         },
35605 35615         'document-title': {
35606    -1           description: 'Ensures each HTML document contains a non-empty <title> element',
   -1 35616           description: 'Ensure each HTML document contains a non-empty <title> element',
35607 35617           help: 'Documents must have <title> element to aid in navigation'
35608 35618         },
35609 35619         'duplicate-id-active': {
35610    -1           description: 'Ensures every id attribute value of active elements is unique',
   -1 35620           description: 'Ensure every id attribute value of active elements is unique',
35611 35621           help: 'IDs of active elements must be unique'
35612 35622         },
35613 35623         'duplicate-id-aria': {
35614    -1           description: 'Ensures every id attribute value used in ARIA and in labels is unique',
   -1 35624           description: 'Ensure every id attribute value used in ARIA and in labels is unique',
35615 35625           help: 'IDs used in ARIA and labels must be unique'
35616 35626         },
35617 35627         'duplicate-id': {
35618    -1           description: 'Ensures every id attribute value is unique',
   -1 35628           description: 'Ensure every id attribute value is unique',
35619 35629           help: 'id attribute value must be unique'
35620 35630         },
35621 35631         'empty-heading': {
35622    -1           description: 'Ensures headings have discernible text',
   -1 35632           description: 'Ensure headings have discernible text',
35623 35633           help: 'Headings should not be empty'
35624 35634         },
35625 35635         'empty-table-header': {
35626    -1           description: 'Ensures table headers have discernible text',
   -1 35636           description: 'Ensure table headers have discernible text',
35627 35637           help: 'Table header text should not be empty'
35628 35638         },
35629 35639         'focus-order-semantics': {
35630    -1           description: 'Ensures elements in the focus order have a role appropriate for interactive content',
   -1 35640           description: 'Ensure elements in the focus order have a role appropriate for interactive content',
35631 35641           help: 'Elements in the focus order should have an appropriate role'
35632 35642         },
35633 35643         'form-field-multiple-labels': {
35634    -1           description: 'Ensures form field does not have multiple label elements',
   -1 35644           description: 'Ensure form field does not have multiple label elements',
35635 35645           help: 'Form field must not have multiple label elements'
35636 35646         },
35637 35647         'frame-focusable-content': {
35638    -1           description: 'Ensures <frame> and <iframe> elements with focusable content do not have tabindex=-1',
   -1 35648           description: 'Ensure <frame> and <iframe> elements with focusable content do not have tabindex=-1',
35639 35649           help: 'Frames with focusable content must not have tabindex=-1'
35640 35650         },
35641 35651         'frame-tested': {
35642    -1           description: 'Ensures <iframe> and <frame> elements contain the axe-core script',
   -1 35652           description: 'Ensure <iframe> and <frame> elements contain the axe-core script',
35643 35653           help: 'Frames should be tested with axe-core'
35644 35654         },
35645 35655         'frame-title-unique': {
35646    -1           description: 'Ensures <iframe> and <frame> elements contain a unique title attribute',
   -1 35656           description: 'Ensure <iframe> and <frame> elements contain a unique title attribute',
35647 35657           help: 'Frames must have a unique title attribute'
35648 35658         },
35649 35659         'frame-title': {
35650    -1           description: 'Ensures <iframe> and <frame> elements have an accessible name',
   -1 35660           description: 'Ensure <iframe> and <frame> elements have an accessible name',
35651 35661           help: 'Frames must have an accessible name'
35652 35662         },
35653 35663         'heading-order': {
35654    -1           description: 'Ensures the order of headings is semantically correct',
   -1 35664           description: 'Ensure the order of headings is semantically correct',
35655 35665           help: 'Heading levels should only increase by one'
35656 35666         },
35657 35667         'hidden-content': {
@@ -35659,11 +35669,11 @@ module.exports = {
35659 35669           help: 'Hidden content on the page should be analyzed'
35660 35670         },
35661 35671         'html-has-lang': {
35662    -1           description: 'Ensures every HTML document has a lang attribute',
   -1 35672           description: 'Ensure every HTML document has a lang attribute',
35663 35673           help: '<html> element must have a lang attribute'
35664 35674         },
35665 35675         'html-lang-valid': {
35666    -1           description: 'Ensures the lang attribute of the <html> element has a valid value',
   -1 35676           description: 'Ensure the lang attribute of the <html> element has a valid value',
35667 35677           help: '<html> element must have a valid value for the lang attribute'
35668 35678         },
35669 35679         'html-xml-lang-mismatch': {
@@ -35675,116 +35685,116 @@ module.exports = {
35675 35685           help: 'Links with the same name must have a similar purpose'
35676 35686         },
35677 35687         'image-alt': {
35678    -1           description: 'Ensures <img> elements have alternate text or a role of none or presentation',
35679    -1           help: 'Images must have alternate text'
   -1 35688           description: 'Ensure <img> elements have alternative text or a role of none or presentation',
   -1 35689           help: 'Images must have alternative text'
35680 35690         },
35681 35691         'image-redundant-alt': {
35682 35692           description: 'Ensure image alternative is not repeated as text',
35683 35693           help: 'Alternative text of images should not be repeated as text'
35684 35694         },
35685 35695         'input-button-name': {
35686    -1           description: 'Ensures input buttons have discernible text',
   -1 35696           description: 'Ensure input buttons have discernible text',
35687 35697           help: 'Input buttons must have discernible text'
35688 35698         },
35689 35699         'input-image-alt': {
35690    -1           description: 'Ensures <input type="image"> elements have alternate text',
35691    -1           help: 'Image buttons must have alternate text'
   -1 35700           description: 'Ensure <input type="image"> elements have alternative text',
   -1 35701           help: 'Image buttons must have alternative text'
35692 35702         },
35693 35703         'label-content-name-mismatch': {
35694    -1           description: 'Ensures that elements labelled through their content must have their visible text as part of their accessible name',
   -1 35704           description: 'Ensure that elements labelled through their content must have their visible text as part of their accessible name',
35695 35705           help: 'Elements must have their visible text as part of their accessible name'
35696 35706         },
35697 35707         'label-title-only': {
35698    -1           description: 'Ensures that every form element has a visible label and is not solely labeled using hidden labels, or the title or aria-describedby attributes',
   -1 35708           description: 'Ensure that every form element has a visible label and is not solely labeled using hidden labels, or the title or aria-describedby attributes',
35699 35709           help: 'Form elements should have a visible label'
35700 35710         },
35701 35711         label: {
35702    -1           description: 'Ensures every form element has a label',
   -1 35712           description: 'Ensure every form element has a label',
35703 35713           help: 'Form elements must have labels'
35704 35714         },
35705 35715         'landmark-banner-is-top-level': {
35706    -1           description: 'Ensures the banner landmark is at top level',
   -1 35716           description: 'Ensure the banner landmark is at top level',
35707 35717           help: 'Banner landmark should not be contained in another landmark'
35708 35718         },
35709 35719         'landmark-complementary-is-top-level': {
35710    -1           description: 'Ensures the complementary landmark or aside is at top level',
   -1 35720           description: 'Ensure the complementary landmark or aside is at top level',
35711 35721           help: 'Aside should not be contained in another landmark'
35712 35722         },
35713 35723         'landmark-contentinfo-is-top-level': {
35714    -1           description: 'Ensures the contentinfo landmark is at top level',
   -1 35724           description: 'Ensure the contentinfo landmark is at top level',
35715 35725           help: 'Contentinfo landmark should not be contained in another landmark'
35716 35726         },
35717 35727         'landmark-main-is-top-level': {
35718    -1           description: 'Ensures the main landmark is at top level',
   -1 35728           description: 'Ensure the main landmark is at top level',
35719 35729           help: 'Main landmark should not be contained in another landmark'
35720 35730         },
35721 35731         'landmark-no-duplicate-banner': {
35722    -1           description: 'Ensures the document has at most one banner landmark',
   -1 35732           description: 'Ensure the document has at most one banner landmark',
35723 35733           help: 'Document should not have more than one banner landmark'
35724 35734         },
35725 35735         'landmark-no-duplicate-contentinfo': {
35726    -1           description: 'Ensures the document has at most one contentinfo landmark',
   -1 35736           description: 'Ensure the document has at most one contentinfo landmark',
35727 35737           help: 'Document should not have more than one contentinfo landmark'
35728 35738         },
35729 35739         'landmark-no-duplicate-main': {
35730    -1           description: 'Ensures the document has at most one main landmark',
   -1 35740           description: 'Ensure the document has at most one main landmark',
35731 35741           help: 'Document should not have more than one main landmark'
35732 35742         },
35733 35743         'landmark-one-main': {
35734    -1           description: 'Ensures the document has a main landmark',
   -1 35744           description: 'Ensure the document has a main landmark',
35735 35745           help: 'Document should have one main landmark'
35736 35746         },
35737 35747         'landmark-unique': {
35738    -1           help: 'Ensures landmarks are unique',
35739    -1           description: 'Landmarks should have a unique role or role/label/title (i.e. accessible name) combination'
   -1 35748           description: 'Ensure landmarks are unique',
   -1 35749           help: 'Landmarks should have a unique role or role/label/title (i.e. accessible name) combination'
35740 35750         },
35741 35751         'link-in-text-block': {
35742 35752           description: 'Ensure links are distinguished from surrounding text in a way that does not rely on color',
35743 35753           help: 'Links must be distinguishable without relying on color'
35744 35754         },
35745 35755         'link-name': {
35746    -1           description: 'Ensures links have discernible text',
   -1 35756           description: 'Ensure links have discernible text',
35747 35757           help: 'Links must have discernible text'
35748 35758         },
35749 35759         list: {
35750    -1           description: 'Ensures that lists are structured correctly',
   -1 35760           description: 'Ensure that lists are structured correctly',
35751 35761           help: '<ul> and <ol> must only directly contain <li>, <script> or <template> elements'
35752 35762         },
35753 35763         listitem: {
35754    -1           description: 'Ensures <li> elements are used semantically',
   -1 35764           description: 'Ensure <li> elements are used semantically',
35755 35765           help: '<li> elements must be contained in a <ul> or <ol>'
35756 35766         },
35757 35767         marquee: {
35758    -1           description: 'Ensures <marquee> elements are not used',
   -1 35768           description: 'Ensure <marquee> elements are not used',
35759 35769           help: '<marquee> elements are deprecated and must not be used'
35760 35770         },
35761 35771         'meta-refresh-no-exceptions': {
35762    -1           description: 'Ensures <meta http-equiv="refresh"> is not used for delayed refresh',
   -1 35772           description: 'Ensure <meta http-equiv="refresh"> is not used for delayed refresh',
35763 35773           help: 'Delayed refresh must not be used'
35764 35774         },
35765 35775         'meta-refresh': {
35766    -1           description: 'Ensures <meta http-equiv="refresh"> is not used for delayed refresh',
   -1 35776           description: 'Ensure <meta http-equiv="refresh"> is not used for delayed refresh',
35767 35777           help: 'Delayed refresh under 20 hours must not be used'
35768 35778         },
35769 35779         'meta-viewport-large': {
35770    -1           description: 'Ensures <meta name="viewport"> can scale a significant amount',
   -1 35780           description: 'Ensure <meta name="viewport"> can scale a significant amount',
35771 35781           help: 'Users should be able to zoom and scale the text up to 500%'
35772 35782         },
35773 35783         'meta-viewport': {
35774    -1           description: 'Ensures <meta name="viewport"> does not disable text scaling and zooming',
   -1 35784           description: 'Ensure <meta name="viewport"> does not disable text scaling and zooming',
35775 35785           help: 'Zooming and scaling must not be disabled'
35776 35786         },
35777 35787         'nested-interactive': {
35778    -1           description: 'Ensures interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologies',
   -1 35788           description: 'Ensure interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologies',
35779 35789           help: 'Interactive controls must not be nested'
35780 35790         },
35781 35791         'no-autoplay-audio': {
35782    -1           description: 'Ensures <video> or <audio> elements do not autoplay audio for more than 3 seconds without a control mechanism to stop or mute the audio',
   -1 35792           description: 'Ensure <video> or <audio> elements do not autoplay audio for more than 3 seconds without a control mechanism to stop or mute the audio',
35783 35793           help: '<video> or <audio> elements must not play automatically'
35784 35794         },
35785 35795         'object-alt': {
35786    -1           description: 'Ensures <object> elements have alternate text',
35787    -1           help: '<object> elements must have alternate text'
   -1 35796           description: 'Ensure <object> elements have alternative text',
   -1 35797           help: '<object> elements must have alternative text'
35788 35798         },
35789 35799         'p-as-heading': {
35790 35800           description: 'Ensure bold, italic text and font-size is not used to style <p> elements as a heading',
@@ -35799,15 +35809,15 @@ module.exports = {
35799 35809           help: 'Ensure elements marked as presentational are consistently ignored'
35800 35810         },
35801 35811         region: {
35802    -1           description: 'Ensures all page content is contained by landmarks',
   -1 35812           description: 'Ensure all page content is contained by landmarks',
35803 35813           help: 'All page content should be contained by landmarks'
35804 35814         },
35805 35815         'role-img-alt': {
35806    -1           description: 'Ensures [role="img"] elements have alternate text',
   -1 35816           description: 'Ensure [role="img"] elements have alternative text',
35807 35817           help: '[role="img"] elements must have an alternative text'
35808 35818         },
35809 35819         'scope-attr-valid': {
35810    -1           description: 'Ensures the scope attribute is used correctly on tables',
   -1 35820           description: 'Ensure the scope attribute is used correctly on tables',
35811 35821           help: 'scope attribute should be used correctly'
35812 35822         },
35813 35823         'scrollable-region-focusable': {
@@ -35815,35 +35825,39 @@ module.exports = {
35815 35825           help: 'Scrollable region must have keyboard access'
35816 35826         },
35817 35827         'select-name': {
35818    -1           description: 'Ensures select element has an accessible name',
   -1 35828           description: 'Ensure select element has an accessible name',
35819 35829           help: 'Select element must have an accessible name'
35820 35830         },
35821 35831         'server-side-image-map': {
35822    -1           description: 'Ensures that server-side image maps are not used',
   -1 35832           description: 'Ensure that server-side image maps are not used',
35823 35833           help: 'Server-side image maps must not be used'
35824 35834         },
35825 35835         'skip-link': {
35826 35836           description: 'Ensure all skip links have a focusable target',
35827 35837           help: 'The skip-link target should exist and be focusable'
35828 35838         },
   -1 35839         'summary-name': {
   -1 35840           description: 'Ensure summary elements have discernible text',
   -1 35841           help: 'Summary elements must have discernible text'
   -1 35842         },
35829 35843         'svg-img-alt': {
35830    -1           description: 'Ensures <svg> elements with an img, graphics-document or graphics-symbol role have an accessible text',
   -1 35844           description: 'Ensure <svg> elements with an img, graphics-document or graphics-symbol role have an accessible text',
35831 35845           help: '<svg> elements with an img role must have an alternative text'
35832 35846         },
35833 35847         tabindex: {
35834    -1           description: 'Ensures tabindex attribute values are not greater than 0',
   -1 35848           description: 'Ensure tabindex attribute values are not greater than 0',
35835 35849           help: 'Elements should not have tabindex greater than zero'
35836 35850         },
35837 35851         'table-duplicate-name': {
35838 35852           description: 'Ensure the <caption> element does not contain the same text as the summary attribute',
35839    -1           help: 'tables should not have the same summary and caption'
   -1 35853           help: 'Tables should not have the same summary and caption'
35840 35854         },
35841 35855         'table-fake-caption': {
35842 35856           description: 'Ensure that tables with a caption use the <caption> element.',
35843 35857           help: 'Data or header cells must not be used to give caption to a data table.'
35844 35858         },
35845 35859         'target-size': {
35846    -1           description: 'Ensure touch target have sufficient size and space',
   -1 35860           description: 'Ensure touch targets have sufficient size and space',
35847 35861           help: 'All touch targets must be 24px large, or leave sufficient space'
35848 35862         },
35849 35863         'td-has-header': {
@@ -35859,11 +35873,11 @@ module.exports = {
35859 35873           help: 'Table headers in a data table must refer to data cells'
35860 35874         },
35861 35875         'valid-lang': {
35862    -1           description: 'Ensures lang attributes have valid values',
   -1 35876           description: 'Ensure lang attributes have valid values',
35863 35877           help: 'lang attribute must have a valid value'
35864 35878         },
35865 35879         'video-caption': {
35866    -1           description: 'Ensures <video> elements have captions',
   -1 35880           description: 'Ensure <video> elements have captions',
35867 35881           help: '<video> elements must have captions'
35868 35882         }
35869 35883       },
@@ -35931,9 +35945,9 @@ module.exports = {
35931 35945               hidden: 'aria-errormessage value `${data.values}` cannot reference a hidden element'
35932 35946             },
35933 35947             incomplete: {
35934    -1               singular: 'ensure aria-errormessage value `${data.values}` references an existing element',
35935    -1               plural: 'ensure aria-errormessage values `${data.values}` reference existing elements',
35936    -1               idrefs: 'unable to determine if aria-errormessage element exists on the page: ${data.values}'
   -1 35948               singular: 'Ensure aria-errormessage value `${data.values}` references an existing element',
   -1 35949               plural: 'Ensure aria-errormessage values `${data.values}` reference existing elements',
   -1 35950               idrefs: 'Unable to determine if aria-errormessage element exists on the page: ${data.values}'
35937 35951             }
35938 35952           }
35939 35953         },
@@ -36226,15 +36240,16 @@ module.exports = {
36226 36240         'autocomplete-appropriate': {
36227 36241           impact: 'serious',
36228 36242           messages: {
36229    -1             pass: 'the autocomplete value is on an appropriate element',
36230    -1             fail: 'the autocomplete value is inappropriate for this type of input'
   -1 36243             pass: 'The autocomplete value is on an appropriate element',
   -1 36244             fail: 'The autocomplete value is inappropriate for this type of input'
36231 36245           }
36232 36246         },
36233 36247         'autocomplete-valid': {
36234 36248           impact: 'serious',
36235 36249           messages: {
36236 36250             pass: 'the autocomplete attribute is correctly formatted',
36237    -1             fail: 'the autocomplete attribute is incorrectly formatted'
   -1 36251             fail: 'the autocomplete attribute is incorrectly formatted',
   -1 36252             incomplete: 'the autocomplete attribute has a non-standard value. Check whether any standard value could be used instead.'
36238 36253           }
36239 36254         },
36240 36255         accesskeys: {
@@ -36374,8 +36389,8 @@ module.exports = {
36374 36389         'explicit-label': {
36375 36390           impact: 'critical',
36376 36391           messages: {
36377    -1             pass: 'Form element has an explicit <label>',
36378    -1             fail: 'Form element does not have an explicit <label>',
   -1 36392             pass: 'Element has an explicit <label>',
   -1 36393             fail: 'Element does not have an explicit <label>',
36379 36394             incomplete: 'Unable to determine if form element has an explicit <label>'
36380 36395           }
36381 36396         },
@@ -36397,9 +36412,9 @@ module.exports = {
36397 36412         'implicit-label': {
36398 36413           impact: 'critical',
36399 36414           messages: {
36400    -1             pass: 'Form element has an implicit (wrapped) <label>',
36401    -1             fail: 'Form element does not have an implicit (wrapped) <label>',
36402    -1             incomplete: 'Unable to determine if form element has an implicit (wrapped} <label>'
   -1 36415             pass: 'Element has an implicit (wrapped) <label>',
   -1 36416             fail: 'Element does not have an implicit (wrapped) <label>',
   -1 36417             incomplete: 'Unable to determine if form element has an implicit (wrapped) <label>'
36403 36418           }
36404 36419         },
36405 36420         'label-content-name-mismatch': {
@@ -36686,7 +36701,7 @@ module.exports = {
36686 36701           messages: {
36687 36702             pass: 'aria-labelledby attribute exists and references elements that are visible to screen readers',
36688 36703             fail: 'aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty',
36689    -1             incomplete: 'ensure aria-labelledby references an existing element'
   -1 36704             incomplete: 'Ensure aria-labelledby references an existing element'
36690 36705           }
36691 36706         },
36692 36707         'avoid-inline-spacing': {
@@ -36817,7 +36832,7 @@ module.exports = {
36817 36832         'presentational-role': {
36818 36833           impact: 'minor',
36819 36834           messages: {
36820    -1             pass: 'Element\'s default semantics were overriden with role="${data.role}"',
   -1 36835             pass: 'Element\'s default semantics were overridden with role="${data.role}"',
36821 36836             fail: {
36822 36837               default: 'Element\'s default semantics were not overridden with role="none" or role="presentation"',
36823 36838               globalAria: 'Element\'s role is not presentational because it has a global ARIA attribute',
@@ -36830,14 +36845,14 @@ module.exports = {
36830 36845         'role-none': {
36831 36846           impact: 'minor',
36832 36847           messages: {
36833    -1             pass: 'Element\'s default semantics were overriden with role="none"',
   -1 36848             pass: 'Element\'s default semantics were overridden with role="none"',
36834 36849             fail: 'Element\'s default semantics were not overridden with role="none"'
36835 36850           }
36836 36851         },
36837 36852         'role-presentation': {
36838 36853           impact: 'minor',
36839 36854           messages: {
36840    -1             pass: 'Element\'s default semantics were overriden with role="presentation"',
   -1 36855             pass: 'Element\'s default semantics were overridden with role="presentation"',
36841 36856             fail: 'Element\'s default semantics were not overridden with role="presentation"'
36842 36857           }
36843 36858         },
@@ -37301,7 +37316,8 @@ module.exports = {
37301 37316       actIds: [ '73f2c2' ],
37302 37317       all: [ {
37303 37318         options: {
37304    -1           stateTerms: [ 'none', 'false', 'true', 'disabled', 'enabled', 'undefined', 'null' ]
   -1 37319           stateTerms: [ 'none', 'false', 'true', 'disabled', 'enabled', 'undefined', 'null' ],
   -1 37320           ignoredValues: [ 'text', 'pronouns', 'gender', 'message', 'content' ]
37305 37321         },
37306 37322         id: 'autocomplete-valid'
37307 37323       } ],
@@ -37359,7 +37375,7 @@ module.exports = {
37359 37375           attribute: 'title'
37360 37376         },
37361 37377         id: 'non-empty-title'
37362    -1       }, 'presentational-role' ],
   -1 37378       }, 'implicit-label', 'explicit-label', 'presentational-role' ],
37363 37379       none: []
37364 37380     }, {
37365 37381       id: 'bypass',
@@ -37747,7 +37763,7 @@ module.exports = {
37747 37763           attribute: 'title'
37748 37764         },
37749 37765         id: 'non-empty-title'
37750    -1       }, 'presentational-role' ],
   -1 37766       }, 'implicit-label', 'explicit-label', 'presentational-role' ],
37751 37767       none: []
37752 37768     }, {
37753 37769       id: 'input-image-alt',
@@ -37767,7 +37783,7 @@ module.exports = {
37767 37783           attribute: 'title'
37768 37784         },
37769 37785         id: 'non-empty-title'
37770    -1       } ],
   -1 37786       }, 'implicit-label', 'explicit-label' ],
37771 37787       none: []
37772 37788     }, {
37773 37789       id: 'label-content-name-mismatch',
@@ -38215,6 +38231,20 @@ module.exports = {
38215 38231       any: [ 'skip-link' ],
38216 38232       none: []
38217 38233     }, {
   -1 38234       id: 'summary-name',
   -1 38235       impact: 'serious',
   -1 38236       selector: 'summary',
   -1 38237       matches: 'summary-interactive-matches',
   -1 38238       tags: [ 'cat.name-role-value', 'wcag2a', 'wcag412', 'section508', 'section508.22.a', 'TTv5', 'TT6.a', 'EN-301-549', 'EN-9.4.1.2' ],
   -1 38239       all: [],
   -1 38240       any: [ 'has-visible-text', 'aria-label', 'aria-labelledby', {
   -1 38241         options: {
   -1 38242           attribute: 'title'
   -1 38243         },
   -1 38244         id: 'non-empty-title'
   -1 38245       } ],
   -1 38246       none: []
   -1 38247     }, {
38218 38248       id: 'svg-img-alt',
38219 38249       impact: 'serious',
38220 38250       selector: '[role="img"], [role="graphics-symbol"], svg[role="graphics-document"]',
@@ -38501,7 +38531,8 @@ module.exports = {
38501 38531       id: 'autocomplete-valid',
38502 38532       evaluate: 'autocomplete-valid-evaluate',
38503 38533       options: {
38504    -1         stateTerms: [ 'none', 'false', 'true', 'disabled', 'enabled', 'undefined', 'null' ]
   -1 38534         stateTerms: [ 'none', 'false', 'true', 'disabled', 'enabled', 'undefined', 'null' ],
   -1 38535         ignoredValues: [ 'text', 'pronouns', 'gender', 'message', 'content' ]
38505 38536       }
38506 38537     }, {
38507 38538       id: 'accesskeys',
@@ -38922,7 +38953,7 @@ module.exports = {
38922 38953   });
38923 38954 })(typeof window === 'object' ? window : this);
38924 38955 }).call(this)}).call(this,require('_process'),require("timers").setImmediate)
38925    -1 },{"_process":1,"timers":2}],16:[function(require,module,exports){
   -1 38956 },{"_process":1,"timers":2}],11:[function(require,module,exports){
38926 38957 "use strict";
38927 38958 
38928 38959 exports.__esModule = true;
@@ -38933,8 +38964,8 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == 
38933 38964 function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
38934 38965 function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
38935 38966 function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
38936    -1 function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
38937    -1 function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
   -1 38967 function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
   -1 38968 function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
38938 38969 /**
38939 38970  * @param root
38940 38971  * @param options
@@ -38968,7 +38999,7 @@ function computeAccessibleDescription(root) {
38968 38999   return description;
38969 39000 }
38970 39001 
38971    -1 },{"./accessible-name-and-description":17,"./util":25}],17:[function(require,module,exports){
   -1 39002 },{"./accessible-name-and-description":12,"./util":20}],12:[function(require,module,exports){
38972 39003 "use strict";
38973 39004 
38974 39005 exports.__esModule = true;
@@ -39198,21 +39229,42 @@ function getSlotContents(slot) {
39198 39229 function computeTextAlternative(root) {
39199 39230   var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
39200 39231   var consultedNodes = new _SetLike.default();
   -1 39232   var computedStyles = typeof Map === "undefined" ? undefined : new Map();
39201 39233   var window = (0, _util.safeWindow)(root);
39202 39234   var _options$compute = options.compute,
39203 39235     compute = _options$compute === void 0 ? "name" : _options$compute,
39204 39236     _options$computedStyl = options.computedStyleSupportsPseudoElements,
39205 39237     computedStyleSupportsPseudoElements = _options$computedStyl === void 0 ? options.getComputedStyle !== undefined : _options$computedStyl,
39206 39238     _options$getComputedS = options.getComputedStyle,
39207    -1     getComputedStyle = _options$getComputedS === void 0 ? window.getComputedStyle.bind(window) : _options$getComputedS,
   -1 39239     uncachedGetComputedStyle = _options$getComputedS === void 0 ? window.getComputedStyle.bind(window) : _options$getComputedS,
39208 39240     _options$hidden = options.hidden,
39209 39241     hidden = _options$hidden === void 0 ? false : _options$hidden;
   -1 39242   var getComputedStyle = function getComputedStyle(el, pseudoElement) {
   -1 39243     // We don't cache the pseudoElement styles and calls with psuedo elements
   -1 39244     // should use the uncached version instead
   -1 39245     if (pseudoElement !== undefined) {
   -1 39246       throw new Error("use uncachedGetComputedStyle directly for pseudo elements");
   -1 39247     }
   -1 39248     // If Map is not available, it is probably faster to just use the uncached
   -1 39249     // version since a polyfill lookup would be O(n) instead of O(1) and
   -1 39250     // the getComputedStyle function in those environments(e.g. IE11) is fast
   -1 39251     if (computedStyles === undefined) {
   -1 39252       return uncachedGetComputedStyle(el);
   -1 39253     }
   -1 39254     var cachedStyles = computedStyles.get(el);
   -1 39255     if (cachedStyles) {
   -1 39256       return cachedStyles;
   -1 39257     }
   -1 39258     var style = uncachedGetComputedStyle(el, pseudoElement);
   -1 39259     computedStyles.set(el, style);
   -1 39260     return style;
   -1 39261   };
39210 39262 
39211 39263   // 2F.i
39212 39264   function computeMiscTextAlternative(node, context) {
39213 39265     var accumulatedText = "";
39214 39266     if ((0, _util.isElement)(node) && computedStyleSupportsPseudoElements) {
39215    -1       var pseudoBefore = getComputedStyle(node, "::before");
   -1 39267       var pseudoBefore = uncachedGetComputedStyle(node, "::before");
39216 39268       var beforeContent = getTextualContent(pseudoBefore);
39217 39269       accumulatedText = "".concat(beforeContent, " ").concat(accumulatedText);
39218 39270     }
@@ -39234,7 +39286,7 @@ function computeTextAlternative(root) {
39234 39286       accumulatedText += "".concat(separator).concat(result).concat(separator);
39235 39287     });
39236 39288     if ((0, _util.isElement)(node) && computedStyleSupportsPseudoElements) {
39237    -1       var pseudoAfter = getComputedStyle(node, "::after");
   -1 39289       var pseudoAfter = uncachedGetComputedStyle(node, "::after");
39238 39290       var afterContent = getTextualContent(pseudoAfter);
39239 39291       accumulatedText = "".concat(accumulatedText, " ").concat(afterContent);
39240 39292     }
@@ -39380,7 +39432,6 @@ function computeTextAlternative(root) {
39380 39432     if (consultedNodes.has(current)) {
39381 39433       return "";
39382 39434     }
39383    -1 
39384 39435     // 2A
39385 39436     if (!hidden && isHidden(current, getComputedStyle) && !context.isReferenced) {
39386 39437       consultedNodes.add(current);
@@ -39511,7 +39562,7 @@ function computeTextAlternative(root) {
39511 39562   }));
39512 39563 }
39513 39564 
39514    -1 },{"./polyfills/SetLike":23,"./polyfills/array.from":24,"./util":25}],18:[function(require,module,exports){
   -1 39565 },{"./polyfills/SetLike":18,"./polyfills/array.from":19,"./util":20}],13:[function(require,module,exports){
39515 39566 "use strict";
39516 39567 
39517 39568 exports.__esModule = true;
@@ -39539,7 +39590,7 @@ function computeAccessibleName(root) {
39539 39590   return (0, _accessibleNameAndDescription.computeTextAlternative)(root, options);
39540 39591 }
39541 39592 
39542    -1 },{"./accessible-name-and-description":17,"./util":25}],19:[function(require,module,exports){
   -1 39593 },{"./accessible-name-and-description":12,"./util":20}],14:[function(require,module,exports){
39543 39594 "use strict";
39544 39595 
39545 39596 exports.__esModule = true;
@@ -39732,7 +39783,7 @@ function getExplicitRole(element) {
39732 39783   return null;
39733 39784 }
39734 39785 
39735    -1 },{"./util":25}],20:[function(require,module,exports){
   -1 39786 },{"./util":20}],15:[function(require,module,exports){
39736 39787 "use strict";
39737 39788 
39738 39789 exports.__esModule = true;
@@ -39760,7 +39811,7 @@ var _isDisabled = require("./is-disabled");
39760 39811 exports.isDisabled = _isDisabled.isDisabled;
39761 39812 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
39762 39813 
39763    -1 },{"./accessible-description":16,"./accessible-name":18,"./getRole":19,"./is-disabled":21,"./is-inaccessible":22}],21:[function(require,module,exports){
   -1 39814 },{"./accessible-description":11,"./accessible-name":13,"./getRole":14,"./is-disabled":16,"./is-inaccessible":17}],16:[function(require,module,exports){
39764 39815 "use strict";
39765 39816 
39766 39817 exports.__esModule = true;
@@ -39781,7 +39832,7 @@ function isDisabled(element) {
39781 39832   return elementsSupportingDisabledAttribute.has(localName) && element.hasAttribute("disabled") ? true : element.getAttribute("aria-disabled") === "true";
39782 39833 }
39783 39834 
39784    -1 },{"./getRole":19}],22:[function(require,module,exports){
   -1 39835 },{"./getRole":14}],17:[function(require,module,exports){
39785 39836 "use strict";
39786 39837 
39787 39838 exports.__esModule = true;
@@ -39850,7 +39901,7 @@ function isSubtreeInaccessible(element) {
39850 39901   return false;
39851 39902 }
39852 39903 
39853    -1 },{}],23:[function(require,module,exports){
   -1 39904 },{}],18:[function(require,module,exports){
39854 39905 "use strict";
39855 39906 
39856 39907 exports.__esModule = true;
@@ -39860,8 +39911,8 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
39860 39911 function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
39861 39912 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
39862 39913 function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
39863    -1 function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
39864    -1 function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
   -1 39914 function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
   -1 39915 function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
39865 39916 // for environments without Set we fallback to arrays with unique members
39866 39917 var SetLike = /*#__PURE__*/function () {
39867 39918   function SetLike() {
@@ -39870,7 +39921,7 @@ var SetLike = /*#__PURE__*/function () {
39870 39921     _defineProperty(this, "items", void 0);
39871 39922     this.items = items;
39872 39923   }
39873    -1   _createClass(SetLike, [{
   -1 39924   return _createClass(SetLike, [{
39874 39925     key: "add",
39875 39926     value: function add(value) {
39876 39927       if (this.has(value) === false) {
@@ -39911,12 +39962,10 @@ var SetLike = /*#__PURE__*/function () {
39911 39962       return this.items.length;
39912 39963     }
39913 39964   }]);
39914    -1   return SetLike;
39915 39965 }();
39916    -1 var _default = typeof Set === "undefined" ? Set : SetLike;
39917    -1 exports.default = _default;
   -1 39966 var _default = exports.default = typeof Set === "undefined" ? Set : SetLike;
39918 39967 
39919    -1 },{}],24:[function(require,module,exports){
   -1 39968 },{}],19:[function(require,module,exports){
39920 39969 "use strict";
39921 39970 
39922 39971 exports.__esModule = true;
@@ -40008,7 +40057,7 @@ function arrayFrom(arrayLike, mapFn) {
40008 40057   return A;
40009 40058 }
40010 40059 
40011    -1 },{}],25:[function(require,module,exports){
   -1 40060 },{}],20:[function(require,module,exports){
40012 40061 "use strict";
40013 40062 
40014 40063 function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
@@ -40032,10 +40081,9 @@ exports.queryIdRefs = queryIdRefs;
40032 40081 exports.safeWindow = safeWindow;
40033 40082 var _getRole = _interopRequireWildcard(require("./getRole"));
40034 40083 exports.getLocalName = _getRole.getLocalName;
40035    -1 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
40036    -1 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
40037    -1 var presentationRoles = ["presentation", "none"];
40038    -1 exports.presentationRoles = presentationRoles;
   -1 40084 function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
   -1 40085 function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
   -1 40086 var presentationRoles = exports.presentationRoles = ["presentation", "none"];
40039 40087 function isElement(node) {
40040 40088   return node !== null && node.nodeType === node.ELEMENT_NODE;
40041 40089 }
@@ -40105,7 +40153,6 @@ function queryIdRefs(node, attributeName) {
40105 40153     // TODO: why does this not narrow?
40106 40154     );
40107 40155   }
40108    -1 
40109 40156   return [];
40110 40157 }
40111 40158 function hasAnyConcreteRoles(node, roles) {
@@ -40115,7 +40162,7 @@ function hasAnyConcreteRoles(node, roles) {
40115 40162   return false;
40116 40163 }
40117 40164 
40118    -1 },{"./getRole":19}],26:[function(require,module,exports){
   -1 40165 },{"./getRole":14}],21:[function(require,module,exports){
40119 40166 /*@license
40120 40167 CalcNames: The AccName Computation Prototype, compute the Name and Description property values for a DOM node
40121 40168 Returns an object with 'name' and 'desc' properties.
@@ -41822,7 +41869,7 @@ Plus roles extended for the Role Parity project.
41822 41869   }
41823 41870 })();
41824 41871 
41825    -1 },{}],27:[function(require,module,exports){
   -1 41872 },{}],22:[function(require,module,exports){
41826 41873 (function (global){(function (){
41827 41874 global.goog = {
41828 41875 	provide: function() {},
@@ -41847,7 +41894,7 @@ require('accessibility-developer-tools/src/js/Properties');
41847 41894 module.exports = global.axs;
41848 41895 
41849 41896 }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
41850    -1 },{"accessibility-developer-tools/src/js/AccessibilityUtils":3,"accessibility-developer-tools/src/js/BrowserUtils":4,"accessibility-developer-tools/src/js/Color":5,"accessibility-developer-tools/src/js/Constants":6,"accessibility-developer-tools/src/js/DOMUtils":7,"accessibility-developer-tools/src/js/Properties":8}],28:[function(require,module,exports){
   -1 41897 },{"accessibility-developer-tools/src/js/AccessibilityUtils":3,"accessibility-developer-tools/src/js/BrowserUtils":4,"accessibility-developer-tools/src/js/Color":5,"accessibility-developer-tools/src/js/Constants":6,"accessibility-developer-tools/src/js/DOMUtils":7,"accessibility-developer-tools/src/js/Properties":8}],23:[function(require,module,exports){
41851 41898 var ariaApi = require('aria-api');
41852 41899 var accdc = require('w3c-alternative-text-computation');
41853 41900 var axe = require('axe-core');
@@ -41867,7 +41914,7 @@ var ex = function(fn, args, _this) {
41867 41914 };
41868 41915 
41869 41916 var implementations = [{
41870    -1 	name: 'aria-api (0.7.0)',
   -1 41917 	name: 'aria-api (0.8.0)',
41871 41918 	url: 'https://github.com/xi/aria-api',
41872 41919 	fn: function(el) {
41873 41920 		return {
@@ -41881,7 +41928,7 @@ var implementations = [{
41881 41928 	url: 'https://github.com/WhatSock/w3c-alternative-text-computation',
41882 41929 	fn: accdc.calcNames,
41883 41930 }, {
41884    -1 	name: 'dom-accessibility-api (0.6.3)',
   -1 41931 	name: 'dom-accessibility-api (0.7.0)',
41885 41932 	url: 'https://github.com/eps1lon/dom-accessibility-api/',
41886 41933 	fn: function(el) {
41887 41934 		return {
@@ -41891,7 +41938,7 @@ var implementations = [{
41891 41938 		};
41892 41939 	},
41893 41940 }, {
41894    -1 	name: 'axe (4.9.1)',
   -1 41941 	name: 'axe (4.10.2)',
41895 41942 	url: 'https://github.com/dequelabs/axe-core',
41896 41943 	fn: function(el) {
41897 41944 		axe._tree = axe.utils.getFlattenedTree(document.body);
@@ -41975,4 +42022,4 @@ try {
41975 42022 	});
41976 42023 }
41977 42024 
41978    -1 },{"./axs":27,"aria-api":9,"axe-core":15,"dom-accessibility-api":20,"w3c-alternative-text-computation":26}]},{},[28]);
   -1 42025 },{"./axs":22,"aria-api":9,"axe-core":10,"dom-accessibility-api":15,"w3c-alternative-text-computation":21}]},{},[23]);

diff --git a/package.json b/package.json

@@ -4,9 +4,9 @@
    4     4   "description": "compare different implementations of accname",
    5     5   "devDependencies": {
    6     6     "accessibility-developer-tools": "2.12.0",
    7    -1     "aria-api": "0.7.0",
    8    -1     "axe-core": "4.9.1",
    9    -1     "dom-accessibility-api": "0.6.3",
   -1     7     "aria-api": "^0.8.0",
   -1     8     "axe-core": "^4.10.2",
   -1     9     "dom-accessibility-api": "^0.7.0",
   10    10     "w3c-alternative-text-computation": "github:WhatSock/w3c-alternative-text-computation#4b59f9877c9ae6282408edb150f64003a59fdb95"
   11    11   },
   12    12   "repository": {

diff --git a/src/babel.js b/src/babel.js

@@ -17,7 +17,7 @@ var ex = function(fn, args, _this) {
   17    17 };
   18    18 
   19    19 var implementations = [{
   20    -1 	name: 'aria-api (0.7.0)',
   -1    20 	name: 'aria-api (0.8.0)',
   21    21 	url: 'https://github.com/xi/aria-api',
   22    22 	fn: function(el) {
   23    23 		return {
@@ -31,7 +31,7 @@ var implementations = [{
   31    31 	url: 'https://github.com/WhatSock/w3c-alternative-text-computation',
   32    32 	fn: accdc.calcNames,
   33    33 }, {
   34    -1 	name: 'dom-accessibility-api (0.6.3)',
   -1    34 	name: 'dom-accessibility-api (0.7.0)',
   35    35 	url: 'https://github.com/eps1lon/dom-accessibility-api/',
   36    36 	fn: function(el) {
   37    37 		return {
@@ -41,7 +41,7 @@ var implementations = [{
   41    41 		};
   42    42 	},
   43    43 }, {
   44    -1 	name: 'axe (4.9.1)',
   -1    44 	name: 'axe (4.10.2)',
   45    45 	url: 'https://github.com/dequelabs/axe-core',
   46    46 	fn: function(el) {
   47    47 		axe._tree = axe.utils.getFlattenedTree(document.body);