}\n */\nfunction* walkTree(walker) {\n while (walker.nextNode()) {\n yield /** @type {T} */ (walker.currentNode);\n }\n}\n\nexport class CaseInsensitiveMap extends Map {\n /**\n * @param {Array<[String, HTMLElement]>} [entries]\n */\n constructor(entries = []) {\n super();\n entries.forEach(([key, elem]) => {\n this.set(key, elem);\n });\n return this;\n }\n /**\n * @param {String} key\n * @param {*} value\n */\n set(key, value) {\n super.set(key.toLowerCase(), value);\n return this;\n }\n /**\n * @param {String} key\n */\n get(key) {\n return super.get(key.toLowerCase());\n }\n /**\n * @param {String} key\n */\n has(key) {\n return super.has(key.toLowerCase());\n }\n /**\n * @param {String} key\n */\n delete(key) {\n return super.delete(key.toLowerCase());\n }\n}\n","// @ts-check\n// Module core/base-runner\n// The module in charge of running the whole processing pipeline.\nimport \"./include-config.js\";\nimport \"./override-configuration.js\";\nimport \"./respec-ready.js\";\nimport { done as postProcessDone } from \"./post-process.js\";\nimport { done as preProcessDone } from \"./pre-process.js\";\nimport { pub } from \"./pubsubhub.js\";\nimport { removeReSpec } from \"./utils.js\";\n\nexport const name = \"core/base-runner\";\nconst canMeasure = performance.mark && performance.measure;\n\nfunction toRunnable(plug) {\n const name = plug.name || \"\";\n if (!name) {\n console.warn(\"Plugin lacks name:\", plug);\n }\n return config => {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n const timerId = setTimeout(() => {\n const msg = `Plugin ${name} took too long.`;\n console.error(msg, plug);\n reject(new Error(msg));\n }, 15000);\n if (canMeasure) {\n performance.mark(`${name}-start`);\n }\n try {\n if (plug.Plugin) {\n await new plug.Plugin(config).run();\n resolve();\n } else if (plug.run.length <= 1) {\n await plug.run(config);\n resolve();\n } else {\n console.warn(\n `Plugin ${name} uses a deprecated callback signature. Return a Promise instead. Read more at: https://github.com/w3c/respec/wiki/Developers-Guide#plugins`\n );\n plug.run(config, document, resolve);\n }\n } catch (err) {\n reject(err);\n } finally {\n clearTimeout(timerId);\n }\n if (canMeasure) {\n performance.mark(`${name}-end`);\n performance.measure(name, `${name}-start`, `${name}-end`);\n }\n });\n };\n}\n\nfunction isRunnableModule(plug) {\n return plug && (plug.run || plug.Plugin);\n}\n\nexport async function runAll(plugs) {\n pub(\"start-all\", respecConfig);\n if (canMeasure) {\n performance.mark(`${name}-start`);\n }\n await preProcessDone;\n const runnables = plugs.filter(isRunnableModule).map(toRunnable);\n for (const task of runnables) {\n try {\n await task(respecConfig);\n } catch (err) {\n console.error(err);\n }\n }\n pub(\"plugins-done\", respecConfig);\n await postProcessDone;\n pub(\"end-all\", respecConfig);\n removeReSpec(document);\n if (canMeasure) {\n performance.mark(`${name}-end`);\n performance.measure(name, `${name}-start`, `${name}-end`);\n }\n}\n","/**\n * @param {string} path\n */\nexport async function fetchBase(path) {\n const response = await fetch(new URL(`../../${path}`, import.meta.url));\n return await response.text();\n}\n\n/**\n * @param {string} fileName\n */\nexport async function fetchAsset(fileName) {\n return fetchBase(`assets/${fileName}`);\n}\n","// @ts-check\n/**\n * Module core/reindent\n *\n * Removes common indents across the IDL texts,\n * so that indentation inside won't affect the rendered result.\n */\n\nexport const name = \"core/reindent\";\n\n/**\n * @param {string} text\n */\nexport function reindent(text) {\n if (!text) {\n return text;\n }\n const lines = text.trimEnd().split(\"\\n\");\n while (lines.length && !lines[0].trim()) {\n lines.shift();\n }\n const indents = lines.filter(s => s.trim()).map(s => s.search(/[^\\s]/));\n const leastIndent = Math.min(...indents);\n return lines.map(s => s.slice(leastIndent)).join(\"\\n\");\n}\n\nexport function run() {\n for (const pre of document.getElementsByTagName(\"pre\")) {\n pre.innerHTML = reindent(pre.innerHTML);\n }\n}\n","// @ts-check\n/**\n * Module core/markdown\n * Handles the optional markdown processing.\n *\n * Markdown support is optional. It is enabled by setting the `format`\n * property of the configuration object to \"markdown.\"\n *\n * We use marked for parsing Markdown:\n * https://github.com/chjj/marked\n *\n * Note that the content of SECTION elements, and elements with a\n * class name of \"note\", \"issue\" or \"req\" are also parsed.\n *\n * The HTML created by the Markdown parser is turned into a nested\n * structure of SECTION elements, following the structure given by\n * the headings. For example, the following markup:\n *\n * Title\n * -----\n *\n * ### Subtitle ###\n *\n * Here's some text.\n *\n * ### Another subtitle ###\n *\n * More text.\n *\n * will be transformed into:\n *\n * \n * Title \n * \n * Subtitle \n * Here's some text.
\n * \n * \n * Another subtitle \n * More text.
\n * \n * \n *\n * The whitespace of pre elements are left alone.\n */\n\nimport { getElementIndentation } from \"./utils.js\";\nimport { marked } from \"./import-maps.js\";\nimport { reindent } from \"./reindent.js\";\nexport const name = \"core/markdown\";\n\nconst gtEntity = />/gm;\nconst ampEntity = /&/gm;\n\nclass Renderer extends marked.Renderer {\n code(code, language, isEscaped) {\n // regex to check whether the language is webidl\n if (/(^webidl$)/i.test(language)) {\n return `${code} `;\n }\n return super.code(code, language, isEscaped);\n }\n\n heading(text, level, raw, slugger) {\n const headingWithIdRegex = /(.+)\\s+{#([\\w-]+)}$/;\n if (headingWithIdRegex.test(text)) {\n const [, textContent, id] = text.match(headingWithIdRegex);\n return `${textContent} `;\n }\n return super.heading(text, level, raw, slugger);\n }\n}\n\n/**\n * @param {string} text\n */\nexport function markdownToHtml(text) {\n const normalizedLeftPad = reindent(text);\n // As markdown is pulled from HTML, > and & are already escaped and\n // so blockquotes aren't picked up by the parser. This fixes it.\n const potentialMarkdown = normalizedLeftPad\n .replace(gtEntity, \">\")\n .replace(ampEntity, \"&\");\n // @ts-ignore\n const result = marked(potentialMarkdown, {\n sanitize: false,\n gfm: true,\n headerIds: false,\n langPrefix: \"\",\n renderer: new Renderer(),\n });\n return result;\n}\n\n/**\n * @param {string} selector\n * @return {(el: Element) => Element[]}\n */\nfunction convertElements(selector) {\n return element => {\n const elements = element.querySelectorAll(selector);\n elements.forEach(convertElement);\n return Array.from(elements);\n };\n}\n\n/**\n * @param {Element} element\n */\nfunction convertElement(element) {\n for (const pre of element.getElementsByTagName(\"pre\")) {\n // HTML parser implicitly removes a newline after \n // which breaks reindentation algorithm\n pre.prepend(\"\\n\");\n }\n element.innerHTML = markdownToHtml(element.innerHTML);\n}\n\n/**\n * CommonMark requires additional empty newlines between markdown and HTML lines.\n * This function adds them as a backward compatibility workaround.\n * @param {HTMLElement} element\n * @param {string} selector\n */\nfunction workaroundBlockLevelMarkdown(element, selector) {\n /** @type {NodeListOf} */\n const elements = element.querySelectorAll(selector);\n for (const element of elements) {\n const { innerHTML } = element;\n if (/^<\\w/.test(innerHTML.trimStart())) {\n // if the block content starts with HTML-like format\n // then assume it doesn't need a workaround\n continue;\n }\n // Double newlines are needed to be parsed as Markdown\n const lines = innerHTML.split(\"\\n\");\n const firstTwo = lines.slice(0, 2).join(\"\\n\");\n const lastTwo = lines.slice(-2).join(\"\\n\");\n if (firstTwo.trim()) {\n element.prepend(\"\\n\\n\");\n }\n if (lastTwo.trim()) {\n // keep the indentation of the end tag\n const indentation = getElementIndentation(element);\n element.append(`\\n\\n${indentation}`);\n }\n }\n}\n\nclass Builder {\n constructor(doc) {\n this.doc = doc;\n this.root = doc.createDocumentFragment();\n this.stack = [this.root];\n this.current = this.root;\n }\n findPosition(header) {\n return parseInt(header.tagName.charAt(1), 10);\n }\n findParent(position) {\n let parent;\n while (position > 0) {\n position--;\n parent = this.stack[position];\n if (parent) return parent;\n }\n }\n findHeader({ firstChild: node }) {\n while (node) {\n if (/H[1-6]/.test(node.tagName)) {\n return node;\n }\n node = node.nextSibling;\n }\n return null;\n }\n\n addHeader(header) {\n const section = this.doc.createElement(\"section\");\n const position = this.findPosition(header);\n\n section.appendChild(header);\n this.findParent(position).appendChild(section);\n this.stack[position] = section;\n this.stack.length = position + 1;\n this.current = section;\n }\n\n addSection(node, process) {\n const header = this.findHeader(node);\n const position = header ? this.findPosition(header) : 1;\n const parent = this.findParent(position);\n\n if (header) {\n node.removeChild(header);\n }\n\n node.appendChild(process(node));\n\n if (header) {\n node.prepend(header);\n }\n\n parent.appendChild(node);\n this.current = parent;\n }\n\n addElement(node) {\n this.current.appendChild(node);\n }\n}\n\nfunction structure(fragment, doc) {\n function process(root) {\n const stack = new Builder(doc);\n while (root.firstChild) {\n const node = root.firstChild;\n if (node.nodeType !== Node.ELEMENT_NODE) {\n root.removeChild(node);\n continue;\n }\n switch (node.localName) {\n case \"h1\":\n case \"h2\":\n case \"h3\":\n case \"h4\":\n case \"h5\":\n case \"h6\":\n stack.addHeader(node);\n break;\n case \"section\":\n stack.addSection(node, process);\n break;\n default:\n stack.addElement(node);\n }\n }\n return stack.root;\n }\n return process(fragment);\n}\n\n/**\n * @param {Iterable} elements\n */\nfunction substituteWithTextNodes(elements) {\n Array.from(elements).forEach(element => {\n element.replaceWith(element.textContent);\n });\n}\n\nconst processMDSections = convertElements(\"[data-format='markdown']:not(body)\");\nconst blockLevelElements =\n \"[data-format=markdown], section, div, address, article, aside, figure, header, main\";\n\nexport function run(conf) {\n const hasMDSections = !!document.querySelector(\n \"[data-format=markdown]:not(body)\"\n );\n const isMDFormat = conf.format === \"markdown\";\n if (!isMDFormat && !hasMDSections) {\n return; // Nothing to be done\n }\n // Only has markdown-format sections\n if (!isMDFormat) {\n processMDSections(document.body)\n .map(elem => {\n const structuredInternals = structure(elem, elem.ownerDocument);\n return {\n structuredInternals,\n elem,\n };\n })\n .forEach(({ elem, structuredInternals }) => {\n elem.setAttribute(\"aria-busy\", \"true\");\n if (\n structuredInternals.firstElementChild.localName === \"section\" &&\n elem.localName === \"section\"\n ) {\n const section = structuredInternals.firstElementChild;\n section.remove();\n elem.append(...section.childNodes);\n } else {\n elem.textContent = \"\";\n }\n elem.appendChild(structuredInternals);\n elem.setAttribute(\"aria-busy\", \"false\");\n });\n return;\n }\n // We transplant the UI to do the markdown processing\n const rsUI = document.getElementById(\"respec-ui\");\n rsUI.remove();\n // The new body will replace the old body\n const newBody = document.body.cloneNode(true);\n // Marked expects markdown be flush against the left margin\n // so we need to normalize the inner text of some block\n // elements.\n workaroundBlockLevelMarkdown(newBody, blockLevelElements);\n convertElement(newBody);\n // Remove links where class .nolinks\n substituteWithTextNodes(newBody.querySelectorAll(\".nolinks a[href]\"));\n // Restructure the document properly\n const fragment = structure(newBody, document);\n // Frankenstein the whole thing back together\n newBody.append(rsUI, fragment);\n document.body.replaceWith(newBody);\n}\n","/**\n * www.openjs.com/scripts/events/keyboard_shortcuts/\n * Version : 2.01.B\n * By Binny V A\n * License : BSD\n */\n\"use strict\";\nexport default {\n all_shortcuts: {}, //All the shortcuts are stored in this array\n add: function(shortcut_combination, callback, opt) {\n //Provide a set of default options\n var default_options = {\n type: \"keydown\",\n propagate: false,\n disable_in_input: false,\n target: document,\n keycode: false,\n };\n if (!opt) {\n opt = default_options;\n } else {\n for (var dfo in default_options) {\n if (typeof opt[dfo] == \"undefined\") opt[dfo] = default_options[dfo];\n }\n }\n\n var ele = opt.target;\n if (typeof opt.target == \"string\")\n ele = document.getElementById(opt.target);\n var ths = this;\n shortcut_combination = shortcut_combination.toLowerCase();\n\n //The function to be called at keypress\n var func = function(e) {\n var code;\n e = e || window.event;\n\n if (opt[\"disable_in_input\"]) {\n //Don't enable shortcut keys in Input, Textarea fields\n var element;\n if (e.target) element = e.target;\n else if (e.srcElement) element = e.srcElement;\n if (element.nodeType == 3) element = element.parentNode;\n\n if (element.tagName == \"INPUT\" || element.tagName == \"TEXTAREA\") return;\n }\n\n //Find Which key is pressed\n if (e.keyCode) code = e.keyCode;\n else if (e.which) code = e.which;\n var character = String.fromCharCode(code).toLowerCase();\n\n if (code == 188) character = \",\"; //If the user presses , when the type is onkeydown\n if (code == 190) character = \".\"; //If the user presses , when the type is onkeydown\n\n var keys = shortcut_combination.split(\"+\");\n //Key Pressed - counts the number of valid keypresses - if it is same as the number of keys, the shortcut function is invoked\n var kp = 0;\n\n //Work around for stupid Shift key bug created by using lowercase - as a result the shift+num combination was broken\n var shift_nums = {\n \"`\": \"~\",\n \"1\": \"!\",\n \"2\": \"@\",\n \"3\": \"#\",\n \"4\": \"$\",\n \"5\": \"%\",\n \"6\": \"^\",\n \"7\": \"&\",\n \"8\": \"*\",\n \"9\": \"(\",\n \"0\": \")\",\n \"-\": \"_\",\n \"=\": \"+\",\n \";\": \":\",\n \"'\": '\"',\n \",\": \"<\",\n \".\": \">\",\n \"/\": \"?\",\n \"\\\\\": \"|\",\n };\n //Special Keys - and their codes\n var special_keys = {\n esc: 27,\n escape: 27,\n tab: 9,\n space: 32,\n return: 13,\n enter: 13,\n backspace: 8,\n\n scrolllock: 145,\n scroll_lock: 145,\n scroll: 145,\n capslock: 20,\n caps_lock: 20,\n caps: 20,\n numlock: 144,\n num_lock: 144,\n num: 144,\n\n pause: 19,\n break: 19,\n\n insert: 45,\n home: 36,\n delete: 46,\n end: 35,\n\n pageup: 33,\n page_up: 33,\n pu: 33,\n\n pagedown: 34,\n page_down: 34,\n pd: 34,\n\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n\n f1: 112,\n f2: 113,\n f3: 114,\n f4: 115,\n f5: 116,\n f6: 117,\n f7: 118,\n f8: 119,\n f9: 120,\n f10: 121,\n f11: 122,\n f12: 123,\n };\n\n var modifiers = {\n shift: { wanted: false, pressed: false },\n ctrl: { wanted: false, pressed: false },\n alt: { wanted: false, pressed: false },\n meta: { wanted: false, pressed: false }, //Meta is Mac specific\n };\n\n if (e.ctrlKey) modifiers.ctrl.pressed = true;\n if (e.shiftKey) modifiers.shift.pressed = true;\n if (e.altKey) modifiers.alt.pressed = true;\n if (e.metaKey) modifiers.meta.pressed = true;\n\n for (var i = 0, k; (k = keys[i]), i < keys.length; i++) {\n //Modifiers\n if (k == \"ctrl\" || k == \"control\") {\n kp++;\n modifiers.ctrl.wanted = true;\n } else if (k == \"shift\") {\n kp++;\n modifiers.shift.wanted = true;\n } else if (k == \"alt\") {\n kp++;\n modifiers.alt.wanted = true;\n } else if (k == \"meta\") {\n kp++;\n modifiers.meta.wanted = true;\n } else if (k.length > 1) {\n //If it is a special key\n if (special_keys[k] == code) kp++;\n } else if (opt[\"keycode\"]) {\n if (opt[\"keycode\"] == code) kp++;\n } else {\n //The special keys did not match\n if (character == k) kp++;\n else {\n if (shift_nums[character] && e.shiftKey) {\n //Stupid Shift key bug created by using lowercase\n character = shift_nums[character];\n if (character == k) kp++;\n }\n }\n }\n }\n\n if (\n kp == keys.length &&\n modifiers.ctrl.pressed == modifiers.ctrl.wanted &&\n modifiers.shift.pressed == modifiers.shift.wanted &&\n modifiers.alt.pressed == modifiers.alt.wanted &&\n modifiers.meta.pressed == modifiers.meta.wanted\n ) {\n callback(e);\n\n if (!opt[\"propagate\"]) {\n //Stop the event\n //e.cancelBubble is supported by IE - this will kill the bubbling process.\n e.cancelBubble = true;\n e.returnValue = false;\n\n //e.stopPropagation works in Firefox.\n if (e.stopPropagation) {\n e.stopPropagation();\n e.preventDefault();\n }\n return false;\n }\n }\n };\n this.all_shortcuts[shortcut_combination] = {\n callback: func,\n target: ele,\n event: opt[\"type\"],\n };\n //Attach the function with the event\n if (ele.addEventListener) ele.addEventListener(opt[\"type\"], func, false);\n else if (ele.attachEvent) ele.attachEvent(\"on\" + opt[\"type\"], func);\n else ele[\"on\" + opt[\"type\"]] = func;\n },\n\n //Remove the shortcut - just specify the shortcut and I will remove the binding\n // 'remove':function(shortcut_combination) {\n // shortcut_combination = shortcut_combination.toLowerCase();\n // var binding = this.all_shortcuts[shortcut_combination];\n // delete(this.all_shortcuts[shortcut_combination])\n // if(!binding) return;\n // var type = binding['event'];\n // var ele = binding['target'];\n // var callback = binding['callback'];\n //\n // if(ele.detachEvent) ele.detachEvent('on'+type, callback);\n // else if(ele.removeEventListener) ele.removeEventListener(type, callback, false);\n // else ele['on'+type] = false;\n // }\n};\n","// @ts-check\n// Module core/ui\n// Handles the ReSpec UI\n/* jshint laxcomma:true */\n// XXX TODO\n// - look at other UI things to add\n// - list issues\n// - lint: validator, link checker, check WebIDL, ID references\n// - save to GitHub\n// - make a release candidate that people can test\n// - once we have something decent, merge, ship as 3.2.0\nimport { html, pluralize } from \"./import-maps.js\";\nimport { fetchAsset } from \"./text-loader.js\";\nimport { markdownToHtml } from \"./markdown.js\";\nimport shortcut from \"../../js/shortcut.js\";\nimport { sub } from \"./pubsubhub.js\";\nexport const name = \"core/ui\";\n\n// Opportunistically inserts the style, with the chance to reduce some FOUC\ninsertStyle();\n\nasync function loadStyle() {\n try {\n return (await import(\"text!../../assets/ui.css\")).default;\n } catch {\n return fetchAsset(\"ui.css\");\n }\n}\n\nasync function insertStyle() {\n const styleElement = document.createElement(\"style\");\n styleElement.id = \"respec-ui-styles\";\n styleElement.textContent = await loadStyle();\n styleElement.classList.add(\"removeOnSave\");\n document.head.appendChild(styleElement);\n return styleElement;\n}\n\nfunction ariaDecorate(elem, ariaMap) {\n if (!elem) {\n return;\n }\n Array.from(ariaMap).forEach(([name, value]) => {\n elem.setAttribute(`aria-${name}`, value);\n });\n}\n\nconst respecUI = html`
`;\nconst menu = html``;\nconst closeButton = html` ui.closeModal()}\n title=\"Close\"\n>\n ❌\n `;\nwindow.addEventListener(\"load\", () => trapFocus(menu));\nlet modal;\nlet overlay;\nconst errors = [];\nconst warnings = [];\nconst buttons = {};\n\nsub(\"start-all\", () => document.body.prepend(respecUI), { once: true });\nsub(\"end-all\", () => document.body.prepend(respecUI), { once: true });\n\nconst respecPill = html`ReSpec `;\nrespecUI.appendChild(respecPill);\nrespecPill.addEventListener(\"click\", e => {\n e.stopPropagation();\n respecPill.setAttribute(\"aria-expanded\", String(menu.hidden));\n toggleMenu();\n menu.querySelector(\"li:first-child button\").focus();\n});\n\ndocument.documentElement.addEventListener(\"click\", () => {\n if (!menu.hidden) {\n toggleMenu();\n }\n});\nrespecUI.appendChild(menu);\n\nmenu.addEventListener(\"keydown\", e => {\n if (e.key === \"Escape\" && !menu.hidden) {\n respecPill.setAttribute(\"aria-expanded\", String(menu.hidden));\n toggleMenu();\n respecPill.focus();\n }\n});\n\nfunction toggleMenu() {\n menu.classList.toggle(\"respec-hidden\");\n menu.classList.toggle(\"respec-visible\");\n menu.hidden = !menu.hidden;\n}\n\n// Code adapted from https://hiddedevries.nl/en/blog/2017-01-29-using-javascript-to-trap-focus-in-an-element\nfunction trapFocus(element) {\n const focusableEls = element.querySelectorAll(\n \"a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled])\"\n );\n const firstFocusableEl = focusableEls[0];\n const lastFocusableEl = focusableEls[focusableEls.length - 1];\n if (firstFocusableEl) {\n firstFocusableEl.focus();\n }\n element.addEventListener(\"keydown\", e => {\n if (e.key !== \"Tab\") {\n return;\n }\n // shift + tab\n if (e.shiftKey) {\n if (document.activeElement === firstFocusableEl) {\n lastFocusableEl.focus();\n e.preventDefault();\n }\n }\n // tab\n else if (document.activeElement === lastFocusableEl) {\n firstFocusableEl.focus();\n e.preventDefault();\n }\n });\n}\n\nconst ariaMap = new Map([\n [\"controls\", \"respec-menu\"],\n [\"expanded\", \"false\"],\n [\"haspopup\", \"true\"],\n [\"label\", \"ReSpec Menu\"],\n]);\nariaDecorate(respecPill, ariaMap);\n\nfunction errWarn(msg, arr, butName, title) {\n arr.push(msg);\n if (!buttons.hasOwnProperty(butName)) {\n buttons[butName] = createWarnButton(butName, arr, title);\n respecUI.appendChild(buttons[butName]);\n }\n const button = buttons[butName];\n button.textContent = arr.length;\n const label = arr.length === 1 ? pluralize.singular(title) : title;\n const ariaMap = new Map([[\"label\", `${arr.length} ${label}`]]);\n ariaDecorate(button, ariaMap);\n}\n\nfunction createWarnButton(butName, arr, title) {\n const buttonId = `respec-pill-${butName}`;\n const button = html` `;\n button.addEventListener(\"click\", () => {\n button.setAttribute(\"aria-expanded\", \"true\");\n const ol = html` `;\n for (const err of arr) {\n const fragment = document\n .createRange()\n .createContextualFragment(markdownToHtml(err));\n const li = document.createElement(\"li\");\n // if it's only a single element, just copy the contents into li\n if (fragment.firstElementChild === fragment.lastElementChild) {\n li.append(...fragment.firstElementChild.childNodes);\n // Otherwise, take everything.\n } else {\n li.appendChild(fragment);\n }\n ol.appendChild(li);\n }\n ui.freshModal(title, ol, button);\n });\n const ariaMap = new Map([\n [\"expanded\", \"false\"],\n [\"haspopup\", \"true\"],\n [\"controls\", `respec-pill-${butName}-modal`],\n ]);\n ariaDecorate(button, ariaMap);\n return button;\n}\n\nexport const ui = {\n show() {\n try {\n respecUI.hidden = false;\n } catch (err) {\n console.error(err);\n }\n },\n hide() {\n respecUI.hidden = true;\n },\n enable() {\n respecPill.removeAttribute(\"disabled\");\n },\n addCommand(label, handler, keyShort, icon) {\n icon = icon || \"\";\n const id = `respec-button-${label.toLowerCase().replace(/\\s+/, \"-\")}`;\n const button = html`\n ${icon} ${label}…\n `;\n const menuItem = html`${button} `;\n menuItem.addEventListener(\"click\", handler);\n menu.appendChild(menuItem);\n if (keyShort) shortcut.add(keyShort, handler);\n return button;\n },\n error(msg) {\n errWarn(msg, errors, \"error\", \"ReSpec Errors\");\n },\n warning(msg) {\n errWarn(msg, warnings, \"warning\", \"ReSpec Warnings\");\n },\n closeModal(owner) {\n if (overlay) {\n overlay.classList.remove(\"respec-show-overlay\");\n overlay.classList.add(\"respec-hide-overlay\");\n overlay.addEventListener(\"transitionend\", () => {\n overlay.remove();\n overlay = null;\n });\n }\n if (owner) {\n owner.setAttribute(\"aria-expanded\", \"false\");\n }\n if (!modal) return;\n modal.remove();\n modal = null;\n respecPill.focus();\n },\n freshModal(title, content, currentOwner) {\n if (modal) modal.remove();\n if (overlay) overlay.remove();\n overlay = html`
`;\n const id = `${currentOwner.id}-modal`;\n const headingId = `${id}-heading`;\n modal = html`\n ${closeButton}\n
${title} \n
${content}
\n
`;\n const ariaMap = new Map([[\"labelledby\", headingId]]);\n ariaDecorate(modal, ariaMap);\n document.body.append(overlay, modal);\n overlay.addEventListener(\"click\", () => this.closeModal(currentOwner));\n overlay.classList.toggle(\"respec-show-overlay\");\n modal.hidden = false;\n trapFocus(modal);\n },\n};\nshortcut.add(\"Esc\", () => ui.closeModal());\nshortcut.add(\"Ctrl+Alt+Shift+E\", () => {\n if (buttons.error) buttons.error.click();\n});\nshortcut.add(\"Ctrl+Alt+Shift+W\", () => {\n if (buttons.warning) buttons.warning.click();\n});\nwindow.respecUI = ui;\nsub(\"error\", details => ui.error(details));\nsub(\"warn\", details => ui.warning(details));\n","var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar jquery = createCommonjsModule(function (module) {\n/*!\n * jQuery JavaScript Library v3.4.1\n * https://jquery.com/\n *\n * Includes Sizzle.js\n * https://sizzlejs.com/\n *\n * Copyright JS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2019-05-01T21:04Z\n */\n( function( global, factory ) {\n\n\t{\n\n\t\t// For CommonJS and CommonJS-like environments where a proper `window`\n\t\t// is present, execute the factory and get jQuery.\n\t\t// For environments that do not have a `window` with a `document`\n\t\t// (such as Node.js), expose a factory as module.exports.\n\t\t// This accentuates the need for the creation of a real `window`.\n\t\t// e.g. var jQuery = require(\"jquery\")(window);\n\t\t// See ticket #14549 for more info.\n\t\tmodule.exports = global.document ?\n\t\t\tfactory( global, true ) :\n\t\t\tfunction( w ) {\n\t\t\t\tif ( !w.document ) {\n\t\t\t\t\tthrow new Error( \"jQuery requires a window with a document\" );\n\t\t\t\t}\n\t\t\t\treturn factory( w );\n\t\t\t};\n\t}\n\n// Pass this if window is not defined yet\n} )( typeof window !== \"undefined\" ? window : commonjsGlobal, function( window, noGlobal ) {\n\nvar arr = [];\n\nvar document = window.document;\n\nvar getProto = Object.getPrototypeOf;\n\nvar slice = arr.slice;\n\nvar concat = arr.concat;\n\nvar push = arr.push;\n\nvar indexOf = arr.indexOf;\n\nvar class2type = {};\n\nvar toString = class2type.toString;\n\nvar hasOwn = class2type.hasOwnProperty;\n\nvar fnToString = hasOwn.toString;\n\nvar ObjectFunctionString = fnToString.call( Object );\n\nvar support = {};\n\nvar isFunction = function isFunction( obj ) {\n\n // Support: Chrome <=57, Firefox <=52\n // In some browsers, typeof returns \"function\" for HTML elements\n // (i.e., `typeof document.createElement( \"object\" ) === \"function\"`).\n // We don't want to classify *any* DOM node as a function.\n return typeof obj === \"function\" && typeof obj.nodeType !== \"number\";\n };\n\n\nvar isWindow = function isWindow( obj ) {\n\t\treturn obj != null && obj === obj.window;\n\t};\n\n\n\n\n\tvar preservedScriptAttributes = {\n\t\ttype: true,\n\t\tsrc: true,\n\t\tnonce: true,\n\t\tnoModule: true\n\t};\n\n\tfunction DOMEval( code, node, doc ) {\n\t\tdoc = doc || document;\n\n\t\tvar i, val,\n\t\t\tscript = doc.createElement( \"script\" );\n\n\t\tscript.text = code;\n\t\tif ( node ) {\n\t\t\tfor ( i in preservedScriptAttributes ) {\n\n\t\t\t\t// Support: Firefox 64+, Edge 18+\n\t\t\t\t// Some browsers don't support the \"nonce\" property on scripts.\n\t\t\t\t// On the other hand, just using `getAttribute` is not enough as\n\t\t\t\t// the `nonce` attribute is reset to an empty string whenever it\n\t\t\t\t// becomes browsing-context connected.\n\t\t\t\t// See https://github.com/whatwg/html/issues/2369\n\t\t\t\t// See https://html.spec.whatwg.org/#nonce-attributes\n\t\t\t\t// The `node.getAttribute` check was added for the sake of\n\t\t\t\t// `jQuery.globalEval` so that it can fake a nonce-containing node\n\t\t\t\t// via an object.\n\t\t\t\tval = node[ i ] || node.getAttribute && node.getAttribute( i );\n\t\t\t\tif ( val ) {\n\t\t\t\t\tscript.setAttribute( i, val );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tdoc.head.appendChild( script ).parentNode.removeChild( script );\n\t}\n\n\nfunction toType( obj ) {\n\tif ( obj == null ) {\n\t\treturn obj + \"\";\n\t}\n\n\t// Support: Android <=2.3 only (functionish RegExp)\n\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\n\t\tclass2type[ toString.call( obj ) ] || \"object\" :\n\t\ttypeof obj;\n}\n/* global Symbol */\n// Defining this global in .eslintrc.json would create a danger of using the global\n// unguarded in another place, it seems safer to define global only for this module\n\n\n\nvar\n\tversion = \"3.4.1\",\n\n\t// Define a local copy of jQuery\n\tjQuery = function( selector, context ) {\n\n\t\t// The jQuery object is actually just the init constructor 'enhanced'\n\t\t// Need init if jQuery is called (just allow error to be thrown if not included)\n\t\treturn new jQuery.fn.init( selector, context );\n\t},\n\n\t// Support: Android <=4.0 only\n\t// Make sure we trim BOM and NBSP\n\trtrim = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g;\n\njQuery.fn = jQuery.prototype = {\n\n\t// The current version of jQuery being used\n\tjquery: version,\n\n\tconstructor: jQuery,\n\n\t// The default length of a jQuery object is 0\n\tlength: 0,\n\n\ttoArray: function() {\n\t\treturn slice.call( this );\n\t},\n\n\t// Get the Nth element in the matched element set OR\n\t// Get the whole matched element set as a clean array\n\tget: function( num ) {\n\n\t\t// Return all the elements in a clean array\n\t\tif ( num == null ) {\n\t\t\treturn slice.call( this );\n\t\t}\n\n\t\t// Return just the one element from the set\n\t\treturn num < 0 ? this[ num + this.length ] : this[ num ];\n\t},\n\n\t// Take an array of elements and push it onto the stack\n\t// (returning the new matched element set)\n\tpushStack: function( elems ) {\n\n\t\t// Build a new jQuery matched element set\n\t\tvar ret = jQuery.merge( this.constructor(), elems );\n\n\t\t// Add the old object onto the stack (as a reference)\n\t\tret.prevObject = this;\n\n\t\t// Return the newly-formed element set\n\t\treturn ret;\n\t},\n\n\t// Execute a callback for every element in the matched set.\n\teach: function( callback ) {\n\t\treturn jQuery.each( this, callback );\n\t},\n\n\tmap: function( callback ) {\n\t\treturn this.pushStack( jQuery.map( this, function( elem, i ) {\n\t\t\treturn callback.call( elem, i, elem );\n\t\t} ) );\n\t},\n\n\tslice: function() {\n\t\treturn this.pushStack( slice.apply( this, arguments ) );\n\t},\n\n\tfirst: function() {\n\t\treturn this.eq( 0 );\n\t},\n\n\tlast: function() {\n\t\treturn this.eq( -1 );\n\t},\n\n\teq: function( i ) {\n\t\tvar len = this.length,\n\t\t\tj = +i + ( i < 0 ? len : 0 );\n\t\treturn this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );\n\t},\n\n\tend: function() {\n\t\treturn this.prevObject || this.constructor();\n\t},\n\n\t// For internal use only.\n\t// Behaves like an Array's method, not like a jQuery method.\n\tpush: push,\n\tsort: arr.sort,\n\tsplice: arr.splice\n};\n\njQuery.extend = jQuery.fn.extend = function() {\n\tvar options, name, src, copy, copyIsArray, clone,\n\t\ttarget = arguments[ 0 ] || {},\n\t\ti = 1,\n\t\tlength = arguments.length,\n\t\tdeep = false;\n\n\t// Handle a deep copy situation\n\tif ( typeof target === \"boolean\" ) {\n\t\tdeep = target;\n\n\t\t// Skip the boolean and the target\n\t\ttarget = arguments[ i ] || {};\n\t\ti++;\n\t}\n\n\t// Handle case when target is a string or something (possible in deep copy)\n\tif ( typeof target !== \"object\" && !isFunction( target ) ) {\n\t\ttarget = {};\n\t}\n\n\t// Extend jQuery itself if only one argument is passed\n\tif ( i === length ) {\n\t\ttarget = this;\n\t\ti--;\n\t}\n\n\tfor ( ; i < length; i++ ) {\n\n\t\t// Only deal with non-null/undefined values\n\t\tif ( ( options = arguments[ i ] ) != null ) {\n\n\t\t\t// Extend the base object\n\t\t\tfor ( name in options ) {\n\t\t\t\tcopy = options[ name ];\n\n\t\t\t\t// Prevent Object.prototype pollution\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif ( name === \"__proto__\" || target === copy ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\tif ( deep && copy && ( jQuery.isPlainObject( copy ) ||\n\t\t\t\t\t( copyIsArray = Array.isArray( copy ) ) ) ) {\n\t\t\t\t\tsrc = target[ name ];\n\n\t\t\t\t\t// Ensure proper type for the source value\n\t\t\t\t\tif ( copyIsArray && !Array.isArray( src ) ) {\n\t\t\t\t\t\tclone = [];\n\t\t\t\t\t} else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {\n\t\t\t\t\t\tclone = {};\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclone = src;\n\t\t\t\t\t}\n\t\t\t\t\tcopyIsArray = false;\n\n\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\ttarget[ name ] = jQuery.extend( deep, clone, copy );\n\n\t\t\t\t// Don't bring in undefined values\n\t\t\t\t} else if ( copy !== undefined ) {\n\t\t\t\t\ttarget[ name ] = copy;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\njQuery.extend( {\n\n\t// Unique for each copy of jQuery on the page\n\texpando: \"jQuery\" + ( version + Math.random() ).replace( /\\D/g, \"\" ),\n\n\t// Assume jQuery is ready without the ready module\n\tisReady: true,\n\n\terror: function( msg ) {\n\t\tthrow new Error( msg );\n\t},\n\n\tnoop: function() {},\n\n\tisPlainObject: function( obj ) {\n\t\tvar proto, Ctor;\n\n\t\t// Detect obvious negatives\n\t\t// Use toString instead of jQuery.type to catch host objects\n\t\tif ( !obj || toString.call( obj ) !== \"[object Object]\" ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tproto = getProto( obj );\n\n\t\t// Objects with no prototype (e.g., `Object.create( null )`) are plain\n\t\tif ( !proto ) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// Objects with prototype are plain iff they were constructed by a global Object function\n\t\tCtor = hasOwn.call( proto, \"constructor\" ) && proto.constructor;\n\t\treturn typeof Ctor === \"function\" && fnToString.call( Ctor ) === ObjectFunctionString;\n\t},\n\n\tisEmptyObject: function( obj ) {\n\t\tvar name;\n\n\t\tfor ( name in obj ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\n\t// Evaluates a script in a global context\n\tglobalEval: function( code, options ) {\n\t\tDOMEval( code, { nonce: options && options.nonce } );\n\t},\n\n\teach: function( obj, callback ) {\n\t\tvar length, i = 0;\n\n\t\tif ( isArrayLike( obj ) ) {\n\t\t\tlength = obj.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor ( i in obj ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn obj;\n\t},\n\n\t// Support: Android <=4.0 only\n\ttrim: function( text ) {\n\t\treturn text == null ?\n\t\t\t\"\" :\n\t\t\t( text + \"\" ).replace( rtrim, \"\" );\n\t},\n\n\t// results is for internal usage only\n\tmakeArray: function( arr, results ) {\n\t\tvar ret = results || [];\n\n\t\tif ( arr != null ) {\n\t\t\tif ( isArrayLike( Object( arr ) ) ) {\n\t\t\t\tjQuery.merge( ret,\n\t\t\t\t\ttypeof arr === \"string\" ?\n\t\t\t\t\t[ arr ] : arr\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tpush.call( ret, arr );\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tinArray: function( elem, arr, i ) {\n\t\treturn arr == null ? -1 : indexOf.call( arr, elem, i );\n\t},\n\n\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t// push.apply(_, arraylike) throws on ancient WebKit\n\tmerge: function( first, second ) {\n\t\tvar len = +second.length,\n\t\t\tj = 0,\n\t\t\ti = first.length;\n\n\t\tfor ( ; j < len; j++ ) {\n\t\t\tfirst[ i++ ] = second[ j ];\n\t\t}\n\n\t\tfirst.length = i;\n\n\t\treturn first;\n\t},\n\n\tgrep: function( elems, callback, invert ) {\n\t\tvar callbackInverse,\n\t\t\tmatches = [],\n\t\t\ti = 0,\n\t\t\tlength = elems.length,\n\t\t\tcallbackExpect = !invert;\n\n\t\t// Go through the array, only saving the items\n\t\t// that pass the validator function\n\t\tfor ( ; i < length; i++ ) {\n\t\t\tcallbackInverse = !callback( elems[ i ], i );\n\t\t\tif ( callbackInverse !== callbackExpect ) {\n\t\t\t\tmatches.push( elems[ i ] );\n\t\t\t}\n\t\t}\n\n\t\treturn matches;\n\t},\n\n\t// arg is for internal usage only\n\tmap: function( elems, callback, arg ) {\n\t\tvar length, value,\n\t\t\ti = 0,\n\t\t\tret = [];\n\n\t\t// Go through the array, translating each of the items to their new values\n\t\tif ( isArrayLike( elems ) ) {\n\t\t\tlength = elems.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Go through every key on the object,\n\t\t} else {\n\t\t\tfor ( i in elems ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Flatten any nested arrays\n\t\treturn concat.apply( [], ret );\n\t},\n\n\t// A global GUID counter for objects\n\tguid: 1,\n\n\t// jQuery.support is not used in Core but other projects attach their\n\t// properties to it so it needs to exist.\n\tsupport: support\n} );\n\nif ( typeof Symbol === \"function\" ) {\n\tjQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];\n}\n\n// Populate the class2type map\njQuery.each( \"Boolean Number String Function Array Date RegExp Object Error Symbol\".split( \" \" ),\nfunction( i, name ) {\n\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n} );\n\nfunction isArrayLike( obj ) {\n\n\t// Support: real iOS 8.2 only (not reproducible in simulator)\n\t// `in` check used to prevent JIT error (gh-2145)\n\t// hasOwn isn't used here due to false negatives\n\t// regarding Nodelist length in IE\n\tvar length = !!obj && \"length\" in obj && obj.length,\n\t\ttype = toType( obj );\n\n\tif ( isFunction( obj ) || isWindow( obj ) ) {\n\t\treturn false;\n\t}\n\n\treturn type === \"array\" || length === 0 ||\n\t\ttypeof length === \"number\" && length > 0 && ( length - 1 ) in obj;\n}\nvar Sizzle =\n/*!\n * Sizzle CSS Selector Engine v2.3.4\n * https://sizzlejs.com/\n *\n * Copyright JS Foundation and other contributors\n * Released under the MIT license\n * https://js.foundation/\n *\n * Date: 2019-04-08\n */\n(function( window ) {\n\nvar i,\n\tsupport,\n\tExpr,\n\tgetText,\n\tisXML,\n\ttokenize,\n\tcompile,\n\tselect,\n\toutermostContext,\n\tsortInput,\n\thasDuplicate,\n\n\t// Local document vars\n\tsetDocument,\n\tdocument,\n\tdocElem,\n\tdocumentIsHTML,\n\trbuggyQSA,\n\trbuggyMatches,\n\tmatches,\n\tcontains,\n\n\t// Instance-specific data\n\texpando = \"sizzle\" + 1 * new Date(),\n\tpreferredDoc = window.document,\n\tdirruns = 0,\n\tdone = 0,\n\tclassCache = createCache(),\n\ttokenCache = createCache(),\n\tcompilerCache = createCache(),\n\tnonnativeSelectorCache = createCache(),\n\tsortOrder = function( a, b ) {\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t}\n\t\treturn 0;\n\t},\n\n\t// Instance methods\n\thasOwn = ({}).hasOwnProperty,\n\tarr = [],\n\tpop = arr.pop,\n\tpush_native = arr.push,\n\tpush = arr.push,\n\tslice = arr.slice,\n\t// Use a stripped-down indexOf as it's faster than native\n\t// https://jsperf.com/thor-indexof-vs-for/5\n\tindexOf = function( list, elem ) {\n\t\tvar i = 0,\n\t\t\tlen = list.length;\n\t\tfor ( ; i < len; i++ ) {\n\t\t\tif ( list[i] === elem ) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t},\n\n\tbooleans = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",\n\n\t// Regular expressions\n\n\t// http://www.w3.org/TR/css3-selectors/#whitespace\n\twhitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\n\n\t// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\n\tidentifier = \"(?:\\\\\\\\.|[\\\\w-]|[^\\0-\\\\xa0])+\",\n\n\t// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors\n\tattributes = \"\\\\[\" + whitespace + \"*(\" + identifier + \")(?:\" + whitespace +\n\t\t// Operator (capture 2)\n\t\t\"*([*^$|!~]?=)\" + whitespace +\n\t\t// \"Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]\"\n\t\t\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" + whitespace +\n\t\t\"*\\\\]\",\n\n\tpseudos = \":(\" + identifier + \")(?:\\\\((\" +\n\t\t// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\n\t\t// 1. quoted (capture 3; capture 4 or capture 5)\n\t\t\"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|\" +\n\t\t// 2. simple (capture 6)\n\t\t\"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" +\n\t\t// 3. anything else (capture 2)\n\t\t\".*\" +\n\t\t\")\\\\)|)\",\n\n\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n\trwhitespace = new RegExp( whitespace + \"+\", \"g\" ),\n\trtrim = new RegExp( \"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + whitespace + \"+$\", \"g\" ),\n\n\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\n\trcombinators = new RegExp( \"^\" + whitespace + \"*([>+~]|\" + whitespace + \")\" + whitespace + \"*\" ),\n\trdescend = new RegExp( whitespace + \"|>\" ),\n\n\trpseudo = new RegExp( pseudos ),\n\tridentifier = new RegExp( \"^\" + identifier + \"$\" ),\n\n\tmatchExpr = {\n\t\t\"ID\": new RegExp( \"^#(\" + identifier + \")\" ),\n\t\t\"CLASS\": new RegExp( \"^\\\\.(\" + identifier + \")\" ),\n\t\t\"TAG\": new RegExp( \"^(\" + identifier + \"|[*])\" ),\n\t\t\"ATTR\": new RegExp( \"^\" + attributes ),\n\t\t\"PSEUDO\": new RegExp( \"^\" + pseudos ),\n\t\t\"CHILD\": new RegExp( \"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" + whitespace +\n\t\t\t\"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" + whitespace +\n\t\t\t\"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\n\t\t\"bool\": new RegExp( \"^(?:\" + booleans + \")$\", \"i\" ),\n\t\t// For use in libraries implementing .is()\n\t\t// We use this for POS matching in `select`\n\t\t\"needsContext\": new RegExp( \"^\" + whitespace + \"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" +\n\t\t\twhitespace + \"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\" )\n\t},\n\n\trhtml = /HTML$/i,\n\trinputs = /^(?:input|select|textarea|button)$/i,\n\trheader = /^h\\d$/i,\n\n\trnative = /^[^{]+\\{\\s*\\[native \\w/,\n\n\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\n\trquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n\n\trsibling = /[+~]/,\n\n\t// CSS escapes\n\t// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n\trunescape = new RegExp( \"\\\\\\\\([\\\\da-f]{1,6}\" + whitespace + \"?|(\" + whitespace + \")|.)\", \"ig\" ),\n\tfunescape = function( _, escaped, escapedWhitespace ) {\n\t\tvar high = \"0x\" + escaped - 0x10000;\n\t\t// NaN means non-codepoint\n\t\t// Support: Firefox<24\n\t\t// Workaround erroneous numeric interpretation of +\"0x\"\n\t\treturn high !== high || escapedWhitespace ?\n\t\t\tescaped :\n\t\t\thigh < 0 ?\n\t\t\t\t// BMP codepoint\n\t\t\t\tString.fromCharCode( high + 0x10000 ) :\n\t\t\t\t// Supplemental Plane codepoint (surrogate pair)\n\t\t\t\tString.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );\n\t},\n\n\t// CSS string/identifier serialization\n\t// https://drafts.csswg.org/cssom/#common-serializing-idioms\n\trcssescape = /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,\n\tfcssescape = function( ch, asCodePoint ) {\n\t\tif ( asCodePoint ) {\n\n\t\t\t// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n\t\t\tif ( ch === \"\\0\" ) {\n\t\t\t\treturn \"\\uFFFD\";\n\t\t\t}\n\n\t\t\t// Control characters and (dependent upon position) numbers get escaped as code points\n\t\t\treturn ch.slice( 0, -1 ) + \"\\\\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + \" \";\n\t\t}\n\n\t\t// Other potentially-special ASCII characters get backslash-escaped\n\t\treturn \"\\\\\" + ch;\n\t},\n\n\t// Used for iframes\n\t// See setDocument()\n\t// Removing the function wrapper causes a \"Permission Denied\"\n\t// error in IE\n\tunloadHandler = function() {\n\t\tsetDocument();\n\t},\n\n\tinDisabledFieldset = addCombinator(\n\t\tfunction( elem ) {\n\t\t\treturn elem.disabled === true && elem.nodeName.toLowerCase() === \"fieldset\";\n\t\t},\n\t\t{ dir: \"parentNode\", next: \"legend\" }\n\t);\n\n// Optimize for push.apply( _, NodeList )\ntry {\n\tpush.apply(\n\t\t(arr = slice.call( preferredDoc.childNodes )),\n\t\tpreferredDoc.childNodes\n\t);\n\t// Support: Android<4.0\n\t// Detect silently failing push.apply\n\tarr[ preferredDoc.childNodes.length ].nodeType;\n} catch ( e ) {\n\tpush = { apply: arr.length ?\n\n\t\t// Leverage slice if possible\n\t\tfunction( target, els ) {\n\t\t\tpush_native.apply( target, slice.call(els) );\n\t\t} :\n\n\t\t// Support: IE<9\n\t\t// Otherwise append directly\n\t\tfunction( target, els ) {\n\t\t\tvar j = target.length,\n\t\t\t\ti = 0;\n\t\t\t// Can't trust NodeList.length\n\t\t\twhile ( (target[j++] = els[i++]) ) {}\n\t\t\ttarget.length = j - 1;\n\t\t}\n\t};\n}\n\nfunction Sizzle( selector, context, results, seed ) {\n\tvar m, i, elem, nid, match, groups, newSelector,\n\t\tnewContext = context && context.ownerDocument,\n\n\t\t// nodeType defaults to 9, since context defaults to document\n\t\tnodeType = context ? context.nodeType : 9;\n\n\tresults = results || [];\n\n\t// Return early from calls with invalid selector or context\n\tif ( typeof selector !== \"string\" || !selector ||\n\t\tnodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {\n\n\t\treturn results;\n\t}\n\n\t// Try to shortcut find operations (as opposed to filters) in HTML documents\n\tif ( !seed ) {\n\n\t\tif ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {\n\t\t\tsetDocument( context );\n\t\t}\n\t\tcontext = context || document;\n\n\t\tif ( documentIsHTML ) {\n\n\t\t\t// If the selector is sufficiently simple, try using a \"get*By*\" DOM method\n\t\t\t// (excepting DocumentFragment context, where the methods don't exist)\n\t\t\tif ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {\n\n\t\t\t\t// ID selector\n\t\t\t\tif ( (m = match[1]) ) {\n\n\t\t\t\t\t// Document context\n\t\t\t\t\tif ( nodeType === 9 ) {\n\t\t\t\t\t\tif ( (elem = context.getElementById( m )) ) {\n\n\t\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\t\tif ( elem.id === m ) {\n\t\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t// Element context\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\tif ( newContext && (elem = newContext.getElementById( m )) &&\n\t\t\t\t\t\t\tcontains( context, elem ) &&\n\t\t\t\t\t\t\telem.id === m ) {\n\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t// Type selector\n\t\t\t\t} else if ( match[2] ) {\n\t\t\t\t\tpush.apply( results, context.getElementsByTagName( selector ) );\n\t\t\t\t\treturn results;\n\n\t\t\t\t// Class selector\n\t\t\t\t} else if ( (m = match[3]) && support.getElementsByClassName &&\n\t\t\t\t\tcontext.getElementsByClassName ) {\n\n\t\t\t\t\tpush.apply( results, context.getElementsByClassName( m ) );\n\t\t\t\t\treturn results;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Take advantage of querySelectorAll\n\t\t\tif ( support.qsa &&\n\t\t\t\t!nonnativeSelectorCache[ selector + \" \" ] &&\n\t\t\t\t(!rbuggyQSA || !rbuggyQSA.test( selector )) &&\n\n\t\t\t\t// Support: IE 8 only\n\t\t\t\t// Exclude object elements\n\t\t\t\t(nodeType !== 1 || context.nodeName.toLowerCase() !== \"object\") ) {\n\n\t\t\t\tnewSelector = selector;\n\t\t\t\tnewContext = context;\n\n\t\t\t\t// qSA considers elements outside a scoping root when evaluating child or\n\t\t\t\t// descendant combinators, which is not what we want.\n\t\t\t\t// In such cases, we work around the behavior by prefixing every selector in the\n\t\t\t\t// list with an ID selector referencing the scope context.\n\t\t\t\t// Thanks to Andrew Dupont for this technique.\n\t\t\t\tif ( nodeType === 1 && rdescend.test( selector ) ) {\n\n\t\t\t\t\t// Capture the context ID, setting it first if necessary\n\t\t\t\t\tif ( (nid = context.getAttribute( \"id\" )) ) {\n\t\t\t\t\t\tnid = nid.replace( rcssescape, fcssescape );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.setAttribute( \"id\", (nid = expando) );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prefix every selector in the list\n\t\t\t\t\tgroups = tokenize( selector );\n\t\t\t\t\ti = groups.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tgroups[i] = \"#\" + nid + \" \" + toSelector( groups[i] );\n\t\t\t\t\t}\n\t\t\t\t\tnewSelector = groups.join( \",\" );\n\n\t\t\t\t\t// Expand context for sibling selectors\n\t\t\t\t\tnewContext = rsibling.test( selector ) && testContext( context.parentNode ) ||\n\t\t\t\t\t\tcontext;\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tpush.apply( results,\n\t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\n\t\t\t\t\t);\n\t\t\t\t\treturn results;\n\t\t\t\t} catch ( qsaError ) {\n\t\t\t\t\tnonnativeSelectorCache( selector, true );\n\t\t\t\t} finally {\n\t\t\t\t\tif ( nid === expando ) {\n\t\t\t\t\t\tcontext.removeAttribute( \"id\" );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// All others\n\treturn select( selector.replace( rtrim, \"$1\" ), context, results, seed );\n}\n\n/**\n * Create key-value caches of limited size\n * @returns {function(string, object)} Returns the Object data after storing it on itself with\n *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n *\tdeleting the oldest entry\n */\nfunction createCache() {\n\tvar keys = [];\n\n\tfunction cache( key, value ) {\n\t\t// Use (key + \" \") to avoid collision with native prototype properties (see Issue #157)\n\t\tif ( keys.push( key + \" \" ) > Expr.cacheLength ) {\n\t\t\t// Only keep the most recent entries\n\t\t\tdelete cache[ keys.shift() ];\n\t\t}\n\t\treturn (cache[ key + \" \" ] = value);\n\t}\n\treturn cache;\n}\n\n/**\n * Mark a function for special use by Sizzle\n * @param {Function} fn The function to mark\n */\nfunction markFunction( fn ) {\n\tfn[ expando ] = true;\n\treturn fn;\n}\n\n/**\n * Support testing using an element\n * @param {Function} fn Passed the created element and returns a boolean result\n */\nfunction assert( fn ) {\n\tvar el = document.createElement(\"fieldset\");\n\n\ttry {\n\t\treturn !!fn( el );\n\t} catch (e) {\n\t\treturn false;\n\t} finally {\n\t\t// Remove from its parent by default\n\t\tif ( el.parentNode ) {\n\t\t\tel.parentNode.removeChild( el );\n\t\t}\n\t\t// release memory in IE\n\t\tel = null;\n\t}\n}\n\n/**\n * Adds the same handler for all of the specified attrs\n * @param {String} attrs Pipe-separated list of attributes\n * @param {Function} handler The method that will be applied\n */\nfunction addHandle( attrs, handler ) {\n\tvar arr = attrs.split(\"|\"),\n\t\ti = arr.length;\n\n\twhile ( i-- ) {\n\t\tExpr.attrHandle[ arr[i] ] = handler;\n\t}\n}\n\n/**\n * Checks document order of two siblings\n * @param {Element} a\n * @param {Element} b\n * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b\n */\nfunction siblingCheck( a, b ) {\n\tvar cur = b && a,\n\t\tdiff = cur && a.nodeType === 1 && b.nodeType === 1 &&\n\t\t\ta.sourceIndex - b.sourceIndex;\n\n\t// Use IE sourceIndex if available on both nodes\n\tif ( diff ) {\n\t\treturn diff;\n\t}\n\n\t// Check if b follows a\n\tif ( cur ) {\n\t\twhile ( (cur = cur.nextSibling) ) {\n\t\t\tif ( cur === b ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn a ? 1 : -1;\n}\n\n/**\n * Returns a function to use in pseudos for input types\n * @param {String} type\n */\nfunction createInputPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn name === \"input\" && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for buttons\n * @param {String} type\n */\nfunction createButtonPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn (name === \"input\" || name === \"button\") && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for :enabled/:disabled\n * @param {Boolean} disabled true for :disabled; false for :enabled\n */\nfunction createDisabledPseudo( disabled ) {\n\n\t// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable\n\treturn function( elem ) {\n\n\t\t// Only certain elements can match :enabled or :disabled\n\t\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled\n\t\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled\n\t\tif ( \"form\" in elem ) {\n\n\t\t\t// Check for inherited disabledness on relevant non-disabled elements:\n\t\t\t// * listed form-associated elements in a disabled fieldset\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#category-listed\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled\n\t\t\t// * option elements in a disabled optgroup\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled\n\t\t\t// All such elements have a \"form\" property.\n\t\t\tif ( elem.parentNode && elem.disabled === false ) {\n\n\t\t\t\t// Option elements defer to a parent optgroup if present\n\t\t\t\tif ( \"label\" in elem ) {\n\t\t\t\t\tif ( \"label\" in elem.parentNode ) {\n\t\t\t\t\t\treturn elem.parentNode.disabled === disabled;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn elem.disabled === disabled;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Support: IE 6 - 11\n\t\t\t\t// Use the isDisabled shortcut property to check for disabled fieldset ancestors\n\t\t\t\treturn elem.isDisabled === disabled ||\n\n\t\t\t\t\t// Where there is no isDisabled, check manually\n\t\t\t\t\t/* jshint -W018 */\n\t\t\t\t\telem.isDisabled !== !disabled &&\n\t\t\t\t\t\tinDisabledFieldset( elem ) === disabled;\n\t\t\t}\n\n\t\t\treturn elem.disabled === disabled;\n\n\t\t// Try to winnow out elements that can't be disabled before trusting the disabled property.\n\t\t// Some victims get caught in our net (label, legend, menu, track), but it shouldn't\n\t\t// even exist on them, let alone have a boolean value.\n\t\t} else if ( \"label\" in elem ) {\n\t\t\treturn elem.disabled === disabled;\n\t\t}\n\n\t\t// Remaining elements are neither :enabled nor :disabled\n\t\treturn false;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for positionals\n * @param {Function} fn\n */\nfunction createPositionalPseudo( fn ) {\n\treturn markFunction(function( argument ) {\n\t\targument = +argument;\n\t\treturn markFunction(function( seed, matches ) {\n\t\t\tvar j,\n\t\t\t\tmatchIndexes = fn( [], seed.length, argument ),\n\t\t\t\ti = matchIndexes.length;\n\n\t\t\t// Match elements found at the specified indexes\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( seed[ (j = matchIndexes[i]) ] ) {\n\t\t\t\t\tseed[j] = !(matches[j] = seed[j]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Checks a node for validity as a Sizzle context\n * @param {Element|Object=} context\n * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\n */\nfunction testContext( context ) {\n\treturn context && typeof context.getElementsByTagName !== \"undefined\" && context;\n}\n\n// Expose support vars for convenience\nsupport = Sizzle.support = {};\n\n/**\n * Detects XML nodes\n * @param {Element|Object} elem An element or a document\n * @returns {Boolean} True iff elem is a non-HTML XML node\n */\nisXML = Sizzle.isXML = function( elem ) {\n\tvar namespace = elem.namespaceURI,\n\t\tdocElem = (elem.ownerDocument || elem).documentElement;\n\n\t// Support: IE <=8\n\t// Assume HTML when documentElement doesn't yet exist, such as inside loading iframes\n\t// https://bugs.jquery.com/ticket/4833\n\treturn !rhtml.test( namespace || docElem && docElem.nodeName || \"HTML\" );\n};\n\n/**\n * Sets document-related variables once based on the current document\n * @param {Element|Object} [doc] An element or document object to use to set the document\n * @returns {Object} Returns the current document\n */\nsetDocument = Sizzle.setDocument = function( node ) {\n\tvar hasCompare, subWindow,\n\t\tdoc = node ? node.ownerDocument || node : preferredDoc;\n\n\t// Return early if doc is invalid or already selected\n\tif ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {\n\t\treturn document;\n\t}\n\n\t// Update global variables\n\tdocument = doc;\n\tdocElem = document.documentElement;\n\tdocumentIsHTML = !isXML( document );\n\n\t// Support: IE 9-11, Edge\n\t// Accessing iframe documents after unload throws \"permission denied\" errors (jQuery #13936)\n\tif ( preferredDoc !== document &&\n\t\t(subWindow = document.defaultView) && subWindow.top !== subWindow ) {\n\n\t\t// Support: IE 11, Edge\n\t\tif ( subWindow.addEventListener ) {\n\t\t\tsubWindow.addEventListener( \"unload\", unloadHandler, false );\n\n\t\t// Support: IE 9 - 10 only\n\t\t} else if ( subWindow.attachEvent ) {\n\t\t\tsubWindow.attachEvent( \"onunload\", unloadHandler );\n\t\t}\n\t}\n\n\t/* Attributes\n\t---------------------------------------------------------------------- */\n\n\t// Support: IE<8\n\t// Verify that getAttribute really returns attributes and not properties\n\t// (excepting IE8 booleans)\n\tsupport.attributes = assert(function( el ) {\n\t\tel.className = \"i\";\n\t\treturn !el.getAttribute(\"className\");\n\t});\n\n\t/* getElement(s)By*\n\t---------------------------------------------------------------------- */\n\n\t// Check if getElementsByTagName(\"*\") returns only elements\n\tsupport.getElementsByTagName = assert(function( el ) {\n\t\tel.appendChild( document.createComment(\"\") );\n\t\treturn !el.getElementsByTagName(\"*\").length;\n\t});\n\n\t// Support: IE<9\n\tsupport.getElementsByClassName = rnative.test( document.getElementsByClassName );\n\n\t// Support: IE<10\n\t// Check if getElementById returns elements by name\n\t// The broken getElementById methods don't pick up programmatically-set names,\n\t// so use a roundabout getElementsByName test\n\tsupport.getById = assert(function( el ) {\n\t\tdocElem.appendChild( el ).id = expando;\n\t\treturn !document.getElementsByName || !document.getElementsByName( expando ).length;\n\t});\n\n\t// ID filter and find\n\tif ( support.getById ) {\n\t\tExpr.filter[\"ID\"] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn elem.getAttribute(\"id\") === attrId;\n\t\t\t};\n\t\t};\n\t\tExpr.find[\"ID\"] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar elem = context.getElementById( id );\n\t\t\t\treturn elem ? [ elem ] : [];\n\t\t\t}\n\t\t};\n\t} else {\n\t\tExpr.filter[\"ID\"] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\tvar node = typeof elem.getAttributeNode !== \"undefined\" &&\n\t\t\t\t\telem.getAttributeNode(\"id\");\n\t\t\t\treturn node && node.value === attrId;\n\t\t\t};\n\t\t};\n\n\t\t// Support: IE 6 - 7 only\n\t\t// getElementById is not reliable as a find shortcut\n\t\tExpr.find[\"ID\"] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar node, i, elems,\n\t\t\t\t\telem = context.getElementById( id );\n\n\t\t\t\tif ( elem ) {\n\n\t\t\t\t\t// Verify the id attribute\n\t\t\t\t\tnode = elem.getAttributeNode(\"id\");\n\t\t\t\t\tif ( node && node.value === id ) {\n\t\t\t\t\t\treturn [ elem ];\n\t\t\t\t\t}\n\n\t\t\t\t\t// Fall back on getElementsByName\n\t\t\t\t\telems = context.getElementsByName( id );\n\t\t\t\t\ti = 0;\n\t\t\t\t\twhile ( (elem = elems[i++]) ) {\n\t\t\t\t\t\tnode = elem.getAttributeNode(\"id\");\n\t\t\t\t\t\tif ( node && node.value === id ) {\n\t\t\t\t\t\t\treturn [ elem ];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn [];\n\t\t\t}\n\t\t};\n\t}\n\n\t// Tag\n\tExpr.find[\"TAG\"] = support.getElementsByTagName ?\n\t\tfunction( tag, context ) {\n\t\t\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\t\t\treturn context.getElementsByTagName( tag );\n\n\t\t\t// DocumentFragment nodes don't have gEBTN\n\t\t\t} else if ( support.qsa ) {\n\t\t\t\treturn context.querySelectorAll( tag );\n\t\t\t}\n\t\t} :\n\n\t\tfunction( tag, context ) {\n\t\t\tvar elem,\n\t\t\t\ttmp = [],\n\t\t\t\ti = 0,\n\t\t\t\t// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too\n\t\t\t\tresults = context.getElementsByTagName( tag );\n\n\t\t\t// Filter out possible comments\n\t\t\tif ( tag === \"*\" ) {\n\t\t\t\twhile ( (elem = results[i++]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\ttmp.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn tmp;\n\t\t\t}\n\t\t\treturn results;\n\t\t};\n\n\t// Class\n\tExpr.find[\"CLASS\"] = support.getElementsByClassName && function( className, context ) {\n\t\tif ( typeof context.getElementsByClassName !== \"undefined\" && documentIsHTML ) {\n\t\t\treturn context.getElementsByClassName( className );\n\t\t}\n\t};\n\n\t/* QSA/matchesSelector\n\t---------------------------------------------------------------------- */\n\n\t// QSA and matchesSelector support\n\n\t// matchesSelector(:active) reports false when true (IE9/Opera 11.5)\n\trbuggyMatches = [];\n\n\t// qSa(:focus) reports false when true (Chrome 21)\n\t// We allow this because of a bug in IE8/9 that throws an error\n\t// whenever `document.activeElement` is accessed on an iframe\n\t// So, we allow :focus to pass through QSA all the time to avoid the IE error\n\t// See https://bugs.jquery.com/ticket/13378\n\trbuggyQSA = [];\n\n\tif ( (support.qsa = rnative.test( document.querySelectorAll )) ) {\n\t\t// Build QSA regex\n\t\t// Regex strategy adopted from Diego Perini\n\t\tassert(function( el ) {\n\t\t\t// Select is set to empty string on purpose\n\t\t\t// This is to test IE's treatment of not explicitly\n\t\t\t// setting a boolean content attribute,\n\t\t\t// since its presence should be enough\n\t\t\t// https://bugs.jquery.com/ticket/12359\n\t\t\tdocElem.appendChild( el ).innerHTML = \" \" +\n\t\t\t\t\"\" +\n\t\t\t\t\" \";\n\n\t\t\t// Support: IE8, Opera 11-12.16\n\t\t\t// Nothing should be selected when empty strings follow ^= or $= or *=\n\t\t\t// The test attribute must be unknown in Opera but \"safe\" for WinRT\n\t\t\t// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section\n\t\t\tif ( el.querySelectorAll(\"[msallowcapture^='']\").length ) {\n\t\t\t\trbuggyQSA.push( \"[*^$]=\" + whitespace + \"*(?:''|\\\"\\\")\" );\n\t\t\t}\n\n\t\t\t// Support: IE8\n\t\t\t// Boolean attributes and \"value\" are not treated correctly\n\t\t\tif ( !el.querySelectorAll(\"[selected]\").length ) {\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*(?:value|\" + booleans + \")\" );\n\t\t\t}\n\n\t\t\t// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+\n\t\t\tif ( !el.querySelectorAll( \"[id~=\" + expando + \"-]\" ).length ) {\n\t\t\t\trbuggyQSA.push(\"~=\");\n\t\t\t}\n\n\t\t\t// Webkit/Opera - :checked should return selected option elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !el.querySelectorAll(\":checked\").length ) {\n\t\t\t\trbuggyQSA.push(\":checked\");\n\t\t\t}\n\n\t\t\t// Support: Safari 8+, iOS 8+\n\t\t\t// https://bugs.webkit.org/show_bug.cgi?id=136851\n\t\t\t// In-page `selector#id sibling-combinator selector` fails\n\t\t\tif ( !el.querySelectorAll( \"a#\" + expando + \"+*\" ).length ) {\n\t\t\t\trbuggyQSA.push(\".#.+[+~]\");\n\t\t\t}\n\t\t});\n\n\t\tassert(function( el ) {\n\t\t\tel.innerHTML = \" \" +\n\t\t\t\t\" \";\n\n\t\t\t// Support: Windows 8 Native Apps\n\t\t\t// The type and name attributes are restricted during .innerHTML assignment\n\t\t\tvar input = document.createElement(\"input\");\n\t\t\tinput.setAttribute( \"type\", \"hidden\" );\n\t\t\tel.appendChild( input ).setAttribute( \"name\", \"D\" );\n\n\t\t\t// Support: IE8\n\t\t\t// Enforce case-sensitivity of name attribute\n\t\t\tif ( el.querySelectorAll(\"[name=d]\").length ) {\n\t\t\t\trbuggyQSA.push( \"name\" + whitespace + \"*[*^$|!~]?=\" );\n\t\t\t}\n\n\t\t\t// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( el.querySelectorAll(\":enabled\").length !== 2 ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Support: IE9-11+\n\t\t\t// IE's :disabled selector does not pick up the children of disabled fieldsets\n\t\t\tdocElem.appendChild( el ).disabled = true;\n\t\t\tif ( el.querySelectorAll(\":disabled\").length !== 2 ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Opera 10-11 does not throw on post-comma invalid pseudos\n\t\t\tel.querySelectorAll(\"*,:x\");\n\t\t\trbuggyQSA.push(\",.*:\");\n\t\t});\n\t}\n\n\tif ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||\n\t\tdocElem.webkitMatchesSelector ||\n\t\tdocElem.mozMatchesSelector ||\n\t\tdocElem.oMatchesSelector ||\n\t\tdocElem.msMatchesSelector) )) ) {\n\n\t\tassert(function( el ) {\n\t\t\t// Check to see if it's possible to do matchesSelector\n\t\t\t// on a disconnected node (IE 9)\n\t\t\tsupport.disconnectedMatch = matches.call( el, \"*\" );\n\n\t\t\t// This should fail with an exception\n\t\t\t// Gecko does not error, returns false instead\n\t\t\tmatches.call( el, \"[s!='']:x\" );\n\t\t\trbuggyMatches.push( \"!=\", pseudos );\n\t\t});\n\t}\n\n\trbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join(\"|\") );\n\trbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join(\"|\") );\n\n\t/* Contains\n\t---------------------------------------------------------------------- */\n\thasCompare = rnative.test( docElem.compareDocumentPosition );\n\n\t// Element contains another\n\t// Purposefully self-exclusive\n\t// As in, an element does not contain itself\n\tcontains = hasCompare || rnative.test( docElem.contains ) ?\n\t\tfunction( a, b ) {\n\t\t\tvar adown = a.nodeType === 9 ? a.documentElement : a,\n\t\t\t\tbup = b && b.parentNode;\n\t\t\treturn a === bup || !!( bup && bup.nodeType === 1 && (\n\t\t\t\tadown.contains ?\n\t\t\t\t\tadown.contains( bup ) :\n\t\t\t\t\ta.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16\n\t\t\t));\n\t\t} :\n\t\tfunction( a, b ) {\n\t\t\tif ( b ) {\n\t\t\t\twhile ( (b = b.parentNode) ) {\n\t\t\t\t\tif ( b === a ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\n\t/* Sorting\n\t---------------------------------------------------------------------- */\n\n\t// Document order sorting\n\tsortOrder = hasCompare ?\n\tfunction( a, b ) {\n\n\t\t// Flag for duplicate removal\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\t// Sort on method existence if only one input has compareDocumentPosition\n\t\tvar compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n\t\tif ( compare ) {\n\t\t\treturn compare;\n\t\t}\n\n\t\t// Calculate position if both inputs belong to the same document\n\t\tcompare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?\n\t\t\ta.compareDocumentPosition( b ) :\n\n\t\t\t// Otherwise we know they are disconnected\n\t\t\t1;\n\n\t\t// Disconnected nodes\n\t\tif ( compare & 1 ||\n\t\t\t(!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {\n\n\t\t\t// Choose the first element that is related to our preferred document\n\t\t\tif ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\tif ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\t// Maintain original order\n\t\t\treturn sortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\t\t}\n\n\t\treturn compare & 4 ? -1 : 1;\n\t} :\n\tfunction( a, b ) {\n\t\t// Exit early if the nodes are identical\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\taup = a.parentNode,\n\t\t\tbup = b.parentNode,\n\t\t\tap = [ a ],\n\t\t\tbp = [ b ];\n\n\t\t// Parentless nodes are either documents or disconnected\n\t\tif ( !aup || !bup ) {\n\t\t\treturn a === document ? -1 :\n\t\t\t\tb === document ? 1 :\n\t\t\t\taup ? -1 :\n\t\t\t\tbup ? 1 :\n\t\t\t\tsortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\n\t\t// If the nodes are siblings, we can do a quick check\n\t\t} else if ( aup === bup ) {\n\t\t\treturn siblingCheck( a, b );\n\t\t}\n\n\t\t// Otherwise we need full lists of their ancestors for comparison\n\t\tcur = a;\n\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\tap.unshift( cur );\n\t\t}\n\t\tcur = b;\n\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\tbp.unshift( cur );\n\t\t}\n\n\t\t// Walk down the tree looking for a discrepancy\n\t\twhile ( ap[i] === bp[i] ) {\n\t\t\ti++;\n\t\t}\n\n\t\treturn i ?\n\t\t\t// Do a sibling check if the nodes have a common ancestor\n\t\t\tsiblingCheck( ap[i], bp[i] ) :\n\n\t\t\t// Otherwise nodes in our document sort first\n\t\t\tap[i] === preferredDoc ? -1 :\n\t\t\tbp[i] === preferredDoc ? 1 :\n\t\t\t0;\n\t};\n\n\treturn document;\n};\n\nSizzle.matches = function( expr, elements ) {\n\treturn Sizzle( expr, null, null, elements );\n};\n\nSizzle.matchesSelector = function( elem, expr ) {\n\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\tif ( support.matchesSelector && documentIsHTML &&\n\t\t!nonnativeSelectorCache[ expr + \" \" ] &&\n\t\t( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&\n\t\t( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {\n\n\t\ttry {\n\t\t\tvar ret = matches.call( elem, expr );\n\n\t\t\t// IE 9's matchesSelector returns false on disconnected nodes\n\t\t\tif ( ret || support.disconnectedMatch ||\n\t\t\t\t\t// As well, disconnected nodes are said to be in a document\n\t\t\t\t\t// fragment in IE 9\n\t\t\t\t\telem.document && elem.document.nodeType !== 11 ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tnonnativeSelectorCache( expr, true );\n\t\t}\n\t}\n\n\treturn Sizzle( expr, document, null, [ elem ] ).length > 0;\n};\n\nSizzle.contains = function( context, elem ) {\n\t// Set document vars if needed\n\tif ( ( context.ownerDocument || context ) !== document ) {\n\t\tsetDocument( context );\n\t}\n\treturn contains( context, elem );\n};\n\nSizzle.attr = function( elem, name ) {\n\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\tvar fn = Expr.attrHandle[ name.toLowerCase() ],\n\t\t// Don't get fooled by Object.prototype properties (jQuery #13807)\n\t\tval = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?\n\t\t\tfn( elem, name, !documentIsHTML ) :\n\t\t\tundefined;\n\n\treturn val !== undefined ?\n\t\tval :\n\t\tsupport.attributes || !documentIsHTML ?\n\t\t\telem.getAttribute( name ) :\n\t\t\t(val = elem.getAttributeNode(name)) && val.specified ?\n\t\t\t\tval.value :\n\t\t\t\tnull;\n};\n\nSizzle.escape = function( sel ) {\n\treturn (sel + \"\").replace( rcssescape, fcssescape );\n};\n\nSizzle.error = function( msg ) {\n\tthrow new Error( \"Syntax error, unrecognized expression: \" + msg );\n};\n\n/**\n * Document sorting and removing duplicates\n * @param {ArrayLike} results\n */\nSizzle.uniqueSort = function( results ) {\n\tvar elem,\n\t\tduplicates = [],\n\t\tj = 0,\n\t\ti = 0;\n\n\t// Unless we *know* we can detect duplicates, assume their presence\n\thasDuplicate = !support.detectDuplicates;\n\tsortInput = !support.sortStable && results.slice( 0 );\n\tresults.sort( sortOrder );\n\n\tif ( hasDuplicate ) {\n\t\twhile ( (elem = results[i++]) ) {\n\t\t\tif ( elem === results[ i ] ) {\n\t\t\t\tj = duplicates.push( i );\n\t\t\t}\n\t\t}\n\t\twhile ( j-- ) {\n\t\t\tresults.splice( duplicates[ j ], 1 );\n\t\t}\n\t}\n\n\t// Clear input after sorting to release objects\n\t// See https://github.com/jquery/sizzle/pull/225\n\tsortInput = null;\n\n\treturn results;\n};\n\n/**\n * Utility function for retrieving the text value of an array of DOM nodes\n * @param {Array|Element} elem\n */\ngetText = Sizzle.getText = function( elem ) {\n\tvar node,\n\t\tret = \"\",\n\t\ti = 0,\n\t\tnodeType = elem.nodeType;\n\n\tif ( !nodeType ) {\n\t\t// If no nodeType, this is expected to be an array\n\t\twhile ( (node = elem[i++]) ) {\n\t\t\t// Do not traverse comment nodes\n\t\t\tret += getText( node );\n\t\t}\n\t} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {\n\t\t// Use textContent for elements\n\t\t// innerText usage removed for consistency of new lines (jQuery #11153)\n\t\tif ( typeof elem.textContent === \"string\" ) {\n\t\t\treturn elem.textContent;\n\t\t} else {\n\t\t\t// Traverse its children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tret += getText( elem );\n\t\t\t}\n\t\t}\n\t} else if ( nodeType === 3 || nodeType === 4 ) {\n\t\treturn elem.nodeValue;\n\t}\n\t// Do not include comment or processing instruction nodes\n\n\treturn ret;\n};\n\nExpr = Sizzle.selectors = {\n\n\t// Can be adjusted by the user\n\tcacheLength: 50,\n\n\tcreatePseudo: markFunction,\n\n\tmatch: matchExpr,\n\n\tattrHandle: {},\n\n\tfind: {},\n\n\trelative: {\n\t\t\">\": { dir: \"parentNode\", first: true },\n\t\t\" \": { dir: \"parentNode\" },\n\t\t\"+\": { dir: \"previousSibling\", first: true },\n\t\t\"~\": { dir: \"previousSibling\" }\n\t},\n\n\tpreFilter: {\n\t\t\"ATTR\": function( match ) {\n\t\t\tmatch[1] = match[1].replace( runescape, funescape );\n\n\t\t\t// Move the given value to match[3] whether quoted or unquoted\n\t\t\tmatch[3] = ( match[3] || match[4] || match[5] || \"\" ).replace( runescape, funescape );\n\n\t\t\tif ( match[2] === \"~=\" ) {\n\t\t\t\tmatch[3] = \" \" + match[3] + \" \";\n\t\t\t}\n\n\t\t\treturn match.slice( 0, 4 );\n\t\t},\n\n\t\t\"CHILD\": function( match ) {\n\t\t\t/* matches from matchExpr[\"CHILD\"]\n\t\t\t\t1 type (only|nth|...)\n\t\t\t\t2 what (child|of-type)\n\t\t\t\t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n\t\t\t\t4 xn-component of xn+y argument ([+-]?\\d*n|)\n\t\t\t\t5 sign of xn-component\n\t\t\t\t6 x of xn-component\n\t\t\t\t7 sign of y-component\n\t\t\t\t8 y of y-component\n\t\t\t*/\n\t\t\tmatch[1] = match[1].toLowerCase();\n\n\t\t\tif ( match[1].slice( 0, 3 ) === \"nth\" ) {\n\t\t\t\t// nth-* requires argument\n\t\t\t\tif ( !match[3] ) {\n\t\t\t\t\tSizzle.error( match[0] );\n\t\t\t\t}\n\n\t\t\t\t// numeric x and y parameters for Expr.filter.CHILD\n\t\t\t\t// remember that false/true cast respectively to 0/1\n\t\t\t\tmatch[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === \"even\" || match[3] === \"odd\" ) );\n\t\t\t\tmatch[5] = +( ( match[7] + match[8] ) || match[3] === \"odd\" );\n\n\t\t\t// other types prohibit arguments\n\t\t\t} else if ( match[3] ) {\n\t\t\t\tSizzle.error( match[0] );\n\t\t\t}\n\n\t\t\treturn match;\n\t\t},\n\n\t\t\"PSEUDO\": function( match ) {\n\t\t\tvar excess,\n\t\t\t\tunquoted = !match[6] && match[2];\n\n\t\t\tif ( matchExpr[\"CHILD\"].test( match[0] ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// Accept quoted arguments as-is\n\t\t\tif ( match[3] ) {\n\t\t\t\tmatch[2] = match[4] || match[5] || \"\";\n\n\t\t\t// Strip excess characters from unquoted arguments\n\t\t\t} else if ( unquoted && rpseudo.test( unquoted ) &&\n\t\t\t\t// Get excess from tokenize (recursively)\n\t\t\t\t(excess = tokenize( unquoted, true )) &&\n\t\t\t\t// advance to the next closing parenthesis\n\t\t\t\t(excess = unquoted.indexOf( \")\", unquoted.length - excess ) - unquoted.length) ) {\n\n\t\t\t\t// excess is a negative index\n\t\t\t\tmatch[0] = match[0].slice( 0, excess );\n\t\t\t\tmatch[2] = unquoted.slice( 0, excess );\n\t\t\t}\n\n\t\t\t// Return only captures needed by the pseudo filter method (type and argument)\n\t\t\treturn match.slice( 0, 3 );\n\t\t}\n\t},\n\n\tfilter: {\n\n\t\t\"TAG\": function( nodeNameSelector ) {\n\t\t\tvar nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn nodeNameSelector === \"*\" ?\n\t\t\t\tfunction() { return true; } :\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === nodeName;\n\t\t\t\t};\n\t\t},\n\n\t\t\"CLASS\": function( className ) {\n\t\t\tvar pattern = classCache[ className + \" \" ];\n\n\t\t\treturn pattern ||\n\t\t\t\t(pattern = new RegExp( \"(^|\" + whitespace + \")\" + className + \"(\" + whitespace + \"|$)\" )) &&\n\t\t\t\tclassCache( className, function( elem ) {\n\t\t\t\t\treturn pattern.test( typeof elem.className === \"string\" && elem.className || typeof elem.getAttribute !== \"undefined\" && elem.getAttribute(\"class\") || \"\" );\n\t\t\t\t});\n\t\t},\n\n\t\t\"ATTR\": function( name, operator, check ) {\n\t\t\treturn function( elem ) {\n\t\t\t\tvar result = Sizzle.attr( elem, name );\n\n\t\t\t\tif ( result == null ) {\n\t\t\t\t\treturn operator === \"!=\";\n\t\t\t\t}\n\t\t\t\tif ( !operator ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tresult += \"\";\n\n\t\t\t\treturn operator === \"=\" ? result === check :\n\t\t\t\t\toperator === \"!=\" ? result !== check :\n\t\t\t\t\toperator === \"^=\" ? check && result.indexOf( check ) === 0 :\n\t\t\t\t\toperator === \"*=\" ? check && result.indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"$=\" ? check && result.slice( -check.length ) === check :\n\t\t\t\t\toperator === \"~=\" ? ( \" \" + result.replace( rwhitespace, \" \" ) + \" \" ).indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"|=\" ? result === check || result.slice( 0, check.length + 1 ) === check + \"-\" :\n\t\t\t\t\tfalse;\n\t\t\t};\n\t\t},\n\n\t\t\"CHILD\": function( type, what, argument, first, last ) {\n\t\t\tvar simple = type.slice( 0, 3 ) !== \"nth\",\n\t\t\t\tforward = type.slice( -4 ) !== \"last\",\n\t\t\t\tofType = what === \"of-type\";\n\n\t\t\treturn first === 1 && last === 0 ?\n\n\t\t\t\t// Shortcut for :nth-*(n)\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn !!elem.parentNode;\n\t\t\t\t} :\n\n\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\tvar cache, uniqueCache, outerCache, node, nodeIndex, start,\n\t\t\t\t\t\tdir = simple !== forward ? \"nextSibling\" : \"previousSibling\",\n\t\t\t\t\t\tparent = elem.parentNode,\n\t\t\t\t\t\tname = ofType && elem.nodeName.toLowerCase(),\n\t\t\t\t\t\tuseCache = !xml && !ofType,\n\t\t\t\t\t\tdiff = false;\n\n\t\t\t\t\tif ( parent ) {\n\n\t\t\t\t\t\t// :(first|last|only)-(child|of-type)\n\t\t\t\t\t\tif ( simple ) {\n\t\t\t\t\t\t\twhile ( dir ) {\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\twhile ( (node = node[ dir ]) ) {\n\t\t\t\t\t\t\t\t\tif ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) {\n\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// Reverse direction for :only-* (if we haven't yet done so)\n\t\t\t\t\t\t\t\tstart = dir = type === \"only\" && !start && \"nextSibling\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstart = [ forward ? parent.firstChild : parent.lastChild ];\n\n\t\t\t\t\t\t// non-xml :nth-child(...) stores cache data on `parent`\n\t\t\t\t\t\tif ( forward && useCache ) {\n\n\t\t\t\t\t\t\t// Seek `elem` from a previously-cached index\n\n\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\tnode = parent;\n\t\t\t\t\t\t\touterCache = node[ expando ] || (node[ expando ] = {});\n\n\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t(outerCache[ node.uniqueID ] = {});\n\n\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\tdiff = nodeIndex && cache[ 2 ];\n\t\t\t\t\t\t\tnode = nodeIndex && parent.childNodes[ nodeIndex ];\n\n\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\n\t\t\t\t\t\t\t\t// Fallback to seeking `elem` from the start\n\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\n\t\t\t\t\t\t\t\t// When found, cache indexes on `parent` and break\n\t\t\t\t\t\t\t\tif ( node.nodeType === 1 && ++diff && node === elem ) {\n\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, nodeIndex, diff ];\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Use previously-cached element index if available\n\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\touterCache = node[ expando ] || (node[ expando ] = {});\n\n\t\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t(outerCache[ node.uniqueID ] = {});\n\n\t\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\t\tdiff = nodeIndex;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// xml :nth-child(...)\n\t\t\t\t\t\t\t// or :nth-last-child(...) or :nth(-last)?-of-type(...)\n\t\t\t\t\t\t\tif ( diff === false ) {\n\t\t\t\t\t\t\t\t// Use the same loop as above to seek `elem` from the start\n\t\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\t\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\n\t\t\t\t\t\t\t\t\tif ( ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) &&\n\t\t\t\t\t\t\t\t\t\t++diff ) {\n\n\t\t\t\t\t\t\t\t\t\t// Cache the index of each encountered element\n\t\t\t\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t\t\t\touterCache = node[ expando ] || (node[ expando ] = {});\n\n\t\t\t\t\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t\t\t\t(outerCache[ node.uniqueID ] = {});\n\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, diff ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tif ( node === elem ) {\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Incorporate the offset, then check against cycle size\n\t\t\t\t\t\tdiff -= last;\n\t\t\t\t\t\treturn diff === first || ( diff % first === 0 && diff / first >= 0 );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t},\n\n\t\t\"PSEUDO\": function( pseudo, argument ) {\n\t\t\t// pseudo-class names are case-insensitive\n\t\t\t// http://www.w3.org/TR/selectors/#pseudo-classes\n\t\t\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\n\t\t\t// Remember that setFilters inherits from pseudos\n\t\t\tvar args,\n\t\t\t\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\n\t\t\t\t\tSizzle.error( \"unsupported pseudo: \" + pseudo );\n\n\t\t\t// The user may use createPseudo to indicate that\n\t\t\t// arguments are needed to create the filter function\n\t\t\t// just as Sizzle does\n\t\t\tif ( fn[ expando ] ) {\n\t\t\t\treturn fn( argument );\n\t\t\t}\n\n\t\t\t// But maintain support for old signatures\n\t\t\tif ( fn.length > 1 ) {\n\t\t\t\targs = [ pseudo, pseudo, \"\", argument ];\n\t\t\t\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\n\t\t\t\t\tmarkFunction(function( seed, matches ) {\n\t\t\t\t\t\tvar idx,\n\t\t\t\t\t\t\tmatched = fn( seed, argument ),\n\t\t\t\t\t\t\ti = matched.length;\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tidx = indexOf( seed, matched[i] );\n\t\t\t\t\t\t\tseed[ idx ] = !( matches[ idx ] = matched[i] );\n\t\t\t\t\t\t}\n\t\t\t\t\t}) :\n\t\t\t\t\tfunction( elem ) {\n\t\t\t\t\t\treturn fn( elem, 0, args );\n\t\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn fn;\n\t\t}\n\t},\n\n\tpseudos: {\n\t\t// Potentially complex pseudos\n\t\t\"not\": markFunction(function( selector ) {\n\t\t\t// Trim the selector passed to compile\n\t\t\t// to avoid treating leading and trailing\n\t\t\t// spaces as combinators\n\t\t\tvar input = [],\n\t\t\t\tresults = [],\n\t\t\t\tmatcher = compile( selector.replace( rtrim, \"$1\" ) );\n\n\t\t\treturn matcher[ expando ] ?\n\t\t\t\tmarkFunction(function( seed, matches, context, xml ) {\n\t\t\t\t\tvar elem,\n\t\t\t\t\t\tunmatched = matcher( seed, null, xml, [] ),\n\t\t\t\t\t\ti = seed.length;\n\n\t\t\t\t\t// Match elements unmatched by `matcher`\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( (elem = unmatched[i]) ) {\n\t\t\t\t\t\t\tseed[i] = !(matches[i] = elem);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}) :\n\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\tinput[0] = elem;\n\t\t\t\t\tmatcher( input, null, xml, results );\n\t\t\t\t\t// Don't keep the element (issue #299)\n\t\t\t\t\tinput[0] = null;\n\t\t\t\t\treturn !results.pop();\n\t\t\t\t};\n\t\t}),\n\n\t\t\"has\": markFunction(function( selector ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn Sizzle( selector, elem ).length > 0;\n\t\t\t};\n\t\t}),\n\n\t\t\"contains\": markFunction(function( text ) {\n\t\t\ttext = text.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn ( elem.textContent || getText( elem ) ).indexOf( text ) > -1;\n\t\t\t};\n\t\t}),\n\n\t\t// \"Whether an element is represented by a :lang() selector\n\t\t// is based solely on the element's language value\n\t\t// being equal to the identifier C,\n\t\t// or beginning with the identifier C immediately followed by \"-\".\n\t\t// The matching of C against the element's language value is performed case-insensitively.\n\t\t// The identifier C does not have to be a valid language name.\"\n\t\t// http://www.w3.org/TR/selectors/#lang-pseudo\n\t\t\"lang\": markFunction( function( lang ) {\n\t\t\t// lang value must be a valid identifier\n\t\t\tif ( !ridentifier.test(lang || \"\") ) {\n\t\t\t\tSizzle.error( \"unsupported lang: \" + lang );\n\t\t\t}\n\t\t\tlang = lang.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn function( elem ) {\n\t\t\t\tvar elemLang;\n\t\t\t\tdo {\n\t\t\t\t\tif ( (elemLang = documentIsHTML ?\n\t\t\t\t\t\telem.lang :\n\t\t\t\t\t\telem.getAttribute(\"xml:lang\") || elem.getAttribute(\"lang\")) ) {\n\n\t\t\t\t\t\telemLang = elemLang.toLowerCase();\n\t\t\t\t\t\treturn elemLang === lang || elemLang.indexOf( lang + \"-\" ) === 0;\n\t\t\t\t\t}\n\t\t\t\t} while ( (elem = elem.parentNode) && elem.nodeType === 1 );\n\t\t\t\treturn false;\n\t\t\t};\n\t\t}),\n\n\t\t// Miscellaneous\n\t\t\"target\": function( elem ) {\n\t\t\tvar hash = window.location && window.location.hash;\n\t\t\treturn hash && hash.slice( 1 ) === elem.id;\n\t\t},\n\n\t\t\"root\": function( elem ) {\n\t\t\treturn elem === docElem;\n\t\t},\n\n\t\t\"focus\": function( elem ) {\n\t\t\treturn elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);\n\t\t},\n\n\t\t// Boolean properties\n\t\t\"enabled\": createDisabledPseudo( false ),\n\t\t\"disabled\": createDisabledPseudo( true ),\n\n\t\t\"checked\": function( elem ) {\n\t\t\t// In CSS3, :checked should return both checked and selected elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\tvar nodeName = elem.nodeName.toLowerCase();\n\t\t\treturn (nodeName === \"input\" && !!elem.checked) || (nodeName === \"option\" && !!elem.selected);\n\t\t},\n\n\t\t\"selected\": function( elem ) {\n\t\t\t// Accessing this property makes selected-by-default\n\t\t\t// options in Safari work properly\n\t\t\tif ( elem.parentNode ) {\n\t\t\t\telem.parentNode.selectedIndex;\n\t\t\t}\n\n\t\t\treturn elem.selected === true;\n\t\t},\n\n\t\t// Contents\n\t\t\"empty\": function( elem ) {\n\t\t\t// http://www.w3.org/TR/selectors/#empty-pseudo\n\t\t\t// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\n\t\t\t// but not by others (comment: 8; processing instruction: 7; etc.)\n\t\t\t// nodeType < 6 works because attributes (2) do not appear as children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tif ( elem.nodeType < 6 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\n\t\t\"parent\": function( elem ) {\n\t\t\treturn !Expr.pseudos[\"empty\"]( elem );\n\t\t},\n\n\t\t// Element/input types\n\t\t\"header\": function( elem ) {\n\t\t\treturn rheader.test( elem.nodeName );\n\t\t},\n\n\t\t\"input\": function( elem ) {\n\t\t\treturn rinputs.test( elem.nodeName );\n\t\t},\n\n\t\t\"button\": function( elem ) {\n\t\t\tvar name = elem.nodeName.toLowerCase();\n\t\t\treturn name === \"input\" && elem.type === \"button\" || name === \"button\";\n\t\t},\n\n\t\t\"text\": function( elem ) {\n\t\t\tvar attr;\n\t\t\treturn elem.nodeName.toLowerCase() === \"input\" &&\n\t\t\t\telem.type === \"text\" &&\n\n\t\t\t\t// Support: IE<8\n\t\t\t\t// New HTML5 attribute values (e.g., \"search\") appear with elem.type === \"text\"\n\t\t\t\t( (attr = elem.getAttribute(\"type\")) == null || attr.toLowerCase() === \"text\" );\n\t\t},\n\n\t\t// Position-in-collection\n\t\t\"first\": createPositionalPseudo(function() {\n\t\t\treturn [ 0 ];\n\t\t}),\n\n\t\t\"last\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\treturn [ length - 1 ];\n\t\t}),\n\n\t\t\"eq\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\treturn [ argument < 0 ? argument + length : argument ];\n\t\t}),\n\n\t\t\"even\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"odd\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\tvar i = 1;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"lt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ?\n\t\t\t\targument + length :\n\t\t\t\targument > length ?\n\t\t\t\t\tlength :\n\t\t\t\t\targument;\n\t\t\tfor ( ; --i >= 0; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"gt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; ++i < length; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t})\n\t}\n};\n\nExpr.pseudos[\"nth\"] = Expr.pseudos[\"eq\"];\n\n// Add button/input type pseudos\nfor ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {\n\tExpr.pseudos[ i ] = createInputPseudo( i );\n}\nfor ( i in { submit: true, reset: true } ) {\n\tExpr.pseudos[ i ] = createButtonPseudo( i );\n}\n\n// Easy API for creating new setFilters\nfunction setFilters() {}\nsetFilters.prototype = Expr.filters = Expr.pseudos;\nExpr.setFilters = new setFilters();\n\ntokenize = Sizzle.tokenize = function( selector, parseOnly ) {\n\tvar matched, match, tokens, type,\n\t\tsoFar, groups, preFilters,\n\t\tcached = tokenCache[ selector + \" \" ];\n\n\tif ( cached ) {\n\t\treturn parseOnly ? 0 : cached.slice( 0 );\n\t}\n\n\tsoFar = selector;\n\tgroups = [];\n\tpreFilters = Expr.preFilter;\n\n\twhile ( soFar ) {\n\n\t\t// Comma and first run\n\t\tif ( !matched || (match = rcomma.exec( soFar )) ) {\n\t\t\tif ( match ) {\n\t\t\t\t// Don't consume trailing commas as valid\n\t\t\t\tsoFar = soFar.slice( match[0].length ) || soFar;\n\t\t\t}\n\t\t\tgroups.push( (tokens = []) );\n\t\t}\n\n\t\tmatched = false;\n\n\t\t// Combinators\n\t\tif ( (match = rcombinators.exec( soFar )) ) {\n\t\t\tmatched = match.shift();\n\t\t\ttokens.push({\n\t\t\t\tvalue: matched,\n\t\t\t\t// Cast descendant combinators to space\n\t\t\t\ttype: match[0].replace( rtrim, \" \" )\n\t\t\t});\n\t\t\tsoFar = soFar.slice( matched.length );\n\t\t}\n\n\t\t// Filters\n\t\tfor ( type in Expr.filter ) {\n\t\t\tif ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||\n\t\t\t\t(match = preFilters[ type ]( match ))) ) {\n\t\t\t\tmatched = match.shift();\n\t\t\t\ttokens.push({\n\t\t\t\t\tvalue: matched,\n\t\t\t\t\ttype: type,\n\t\t\t\t\tmatches: match\n\t\t\t\t});\n\t\t\t\tsoFar = soFar.slice( matched.length );\n\t\t\t}\n\t\t}\n\n\t\tif ( !matched ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// Return the length of the invalid excess\n\t// if we're just parsing\n\t// Otherwise, throw an error or return tokens\n\treturn parseOnly ?\n\t\tsoFar.length :\n\t\tsoFar ?\n\t\t\tSizzle.error( selector ) :\n\t\t\t// Cache the tokens\n\t\t\ttokenCache( selector, groups ).slice( 0 );\n};\n\nfunction toSelector( tokens ) {\n\tvar i = 0,\n\t\tlen = tokens.length,\n\t\tselector = \"\";\n\tfor ( ; i < len; i++ ) {\n\t\tselector += tokens[i].value;\n\t}\n\treturn selector;\n}\n\nfunction addCombinator( matcher, combinator, base ) {\n\tvar dir = combinator.dir,\n\t\tskip = combinator.next,\n\t\tkey = skip || dir,\n\t\tcheckNonElements = base && key === \"parentNode\",\n\t\tdoneName = done++;\n\n\treturn combinator.first ?\n\t\t// Check against closest ancestor/preceding element\n\t\tfunction( elem, context, xml ) {\n\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\treturn matcher( elem, context, xml );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t} :\n\n\t\t// Check against all ancestor/preceding elements\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar oldCache, uniqueCache, outerCache,\n\t\t\t\tnewCache = [ dirruns, doneName ];\n\n\t\t\t// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching\n\t\t\tif ( xml ) {\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\touterCache = elem[ expando ] || (elem[ expando ] = {});\n\n\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\tuniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});\n\n\t\t\t\t\t\tif ( skip && skip === elem.nodeName.toLowerCase() ) {\n\t\t\t\t\t\t\telem = elem[ dir ] || elem;\n\t\t\t\t\t\t} else if ( (oldCache = uniqueCache[ key ]) &&\n\t\t\t\t\t\t\toldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {\n\n\t\t\t\t\t\t\t// Assign to newCache so results back-propagate to previous elements\n\t\t\t\t\t\t\treturn (newCache[ 2 ] = oldCache[ 2 ]);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Reuse newcache so results back-propagate to previous elements\n\t\t\t\t\t\t\tuniqueCache[ key ] = newCache;\n\n\t\t\t\t\t\t\t// A match means we're done; a fail means we have to keep checking\n\t\t\t\t\t\t\tif ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n}\n\nfunction elementMatcher( matchers ) {\n\treturn matchers.length > 1 ?\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar i = matchers.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( !matchers[i]( elem, context, xml ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} :\n\t\tmatchers[0];\n}\n\nfunction multipleContexts( selector, contexts, results ) {\n\tvar i = 0,\n\t\tlen = contexts.length;\n\tfor ( ; i < len; i++ ) {\n\t\tSizzle( selector, contexts[i], results );\n\t}\n\treturn results;\n}\n\nfunction condense( unmatched, map, filter, context, xml ) {\n\tvar elem,\n\t\tnewUnmatched = [],\n\t\ti = 0,\n\t\tlen = unmatched.length,\n\t\tmapped = map != null;\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( (elem = unmatched[i]) ) {\n\t\t\tif ( !filter || filter( elem, context, xml ) ) {\n\t\t\t\tnewUnmatched.push( elem );\n\t\t\t\tif ( mapped ) {\n\t\t\t\t\tmap.push( i );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn newUnmatched;\n}\n\nfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\n\tif ( postFilter && !postFilter[ expando ] ) {\n\t\tpostFilter = setMatcher( postFilter );\n\t}\n\tif ( postFinder && !postFinder[ expando ] ) {\n\t\tpostFinder = setMatcher( postFinder, postSelector );\n\t}\n\treturn markFunction(function( seed, results, context, xml ) {\n\t\tvar temp, i, elem,\n\t\t\tpreMap = [],\n\t\t\tpostMap = [],\n\t\t\tpreexisting = results.length,\n\n\t\t\t// Get initial elements from seed or context\n\t\t\telems = seed || multipleContexts( selector || \"*\", context.nodeType ? [ context ] : context, [] ),\n\n\t\t\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\n\t\t\tmatcherIn = preFilter && ( seed || !selector ) ?\n\t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\n\t\t\t\telems,\n\n\t\t\tmatcherOut = matcher ?\n\t\t\t\t// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,\n\t\t\t\tpostFinder || ( seed ? preFilter : preexisting || postFilter ) ?\n\n\t\t\t\t\t// ...intermediate processing is necessary\n\t\t\t\t\t[] :\n\n\t\t\t\t\t// ...otherwise use results directly\n\t\t\t\t\tresults :\n\t\t\t\tmatcherIn;\n\n\t\t// Find primary matches\n\t\tif ( matcher ) {\n\t\t\tmatcher( matcherIn, matcherOut, context, xml );\n\t\t}\n\n\t\t// Apply postFilter\n\t\tif ( postFilter ) {\n\t\t\ttemp = condense( matcherOut, postMap );\n\t\t\tpostFilter( temp, [], context, xml );\n\n\t\t\t// Un-match failing elements by moving them back to matcherIn\n\t\t\ti = temp.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( (elem = temp[i]) ) {\n\t\t\t\t\tmatcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( seed ) {\n\t\t\tif ( postFinder || preFilter ) {\n\t\t\t\tif ( postFinder ) {\n\t\t\t\t\t// Get the final matcherOut by condensing this intermediate into postFinder contexts\n\t\t\t\t\ttemp = [];\n\t\t\t\t\ti = matcherOut.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( (elem = matcherOut[i]) ) {\n\t\t\t\t\t\t\t// Restore matcherIn since elem is not yet a final match\n\t\t\t\t\t\t\ttemp.push( (matcherIn[i] = elem) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tpostFinder( null, (matcherOut = []), temp, xml );\n\t\t\t\t}\n\n\t\t\t\t// Move matched elements from seed to results to keep them synchronized\n\t\t\t\ti = matcherOut.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tif ( (elem = matcherOut[i]) &&\n\t\t\t\t\t\t(temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {\n\n\t\t\t\t\t\tseed[temp] = !(results[temp] = elem);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Add elements to results, through postFinder if defined\n\t\t} else {\n\t\t\tmatcherOut = condense(\n\t\t\t\tmatcherOut === results ?\n\t\t\t\t\tmatcherOut.splice( preexisting, matcherOut.length ) :\n\t\t\t\t\tmatcherOut\n\t\t\t);\n\t\t\tif ( postFinder ) {\n\t\t\t\tpostFinder( null, results, matcherOut, xml );\n\t\t\t} else {\n\t\t\t\tpush.apply( results, matcherOut );\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction matcherFromTokens( tokens ) {\n\tvar checkContext, matcher, j,\n\t\tlen = tokens.length,\n\t\tleadingRelative = Expr.relative[ tokens[0].type ],\n\t\timplicitRelative = leadingRelative || Expr.relative[\" \"],\n\t\ti = leadingRelative ? 1 : 0,\n\n\t\t// The foundational matcher ensures that elements are reachable from top-level context(s)\n\t\tmatchContext = addCombinator( function( elem ) {\n\t\t\treturn elem === checkContext;\n\t\t}, implicitRelative, true ),\n\t\tmatchAnyContext = addCombinator( function( elem ) {\n\t\t\treturn indexOf( checkContext, elem ) > -1;\n\t\t}, implicitRelative, true ),\n\t\tmatchers = [ function( elem, context, xml ) {\n\t\t\tvar ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (\n\t\t\t\t(checkContext = context).nodeType ?\n\t\t\t\t\tmatchContext( elem, context, xml ) :\n\t\t\t\t\tmatchAnyContext( elem, context, xml ) );\n\t\t\t// Avoid hanging onto element (issue #299)\n\t\t\tcheckContext = null;\n\t\t\treturn ret;\n\t\t} ];\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( (matcher = Expr.relative[ tokens[i].type ]) ) {\n\t\t\tmatchers = [ addCombinator(elementMatcher( matchers ), matcher) ];\n\t\t} else {\n\t\t\tmatcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );\n\n\t\t\t// Return special upon seeing a positional matcher\n\t\t\tif ( matcher[ expando ] ) {\n\t\t\t\t// Find the next relative operator (if any) for proper handling\n\t\t\t\tj = ++i;\n\t\t\t\tfor ( ; j < len; j++ ) {\n\t\t\t\t\tif ( Expr.relative[ tokens[j].type ] ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn setMatcher(\n\t\t\t\t\ti > 1 && elementMatcher( matchers ),\n\t\t\t\t\ti > 1 && toSelector(\n\t\t\t\t\t\t// If the preceding token was a descendant combinator, insert an implicit any-element `*`\n\t\t\t\t\t\ttokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === \" \" ? \"*\" : \"\" })\n\t\t\t\t\t).replace( rtrim, \"$1\" ),\n\t\t\t\t\tmatcher,\n\t\t\t\t\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\n\t\t\t\t\tj < len && matcherFromTokens( (tokens = tokens.slice( j )) ),\n\t\t\t\t\tj < len && toSelector( tokens )\n\t\t\t\t);\n\t\t\t}\n\t\t\tmatchers.push( matcher );\n\t\t}\n\t}\n\n\treturn elementMatcher( matchers );\n}\n\nfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\n\tvar bySet = setMatchers.length > 0,\n\t\tbyElement = elementMatchers.length > 0,\n\t\tsuperMatcher = function( seed, context, xml, results, outermost ) {\n\t\t\tvar elem, j, matcher,\n\t\t\t\tmatchedCount = 0,\n\t\t\t\ti = \"0\",\n\t\t\t\tunmatched = seed && [],\n\t\t\t\tsetMatched = [],\n\t\t\t\tcontextBackup = outermostContext,\n\t\t\t\t// We must always have either seed elements or outermost context\n\t\t\t\telems = seed || byElement && Expr.find[\"TAG\"]( \"*\", outermost ),\n\t\t\t\t// Use integer dirruns iff this is the outermost matcher\n\t\t\t\tdirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),\n\t\t\t\tlen = elems.length;\n\n\t\t\tif ( outermost ) {\n\t\t\t\toutermostContext = context === document || context || outermost;\n\t\t\t}\n\n\t\t\t// Add elements passing elementMatchers directly to results\n\t\t\t// Support: IE<9, Safari\n\t\t\t// Tolerate NodeList properties (IE: \"length\"; Safari: ) matching elements by id\n\t\t\tfor ( ; i !== len && (elem = elems[i]) != null; i++ ) {\n\t\t\t\tif ( byElement && elem ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\tif ( !context && elem.ownerDocument !== document ) {\n\t\t\t\t\t\tsetDocument( elem );\n\t\t\t\t\t\txml = !documentIsHTML;\n\t\t\t\t\t}\n\t\t\t\t\twhile ( (matcher = elementMatchers[j++]) ) {\n\t\t\t\t\t\tif ( matcher( elem, context || document, xml) ) {\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( outermost ) {\n\t\t\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Track unmatched elements for set filters\n\t\t\t\tif ( bySet ) {\n\t\t\t\t\t// They will have gone through all possible matchers\n\t\t\t\t\tif ( (elem = !matcher && elem) ) {\n\t\t\t\t\t\tmatchedCount--;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Lengthen the array for every element, matched or not\n\t\t\t\t\tif ( seed ) {\n\t\t\t\t\t\tunmatched.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// `i` is now the count of elements visited above, and adding it to `matchedCount`\n\t\t\t// makes the latter nonnegative.\n\t\t\tmatchedCount += i;\n\n\t\t\t// Apply set filters to unmatched elements\n\t\t\t// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`\n\t\t\t// equals `i`), unless we didn't visit _any_ elements in the above loop because we have\n\t\t\t// no element matchers and no seed.\n\t\t\t// Incrementing an initially-string \"0\" `i` allows `i` to remain a string only in that\n\t\t\t// case, which will result in a \"00\" `matchedCount` that differs from `i` but is also\n\t\t\t// numerically zero.\n\t\t\tif ( bySet && i !== matchedCount ) {\n\t\t\t\tj = 0;\n\t\t\t\twhile ( (matcher = setMatchers[j++]) ) {\n\t\t\t\t\tmatcher( unmatched, setMatched, context, xml );\n\t\t\t\t}\n\n\t\t\t\tif ( seed ) {\n\t\t\t\t\t// Reintegrate element matches to eliminate the need for sorting\n\t\t\t\t\tif ( matchedCount > 0 ) {\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tif ( !(unmatched[i] || setMatched[i]) ) {\n\t\t\t\t\t\t\t\tsetMatched[i] = pop.call( results );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Discard index placeholder values to get only actual matches\n\t\t\t\t\tsetMatched = condense( setMatched );\n\t\t\t\t}\n\n\t\t\t\t// Add matches to results\n\t\t\t\tpush.apply( results, setMatched );\n\n\t\t\t\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\n\t\t\t\tif ( outermost && !seed && setMatched.length > 0 &&\n\t\t\t\t\t( matchedCount + setMatchers.length ) > 1 ) {\n\n\t\t\t\t\tSizzle.uniqueSort( results );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Override manipulation of globals by nested matchers\n\t\t\tif ( outermost ) {\n\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\toutermostContext = contextBackup;\n\t\t\t}\n\n\t\t\treturn unmatched;\n\t\t};\n\n\treturn bySet ?\n\t\tmarkFunction( superMatcher ) :\n\t\tsuperMatcher;\n}\n\ncompile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {\n\tvar i,\n\t\tsetMatchers = [],\n\t\telementMatchers = [],\n\t\tcached = compilerCache[ selector + \" \" ];\n\n\tif ( !cached ) {\n\t\t// Generate a function of recursive functions that can be used to check each element\n\t\tif ( !match ) {\n\t\t\tmatch = tokenize( selector );\n\t\t}\n\t\ti = match.length;\n\t\twhile ( i-- ) {\n\t\t\tcached = matcherFromTokens( match[i] );\n\t\t\tif ( cached[ expando ] ) {\n\t\t\t\tsetMatchers.push( cached );\n\t\t\t} else {\n\t\t\t\telementMatchers.push( cached );\n\t\t\t}\n\t\t}\n\n\t\t// Cache the compiled function\n\t\tcached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );\n\n\t\t// Save selector and tokenization\n\t\tcached.selector = selector;\n\t}\n\treturn cached;\n};\n\n/**\n * A low-level selection function that works with Sizzle's compiled\n * selector functions\n * @param {String|Function} selector A selector or a pre-compiled\n * selector function built with Sizzle.compile\n * @param {Element} context\n * @param {Array} [results]\n * @param {Array} [seed] A set of elements to match against\n */\nselect = Sizzle.select = function( selector, context, results, seed ) {\n\tvar i, tokens, token, type, find,\n\t\tcompiled = typeof selector === \"function\" && selector,\n\t\tmatch = !seed && tokenize( (selector = compiled.selector || selector) );\n\n\tresults = results || [];\n\n\t// Try to minimize operations if there is only one selector in the list and no seed\n\t// (the latter of which guarantees us context)\n\tif ( match.length === 1 ) {\n\n\t\t// Reduce context if the leading compound selector is an ID\n\t\ttokens = match[0] = match[0].slice( 0 );\n\t\tif ( tokens.length > 2 && (token = tokens[0]).type === \"ID\" &&\n\t\t\t\tcontext.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) {\n\n\t\t\tcontext = ( Expr.find[\"ID\"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];\n\t\t\tif ( !context ) {\n\t\t\t\treturn results;\n\n\t\t\t// Precompiled matchers will still verify ancestry, so step up a level\n\t\t\t} else if ( compiled ) {\n\t\t\t\tcontext = context.parentNode;\n\t\t\t}\n\n\t\t\tselector = selector.slice( tokens.shift().value.length );\n\t\t}\n\n\t\t// Fetch a seed set for right-to-left matching\n\t\ti = matchExpr[\"needsContext\"].test( selector ) ? 0 : tokens.length;\n\t\twhile ( i-- ) {\n\t\t\ttoken = tokens[i];\n\n\t\t\t// Abort if we hit a combinator\n\t\t\tif ( Expr.relative[ (type = token.type) ] ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( (find = Expr.find[ type ]) ) {\n\t\t\t\t// Search, expanding context for leading sibling combinators\n\t\t\t\tif ( (seed = find(\n\t\t\t\t\ttoken.matches[0].replace( runescape, funescape ),\n\t\t\t\t\trsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context\n\t\t\t\t)) ) {\n\n\t\t\t\t\t// If seed is empty or no tokens remain, we can return early\n\t\t\t\t\ttokens.splice( i, 1 );\n\t\t\t\t\tselector = seed.length && toSelector( tokens );\n\t\t\t\t\tif ( !selector ) {\n\t\t\t\t\t\tpush.apply( results, seed );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Compile and execute a filtering function if one is not provided\n\t// Provide `match` to avoid retokenization if we modified the selector above\n\t( compiled || compile( selector, match ) )(\n\t\tseed,\n\t\tcontext,\n\t\t!documentIsHTML,\n\t\tresults,\n\t\t!context || rsibling.test( selector ) && testContext( context.parentNode ) || context\n\t);\n\treturn results;\n};\n\n// One-time assignments\n\n// Sort stability\nsupport.sortStable = expando.split(\"\").sort( sortOrder ).join(\"\") === expando;\n\n// Support: Chrome 14-35+\n// Always assume duplicates if they aren't passed to the comparison function\nsupport.detectDuplicates = !!hasDuplicate;\n\n// Initialize against the default document\nsetDocument();\n\n// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)\n// Detached nodes confoundingly follow *each other*\nsupport.sortDetached = assert(function( el ) {\n\t// Should return 1, but returns 4 (following)\n\treturn el.compareDocumentPosition( document.createElement(\"fieldset\") ) & 1;\n});\n\n// Support: IE<8\n// Prevent attribute/property \"interpolation\"\n// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx\nif ( !assert(function( el ) {\n\tel.innerHTML = \" \";\n\treturn el.firstChild.getAttribute(\"href\") === \"#\" ;\n}) ) {\n\taddHandle( \"type|href|height|width\", function( elem, name, isXML ) {\n\t\tif ( !isXML ) {\n\t\t\treturn elem.getAttribute( name, name.toLowerCase() === \"type\" ? 1 : 2 );\n\t\t}\n\t});\n}\n\n// Support: IE<9\n// Use defaultValue in place of getAttribute(\"value\")\nif ( !support.attributes || !assert(function( el ) {\n\tel.innerHTML = \" \";\n\tel.firstChild.setAttribute( \"value\", \"\" );\n\treturn el.firstChild.getAttribute( \"value\" ) === \"\";\n}) ) {\n\taddHandle( \"value\", function( elem, name, isXML ) {\n\t\tif ( !isXML && elem.nodeName.toLowerCase() === \"input\" ) {\n\t\t\treturn elem.defaultValue;\n\t\t}\n\t});\n}\n\n// Support: IE<9\n// Use getAttributeNode to fetch booleans when getAttribute lies\nif ( !assert(function( el ) {\n\treturn el.getAttribute(\"disabled\") == null;\n}) ) {\n\taddHandle( booleans, function( elem, name, isXML ) {\n\t\tvar val;\n\t\tif ( !isXML ) {\n\t\t\treturn elem[ name ] === true ? name.toLowerCase() :\n\t\t\t\t\t(val = elem.getAttributeNode( name )) && val.specified ?\n\t\t\t\t\tval.value :\n\t\t\t\tnull;\n\t\t}\n\t});\n}\n\nreturn Sizzle;\n\n})( window );\n\n\n\njQuery.find = Sizzle;\njQuery.expr = Sizzle.selectors;\n\n// Deprecated\njQuery.expr[ \":\" ] = jQuery.expr.pseudos;\njQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;\njQuery.text = Sizzle.getText;\njQuery.isXMLDoc = Sizzle.isXML;\njQuery.contains = Sizzle.contains;\njQuery.escapeSelector = Sizzle.escape;\n\n\n\n\nvar dir = function( elem, dir, until ) {\n\tvar matched = [],\n\t\ttruncate = until !== undefined;\n\n\twhile ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {\n\t\tif ( elem.nodeType === 1 ) {\n\t\t\tif ( truncate && jQuery( elem ).is( until ) ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tmatched.push( elem );\n\t\t}\n\t}\n\treturn matched;\n};\n\n\nvar siblings = function( n, elem ) {\n\tvar matched = [];\n\n\tfor ( ; n; n = n.nextSibling ) {\n\t\tif ( n.nodeType === 1 && n !== elem ) {\n\t\t\tmatched.push( n );\n\t\t}\n\t}\n\n\treturn matched;\n};\n\n\nvar rneedsContext = jQuery.expr.match.needsContext;\n\n\n\nfunction nodeName( elem, name ) {\n\n return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n\n}var rsingleTag = ( /^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i );\n\n\n\n// Implement the identical functionality for filter and not\nfunction winnow( elements, qualifier, not ) {\n\tif ( isFunction( qualifier ) ) {\n\t\treturn jQuery.grep( elements, function( elem, i ) {\n\t\t\treturn !!qualifier.call( elem, i, elem ) !== not;\n\t\t} );\n\t}\n\n\t// Single element\n\tif ( qualifier.nodeType ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( elem === qualifier ) !== not;\n\t\t} );\n\t}\n\n\t// Arraylike of elements (jQuery, arguments, Array)\n\tif ( typeof qualifier !== \"string\" ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( indexOf.call( qualifier, elem ) > -1 ) !== not;\n\t\t} );\n\t}\n\n\t// Filtered directly for both simple and complex selectors\n\treturn jQuery.filter( qualifier, elements, not );\n}\n\njQuery.filter = function( expr, elems, not ) {\n\tvar elem = elems[ 0 ];\n\n\tif ( not ) {\n\t\texpr = \":not(\" + expr + \")\";\n\t}\n\n\tif ( elems.length === 1 && elem.nodeType === 1 ) {\n\t\treturn jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];\n\t}\n\n\treturn jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {\n\t\treturn elem.nodeType === 1;\n\t} ) );\n};\n\njQuery.fn.extend( {\n\tfind: function( selector ) {\n\t\tvar i, ret,\n\t\t\tlen = this.length,\n\t\t\tself = this;\n\n\t\tif ( typeof selector !== \"string\" ) {\n\t\t\treturn this.pushStack( jQuery( selector ).filter( function() {\n\t\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\t\tif ( jQuery.contains( self[ i ], this ) ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} ) );\n\t\t}\n\n\t\tret = this.pushStack( [] );\n\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tjQuery.find( selector, self[ i ], ret );\n\t\t}\n\n\t\treturn len > 1 ? jQuery.uniqueSort( ret ) : ret;\n\t},\n\tfilter: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], false ) );\n\t},\n\tnot: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], true ) );\n\t},\n\tis: function( selector ) {\n\t\treturn !!winnow(\n\t\t\tthis,\n\n\t\t\t// If this is a positional/relative selector, check membership in the returned set\n\t\t\t// so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\n\t\t\ttypeof selector === \"string\" && rneedsContext.test( selector ) ?\n\t\t\t\tjQuery( selector ) :\n\t\t\t\tselector || [],\n\t\t\tfalse\n\t\t).length;\n\t}\n} );\n\n\n// Initialize a jQuery object\n\n\n// A central reference to the root jQuery(document)\nvar rootjQuery,\n\n\t// A simple way to check for HTML strings\n\t// Prioritize #id over to avoid XSS via location.hash (#9521)\n\t// Strict HTML recognition (#11290: must start with <)\n\t// Shortcut simple #id case for speed\n\trquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/,\n\n\tinit = jQuery.fn.init = function( selector, context, root ) {\n\t\tvar match, elem;\n\n\t\t// HANDLE: $(\"\"), $(null), $(undefined), $(false)\n\t\tif ( !selector ) {\n\t\t\treturn this;\n\t\t}\n\n\t\t// Method init() accepts an alternate rootjQuery\n\t\t// so migrate can support jQuery.sub (gh-2101)\n\t\troot = root || rootjQuery;\n\n\t\t// Handle HTML strings\n\t\tif ( typeof selector === \"string\" ) {\n\t\t\tif ( selector[ 0 ] === \"<\" &&\n\t\t\t\tselector[ selector.length - 1 ] === \">\" &&\n\t\t\t\tselector.length >= 3 ) {\n\n\t\t\t\t// Assume that strings that start and end with <> are HTML and skip the regex check\n\t\t\t\tmatch = [ null, selector, null ];\n\n\t\t\t} else {\n\t\t\t\tmatch = rquickExpr.exec( selector );\n\t\t\t}\n\n\t\t\t// Match html or make sure no context is specified for #id\n\t\t\tif ( match && ( match[ 1 ] || !context ) ) {\n\n\t\t\t\t// HANDLE: $(html) -> $(array)\n\t\t\t\tif ( match[ 1 ] ) {\n\t\t\t\t\tcontext = context instanceof jQuery ? context[ 0 ] : context;\n\n\t\t\t\t\t// Option to run scripts is true for back-compat\n\t\t\t\t\t// Intentionally let the error be thrown if parseHTML is not present\n\t\t\t\t\tjQuery.merge( this, jQuery.parseHTML(\n\t\t\t\t\t\tmatch[ 1 ],\n\t\t\t\t\t\tcontext && context.nodeType ? context.ownerDocument || context : document,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) );\n\n\t\t\t\t\t// HANDLE: $(html, props)\n\t\t\t\t\tif ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {\n\t\t\t\t\t\tfor ( match in context ) {\n\n\t\t\t\t\t\t\t// Properties of context are called as methods if possible\n\t\t\t\t\t\t\tif ( isFunction( this[ match ] ) ) {\n\t\t\t\t\t\t\t\tthis[ match ]( context[ match ] );\n\n\t\t\t\t\t\t\t// ...and otherwise set as attributes\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.attr( match, context[ match ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this;\n\n\t\t\t\t// HANDLE: $(#id)\n\t\t\t\t} else {\n\t\t\t\t\telem = document.getElementById( match[ 2 ] );\n\n\t\t\t\t\tif ( elem ) {\n\n\t\t\t\t\t\t// Inject the element directly into the jQuery object\n\t\t\t\t\t\tthis[ 0 ] = elem;\n\t\t\t\t\t\tthis.length = 1;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\n\t\t\t// HANDLE: $(expr, $(...))\n\t\t\t} else if ( !context || context.jquery ) {\n\t\t\t\treturn ( context || root ).find( selector );\n\n\t\t\t// HANDLE: $(expr, context)\n\t\t\t// (which is just equivalent to: $(context).find(expr)\n\t\t\t} else {\n\t\t\t\treturn this.constructor( context ).find( selector );\n\t\t\t}\n\n\t\t// HANDLE: $(DOMElement)\n\t\t} else if ( selector.nodeType ) {\n\t\t\tthis[ 0 ] = selector;\n\t\t\tthis.length = 1;\n\t\t\treturn this;\n\n\t\t// HANDLE: $(function)\n\t\t// Shortcut for document ready\n\t\t} else if ( isFunction( selector ) ) {\n\t\t\treturn root.ready !== undefined ?\n\t\t\t\troot.ready( selector ) :\n\n\t\t\t\t// Execute immediately if ready is not present\n\t\t\t\tselector( jQuery );\n\t\t}\n\n\t\treturn jQuery.makeArray( selector, this );\n\t};\n\n// Give the init function the jQuery prototype for later instantiation\ninit.prototype = jQuery.fn;\n\n// Initialize central reference\nrootjQuery = jQuery( document );\n\n\nvar rparentsprev = /^(?:parents|prev(?:Until|All))/,\n\n\t// Methods guaranteed to produce a unique set when starting from a unique set\n\tguaranteedUnique = {\n\t\tchildren: true,\n\t\tcontents: true,\n\t\tnext: true,\n\t\tprev: true\n\t};\n\njQuery.fn.extend( {\n\thas: function( target ) {\n\t\tvar targets = jQuery( target, this ),\n\t\t\tl = targets.length;\n\n\t\treturn this.filter( function() {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tif ( jQuery.contains( this, targets[ i ] ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\tclosest: function( selectors, context ) {\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\tl = this.length,\n\t\t\tmatched = [],\n\t\t\ttargets = typeof selectors !== \"string\" && jQuery( selectors );\n\n\t\t// Positional selectors never match, since there's no _selection_ context\n\t\tif ( !rneedsContext.test( selectors ) ) {\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tfor ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {\n\n\t\t\t\t\t// Always skip document fragments\n\t\t\t\t\tif ( cur.nodeType < 11 && ( targets ?\n\t\t\t\t\t\ttargets.index( cur ) > -1 :\n\n\t\t\t\t\t\t// Don't pass non-elements to Sizzle\n\t\t\t\t\t\tcur.nodeType === 1 &&\n\t\t\t\t\t\t\tjQuery.find.matchesSelector( cur, selectors ) ) ) {\n\n\t\t\t\t\t\tmatched.push( cur );\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );\n\t},\n\n\t// Determine the position of an element within the set\n\tindex: function( elem ) {\n\n\t\t// No argument, return index in parent\n\t\tif ( !elem ) {\n\t\t\treturn ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;\n\t\t}\n\n\t\t// Index in selector\n\t\tif ( typeof elem === \"string\" ) {\n\t\t\treturn indexOf.call( jQuery( elem ), this[ 0 ] );\n\t\t}\n\n\t\t// Locate the position of the desired element\n\t\treturn indexOf.call( this,\n\n\t\t\t// If it receives a jQuery object, the first element is used\n\t\t\telem.jquery ? elem[ 0 ] : elem\n\t\t);\n\t},\n\n\tadd: function( selector, context ) {\n\t\treturn this.pushStack(\n\t\t\tjQuery.uniqueSort(\n\t\t\t\tjQuery.merge( this.get(), jQuery( selector, context ) )\n\t\t\t)\n\t\t);\n\t},\n\n\taddBack: function( selector ) {\n\t\treturn this.add( selector == null ?\n\t\t\tthis.prevObject : this.prevObject.filter( selector )\n\t\t);\n\t}\n} );\n\nfunction sibling( cur, dir ) {\n\twhile ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}\n\treturn cur;\n}\n\njQuery.each( {\n\tparent: function( elem ) {\n\t\tvar parent = elem.parentNode;\n\t\treturn parent && parent.nodeType !== 11 ? parent : null;\n\t},\n\tparents: function( elem ) {\n\t\treturn dir( elem, \"parentNode\" );\n\t},\n\tparentsUntil: function( elem, i, until ) {\n\t\treturn dir( elem, \"parentNode\", until );\n\t},\n\tnext: function( elem ) {\n\t\treturn sibling( elem, \"nextSibling\" );\n\t},\n\tprev: function( elem ) {\n\t\treturn sibling( elem, \"previousSibling\" );\n\t},\n\tnextAll: function( elem ) {\n\t\treturn dir( elem, \"nextSibling\" );\n\t},\n\tprevAll: function( elem ) {\n\t\treturn dir( elem, \"previousSibling\" );\n\t},\n\tnextUntil: function( elem, i, until ) {\n\t\treturn dir( elem, \"nextSibling\", until );\n\t},\n\tprevUntil: function( elem, i, until ) {\n\t\treturn dir( elem, \"previousSibling\", until );\n\t},\n\tsiblings: function( elem ) {\n\t\treturn siblings( ( elem.parentNode || {} ).firstChild, elem );\n\t},\n\tchildren: function( elem ) {\n\t\treturn siblings( elem.firstChild );\n\t},\n\tcontents: function( elem ) {\n\t\tif ( typeof elem.contentDocument !== \"undefined\" ) {\n\t\t\treturn elem.contentDocument;\n\t\t}\n\n\t\t// Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only\n\t\t// Treat the template element as a regular one in browsers that\n\t\t// don't support it.\n\t\tif ( nodeName( elem, \"template\" ) ) {\n\t\t\telem = elem.content || elem;\n\t\t}\n\n\t\treturn jQuery.merge( [], elem.childNodes );\n\t}\n}, function( name, fn ) {\n\tjQuery.fn[ name ] = function( until, selector ) {\n\t\tvar matched = jQuery.map( this, fn, until );\n\n\t\tif ( name.slice( -5 ) !== \"Until\" ) {\n\t\t\tselector = until;\n\t\t}\n\n\t\tif ( selector && typeof selector === \"string\" ) {\n\t\t\tmatched = jQuery.filter( selector, matched );\n\t\t}\n\n\t\tif ( this.length > 1 ) {\n\n\t\t\t// Remove duplicates\n\t\t\tif ( !guaranteedUnique[ name ] ) {\n\t\t\t\tjQuery.uniqueSort( matched );\n\t\t\t}\n\n\t\t\t// Reverse order for parents* and prev-derivatives\n\t\t\tif ( rparentsprev.test( name ) ) {\n\t\t\t\tmatched.reverse();\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched );\n\t};\n} );\nvar rnothtmlwhite = ( /[^\\x20\\t\\r\\n\\f]+/g );\n\n\n\n// Convert String-formatted options into Object-formatted ones\nfunction createOptions( options ) {\n\tvar object = {};\n\tjQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {\n\t\tobject[ flag ] = true;\n\t} );\n\treturn object;\n}\n\n/*\n * Create a callback list using the following parameters:\n *\n *\toptions: an optional list of space-separated options that will change how\n *\t\t\tthe callback list behaves or a more traditional option object\n *\n * By default a callback list will act like an event callback list and can be\n * \"fired\" multiple times.\n *\n * Possible options:\n *\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n *\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\n *\t\t\t\t\tvalues (like a Deferred)\n *\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n *\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\n *\n */\njQuery.Callbacks = function( options ) {\n\n\t// Convert options from String-formatted to Object-formatted if needed\n\t// (we check in cache first)\n\toptions = typeof options === \"string\" ?\n\t\tcreateOptions( options ) :\n\t\tjQuery.extend( {}, options );\n\n\tvar // Flag to know if list is currently firing\n\t\tfiring,\n\n\t\t// Last fire value for non-forgettable lists\n\t\tmemory,\n\n\t\t// Flag to know if list was already fired\n\t\tfired,\n\n\t\t// Flag to prevent firing\n\t\tlocked,\n\n\t\t// Actual callback list\n\t\tlist = [],\n\n\t\t// Queue of execution data for repeatable lists\n\t\tqueue = [],\n\n\t\t// Index of currently firing callback (modified by add/remove as needed)\n\t\tfiringIndex = -1,\n\n\t\t// Fire callbacks\n\t\tfire = function() {\n\n\t\t\t// Enforce single-firing\n\t\t\tlocked = locked || options.once;\n\n\t\t\t// Execute callbacks for all pending executions,\n\t\t\t// respecting firingIndex overrides and runtime changes\n\t\t\tfired = firing = true;\n\t\t\tfor ( ; queue.length; firingIndex = -1 ) {\n\t\t\t\tmemory = queue.shift();\n\t\t\t\twhile ( ++firingIndex < list.length ) {\n\n\t\t\t\t\t// Run callback and check for early termination\n\t\t\t\t\tif ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&\n\t\t\t\t\t\toptions.stopOnFalse ) {\n\n\t\t\t\t\t\t// Jump to end and forget the data so .add doesn't re-fire\n\t\t\t\t\t\tfiringIndex = list.length;\n\t\t\t\t\t\tmemory = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Forget the data if we're done with it\n\t\t\tif ( !options.memory ) {\n\t\t\t\tmemory = false;\n\t\t\t}\n\n\t\t\tfiring = false;\n\n\t\t\t// Clean up if we're done firing for good\n\t\t\tif ( locked ) {\n\n\t\t\t\t// Keep an empty list if we have data for future add calls\n\t\t\t\tif ( memory ) {\n\t\t\t\t\tlist = [];\n\n\t\t\t\t// Otherwise, this object is spent\n\t\t\t\t} else {\n\t\t\t\t\tlist = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t// Actual Callbacks object\n\t\tself = {\n\n\t\t\t// Add a callback or a collection of callbacks to the list\n\t\t\tadd: function() {\n\t\t\t\tif ( list ) {\n\n\t\t\t\t\t// If we have memory from a past run, we should fire after adding\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfiringIndex = list.length - 1;\n\t\t\t\t\t\tqueue.push( memory );\n\t\t\t\t\t}\n\n\t\t\t\t\t( function add( args ) {\n\t\t\t\t\t\tjQuery.each( args, function( _, arg ) {\n\t\t\t\t\t\t\tif ( isFunction( arg ) ) {\n\t\t\t\t\t\t\t\tif ( !options.unique || !self.has( arg ) ) {\n\t\t\t\t\t\t\t\t\tlist.push( arg );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( arg && arg.length && toType( arg ) !== \"string\" ) {\n\n\t\t\t\t\t\t\t\t// Inspect recursively\n\t\t\t\t\t\t\t\tadd( arg );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t} )( arguments );\n\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Remove a callback from the list\n\t\t\tremove: function() {\n\t\t\t\tjQuery.each( arguments, function( _, arg ) {\n\t\t\t\t\tvar index;\n\t\t\t\t\twhile ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {\n\t\t\t\t\t\tlist.splice( index, 1 );\n\n\t\t\t\t\t\t// Handle firing indexes\n\t\t\t\t\t\tif ( index <= firingIndex ) {\n\t\t\t\t\t\t\tfiringIndex--;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Check if a given callback is in the list.\n\t\t\t// If no argument is given, return whether or not list has callbacks attached.\n\t\t\thas: function( fn ) {\n\t\t\t\treturn fn ?\n\t\t\t\t\tjQuery.inArray( fn, list ) > -1 :\n\t\t\t\t\tlist.length > 0;\n\t\t\t},\n\n\t\t\t// Remove all callbacks from the list\n\t\t\tempty: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\tlist = [];\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Disable .fire and .add\n\t\t\t// Abort any current/pending executions\n\t\t\t// Clear all callbacks and values\n\t\t\tdisable: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tlist = memory = \"\";\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tdisabled: function() {\n\t\t\t\treturn !list;\n\t\t\t},\n\n\t\t\t// Disable .fire\n\t\t\t// Also disable .add unless we have memory (since it would have no effect)\n\t\t\t// Abort any pending executions\n\t\t\tlock: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tif ( !memory && !firing ) {\n\t\t\t\t\tlist = memory = \"\";\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tlocked: function() {\n\t\t\t\treturn !!locked;\n\t\t\t},\n\n\t\t\t// Call all callbacks with the given context and arguments\n\t\t\tfireWith: function( context, args ) {\n\t\t\t\tif ( !locked ) {\n\t\t\t\t\targs = args || [];\n\t\t\t\t\targs = [ context, args.slice ? args.slice() : args ];\n\t\t\t\t\tqueue.push( args );\n\t\t\t\t\tif ( !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Call all the callbacks with the given arguments\n\t\t\tfire: function() {\n\t\t\t\tself.fireWith( this, arguments );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// To know if the callbacks have already been called at least once\n\t\t\tfired: function() {\n\t\t\t\treturn !!fired;\n\t\t\t}\n\t\t};\n\n\treturn self;\n};\n\n\nfunction Identity( v ) {\n\treturn v;\n}\nfunction Thrower( ex ) {\n\tthrow ex;\n}\n\nfunction adoptValue( value, resolve, reject, noValue ) {\n\tvar method;\n\n\ttry {\n\n\t\t// Check for promise aspect first to privilege synchronous behavior\n\t\tif ( value && isFunction( ( method = value.promise ) ) ) {\n\t\t\tmethod.call( value ).done( resolve ).fail( reject );\n\n\t\t// Other thenables\n\t\t} else if ( value && isFunction( ( method = value.then ) ) ) {\n\t\t\tmethod.call( value, resolve, reject );\n\n\t\t// Other non-thenables\n\t\t} else {\n\n\t\t\t// Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:\n\t\t\t// * false: [ value ].slice( 0 ) => resolve( value )\n\t\t\t// * true: [ value ].slice( 1 ) => resolve()\n\t\t\tresolve.apply( undefined, [ value ].slice( noValue ) );\n\t\t}\n\n\t// For Promises/A+, convert exceptions into rejections\n\t// Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in\n\t// Deferred#then to conditionally suppress rejection.\n\t} catch ( value ) {\n\n\t\t// Support: Android 4.0 only\n\t\t// Strict mode functions invoked without .call/.apply get global-object context\n\t\treject.apply( undefined, [ value ] );\n\t}\n}\n\njQuery.extend( {\n\n\tDeferred: function( func ) {\n\t\tvar tuples = [\n\n\t\t\t\t// action, add listener, callbacks,\n\t\t\t\t// ... .then handlers, argument index, [final state]\n\t\t\t\t[ \"notify\", \"progress\", jQuery.Callbacks( \"memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"memory\" ), 2 ],\n\t\t\t\t[ \"resolve\", \"done\", jQuery.Callbacks( \"once memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"once memory\" ), 0, \"resolved\" ],\n\t\t\t\t[ \"reject\", \"fail\", jQuery.Callbacks( \"once memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"once memory\" ), 1, \"rejected\" ]\n\t\t\t],\n\t\t\tstate = \"pending\",\n\t\t\tpromise = {\n\t\t\t\tstate: function() {\n\t\t\t\t\treturn state;\n\t\t\t\t},\n\t\t\t\talways: function() {\n\t\t\t\t\tdeferred.done( arguments ).fail( arguments );\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t\t\"catch\": function( fn ) {\n\t\t\t\t\treturn promise.then( null, fn );\n\t\t\t\t},\n\n\t\t\t\t// Keep pipe for back-compat\n\t\t\t\tpipe: function( /* fnDone, fnFail, fnProgress */ ) {\n\t\t\t\t\tvar fns = arguments;\n\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\t\t\t\t\t\tjQuery.each( tuples, function( i, tuple ) {\n\n\t\t\t\t\t\t\t// Map tuples (progress, done, fail) to arguments (done, fail, progress)\n\t\t\t\t\t\t\tvar fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];\n\n\t\t\t\t\t\t\t// deferred.progress(function() { bind to newDefer or newDefer.notify })\n\t\t\t\t\t\t\t// deferred.done(function() { bind to newDefer or newDefer.resolve })\n\t\t\t\t\t\t\t// deferred.fail(function() { bind to newDefer or newDefer.reject })\n\t\t\t\t\t\t\tdeferred[ tuple[ 1 ] ]( function() {\n\t\t\t\t\t\t\t\tvar returned = fn && fn.apply( this, arguments );\n\t\t\t\t\t\t\t\tif ( returned && isFunction( returned.promise ) ) {\n\t\t\t\t\t\t\t\t\treturned.promise()\n\t\t\t\t\t\t\t\t\t\t.progress( newDefer.notify )\n\t\t\t\t\t\t\t\t\t\t.done( newDefer.resolve )\n\t\t\t\t\t\t\t\t\t\t.fail( newDefer.reject );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tnewDefer[ tuple[ 0 ] + \"With\" ](\n\t\t\t\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t\t\t\tfn ? [ returned ] : arguments\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tfns = null;\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\t\t\t\tthen: function( onFulfilled, onRejected, onProgress ) {\n\t\t\t\t\tvar maxDepth = 0;\n\t\t\t\t\tfunction resolve( depth, deferred, handler, special ) {\n\t\t\t\t\t\treturn function() {\n\t\t\t\t\t\t\tvar that = this,\n\t\t\t\t\t\t\t\targs = arguments,\n\t\t\t\t\t\t\t\tmightThrow = function() {\n\t\t\t\t\t\t\t\t\tvar returned, then;\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.3\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-59\n\t\t\t\t\t\t\t\t\t// Ignore double-resolution attempts\n\t\t\t\t\t\t\t\t\tif ( depth < maxDepth ) {\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\treturned = handler.apply( that, args );\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.1\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-48\n\t\t\t\t\t\t\t\t\tif ( returned === deferred.promise() ) {\n\t\t\t\t\t\t\t\t\t\tthrow new TypeError( \"Thenable self-resolution\" );\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ sections 2.3.3.1, 3.5\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-54\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-75\n\t\t\t\t\t\t\t\t\t// Retrieve `then` only once\n\t\t\t\t\t\t\t\t\tthen = returned &&\n\n\t\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.4\n\t\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-64\n\t\t\t\t\t\t\t\t\t\t// Only check objects and functions for thenability\n\t\t\t\t\t\t\t\t\t\t( typeof returned === \"object\" ||\n\t\t\t\t\t\t\t\t\t\t\ttypeof returned === \"function\" ) &&\n\t\t\t\t\t\t\t\t\t\treturned.then;\n\n\t\t\t\t\t\t\t\t\t// Handle a returned thenable\n\t\t\t\t\t\t\t\t\tif ( isFunction( then ) ) {\n\n\t\t\t\t\t\t\t\t\t\t// Special processors (notify) just wait for resolution\n\t\t\t\t\t\t\t\t\t\tif ( special ) {\n\t\t\t\t\t\t\t\t\t\t\tthen.call(\n\t\t\t\t\t\t\t\t\t\t\t\treturned,\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Thrower, special )\n\t\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\t// Normal processors (resolve) also hook into progress\n\t\t\t\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t\t\t\t// ...and disregard older resolution values\n\t\t\t\t\t\t\t\t\t\t\tmaxDepth++;\n\n\t\t\t\t\t\t\t\t\t\t\tthen.call(\n\t\t\t\t\t\t\t\t\t\t\t\treturned,\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Thrower, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdeferred.notifyWith )\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Handle all other returned values\n\t\t\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t\t\t// Only substitute handlers pass on context\n\t\t\t\t\t\t\t\t\t\t// and multiple values (non-spec behavior)\n\t\t\t\t\t\t\t\t\t\tif ( handler !== Identity ) {\n\t\t\t\t\t\t\t\t\t\t\tthat = undefined;\n\t\t\t\t\t\t\t\t\t\t\targs = [ returned ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t// Process the value(s)\n\t\t\t\t\t\t\t\t\t\t// Default process is resolve\n\t\t\t\t\t\t\t\t\t\t( special || deferred.resolveWith )( that, args );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\n\t\t\t\t\t\t\t\t// Only normal processors (resolve) catch and reject exceptions\n\t\t\t\t\t\t\t\tprocess = special ?\n\t\t\t\t\t\t\t\t\tmightThrow :\n\t\t\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\t\tmightThrow();\n\t\t\t\t\t\t\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t\t\t\t\t\t\tif ( jQuery.Deferred.exceptionHook ) {\n\t\t\t\t\t\t\t\t\t\t\t\tjQuery.Deferred.exceptionHook( e,\n\t\t\t\t\t\t\t\t\t\t\t\t\tprocess.stackTrace );\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.4.1\n\t\t\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-61\n\t\t\t\t\t\t\t\t\t\t\t// Ignore post-resolution exceptions\n\t\t\t\t\t\t\t\t\t\t\tif ( depth + 1 >= maxDepth ) {\n\n\t\t\t\t\t\t\t\t\t\t\t\t// Only substitute handlers pass on context\n\t\t\t\t\t\t\t\t\t\t\t\t// and multiple values (non-spec behavior)\n\t\t\t\t\t\t\t\t\t\t\t\tif ( handler !== Thrower ) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tthat = undefined;\n\t\t\t\t\t\t\t\t\t\t\t\t\targs = [ e ];\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\tdeferred.rejectWith( that, args );\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.1\n\t\t\t\t\t\t\t// https://promisesaplus.com/#point-57\n\t\t\t\t\t\t\t// Re-resolve promises immediately to dodge false rejection from\n\t\t\t\t\t\t\t// subsequent errors\n\t\t\t\t\t\t\tif ( depth ) {\n\t\t\t\t\t\t\t\tprocess();\n\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t// Call an optional hook to record the stack, in case of exception\n\t\t\t\t\t\t\t\t// since it's otherwise lost when execution goes async\n\t\t\t\t\t\t\t\tif ( jQuery.Deferred.getStackHook ) {\n\t\t\t\t\t\t\t\t\tprocess.stackTrace = jQuery.Deferred.getStackHook();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\twindow.setTimeout( process );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\n\t\t\t\t\t\t// progress_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 0 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onProgress ) ?\n\t\t\t\t\t\t\t\t\tonProgress :\n\t\t\t\t\t\t\t\t\tIdentity,\n\t\t\t\t\t\t\t\tnewDefer.notifyWith\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// fulfilled_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 1 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onFulfilled ) ?\n\t\t\t\t\t\t\t\t\tonFulfilled :\n\t\t\t\t\t\t\t\t\tIdentity\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// rejected_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 2 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onRejected ) ?\n\t\t\t\t\t\t\t\t\tonRejected :\n\t\t\t\t\t\t\t\t\tThrower\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\n\t\t\t\t// Get a promise for this deferred\n\t\t\t\t// If obj is provided, the promise aspect is added to the object\n\t\t\t\tpromise: function( obj ) {\n\t\t\t\t\treturn obj != null ? jQuery.extend( obj, promise ) : promise;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeferred = {};\n\n\t\t// Add list-specific methods\n\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\tvar list = tuple[ 2 ],\n\t\t\t\tstateString = tuple[ 5 ];\n\n\t\t\t// promise.progress = list.add\n\t\t\t// promise.done = list.add\n\t\t\t// promise.fail = list.add\n\t\t\tpromise[ tuple[ 1 ] ] = list.add;\n\n\t\t\t// Handle state\n\t\t\tif ( stateString ) {\n\t\t\t\tlist.add(\n\t\t\t\t\tfunction() {\n\n\t\t\t\t\t\t// state = \"resolved\" (i.e., fulfilled)\n\t\t\t\t\t\t// state = \"rejected\"\n\t\t\t\t\t\tstate = stateString;\n\t\t\t\t\t},\n\n\t\t\t\t\t// rejected_callbacks.disable\n\t\t\t\t\t// fulfilled_callbacks.disable\n\t\t\t\t\ttuples[ 3 - i ][ 2 ].disable,\n\n\t\t\t\t\t// rejected_handlers.disable\n\t\t\t\t\t// fulfilled_handlers.disable\n\t\t\t\t\ttuples[ 3 - i ][ 3 ].disable,\n\n\t\t\t\t\t// progress_callbacks.lock\n\t\t\t\t\ttuples[ 0 ][ 2 ].lock,\n\n\t\t\t\t\t// progress_handlers.lock\n\t\t\t\t\ttuples[ 0 ][ 3 ].lock\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// progress_handlers.fire\n\t\t\t// fulfilled_handlers.fire\n\t\t\t// rejected_handlers.fire\n\t\t\tlist.add( tuple[ 3 ].fire );\n\n\t\t\t// deferred.notify = function() { deferred.notifyWith(...) }\n\t\t\t// deferred.resolve = function() { deferred.resolveWith(...) }\n\t\t\t// deferred.reject = function() { deferred.rejectWith(...) }\n\t\t\tdeferred[ tuple[ 0 ] ] = function() {\n\t\t\t\tdeferred[ tuple[ 0 ] + \"With\" ]( this === deferred ? undefined : this, arguments );\n\t\t\t\treturn this;\n\t\t\t};\n\n\t\t\t// deferred.notifyWith = list.fireWith\n\t\t\t// deferred.resolveWith = list.fireWith\n\t\t\t// deferred.rejectWith = list.fireWith\n\t\t\tdeferred[ tuple[ 0 ] + \"With\" ] = list.fireWith;\n\t\t} );\n\n\t\t// Make the deferred a promise\n\t\tpromise.promise( deferred );\n\n\t\t// Call given func if any\n\t\tif ( func ) {\n\t\t\tfunc.call( deferred, deferred );\n\t\t}\n\n\t\t// All done!\n\t\treturn deferred;\n\t},\n\n\t// Deferred helper\n\twhen: function( singleValue ) {\n\t\tvar\n\n\t\t\t// count of uncompleted subordinates\n\t\t\tremaining = arguments.length,\n\n\t\t\t// count of unprocessed arguments\n\t\t\ti = remaining,\n\n\t\t\t// subordinate fulfillment data\n\t\t\tresolveContexts = Array( i ),\n\t\t\tresolveValues = slice.call( arguments ),\n\n\t\t\t// the master Deferred\n\t\t\tmaster = jQuery.Deferred(),\n\n\t\t\t// subordinate callback factory\n\t\t\tupdateFunc = function( i ) {\n\t\t\t\treturn function( value ) {\n\t\t\t\t\tresolveContexts[ i ] = this;\n\t\t\t\t\tresolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;\n\t\t\t\t\tif ( !( --remaining ) ) {\n\t\t\t\t\t\tmaster.resolveWith( resolveContexts, resolveValues );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t};\n\n\t\t// Single- and empty arguments are adopted like Promise.resolve\n\t\tif ( remaining <= 1 ) {\n\t\t\tadoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject,\n\t\t\t\t!remaining );\n\n\t\t\t// Use .then() to unwrap secondary thenables (cf. gh-3000)\n\t\t\tif ( master.state() === \"pending\" ||\n\t\t\t\tisFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {\n\n\t\t\t\treturn master.then();\n\t\t\t}\n\t\t}\n\n\t\t// Multiple arguments are aggregated like Promise.all array elements\n\t\twhile ( i-- ) {\n\t\t\tadoptValue( resolveValues[ i ], updateFunc( i ), master.reject );\n\t\t}\n\n\t\treturn master.promise();\n\t}\n} );\n\n\n// These usually indicate a programmer mistake during development,\n// warn about them ASAP rather than swallowing them by default.\nvar rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;\n\njQuery.Deferred.exceptionHook = function( error, stack ) {\n\n\t// Support: IE 8 - 9 only\n\t// Console exists when dev tools are open, which can happen at any time\n\tif ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {\n\t\twindow.console.warn( \"jQuery.Deferred exception: \" + error.message, error.stack, stack );\n\t}\n};\n\n\n\n\njQuery.readyException = function( error ) {\n\twindow.setTimeout( function() {\n\t\tthrow error;\n\t} );\n};\n\n\n\n\n// The deferred used on DOM ready\nvar readyList = jQuery.Deferred();\n\njQuery.fn.ready = function( fn ) {\n\n\treadyList\n\t\t.then( fn )\n\n\t\t// Wrap jQuery.readyException in a function so that the lookup\n\t\t// happens at the time of error handling instead of callback\n\t\t// registration.\n\t\t.catch( function( error ) {\n\t\t\tjQuery.readyException( error );\n\t\t} );\n\n\treturn this;\n};\n\njQuery.extend( {\n\n\t// Is the DOM ready to be used? Set to true once it occurs.\n\tisReady: false,\n\n\t// A counter to track how many items to wait for before\n\t// the ready event fires. See #6781\n\treadyWait: 1,\n\n\t// Handle when the DOM is ready\n\tready: function( wait ) {\n\n\t\t// Abort if there are pending holds or we're already ready\n\t\tif ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Remember that the DOM is ready\n\t\tjQuery.isReady = true;\n\n\t\t// If a normal DOM Ready event fired, decrement, and wait if need be\n\t\tif ( wait !== true && --jQuery.readyWait > 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If there are functions bound, to execute\n\t\treadyList.resolveWith( document, [ jQuery ] );\n\t}\n} );\n\njQuery.ready.then = readyList.then;\n\n// The ready event handler and self cleanup method\nfunction completed() {\n\tdocument.removeEventListener( \"DOMContentLoaded\", completed );\n\twindow.removeEventListener( \"load\", completed );\n\tjQuery.ready();\n}\n\n// Catch cases where $(document).ready() is called\n// after the browser event has already occurred.\n// Support: IE <=9 - 10 only\n// Older IE sometimes signals \"interactive\" too soon\nif ( document.readyState === \"complete\" ||\n\t( document.readyState !== \"loading\" && !document.documentElement.doScroll ) ) {\n\n\t// Handle it asynchronously to allow scripts the opportunity to delay ready\n\twindow.setTimeout( jQuery.ready );\n\n} else {\n\n\t// Use the handy event callback\n\tdocument.addEventListener( \"DOMContentLoaded\", completed );\n\n\t// A fallback to window.onload, that will always work\n\twindow.addEventListener( \"load\", completed );\n}\n\n\n\n\n// Multifunctional method to get and set values of a collection\n// The value/s can optionally be executed if it's a function\nvar access = function( elems, fn, key, value, chainable, emptyGet, raw ) {\n\tvar i = 0,\n\t\tlen = elems.length,\n\t\tbulk = key == null;\n\n\t// Sets many values\n\tif ( toType( key ) === \"object\" ) {\n\t\tchainable = true;\n\t\tfor ( i in key ) {\n\t\t\taccess( elems, fn, i, key[ i ], true, emptyGet, raw );\n\t\t}\n\n\t// Sets one value\n\t} else if ( value !== undefined ) {\n\t\tchainable = true;\n\n\t\tif ( !isFunction( value ) ) {\n\t\t\traw = true;\n\t\t}\n\n\t\tif ( bulk ) {\n\n\t\t\t// Bulk operations run against the entire set\n\t\t\tif ( raw ) {\n\t\t\t\tfn.call( elems, value );\n\t\t\t\tfn = null;\n\n\t\t\t// ...except when executing function values\n\t\t\t} else {\n\t\t\t\tbulk = fn;\n\t\t\t\tfn = function( elem, key, value ) {\n\t\t\t\t\treturn bulk.call( jQuery( elem ), value );\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( fn ) {\n\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\tfn(\n\t\t\t\t\telems[ i ], key, raw ?\n\t\t\t\t\tvalue :\n\t\t\t\t\tvalue.call( elems[ i ], i, fn( elems[ i ], key ) )\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( chainable ) {\n\t\treturn elems;\n\t}\n\n\t// Gets\n\tif ( bulk ) {\n\t\treturn fn.call( elems );\n\t}\n\n\treturn len ? fn( elems[ 0 ], key ) : emptyGet;\n};\n\n\n// Matches dashed string for camelizing\nvar rmsPrefix = /^-ms-/,\n\trdashAlpha = /-([a-z])/g;\n\n// Used by camelCase as callback to replace()\nfunction fcamelCase( all, letter ) {\n\treturn letter.toUpperCase();\n}\n\n// Convert dashed to camelCase; used by the css and data modules\n// Support: IE <=9 - 11, Edge 12 - 15\n// Microsoft forgot to hump their vendor prefix (#9572)\nfunction camelCase( string ) {\n\treturn string.replace( rmsPrefix, \"ms-\" ).replace( rdashAlpha, fcamelCase );\n}\nvar acceptData = function( owner ) {\n\n\t// Accepts only:\n\t// - Node\n\t// - Node.ELEMENT_NODE\n\t// - Node.DOCUMENT_NODE\n\t// - Object\n\t// - Any\n\treturn owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );\n};\n\n\n\n\nfunction Data() {\n\tthis.expando = jQuery.expando + Data.uid++;\n}\n\nData.uid = 1;\n\nData.prototype = {\n\n\tcache: function( owner ) {\n\n\t\t// Check if the owner object already has a cache\n\t\tvar value = owner[ this.expando ];\n\n\t\t// If not, create one\n\t\tif ( !value ) {\n\t\t\tvalue = {};\n\n\t\t\t// We can accept data for non-element nodes in modern browsers,\n\t\t\t// but we should not, see #8335.\n\t\t\t// Always return an empty object.\n\t\t\tif ( acceptData( owner ) ) {\n\n\t\t\t\t// If it is a node unlikely to be stringify-ed or looped over\n\t\t\t\t// use plain assignment\n\t\t\t\tif ( owner.nodeType ) {\n\t\t\t\t\towner[ this.expando ] = value;\n\n\t\t\t\t// Otherwise secure it in a non-enumerable property\n\t\t\t\t// configurable must be true to allow the property to be\n\t\t\t\t// deleted when data is removed\n\t\t\t\t} else {\n\t\t\t\t\tObject.defineProperty( owner, this.expando, {\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\tconfigurable: true\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn value;\n\t},\n\tset: function( owner, data, value ) {\n\t\tvar prop,\n\t\t\tcache = this.cache( owner );\n\n\t\t// Handle: [ owner, key, value ] args\n\t\t// Always use camelCase key (gh-2257)\n\t\tif ( typeof data === \"string\" ) {\n\t\t\tcache[ camelCase( data ) ] = value;\n\n\t\t// Handle: [ owner, { properties } ] args\n\t\t} else {\n\n\t\t\t// Copy the properties one-by-one to the cache object\n\t\t\tfor ( prop in data ) {\n\t\t\t\tcache[ camelCase( prop ) ] = data[ prop ];\n\t\t\t}\n\t\t}\n\t\treturn cache;\n\t},\n\tget: function( owner, key ) {\n\t\treturn key === undefined ?\n\t\t\tthis.cache( owner ) :\n\n\t\t\t// Always use camelCase key (gh-2257)\n\t\t\towner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ];\n\t},\n\taccess: function( owner, key, value ) {\n\n\t\t// In cases where either:\n\t\t//\n\t\t// 1. No key was specified\n\t\t// 2. A string key was specified, but no value provided\n\t\t//\n\t\t// Take the \"read\" path and allow the get method to determine\n\t\t// which value to return, respectively either:\n\t\t//\n\t\t// 1. The entire cache object\n\t\t// 2. The data stored at the key\n\t\t//\n\t\tif ( key === undefined ||\n\t\t\t\t( ( key && typeof key === \"string\" ) && value === undefined ) ) {\n\n\t\t\treturn this.get( owner, key );\n\t\t}\n\n\t\t// When the key is not a string, or both a key and value\n\t\t// are specified, set or extend (existing objects) with either:\n\t\t//\n\t\t// 1. An object of properties\n\t\t// 2. A key and value\n\t\t//\n\t\tthis.set( owner, key, value );\n\n\t\t// Since the \"set\" path can have two possible entry points\n\t\t// return the expected data based on which path was taken[*]\n\t\treturn value !== undefined ? value : key;\n\t},\n\tremove: function( owner, key ) {\n\t\tvar i,\n\t\t\tcache = owner[ this.expando ];\n\n\t\tif ( cache === undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( key !== undefined ) {\n\n\t\t\t// Support array or space separated string of keys\n\t\t\tif ( Array.isArray( key ) ) {\n\n\t\t\t\t// If key is an array of keys...\n\t\t\t\t// We always set camelCase keys, so remove that.\n\t\t\t\tkey = key.map( camelCase );\n\t\t\t} else {\n\t\t\t\tkey = camelCase( key );\n\n\t\t\t\t// If a key with the spaces exists, use it.\n\t\t\t\t// Otherwise, create an array by matching non-whitespace\n\t\t\t\tkey = key in cache ?\n\t\t\t\t\t[ key ] :\n\t\t\t\t\t( key.match( rnothtmlwhite ) || [] );\n\t\t\t}\n\n\t\t\ti = key.length;\n\n\t\t\twhile ( i-- ) {\n\t\t\t\tdelete cache[ key[ i ] ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove the expando if there's no more data\n\t\tif ( key === undefined || jQuery.isEmptyObject( cache ) ) {\n\n\t\t\t// Support: Chrome <=35 - 45\n\t\t\t// Webkit & Blink performance suffers when deleting properties\n\t\t\t// from DOM nodes, so set to undefined instead\n\t\t\t// https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)\n\t\t\tif ( owner.nodeType ) {\n\t\t\t\towner[ this.expando ] = undefined;\n\t\t\t} else {\n\t\t\t\tdelete owner[ this.expando ];\n\t\t\t}\n\t\t}\n\t},\n\thasData: function( owner ) {\n\t\tvar cache = owner[ this.expando ];\n\t\treturn cache !== undefined && !jQuery.isEmptyObject( cache );\n\t}\n};\nvar dataPriv = new Data();\n\nvar dataUser = new Data();\n\n\n\n//\tImplementation Summary\n//\n//\t1. Enforce API surface and semantic compatibility with 1.9.x branch\n//\t2. Improve the module's maintainability by reducing the storage\n//\t\tpaths to a single mechanism.\n//\t3. Use the same single mechanism to support \"private\" and \"user\" data.\n//\t4. _Never_ expose \"private\" data to user code (TODO: Drop _data, _removeData)\n//\t5. Avoid exposing implementation details on user objects (eg. expando properties)\n//\t6. Provide a clear path for implementation upgrade to WeakMap in 2014\n\nvar rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n\trmultiDash = /[A-Z]/g;\n\nfunction getData( data ) {\n\tif ( data === \"true\" ) {\n\t\treturn true;\n\t}\n\n\tif ( data === \"false\" ) {\n\t\treturn false;\n\t}\n\n\tif ( data === \"null\" ) {\n\t\treturn null;\n\t}\n\n\t// Only convert to a number if it doesn't change the string\n\tif ( data === +data + \"\" ) {\n\t\treturn +data;\n\t}\n\n\tif ( rbrace.test( data ) ) {\n\t\treturn JSON.parse( data );\n\t}\n\n\treturn data;\n}\n\nfunction dataAttr( elem, key, data ) {\n\tvar name;\n\n\t// If nothing was found internally, try to fetch any\n\t// data from the HTML5 data-* attribute\n\tif ( data === undefined && elem.nodeType === 1 ) {\n\t\tname = \"data-\" + key.replace( rmultiDash, \"-$&\" ).toLowerCase();\n\t\tdata = elem.getAttribute( name );\n\n\t\tif ( typeof data === \"string\" ) {\n\t\t\ttry {\n\t\t\t\tdata = getData( data );\n\t\t\t} catch ( e ) {}\n\n\t\t\t// Make sure we set the data so it isn't changed later\n\t\t\tdataUser.set( elem, key, data );\n\t\t} else {\n\t\t\tdata = undefined;\n\t\t}\n\t}\n\treturn data;\n}\n\njQuery.extend( {\n\thasData: function( elem ) {\n\t\treturn dataUser.hasData( elem ) || dataPriv.hasData( elem );\n\t},\n\n\tdata: function( elem, name, data ) {\n\t\treturn dataUser.access( elem, name, data );\n\t},\n\n\tremoveData: function( elem, name ) {\n\t\tdataUser.remove( elem, name );\n\t},\n\n\t// TODO: Now that all calls to _data and _removeData have been replaced\n\t// with direct calls to dataPriv methods, these can be deprecated.\n\t_data: function( elem, name, data ) {\n\t\treturn dataPriv.access( elem, name, data );\n\t},\n\n\t_removeData: function( elem, name ) {\n\t\tdataPriv.remove( elem, name );\n\t}\n} );\n\njQuery.fn.extend( {\n\tdata: function( key, value ) {\n\t\tvar i, name, data,\n\t\t\telem = this[ 0 ],\n\t\t\tattrs = elem && elem.attributes;\n\n\t\t// Gets all values\n\t\tif ( key === undefined ) {\n\t\t\tif ( this.length ) {\n\t\t\t\tdata = dataUser.get( elem );\n\n\t\t\t\tif ( elem.nodeType === 1 && !dataPriv.get( elem, \"hasDataAttrs\" ) ) {\n\t\t\t\t\ti = attrs.length;\n\t\t\t\t\twhile ( i-- ) {\n\n\t\t\t\t\t\t// Support: IE 11 only\n\t\t\t\t\t\t// The attrs elements can be null (#14894)\n\t\t\t\t\t\tif ( attrs[ i ] ) {\n\t\t\t\t\t\t\tname = attrs[ i ].name;\n\t\t\t\t\t\t\tif ( name.indexOf( \"data-\" ) === 0 ) {\n\t\t\t\t\t\t\t\tname = camelCase( name.slice( 5 ) );\n\t\t\t\t\t\t\t\tdataAttr( elem, name, data[ name ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tdataPriv.set( elem, \"hasDataAttrs\", true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\n\t\t// Sets multiple values\n\t\tif ( typeof key === \"object\" ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tdataUser.set( this, key );\n\t\t\t} );\n\t\t}\n\n\t\treturn access( this, function( value ) {\n\t\t\tvar data;\n\n\t\t\t// The calling jQuery object (element matches) is not empty\n\t\t\t// (and therefore has an element appears at this[ 0 ]) and the\n\t\t\t// `value` parameter was not undefined. An empty jQuery object\n\t\t\t// will result in `undefined` for elem = this[ 0 ] which will\n\t\t\t// throw an exception if an attempt to read a data cache is made.\n\t\t\tif ( elem && value === undefined ) {\n\n\t\t\t\t// Attempt to get data from the cache\n\t\t\t\t// The key will always be camelCased in Data\n\t\t\t\tdata = dataUser.get( elem, key );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// Attempt to \"discover\" the data in\n\t\t\t\t// HTML5 custom data-* attrs\n\t\t\t\tdata = dataAttr( elem, key );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// We tried really hard, but the data doesn't exist.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Set the data...\n\t\t\tthis.each( function() {\n\n\t\t\t\t// We always store the camelCased key\n\t\t\t\tdataUser.set( this, key, value );\n\t\t\t} );\n\t\t}, null, value, arguments.length > 1, null, true );\n\t},\n\n\tremoveData: function( key ) {\n\t\treturn this.each( function() {\n\t\t\tdataUser.remove( this, key );\n\t\t} );\n\t}\n} );\n\n\njQuery.extend( {\n\tqueue: function( elem, type, data ) {\n\t\tvar queue;\n\n\t\tif ( elem ) {\n\t\t\ttype = ( type || \"fx\" ) + \"queue\";\n\t\t\tqueue = dataPriv.get( elem, type );\n\n\t\t\t// Speed up dequeue by getting out quickly if this is just a lookup\n\t\t\tif ( data ) {\n\t\t\t\tif ( !queue || Array.isArray( data ) ) {\n\t\t\t\t\tqueue = dataPriv.access( elem, type, jQuery.makeArray( data ) );\n\t\t\t\t} else {\n\t\t\t\t\tqueue.push( data );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn queue || [];\n\t\t}\n\t},\n\n\tdequeue: function( elem, type ) {\n\t\ttype = type || \"fx\";\n\n\t\tvar queue = jQuery.queue( elem, type ),\n\t\t\tstartLength = queue.length,\n\t\t\tfn = queue.shift(),\n\t\t\thooks = jQuery._queueHooks( elem, type ),\n\t\t\tnext = function() {\n\t\t\t\tjQuery.dequeue( elem, type );\n\t\t\t};\n\n\t\t// If the fx queue is dequeued, always remove the progress sentinel\n\t\tif ( fn === \"inprogress\" ) {\n\t\t\tfn = queue.shift();\n\t\t\tstartLength--;\n\t\t}\n\n\t\tif ( fn ) {\n\n\t\t\t// Add a progress sentinel to prevent the fx queue from being\n\t\t\t// automatically dequeued\n\t\t\tif ( type === \"fx\" ) {\n\t\t\t\tqueue.unshift( \"inprogress\" );\n\t\t\t}\n\n\t\t\t// Clear up the last queue stop function\n\t\t\tdelete hooks.stop;\n\t\t\tfn.call( elem, next, hooks );\n\t\t}\n\n\t\tif ( !startLength && hooks ) {\n\t\t\thooks.empty.fire();\n\t\t}\n\t},\n\n\t// Not public - generate a queueHooks object, or return the current one\n\t_queueHooks: function( elem, type ) {\n\t\tvar key = type + \"queueHooks\";\n\t\treturn dataPriv.get( elem, key ) || dataPriv.access( elem, key, {\n\t\t\tempty: jQuery.Callbacks( \"once memory\" ).add( function() {\n\t\t\t\tdataPriv.remove( elem, [ type + \"queue\", key ] );\n\t\t\t} )\n\t\t} );\n\t}\n} );\n\njQuery.fn.extend( {\n\tqueue: function( type, data ) {\n\t\tvar setter = 2;\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tdata = type;\n\t\t\ttype = \"fx\";\n\t\t\tsetter--;\n\t\t}\n\n\t\tif ( arguments.length < setter ) {\n\t\t\treturn jQuery.queue( this[ 0 ], type );\n\t\t}\n\n\t\treturn data === undefined ?\n\t\t\tthis :\n\t\t\tthis.each( function() {\n\t\t\t\tvar queue = jQuery.queue( this, type, data );\n\n\t\t\t\t// Ensure a hooks for this queue\n\t\t\t\tjQuery._queueHooks( this, type );\n\n\t\t\t\tif ( type === \"fx\" && queue[ 0 ] !== \"inprogress\" ) {\n\t\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t\t}\n\t\t\t} );\n\t},\n\tdequeue: function( type ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.dequeue( this, type );\n\t\t} );\n\t},\n\tclearQueue: function( type ) {\n\t\treturn this.queue( type || \"fx\", [] );\n\t},\n\n\t// Get a promise resolved when queues of a certain type\n\t// are emptied (fx is the type by default)\n\tpromise: function( type, obj ) {\n\t\tvar tmp,\n\t\t\tcount = 1,\n\t\t\tdefer = jQuery.Deferred(),\n\t\t\telements = this,\n\t\t\ti = this.length,\n\t\t\tresolve = function() {\n\t\t\t\tif ( !( --count ) ) {\n\t\t\t\t\tdefer.resolveWith( elements, [ elements ] );\n\t\t\t\t}\n\t\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tobj = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\ttype = type || \"fx\";\n\n\t\twhile ( i-- ) {\n\t\t\ttmp = dataPriv.get( elements[ i ], type + \"queueHooks\" );\n\t\t\tif ( tmp && tmp.empty ) {\n\t\t\t\tcount++;\n\t\t\t\ttmp.empty.add( resolve );\n\t\t\t}\n\t\t}\n\t\tresolve();\n\t\treturn defer.promise( obj );\n\t}\n} );\nvar pnum = ( /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/ ).source;\n\nvar rcssNum = new RegExp( \"^(?:([+-])=|)(\" + pnum + \")([a-z%]*)$\", \"i\" );\n\n\nvar cssExpand = [ \"Top\", \"Right\", \"Bottom\", \"Left\" ];\n\nvar documentElement = document.documentElement;\n\n\n\n\tvar isAttached = function( elem ) {\n\t\t\treturn jQuery.contains( elem.ownerDocument, elem );\n\t\t},\n\t\tcomposed = { composed: true };\n\n\t// Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only\n\t// Check attachment across shadow DOM boundaries when possible (gh-3504)\n\t// Support: iOS 10.0-10.2 only\n\t// Early iOS 10 versions support `attachShadow` but not `getRootNode`,\n\t// leading to errors. We need to check for `getRootNode`.\n\tif ( documentElement.getRootNode ) {\n\t\tisAttached = function( elem ) {\n\t\t\treturn jQuery.contains( elem.ownerDocument, elem ) ||\n\t\t\t\telem.getRootNode( composed ) === elem.ownerDocument;\n\t\t};\n\t}\nvar isHiddenWithinTree = function( elem, el ) {\n\n\t\t// isHiddenWithinTree might be called from jQuery#filter function;\n\t\t// in that case, element will be second argument\n\t\telem = el || elem;\n\n\t\t// Inline style trumps all\n\t\treturn elem.style.display === \"none\" ||\n\t\t\telem.style.display === \"\" &&\n\n\t\t\t// Otherwise, check computed style\n\t\t\t// Support: Firefox <=43 - 45\n\t\t\t// Disconnected elements can have computed display: none, so first confirm that elem is\n\t\t\t// in the document.\n\t\t\tisAttached( elem ) &&\n\n\t\t\tjQuery.css( elem, \"display\" ) === \"none\";\n\t};\n\nvar swap = function( elem, options, callback, args ) {\n\tvar ret, name,\n\t\told = {};\n\n\t// Remember the old values, and insert the new ones\n\tfor ( name in options ) {\n\t\told[ name ] = elem.style[ name ];\n\t\telem.style[ name ] = options[ name ];\n\t}\n\n\tret = callback.apply( elem, args || [] );\n\n\t// Revert the old values\n\tfor ( name in options ) {\n\t\telem.style[ name ] = old[ name ];\n\t}\n\n\treturn ret;\n};\n\n\n\n\nfunction adjustCSS( elem, prop, valueParts, tween ) {\n\tvar adjusted, scale,\n\t\tmaxIterations = 20,\n\t\tcurrentValue = tween ?\n\t\t\tfunction() {\n\t\t\t\treturn tween.cur();\n\t\t\t} :\n\t\t\tfunction() {\n\t\t\t\treturn jQuery.css( elem, prop, \"\" );\n\t\t\t},\n\t\tinitial = currentValue(),\n\t\tunit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" ),\n\n\t\t// Starting value computation is required for potential unit mismatches\n\t\tinitialInUnit = elem.nodeType &&\n\t\t\t( jQuery.cssNumber[ prop ] || unit !== \"px\" && +initial ) &&\n\t\t\trcssNum.exec( jQuery.css( elem, prop ) );\n\n\tif ( initialInUnit && initialInUnit[ 3 ] !== unit ) {\n\n\t\t// Support: Firefox <=54\n\t\t// Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)\n\t\tinitial = initial / 2;\n\n\t\t// Trust units reported by jQuery.css\n\t\tunit = unit || initialInUnit[ 3 ];\n\n\t\t// Iteratively approximate from a nonzero starting point\n\t\tinitialInUnit = +initial || 1;\n\n\t\twhile ( maxIterations-- ) {\n\n\t\t\t// Evaluate and update our best guess (doubling guesses that zero out).\n\t\t\t// Finish if the scale equals or crosses 1 (making the old*new product non-positive).\n\t\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\t\t\tif ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) {\n\t\t\t\tmaxIterations = 0;\n\t\t\t}\n\t\t\tinitialInUnit = initialInUnit / scale;\n\n\t\t}\n\n\t\tinitialInUnit = initialInUnit * 2;\n\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\n\t\t// Make sure we update the tween properties later on\n\t\tvalueParts = valueParts || [];\n\t}\n\n\tif ( valueParts ) {\n\t\tinitialInUnit = +initialInUnit || +initial || 0;\n\n\t\t// Apply relative offset (+=/-=) if specified\n\t\tadjusted = valueParts[ 1 ] ?\n\t\t\tinitialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :\n\t\t\t+valueParts[ 2 ];\n\t\tif ( tween ) {\n\t\t\ttween.unit = unit;\n\t\t\ttween.start = initialInUnit;\n\t\t\ttween.end = adjusted;\n\t\t}\n\t}\n\treturn adjusted;\n}\n\n\nvar defaultDisplayMap = {};\n\nfunction getDefaultDisplay( elem ) {\n\tvar temp,\n\t\tdoc = elem.ownerDocument,\n\t\tnodeName = elem.nodeName,\n\t\tdisplay = defaultDisplayMap[ nodeName ];\n\n\tif ( display ) {\n\t\treturn display;\n\t}\n\n\ttemp = doc.body.appendChild( doc.createElement( nodeName ) );\n\tdisplay = jQuery.css( temp, \"display\" );\n\n\ttemp.parentNode.removeChild( temp );\n\n\tif ( display === \"none\" ) {\n\t\tdisplay = \"block\";\n\t}\n\tdefaultDisplayMap[ nodeName ] = display;\n\n\treturn display;\n}\n\nfunction showHide( elements, show ) {\n\tvar display, elem,\n\t\tvalues = [],\n\t\tindex = 0,\n\t\tlength = elements.length;\n\n\t// Determine new display value for elements that need to change\n\tfor ( ; index < length; index++ ) {\n\t\telem = elements[ index ];\n\t\tif ( !elem.style ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tdisplay = elem.style.display;\n\t\tif ( show ) {\n\n\t\t\t// Since we force visibility upon cascade-hidden elements, an immediate (and slow)\n\t\t\t// check is required in this first loop unless we have a nonempty display value (either\n\t\t\t// inline or about-to-be-restored)\n\t\t\tif ( display === \"none\" ) {\n\t\t\t\tvalues[ index ] = dataPriv.get( elem, \"display\" ) || null;\n\t\t\t\tif ( !values[ index ] ) {\n\t\t\t\t\telem.style.display = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( elem.style.display === \"\" && isHiddenWithinTree( elem ) ) {\n\t\t\t\tvalues[ index ] = getDefaultDisplay( elem );\n\t\t\t}\n\t\t} else {\n\t\t\tif ( display !== \"none\" ) {\n\t\t\t\tvalues[ index ] = \"none\";\n\n\t\t\t\t// Remember what we're overwriting\n\t\t\t\tdataPriv.set( elem, \"display\", display );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Set the display of the elements in a second loop to avoid constant reflow\n\tfor ( index = 0; index < length; index++ ) {\n\t\tif ( values[ index ] != null ) {\n\t\t\telements[ index ].style.display = values[ index ];\n\t\t}\n\t}\n\n\treturn elements;\n}\n\njQuery.fn.extend( {\n\tshow: function() {\n\t\treturn showHide( this, true );\n\t},\n\thide: function() {\n\t\treturn showHide( this );\n\t},\n\ttoggle: function( state ) {\n\t\tif ( typeof state === \"boolean\" ) {\n\t\t\treturn state ? this.show() : this.hide();\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tif ( isHiddenWithinTree( this ) ) {\n\t\t\t\tjQuery( this ).show();\n\t\t\t} else {\n\t\t\t\tjQuery( this ).hide();\n\t\t\t}\n\t\t} );\n\t}\n} );\nvar rcheckableType = ( /^(?:checkbox|radio)$/i );\n\nvar rtagName = ( /<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)/i );\n\nvar rscriptType = ( /^$|^module$|\\/(?:java|ecma)script/i );\n\n\n\n// We have to close these tags to support XHTML (#13200)\nvar wrapMap = {\n\n\t// Support: IE <=9 only\n\toption: [ 1, \"\", \" \" ],\n\n\t// XHTML parsers do not magically insert elements in the\n\t// same way that tag soup parsers do. So we cannot shorten\n\t// this by omitting or other required elements.\n\tthead: [ 1, \"\" ],\n\tcol: [ 2, \"\" ],\n\ttr: [ 2, \"\" ],\n\ttd: [ 3, \"\" ],\n\n\t_default: [ 0, \"\", \"\" ]\n};\n\n// Support: IE <=9 only\nwrapMap.optgroup = wrapMap.option;\n\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\nwrapMap.th = wrapMap.td;\n\n\nfunction getAll( context, tag ) {\n\n\t// Support: IE <=9 - 11 only\n\t// Use typeof to avoid zero-argument method invocation on host objects (#15151)\n\tvar ret;\n\n\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\tret = context.getElementsByTagName( tag || \"*\" );\n\n\t} else if ( typeof context.querySelectorAll !== \"undefined\" ) {\n\t\tret = context.querySelectorAll( tag || \"*\" );\n\n\t} else {\n\t\tret = [];\n\t}\n\n\tif ( tag === undefined || tag && nodeName( context, tag ) ) {\n\t\treturn jQuery.merge( [ context ], ret );\n\t}\n\n\treturn ret;\n}\n\n\n// Mark scripts as having already been evaluated\nfunction setGlobalEval( elems, refElements ) {\n\tvar i = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\tdataPriv.set(\n\t\t\telems[ i ],\n\t\t\t\"globalEval\",\n\t\t\t!refElements || dataPriv.get( refElements[ i ], \"globalEval\" )\n\t\t);\n\t}\n}\n\n\nvar rhtml = /<|?\\w+;/;\n\nfunction buildFragment( elems, context, scripts, selection, ignored ) {\n\tvar elem, tmp, tag, wrap, attached, j,\n\t\tfragment = context.createDocumentFragment(),\n\t\tnodes = [],\n\t\ti = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\telem = elems[ i ];\n\n\t\tif ( elem || elem === 0 ) {\n\n\t\t\t// Add nodes directly\n\t\t\tif ( toType( elem ) === \"object\" ) {\n\n\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );\n\n\t\t\t// Convert non-html into a text node\n\t\t\t} else if ( !rhtml.test( elem ) ) {\n\t\t\t\tnodes.push( context.createTextNode( elem ) );\n\n\t\t\t// Convert html into DOM nodes\n\t\t\t} else {\n\t\t\t\ttmp = tmp || fragment.appendChild( context.createElement( \"div\" ) );\n\n\t\t\t\t// Deserialize a standard representation\n\t\t\t\ttag = ( rtagName.exec( elem ) || [ \"\", \"\" ] )[ 1 ].toLowerCase();\n\t\t\t\twrap = wrapMap[ tag ] || wrapMap._default;\n\t\t\t\ttmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];\n\n\t\t\t\t// Descend through wrappers to the right content\n\t\t\t\tj = wrap[ 0 ];\n\t\t\t\twhile ( j-- ) {\n\t\t\t\t\ttmp = tmp.lastChild;\n\t\t\t\t}\n\n\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, tmp.childNodes );\n\n\t\t\t\t// Remember the top-level container\n\t\t\t\ttmp = fragment.firstChild;\n\n\t\t\t\t// Ensure the created nodes are orphaned (#12392)\n\t\t\t\ttmp.textContent = \"\";\n\t\t\t}\n\t\t}\n\t}\n\n\t// Remove wrapper from fragment\n\tfragment.textContent = \"\";\n\n\ti = 0;\n\twhile ( ( elem = nodes[ i++ ] ) ) {\n\n\t\t// Skip elements already in the context collection (trac-4087)\n\t\tif ( selection && jQuery.inArray( elem, selection ) > -1 ) {\n\t\t\tif ( ignored ) {\n\t\t\t\tignored.push( elem );\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tattached = isAttached( elem );\n\n\t\t// Append to fragment\n\t\ttmp = getAll( fragment.appendChild( elem ), \"script\" );\n\n\t\t// Preserve script evaluation history\n\t\tif ( attached ) {\n\t\t\tsetGlobalEval( tmp );\n\t\t}\n\n\t\t// Capture executables\n\t\tif ( scripts ) {\n\t\t\tj = 0;\n\t\t\twhile ( ( elem = tmp[ j++ ] ) ) {\n\t\t\t\tif ( rscriptType.test( elem.type || \"\" ) ) {\n\t\t\t\t\tscripts.push( elem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn fragment;\n}\n\n\n( function() {\n\tvar fragment = document.createDocumentFragment(),\n\t\tdiv = fragment.appendChild( document.createElement( \"div\" ) ),\n\t\tinput = document.createElement( \"input\" );\n\n\t// Support: Android 4.0 - 4.3 only\n\t// Check state lost if the name is set (#11217)\n\t// Support: Windows Web Apps (WWA)\n\t// `name` and `type` must use .setAttribute for WWA (#14901)\n\tinput.setAttribute( \"type\", \"radio\" );\n\tinput.setAttribute( \"checked\", \"checked\" );\n\tinput.setAttribute( \"name\", \"t\" );\n\n\tdiv.appendChild( input );\n\n\t// Support: Android <=4.1 only\n\t// Older WebKit doesn't clone checked state correctly in fragments\n\tsupport.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;\n\n\t// Support: IE <=11 only\n\t// Make sure textarea (and checkbox) defaultValue is properly cloned\n\tdiv.innerHTML = \"\";\n\tsupport.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;\n} )();\n\n\nvar\n\trkeyEvent = /^key/,\n\trmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,\n\trtypenamespace = /^([^.]*)(?:\\.(.+)|)/;\n\nfunction returnTrue() {\n\treturn true;\n}\n\nfunction returnFalse() {\n\treturn false;\n}\n\n// Support: IE <=9 - 11+\n// focus() and blur() are asynchronous, except when they are no-op.\n// So expect focus to be synchronous when the element is already active,\n// and blur to be synchronous when the element is not already active.\n// (focus and blur are always synchronous in other supported browsers,\n// this just defines when we can count on it).\nfunction expectSync( elem, type ) {\n\treturn ( elem === safeActiveElement() ) === ( type === \"focus\" );\n}\n\n// Support: IE <=9 only\n// Accessing document.activeElement can throw unexpectedly\n// https://bugs.jquery.com/ticket/13393\nfunction safeActiveElement() {\n\ttry {\n\t\treturn document.activeElement;\n\t} catch ( err ) { }\n}\n\nfunction on( elem, types, selector, data, fn, one ) {\n\tvar origFn, type;\n\n\t// Types can be a map of types/handlers\n\tif ( typeof types === \"object\" ) {\n\n\t\t// ( types-Object, selector, data )\n\t\tif ( typeof selector !== \"string\" ) {\n\n\t\t\t// ( types-Object, data )\n\t\t\tdata = data || selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tfor ( type in types ) {\n\t\t\ton( elem, type, selector, data, types[ type ], one );\n\t\t}\n\t\treturn elem;\n\t}\n\n\tif ( data == null && fn == null ) {\n\n\t\t// ( types, fn )\n\t\tfn = selector;\n\t\tdata = selector = undefined;\n\t} else if ( fn == null ) {\n\t\tif ( typeof selector === \"string\" ) {\n\n\t\t\t// ( types, selector, fn )\n\t\t\tfn = data;\n\t\t\tdata = undefined;\n\t\t} else {\n\n\t\t\t// ( types, data, fn )\n\t\t\tfn = data;\n\t\t\tdata = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t}\n\tif ( fn === false ) {\n\t\tfn = returnFalse;\n\t} else if ( !fn ) {\n\t\treturn elem;\n\t}\n\n\tif ( one === 1 ) {\n\t\torigFn = fn;\n\t\tfn = function( event ) {\n\n\t\t\t// Can use an empty set, since event contains the info\n\t\t\tjQuery().off( event );\n\t\t\treturn origFn.apply( this, arguments );\n\t\t};\n\n\t\t// Use same guid so caller can remove using origFn\n\t\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\n\t}\n\treturn elem.each( function() {\n\t\tjQuery.event.add( this, types, fn, data, selector );\n\t} );\n}\n\n/*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards' addEvent library for many of the ideas.\n */\njQuery.event = {\n\n\tglobal: {},\n\n\tadd: function( elem, types, handler, data, selector ) {\n\n\t\tvar handleObjIn, eventHandle, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.get( elem );\n\n\t\t// Don't attach events to noData or text/comment nodes (but allow plain objects)\n\t\tif ( !elemData ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Caller can pass in an object of custom data in lieu of the handler\n\t\tif ( handler.handler ) {\n\t\t\thandleObjIn = handler;\n\t\t\thandler = handleObjIn.handler;\n\t\t\tselector = handleObjIn.selector;\n\t\t}\n\n\t\t// Ensure that invalid selectors throw exceptions at attach time\n\t\t// Evaluate against documentElement in case elem is a non-element node (e.g., document)\n\t\tif ( selector ) {\n\t\t\tjQuery.find.matchesSelector( documentElement, selector );\n\t\t}\n\n\t\t// Make sure that the handler has a unique ID, used to find/remove it later\n\t\tif ( !handler.guid ) {\n\t\t\thandler.guid = jQuery.guid++;\n\t\t}\n\n\t\t// Init the element's event structure and main handler, if this is the first\n\t\tif ( !( events = elemData.events ) ) {\n\t\t\tevents = elemData.events = {};\n\t\t}\n\t\tif ( !( eventHandle = elemData.handle ) ) {\n\t\t\teventHandle = elemData.handle = function( e ) {\n\n\t\t\t\t// Discard the second event of a jQuery.event.trigger() and\n\t\t\t\t// when an event is called after a page has unloaded\n\t\t\t\treturn typeof jQuery !== \"undefined\" && jQuery.event.triggered !== e.type ?\n\t\t\t\t\tjQuery.event.dispatch.apply( elem, arguments ) : undefined;\n\t\t\t};\n\t\t}\n\n\t\t// Handle multiple events separated by a space\n\t\ttypes = ( types || \"\" ).match( rnothtmlwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// There *must* be a type, no attaching namespace-only handlers\n\t\t\tif ( !type ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If event changes its type, use the special event handlers for the changed type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// If selector defined, determine special event api type, otherwise given type\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\n\t\t\t// Update special based on newly reset type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// handleObj is passed to all event handlers\n\t\t\thandleObj = jQuery.extend( {\n\t\t\t\ttype: type,\n\t\t\t\torigType: origType,\n\t\t\t\tdata: data,\n\t\t\t\thandler: handler,\n\t\t\t\tguid: handler.guid,\n\t\t\t\tselector: selector,\n\t\t\t\tneedsContext: selector && jQuery.expr.match.needsContext.test( selector ),\n\t\t\t\tnamespace: namespaces.join( \".\" )\n\t\t\t}, handleObjIn );\n\n\t\t\t// Init the event handler queue if we're the first\n\t\t\tif ( !( handlers = events[ type ] ) ) {\n\t\t\t\thandlers = events[ type ] = [];\n\t\t\t\thandlers.delegateCount = 0;\n\n\t\t\t\t// Only use addEventListener if the special events handler returns false\n\t\t\t\tif ( !special.setup ||\n\t\t\t\t\tspecial.setup.call( elem, data, namespaces, eventHandle ) === false ) {\n\n\t\t\t\t\tif ( elem.addEventListener ) {\n\t\t\t\t\t\telem.addEventListener( type, eventHandle );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( special.add ) {\n\t\t\t\tspecial.add.call( elem, handleObj );\n\n\t\t\t\tif ( !handleObj.handler.guid ) {\n\t\t\t\t\thandleObj.handler.guid = handler.guid;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add to the element's handler list, delegates in front\n\t\t\tif ( selector ) {\n\t\t\t\thandlers.splice( handlers.delegateCount++, 0, handleObj );\n\t\t\t} else {\n\t\t\t\thandlers.push( handleObj );\n\t\t\t}\n\n\t\t\t// Keep track of which events have ever been used, for event optimization\n\t\t\tjQuery.event.global[ type ] = true;\n\t\t}\n\n\t},\n\n\t// Detach an event or set of events from an element\n\tremove: function( elem, types, handler, selector, mappedTypes ) {\n\n\t\tvar j, origCount, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.hasData( elem ) && dataPriv.get( elem );\n\n\t\tif ( !elemData || !( events = elemData.events ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Once for each type.namespace in types; type may be omitted\n\t\ttypes = ( types || \"\" ).match( rnothtmlwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// Unbind all events (on this namespace, if provided) for the element\n\t\t\tif ( !type ) {\n\t\t\t\tfor ( type in events ) {\n\t\t\t\t\tjQuery.event.remove( elem, type + types[ t ], handler, selector, true );\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\t\t\thandlers = events[ type ] || [];\n\t\t\ttmp = tmp[ 2 ] &&\n\t\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" );\n\n\t\t\t// Remove matching events\n\t\t\torigCount = j = handlers.length;\n\t\t\twhile ( j-- ) {\n\t\t\t\thandleObj = handlers[ j ];\n\n\t\t\t\tif ( ( mappedTypes || origType === handleObj.origType ) &&\n\t\t\t\t\t( !handler || handler.guid === handleObj.guid ) &&\n\t\t\t\t\t( !tmp || tmp.test( handleObj.namespace ) ) &&\n\t\t\t\t\t( !selector || selector === handleObj.selector ||\n\t\t\t\t\t\tselector === \"**\" && handleObj.selector ) ) {\n\t\t\t\t\thandlers.splice( j, 1 );\n\n\t\t\t\t\tif ( handleObj.selector ) {\n\t\t\t\t\t\thandlers.delegateCount--;\n\t\t\t\t\t}\n\t\t\t\t\tif ( special.remove ) {\n\t\t\t\t\t\tspecial.remove.call( elem, handleObj );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove generic event handler if we removed something and no more handlers exist\n\t\t\t// (avoids potential for endless recursion during removal of special event handlers)\n\t\t\tif ( origCount && !handlers.length ) {\n\t\t\t\tif ( !special.teardown ||\n\t\t\t\t\tspecial.teardown.call( elem, namespaces, elemData.handle ) === false ) {\n\n\t\t\t\t\tjQuery.removeEvent( elem, type, elemData.handle );\n\t\t\t\t}\n\n\t\t\t\tdelete events[ type ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove data and the expando if it's no longer used\n\t\tif ( jQuery.isEmptyObject( events ) ) {\n\t\t\tdataPriv.remove( elem, \"handle events\" );\n\t\t}\n\t},\n\n\tdispatch: function( nativeEvent ) {\n\n\t\t// Make a writable jQuery.Event from the native event object\n\t\tvar event = jQuery.event.fix( nativeEvent );\n\n\t\tvar i, j, ret, matched, handleObj, handlerQueue,\n\t\t\targs = new Array( arguments.length ),\n\t\t\thandlers = ( dataPriv.get( this, \"events\" ) || {} )[ event.type ] || [],\n\t\t\tspecial = jQuery.event.special[ event.type ] || {};\n\n\t\t// Use the fix-ed jQuery.Event rather than the (read-only) native event\n\t\targs[ 0 ] = event;\n\n\t\tfor ( i = 1; i < arguments.length; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tevent.delegateTarget = this;\n\n\t\t// Call the preDispatch hook for the mapped type, and let it bail if desired\n\t\tif ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine handlers\n\t\thandlerQueue = jQuery.event.handlers.call( this, event, handlers );\n\n\t\t// Run delegates first; they may want to stop propagation beneath us\n\t\ti = 0;\n\t\twhile ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {\n\t\t\tevent.currentTarget = matched.elem;\n\n\t\t\tj = 0;\n\t\t\twhile ( ( handleObj = matched.handlers[ j++ ] ) &&\n\t\t\t\t!event.isImmediatePropagationStopped() ) {\n\n\t\t\t\t// If the event is namespaced, then each handler is only invoked if it is\n\t\t\t\t// specially universal or its namespaces are a superset of the event's.\n\t\t\t\tif ( !event.rnamespace || handleObj.namespace === false ||\n\t\t\t\t\tevent.rnamespace.test( handleObj.namespace ) ) {\n\n\t\t\t\t\tevent.handleObj = handleObj;\n\t\t\t\t\tevent.data = handleObj.data;\n\n\t\t\t\t\tret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||\n\t\t\t\t\t\thandleObj.handler ).apply( matched.elem, args );\n\n\t\t\t\t\tif ( ret !== undefined ) {\n\t\t\t\t\t\tif ( ( event.result = ret ) === false ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Call the postDispatch hook for the mapped type\n\t\tif ( special.postDispatch ) {\n\t\t\tspecial.postDispatch.call( this, event );\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\thandlers: function( event, handlers ) {\n\t\tvar i, handleObj, sel, matchedHandlers, matchedSelectors,\n\t\t\thandlerQueue = [],\n\t\t\tdelegateCount = handlers.delegateCount,\n\t\t\tcur = event.target;\n\n\t\t// Find delegate handlers\n\t\tif ( delegateCount &&\n\n\t\t\t// Support: IE <=9\n\t\t\t// Black-hole SVG instance trees (trac-13180)\n\t\t\tcur.nodeType &&\n\n\t\t\t// Support: Firefox <=42\n\t\t\t// Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)\n\t\t\t// https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click\n\t\t\t// Support: IE 11 only\n\t\t\t// ...but not arrow key \"clicks\" of radio inputs, which can have `button` -1 (gh-2343)\n\t\t\t!( event.type === \"click\" && event.button >= 1 ) ) {\n\n\t\t\tfor ( ; cur !== this; cur = cur.parentNode || this ) {\n\n\t\t\t\t// Don't check non-elements (#13208)\n\t\t\t\t// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)\n\t\t\t\tif ( cur.nodeType === 1 && !( event.type === \"click\" && cur.disabled === true ) ) {\n\t\t\t\t\tmatchedHandlers = [];\n\t\t\t\t\tmatchedSelectors = {};\n\t\t\t\t\tfor ( i = 0; i < delegateCount; i++ ) {\n\t\t\t\t\t\thandleObj = handlers[ i ];\n\n\t\t\t\t\t\t// Don't conflict with Object.prototype properties (#13203)\n\t\t\t\t\t\tsel = handleObj.selector + \" \";\n\n\t\t\t\t\t\tif ( matchedSelectors[ sel ] === undefined ) {\n\t\t\t\t\t\t\tmatchedSelectors[ sel ] = handleObj.needsContext ?\n\t\t\t\t\t\t\t\tjQuery( sel, this ).index( cur ) > -1 :\n\t\t\t\t\t\t\t\tjQuery.find( sel, this, null, [ cur ] ).length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( matchedSelectors[ sel ] ) {\n\t\t\t\t\t\t\tmatchedHandlers.push( handleObj );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( matchedHandlers.length ) {\n\t\t\t\t\t\thandlerQueue.push( { elem: cur, handlers: matchedHandlers } );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Add the remaining (directly-bound) handlers\n\t\tcur = this;\n\t\tif ( delegateCount < handlers.length ) {\n\t\t\thandlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );\n\t\t}\n\n\t\treturn handlerQueue;\n\t},\n\n\taddProp: function( name, hook ) {\n\t\tObject.defineProperty( jQuery.Event.prototype, name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\n\t\t\tget: isFunction( hook ) ?\n\t\t\t\tfunction() {\n\t\t\t\t\tif ( this.originalEvent ) {\n\t\t\t\t\t\t\treturn hook( this.originalEvent );\n\t\t\t\t\t}\n\t\t\t\t} :\n\t\t\t\tfunction() {\n\t\t\t\t\tif ( this.originalEvent ) {\n\t\t\t\t\t\t\treturn this.originalEvent[ name ];\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\tset: function( value ) {\n\t\t\t\tObject.defineProperty( this, name, {\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tconfigurable: true,\n\t\t\t\t\twritable: true,\n\t\t\t\t\tvalue: value\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t},\n\n\tfix: function( originalEvent ) {\n\t\treturn originalEvent[ jQuery.expando ] ?\n\t\t\toriginalEvent :\n\t\t\tnew jQuery.Event( originalEvent );\n\t},\n\n\tspecial: {\n\t\tload: {\n\n\t\t\t// Prevent triggered image.load events from bubbling to window.load\n\t\t\tnoBubble: true\n\t\t},\n\t\tclick: {\n\n\t\t\t// Utilize native event to ensure correct state for checkable inputs\n\t\t\tsetup: function( data ) {\n\n\t\t\t\t// For mutual compressibility with _default, replace `this` access with a local var.\n\t\t\t\t// `|| data` is dead code meant only to preserve the variable through minification.\n\t\t\t\tvar el = this || data;\n\n\t\t\t\t// Claim the first handler\n\t\t\t\tif ( rcheckableType.test( el.type ) &&\n\t\t\t\t\tel.click && nodeName( el, \"input\" ) ) {\n\n\t\t\t\t\t// dataPriv.set( el, \"click\", ... )\n\t\t\t\t\tleverageNative( el, \"click\", returnTrue );\n\t\t\t\t}\n\n\t\t\t\t// Return false to allow normal processing in the caller\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\ttrigger: function( data ) {\n\n\t\t\t\t// For mutual compressibility with _default, replace `this` access with a local var.\n\t\t\t\t// `|| data` is dead code meant only to preserve the variable through minification.\n\t\t\t\tvar el = this || data;\n\n\t\t\t\t// Force setup before triggering a click\n\t\t\t\tif ( rcheckableType.test( el.type ) &&\n\t\t\t\t\tel.click && nodeName( el, \"input\" ) ) {\n\n\t\t\t\t\tleverageNative( el, \"click\" );\n\t\t\t\t}\n\n\t\t\t\t// Return non-false to allow normal event-path propagation\n\t\t\t\treturn true;\n\t\t\t},\n\n\t\t\t// For cross-browser consistency, suppress native .click() on links\n\t\t\t// Also prevent it if we're currently inside a leveraged native-event stack\n\t\t\t_default: function( event ) {\n\t\t\t\tvar target = event.target;\n\t\t\t\treturn rcheckableType.test( target.type ) &&\n\t\t\t\t\ttarget.click && nodeName( target, \"input\" ) &&\n\t\t\t\t\tdataPriv.get( target, \"click\" ) ||\n\t\t\t\t\tnodeName( target, \"a\" );\n\t\t\t}\n\t\t},\n\n\t\tbeforeunload: {\n\t\t\tpostDispatch: function( event ) {\n\n\t\t\t\t// Support: Firefox 20+\n\t\t\t\t// Firefox doesn't alert if the returnValue field is not set.\n\t\t\t\tif ( event.result !== undefined && event.originalEvent ) {\n\t\t\t\t\tevent.originalEvent.returnValue = event.result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Ensure the presence of an event listener that handles manually-triggered\n// synthetic events by interrupting progress until reinvoked in response to\n// *native* events that it fires directly, ensuring that state changes have\n// already occurred before other listeners are invoked.\nfunction leverageNative( el, type, expectSync ) {\n\n\t// Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add\n\tif ( !expectSync ) {\n\t\tif ( dataPriv.get( el, type ) === undefined ) {\n\t\t\tjQuery.event.add( el, type, returnTrue );\n\t\t}\n\t\treturn;\n\t}\n\n\t// Register the controller as a special universal handler for all event namespaces\n\tdataPriv.set( el, type, false );\n\tjQuery.event.add( el, type, {\n\t\tnamespace: false,\n\t\thandler: function( event ) {\n\t\t\tvar notAsync, result,\n\t\t\t\tsaved = dataPriv.get( this, type );\n\n\t\t\tif ( ( event.isTrigger & 1 ) && this[ type ] ) {\n\n\t\t\t\t// Interrupt processing of the outer synthetic .trigger()ed event\n\t\t\t\t// Saved data should be false in such cases, but might be a leftover capture object\n\t\t\t\t// from an async native handler (gh-4350)\n\t\t\t\tif ( !saved.length ) {\n\n\t\t\t\t\t// Store arguments for use when handling the inner native event\n\t\t\t\t\t// There will always be at least one argument (an event object), so this array\n\t\t\t\t\t// will not be confused with a leftover capture object.\n\t\t\t\t\tsaved = slice.call( arguments );\n\t\t\t\t\tdataPriv.set( this, type, saved );\n\n\t\t\t\t\t// Trigger the native event and capture its result\n\t\t\t\t\t// Support: IE <=9 - 11+\n\t\t\t\t\t// focus() and blur() are asynchronous\n\t\t\t\t\tnotAsync = expectSync( this, type );\n\t\t\t\t\tthis[ type ]();\n\t\t\t\t\tresult = dataPriv.get( this, type );\n\t\t\t\t\tif ( saved !== result || notAsync ) {\n\t\t\t\t\t\tdataPriv.set( this, type, false );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult = {};\n\t\t\t\t\t}\n\t\t\t\t\tif ( saved !== result ) {\n\n\t\t\t\t\t\t// Cancel the outer synthetic event\n\t\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\treturn result.value;\n\t\t\t\t\t}\n\n\t\t\t\t// If this is an inner synthetic event for an event with a bubbling surrogate\n\t\t\t\t// (focus or blur), assume that the surrogate already propagated from triggering the\n\t\t\t\t// native event and prevent that from happening again here.\n\t\t\t\t// This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the\n\t\t\t\t// bubbling surrogate propagates *after* the non-bubbling base), but that seems\n\t\t\t\t// less bad than duplication.\n\t\t\t\t} else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\n\t\t\t// If this is a native event triggered above, everything is now in order\n\t\t\t// Fire an inner synthetic event with the original arguments\n\t\t\t} else if ( saved.length ) {\n\n\t\t\t\t// ...and capture the result\n\t\t\t\tdataPriv.set( this, type, {\n\t\t\t\t\tvalue: jQuery.event.trigger(\n\n\t\t\t\t\t\t// Support: IE <=9 - 11+\n\t\t\t\t\t\t// Extend with the prototype to reset the above stopImmediatePropagation()\n\t\t\t\t\t\tjQuery.extend( saved[ 0 ], jQuery.Event.prototype ),\n\t\t\t\t\t\tsaved.slice( 1 ),\n\t\t\t\t\t\tthis\n\t\t\t\t\t)\n\t\t\t\t} );\n\n\t\t\t\t// Abort handling of the native event\n\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t}\n\t\t}\n\t} );\n}\n\njQuery.removeEvent = function( elem, type, handle ) {\n\n\t// This \"if\" is needed for plain objects\n\tif ( elem.removeEventListener ) {\n\t\telem.removeEventListener( type, handle );\n\t}\n};\n\njQuery.Event = function( src, props ) {\n\n\t// Allow instantiation without the 'new' keyword\n\tif ( !( this instanceof jQuery.Event ) ) {\n\t\treturn new jQuery.Event( src, props );\n\t}\n\n\t// Event object\n\tif ( src && src.type ) {\n\t\tthis.originalEvent = src;\n\t\tthis.type = src.type;\n\n\t\t// Events bubbling up the document may have been marked as prevented\n\t\t// by a handler lower down the tree; reflect the correct value.\n\t\tthis.isDefaultPrevented = src.defaultPrevented ||\n\t\t\t\tsrc.defaultPrevented === undefined &&\n\n\t\t\t\t// Support: Android <=2.3 only\n\t\t\t\tsrc.returnValue === false ?\n\t\t\treturnTrue :\n\t\t\treturnFalse;\n\n\t\t// Create target properties\n\t\t// Support: Safari <=6 - 7 only\n\t\t// Target should not be a text node (#504, #13143)\n\t\tthis.target = ( src.target && src.target.nodeType === 3 ) ?\n\t\t\tsrc.target.parentNode :\n\t\t\tsrc.target;\n\n\t\tthis.currentTarget = src.currentTarget;\n\t\tthis.relatedTarget = src.relatedTarget;\n\n\t// Event type\n\t} else {\n\t\tthis.type = src;\n\t}\n\n\t// Put explicitly provided properties onto the event object\n\tif ( props ) {\n\t\tjQuery.extend( this, props );\n\t}\n\n\t// Create a timestamp if incoming event doesn't have one\n\tthis.timeStamp = src && src.timeStamp || Date.now();\n\n\t// Mark it as fixed\n\tthis[ jQuery.expando ] = true;\n};\n\n// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\njQuery.Event.prototype = {\n\tconstructor: jQuery.Event,\n\tisDefaultPrevented: returnFalse,\n\tisPropagationStopped: returnFalse,\n\tisImmediatePropagationStopped: returnFalse,\n\tisSimulated: false,\n\n\tpreventDefault: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isDefaultPrevented = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.preventDefault();\n\t\t}\n\t},\n\tstopPropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isPropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopPropagation();\n\t\t}\n\t},\n\tstopImmediatePropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isImmediatePropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.stopPropagation();\n\t}\n};\n\n// Includes all common event props including KeyEvent and MouseEvent specific props\njQuery.each( {\n\taltKey: true,\n\tbubbles: true,\n\tcancelable: true,\n\tchangedTouches: true,\n\tctrlKey: true,\n\tdetail: true,\n\teventPhase: true,\n\tmetaKey: true,\n\tpageX: true,\n\tpageY: true,\n\tshiftKey: true,\n\tview: true,\n\t\"char\": true,\n\tcode: true,\n\tcharCode: true,\n\tkey: true,\n\tkeyCode: true,\n\tbutton: true,\n\tbuttons: true,\n\tclientX: true,\n\tclientY: true,\n\toffsetX: true,\n\toffsetY: true,\n\tpointerId: true,\n\tpointerType: true,\n\tscreenX: true,\n\tscreenY: true,\n\ttargetTouches: true,\n\ttoElement: true,\n\ttouches: true,\n\n\twhich: function( event ) {\n\t\tvar button = event.button;\n\n\t\t// Add which for key events\n\t\tif ( event.which == null && rkeyEvent.test( event.type ) ) {\n\t\t\treturn event.charCode != null ? event.charCode : event.keyCode;\n\t\t}\n\n\t\t// Add which for click: 1 === left; 2 === middle; 3 === right\n\t\tif ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) {\n\t\t\tif ( button & 1 ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\tif ( button & 2 ) {\n\t\t\t\treturn 3;\n\t\t\t}\n\n\t\t\tif ( button & 4 ) {\n\t\t\t\treturn 2;\n\t\t\t}\n\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn event.which;\n\t}\n}, jQuery.event.addProp );\n\njQuery.each( { focus: \"focusin\", blur: \"focusout\" }, function( type, delegateType ) {\n\tjQuery.event.special[ type ] = {\n\n\t\t// Utilize native event if possible so blur/focus sequence is correct\n\t\tsetup: function() {\n\n\t\t\t// Claim the first handler\n\t\t\t// dataPriv.set( this, \"focus\", ... )\n\t\t\t// dataPriv.set( this, \"blur\", ... )\n\t\t\tleverageNative( this, type, expectSync );\n\n\t\t\t// Return false to allow normal processing in the caller\n\t\t\treturn false;\n\t\t},\n\t\ttrigger: function() {\n\n\t\t\t// Force setup before trigger\n\t\t\tleverageNative( this, type );\n\n\t\t\t// Return non-false to allow normal event-path propagation\n\t\t\treturn true;\n\t\t},\n\n\t\tdelegateType: delegateType\n\t};\n} );\n\n// Create mouseenter/leave events using mouseover/out and event-time checks\n// so that event delegation works in jQuery.\n// Do the same for pointerenter/pointerleave and pointerover/pointerout\n//\n// Support: Safari 7 only\n// Safari sends mouseenter too often; see:\n// https://bugs.chromium.org/p/chromium/issues/detail?id=470258\n// for the description of the bug (it existed in older Chrome versions as well).\njQuery.each( {\n\tmouseenter: \"mouseover\",\n\tmouseleave: \"mouseout\",\n\tpointerenter: \"pointerover\",\n\tpointerleave: \"pointerout\"\n}, function( orig, fix ) {\n\tjQuery.event.special[ orig ] = {\n\t\tdelegateType: fix,\n\t\tbindType: fix,\n\n\t\thandle: function( event ) {\n\t\t\tvar ret,\n\t\t\t\ttarget = this,\n\t\t\t\trelated = event.relatedTarget,\n\t\t\t\thandleObj = event.handleObj;\n\n\t\t\t// For mouseenter/leave call the handler if related is outside the target.\n\t\t\t// NB: No relatedTarget if the mouse left/entered the browser window\n\t\t\tif ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {\n\t\t\t\tevent.type = handleObj.origType;\n\t\t\t\tret = handleObj.handler.apply( this, arguments );\n\t\t\t\tevent.type = fix;\n\t\t\t}\n\t\t\treturn ret;\n\t\t}\n\t};\n} );\n\njQuery.fn.extend( {\n\n\ton: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn );\n\t},\n\tone: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn, 1 );\n\t},\n\toff: function( types, selector, fn ) {\n\t\tvar handleObj, type;\n\t\tif ( types && types.preventDefault && types.handleObj ) {\n\n\t\t\t// ( event ) dispatched jQuery.Event\n\t\t\thandleObj = types.handleObj;\n\t\t\tjQuery( types.delegateTarget ).off(\n\t\t\t\thandleObj.namespace ?\n\t\t\t\t\thandleObj.origType + \".\" + handleObj.namespace :\n\t\t\t\t\thandleObj.origType,\n\t\t\t\thandleObj.selector,\n\t\t\t\thandleObj.handler\n\t\t\t);\n\t\t\treturn this;\n\t\t}\n\t\tif ( typeof types === \"object\" ) {\n\n\t\t\t// ( types-object [, selector] )\n\t\t\tfor ( type in types ) {\n\t\t\t\tthis.off( type, selector, types[ type ] );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif ( selector === false || typeof selector === \"function\" ) {\n\n\t\t\t// ( types [, fn] )\n\t\t\tfn = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.remove( this, types, fn, selector );\n\t\t} );\n\t}\n} );\n\n\nvar\n\n\t/* eslint-disable max-len */\n\n\t// See https://github.com/eslint/eslint/issues/3229\n\trxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)[^>]*)\\/>/gi,\n\n\t/* eslint-enable */\n\n\t// Support: IE <=10 - 11, Edge 12 - 13 only\n\t// In IE/Edge using regex groups here causes severe slowdowns.\n\t// See https://connect.microsoft.com/IE/feedback/details/1736512/\n\trnoInnerhtml = /`);\n const nodesWithId = document.querySelectorAll(\"[id]\");\n [...nodesWithId]\n .filter(node => {\n const unlikelyTagNames = [\"STYLE\", \"SCRIPT\", \"BODY\"];\n return (\n unlikelyTagNames.indexOf(node.tagName) === -1 &&\n mdnSpecJson[node.id] &&\n Array.isArray(mdnSpecJson[node.id])\n );\n })\n .forEach(node => {\n const mdnSpecArray = mdnSpecJson[node.id];\n const mdnBox = insertMDNBox(node);\n mdnSpecArray\n .map(spec => {\n const mdnDiv = document.createElement(\"div\");\n attachMDNDetail(mdnDiv, spec);\n return mdnDiv;\n })\n .forEach(mdnDiv => mdnBox.appendChild(mdnDiv));\n });\n}\n","// @ts-check\n/**\n * module: core/exporter\n * Exports a ReSpec document, based on mime type, so it can be saved, etc.\n * Also performs cleanup, removing things that shouldn't be in published documents.\n * That is, elements that have a \"removeOnSave\" css class.\n */\n\nimport { removeCommentNodes, removeReSpec } from \"./utils.js\";\nimport { expose } from \"./expose-modules.js\";\nimport { html } from \"./import-maps.js\";\nimport { pub } from \"./pubsubhub.js\";\n\nconst mimeTypes = new Map([\n [\"text/html\", \"html\"],\n [\"application/xml\", \"xml\"],\n]);\n\n/**\n * Creates a dataURI from a ReSpec document. It also cleans up the document\n * removing various things.\n *\n * @param {String} mimeType mimetype. one of `mimeTypes` above\n * @param {Document} doc document to export. useful for testing purposes\n * @returns a stringified data-uri of document that can be saved.\n */\nexport function rsDocToDataURL(mimeType, doc = document) {\n const format = mimeTypes.get(mimeType);\n if (!format) {\n const validTypes = [...mimeTypes.values()].join(\", \");\n const msg = `Invalid format: ${mimeType}. Expected one of: ${validTypes}.`;\n throw new TypeError(msg);\n }\n const data = serialize(format, doc);\n const encodedString = encodeURIComponent(data);\n return `data:${mimeType};charset=utf-8,${encodedString}`;\n}\n\nfunction serialize(format, doc) {\n const cloneDoc = doc.cloneNode(true);\n cleanup(cloneDoc);\n let result = \"\";\n switch (format) {\n case \"xml\":\n result = new XMLSerializer().serializeToString(cloneDoc);\n break;\n default: {\n if (cloneDoc.doctype) {\n result += new XMLSerializer().serializeToString(cloneDoc.doctype);\n }\n result += cloneDoc.documentElement.outerHTML;\n }\n }\n return result;\n}\n\nfunction cleanup(cloneDoc) {\n const { head, body, documentElement } = cloneDoc;\n removeCommentNodes(cloneDoc);\n\n cloneDoc\n .querySelectorAll(\".removeOnSave, #toc-nav\")\n .forEach(elem => elem.remove());\n body.classList.remove(\"toc-sidebar\");\n removeReSpec(documentElement);\n\n const insertions = cloneDoc.createDocumentFragment();\n\n // Move meta viewport, as it controls the rendering on mobile.\n const metaViewport = cloneDoc.querySelector(\"meta[name='viewport']\");\n if (metaViewport && head.firstChild !== metaViewport) {\n insertions.appendChild(metaViewport);\n }\n\n // Move charset to near top, as it needs to be in the first 512 bytes.\n let metaCharset = cloneDoc.querySelector(\n \"meta[charset], meta[content*='charset=']\"\n );\n if (!metaCharset) {\n metaCharset = html` `;\n }\n insertions.appendChild(metaCharset);\n\n // Add meta generator\n const respecVersion = `ReSpec ${window.respecVersion || \"Developer Channel\"}`;\n const metaGenerator = html`\n \n `;\n\n insertions.appendChild(metaGenerator);\n head.prepend(insertions);\n pub(\"beforesave\", documentElement);\n}\n\nexpose(\"core/exporter\", { rsDocToDataURL });\n","// @ts-check\n// Module ui/save-html\n// Saves content to HTML when asked to\nimport { getIntlData } from \"../core/utils.js\";\nimport { html } from \"../core/import-maps.js\";\nimport { pub } from \"../core/pubsubhub.js\";\nimport { rsDocToDataURL } from \"../core/exporter.js\";\nimport { ui } from \"../core/ui.js\";\n\nexport const name = \"ui/save-html\";\n\nconst localizationStrings = {\n en: {\n save_snapshot: \"Export\",\n },\n nl: {\n save_snapshot: \"Bewaar Snapshot\",\n },\n ja: {\n save_snapshot: \"保存する\",\n },\n de: {\n save_snapshot: \"Exportieren\",\n },\n};\nconst l10n = getIntlData(localizationStrings);\n\n// Create and download an EPUB 3 version of the content\n// Using (by default) the EPUB 3 conversion service set up at labs.w3.org/epub-generator\n// For more details on that service, see https://github.com/iherman/respec2epub\nconst epubURL = new URL(\n \"https://labs.w3.org/epub-generator/cgi-bin/epub-generator.py\"\n);\nepubURL.searchParams.append(\"type\", \"respec\");\nepubURL.searchParams.append(\"url\", document.location.href);\n\nconst downloadLinks = [\n {\n id: \"respec-save-as-html\",\n fileName: \"index.html\",\n title: \"HTML\",\n type: \"text/html\",\n get href() {\n return rsDocToDataURL(this.type);\n },\n },\n {\n id: \"respec-save-as-xml\",\n fileName: \"index.xhtml\",\n title: \"XML\",\n type: \"application/xml\",\n get href() {\n return rsDocToDataURL(this.type);\n },\n },\n {\n id: \"respec-save-as-epub\",\n fileName: \"spec.epub\",\n title: \"EPUB 3\",\n type: \"application/epub+zip\",\n href: epubURL.href,\n },\n];\n\nfunction toDownloadLink(details) {\n const { id, href, fileName, title, type } = details;\n return html` ui.closeModal()}\n >${title} `;\n}\n\nconst saveDialog = {\n async show(button) {\n await document.respecIsReady;\n const div = html`\n ${downloadLinks.map(toDownloadLink)}\n
`;\n ui.freshModal(l10n.save_snapshot, div, button);\n },\n};\n\nconst supportsDownload = \"download\" in HTMLAnchorElement.prototype;\nlet button;\nif (supportsDownload) {\n button = ui.addCommand(l10n.save_snapshot, show, \"Ctrl+Shift+Alt+S\", \"💾\");\n}\n\nfunction show() {\n if (!supportsDownload) return;\n saveDialog.show(button);\n}\n\n/**\n * @param {*} _\n * @param {string} mimeType\n */\nexport function exportDocument(_, mimeType) {\n const msg =\n \"Exporting via ui/save-html module's `exportDocument()` is deprecated and will be removed. \" +\n \"Use core/exporter `rsDocToDataURL()` instead.\";\n pub(\"warn\", msg);\n console.warn(msg);\n return rsDocToDataURL(mimeType);\n}\n","// @ts-check\n// Module ui/search-specref\n// Search Specref database\nimport { getIntlData } from \"../core/utils.js\";\nimport { html } from \"../core/import-maps.js\";\nimport { ui } from \"../core/ui.js\";\nimport { wireReference } from \"../core/biblio.js\";\n\nconst localizationStrings = {\n en: {\n search_specref: \"Search Specref\",\n },\n nl: {\n search_specref: \"Doorzoek Specref\",\n },\n ja: {\n search_specref: \"仕様検索\",\n },\n de: {\n search_specref: \"Spezifikationen durchsuchen\",\n },\n};\nconst l10n = getIntlData(localizationStrings);\n\nconst button = ui.addCommand(\n l10n.search_specref,\n show,\n \"Ctrl+Shift+Alt+space\",\n \"🔎\"\n);\nconst specrefURL = \"https://specref.herokuapp.com/\";\nconst refSearchURL = `${specrefURL}search-refs`;\nconst reveseLookupURL = `${specrefURL}reverse-lookup`;\nconst form = document.createElement(\"form\");\nconst renderer = html.bind(form);\nconst resultList = html.bind(document.createElement(\"div\"));\n\nform.id = \"specref-ui\";\n\n/**\n * @param {Map} resultMap\n * @param {string} query\n * @param {number} timeTaken\n */\nfunction renderResults(resultMap, query, timeTaken) {\n if (!resultMap.size) {\n return resultList`\n \n Your search - ${query} -\n did not match any references.\n
\n `;\n }\n const wires = Array.from(resultMap)\n .slice(0, 99)\n .map(toDefinitionPair)\n .reduce((collector, pair) => collector.concat(pair), []);\n return resultList`\n \n ${resultMap.size} results (${timeTaken} seconds).\n ${resultMap.size > 99 ? \"First 100 results.\" : \"\"}\n
\n ${wires} \n `;\n}\n\nfunction toDefinitionPair([key, entry]) {\n return html.wire(entry)`\n \n [${key}]\n \n ${wireReference(entry)} \n `;\n}\n\nfunction resultProcessor({ includeVersions = false } = {}) {\n return (...fetchedData) => {\n /** @type {{ [key: string]: any }} */\n const combinedResults = Object.assign({}, ...fetchedData);\n const results = new Map(Object.entries(combinedResults));\n // remove aliases\n Array.from(results)\n .filter(([, entry]) => entry.aliasOf)\n .map(([key]) => key)\n .reduce((results, key) => results.delete(key) && results, results);\n // Remove versions, if asked to\n if (!includeVersions) {\n Array.from(results.values())\n .filter(entry => typeof entry === \"object\" && \"versions\" in entry)\n .flat()\n .forEach(version => {\n results.delete(version);\n });\n }\n // Remove legacy string entries\n Array.from(results)\n .filter(([, value]) => typeof value !== \"object\")\n .forEach(([key]) => results.delete(key));\n return results;\n };\n}\n\nform.addEventListener(\"submit\", async ev => {\n ev.preventDefault();\n const { searchBox } = form;\n const query = searchBox.value;\n if (!query) {\n searchBox.focus();\n return;\n }\n render({ state: \"Searching Specref…\" });\n const refSearch = new URL(refSearchURL);\n refSearch.searchParams.set(\"q\", query);\n const reverseLookup = new URL(reveseLookupURL);\n reverseLookup.searchParams.set(\"urls\", query);\n try {\n const startTime = performance.now();\n const jsonData = await Promise.all([\n fetch(refSearch).then(response => response.json()),\n fetch(reverseLookup).then(response => response.json()),\n ]);\n const { checked: includeVersions } = form.includeVersions;\n const processResults = resultProcessor({ includeVersions });\n const results = processResults(...jsonData);\n render({\n query,\n results,\n state: \"\",\n timeTaken: Math.round(performance.now() - startTime) / 1000,\n });\n } catch (err) {\n console.error(err);\n render({ state: \"Error! Couldn't do search.\" });\n } finally {\n searchBox.focus();\n }\n});\n\nfunction show() {\n render();\n ui.freshModal(l10n.search_specref, form, button);\n /** @type {HTMLElement} */\n const input = form.querySelector(\"input[type=search]\");\n input.focus();\n}\n\nconst mast = html.wire()`\n \n \n \n \n Search\n \n \n Include all versions.\n \n
\n`;\n\n/**\n * @param {object} options\n * @param {string} [options.state]\n * @param {Map} [options.results]\n * @param {number} [options.timeTaken]\n * @param {string} [options.query]\n */\nfunction render({ state = \"\", results, timeTaken, query } = {}) {\n if (!results) {\n renderer`${mast}
`;\n return;\n }\n renderer`\n ${mast}
\n \n ${state}\n
\n ${\n results ? renderResults(results, query, timeTaken) : []\n } \n `;\n}\n","// @ts-check\n// Module ui/dfn-list\n// Displays all definitions with links to the defining element.\nimport { definitionMap } from \"../core/dfn-map.js\";\nimport { getIntlData } from \"../core/utils.js\";\nimport { html } from \"../core/import-maps.js\";\nimport { ui } from \"../core/ui.js\";\n\nconst localizationStrings = {\n en: {\n definition_list: \"Definitions\",\n list_of_definitions: \"List of Definitions\",\n },\n nl: {\n definition_list: \"Lijst van Definities\",\n list_of_definitions: \"Lijst van Definities\",\n },\n ja: {\n definition_list: \"定義\",\n list_of_definitions: \"定義リスト\",\n },\n de: {\n definition_list: \"Definitionen\",\n list_of_definitions: \"Liste der Definitionen\",\n },\n};\nconst l10n = getIntlData(localizationStrings);\n\nconst button = ui.addCommand(\n l10n.definition_list,\n show,\n \"Ctrl+Shift+Alt+D\",\n \"📔\"\n);\n\nconst ul = document.createElement(\"ul\");\nul.classList.add(\"respec-dfn-list\");\nconst render = html.bind(ul);\n\nul.addEventListener(\"click\", ev => {\n if (ev.target instanceof HTMLElement && ev.target.matches(\"a\")) {\n ui.closeModal();\n ev.stopPropagation();\n }\n});\n\nfunction show() {\n const definitionLinks = Array.from(definitionMap)\n .sort(([keyA], [keyB]) => keyA.localeCompare(keyB))\n .map(([, [dfn]]) => {\n return html.wire(dfn, \":li>a\")`\n \n \n ${dfn.textContent}\n \n ${labelDfnIfExported(dfn)} ${labelDfnIfUnused(dfn)}\n \n `;\n });\n render`${definitionLinks}`;\n ui.freshModal(l10n.list_of_definitions, ul, button);\n}\n\n/**\n * If a definition is exported, label it accordingly\n * @param {HTMLElement} dfn a definition\n */\nfunction labelDfnIfExported(dfn) {\n const isExported = dfn.hasAttribute(\"data-export\");\n if (isExported) {\n return html`exported `;\n }\n return null;\n}\n\n/**\n * If a definition is unused, label it accordingly\n * @param {HTMLElement} dfn a definition\n */\nfunction labelDfnIfUnused(dfn) {\n const isUsed = document.querySelector(`a[href^=\"#${dfn.id}\"]`);\n if (!isUsed) {\n return html`unused `;\n }\n return null;\n}\n","// @ts-check\n// Module ui/about-respec\n// A simple about dialog with pointer to the help\nimport { getIntlData } from \"../core/utils.js\";\nimport { html } from \"../core/import-maps.js\";\nimport { ui } from \"../core/ui.js\";\n\nconst localizationStrings = {\n en: {\n about_respec: \"About\",\n },\n zh: {\n about_respec: \"关于\",\n },\n nl: {\n about_respec: \"Over\",\n },\n ja: {\n about_respec: \"これについて\",\n },\n de: {\n about_respec: \"Über\",\n },\n};\nconst l10n = getIntlData(localizationStrings);\n\n// window.respecVersion is added at build time (see tools/builder.js)\nwindow.respecVersion = window.respecVersion || \"Developer Edition\";\nconst div = document.createElement(\"div\");\nconst render = html.bind(div);\nconst button = ui.addCommand(\n `${l10n.about_respec} ${window.respecVersion}`,\n show,\n \"Ctrl+Shift+Alt+A\",\n \"ℹ️\"\n);\n\nfunction show() {\n const entries = [];\n if (\"getEntriesByType\" in performance) {\n performance\n .getEntriesByType(\"measure\")\n .sort((a, b) => b.duration - a.duration)\n .map(({ name, duration }) => {\n const humanDuration =\n duration > 1000\n ? `${Math.round(duration / 1000.0)} second(s)`\n : `${duration.toFixed(2)} milliseconds`;\n return { name, duration: humanDuration };\n })\n .map(perfEntryToTR)\n .forEach(entry => {\n entries.push(entry);\n });\n }\n render`\n \n ReSpec is a document production toolchain, with a notable focus on W3C specifications.\n
\n \n Documentation ,\n Bugs .\n
\n \n \n Loaded plugins\n \n \n \n \n Plugin Name\n \n \n Processing time\n \n \n \n ${entries} \n
\n`;\n ui.freshModal(`${l10n.about_respec} - ${window.respecVersion}`, div, button);\n}\n\nfunction perfEntryToTR({ name, duration }) {\n const moduleURL = `https://github.com/w3c/respec/blob/develop/src/${name}.js`;\n return html`\n \n ${name} \n ${duration} \n \n `;\n}\n","// @ts-check\n/**\n * This Module adds a metatag description to the document, based on the\n * first paragraph of the abstract.\n */\n\nexport const name = \"core/seo\";\n\nexport function run() {\n const firstParagraph = document.querySelector(\"#abstract p:first-of-type\");\n if (!firstParagraph) {\n return; // no abstract, so nothing to do\n }\n // Normalize whitespace: trim, remove new lines, tabs, etc.\n const content = firstParagraph.textContent.replace(/\\s+/, \" \").trim();\n const metaElem = document.createElement(\"meta\");\n metaElem.name = \"description\";\n metaElem.content = content;\n document.head.appendChild(metaElem);\n}\n","// @ts-check\n// Module w3c/seo\n// Manages SEO information for documents\n// e.g. set the canonical URL for the document if configured\nimport { pub } from \"../core/pubsubhub.js\";\nimport { resolveRef } from \"../core/biblio.js\";\nexport const name = \"w3c/seo\";\nexport async function run(conf) {\n // Don't include a canonical URL for documents\n // that haven't been published.\n if (!conf.canonicalURI) {\n switch (conf.specStatus) {\n case \"CG-DRAFT\":\n case \"BG-DRAFT\":\n case \"unofficial\":\n return;\n }\n }\n const trLatestUri = conf.shortName\n ? `https://www.w3.org/TR/${conf.shortName}/`\n : null;\n switch (conf.canonicalURI) {\n case \"edDraft\":\n if (conf.edDraftURI) {\n conf.canonicalURI = new URL(\n conf.edDraftURI,\n document.location.href\n ).href;\n } else {\n pub(\n \"warn\",\n \"Canonical URI set to edDraft, \" +\n \"but no edDraftURI is set in configuration\"\n );\n conf.canonicalURI = null;\n }\n break;\n case \"TR\":\n if (trLatestUri) {\n conf.canonicalURI = trLatestUri;\n } else {\n pub(\n \"warn\",\n \"Canonical URI set to TR, but \" +\n \"no shortName is set in configuration\"\n );\n conf.canonicalURI = null;\n }\n break;\n default:\n if (conf.canonicalURI) {\n try {\n conf.canonicalURI = new URL(\n conf.canonicalURI,\n document.location.href\n ).href;\n } catch (err) {\n pub(\"warn\", `CanonicalURI is an invalid URL: ${err.message}`);\n conf.canonicalURI = null;\n }\n } else if (trLatestUri) {\n conf.canonicalURI = trLatestUri;\n }\n }\n if (conf.canonicalURI) {\n const linkElem = document.createElement(\"link\");\n linkElem.setAttribute(\"rel\", \"canonical\");\n linkElem.setAttribute(\"href\", conf.canonicalURI);\n document.head.appendChild(linkElem);\n }\n if (conf.doJsonLd) {\n await addJSONLDInfo(conf, document);\n }\n}\n\nasync function addJSONLDInfo(conf, doc) {\n // Content for JSON\n const type = [\"TechArticle\"];\n if (conf.rdfStatus) type.push(conf.rdfStatus);\n\n const jsonld = {\n \"@context\": [\n \"http://schema.org\",\n {\n \"@vocab\": \"http://schema.org/\",\n \"@language\": doc.documentElement.lang || \"en\",\n w3p: \"http://www.w3.org/2001/02pd/rec54#\",\n foaf: \"http://xmlns.com/foaf/0.1/\",\n datePublished: { \"@type\": \"http://www.w3.org/2001/XMLSchema#date\" },\n inLanguage: { \"@language\": null },\n isBasedOn: { \"@type\": \"@id\" },\n license: { \"@type\": \"@id\" },\n },\n ],\n id: conf.canonicalURI || conf.thisVersion,\n type,\n name: document.title,\n inLanguage: doc.documentElement.lang || \"en\",\n license: conf.licenseInfo.url,\n datePublished: conf.dashDate,\n /** @type {{ name: string, url?: string } | { name: string, url?: string }[]} */\n copyrightHolder: {\n name: \"World Wide Web Consortium\",\n url: \"https://www.w3.org/\",\n },\n discussionUrl: conf.issueBase,\n alternativeHeadline: conf.subtitle,\n isBasedOn: conf.prevVersion,\n };\n\n // add any additional copyright holders\n if (conf.additionalCopyrightHolders) {\n const addl = Array.isArray(conf.additionalCopyrightHolders)\n ? conf.additionalCopyrightHolders\n : [conf.additionalCopyrightHolders];\n jsonld.copyrightHolder = [\n jsonld.copyrightHolder,\n ...addl.map(h => ({ name: h })),\n ];\n }\n\n // description from meta description\n const description = doc.head.querySelector(\"meta[name=description]\");\n if (description) {\n jsonld.description = description.content;\n }\n\n // Editors\n if (conf.editors) {\n jsonld.editor = conf.editors.map(addPerson);\n }\n if (conf.authors) {\n jsonld.contributor = conf.authors.map(addPerson);\n }\n\n // normative and informative references\n const citationIds = [\n ...conf.normativeReferences,\n ...conf.informativeReferences,\n ];\n const citationContents = await Promise.all(\n citationIds.map(ref => resolveRef(ref))\n );\n jsonld.citation = citationContents\n .filter(ref => typeof ref === \"object\")\n .map(addRef);\n\n const script = doc.createElement(\"script\");\n script.type = \"application/ld+json\";\n script.textContent = JSON.stringify(jsonld, null, 2);\n doc.head.appendChild(script);\n}\n\n/**\n * Turn editors and authors into a list of JSON-LD relationships\n */\nfunction addPerson({ name, url, mailto, company, companyURL }) {\n const ed = {\n type: \"Person\",\n name,\n url,\n \"foaf:mbox\": mailto,\n };\n if (company || companyURL) {\n ed.worksFor = {\n name: company,\n url: companyURL,\n };\n }\n return ed;\n}\n\n/**\n * Create a reference URL from the ref\n */\nfunction addRef(ref) {\n const { href: id, title: name, href: url } = ref;\n const jsonld = {\n id,\n type: \"TechArticle\",\n name,\n url,\n };\n if (ref.authors) {\n jsonld.creator = ref.authors.map(a => ({ name: a }));\n }\n if (ref.rawDate) {\n jsonld.publishedDate = ref.rawDate;\n }\n if (ref.isbn) {\n jsonld.identifier = ref.isbn;\n }\n if (ref.publisher) {\n jsonld.publisher = { name: ref.publisher };\n }\n return jsonld;\n}\n","// @ts-check\n/**\n * Module core/worker\n *\n * Exports a Web Worker for ReSpec, allowing for\n * multi-threaded processing of things.\n */\nexport const name = \"core/worker\";\n\n// Opportunistically preload syntax highlighter, which is used by the worker\nimport { createResourceHint } from \"./utils.js\";\nimport { expose } from \"./expose-modules.js\";\nimport { fetchBase } from \"./text-loader.js\";\n// Opportunistically preload syntax highlighter\nconst hint = {\n hint: \"preload\",\n href: \"https://www.w3.org/Tools/respec/respec-highlight.js\",\n as: \"script\",\n};\nconst link = createResourceHint(hint);\ndocument.head.appendChild(link);\n\nasync function loadWorkerScript() {\n try {\n return (await import(\"text!../../worker/respec-worker.js\")).default;\n } catch {\n return fetchBase(\"worker/respec-worker.js\");\n }\n}\n\nasync function createWorker() {\n const workerScript = await loadWorkerScript();\n const workerURL = URL.createObjectURL(\n new Blob([workerScript], { type: \"application/javascript\" })\n );\n return new Worker(workerURL);\n}\n\nexport const workerPromise = createWorker();\n\nexpose(\n name,\n workerPromise.then(worker => ({ worker }))\n);\n","// @ts-check\n/**\n * Module core/highlight\n *\n * Performs syntax highlighting to all pre and code elements.\n */\nimport { fetchAsset } from \"./text-loader.js\";\nimport { html } from \"./import-maps.js\";\nimport { msgIdGenerator } from \"./utils.js\";\nimport { workerPromise } from \"./worker.js\";\nexport const name = \"core/highlight\";\n\nconst nextMsgId = msgIdGenerator(\"highlight\");\n\nconst ghCssPromise = loadStyle();\n\nasync function loadStyle() {\n try {\n return (await import(\"text!../../assets/highlight.css\")).default;\n } catch {\n return fetchAsset(\"highlight.css\");\n }\n}\n\nfunction getLanguageHint(classList) {\n return Array.from(classList)\n .filter(item => item !== \"highlight\" && item !== \"nolinks\")\n .map(item => item.toLowerCase());\n}\n\nasync function highlightElement(elem) {\n elem.setAttribute(\"aria-busy\", \"true\");\n const languages = getLanguageHint(elem.classList);\n let response;\n try {\n response = await sendHighlightRequest(elem.innerText, languages);\n } catch (err) {\n console.error(err);\n return;\n }\n const { language, value } = response;\n switch (elem.localName) {\n case \"pre\":\n elem.classList.remove(language);\n elem.innerHTML = `${value}
`;\n if (!elem.classList.length) elem.removeAttribute(\"class\");\n break;\n case \"code\":\n elem.innerHTML = value;\n elem.classList.add(\"hljs\");\n if (language) elem.classList.add(language);\n break;\n }\n elem.setAttribute(\"aria-busy\", \"false\");\n}\n\nasync function sendHighlightRequest(code, languages) {\n const msg = {\n action: \"highlight\",\n code,\n id: nextMsgId(),\n languages,\n };\n const worker = await workerPromise;\n worker.postMessage(msg);\n return new Promise((resolve, reject) => {\n const timeoutId = setTimeout(() => {\n reject(new Error(\"Timed out waiting for highlight.\"));\n }, 4000);\n worker.addEventListener(\"message\", function listener(ev) {\n const {\n data: { id, language, value },\n } = ev;\n if (id !== msg.id) return; // not for us!\n worker.removeEventListener(\"message\", listener);\n clearTimeout(timeoutId);\n resolve({ language, value });\n });\n });\n}\n\nexport async function run(conf) {\n // Nothing to highlight\n if (conf.noHighlightCSS) return;\n const highlightables = [\n ...document.querySelectorAll(`\n pre:not(.idl):not(.nohighlight) > code:not(.nohighlight),\n pre:not(.idl):not(.nohighlight),\n code.highlight\n `),\n ].filter(\n // Filter pre's that contain code\n elem => elem.localName !== \"pre\" || !elem.querySelector(\"code\")\n );\n // Nothing to highlight\n if (!highlightables.length) {\n return;\n }\n const promisesToHighlight = highlightables\n .filter(elem => elem.textContent.trim())\n .map(highlightElement);\n const ghCss = await ghCssPromise;\n document.head.appendChild(\n html``\n );\n await Promise.all(promisesToHighlight);\n}\n","// @ts-check\n/**\n * Module core/data-tests\n *\n * Allows specs to link to test files in a test suite, by adding `details` of where\n * particular tests for a testable assertion can be found.\n *\n * `data-tests` takes a space separated list of URLs, e.g. data-test=\"foo.html bar.html\".\n *\n * Docs: https://github.com/w3c/respec/wiki/data-tests\n */\nimport { getIntlData, showInlineWarning } from \"./utils.js\";\nimport { html } from \"./import-maps.js\";\nimport { pub } from \"./pubsubhub.js\";\nconst localizationStrings = {\n en: {\n missing_test_suite_uri:\n \"Found tests in your spec, but missing '\" +\n \"[`testSuiteURI`](https://github.com/w3c/respec/wiki/testSuiteURI)' in your ReSpec config.\",\n tests: \"tests\",\n test: \"test\",\n },\n ja: {\n missing_test_suite_uri:\n \"この仕様内にテストの項目を検出しましたが,ReSpec の設定に '\" +\n \"[`testSuiteURI`](https://github.com/w3c/respec/wiki/testSuiteURI)' が見つかりません.\",\n tests: \"テスト\",\n test: \"テスト\",\n },\n de: {\n missing_test_suite_uri:\n \"Die Spezifikation enthält Tests, aber in der ReSpec-Konfiguration ist keine '\" +\n \"[`testSuiteURI`](https://github.com/w3c/respec/wiki/testSuiteURI)' angegeben.\",\n tests: \"Tests\",\n test: \"Test\",\n },\n};\n\nconst l10n = getIntlData(localizationStrings);\n\nexport const name = \"core/data-tests\";\n\nfunction toListItem(href) {\n const emojiList = [];\n const [testFile] = new URL(href).pathname.split(\"/\").reverse();\n const testParts = testFile.split(\".\");\n let [testFileName] = testParts;\n\n const isSecureTest = testParts.find(part => part === \"https\");\n if (isSecureTest) {\n const requiresConnectionEmoji = document.createElement(\"span\");\n requiresConnectionEmoji.textContent = \"🔒\";\n requiresConnectionEmoji.setAttribute(\n \"aria-label\",\n \"requires a secure connection\"\n );\n requiresConnectionEmoji.setAttribute(\"title\", \"Test requires HTTPS\");\n testFileName = testFileName.replace(\".https\", \"\");\n emojiList.push(requiresConnectionEmoji);\n }\n\n const isManualTest = testFileName\n .split(\".\")\n .join(\"-\")\n .split(\"-\")\n .find(part => part === \"manual\");\n if (isManualTest) {\n const manualPerformEmoji = document.createElement(\"span\");\n manualPerformEmoji.textContent = \"💪\";\n manualPerformEmoji.setAttribute(\n \"aria-label\",\n \"the test must be run manually\"\n );\n manualPerformEmoji.setAttribute(\"title\", \"Manual test\");\n testFileName = testFileName.replace(\"-manual\", \"\");\n emojiList.push(manualPerformEmoji);\n }\n\n const testList = html`\n \n \n ${testFileName}\n \n ${emojiList}\n \n `;\n return testList;\n}\n\nexport function run(conf) {\n /** @type {NodeListOf} */\n const elems = document.querySelectorAll(\"[data-tests]\");\n const testables = [...elems].filter(elem => elem.dataset.tests);\n\n if (!testables.length) {\n return;\n }\n if (!conf.testSuiteURI) {\n pub(\"error\", l10n.missing_test_suite_uri);\n return;\n }\n\n for (const elem of testables) {\n const tests = elem.dataset.tests.split(/,/gm).map(url => url.trim());\n const testURLs = toTestURLs(tests, conf.testSuiteURI);\n handleDuplicates(testURLs, elem);\n const details = toHTML(testURLs);\n elem.append(details);\n }\n}\n\n/**\n * @param {string[]} tests\n * @param {string} testSuiteURI\n */\nfunction toTestURLs(tests, testSuiteURI) {\n return tests\n .map(test => {\n try {\n return new URL(test, testSuiteURI).href;\n } catch {\n pub(\"warn\", `Bad URI: ${test}`);\n }\n })\n .filter(href => href);\n}\n\n/**\n * @param {string[]} testURLs\n * @param {HTMLElement} elem\n */\nfunction handleDuplicates(testURLs, elem) {\n const duplicates = testURLs.filter(\n (link, i, self) => self.indexOf(link) !== i\n );\n if (duplicates.length) {\n showInlineWarning(\n elem,\n `Duplicate tests found`,\n `To fix, remove duplicates from \"data-tests\": ${duplicates\n .map(url => new URL(url).pathname)\n .join(\", \")}`\n );\n }\n}\n\n/**\n * @param {string[]} testURLs\n */\nfunction toHTML(testURLs) {\n const uniqueList = [...new Set(testURLs)];\n const details = html`\n \n \n tests: ${uniqueList.length}\n \n \n ${uniqueList.map(toListItem)}\n \n \n `;\n return details;\n}\n","// @ts-check\nimport { pub } from \"./pubsubhub.js\";\nexport const name = \"core/list-sorter\";\n\nfunction makeSorter(direction) {\n return ({ textContent: a }, { textContent: b }) => {\n return direction === \"ascending\" ? a.localeCompare(b) : b.localeCompare(a);\n };\n}\n/**\n * Shallow sort list items in OL, and UL elements.\n *\n * @param {HTMLUListElement} elem\n * @returns {DocumentFragment}\n */\nexport function sortListItems(elem, dir) {\n const elements = [...elem.querySelectorAll(\":scope > li\")];\n const sortedElements = elements.sort(makeSorter(dir)).reduce((frag, elem) => {\n frag.appendChild(elem);\n return frag;\n }, document.createDocumentFragment());\n return sortedElements;\n}\n\n/**\n * Shallow sort a definition list based on its definition terms (dt) elements.\n *\n * @param {HTMLDListElement} dl\n * @returns {DocumentFragment}\n */\nexport function sortDefinitionTerms(dl, dir) {\n const elements = [...dl.querySelectorAll(\":scope > dt\")];\n const sortedElements = elements.sort(makeSorter(dir)).reduce((frag, elem) => {\n const { nodeType, nodeName } = elem;\n const children = document.createDocumentFragment();\n let { nextSibling: next } = elem;\n while (next) {\n if (!next.nextSibling) {\n break;\n }\n children.appendChild(next.cloneNode(true));\n const { nodeType: nextType, nodeName: nextName } = next.nextSibling;\n const isSameType = nextType === nodeType && nextName === nodeName;\n if (isSameType) {\n break;\n }\n next = next.nextSibling;\n }\n children.prepend(elem.cloneNode(true));\n frag.appendChild(children);\n return frag;\n }, document.createDocumentFragment());\n return sortedElements;\n}\n\nexport function run() {\n /** @type {NodeListOf} */\n const sortables = document.querySelectorAll(\"[data-sort]\");\n for (const elem of sortables) {\n let sortedElems;\n const dir = elem.dataset.sort || \"ascending\";\n switch (elem.localName) {\n case \"dl\": {\n const definition = /** @type {HTMLDListElement} */ (elem);\n sortedElems = sortDefinitionTerms(definition, dir);\n break;\n }\n case \"ol\":\n case \"ul\": {\n const list = /** @type {HTMLUListElement} */ (elem);\n sortedElems = sortListItems(list, dir);\n break;\n }\n default:\n pub(\"warning\", `ReSpec can't sort ${elem.localName} elements.`);\n }\n if (sortedElems) {\n const range = document.createRange();\n range.selectNodeContents(elem);\n range.deleteContents();\n elem.appendChild(sortedElems);\n }\n }\n}\n","// @ts-check\n/**\n * Module core/highlight-vars\n * Highlights occurrences of a within a section on click.\n * Set `conf.highlightVars = true` to enable.\n * Removes highlights from if clicked anywhere else.\n * All is done while keeping in mind that exported html stays clean\n * on export.\n */\nimport { fetchAsset } from \"./text-loader.js\";\nimport { sub } from \"./pubsubhub.js\";\n\nexport const name = \"core/highlight-vars\";\n\nconst hlVarsPromise = loadStyle();\n\nasync function loadStyle() {\n try {\n return (await import(\"text!../../assets/var.css\")).default;\n } catch {\n return fetchAsset(\"var.css\");\n }\n}\n\nexport async function run(conf) {\n if (!conf.highlightVars) {\n return;\n }\n const styleElement = document.createElement(\"style\");\n styleElement.textContent = await hlVarsPromise;\n styleElement.classList.add(\"removeOnSave\");\n document.head.appendChild(styleElement);\n\n document\n .querySelectorAll(\"var\")\n .forEach(varElem => varElem.addEventListener(\"click\", highlightListener));\n\n // remove highlights, cleanup empty class/style attributes\n sub(\"beforesave\", outputDoc => {\n outputDoc.querySelectorAll(\"var.respec-hl\").forEach(removeHighlight);\n });\n}\n\nfunction highlightListener(ev) {\n ev.stopPropagation();\n const { target: varElem } = ev;\n const hightligtedElems = highlightVars(varElem);\n const resetListener = () => {\n const hlColor = getHighlightColor(varElem);\n hightligtedElems.forEach(el => removeHighlight(el, hlColor));\n [...HL_COLORS.keys()].forEach(key => HL_COLORS.set(key, true));\n };\n if (hightligtedElems.length) {\n document.body.addEventListener(\"click\", resetListener, { once: true });\n }\n}\n\n// availability of highlight colors. colors from var.css\nconst HL_COLORS = new Map([\n [\"respec-hl-c1\", true],\n [\"respec-hl-c2\", true],\n [\"respec-hl-c3\", true],\n [\"respec-hl-c4\", true],\n [\"respec-hl-c5\", true],\n [\"respec-hl-c6\", true],\n [\"respec-hl-c7\", true],\n]);\n\nfunction getHighlightColor(target) {\n // return current colors if applicable\n const { value } = target.classList;\n const re = /respec-hl-\\w+/;\n const activeClass = re.test(value) && value.match(re);\n if (activeClass) return activeClass[0];\n\n // first color preference\n if (HL_COLORS.get(\"respec-hl-c1\") === true) return \"respec-hl-c1\";\n\n // otherwise get some other available color\n return [...HL_COLORS.keys()].find(c => HL_COLORS.get(c)) || \"respec-hl-c1\";\n}\n\nfunction highlightVars(varElem) {\n const textContent = varElem.textContent.trim();\n const parent = varElem.closest(\"section\");\n const highlightColor = getHighlightColor(varElem);\n\n const varsToHighlight = [...parent.querySelectorAll(\"var\")].filter(\n el =>\n el.textContent.trim() === textContent && el.closest(\"section\") === parent\n );\n\n // update availability of highlight color\n const colorStatus = varsToHighlight[0].classList.contains(\"respec-hl\");\n HL_COLORS.set(highlightColor, colorStatus);\n\n // highlight vars\n if (colorStatus) {\n varsToHighlight.forEach(el => removeHighlight(el, highlightColor));\n return [];\n } else {\n varsToHighlight.forEach(el => addHighlight(el, highlightColor));\n }\n return varsToHighlight;\n}\n\nfunction removeHighlight(el, highlightColor) {\n el.classList.remove(\"respec-hl\", highlightColor);\n // clean up empty class attributes so they don't come in export\n if (!el.classList.length) el.removeAttribute(\"class\");\n}\n\nfunction addHighlight(elem, highlightColor) {\n elem.classList.add(\"respec-hl\", highlightColor);\n}\n","// Constructs \"dfn panels\" which show all the local references to a dfn and a\n// self link to the selected dfn. Based on Bikeshed's dfn panels at\n// https://github.com/tabatkins/bikeshed/blob/ef44162c2e/bikeshed/dfnpanels.py\nimport { fetchAsset } from \"./text-loader.js\";\nimport { html as hyperHTML } from \"./import-maps.js\";\nimport { norm } from \"./utils.js\";\n\nexport const name = \"core/dfn-panel\";\n\nexport async function run() {\n const css = await loadStyle();\n document.head.insertBefore(\n hyperHTML``,\n document.querySelector(\"link\")\n );\n\n /** @type {HTMLElement} */\n let panel;\n document.body.addEventListener(\"click\", event => {\n /** @type {HTMLElement} */\n const el = event.target;\n\n const action = deriveAction(el);\n switch (action) {\n case \"show\": {\n if (panel) panel.remove();\n const dfn = el.closest(\"dfn, .index-term\");\n panel = createPanel(dfn);\n displayPanel(dfn, panel, { x: event.clientX, y: event.clientY });\n break;\n }\n case \"dock\": {\n panel.classList.add(\"docked\");\n break;\n }\n case \"hide\": {\n panel.remove();\n break;\n }\n }\n });\n}\n\n/** @param {HTMLElement} clickTarget */\nfunction deriveAction(clickTarget) {\n const hitALink = !!clickTarget.closest(\"a\");\n if (clickTarget.closest(\"dfn, .index-term\")) {\n return hitALink ? null : \"show\";\n }\n if (clickTarget.closest(\"#dfn-panel\")) {\n if (hitALink) {\n const clickedSelfLink = clickTarget.classList.contains(\"self-link\");\n return clickedSelfLink ? \"hide\" : \"dock\";\n }\n const panel = clickTarget.closest(\"#dfn-panel\");\n return panel.classList.contains(\"docked\") ? \"hide\" : null;\n }\n if (document.getElementById(\"dfn-panel\")) {\n return \"hide\";\n }\n return null;\n}\n\n/** @param {HTMLElement} dfn */\nfunction createPanel(dfn) {\n const { id } = dfn;\n const href = dfn.dataset.href || `#${id}`;\n const links = document.querySelectorAll(`a[href=\"${href}\"]:not(.index-term)`);\n\n /** @type {HTMLElement} */\n const panel = hyperHTML`\n \n Permalink \n Referenced in: \n ${referencesToHTML(id, links)}\n \n `;\n return panel;\n}\n\n/**\n * @param {string} id dfn id\n * @param {NodeListOf} links\n * @returns {HTMLUListElement}\n */\nfunction referencesToHTML(id, links) {\n if (!links.length) {\n return hyperHTML`Not referenced in this document. `;\n }\n\n /** @type {Map} */\n const titleToIDs = new Map();\n links.forEach((link, i) => {\n const linkID = link.id || `ref-for-${id}-${i + 1}`;\n if (!link.id) link.id = linkID;\n const title = getReferenceTitle(link);\n const ids = titleToIDs.get(title) || titleToIDs.set(title, []).get(title);\n ids.push(linkID);\n });\n\n /**\n * Returns a list that is easier to render in `listItemToHTML`.\n * @param {[string, string[]]} entry an entry from `titleToIDs`\n * @returns {{ title: string, id: string }[]} The first list item contains\n * title from `getReferenceTitle`, rest of items contain strings like `(2)`,\n * `(3)` as title.\n */\n const toLinkProps = ([title, ids]) => {\n return [{ title, id: ids[0] }].concat(\n ids.slice(1).map((id, i) => ({ title: `(${i + 2})`, id }))\n );\n };\n\n /**\n * @param {[string, string[]]} entry\n * @returns {HTMLLIElement}\n */\n const listItemToHTML = entry =>\n hyperHTML`${toLinkProps(entry).map(\n link => hyperHTML`${link.title} ${\" \"}`\n )} `;\n\n const listItems = [...titleToIDs].map(listItemToHTML);\n return hyperHTML``;\n}\n\n/** @param {HTMLAnchorElement} link */\nfunction getReferenceTitle(link) {\n const section = link.closest(\"section\");\n if (!section) return null;\n const heading = section.querySelector(\"h1, h2, h3, h4, h5, h6\");\n if (!heading) return null;\n return norm(heading.textContent);\n}\n\n/**\n * @param {HTMLElement} dfn\n * @param {HTMLElement} panel\n * @param {{ x: number, y: number }} clickPosition\n */\nfunction displayPanel(dfn, panel, { x, y }) {\n document.body.appendChild(panel);\n // distance (px) between edge of panel and the pointing triangle (caret)\n const MARGIN = 20;\n\n const dfnRects = dfn.getClientRects();\n // Find the `top` offset when the `dfn` can be spread across multiple lines\n let closestTop = 0;\n let minDiff = Infinity;\n for (const rect of dfnRects) {\n const { top, bottom } = rect;\n const diffFromClickY = Math.abs((top + bottom) / 2 - y);\n if (diffFromClickY < minDiff) {\n minDiff = diffFromClickY;\n closestTop = top;\n }\n }\n\n const top = window.scrollY + closestTop + dfnRects[0].height;\n const left = x - MARGIN;\n panel.style.setProperty(\"--left\", `${left}px`);\n panel.style.setProperty(\"--top\", `${top}px`);\n\n // Find if the panel is flowing out of the window\n const panelRect = panel.getBoundingClientRect();\n const SCREEN_WIDTH = Math.min(window.innerWidth, window.screen.width);\n if (panelRect.right > SCREEN_WIDTH) {\n const newLeft = Math.max(MARGIN, x + MARGIN - panelRect.width);\n const newCaretOffset = left - newLeft;\n panel.style.setProperty(\"--left\", `${newLeft}px`);\n panel.style.setProperty(\"--caret-offset\", `${newCaretOffset}px`);\n }\n}\n\nasync function loadStyle() {\n try {\n return (await import(\"text!../../assets/dfn-panel.css\")).default;\n } catch {\n return fetchAsset(\"dfn-panel.css\");\n }\n}\n","// @ts-check\n/**\n * Module core/data-type\n * Propagates data type of a to subsequent instances within a section.\n * Also adds the CSS for the data type tooltip.\n * Set `conf.highlightVars = true` to enable.\n */\nimport { fetchAsset } from \"./text-loader.js\";\n\nexport const name = \"core/data-type\";\n\nconst tooltipStylePromise = loadStyle();\n\nasync function loadStyle() {\n try {\n return (await import(\"text!../../assets/datatype.css\")).default;\n } catch {\n return fetchAsset(\"datatype.css\");\n }\n}\n\nexport async function run(conf) {\n if (!conf.highlightVars) {\n return;\n }\n\n const style = document.createElement(\"style\");\n style.textContent = await tooltipStylePromise;\n document.head.appendChild(style);\n\n let section = null;\n const varMap = new Map();\n /** @type {NodeListOf} */\n const variables = document.querySelectorAll(\"section var\");\n for (const varElem of variables) {\n const currentSection = varElem.closest(\"section\");\n if (section !== currentSection) {\n section = currentSection;\n varMap.clear();\n }\n if (varElem.dataset.type) {\n varMap.set(varElem.textContent.trim(), varElem.dataset.type);\n continue;\n }\n const type = varMap.get(varElem.textContent.trim());\n if (type) varElem.dataset.type = type;\n }\n}\n","// @ts-check\n/**\nCurrently used only for adding 'assert' class to algorithm lists\n*/\n\nimport { fetchAsset } from \"./text-loader.js\";\n\nexport const name = \"core/algorithms\";\n\nconst cssPromise = loadStyle();\n\nasync function loadStyle() {\n try {\n return (await import(\"text!../../assets/algorithms.css\")).default;\n } catch {\n return fetchAsset(\"algorithms.css\");\n }\n}\n\nexport async function run() {\n const elements = Array.from(document.querySelectorAll(\"ol.algorithm li\"));\n elements\n .filter(li => li.textContent.trim().startsWith(\"Assert: \"))\n .forEach(li => li.classList.add(\"assert\"));\n if (document.querySelector(\".assert\")) {\n const style = document.createElement(\"style\");\n style.textContent = await cssPromise;\n document.head.appendChild(style);\n }\n}\n","// @ts-check\n// expands empty anchors based on their context\nimport { makeSafeCopy, norm, showInlineError } from \"./utils.js\";\n\nexport const name = \"core/anchor-expander\";\n\nexport function run() {\n /** @type {NodeListOf} */\n const anchorElements = document.querySelectorAll(\n \"a[href^='#']:not(.self-link):not([href$='the-empty-string'])\"\n );\n const anchors = [...anchorElements].filter(a => a.textContent.trim() === \"\");\n for (const a of anchors) {\n const id = a.getAttribute(\"href\").slice(1);\n const matchingElement = document.getElementById(id);\n if (!matchingElement) {\n a.textContent = a.getAttribute(\"href\");\n const msg = `Couldn't expand inline reference. The id \"${id}\" is not in the document.`;\n showInlineError(a, msg, `No matching id in document: ${id}.`);\n continue;\n }\n switch (matchingElement.localName) {\n case \"h6\":\n case \"h5\":\n case \"h4\":\n case \"h3\":\n case \"h2\": {\n processHeading(matchingElement, a);\n break;\n }\n case \"section\": {\n // find first heading in the section\n processSection(matchingElement, id, a);\n break;\n }\n case \"figure\": {\n processFigure(matchingElement, id, a);\n break;\n }\n case \"aside\":\n case \"div\": {\n processBox(matchingElement, id, a);\n break;\n }\n default: {\n a.textContent = a.getAttribute(\"href\");\n const msg = \"ReSpec doesn't support expanding this kind of reference.\";\n showInlineError(a, msg, `Can't expand \"#${id}\".`);\n }\n }\n localize(matchingElement, a);\n a.normalize();\n }\n}\n\nfunction processBox(matchingElement, id, a) {\n const selfLink = matchingElement.querySelector(\".marker .self-link\");\n if (!selfLink) {\n a.textContent = a.getAttribute(\"href\");\n const msg = `Found matching element \"${id}\", but it has no title or marker.`;\n showInlineError(a, msg, \"Missing title.\");\n return;\n }\n const copy = makeSafeCopy(selfLink);\n a.append(...copy.childNodes);\n a.classList.add(\"box-ref\");\n}\n\nfunction processFigure(matchingElement, id, a) {\n const figcaption = matchingElement.querySelector(\"figcaption\");\n if (!figcaption) {\n a.textContent = a.getAttribute(\"href\");\n const msg = `Found matching figure \"${id}\", but figure is lacking a \\`\\`.`;\n showInlineError(a, msg, \"Missing figcaption in referenced figure.\");\n return;\n }\n // remove the figure's title\n const children = [...makeSafeCopy(figcaption).childNodes].filter(\n node => !node.classList || !node.classList.contains(\"fig-title\")\n );\n // drop an empty space at the end.\n children.pop();\n a.append(...children);\n a.classList.add(\"fig-ref\");\n const figTitle = figcaption.querySelector(\".fig-title\");\n if (!a.hasAttribute(\"title\") && figTitle) {\n a.title = norm(figTitle.textContent);\n }\n}\n\nfunction processSection(matchingElement, id, a) {\n const heading = matchingElement.querySelector(\"h6, h5, h4, h3, h2\");\n if (!heading) {\n a.textContent = a.getAttribute(\"href\");\n const msg =\n \"Found matching section, but the section was lacking a heading element.\";\n showInlineError(a, msg, `No matching id in document: \"${id}\".`);\n return;\n }\n processHeading(heading, a);\n localize(heading, a);\n}\n\nfunction processHeading(heading, a) {\n const hadSelfLink = heading.querySelector(\".self-link\");\n const children = [...makeSafeCopy(heading).childNodes].filter(\n node => !node.classList || !node.classList.contains(\"self-link\")\n );\n a.append(...children);\n if (hadSelfLink) a.prepend(\"§\\u00A0\");\n a.classList.add(\"sec-ref\");\n}\n\nfunction localize(matchingElement, newElement) {\n for (const attrName of [\"dir\", \"lang\"]) {\n // Already set on element, don't override.\n if (newElement.hasAttribute(attrName)) continue;\n\n // Closest in tree setting the attribute\n const matchingClosest = matchingElement.closest(`[${attrName}]`);\n if (!matchingClosest) continue;\n\n // Closest to reference setting the attribute\n const newClosest = newElement.closest(`[${attrName}]`);\n\n // It's the same, so already inherited from closest (probably HTML element or body).\n if (\n newClosest &&\n newClosest.getAttribute(attrName) ===\n matchingClosest.getAttribute(attrName)\n )\n continue;\n // Otherwise, set it.\n newElement.setAttribute(attrName, matchingClosest.getAttribute(attrName));\n }\n}\n","// @ts-check\n/**\n * Fetches commits between two commitish (tag or commit) - `from` and `to=HEAD`\n * and shows them as a list of \"changes during\" those commitish. If a filter\n * function is provided by the user, it is used to filter the commits that are\n * to be shown. Otherwise, all commits are shown.\n *\n * @typedef {{message: string, hash: string}} Commit\n */\nimport { github } from \"../github.js\";\nimport { html } from \"../import-maps.js\";\nimport { showInlineError } from \"../utils.js\";\n\nexport const name = \"rs-changelog\";\n\nexport const element = class ChangelogElement extends HTMLElement {\n constructor() {\n super();\n this.props = {\n from: this.getAttribute(\"from\"),\n to: this.getAttribute(\"to\") || \"HEAD\",\n /** @type {(commit: Commit) => boolean} */\n filter:\n typeof window[this.getAttribute(\"filter\")] === \"function\"\n ? window[this.getAttribute(\"filter\")]\n : () => true,\n };\n }\n\n connectedCallback() {\n const { from, to, filter } = this.props;\n html.bind(this)`\n \n ${{\n any: fetchCommits(from, to, filter)\n .then(commits => toHTML(commits))\n .catch(error => showInlineError(this, error.message, error.message))\n .finally(() => {\n this.dispatchEvent(new CustomEvent(\"done\"));\n }),\n placeholder: \"Loading list of commits...\",\n }}\n \n `;\n }\n};\n\nasync function fetchCommits(from, to, filter) {\n /** @type {Commit[]} */\n let commits;\n try {\n const gh = await github;\n if (!gh) {\n throw new Error(\"`respecConfig.github` is not set\");\n }\n const url = new URL(\"commits\", `${gh.apiBase}/${gh.fullName}/`);\n url.searchParams.set(\"from\", from);\n url.searchParams.set(\"to\", to);\n\n const res = await fetch(url.href);\n if (!res.ok) {\n throw new Error(\n `Request to ${url} failed with status code ${res.status}`\n );\n }\n commits = await res.json();\n if (!commits.length) {\n throw new Error(`No commits between ${from}..${to}.`);\n }\n commits = commits.filter(filter);\n } catch (error) {\n const msg = `Error loading commits from GitHub. ${error.message}`;\n console.error(error);\n throw new Error(msg);\n }\n return commits;\n}\n\nasync function toHTML(commits) {\n const { repoURL } = await github;\n return commits.map(commit => {\n const [message, prNumber = null] = commit.message.split(/\\(#(\\d+)\\)/, 2);\n const commitURL = `${repoURL}commit/${commit.hash}`;\n const prURL = prNumber ? `${repoURL}pull/${prNumber}` : null;\n const pr = prNumber && html` (#${prNumber} )`;\n return html`${message.trim()} ${pr} `;\n });\n}\n","// @ts-check\n/**\n * Registers custom elements and waits for them to finish their processing.\n *\n * Every custom element file exports:\n * - `name`: registered name of the custom element, prefixed with `rs-`.\n * - `element`: class defintion of the custom element.\n *\n * Every custom element must dispatch a CustomEvent 'done' that tells the\n * element has finished its processing, with or without errors.\n *\n * @typedef {{ name: string, element: CustomElementConstructor }} CustomElementDfn\n */\n\nimport * as changelog from \"./rs-changelog.js\";\n/** @type {CustomElementDfn[]} */\nconst CUSTOM_ELEMENTS = [changelog];\n\nexport const name = \"core/custom-elements/index\";\n\nexport async function run() {\n // prepare and register elements\n CUSTOM_ELEMENTS.forEach(el => {\n customElements.define(el.name, el.element);\n });\n\n // wait for each element to be ready\n const selectors = CUSTOM_ELEMENTS.map(el => el.name).join(\", \");\n const elems = document.querySelectorAll(selectors);\n const readyPromises = [...elems].map(\n el => new Promise(res => el.addEventListener(\"done\", res, { once: true }))\n );\n await Promise.all(readyPromises);\n}\n","// @ts-check\n/**\n * Module: core/a11y\n * Lints for accessibility issues using axe-core package.\n */\n\nimport { pub } from \"./pubsubhub.js\";\nimport { showInlineWarning } from \"./utils.js\";\n\nexport const name = \"core/a11y\";\n\nconst DISABLED_RULES = [\n \"color-contrast\", // too slow 🐢\n \"landmark-one-main\", // need to add a , else it marks entire page as errored\n \"landmark-unique\",\n \"region\",\n];\n\nexport async function run(conf) {\n if (!conf.a11y) {\n return;\n }\n\n const options = conf.a11y === true ? {} : conf.a11y;\n const violations = await getViolations(options);\n for (const violation of violations) {\n /**\n * We're grouping by failureSummary as it contains hints to fix the issue.\n * For example, with color-constrast rule, it tells about the present color\n * contrast and how to fix it. If we don't group, errors will be repetitive.\n * @type {Map}\n */\n const groupedBySummary = new Map();\n for (const node of violation.nodes) {\n const { failureSummary, element } = node;\n const elements =\n groupedBySummary.get(failureSummary) ||\n groupedBySummary.set(failureSummary, []).get(failureSummary);\n elements.push(element);\n }\n\n const { id, help, description, helpUrl } = violation;\n const title = `a11y/${id}: ${help}`;\n for (const [failureSummary, elements] of groupedBySummary) {\n const hints = formatHintsAsMarkdown(failureSummary);\n const details = `\\n\\n${description}.\\n\\n${hints}. ([Learn more](${helpUrl}))`;\n showInlineWarning(elements, title, title, { details });\n }\n }\n}\n\n/**\n * @param {object} opts Options as described at https://github.com/dequelabs/axe-core/blob/develop/doc/API.md#options-parameter\n */\nasync function getViolations(opts) {\n const { rules, ...otherOptions } = opts;\n const options = {\n rules: {\n ...Object.fromEntries(DISABLED_RULES.map(id => [id, { enabled: false }])),\n ...rules,\n },\n ...otherOptions,\n elementRef: true,\n resultTypes: [\"violations\"],\n reporter: \"v1\", // v1 includes a `failureSummary`\n };\n\n let axe;\n try {\n axe = await importAxe();\n } catch (error) {\n const msg =\n \"Failed to load a11y linter. See developer console for details.\";\n pub(\"error\", msg);\n console.error(error);\n return [];\n }\n\n try {\n const result = await axe.run(document, options);\n return result.violations;\n } catch (error) {\n pub(\"error\", \"Error while looking for a11y issues.\");\n console.error(error);\n return [];\n }\n}\n\n/** @returns {Promise} */\nfunction importAxe() {\n const script = document.createElement(\"script\");\n script.classList.add(\"remove\");\n script.src = \"https://unpkg.com/axe-core@3/axe.min.js\";\n document.head.appendChild(script);\n return new Promise((resolve, reject) => {\n script.onload = () => resolve(window.axe);\n script.onerror = reject;\n });\n}\n\n/** @param {string} text */\nfunction formatHintsAsMarkdown(text) {\n const results = [];\n for (const group of text.split(\"\\n\\n\")) {\n const [msg, ...opts] = group.split(/^\\s{2}/m);\n const options = opts.map(opt => `- ${opt.trimEnd()}`).join(\"\\n\");\n results.push(`${msg}${options}`);\n }\n return results.join(\"\\n\\n\");\n}\n"],"names":["window","addEventListener","ev","console","error","message","modules","Promise","runner","ui","plugins","all","show","async","document","readyState","resolve","domReady","runAll","enable","catch","err","inAmd","require","deps","callback","map","dep","Error","then","results","expose","name","object","subscriptions","Map","pub","topic","data","has","Array","from","get","forEach","cb","parent","self","args","arg","String","JSON","stringify","stack","postMessage","location","origin","sub","opts","once","wrapper","callbacks","warn","delete","unsub","add","set","Set","str","userConfig","amendConfig","newValues","Object","assign","removeList","script","createElement","id","type","prop","innerHTML","head","appendChild","config","searchQuery","search","replace","params","URLSearchParams","overrideEntries","filter","key","value","codedKey","codedValue","decodeURIComponent","decodedValue","parse","overrideProps","fromEntries","respecDonePromise","doneResolver","defineProperty","done","result","isArray","postProcess","promises","f","isFunction","values","push","afterEnd","preProcess","html","documentElement","hasAttribute","lang","dir","l10n","en","idbProxyableTypes","cursorAdvanceMethods","cursorRequestMap","WeakMap","transactionDoneMap","transactionStoreNamesMap","transformCache","reverseTransformCache","idbProxyTraps","[object Object]","target","receiver","IDBTransaction","objectStoreNames","undefined","objectStore","wrap","wrapFunction","func","IDBDatabase","prototype","transaction","IDBCursor","advance","continue","continuePrimaryKey","includes","apply","unwrap","this","storeNames","tx","call","sort","transformCachableValue","reject","unlisten","removeEventListener","complete","DOMException","cacheDonePromiseForTransaction","IDBObjectStore","IDBIndex","some","c","Proxy","IDBRequest","request","promise","success","promisifyRequest","newValue","readMethods","writeMethods","cachedMethods","getMethod","targetFuncName","useIndex","isWrite","method","storeName","store","index","shift","returnVal","oldTraps","blocked","indexedDB","deleteDatabase","version","upgrade","blocking","terminated","open","openPromise","event","oldVersion","newVersion","db","source","position","current","kind","level","autofix","ruleName","sliceTokens","count","slice","Math","max","tokensToText","inputs","precedes","text","t","trivia","join","nextToken","length","line","precedingLastLine","splitted","split","lastLine","subsequentTokens","subsequentText","sourceContext","repeat","contextType","context","partial","bareMessage","sourceName","input","tokens","syntaxError","validationError","token","options","Base","defineProperties","writable","json","inheritance","proto","descMap","getOwnPropertyDescriptors","entries","enumerable","getPrototypeOf","idlTypeIncludesDictionary","idlType","defs","useNullableInner","union","def","unique","typedefIncludesDictionary","cache","reference","dictionary","nullable","subtype","type_suffix","tokeniser","obj","consume","probe","single_type","typeName","ret","base","autoParenter","Type","return_type","type_with_extended_attributes","keyType","stringTypes","keyIdlType","separator","valueType","close","generic_type","primitive_type","typeNameKeywords","generic","typ","or","union_type","super","extAttrs","Boolean","unescape","prefix","postfix","typedef","targetToken","validate","Default","const_value","expression","const_data","negative","ArrayBase","Token","tokenName","list","parser","listName","extAttrValueSyntax","extAttrListItems","syntax","toks","ExtendedAttributeParameters","secondaryName","rhsIsList","argument_list","hasRhs","rhsType","SimpleExtendedAttribute","rhs","arguments","ExtendedAttributes","extAttr","Argument","start_position","optional","variadic","argumentNameKeywords","default","unconsume","autofixOptionalDictionaryDefaultValue","dictionaryIncludesRequiredField","dict","superdict","members","field","required","indexOf","a","isLastRequiredArgument","firstToken","getFirstToken","Tokeniser","Operation","special","regular","termination","argument","Attribute","noInherit","readonly","identifier","startsWith","allowDangler","first","items","item","num_type","integer_type","decimal_type","voidToken","stringifier","getLastIndentation","lines","match","autofixAddExposedWindow","exposed","existing","test","unshift","x","y","p","tokenRe","decimal","integer","string","whitespace","comment","other","nonRegexTerminals","concat","punctuations","reserved","idl","lastCharIndex","nextChar","charAt","attemptTokenMatch","noFlushTrivia","currentTrivia","pop","lastIndex","WebIDLParseError","punctuation","re","exec","tokenise","candidates","EnumValue","Enum","Includes","mixin","Typedef","CallbackFunction","Container","instance","inheritable","allowedMembers","colon","ea","mem","member","Constant","IterableLike","secondTypeRequired","secondTypeAllowed","Constructor","static_member","Interface","every","oldConstructors","constructor","autofixConstructor","namedConstructors","named","constructors","i","opNames","getOperations","op","partials","mixins","mixinMap","ext","additions","forEachExtension","addition","existings","checkInterfaceMemberDuplication","interfaceDef","constructorExtAttr","indentation","memberIndent","parentTrivia","indentCh","getMemberIndentation","constructorOp","existingIndex","array","predicate","reverse","findIndex","findLastIndex","m","splice","removed","trim","Mixin","Field","Dictionary","Namespace","CallbackInterface","parseByTokens","interface_","definition","res","eof","concrete","definitions","noop","templates","nameless","extendedAttribute","extendedAttributeReference","getMixinMap","include","validateIterable","ast","duplicates","groupDefinitions","dup","checkDuplicatedNames","ts","raw","unescaped","reference_token","name_token","type_body","it","ref","extended_attributes","default_","extended_attribute_listitem","make_ext_at","endsWith","eats","container","inh","iterate","iterable_like","table","interface","interface mixin","namespace","operation","body","attribute","const","enum","enum-value","v","iterable","maplike","setlike","callback interface","things","thing","dispatch","flat","defaults","fn","module","exports","createCommonjsModule","getDefaults","baseUrl","breaks","gfm","headerIds","headerPrefix","highlight","langPrefix","mangle","pedantic","renderer","sanitize","sanitizer","silent","smartLists","smartypants","xhtml","changeDefaults","newDefaults","escapeTest","escapeReplace","escapeTestNoEncode","escapeReplaceNoEncode","escapeReplacements","&","<",">","\"","'","getEscapeReplacement","ch","unescapeTest","_","n","toLowerCase","fromCharCode","parseInt","substring","caret","nonWordAndColonTest","originIndependentUrl","baseUrls","justDomain","protocol","domain","resolveUrl","href","rtrim","relativeBase","invert","l","suffLen","currChar","substr","helpers","escape","encode","edit","regex","opt","val","getRegex","RegExp","cleanUrl","prot","e","encodeURI","noopTest","merge","hasOwnProperty","splitCells","tableRow","cells","offset","escaped","curr","findClosingBracket","b","checkSanitizeDeprecation","noopTest$1","edit$1","merge$1","block","newline","code","fences","hr","heading","blockquote","nptable","lheading","_paragraph","_label","_title","bullet","_tag","_comment","paragraph","normal","inline","autolink","url","tag","link","reflink","nolink","strong","em","br","del","_punctuation","_escapes","_scheme","_email","_attribute","_href","_extended_email","_backpedal","rules","defaults$1","block$1","rtrim$1","splitCells$1","escape$1","Lexer_1","Lexer","links","create","src","lex","top","next","loose","cap","bull","listStart","listItems","space","isordered","istask","ischecked","lastToken","trimRight","codeBlockStyle","depth","header","align","ordered","start","task","checked","pre","title","charCodeAt","defaults$2","cleanUrl$1","escape$2","Renderer_1","infostring","out","quote","slugger","slug","content","flags","Slugger_1","seen","originalSlug","defaults$3","inline$1","findClosingBracket$1","escape$3","InlineLexer_1","InlineLexer","output","prevCapZero","inLink","inRawBlock","lastParenIndex","linkLen","outputLink","escapes","codespan","image","random","toString","TextRenderer_1","defaults$4","merge$2","unescape$1","Parser_1","Parser","inlineText","tok","peek","row","cell","j","tablecell","tablerow","checkbox","parseText","listitem","errMsg","log","merge$3","checkSanitizeDeprecation$1","escape$4","defaults$5","marked","pending","setOptions","Renderer","TextRenderer","lexer","inlineLexer","Slugger","marked_1","globalThis","global","pluralize","root","commonjsGlobal","pluralRules","singularRules","uncountables","irregularPlurals","irregularSingles","sanitizeRule","rule","restoreCase","word","toUpperCase","interpolate","sanitizeWord","len","replaceWord","replaceMap","keepMap","checkWord","bool","inclusive","singular","plural","isPlural","isSingular","addPluralRule","replacement","addSingularRule","addUncountableRule","addIrregularRule","single","hyperHTML","N","r","configurable","o","s","WeakSet","u","insertBefore","selected","selectedIndex","querySelectorAll","w","nextSibling","E","k","remove","parentNode","removeChild","compare","node","before","h","d","g","newi","oldi","prev","C","createEvent","initCustomEvent","bubbles","cancelable","detail","CustomEvent","_wire$","ELEMENT_NODE","nodeType","A","S","O","T","M","L","P","D","W","attributes","define","invoke","$","R","H","$1","childNodes","F","firstChild","createDocumentFragment","createElementNS","I","z","V","Z","G","q","B","J","Q","U","X","Y","toFixed","ee","getAttribute","te","ae","oe","ue","ce","le","se","fe","he","de","ve","pe","ge","me","ye","be","we","Ne","removeAttribute","nodeName","setAttributeNode","cloneNode","textContent","replaceChild","path","sparse","xe","Ee","Ce","ke","convert","transform","Oe","updates","any","Ae","Te","Me","_e","setAttribute","getAttributeNode","Le","style","je","cssText","setProperty","Pe","De","We","$e","lastChild","ownerDocument","createRange","setStartBefore","setEndAfter","deleteContents","valueOf","Re","Fe","Qe","Ke","render","He","placeholder","Ie","ze","Ve","Ze","Ge","qe","Be","Ue","Event","MutationObserver","observe","subtree","childList","clearTimeout","setTimeout","addedNodes","removedNodes","dispatchEvent","children","Xe","Ye","et","Se","tt","removeAttributeNode","createTextNode","nt","defaultView","navigator","userAgent","propertyIsEnumerable","isFrozen","rt","at","ot","ct","ut","lt","st","template","tagger","ft","ht","dt","vt","pt","gt","mt","wire","bind","Component","diff","hyper","for","handleEvent","currentTarget","svg","state","defaultState","component","setState","idb","_idb","webidl2","_webidl2","_marked","_pluralize","dashes","getIntlData","x_and_y","x_y_and_z","ISODate","Intl","DateTimeFormat","timeZone","year","month","day","resourceHints","fetchDestinations","nonNormativeSelector","createResourceHint","TypeError","hint","URL","linkElem","rel","corsMode","crossOrigin","as","dontRemove","classList","removeReSpec","doc","elem","showInlineWarning","elems","msg","details","element","markAsOffending","generateMarkdownLink","showInlineError","addId","IDBKeyVal","keys","keySet","cursor","openCursor","put","clear","getAllKeys","joinAnd","mapper","docLang","ListFormat","format","lastComma","lastIndexOf","and","norm","localizationStrings","zh-hans","zh-cn","resolveLanguageAlias","concatDate","date","sep","runTransforms","flist","funcArgs","methods","meth","fetchAndCache","maxAge","Request","cachedResponse","caches","Date","headers","response","fetch","ok","clonedResponse","clone","customHeaders","Headers","expiryDate","now","cacheResponse","Response","blob","htmlJoinComma","joined","htmlJoinAnd","addHashId","hash","char","imul","hashString","pfx","txt","noLC","normalize","getElementById","nextId","getTextNodes","el","exclusions","wsNodes","exclusionQuery","nodeIterator","createNodeIterator","NodeFilter","SHOW_TEXT","parentElement","closest","FILTER_REJECT","FILTER_ACCEPT","textNodes","nextNode","getDfnTitles","titleSet","normText","dataset","child","getElementsByTagName","localLt","getLinkTargets","linkForElem","linkFor","reduce","renameElement","newName","localName","newElement","append","replaceWith","refTypeFromContext","closestInformative","isInformative","querySelector","illegal","wrapInner","outer","parents","selector","getElementIndentation","previousSibling","Node","TEXT_NODE","InsensitiveStringSet","getCanonicalKey","existingKey","find","makeSafeCopy","dfn","removeCommentNodes","walker","createTreeWalker","SHOW_COMMENT","walkTree","CaseInsensitiveMap","canMeasure","performance","mark","measure","toRunnable","plug","timerId","Plugin","run","isRunnableModule","plugs","respecConfig","preProcessDone","runnables","postProcessDone","fetchBase","fetchAsset","fileName","reindent","trimEnd","indents","leastIndent","min","gtEntity","ampEntity","language","isEscaped","headingWithIdRegex","markdownToHtml","potentialMarkdown","convertElement","prepend","Builder","tagName","section","findPosition","findParent","process","findHeader","structure","fragment","addHeader","addSection","addElement","processMDSections","elements","conf","hasMDSections","isMDFormat","structuredInternals","firstElementChild","rsUI","newBody","trimStart","firstTwo","lastTwo","workaroundBlockLevelMarkdown","substituteWithTextNodes","all_shortcuts","shortcut_combination","default_options","propagate","disable_in_input","keycode","dfo","ele","srcElement","keyCode","which","character","kp","shift_nums","`","1","2","3","4","5","6","7","8","9","0","-","=",";",",",".","/","\\","special_keys","esc","tab","return","enter","backspace","scrolllock","scroll_lock","scroll","capslock","caps_lock","caps","numlock","num_lock","num","pause","break","insert","home","end","pageup","page_up","pu","pagedown","page_down","pd","left","up","right","down","f1","f2","f3","f4","f5","f6","f7","f8","f9","f10","f11","f12","modifiers","wanted","pressed","ctrl","alt","meta","ctrlKey","shiftKey","altKey","metaKey","cancelBubble","returnValue","stopPropagation","preventDefault","attachEvent","ariaDecorate","ariaMap","styleElement","loadStyle","insertStyle","respecUI","menu","closeButton","closeModal","modal","overlay","trapFocus","errors","warnings","buttons","respecPill","toggleMenu","toggle","hidden","focusableEls","firstFocusableEl","lastFocusableEl","focus","activeElement","errWarn","arr","butName","button","ol","createContextualFragment","li","lastElementChild","freshModal","createWarnButton","label","handler","keyShort","icon","menuItem","shortcut","owner","currentOwner","headingId","click","warning","jquery","factory","noGlobal","getProto","class2type","hasOwn","fnToString","ObjectFunctionString","support","isWindow","preservedScriptAttributes","nonce","noModule","DOMEval","toType","jQuery","init","isArrayLike","toArray","pushStack","prevObject","each","eq","last","extend","copy","copyIsArray","deep","isPlainObject","expando","isReady","Ctor","isEmptyObject","globalEval","makeArray","inArray","second","grep","matches","callbackExpect","guid","Symbol","iterator","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","preferredDoc","dirruns","classCache","createCache","tokenCache","compilerCache","nonnativeSelectorCache","sortOrder","push_native","booleans","pseudos","rwhitespace","rcomma","rcombinators","rdescend","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","needsContext","rhtml","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","escapedWhitespace","high","rcssescape","fcssescape","asCodePoint","unloadHandler","inDisabledFieldset","addCombinator","disabled","els","seed","nid","groups","newSelector","newContext","getElementsByClassName","qsa","toSelector","testContext","qsaError","cacheLength","markFunction","assert","addHandle","attrs","attrHandle","siblingCheck","cur","sourceIndex","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","matchIndexes","namespaceURI","hasCompare","subWindow","className","createComment","getById","getElementsByName","attrId","tmp","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","sortDetached","aup","ap","bp","expr","attr","specified","sel","uniqueSort","detectDuplicates","sortStable","nodeValue","selectors","createPseudo","relative"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","what","simple","forward","ofType","xml","uniqueCache","outerCache","nodeIndex","useCache","uniqueID","pseudo","setFilters","idx","matched","not","matcher","unmatched","elemLang","hasFocus","tabIndex","enabled","empty","even","odd","radio","file","password","submit","reset","combinator","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","contexts","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","filters","parseOnly","soFar","preFilters","cached","setMatchers","elementMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","matcherFromGroupMatchers","compiled","defaultValue","isXMLDoc","escapeSelector","until","truncate","is","siblings","rneedsContext","rsingleTag","winnow","qualifier","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","contents","sibling","targets","prevAll","addBack","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","rnothtmlwhite","Identity","Thrower","ex","adoptValue","noValue","fail","Callbacks","flag","createOptions","firing","memory","fired","locked","queue","firingIndex","fire","stopOnFalse","disable","lock","fireWith","Deferred","tuples","always","deferred","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","that","mightThrow","notifyWith","resolveWith","exceptionHook","stackTrace","rejectWith","getStackHook","stateString","when","singleValue","remaining","resolveContexts","resolveValues","master","updateFunc","rerrorNames","readyException","readyList","completed","readyWait","wait","doScroll","access","chainable","emptyGet","bulk","rmsPrefix","rdashAlpha","fcamelCase","letter","camelCase","acceptData","Data","uid","hasData","dataPriv","dataUser","rbrace","rmultiDash","dataAttr","getData","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","defer","pnum","rcssNum","cssExpand","isAttached","composed","getRootNode","isHiddenWithinTree","display","css","swap","old","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","getDefaultDisplay","showHide","hide","rcheckableType","rtagName","rscriptType","wrapMap","option","thead","col","tr","td","_default","getAll","setGlobalEval","refElements","optgroup","tbody","tfoot","colgroup","caption","th","buildFragment","scripts","selection","ignored","attached","nodes","htmlPrefilter","div","checkClone","noCloneChecked","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","expectSync","safeActiveElement","on","types","one","origFn","off","leverageNative","notAsync","saved","isTrigger","delegateType","stopImmediatePropagation","trigger","handleObjIn","eventHandle","events","handleObj","handlers","namespaces","origType","elemData","handle","triggered","bindType","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","isImmediatePropagationStopped","rnamespace","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","originalEvent","load","noBubble","beforeunload","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","isSimulated","changedTouches","eventPhase","pageX","pageY","view","charCode","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","blur","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rxhtmlTag","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","pdataOld","pdataCur","udataOld","udataCur","fixInput","domManip","collection","hasScripts","iNoClone","valueIsFunction","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","after","appendTo","prependTo","insertAfter","replaceAll","original","rnumnonpx","getStyles","opener","getComputedStyle","rboxStyle","curCSS","computed","width","minWidth","maxWidth","getPropertyValue","pixelBoxStyles","addGetHookIf","conditionFn","hookFn","computeStyleTests","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","pixelBoxStylesVal","boxSizingReliableVal","scrollboxSizeVal","offsetWidth","round","parseFloat","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","cssPrefixes","emptyStyle","vendorProps","finalPropName","final","cssProps","capName","vendorPropName","rdisplayswap","rcustomProp","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","setPositiveNumber","subtract","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","delta","ceil","getWidthOrHeight","valueIsBorderBox","offsetProp","getClientRects","Tween","easing","cssHooks","opacity","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","lineHeight","order","orphans","widows","zIndex","zoom","origName","isCustomProp","isFinite","getBoundingClientRect","scrollboxSizeBuggy","margin","padding","border","suffix","expand","expanded","parts","propHooks","percent","eased","duration","pos","step","fx","scrollTop","scrollLeft","linear","swing","cos","PI","fxNow","inProgress","rfxtypes","rrun","schedule","requestAnimationFrame","interval","tick","createFxNow","genFx","includeWidth","height","createTween","animation","Animation","tweeners","properties","stopped","prefilters","currentTime","startTime","tweens","specialEasing","originalProperties","originalOptions","gotoEnd","propFilter","timer","anim","*","tweener","oldfire","propTween","restoreDisplay","isBox","dataShow","unqueued","overflow","overflowX","overflowY","prefilter","speed","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","time","timeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","tabindex","class","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","isValidValue","classNames","hasClass","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","simulate","triggerHandler","attaches","rquery","parseXML","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","valueOrFunction","encodeURIComponent","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","active","lastModified","etag","isLocal","processData","contentType","accepts","responseFields","converters","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getResponseHeader","getAllResponseHeaders","setRequestHeader","overrideMimeType","mimeType","status","abort","statusText","finalText","crossDomain","host","hasContent","ifModified","beforeSend","send","nativeStatusText","responses","isSuccess","modified","finalDataType","firstDataType","ajaxHandleResponses","conv2","conv","dataFilter","throws","ajaxConvert","getJSON","getScript","text script","wrapAll","htmlIsFunction","visible","offsetHeight","xhr","XMLHttpRequest","xhrSuccessStatus","1223","xhrSupported","cors","errorCallback","username","xhrFields","onload","onerror","onabort","ontimeout","onreadystatechange","responseType","responseText","binary","scriptAttrs","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","animated","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","curElem","using","rect","win","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","defaultExtra","funcName","hover","fnOver","fnOut","unbind","delegate","undelegate","proxy","holdReady","hold","parseJSON","isNumeric","isNaN","_jQuery","_$","noConflict","newElem","linkTargets","makeID","allTextNodes","respecIsReady","hasLink","isLegacyFrag","privs","LinterRule","lintingFunction","lint","canLint","description","howToFix","defaultLang","metas","occurrences","help","offendingElements","punctuationMarks","punctuatingRegExp","privates","linter","newRules","newRule","promisesToLint","resultPromise","baseResult","toLinterWarning","isBrokenHyperlink","nl","hasNoHeading","offendingMembers","getOwnPropertyNames","isRecTrack","saysPrivOrSec","saysConsiderations","hasPriSecConsiderations","register","noHttpPropsRule","noHeadinglessSectionsRule","checkPunctuation","localRefsExist","checkInternalSlots","checkCharset","privsecSection","coreDefaults","no-headingless-sections","no-http-props","check-punctuation","local-refs-exist","check-internal-slots","check-charset","privsec-section","specStatus","highlightVars","addSectionLinks","definitionMap","registerDefinition","names","filesInWPT","testSuiteURI","githubAPIBase","wptDirectory","testSuiteURL","pathname","searchParams","files","entry","getFilesInWPT","githubAPI","offendingTests","testables","tests","missingTests","privsecSectionRule","wptTestsExist","w3cDefaults","wpt-tests-exist","doJsonLd","license","logos","xref","noReSpecCSS","frag","createBaseStyle","delimiter","toKeyValuePairs","initial-scale","shrink-to-fit","createMetaViewport","styleFile","styleVersion","selectStyleVersion","useExperimentalStyles","noToc","attachFixupScript","finalStyleURL","linkURL","nextLink","linkCSS","exportDoc","w3cStyle","status_at_publication","ko","zh","ja","es","resolveGithubPromise","rejectGithubPromise","github","file_a_bug","participate","commit_history","ghURL","tempURL","repoURL","org","repo","branch","issueBase","newProps","edDraftURI","githubToken","githubUser","atRiskBase","otherLinks","pullBase","shortName","otherLink","hostname","normalizedGHObj","apiBase","fullName","normalizedConfig","processResponse","rawData","oninclude","includeReplace","includeFormat","fill","indented","indent","indentTextWithoutFirstLine","fillWithText","removeIncludeAttributes","includables","promisesToInclude","includeId","default_title","h1Elem","isConnected","documentTitle","isPreview","prNumber","prUrl","setDocumentTitle","Number","isInteger","showLinkData","img","personName","company","editorid","w3cid","dd","span","mailto","orcid","companyURL","note","extras","getExtra","retiredDate","isValidDate","timeElem","langs","toLocaleString","humanDate","dateTime","textContainer","ccLicense","w3cLicense","author","authors","editor","editors","former_editor","former_editors","latest_editors_draft","latest_published_version","this_version","showLogo","specSubTitleElem","subtitle","getSpecSubTitleElem","prependW3C","textStatus","dashDate","publishHumanDate","isNoTrack","thisVersion","latestVersion","implementationReportURI","isED","prevED","showPreviousVersion","prevVersion","prevRecURI","isRec","multipleEditors","showPeople","formerEditors","multipleFormerEditors","multipleAuthors","showLink","errata","alternateFormats","multipleAlternates","alternatesHTML","existingCopyright","isUnofficial","additionalCopyrightHolders","overrideCopyright","linkLicense","copyrightStart","publishYear","isCCBY","noteIfDualLicense","isW3CSoftAndDocLicense","linkDocumentUse","renderOfficialCopyright","renderCopyright","cssClass","specTitleElem","specTitleElemClone","longStatus","isCGFinal","wgURI","wg","sotd","renderPreview","additionalContent","renderIsUnofficial","isTagFinding","isMO","renderIsNoTrack","isSubmission","isMemberSubmission","teamComment","publishDate","getUTCFullYear","submissionCommentNumber","noteForMemberSubmission","isTeamSubmission","mailToWGPublicListWithSubject","wgPublicList","mailToWGPublicListSubscription","subjectPrefix","noteForTeamSubmission","noteForSubmission","sotdAfterWGinfo","overrideStatus","wgHTML","anOrA","notYetRec","linkToWorkingGroup","linkToCommunity","isCR","isPER","isPR","humanCREnd","humanPEREnd","mailToWGPublicList","humanPREnd","renderImplementationReportURI","renderNotRec","isNote","wgId","isIGNote","multipleWGs","recNotExpected","wgPatentHTML","wgPatentURI","charterDisclosureURI","producers","renderDeliverer","addPatentNote","additionalSections","W3CDate","status2maturity","LS","LD","FPWD","LC","FPLC","FPWD-NOTE","WD-NOTE","LC-NOTE","IG-NOTE","WG-NOTE","status2rdf","NOTE","WD","CR","PR","REC","PER","RSCND","status2text","CG-NOTE","Member-SUBM","Team-SUBM","MO","ED","unofficial","finding","draft-finding","CG-DRAFT","CG-FINAL","BG-DRAFT","BG-FINAL","status2long","maybeRecTrack","recTrackStatus","noTrackStatus","cgbg","precededByAn","licenses","cc0","short","w3c-software","w3c-software-doc","cc-by","baseLogo","freeze","validateDateAndRecover","fallbackDate","formattedDate","collectSotdContent","sotdClone","hasChildNodes","licenseInfo","isCGBG","isBasic","isRegular","noRecTrack","memSubmissionLogo","teamSubmissionLogo","maturity","publishSpace","previousPublishDate","previousMaturity","pmat","prevRecShortname","peopCheck","orcidUrl","orcidId","lastDigit","lastDigitInt","acc","lastDigitShould","normalizeOrcid","uri","rdfStatus","showThisVersion","publishISODate","toISOString","shortISODate","urlParts","cgbgHeadersTmpl","headersTmpl","wgPotentialArray","pats","crEnd","prEnd","perEnd","cgbgSotdTmpl","sotdTmpl","populateSoTD","generatedSubtitle","abstract","abs","abstractHeading","processDfnElement","abbr","fullForm","insertAdjacentHTML","idlPrimitiveRegex","exceptionRegex","methodRegex","slotRegex","attributeRegex","enumRegex","methodSplitRegex","renderBase","renderParent","renderInternalSlot","renderAttribute","renderMethod","argsText","searchText","renderEnum","enumValue","forContext","renderException","renderIdlPrimitiveType","idlStringToHtml","nonMethodPart","methodPart","allArgs","SyntaxError","parseInlineIDL","ALLOWED_TYPES","readyPromise","openDB","deleteObjectStore","createObjectStore","keyPath","createIndex","openIdb","biblioDB","isAlias","resolveAlias","range","IDBKeyRange","only","aliasOf","aliasesAndRefs","alias","promisesToAdd","flatMap","isInDB","stores","clearStorePromises","biblio","bibrefsURL","updateFromNetwork","refs","forceUpdate","refsToFetch","onLine","addAll","resolveRef","normalizedNormativeRefs","normativeReferences","informativeReferences","redundantKey","localBiblio","localAliases","normalizeReferences","allRefs","getRefKeys","neededRefs","idbRefs","promisesToFind","getReferencesFromIdb","noData","externalRefs","info_references","norm_references","references","REF_STATUSES","defaultsReference","publisher","etAl","endWithDot","endStr","trimmed","toRefContent","refcontent","circular","renderInlineCitation","linkText","showRef","refId","stringifyReference","wireReference","rawRef","getAliases","aliases","decorateInlineReference","refUrl","linkType","warnBadRefs","badRefs","badrefs","informs","norms","refSection","sec","goodRefs","refObjects","uniqueRefs","refsToShow","toLocaleLowerCase","localeCompare","rfc2119Usage","rfc2119Keywords","inlineCodeRegExp","inlineIdlReference","inlineVariable","inlineCitation","inlineExpansion","inlineAnchor","inlineElement","inlineElementMatches","xrefType","xrefFor","inlineRFC2119Matches","nodeElement","inlineRefMatches","badReference","inlineXrefMatches","inlineBibrefMatches","spec","cite","cleanRef","inlineAbbrMatches","abbrMap","inlineVariableMatches","varName","inlineAnchorMatches","isFor","linkingText","processedContent","processInlineContent","part","inlineCodeMatches","clean","respecRFC2119","abbrs","aKeys","abbrRx","txts","keywords","rx","subtxt","df","conformance","normativity","keywordInterpretation","terms","processConformance","titles","dfnType","pluralizeDfn","dfnTexts","getPluralizer","plurals","size","userDefinedPlurals","uniquePlurals","example","cssPromise","makeTitle","report","number","examples","inAside","exampleTitle","editors_note","feature_at_risk","issue","issue_summary","no_issues_in_spec","handleIssues","ins","ghIssues","getIssueNumber","issueNumber","createIssueNumberGetter","issueList","inno","displayType","isFeatureAtRisk","isIssue","isWarning","isEdNote","getIssueType","isInline","dataNum","titleParent","ghIssue","linkToIssueTracker","l10nIssue","issueNumberText","createIssueSummaryEntry","labels","labelsGroup","color","bgColor","issuesURL","bgColorHex","createLabel","labelNames","joinedNames","createLabelsGroup","bodyHTML","issueSummaryElement","makeIssueSectionSummary","issuesAndNotes","issueNumbers","issues","fetchAndStoreGithubIssues","headElem","ednote","best_practice","bps","bpSummary","summaryItems","localizedBpName","list_of_figures","fig","naturalHeight","naturalWidth","tof","figure","decorateFigure","figureId","tofCaption","anchor","getTableOfFiguresListItem","collectFigures","tofElement","previousSections","sections","previous","previousElementSibling","iteratePreviousElements","getPreviousSections","decorateTableOfFigures","topLevelEntities","findDfn","defn","findNormalDfn","findOperationDfn","resolvedName","dfns","getDfns","alternativeDfns","decorateDfn","dfnElem","idlAst","lCaseParent","middle","dfnFor","getDataType","local","exportable","addAlternativeNames","asQualifiedName","operationName","argsAst","operationNames","isOptional","requiredArgs","requiredOperation","optionalOps","optionalArgs","generateMethodNamesWithArgs","getAlternativeNames","originalName","foundDfns","dfnForArray","closestDfnFor","idlStruct","copyButton","createButton","addCopyIDLButton","idlHeader","idlText","clipboard","writeText","idlPartials","Text","keyword","wrapped","idlLink","defineIdlName","getIdlDefinitionClassName","parentName","idlId","getNameAndId","getDfnType","export","unlinkedAnchor","nameResolverMap","getDefnName","getIdlId","resolvePartial","overload","qualifiedName","fullyQualifiedName","resolveOverload","resolveNameAndId","renderWebIDL","idlElement","highlights","write","closestCite","cites","addIDLHeader","idls","astArray","validations","validation","idlToFix","makeComponentFinder","citeDetailsConverter","findFrag","findPath","toCiteDetails","rawKey","citeFrag","citePath","parentKey","isNormative","closestIsNormative","hasPrecedingMark","linkInlineCitations","toLookupRequest","originalKey","relPath","noExport","requestLookup","citeConverter","promisesForMissingEntries","missingBibEntries","newEntries","lookupRequests","cleanup","attrToRemove","idlIndexSec","query","idlIndex","getIdbCache","resolveXrefCache","uniqueQueryKeys","lastChecked","API_URL","lastUpdated","shouldBustCache","getMany","resolveFromCache","profiles","web-platform","specs","invalidProfileError","profile","normalizeConfig","bodyCite","queryKeys","getRequestEntry","objectHash","apiUrl","uniqueIds","resultsFromCache","termsToLook","fetchedResults","Content-Type","fetchFromNetwork","addMany","cacheXrefData","ambiguous","notFound","addDataCite","collector","getPrefilledFormURL","term","originalTerm","getTermFromElement","formUrl","specsString","shortname","showErrors","addDataCiteToTerms","isIDL","dataciteElem","closestSection","inlineRefs","higherPriority","uniqueSpecs","dedupeSpecContext","getSpecContext","getTypeContext","dataXrefForElem","getForContext","normative","closestNormative","closestInform","addToReferences","buffer","TextEncoder","crypto","subtle","digest","bufferToHexString","Uint8Array","padStart","duplicateMsg","duplicateTitle","collectDfns","oldIsDfn","newIsDfn","shouldWrapByCode","showLinkingError","titleToDfns","mapTitleToDfns","possibleExternalLinks","badLinks","isCode","needsCode","wrapAsCode","findLinkTarget","externalDFNs","findExplicitExternalLinks","addExternalReferences","headingExternal","headlingLocal","dfnOf","CODE_TYPES","getLocalTermType","ds","getLocalTermParentContext","getLocalTermSuffix","appendSectionNumbers","secNum","getSectionNumber","collectExternalTerms","uniqueReferences","renderExternalTermEntry","typeSuffix","TYPE_TERMS","TYPED_TYPES","linkForText","getTermText","styleEl","localTermIndex","dataSortedByTerm","collectLocalTerms","renderItem","getLocalTermText","renderLocalTerm","createLocalTermIndex","externalTermIndex","dataSortedBySpec","specA","specB","createExternalTermIndex","apiURL","contributors","user","login","getContributors","sortedContributors","nameA","nameB","toHTML","showContributors","getParents","lowerHeaderTags","headerTags","toc","createTocListItem","tocIntroductory","maxTocLevel","Infinity","headerSelector","getNonintroductorySectionHeaders","renameSectionHeaders","noTOC","scanSections","appendixMode","lastNonAppendix","isAppendix","secno","isIntro","subsections","getSectionTree","sectionElements","nav","h2","createTableOfContents","informative","headings","BROWSERS","caniuseCssPromise","caniuse","DEFAULTS","versions","feature","caniuseConf","browsers","invalidBrowsers","browser","getNormalizedConf","featureURL","caniuseCss","headDlElem","contentPromise","stats","fetchStats","definitionPair","outputDoc","MDN_BROWSERS","chrome","chrome_android","edge","edge_mobile","firefox","firefox_android","ie","opera","opera_android","safari","safari_ios","samsunginternet_android","webview_android","mdnCssPromise","fetchAndCacheJson","attachMDNDetail","mdnSpec","summary","mdnSubPath","mdnDetail","supportTable","createRow","browserId","yesNoUnknown","displayStatus","createRowFromBrowserData","versionData","version_removed","versionAdded","version_added","rows","buildBrowserSupportTable","attachMDNBrowserSupport","mdn","specMapUrl","baseJsonPath","specMap","jsonName","mdnSpecJson","mdnCss","mdnSpecArray","mdnBox","targetAncestor","targetSibling","insertMDNBox","mdnDiv","mimeTypes","rsDocToDataURL","validTypes","cloneDoc","insertions","metaViewport","metaCharset","respecVersion","metaGenerator","XMLSerializer","serializeToString","doctype","outerHTML","save_snapshot","epubURL","downloadLinks","toDownloadLink","saveDialog","supportsDownload","HTMLAnchorElement","addCommand","search_specref","form","resultList","toDefinitionPair","searchBox","refSearch","reverseLookup","jsonData","includeVersions","fetchedData","combinedResults","resultProcessor","processResults","timeTaken","mast","resultMap","wires","pair","renderResults","definition_list","list_of_definitions","definitionLinks","keyA","keyB","labelDfnIfExported","labelDfnIfUnused","ul","HTMLElement","about_respec","getEntriesByType","perfEntryToTR","firstParagraph","metaElem","addPerson","ed","foaf:mbox","worksFor","addRef","jsonld","creator","rawDate","publishedDate","isbn","canonicalURI","trLatestUri","@context","@vocab","@language","w3p","foaf","datePublished","@type","inLanguage","isBasedOn","copyrightHolder","discussionUrl","alternativeHeadline","addl","contributor","citationIds","citationContents","citation","addJSONLDInfo","workerPromise","workerScript","loadWorkerScript","workerURL","createObjectURL","Blob","Worker","createWorker","worker","nextMsgId","counter","gen","idGenerator","msgIdGenerator","ghCssPromise","highlightElement","languages","action","timeoutId","listener","sendHighlightRequest","innerText","noHighlightCSS","highlightables","promisesToHighlight","ghCss","missing_test_suite_uri","toListItem","emojiList","testFile","testParts","testFileName","requiresConnectionEmoji","manualPerformEmoji","toTestURLs","handleDuplicates","testURLs","uniqueList","makeSorter","direction","sortListItems","sortDefinitionTerms","dl","nextType","nextName","sortables","sortedElems","selectNodeContents","hlVarsPromise","highlightListener","varElem","hightligtedElems","highlightColor","getHighlightColor","varsToHighlight","colorStatus","HL_COLORS","removeHighlight","addHighlight","resetListener","hlColor","activeClass","panel","clickTarget","hitALink","deriveAction","titleToIDs","linkID","getReferenceTitle","ids","toLinkProps","referencesToHTML","createPanel","dfnRects","closestTop","minDiff","bottom","diffFromClickY","scrollY","panelRect","SCREEN_WIDTH","innerWidth","screen","newLeft","newCaretOffset","displayPanel","tooltipStylePromise","varMap","variables","currentSection","processBox","matchingElement","selfLink","processFigure","figcaption","figTitle","processSection","processHeading","localize","hadSelfLink","attrName","matchingClosest","newClosest","anchors","fetchCommits","commits","commit","commitURL","pr","finally","gh","CUSTOM_ELEMENTS","customElements","readyPromises","DISABLED_RULES","formatHintsAsMarkdown","group","a11y","violations","otherOptions","elementRef","resultTypes","reporter","axe","importAxe","getViolations","violation","groupedBySummary","failureSummary","helpUrl"],"mappings":"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nC,CAAC,oBAAqB,QACtB,CAAC,4FAA6F,QAC9F,CAAC,yGAA0G,QAC3G,CAAC,8FAA+F,QAChG,CAAC,0BAA2B,OAC5B,CAAC,+BAAgC,QACjC,CAAC,sBAAuB,QACxB,CAAC,oBAAqB,UACtB,CAAC,eAAgB,MACjB,CAAC,YAAa,MACd,CAAC,QAAS,QACVzsB,SAAQ,SAAUysB,GAClB,OAAOT,EAAU4B,gBAAgBnB,EAAK,GAAIA,EAAK,OAMjD,CAEE,YACA,SACA,SACA,MACA,WACA,UACA,OACA,YACA,QACA,YACA,QACA,QACA,QACA,QACA,UACA,SACA,OACA,OACA,UACA,QACA,WACA,MACA,WACA,cACA,QACA,SACA,WACA,YACA,MACA,SACA,YACA,YACA,YACA,WACA,WACA,MACA,UACA,UACA,WACA,WACA,eACA,SACA,SACA,YACA,WACA,YACA,cACA,QACA,UACA,QACA,SACA,aACA,YACA,WACA,OACA,QACA,OACA,QACA,QACA,MACA,QACA,OACA,OACA,YACA,OACA,WACA,SACA,SACA,YACA,WACA,OACA,WACA,OACA,SACA,WACA,SACA,SACA,WACA,SACA,WACA,UACA,QACA,QACA,SACA,UACA,iBACA,QACA,OACA,SACA,UACA,UACA,aACA,WACA,MACA,eAEA,gBACA,SACA,SACA,YACA,WACA,QACA,WACAzsB,QAAQgsB,EAAU6B,oBAEb7B,QC3f6BgC,GAAU,SAASC,qCACvB,IAAIrjB,EAAE,GAAG,IAAIA,EAAE5F,QAAQA,QAAQ,MAAMqd,GAAGzX,EAAE5F,QAAQ,SAAS4F,EAAEyX,GAAG,IAAIhC,EAAEgC,EAAE3e,eAAewqB,EAAE7L,EAAEI,eAAevK,EAAEzF,EAAExM,UAAU,OAAOiS,EAAE/W,OAAO,SAASkhB,GAAG,OAAO3b,KAAK9G,IAAIyiB,WAAWA,EAAE3b,KAAK0Z,IAAIlI,EAAEnY,IAAI,SAASsiB,GAAG,OAAO3b,KAAK9G,IAAIyiB,GAAGA,EAAE3b,KAAK0Z,QAAG,GAAQlI,EAAEtY,IAAI,SAASyiB,GAAG,OAAO6L,EAAErnB,KAAKwb,EAAE3b,K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"}
\ No newline at end of file
From 5969f220c350fb93b7c577a618254c08ce5ed1ec Mon Sep 17 00:00:00 2001
From: Sid Vishnoi
Date: Wed, 15 Apr 2020 15:57:15 +0530
Subject: [PATCH 2/3] disable regeneration
---
tests/test-build.js | 2 +-
tools/netlify.js | 2 +-
tools/release.js | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/tests/test-build.js b/tests/test-build.js
index 56c523cf9b..ce8388ae30 100644
--- a/tests/test-build.js
+++ b/tests/test-build.js
@@ -16,7 +16,7 @@ async function checkIfFileExists(filePath) {
}
describe("builder (tool)", () => {
- for (const profile of ["w3c-common", "w3c", "geonovum"]) {
+ for (const profile of ["w3c", "geonovum"]) {
const profileFile = path.join(__dirname, `../builds/respec-${profile}.js`);
const mapFile = path.join(__dirname, `../builds/respec-${profile}.js.map`);
it(`builds the "${profile}" profile and sourcemap`, async () => {
diff --git a/tools/netlify.js b/tools/netlify.js
index f88c8a832a..6082a3dfa7 100644
--- a/tools/netlify.js
+++ b/tools/netlify.js
@@ -10,7 +10,7 @@ const { Builder } = require("./builder");
const { DEPLOY_PRIME_URL, COMMIT_REF, REVIEW_ID, REPOSITORY_URL } = process.env;
const BUILD_DIR = path.resolve(__dirname, "../builds/");
-const PROFILES = ["w3c", "w3c-common", "geonovum", "dini"];
+const PROFILES = ["w3c", "geonovum", "dini"];
const SPECS = {
W3C: [
diff --git a/tools/release.js b/tools/release.js
index 78a94f1762..dcf3c5c7c5 100755
--- a/tools/release.js
+++ b/tools/release.js
@@ -363,9 +363,9 @@ const run = async () => {
await Prompts.askBuildAddCommitMergeTag();
await npm(`version ${version} -m "v${version}" --no-git-tag-version`);
- // 3. Run the build script (node tools/build-w3c-common.js).
+ // 3. Run the build script (node tools/builder.js).
await npm("run builddeps");
- for (const name of ["w3c-common", "w3c", "geonovum", "dini"]) {
+ for (const name of ["w3c", "geonovum", "dini"]) {
await Builder.build({ name });
}
console.log(colors.info(" Making sure the generated version is ok... 🕵🏻"));
From e72c91236302475a943ca603a2c66a20f59a19b2 Mon Sep 17 00:00:00 2001
From: Sid Vishnoi
Date: Wed, 15 Apr 2020 15:57:33 +0530
Subject: [PATCH 3/3] add freezing notice to profile doc
---
profiles/w3c-common.js | 2 ++
1 file changed, 2 insertions(+)
diff --git a/profiles/w3c-common.js b/profiles/w3c-common.js
index 785dc28674..e6df9c45ad 100644
--- a/profiles/w3c-common.js
+++ b/profiles/w3c-common.js
@@ -1,5 +1,7 @@
/**
* The w3c-common profile is DEPRECATED.
+ * Update (Apr 15, 2020): The w3c-common profile will no longer receive updates.
+ * It is frozen at v25.5.0.
*
* The difference between w3c-common and the w3c profile
* is that this profile includes jQuery to support legacy