diff --git a/assets/js/system-core.js b/assets/js/system-core.js index 80a919c..3ce4e96 100644 --- a/assets/js/system-core.js +++ b/assets/js/system-core.js @@ -88,24 +88,25 @@ } } - window.openOperationModal = (opId) => { - const uc = window.globalIntel ? window.globalIntel.unitcommander : null; - if (!uc || !uc.campaigns) return; - const op = uc.campaigns.find((c) => c.id === opId); - if (!op) return; - - const modal = document.getElementById('operation-modal'); - if (!modal) return; - - const img = document.getElementById('modal-op-image'); + function updateModalContent(op) { const title = document.getElementById('modal-op-title'); const date = document.getElementById('modal-op-date'); const brief = document.getElementById('modal-op-brief'); const map = document.getElementById('modal-op-map'); + const img = document.getElementById('modal-op-image'); if (title) title.innerText = op.campaignName; - if (date) - date.innerText = `COMMENCED: ${new Date(op.created_at).toLocaleDateString('en-GB', { day: '2-digit', month: 'long', year: 'numeric' }).toUpperCase()}`; + if (date) { + const formattedDate = new Date(op.created_at).toLocaleDateString( + 'en-GB', + { + day: '2-digit', + month: 'long', + year: 'numeric', + }, + ); + date.innerText = `COMMENCED: ${formattedDate.toUpperCase()}`; + } if (brief) brief.innerText = op.brief || 'NO_DATA_RECOVERED'; if (map) map.innerText = `THEATER: ${op.map || 'CLASSIFIED'}`; @@ -117,6 +118,18 @@ img.classList.add('hidden'); } } + } + + window.openOperationModal = (opId) => { + const uc = window.globalIntel ? window.globalIntel.unitcommander : null; + if (!uc || !uc.campaigns) return; + const op = uc.campaigns.find((c) => c.id === opId); + if (!op) return; + + const modal = document.getElementById('operation-modal'); + if (!modal) return; + + updateModalContent(op); modal.classList.remove('hidden'); document.body.style.overflow = 'hidden'; @@ -132,33 +145,41 @@ if (e.key === 'Escape') window.closeOperationModal(); }); - function updateBattlemetricsUI() { + function updateStatusIndicator(source, maxCapacity) { const statusText = document.getElementById('status-text'); const statusIndicator = document.getElementById('status-indicator'); const playerCount = document.getElementById('player-count'); - const source = window.globalIntel ? window.globalIntel.arma : null; - const maxCapacity = source ? source.maxPlayers || 40 : 40; + if (!statusText) return; - if (statusText) { - if (source && source.status === 'online') { - statusText.innerText = 'STATION_ACTIVE'; - statusText.className = - 'text-[8px] font-black text-mod-green tracking-widest uppercase font-mono'; - if (statusIndicator) - statusIndicator.className = `w-1.5 h-1.5 bg-green-500 rounded-full animate-pulse shadow-[0_0_8px_rgba(34,197,94,0.4)]`; - if (playerCount) - playerCount.innerText = `${source.players}/${maxCapacity} DEPLOYED`; - } else { - statusText.innerText = 'LINK_SEVERED'; - statusText.className = - 'text-[8px] font-black text-red-600 tracking-widest uppercase font-mono'; - if (statusIndicator) - statusIndicator.className = - 'w-1.5 h-1.5 bg-red-600 rounded-full opacity-40'; - if (playerCount) playerCount.innerText = 'OFFLINE'; + if (source && source.status === 'online') { + statusText.innerText = 'STATION_ACTIVE'; + statusText.className = + 'text-[8px] font-black text-mod-green tracking-widest uppercase font-mono'; + if (statusIndicator) { + statusIndicator.className = + 'w-1.5 h-1.5 bg-green-500 rounded-full animate-pulse shadow-[0_0_8px_rgba(34,197,94,0.4)]'; + } + if (playerCount) { + playerCount.innerText = `${source.players}/${maxCapacity} DEPLOYED`; + } + } else { + statusText.innerText = 'LINK_SEVERED'; + statusText.className = + 'text-[8px] font-black text-red-600 tracking-widest uppercase font-mono'; + if (statusIndicator) { + statusIndicator.className = + 'w-1.5 h-1.5 bg-red-600 rounded-full opacity-40'; } + if (playerCount) playerCount.innerText = 'OFFLINE'; } + } + + function updateBattlemetricsUI() { + const source = window.globalIntel ? window.globalIntel.arma : null; + const maxCapacity = source ? source.maxPlayers || 40 : 40; + + updateStatusIndicator(source, maxCapacity); const containers = document.querySelectorAll('#battlemetrics-graph'); if (containers.length > 0) { @@ -188,17 +209,36 @@ } } + function getGraphData(data, startTime, safeMax, height, width, timeRange) { + const points = data + .map((d) => ({ + v: d.attributes.value === 255 ? 0 : d.attributes.value, + t: d.attributes.timestamp, + })) + .filter((p) => p.v < 500 && new Date(p.t).getTime() >= startTime); + + points.sort((a, b) => new Date(a.t) - new Date(b.t)); + + const getX = (t) => { + if (timeRange === 0) return 0; + const x = ((new Date(t).getTime() - startTime) / timeRange) * width; + return Math.max(0, Math.min(width, x)); + }; + + const getY = (v) => { + const y = height - 4 - (v / safeMax) * (height - 8); + return Math.max(2, Math.min(height - 2, y + 2)); + }; + + return { points, getX, getY }; + } + function renderBattlemetricsGraph(data, container, maxVal = 40) { if (!container) return; const width = container.clientWidth; const height = container.clientHeight || 100; - const safeMax = Math.max(maxVal, 10); - - if (width === 0) { - // Avoid infinite recursion if container is hidden - return; - } + if (width === 0) return; const range = window.currentBattlemetricsRange || 'today'; const nowTime = Date.now(); @@ -209,43 +249,24 @@ ? 7 * 24 * 3600000 : 24 * 3600000; const startTime = nowTime - lookback; - const endTime = nowTime; - const timeRange = endTime - startTime; - - const getX = (t) => { - if (timeRange === 0) return 0; - const x = ((new Date(t).getTime() - startTime) / timeRange) * width; - return Math.max(0, Math.min(width, x)); - }; - - const getY = (v) => { - const y = height - 4 - (v / safeMax) * (height - 8); - return Math.max(2, Math.min(height - 2, y + 2)); - }; + const timeRange = nowTime - startTime; + const safeMax = Math.max(maxVal, 10); - let points = []; - if (data && data.length > 0) { - points = data - .map((d) => ({ - v: d.attributes.value === 255 ? 0 : d.attributes.value, - t: d.attributes.timestamp, - })) - .filter((p) => p.v < 500 && new Date(p.t).getTime() >= startTime); - - points.sort((a, b) => new Date(a.t) - new Date(b.t)); - } + const { points, getX, getY } = getGraphData( + data, + startTime, + safeMax, + height, + width, + timeRange, + ); if (points.length === 0) { - container.innerHTML = `
No_Telemetry_Detected
`; + container.innerHTML = + '
No_Telemetry_Detected
'; return; } - const firstX = getX(points[0].t); - const firstY = getY(points[0].v); - - let pathData = `M ${firstX} ${firstY}`; - let areaPath = `M ${firstX} ${height} L ${firstX} ${firstY}`; - const baselineY = getY(0); const maxGap = range === 'month' @@ -254,32 +275,29 @@ ? 3 * 3600000 : 65 * 60000; + let pathData = `M ${getX(points[0].t)} ${getY(points[0].v)}`; + let areaPath = `M ${getX(points[0].t)} ${height} L ${getX(points[0].t)} ${getY(points[0].v)}`; + points.forEach((p, index) => { + if (index === 0) return; const curX = getX(p.t); const curY = getY(p.v); + const prevP = points[index - 1]; - if (index > 0) { - const prevP = points[index - 1]; - const timeDiff = new Date(p.t).getTime() - new Date(prevP.t).getTime(); - - if (timeDiff > maxGap) { - pathData += ` L ${getX(prevP.t)} ${baselineY} M ${getX(p.t)} ${baselineY} L ${curX} ${curY}`; - areaPath += ` L ${getX(prevP.t)} ${baselineY} L ${getX(p.t)} ${baselineY} L ${curX} ${curY}`; - } else { - pathData += ` L ${curX} ${curY}`; - areaPath += ` L ${curX} ${curY}`; - } + if (new Date(p.t).getTime() - new Date(prevP.t).getTime() > maxGap) { + pathData += ` L ${getX(prevP.t)} ${baselineY} M ${getX(p.t)} ${baselineY} L ${curX} ${curY}`; + areaPath += ` L ${getX(prevP.t)} ${baselineY} L ${getX(p.t)} ${baselineY} L ${curX} ${curY}`; + } else { + pathData += ` L ${curX} ${curY}`; + areaPath += ` L ${curX} ${curY}`; } }); const lastP = points[points.length - 1]; - const lastY = getY(lastP.v); - - if (endTime - new Date(lastP.t).getTime() > 10 * 60000) { - pathData += ` L ${width} ${lastY}`; - areaPath += ` L ${width} ${lastY}`; + if (nowTime - new Date(lastP.t).getTime() > 10 * 60000) { + pathData += ` L ${width} ${getY(lastP.v)}`; + areaPath += ` L ${width} ${getY(lastP.v)}`; } - areaPath += ` L ${width} ${height} Z`; container.innerHTML = ` diff --git a/scripts/fetch-external-data.js b/scripts/fetch-external-data.js index ee48208..b63d8c0 100644 --- a/scripts/fetch-external-data.js +++ b/scripts/fetch-external-data.js @@ -1,6 +1,6 @@ import fs from 'node:fs'; -import path from 'node:path'; import https from 'node:https'; +import path from 'node:path'; import { fileURLToPath } from 'node:url'; import { GameDig as Gamedig } from 'gamedig'; import 'dotenv/config'; diff --git a/scripts/generate-stats.js b/scripts/generate-stats.js index 9d26920..511f36c 100644 --- a/scripts/generate-stats.js +++ b/scripts/generate-stats.js @@ -1,6 +1,6 @@ +import { execSync } from 'node:child_process'; import fs from 'node:fs'; import path from 'node:path'; -import { execSync } from 'node:child_process'; import { fileURLToPath } from 'node:url'; const __filename = fileURLToPath(import.meta.url); diff --git a/static/archives.json b/static/archives.json new file mode 100644 index 0000000..81ecd37 --- /dev/null +++ b/static/archives.json @@ -0,0 +1,4922 @@ +{ + "campaigns": [ + { + "id": 430, + "campaignName": "Operation Restore", + "map": "Afghanistan", + "brief": "The United States has decided to re-enter Afghanistan in an attempt to re instate a legitimate NATO backed government as such the rest of NATO will be joining this counter insurgency effort.\n\nTask Force Alpha is being sent to Helmand province to try and liberate the area, we will begin with the outlying rural areas and slowly move into the urban enemy strongholds over the course of this campaign. The objective is to seek, destroy and engage the Taliban and Taliban backed forces while minimising civilian casualties and destruction to civilian property.\n\nThere is a significant IED, VBIED and PBIED risk as such all soldiers sailors and airmen of TFA will be taught the use of mine detecting equipment and the engineers will specify in defusal efforts.\n\nPlease keep an eye on your individual CoCs for new SOPs that relate to you.\n\nCmdr. J. Shaw (RN)\nNaval Intelligence", + "image": { + "id": 24762, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/OP_Restore.png1744839634777.png", + "created_at": "2025-04-16 21:40:34", + "updated_at": "2025-04-16 21:40:34" + }, + "created_at": "2025-02-18 19:40:16", + "updated_at": "2025-04-16 21:40:34", + "status": "ACTIVE", + "events": [ + { + "id": 1976, + "name": "Operation Restore Part 2", + "dateTime": "2025-02-19 19:00:00", + "time": "19:00:00", + "date": "2025-02-19", + "locked": false, + "discordChannel": "1341466255101788232", + "discordPingable": "1327421406245290116", + "discordMessage": "1341494682709917818", + "discordPingSent": true + } + ] + }, + { + "id": 457, + "campaignName": "Operation Black Sheep", + "map": "Ruha", + "brief": "Militia forces backed up by Russia have seized the border with Estonia and Latvia near the area of Ruha. They have shot down multiple drones and a cargo plane owned by NATO Forces. Due to the AA threat and the unknown situation HQ have ordered UKSF Taskforce Alpha do go deep into the territory to scout out the current situation.", + "image": { + "id": 24763, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Op_Black_sheep.jpeg1744839650906.jpeg", + "created_at": "2025-04-16 21:40:50", + "updated_at": "2025-04-16 21:40:50" + }, + "created_at": "2025-04-08 12:49:50", + "updated_at": "2025-04-16 21:40:50", + "status": "ACTIVE", + "events": [ + { + "id": 2156, + "name": "OP Black sheep 3", + "dateTime": "2025-04-11 18:00:00", + "time": "19:00:00", + "date": "2025-04-11", + "locked": true, + "discordChannel": null, + "discordPingable": null, + "discordMessage": null, + "discordPingSent": false + }, + { + "id": 2171, + "name": "Op Black Sheep 4", + "dateTime": "2025-04-18 18:00:00", + "time": "18:00:00", + "date": "2025-04-18", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": null, + "discordMessage": "1360767012699373790", + "discordPingSent": false + }, + { + "id": 2198, + "name": "Op Black Sheep 5", + "dateTime": "2025-04-25 18:00:00", + "time": "19:00:00", + "date": "2025-04-25", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": null, + "discordMessage": "1363900450067447985", + "discordPingSent": false + }, + { + "id": 2217, + "name": "Op Black Sheep 6", + "dateTime": "2025-05-02 18:00:00", + "time": "19:00:00", + "date": "2025-05-02", + "locked": true, + "discordChannel": "1321236262065274987", + "discordPingable": null, + "discordMessage": "1366103810811891763", + "discordPingSent": false + }, + { + "id": 2242, + "name": "Op Black Sheep 7", + "dateTime": "2025-05-09 18:00:00", + "time": "18:00:00", + "date": "2025-05-09", + "locked": true, + "discordChannel": "1321236262065274987", + "discordPingable": null, + "discordMessage": "1368935953334538313", + "discordPingSent": false + } + ] + }, + { + "id": 460, + "campaignName": "Operation Breezer", + "map": "G.O.S - Fjord", + "brief": "An uprising has been happening in the Murmansk area '' Russia '' the last couple of months. They want to declare a own state outside Russia. Meanwhile presumably armed men from the Russian Army stationed in this area have been supporting this new regime. While Russia is busy in Ukraine fighting their 3 day '' special operation '' armed men have set up roadblocks and destroying the important road '' E105/P-21 '' down South towards the rest of Russia.\nThe important military harbors in the area have been seized by this new regime as well as other military installations.\n\nAt the same time the British Government has received a request from NATO HQ to reinforce the area together with other NATO Allies.\nOur mission is to reinforce the area, protect the local population, secure Norwegian NATO ground and it's natural resources.\n\nThe Norwegian border area has a high rich of minerals, oil and gold in the ground. High mountain terrains, small roads and a couple of ports and a low population are in our area of operations.\n\nWelcome to the Norwegian Fjords.", + "image": { + "id": 24764, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Operation_Brezzer.png1744839662383.png", + "created_at": "2025-04-16 21:41:02", + "updated_at": "2025-04-16 21:41:02" + }, + "created_at": "2025-04-13 00:02:50", + "updated_at": "2026-01-31 17:41:34", + "status": "ACTIVE", + "events": [ + { + "id": 2172, + "name": "Op Breezer 1", + "dateTime": "2025-04-16 19:00:00", + "time": "19:00:00", + "date": "2025-04-16", + "locked": true, + "discordChannel": "1321236262065274987", + "discordPingable": null, + "discordMessage": "1360767322444529716", + "discordPingSent": false + }, + { + "id": 2197, + "name": "Op Breezer 2", + "dateTime": "2025-04-23 18:00:00", + "time": "19:00:00", + "date": "2025-04-23", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": null, + "discordMessage": "1363900192864206919", + "discordPingSent": false + }, + { + "id": 2216, + "name": "Op Breezer 3", + "dateTime": "2025-04-30 18:00:00", + "time": "19:00:00", + "date": "2025-04-30", + "locked": true, + "discordChannel": "1321236262065274987", + "discordPingable": null, + "discordMessage": "1366103586756497571", + "discordPingSent": false + }, + { + "id": 2241, + "name": "Op Breezer 4", + "dateTime": "2025-05-07 18:00:00", + "time": "19:00:00", + "date": "2025-05-07", + "locked": true, + "discordChannel": "1321236262065274987", + "discordPingable": null, + "discordMessage": "1368935722983227465", + "discordPingSent": false + }, + { + "id": 2267, + "name": "OP Breezer 5", + "dateTime": "2025-05-14 18:00:00", + "time": "20:00:00", + "date": "2025-05-14", + "locked": true, + "discordChannel": "1321236262065274987", + "discordPingable": null, + "discordMessage": "1371820443610382336", + "discordPingSent": false + }, + { + "id": 2296, + "name": "OP Breezer 6", + "dateTime": "2025-05-21 18:00:00", + "time": "20:00:00", + "date": "2025-05-21", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": null, + "discordMessage": "1374268380638609460", + "discordPingSent": false + }, + { + "id": 2309, + "name": "OP Breezer 7", + "dateTime": "2025-05-28 18:00:00", + "time": "18:00:00", + "date": "2025-05-28", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": null, + "discordMessage": "1376657485422661723", + "discordPingSent": false + }, + { + "id": 2338, + "name": "OP Breezer 8", + "dateTime": "2025-06-04 18:00:00", + "time": "20:00:00", + "date": "2025-06-04", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": null, + "discordMessage": "1379657702074224781", + "discordPingSent": false + }, + { + "id": 2364, + "name": "OP Breezer 9", + "dateTime": "2025-06-11 18:00:00", + "time": "20:00:00", + "date": "2025-06-11", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": null, + "discordMessage": "1381740183937880084", + "discordPingSent": false + } + ] + }, + { + "id": 484, + "campaignName": "Operation Sahel", + "map": "G.O.S N'Djenahoud", + "brief": "The Sahel region:\n\nThe Sahel has a hot semi-arid climate and stretches across the southernmost latitudes of North Africa between the Atlantic Ocean and the Red Sea. Traditionally, most of the people in the Sahel have been semi-nomads, farming and raising livestock in a system of transhumance.\nFrench is spoken widely in the Sahel, as many of its nations are former French colonies, with two adopting French as an official language and many more using it colloquially.\nThe Sahel includes parts of Senegal, Mauritania, Burkina Faso, Mali, Niger, Nigeria, Chad, Sudan and Eritrea, where French is employed to varying degrees.\n\nIn the wake of the Libyan Crisis beginning in 2011, terrorist organizations operating in the Sahel, including Boko Haram, Islamic State and al-Qaeda in the Islamic Maghreb (AQIM), have greatly exacerbated the violence, extremism and instability of the region. As of 2024, a wave of new military juntas in Africa, favoring Russian mercenaries over Western forces and UN peacekeepers, has intensified violence.\n\nThe British Government has received a request from NATO HQ to reinforce the area together with other NATO Allies.\n\nOur mission will be to bring stability to some parts of the region, provide aid to civilians, gather intel and fight terrorist groups together with other NATO Allies stationed in the region.\n", + "image": { + "id": 25511, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Schermafbeelding_2025-05-08_150916.png1747137994354.png", + "created_at": "2025-05-13 12:06:34", + "updated_at": "2025-05-13 12:06:34" + }, + "created_at": "2025-05-13 12:06:34", + "updated_at": "2025-05-13 12:06:34", + "status": "ACTIVE", + "events": [ + { + "id": 2297, + "name": "OP Sahel 1", + "dateTime": "2025-05-23 18:00:00", + "time": "20:00:00", + "date": "2025-05-23", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": null, + "discordMessage": "1374268523823497338", + "discordPingSent": false + }, + { + "id": 2310, + "name": "OP Sahel 2", + "dateTime": "2025-05-30 18:00:00", + "time": "20:00:00", + "date": "2025-05-30", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": null, + "discordMessage": "1376657669560991764", + "discordPingSent": false + }, + { + "id": 2339, + "name": "OP Sahel 3", + "dateTime": "2025-06-06 18:00:00", + "time": "20:00:00", + "date": "2025-06-06", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": null, + "discordMessage": "1379657823180296276", + "discordPingSent": false + } + ] + }, + { + "id": 508, + "campaignName": "Operation Sparrow", + "map": "Isla Pera", + "brief": "Isla Pera, a lush, tropical archipelago in the Caribbean Sea. With Bocachica as its main city is founded and conquered by the United Kingdom in 1672. From 1680, the other islands were colonized by the United Kingdom, but pirates remained active in the region throughout the 17th and 18th centuries. Later in 1736, French claims were granted and the archipelago was split up. \nIn 1960, Isla Pera became an official independent British and French colony, gaining limited autonomy in 1967. Till this day some parts of the internal islands are under control of both the British and French governments.\n\nWith an abundance of oil, sugar cane plantations and minerals the Islands are exporting a lot. Fruit growing was important until the 1970s, but has since been restricted to internal consumption. Fishing continues to play an important role. After 1999 tourisme is playing a big part of the economy.\n\nCurrently, pirates and drug traffickers are active around the islands and hurricanes in the region are more severe due to climate change. Different factions on the Islands wants to have a change and are anti-British/French and they want to claim their Islands back.\n\nOur mission is to reinforce the area in the Caribbean Sea, protect the local population from attacks on and around the Islands, secure it's natural resources and work together with our American and French Allies. Furthermore support IDAP and the local government in their struggles.\n", + "image": { + "id": 26279, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Schermafbeelding_2025-06-16_093638.png1750060034770.png", + "created_at": "2025-06-16 07:47:14", + "updated_at": "2025-06-16 07:47:14" + }, + "created_at": "2025-06-16 07:37:14", + "updated_at": "2025-06-16 07:47:14", + "status": "ACTIVE", + "events": [ + { + "id": 2400, + "name": "OP Sparrow 1", + "dateTime": "2025-06-18 18:00:00", + "time": "20:00:00", + "date": "2025-06-18", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": null, + "discordMessage": "1384074866772279430", + "discordPingSent": false + }, + { + "id": 2423, + "name": "OP Sparrow 2", + "dateTime": "2025-06-25 18:00:00", + "time": "20:00:00", + "date": "2025-06-25", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": null, + "discordMessage": "1386923434709221487", + "discordPingSent": false + }, + { + "id": 2434, + "name": "OP Sparrow 3", + "dateTime": "2025-07-02 18:00:00", + "time": "18:00:00", + "date": "2025-07-02", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": null, + "discordMessage": "1388969841108586526", + "discordPingSent": false + }, + { + "id": 2457, + "name": "OP Sparrow 4", + "dateTime": "2025-07-09 18:00:00", + "time": "20:00:00", + "date": "2025-07-09", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": null, + "discordMessage": "1391763799815487549", + "discordPingSent": false + }, + { + "id": 2483, + "name": "OP Sparrow 5", + "dateTime": "2025-07-16 18:00:00", + "time": "20:00:00", + "date": "2025-07-16", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": null, + "discordMessage": "1394324958485680239", + "discordPingSent": false + } + ] + }, + { + "id": 522, + "campaignName": "Pre Deployment Ops", + "map": "Dagger Island Training Complex", + "brief": "Pre Deployment Training Ops for the next campaign or Unit training", + "image": { + "id": 28036, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/uksf-tfa-patch2-1.png1753735320783.png", + "created_at": "2025-07-28 20:42:00", + "updated_at": "2025-07-28 20:42:00" + }, + "created_at": "2025-07-28 20:41:26", + "updated_at": "2025-11-04 19:23:05", + "status": "ACTIVE", + "events": [ + { + "id": 2529, + "name": "Reorbat final training Op", + "dateTime": "2025-07-30 18:00:00", + "time": "19:00:00", + "date": "2025-07-30", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1399492398005878944", + "discordPingSent": true + }, + { + "id": 3155, + "name": "Pre-Deployment Training", + "dateTime": "2025-11-05 19:00:00", + "time": "19:00:00", + "date": "2025-11-05", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1435348420754935900", + "discordPingSent": true + }, + { + "id": 3244, + "name": "Pre Deployment Training + Mini Op", + "dateTime": "2025-12-10 19:00:00", + "time": "19:00:00", + "date": "2025-12-10", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1446712938475028562", + "discordPingSent": true + }, + { + "id": 3289, + "name": "Welcome Back + Pre-Deployment Training", + "dateTime": "2026-01-07 19:00:00", + "time": "19:00:00", + "date": "2026-01-07", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1457139465633005722", + "discordPingSent": true + }, + { + "id": 3473, + "name": "Unit Restructure", + "dateTime": "2026-02-11 19:00:00", + "time": "19:00:00", + "date": "2026-02-11", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1470526921791242250", + "discordPingSent": true + } + ] + }, + { + "id": 551, + "campaignName": "Operation Reaction", + "map": "Farabad ( Persian Gulf )", + "brief": "Focussed around the capital city of Al-Jatar, A nation on the Persian Gulf. This semi-mountainous region rich in natural resources is home to many mines and oil fields. However these resources have left instability and conflict in the region for decades. Thunder run through the wide open valleys around the Jazira oil fields, traverse a rocky mountain pass, or move deep into the dense alleyways and streets of Farabad, a huge city at the center of the province.\n\nA military coup made the region even more unstable. Different factions are in fight with eachother to gain control. The British Government has received a request from NATO HQ to evacuate any British embassy personnel and civilians out of the area, to gain intel and to work with our NATO partners and the previous regime.", + "image": { + "id": 28399, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/EjtzWdt3.jpg1755002735864.jpg", + "created_at": "2025-08-12 12:45:35", + "updated_at": "2025-08-12 12:45:35" + }, + "created_at": "2025-08-12 12:45:35", + "updated_at": "2025-08-12 12:45:35", + "status": "ACTIVE", + "events": [ + { + "id": 2645, + "name": "OP Reaction 1", + "dateTime": "2025-08-13 18:00:00", + "time": "20:00:00", + "date": "2025-08-13", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": null, + "discordMessage": "1404808287907610677", + "discordPingSent": false + }, + { + "id": 2847, + "name": "OP Reaction 2", + "dateTime": "2025-08-20 18:00:00", + "time": "18:00:00", + "date": "2025-08-20", + "locked": true, + "discordChannel": "1321236262065274987", + "discordPingable": null, + "discordMessage": "1407070695783141456", + "discordPingSent": false + }, + { + "id": 2874, + "name": "OP Reaction 3", + "dateTime": "2025-08-27 18:00:00", + "time": "20:00:00", + "date": "2025-08-27", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": null, + "discordMessage": "1409581245599584366", + "discordPingSent": false + }, + { + "id": 2901, + "name": "OP Reaction 4", + "dateTime": "2025-09-03 18:00:00", + "time": "20:00:00", + "date": "2025-09-03", + "locked": true, + "discordChannel": "1321236262065274987", + "discordPingable": null, + "discordMessage": "1412125605838983241", + "discordPingSent": false + }, + { + "id": 2954, + "name": "Op Reaction 5", + "dateTime": "2025-09-17 18:00:00", + "time": "19:00:00", + "date": "2025-09-17", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1417590622042460180", + "discordPingSent": true + }, + { + "id": 2983, + "name": "OP Reaction 6", + "dateTime": "2025-09-24 18:00:00", + "time": "20:00:00", + "date": "2025-09-24", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": null, + "discordMessage": "1419759266708852811", + "discordPingSent": false + } + ] + }, + { + "id": 618, + "campaignName": "Operation Dune Vengance", + "map": "Al-Katbah District, Western Sahatra (Former Iran)", + "brief": "\nCAMPAIGN BRIEF;\n\n1. SITUATION:\nIn the power vacuum left by Iran's collapse, the province of Western Sahatra is now a failed state. A ruthless paramilitary faction, the Black Rose, has seized control of the region's oil wealth and now threatens to destabilize the entire Middle East.\n\n2. THE ENEMY:\nThe Black Rose is a well-funded and disciplined force, but their strategic command rests with a secretive \"Council of 13.\" This council is our primary target. As long as they remain, the Black Rose will continue to be a threat.\n\n3. THE OBJECTIVE:\nThis campaign has one ultimate goal: the complete dismantlement of the Black Rose leadership. Over a series of sequential operations, UKSF Task Force Alpha will hunt down and eliminate every member of the Council of 13.\n\n4. THE WORLD:\nThe AO is not empty. Other factions, from nationalist militias to opportunistic warlords, also operate in the region. How we interact with them—whether we fight them, avoid them, or use them—will be critical to our success.\n\nWelcome to Sahatra.", + "image": { + "id": 30540, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/download.jpeg1760451669872.jpeg", + "created_at": "2025-10-14 14:21:09", + "updated_at": "2025-10-14 14:21:09" + }, + "created_at": "2025-10-14 14:18:35", + "updated_at": "2025-10-26 15:59:14", + "status": "ACTIVE", + "events": [ + { + "id": 3058, + "name": "Op Ironclad", + "dateTime": "2025-10-15 18:00:00", + "time": "18:00:00", + "date": "2025-10-15", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321236261553573928", + "discordMessage": "1427662714913816626", + "discordPingSent": true + }, + { + "id": 3095, + "name": "Op Nightglass", + "dateTime": "2025-10-22 18:00:00", + "time": "18:00:00", + "date": "2025-10-22", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1430092273000910910", + "discordPingSent": true + }, + { + "id": 3122, + "name": "Op Venoms Nest", + "dateTime": "2025-10-29 19:00:00", + "time": "19:00:00", + "date": "2025-10-29", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1432030744355672065", + "discordPingSent": true + }, + { + "id": 3132, + "name": "Op Venoms Nest | Part 2", + "dateTime": "2025-10-30 19:00:00", + "time": "19:00:00", + "date": "2025-10-30", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1433223802464243765", + "discordPingSent": true + } + ] + }, + { + "id": 637, + "campaignName": "Operation Jungle Cobra", + "map": "Northern Colombia", + "brief": "SITUATION:\nFollowing the successful disruption of their command in Sahatra, the remnants of the Black Rose have fled to the remote, dense jungles of Colombia. Intelligence confirms they are now establishing chemical weapon production facilities, utilising local Cartel networks and resources. This represents a critical escalation: the Black Rose is transitioning from a regional threat to a global proliferator of WMDs.\n\nTHE ENEMY:\nThe last three remaining members of the Council of 13 are believed to be overseeing these production\noperations. They are highly dangerous, desperate, and will be protected by well-armed local Cartel forces and PMC elements.\n\nTHE OBJECTIVE:\nThis campaign's ultimate goal is the complete and permanent neutralisation of the Black Rose's chemical weapon production capability. This will involve hunting down and eliminating the remaining Council members, destroying all production facilities, and interdicting their supply lines.\n\nTHE TERRAIN:\nExpect extreme environmental challenges: dense jungle, high humidity, difficult terrain, and a complex human terrain dominated by powerful Cartel networks and insurgent groups.\n\nTHE STAKES:\nFailure is not an option. The proliferation of chemical weapons by the Black Rose would have catastrophic global consequences.", + "image": { + "id": 31629, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/download.jpeg1762721389767.jpeg", + "created_at": "2025-11-09 20:49:49", + "updated_at": "2025-11-09 20:49:49" + }, + "created_at": "2025-11-09 20:49:49", + "updated_at": "2025-11-09 20:57:58", + "status": "ACTIVE", + "events": [ + { + "id": 3167, + "name": "Op Piranha Strike", + "dateTime": "2025-11-12 19:00:00", + "time": "19:00:00", + "date": "2025-11-12", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1437452184533991567", + "discordPingSent": true + }, + { + "id": 3197, + "name": "Op Jungle Cobra 2", + "dateTime": "2025-11-19 21:00:00", + "time": "21:00:00", + "date": "2025-11-19", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1440326102747971604", + "discordPingSent": true + }, + { + "id": 3217, + "name": "Op Unseen Cargo", + "dateTime": "2025-11-26 19:00:00", + "time": "19:00:00", + "date": "2025-11-26", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1442626283946250342", + "discordPingSent": true + }, + { + "id": 3234, + "name": "Op Unseen Cargo | Part 2", + "dateTime": "2025-12-03 19:00:00", + "time": "19:00:00", + "date": "2025-12-03", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1445457594020790474", + "discordPingSent": true + } + ] + }, + { + "id": 675, + "campaignName": "Operation Iron Retribution", + "map": "Lythium", + "brief": "Situation:\nFollowing the \"Day of Ashes\" mass-casualty terrorist attack on UK soil, intelligence has identified the perpetrator as Al-Khaima Front (AKF), a transnational terrorist organization. AKF operates a sophisticated and compartmentalized network spanning the UK and a foreign sanctuary known as \"Lythium.\"\n\nThe network's cross-border finance, logistics, and international coordination are controlled by a single high-value individual codenamed 'THE FERRYMAN'.\n\nMission:\nUKSF has been tasked with conducting phased counter-terrorism operations to locate, disrupt, and dismantle the AKF leadership and infrastructure, neutralizing their capability to conduct further attacks against the UK and it's allies.", + "image": { + "id": 33434, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/images.steamusercontent.jpg1768170071430.jpg", + "created_at": "2026-01-11 22:21:11", + "updated_at": "2026-01-11 22:21:11" + }, + "created_at": "2026-01-11 22:21:11", + "updated_at": "2026-01-11 22:21:11", + "status": "ACTIVE", + "events": [ + { + "id": 3331, + "name": "Op Iron Retribution 2", + "dateTime": "2026-01-14 19:00:00", + "time": "19:00:00", + "date": "2026-01-14", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1460036293118525584", + "discordPingSent": false + }, + { + "id": 3363, + "name": "Op Iron Retribution 3", + "dateTime": "2026-01-21 19:00:00", + "time": "19:00:00", + "date": "2026-01-21", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1462759999867588747", + "discordPingSent": true + }, + { + "id": 3391, + "name": "Op Iron Retribution 4", + "dateTime": "2026-01-28 19:00:00", + "time": "19:00:00", + "date": "2026-01-28", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1465296559267909766", + "discordPingSent": true + }, + { + "id": 3421, + "name": "Op Iron Retribution 5", + "dateTime": "2026-02-04 19:00:00", + "time": "19:00:00", + "date": "2026-02-04", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1467142027677270167", + "discordPingSent": true + } + ] + }, + { + "id": 677, + "campaignName": "Operation Retrieving Gold ", + "map": "Chernarus Redux", + "brief": "Situation:\nThe year is 2018, 30 years after Day 0.\nWe are the first expeditionary forces to set foot outside of the UK. We've been tasked with reconnaissance of the surrounding terrain of Chernarus, setting up a fixed FOB and possible retrieval of technology.\n\nWe are in unknown territory, we have little information about the area that surrounds us and we are effectively the first new faces in this terrain. We are under-equipped until the rest of our convoy reaches our location.\n\nMission:\nUKSF has been tasked with reconnaissance of Chernarus, finding a suitable location to settle a permanent FOB and possibly retrieving old technology that is otherwise in working order, or can be restored to working order.\n\nToday, we got a little headsup that might help us.", + "image": { + "id": 33755, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/image.png1769635425047.png", + "created_at": "2026-01-28 21:23:45", + "updated_at": "2026-01-28 21:23:45" + }, + "created_at": "2026-01-14 23:53:53", + "updated_at": "2026-02-12 23:42:18", + "status": "ACTIVE", + "events": [ + { + "id": 3348, + "name": "Op Thumb Sucking", + "dateTime": "2026-01-16 19:00:00", + "time": "19:00:00", + "date": "2026-01-16", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1461147334292410481", + "discordPingSent": true + }, + { + "id": 3403, + "name": "Op Nightcrawler", + "dateTime": "2026-01-30 19:00:00", + "time": "19:00:00", + "date": "2026-01-30", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1466182377544880169", + "discordPingSent": true + }, + { + "id": 3484, + "name": "Op Nostalgia", + "dateTime": "2026-02-13 19:00:00", + "time": "19:00:00", + "date": "2026-02-13", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1471652763858501633", + "discordPingSent": true + } + ] + } + ], + "standalone": [ + { + "id": 2775, + "name": "SF Training Operation for new ORBAT", + "description": "Training night in your new teams under the new ORBAT", + "image": null, + "map": "Bovington", + "dateTime": "2025-07-23 18:00:00", + "date": "2025-07-23", + "time": "19:00:00", + "locked": false, + "locked_at": null, + "status": "ACTIVE", + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1396896524704813259", + "discordPingSent": false, + "frequency": null, + "recurringUntil": null, + "processedForRecurrence": false + }, + { + "id": 2857, + "name": "Op Hunter", + "description": "**Classified** **TOP SECRET**", + "image": null, + "map": "Classified ", + "dateTime": "2025-08-06 17:00:00", + "date": "2025-08-06", + "time": "19:00:00", + "locked": true, + "locked_at": "2025-09-08 15:49:27", + "status": "ARCHIVED", + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1402399543202418819", + "discordPingSent": false, + "frequency": null, + "recurringUntil": null, + "processedForRecurrence": false + }, + { + "id": 3003, + "name": "Op Snatcher ", + "description": "Classified ", + "image": null, + "map": "Classified ", + "dateTime": "2025-09-10 18:00:00", + "date": "2025-09-10", + "time": "19:00:00", + "locked": true, + "locked_at": "2025-09-11 12:44:01", + "status": "ACTIVE", + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1414638960558215208", + "discordPingSent": false, + "frequency": null, + "recurringUntil": null, + "processedForRecurrence": false + }, + { + "id": 3346, + "name": "Mini Operation", + "description": "Following the conclusion of the scheduled CQB training, a mini-operation will be conducted. -\n\nAttendance for the mini-operation is entirely voluntary. All participants are encouraged to join for what is anticipated to be a valuable and enjoyable exercise.", + "image": { + "id": 32125, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/sas.jpg1764264729670.jpg", + "created_at": "2025-11-27 17:32:09", + "updated_at": "2025-11-27 17:32:09" + }, + "map": "Northern Colombia", + "dateTime": "2025-11-27 20:00:00", + "date": "2025-11-27", + "time": "20:00:00", + "locked": false, + "locked_at": null, + "status": "ACTIVE", + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1443655655717208084", + "discordPingSent": false, + "frequency": null, + "recurringUntil": null, + "processedForRecurrence": false + }, + { + "id": 3422, + "name": "Operation Satan's Slay", + "description": "Objective: Rescue Santa Claus from an unknown threat and Secure Christmas by ensuring the timely delivery of all presents.\n\nSituation: Intelligence confirms that Santa Claus has been compromised and is currently detained/missing. The North Pole operation is in chaos, and the global gift-delivery schedule is at severe risk. Failure is not an option—billions of units of goodwill are at stake.\n\nImmediate Task: Locate, extract, and ensure the safe return of Santa Claus to his command center. Simultaneously, you must secure the gift inventory and prepare the sleigh for immediate launch on schedule.\n\nRequired Assets: Speed, stealth, unwavering festive spirit, and absolute adherence to the Nice List.", + "image": { + "id": 32604, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/OIP-3986261552.jpg1765908460608.jpg", + "created_at": "2025-12-16 18:07:40", + "updated_at": "2025-12-16 18:07:40" + }, + "map": "Napf Island - Winter", + "dateTime": "2025-12-17 19:00:00", + "date": "2025-12-17", + "time": "19:00:00", + "locked": false, + "locked_at": null, + "status": "ACTIVE", + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1450549962407542914", + "discordPingSent": false, + "frequency": null, + "recurringUntil": null, + "processedForRecurrence": false + } + ], + "profiles": [ + { + "id": 11259, + "communityId": 722, + "alias": "Ross Buh", + "created_at": "2025-02-18 16:39:50", + "updated_at": "2025-02-18 17:29:11", + "status": "LOA", + "discharged": false, + "dischargedDate": null, + "playerId": 9781, + "avatar": { + "id": 23449, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Arma_3_19_02_2025_21_13_58.png1740000799069.png", + "created_at": "2025-02-19 21:33:19", + "updated_at": "2025-02-19 21:33:19" + }, + "rank": { + "id": 3977, + "name": "Major", + "abbreviation": "Maj.", + "description": "A Major is either OC of a Company or 2IC of a unit", + "groupId": 988, + "displayOrder": 2, + "created_at": "2025-02-18 16:47:13", + "updated_at": "2025-04-09 08:04:30", + "imageId": 24427, + "image": { + "id": 24427, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-ARMY-maj_patch_co.png1744185870693.png", + "created_at": "2025-04-09 08:04:30", + "updated_at": "2025-04-09 08:04:30" + } + }, + "position": { + "id": 4003, + "name": "Officer Commanding", + "description": "Commanding Officer of Taskforce Alpha", + "groupId": 1040, + "displayOrder": 0, + "created_at": "2025-02-20 20:12:17", + "updated_at": "2025-07-21 16:23:49" + }, + "unit": { + "id": 3580, + "name": "TFHQ", + "callsign": "0-", + "leaderId": 11259, + "groupId": 1218, + "image": { + "id": 24520, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/UKSF-TFA_Unit_Emblem.png1744315262677.png", + "created_at": "2025-04-10 20:01:02", + "updated_at": "2025-04-10 20:01:02" + }, + "displayOrder": 0, + "created_at": "2025-02-18 17:10:28", + "updated_at": "2025-04-10 20:01:02" + }, + "roles": null, + "notes": null + }, + { + "id": 11261, + "communityId": 722, + "alias": "N. Hodge", + "created_at": "2025-02-18 17:54:16", + "updated_at": "2025-02-18 18:15:45", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 9783, + "avatar": { + "id": 24767, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/me.jpg1744840296250.jpg", + "created_at": "2025-04-16 21:51:36", + "updated_at": "2025-04-16 21:51:36" + }, + "rank": { + "id": 4105, + "name": "Warrant Officer Class 2", + "abbreviation": "WO2", + "description": "Royal Navy Warrant Officer Class 2", + "groupId": 989, + "displayOrder": 4, + "created_at": "2025-04-10 18:13:14", + "updated_at": "2025-04-10 18:13:14", + "imageId": 24491, + "image": { + "id": 24491, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-NAVY-WO2_patch_co.png1744308794924.png", + "created_at": "2025-04-10 18:13:14", + "updated_at": "2025-04-10 18:13:14" + } + }, + "position": { + "id": 4010, + "name": "SSM", + "description": "33", + "groupId": 1040, + "displayOrder": 2, + "created_at": "2025-02-23 12:14:52", + "updated_at": "2025-07-21 16:25:38" + }, + "unit": { + "id": 3580, + "name": "TFHQ", + "callsign": "0-", + "leaderId": 11259, + "groupId": 1218, + "image": { + "id": 24520, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/UKSF-TFA_Unit_Emblem.png1744315262677.png", + "created_at": "2025-04-10 20:01:02", + "updated_at": "2025-04-10 20:01:02" + }, + "displayOrder": 0, + "created_at": "2025-02-18 17:10:28", + "updated_at": "2025-04-10 20:01:02" + }, + "roles": null, + "notes": null + }, + { + "id": 11264, + "communityId": 722, + "alias": "M. Barker - [AWOL] ", + "created_at": "2025-02-18 18:04:31", + "updated_at": "2025-09-17 17:06:18", + "status": "DISCHARGED", + "discharged": false, + "dischargedDate": null, + "playerId": 9138, + "avatar": { + "id": 23451, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/10000157032.png1740001695268.png", + "created_at": "2025-02-19 21:48:15", + "updated_at": "2025-02-19 21:48:15" + }, + "rank": { + "id": 3987, + "name": "Sergeant", + "abbreviation": "Sgt", + "description": "Sgt", + "groupId": 990, + "displayOrder": 7, + "created_at": "2025-02-18 17:04:03", + "updated_at": "2025-04-10 20:53:02", + "imageId": 23447, + "image": { + "id": 23447, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/2._Rank_Patch_-_SGT.png1739991088670.png", + "created_at": "2025-02-19 18:51:28", + "updated_at": "2025-02-19 18:51:28" + } + }, + "position": null, + "unit": null, + "roles": null, + "notes": null + }, + { + "id": 11266, + "communityId": 722, + "alias": "Grip", + "created_at": "2025-02-18 18:32:50", + "updated_at": "2025-04-10 17:44:14", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 9785, + "avatar": { + "id": 24483, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/grip.png1744307196015.png", + "created_at": "2025-04-10 17:46:36", + "updated_at": "2025-04-10 17:46:36" + }, + "rank": null, + "position": null, + "unit": null, + "roles": null, + "notes": null + }, + { + "id": 11280, + "communityId": 722, + "alias": "Mirai", + "created_at": "2025-02-19 21:57:17", + "updated_at": "2025-02-19 21:57:17", + "status": "DISCHARGED", + "discharged": false, + "dischargedDate": null, + "playerId": 9795, + "avatar": { + "id": 23454, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/IMG_1600.jpg1740003040507.jpg", + "created_at": "2025-02-19 22:10:40", + "updated_at": "2025-02-19 22:10:40" + }, + "rank": { + "id": 3992, + "name": "Trooper", + "abbreviation": "Tpr", + "description": "Private Soldier - **SAS, SBS & SRR Only**", + "groupId": 992, + "displayOrder": 1, + "created_at": "2025-02-19 17:16:40", + "updated_at": "2025-04-10 20:54:49", + "imageId": 23441, + "image": { + "id": 23441, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Rank_Patch_-_Pte.png1739986929005.png", + "created_at": "2025-02-19 17:42:09", + "updated_at": "2025-02-19 17:42:09" + } + }, + "position": { + "id": 4407, + "name": "SF Explosives Expert", + "description": "SF Explosives Expert", + "groupId": 1058, + "displayOrder": 0, + "created_at": "2025-07-08 22:17:39", + "updated_at": "2025-07-08 22:17:39" + }, + "unit": { + "id": 3946, + "name": "SAS Team Alpha", + "callsign": "Sabre 3-1", + "leaderId": null, + "groupId": 1289, + "image": null, + "displayOrder": 22, + "created_at": "2025-07-08 21:52:01", + "updated_at": "2025-07-08 21:52:01" + }, + "roles": null, + "notes": null + }, + { + "id": 11281, + "communityId": 722, + "alias": "J. Shaw", + "created_at": "2025-02-19 21:57:28", + "updated_at": "2025-02-19 21:57:28", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 2716, + "avatar": null, + "rank": { + "id": 3993, + "name": "Commander", + "abbreviation": "Cmdr.", + "description": "commander", + "groupId": 988, + "displayOrder": 0, + "created_at": "2025-02-19 22:10:38", + "updated_at": "2025-04-10 17:54:17", + "imageId": 24485, + "image": { + "id": 24485, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-NAVY-CDR_patch_co.png1744307657261.png", + "created_at": "2025-04-10 17:54:17", + "updated_at": "2025-04-10 17:54:17" + } + }, + "position": { + "id": 4011, + "name": "Operations Officer", + "description": "gg", + "groupId": 1040, + "displayOrder": 3, + "created_at": "2025-02-23 12:15:30", + "updated_at": "2025-02-23 12:15:30" + }, + "unit": { + "id": 3604, + "name": "Intelligence Cell", + "callsign": "--", + "leaderId": 11281, + "groupId": 1218, + "image": { + "id": 27257, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/raf,360x360,075,t,fafafa_ca443f4786.u1.jpg1752014402433.jpg", + "created_at": "2025-07-08 22:40:02", + "updated_at": "2025-07-08 22:40:02" + }, + "displayOrder": 6, + "created_at": "2025-02-23 12:02:04", + "updated_at": "2025-07-08 22:40:02" + }, + "roles": null, + "notes": null + }, + { + "id": 11282, + "communityId": 722, + "alias": "C.Quack", + "created_at": "2025-02-19 21:57:33", + "updated_at": "2025-02-19 21:57:33", + "status": "DISCHARGED", + "discharged": false, + "dischargedDate": null, + "playerId": 9796, + "avatar": null, + "rank": { + "id": 3991, + "name": "Recruit", + "abbreviation": "Rct", + "description": "Recruit", + "groupId": 992, + "displayOrder": 5, + "created_at": "2025-02-18 17:06:10", + "updated_at": "2025-04-10 20:55:26", + "imageId": 24480, + "image": { + "id": 24480, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/RankPatchPteA_co.png1744306264606.png", + "created_at": "2025-04-10 17:31:04", + "updated_at": "2025-04-10 17:31:04" + } + }, + "position": { + "id": 3989, + "name": "Rifleman", + "description": "N/A", + "groupId": 1043, + "displayOrder": 14, + "created_at": "2025-02-20 19:43:59", + "updated_at": "2025-02-20 19:48:39" + }, + "unit": { + "id": 3958, + "name": "SFSG Training Plt", + "callsign": "Bulldog 10", + "leaderId": null, + "groupId": 1378, + "image": null, + "displayOrder": 0, + "created_at": "2025-07-08 22:24:19", + "updated_at": "2025-07-08 22:24:19" + }, + "roles": null, + "notes": null + }, + { + "id": 11839, + "communityId": 722, + "alias": "Coburn", + "created_at": "2025-03-27 19:58:24", + "updated_at": "2025-03-27 20:14:21", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 10252, + "avatar": null, + "rank": { + "id": 3989, + "name": "Lance Corporal", + "abbreviation": "LCpl", + "description": "Lcpl", + "groupId": 991, + "displayOrder": 3, + "created_at": "2025-02-18 17:04:55", + "updated_at": "2025-04-10 20:54:08", + "imageId": 23446, + "image": { + "id": 23446, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/2._Rank_Patch_-_LCPL.png1739991043064.png", + "created_at": "2025-02-19 18:50:43", + "updated_at": "2025-02-19 18:50:43" + } + }, + "position": { + "id": 4406, + "name": "SF Gunner", + "description": "SF Gunner", + "groupId": 1058, + "displayOrder": 0, + "created_at": "2025-07-08 22:17:15", + "updated_at": "2025-07-08 22:17:15" + }, + "unit": { + "id": 3946, + "name": "SAS Team Alpha", + "callsign": "Sabre 3-1", + "leaderId": null, + "groupId": 1289, + "image": null, + "displayOrder": 22, + "created_at": "2025-07-08 21:52:01", + "updated_at": "2025-07-08 21:52:01" + }, + "roles": null, + "notes": null + }, + { + "id": 11841, + "communityId": 722, + "alias": "M. Müller", + "created_at": "2025-03-27 20:07:04", + "updated_at": "2025-03-27 20:07:04", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 10255, + "avatar": null, + "rank": { + "id": 4096, + "name": "Flight Lieutenant", + "abbreviation": "Flt Lt.", + "description": "RAF Flight Lt", + "groupId": 988, + "displayOrder": 0, + "created_at": "2025-04-08 12:17:45", + "updated_at": "2025-04-10 17:25:55", + "imageId": 24474, + "image": { + "id": 24474, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-RAF-FlLt_patch_co.png1744305955625.png", + "created_at": "2025-04-10 17:25:55", + "updated_at": "2025-04-10 17:25:55" + } + }, + "position": { + "id": 4056, + "name": "JSFAW Commander", + "description": "Officer in Charge of JSFAW", + "groupId": 1056, + "displayOrder": 0, + "created_at": "2025-04-08 12:07:49", + "updated_at": "2025-04-08 12:07:49" + }, + "unit": { + "id": 3591, + "name": "JSFAW HQ", + "callsign": "Guardian 2-0", + "leaderId": 11282, + "groupId": 1220, + "image": { + "id": 24523, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Photoroom-20250109_105457.png1744319093056.png", + "created_at": "2025-04-10 21:04:53", + "updated_at": "2025-04-10 21:04:53" + }, + "displayOrder": 20, + "created_at": "2025-02-18 17:19:31", + "updated_at": "2025-04-10 21:08:21" + }, + "roles": null, + "notes": null + }, + { + "id": 11977, + "communityId": 722, + "alias": "S.Lewis", + "created_at": "2025-04-08 11:48:41", + "updated_at": "2025-04-08 11:48:41", + "status": "RESERVE", + "discharged": false, + "dischargedDate": null, + "playerId": 10369, + "avatar": null, + "rank": { + "id": 3992, + "name": "Trooper", + "abbreviation": "Tpr", + "description": "Private Soldier - **SAS, SBS & SRR Only**", + "groupId": 992, + "displayOrder": 1, + "created_at": "2025-02-19 17:16:40", + "updated_at": "2025-04-10 20:54:49", + "imageId": 23441, + "image": { + "id": 23441, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Rank_Patch_-_Pte.png1739986929005.png", + "created_at": "2025-02-19 17:42:09", + "updated_at": "2025-02-19 17:42:09" + } + }, + "position": { + "id": 4406, + "name": "SF Gunner", + "description": "SF Gunner", + "groupId": 1058, + "displayOrder": 0, + "created_at": "2025-07-08 22:17:15", + "updated_at": "2025-07-08 22:17:15" + }, + "unit": { + "id": 3946, + "name": "SAS Team Alpha", + "callsign": "Sabre 3-1", + "leaderId": null, + "groupId": 1289, + "image": null, + "displayOrder": 22, + "created_at": "2025-07-08 21:52:01", + "updated_at": "2025-07-08 21:52:01" + }, + "roles": null, + "notes": null + }, + { + "id": 11979, + "communityId": 722, + "alias": "Crane", + "created_at": "2025-04-08 13:46:54", + "updated_at": "2025-04-08 13:46:54", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 10371, + "avatar": null, + "rank": { + "id": 3990, + "name": "Private", + "abbreviation": "Pte", + "description": "Army Private", + "groupId": 992, + "displayOrder": 3, + "created_at": "2025-02-18 17:05:49", + "updated_at": "2025-04-10 20:55:12", + "imageId": 24479, + "image": { + "id": 24479, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/RankPatchPteA_co.png1744306247458.png", + "created_at": "2025-04-10 17:30:47", + "updated_at": "2025-04-10 17:30:47" + } + }, + "position": { + "id": 3989, + "name": "Rifleman", + "description": "N/A", + "groupId": 1043, + "displayOrder": 14, + "created_at": "2025-02-20 19:43:59", + "updated_at": "2025-02-20 19:48:39" + }, + "unit": null, + "roles": null, + "notes": null + }, + { + "id": 11982, + "communityId": 722, + "alias": "Wolf", + "created_at": "2025-04-08 20:36:38", + "updated_at": "2025-04-08 20:39:18", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 10254, + "avatar": null, + "rank": { + "id": 3987, + "name": "Sergeant", + "abbreviation": "Sgt", + "description": "Sgt", + "groupId": 990, + "displayOrder": 7, + "created_at": "2025-02-18 17:04:03", + "updated_at": "2025-04-10 20:53:02", + "imageId": 23447, + "image": { + "id": 23447, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/2._Rank_Patch_-_SGT.png1739991088670.png", + "created_at": "2025-02-19 18:51:28", + "updated_at": "2025-02-19 18:51:28" + } + }, + "position": { + "id": 4395, + "name": "Alpha Team Leader", + "description": "Alpha Team Leader", + "groupId": 1058, + "displayOrder": 6, + "created_at": "2025-07-08 22:04:53", + "updated_at": "2025-07-08 22:12:17" + }, + "unit": { + "id": 3949, + "name": "SBS Team Alpha", + "callsign": "Trident 4-1", + "leaderId": null, + "groupId": 1289, + "image": null, + "displayOrder": 26, + "created_at": "2025-07-08 21:54:48", + "updated_at": "2025-07-08 21:54:48" + }, + "roles": null, + "notes": null + }, + { + "id": 12143, + "communityId": 722, + "alias": "L. Hjelm [GC.]", + "created_at": "2025-04-18 13:44:39", + "updated_at": "2026-01-27 20:19:44", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 10507, + "avatar": null, + "rank": { + "id": 3987, + "name": "Sergeant", + "abbreviation": "Sgt", + "description": "Sgt", + "groupId": 990, + "displayOrder": 7, + "created_at": "2025-02-18 17:04:03", + "updated_at": "2025-04-10 20:53:02", + "imageId": 23447, + "image": { + "id": 23447, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/2._Rank_Patch_-_SGT.png1739991088670.png", + "created_at": "2025-02-19 18:51:28", + "updated_at": "2025-02-19 18:51:28" + } + }, + "position": { + "id": 3993, + "name": "CMT Class 2 Medic", + "description": "An intermediate-level field medic responsible for providing effective battlefield triage, stabilization, and casualty evacuation under fire. Operators holding this qualification are trusted to operate independently within a fireteam or section and deliver essential combat medical care.\n\nCore Responsibilities:\n- Provide immediate life-saving interventions.\n- Stabilize and monitor casualties for CASEVAC/MEDEVAC.\n- Maintain medical supply discipline and manage team-level medical assets.\n\nRequires CMT Class 2 qualification.", + "groupId": 1153, + "displayOrder": 17, + "created_at": "2025-02-20 19:52:57", + "updated_at": "2025-07-08 22:30:04" + }, + "unit": { + "id": 3952, + "name": "SRR Team Alpha", + "callsign": "Raven 5-1", + "leaderId": null, + "groupId": 1289, + "image": null, + "displayOrder": 210, + "created_at": "2025-07-08 21:56:49", + "updated_at": "2025-07-08 21:56:49" + }, + "roles": null, + "notes": null + }, + { + "id": 12221, + "communityId": 722, + "alias": "Parkie", + "created_at": "2025-04-23 17:14:48", + "updated_at": "2025-04-23 17:14:48", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 10573, + "avatar": null, + "rank": { + "id": 3992, + "name": "Trooper", + "abbreviation": "Tpr", + "description": "Private Soldier - **SAS, SBS & SRR Only**", + "groupId": 992, + "displayOrder": 1, + "created_at": "2025-02-19 17:16:40", + "updated_at": "2025-04-10 20:54:49", + "imageId": 23441, + "image": { + "id": 23441, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Rank_Patch_-_Pte.png1739986929005.png", + "created_at": "2025-02-19 17:42:09", + "updated_at": "2025-02-19 17:42:09" + } + }, + "position": { + "id": 4404, + "name": "SF Medic", + "description": "The most senior field medic role, you are trained to lead medical efforts in high-intensity operations. This qualification signifies full competence in all aspects of battlefield medicine. You are trusted to manage medical assets at the platoon level or higher, make critical care decisions, and serve as advisors to command on casualty management and evacuation planning and to provide training for recruits doing Basic Training.\n\nCore responsibilities:\n- Serve as Section Medical Lead.\n- Advise command on medical planning and operational health readiness.\n- Provide basic medical training to recruits.\n- Perform advanced medical interventions, including surgical stabilization.\n- Liaise with command regarding casualty estimates, MEDEVAC timing, and asset readiness.\n\nRequires CMT Class 1 qualification and Having Passed SF Selection", + "groupId": 1058, + "displayOrder": 0, + "created_at": "2025-07-08 22:16:36", + "updated_at": "2025-07-08 22:31:13" + }, + "unit": { + "id": 3952, + "name": "SRR Team Alpha", + "callsign": "Raven 5-1", + "leaderId": null, + "groupId": 1289, + "image": null, + "displayOrder": 210, + "created_at": "2025-07-08 21:56:49", + "updated_at": "2025-07-08 21:56:49" + }, + "roles": null, + "notes": null + }, + { + "id": 12294, + "communityId": 722, + "alias": "Arbo", + "created_at": "2025-04-27 20:13:29", + "updated_at": "2025-04-27 23:06:05", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 10628, + "avatar": null, + "rank": { + "id": 3987, + "name": "Sergeant", + "abbreviation": "Sgt", + "description": "Sgt", + "groupId": 990, + "displayOrder": 7, + "created_at": "2025-02-18 17:04:03", + "updated_at": "2025-04-10 20:53:02", + "imageId": 23447, + "image": { + "id": 23447, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/2._Rank_Patch_-_SGT.png1739991088670.png", + "created_at": "2025-02-19 18:51:28", + "updated_at": "2025-02-19 18:51:28" + } + }, + "position": { + "id": 4395, + "name": "Alpha Team Leader", + "description": "Alpha Team Leader", + "groupId": 1058, + "displayOrder": 6, + "created_at": "2025-07-08 22:04:53", + "updated_at": "2025-07-08 22:12:17" + }, + "unit": { + "id": 3946, + "name": "SAS Team Alpha", + "callsign": "Sabre 3-1", + "leaderId": null, + "groupId": 1289, + "image": null, + "displayOrder": 22, + "created_at": "2025-07-08 21:52:01", + "updated_at": "2025-07-08 21:52:01" + }, + "roles": null, + "notes": null + }, + { + "id": 12297, + "communityId": 722, + "alias": "Shane", + "created_at": "2025-04-27 22:44:08", + "updated_at": "2025-08-19 17:37:00", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 10631, + "avatar": null, + "rank": { + "id": 4113, + "name": "Corporal", + "abbreviation": "Cpl", + "description": "RAF Corporal", + "groupId": 991, + "displayOrder": 2, + "created_at": "2025-04-10 18:33:12", + "updated_at": "2025-04-10 20:53:52", + "imageId": 24499, + "image": { + "id": 24499, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-RAF-CPL_patch_co.png1744309992102.png", + "created_at": "2025-04-10 18:33:12", + "updated_at": "2025-04-10 18:33:12" + } + }, + "position": { + "id": 4902, + "name": "JTAC", + "description": "A crucial role coordinating air strikes (Close Air Support) for ground troops, acting as the eyes in the sky or on the ground to guide pilots, mark targets with smoke/flares, and ensure friendly forces' safety, preventing friendly fire, using specialized aircraft or ground posts to direct jets, helicopters, and drones in real-time.", + "groupId": 1058, + "displayOrder": 0, + "created_at": "2025-12-21 22:35:20", + "updated_at": "2025-12-21 22:35:20" + }, + "unit": { + "id": 3946, + "name": "SAS Team Alpha", + "callsign": "Sabre 3-1", + "leaderId": null, + "groupId": 1289, + "image": null, + "displayOrder": 22, + "created_at": "2025-07-08 21:52:01", + "updated_at": "2025-07-08 21:52:01" + }, + "roles": null, + "notes": null + }, + { + "id": 12339, + "communityId": 722, + "alias": "FOZZ", + "created_at": "2025-04-30 17:56:37", + "updated_at": "2025-09-17 21:00:07", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 10670, + "avatar": null, + "rank": { + "id": 3988, + "name": "Corporal", + "abbreviation": "Cpl", + "description": "Cpl", + "groupId": 991, + "displayOrder": 1, + "created_at": "2025-02-18 17:04:31", + "updated_at": "2025-04-10 20:53:33", + "imageId": 23445, + "image": { + "id": 23445, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/1._Rank_Patch_-_CPL.png1739987323818.png", + "created_at": "2025-02-19 17:48:43", + "updated_at": "2025-02-19 17:48:43" + } + }, + "position": { + "id": 4055, + "name": "Rotary Pilot (Attack)", + "description": "Qualified to Fly Apache, Armed Rotary Craft", + "groupId": 1056, + "displayOrder": 0, + "created_at": "2025-04-08 12:07:17", + "updated_at": "2025-04-08 12:07:17" + }, + "unit": { + "id": 3940, + "name": "JSFAW", + "callsign": "22", + "leaderId": null, + "groupId": 1220, + "image": null, + "displayOrder": 0, + "created_at": "2025-07-07 16:51:45", + "updated_at": "2025-07-07 16:51:45" + }, + "roles": null, + "notes": null + }, + { + "id": 12340, + "communityId": 722, + "alias": "Brooks", + "created_at": "2025-04-30 18:01:54", + "updated_at": "2025-04-30 18:01:54", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 10671, + "avatar": null, + "rank": { + "id": 3992, + "name": "Trooper", + "abbreviation": "Tpr", + "description": "Private Soldier - **SAS, SBS & SRR Only**", + "groupId": 992, + "displayOrder": 1, + "created_at": "2025-02-19 17:16:40", + "updated_at": "2025-04-10 20:54:49", + "imageId": 23441, + "image": { + "id": 23441, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Rank_Patch_-_Pte.png1739986929005.png", + "created_at": "2025-02-19 17:42:09", + "updated_at": "2025-02-19 17:42:09" + } + }, + "position": { + "id": 4429, + "name": "SF Recce/Sniper", + "description": "SRR Qualifed", + "groupId": 1058, + "displayOrder": 0, + "created_at": "2025-07-21 16:37:19", + "updated_at": "2025-07-21 16:37:19" + }, + "unit": null, + "roles": null, + "notes": null + }, + { + "id": 12533, + "communityId": 722, + "alias": "Hans", + "created_at": "2025-05-13 12:56:09", + "updated_at": "2025-07-22 19:57:48", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 10835, + "avatar": { + "id": 25512, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/lettre-h-du-feu-de-lumière-br-lante-de-flamme-83919218-1949736079.jpg1747141934427.jpg", + "created_at": "2025-05-13 13:12:14", + "updated_at": "2025-05-13 13:12:14" + }, + "rank": { + "id": 4097, + "name": "Flying Officer", + "abbreviation": "FgOff", + "description": "Flying Officer RAF", + "groupId": 988, + "displayOrder": 0, + "created_at": "2025-04-08 12:18:31", + "updated_at": "2025-04-10 18:06:04", + "imageId": 24475, + "image": { + "id": 24475, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-RAF-FlOff_patch_co.png1744305979136.png", + "created_at": "2025-04-10 17:26:19", + "updated_at": "2025-04-10 17:26:19" + } + }, + "position": { + "id": 4055, + "name": "Rotary Pilot (Attack)", + "description": "Qualified to Fly Apache, Armed Rotary Craft", + "groupId": 1056, + "displayOrder": 0, + "created_at": "2025-04-08 12:07:17", + "updated_at": "2025-04-08 12:07:17" + }, + "unit": { + "id": 3593, + "name": "JSFAW Rotary", + "callsign": "22", + "leaderId": null, + "groupId": 1220, + "image": null, + "displayOrder": 22, + "created_at": "2025-02-18 17:20:01", + "updated_at": "2025-04-08 12:24:50" + }, + "roles": null, + "notes": null + }, + { + "id": 12807, + "communityId": 722, + "alias": "Nyuu.exe", + "created_at": "2025-06-04 12:35:35", + "updated_at": "2025-06-04 12:35:35", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 10970, + "avatar": null, + "rank": { + "id": 3990, + "name": "Private", + "abbreviation": "Pte", + "description": "Army Private", + "groupId": 992, + "displayOrder": 3, + "created_at": "2025-02-18 17:05:49", + "updated_at": "2025-04-10 20:55:12", + "imageId": 24479, + "image": { + "id": 24479, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/RankPatchPteA_co.png1744306247458.png", + "created_at": "2025-04-10 17:30:47", + "updated_at": "2025-04-10 17:30:47" + } + }, + "position": { + "id": 3989, + "name": "Rifleman", + "description": "N/A", + "groupId": 1043, + "displayOrder": 14, + "created_at": "2025-02-20 19:43:59", + "updated_at": "2025-02-20 19:48:39" + }, + "unit": null, + "roles": null, + "notes": null + }, + { + "id": 13053, + "communityId": 722, + "alias": "M. Barker [MC.] ", + "created_at": "2025-06-25 11:27:20", + "updated_at": "2025-09-17 17:06:55", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 9779, + "avatar": { + "id": 29772, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Winston-Metal.png1758128937874.png", + "created_at": "2025-09-17 17:08:57", + "updated_at": "2025-09-17 17:08:57" + }, + "rank": { + "id": 4098, + "name": "Staff Sergeant ", + "abbreviation": "SSgt", + "description": "SSGT", + "groupId": 990, + "displayOrder": 3, + "created_at": "2025-04-08 12:43:15", + "updated_at": "2025-04-10 20:52:39", + "imageId": 24421, + "image": { + "id": 24421, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Rank_Patch_-_SSGT.png1744185597066.png", + "created_at": "2025-04-09 07:59:57", + "updated_at": "2025-04-09 07:59:57" + } + }, + "position": { + "id": 4062, + "name": "SRR Tp Ldr", + "description": "SRR Troop Leader", + "groupId": 1058, + "displayOrder": 4, + "created_at": "2025-04-10 20:14:01", + "updated_at": "2025-07-08 22:03:07" + }, + "unit": { + "id": 3741, + "name": "SRR Troop HQ", + "callsign": "Raven 5-0", + "leaderId": null, + "groupId": 1289, + "image": { + "id": 24432, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Special_Reconnaissance_Regiment_badge.svg.png1744186499264.png", + "created_at": "2025-04-09 08:14:59", + "updated_at": "2025-04-09 08:14:59" + }, + "displayOrder": 29, + "created_at": "2025-04-09 08:14:59", + "updated_at": "2025-07-08 21:59:07" + }, + "roles": null, + "notes": null + }, + { + "id": 13147, + "communityId": 722, + "alias": "Hans [3rd ID]", + "created_at": "2025-07-02 05:45:30", + "updated_at": "2025-07-02 05:45:30", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 11312, + "avatar": null, + "rank": null, + "position": null, + "unit": null, + "roles": null, + "notes": null + }, + { + "id": 13391, + "communityId": 722, + "alias": "J. Smout", + "created_at": "2025-07-21 17:45:34", + "updated_at": "2025-07-21 17:45:34", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 11476, + "avatar": null, + "rank": { + "id": 3992, + "name": "Trooper", + "abbreviation": "Tpr", + "description": "Private Soldier - **SAS, SBS & SRR Only**", + "groupId": 992, + "displayOrder": 1, + "created_at": "2025-02-19 17:16:40", + "updated_at": "2025-04-10 20:54:49", + "imageId": 23441, + "image": { + "id": 23441, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Rank_Patch_-_Pte.png1739986929005.png", + "created_at": "2025-02-19 17:42:09", + "updated_at": "2025-02-19 17:42:09" + } + }, + "position": { + "id": 4429, + "name": "SF Recce/Sniper", + "description": "SRR Qualifed", + "groupId": 1058, + "displayOrder": 0, + "created_at": "2025-07-21 16:37:19", + "updated_at": "2025-07-21 16:37:19" + }, + "unit": { + "id": 3952, + "name": "SRR Team Alpha", + "callsign": "Raven 5-1", + "leaderId": null, + "groupId": 1289, + "image": null, + "displayOrder": 210, + "created_at": "2025-07-08 21:56:49", + "updated_at": "2025-07-08 21:56:49" + }, + "roles": null, + "notes": null + }, + { + "id": 13412, + "communityId": 722, + "alias": "A. Scott", + "created_at": "2025-07-23 20:30:08", + "updated_at": "2025-07-23 20:30:08", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 2359, + "avatar": null, + "rank": { + "id": 3991, + "name": "Recruit", + "abbreviation": "Rct", + "description": "Recruit", + "groupId": 992, + "displayOrder": 5, + "created_at": "2025-02-18 17:06:10", + "updated_at": "2025-04-10 20:55:26", + "imageId": 24480, + "image": { + "id": 24480, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/RankPatchPteA_co.png1744306264606.png", + "created_at": "2025-04-10 17:31:04", + "updated_at": "2025-04-10 17:31:04" + } + }, + "position": { + "id": 3989, + "name": "Rifleman", + "description": "N/A", + "groupId": 1043, + "displayOrder": 14, + "created_at": "2025-02-20 19:43:59", + "updated_at": "2025-02-20 19:48:39" + }, + "unit": null, + "roles": null, + "notes": null + }, + { + "id": 13423, + "communityId": 722, + "alias": "R. Holding", + "created_at": "2025-07-24 21:24:25", + "updated_at": "2025-07-24 21:28:16", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 3486, + "avatar": null, + "rank": { + "id": 3991, + "name": "Recruit", + "abbreviation": "Rct", + "description": "Recruit", + "groupId": 992, + "displayOrder": 5, + "created_at": "2025-02-18 17:06:10", + "updated_at": "2025-04-10 20:55:26", + "imageId": 24480, + "image": { + "id": 24480, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/RankPatchPteA_co.png1744306264606.png", + "created_at": "2025-04-10 17:31:04", + "updated_at": "2025-04-10 17:31:04" + } + }, + "position": { + "id": 3989, + "name": "Rifleman", + "description": "N/A", + "groupId": 1043, + "displayOrder": 14, + "created_at": "2025-02-20 19:43:59", + "updated_at": "2025-02-20 19:48:39" + }, + "unit": { + "id": 3958, + "name": "SFSG Training Plt", + "callsign": "Bulldog 10", + "leaderId": null, + "groupId": 1378, + "image": null, + "displayOrder": 0, + "created_at": "2025-07-08 22:24:19", + "updated_at": "2025-07-08 22:24:19" + }, + "roles": null, + "notes": null + }, + { + "id": 13424, + "communityId": 722, + "alias": "C. Agnew", + "created_at": "2025-07-24 21:26:11", + "updated_at": "2025-07-24 21:26:11", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 11499, + "avatar": null, + "rank": { + "id": 3982, + "name": "Second Lieutenant", + "abbreviation": "2Lt.", + "description": "2 Lt.", + "groupId": 988, + "displayOrder": 6, + "created_at": "2025-02-18 16:57:44", + "updated_at": "2025-04-10 20:51:54", + "imageId": 24424, + "image": { + "id": 24424, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-ARMY-2lt_patch_co.png1744185672618.png", + "created_at": "2025-04-09 08:01:12", + "updated_at": "2025-04-09 08:01:12" + } + }, + "position": { + "id": 3988, + "name": "Intelligence Officer", + "description": "N/A", + "groupId": 1040, + "displayOrder": 4, + "created_at": "2025-02-20 19:43:44", + "updated_at": "2025-02-23 12:12:41" + }, + "unit": { + "id": 3604, + "name": "Intelligence Cell", + "callsign": "--", + "leaderId": 11281, + "groupId": 1218, + "image": { + "id": 27257, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/raf,360x360,075,t,fafafa_ca443f4786.u1.jpg1752014402433.jpg", + "created_at": "2025-07-08 22:40:02", + "updated_at": "2025-07-08 22:40:02" + }, + "displayOrder": 6, + "created_at": "2025-02-23 12:02:04", + "updated_at": "2025-07-08 22:40:02" + }, + "roles": null, + "notes": null + }, + { + "id": 13433, + "communityId": 722, + "alias": "Astro", + "created_at": "2025-07-25 16:40:44", + "updated_at": "2025-07-25 16:40:44", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 11506, + "avatar": null, + "rank": { + "id": 3992, + "name": "Trooper", + "abbreviation": "Tpr", + "description": "Private Soldier - **SAS, SBS & SRR Only**", + "groupId": 992, + "displayOrder": 1, + "created_at": "2025-02-19 17:16:40", + "updated_at": "2025-04-10 20:54:49", + "imageId": 23441, + "image": { + "id": 23441, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Rank_Patch_-_Pte.png1739986929005.png", + "created_at": "2025-02-19 17:42:09", + "updated_at": "2025-02-19 17:42:09" + } + }, + "position": null, + "unit": null, + "roles": null, + "notes": null + }, + { + "id": 13631, + "communityId": 722, + "alias": "Kaybee", + "created_at": "2025-08-10 20:09:36", + "updated_at": "2025-08-10 20:10:45", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 9642, + "avatar": null, + "rank": { + "id": 3991, + "name": "Recruit", + "abbreviation": "Rct", + "description": "Recruit", + "groupId": 992, + "displayOrder": 5, + "created_at": "2025-02-18 17:06:10", + "updated_at": "2025-04-10 20:55:26", + "imageId": 24480, + "image": { + "id": 24480, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/RankPatchPteA_co.png1744306264606.png", + "created_at": "2025-04-10 17:31:04", + "updated_at": "2025-04-10 17:31:04" + } + }, + "position": { + "id": 3989, + "name": "Rifleman", + "description": "N/A", + "groupId": 1043, + "displayOrder": 14, + "created_at": "2025-02-20 19:43:59", + "updated_at": "2025-02-20 19:48:39" + }, + "unit": null, + "roles": null, + "notes": null + }, + { + "id": 13693, + "communityId": 722, + "alias": "Sophie", + "created_at": "2025-08-18 21:15:06", + "updated_at": "2025-08-18 21:15:06", + "status": "RESERVE", + "discharged": false, + "dischargedDate": null, + "playerId": 11711, + "avatar": { + "id": 33527, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/download.jpg1768511734392.jpg", + "created_at": "2026-01-15 21:15:34", + "updated_at": "2026-01-15 21:15:34" + }, + "rank": { + "id": 3992, + "name": "Trooper", + "abbreviation": "Tpr", + "description": "Private Soldier - **SAS, SBS & SRR Only**", + "groupId": 992, + "displayOrder": 1, + "created_at": "2025-02-19 17:16:40", + "updated_at": "2025-04-10 20:54:49", + "imageId": 23441, + "image": { + "id": 23441, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Rank_Patch_-_Pte.png1739986929005.png", + "created_at": "2025-02-19 17:42:09", + "updated_at": "2025-02-19 17:42:09" + } + }, + "position": { + "id": 3993, + "name": "CMT Class 2 Medic", + "description": "An intermediate-level field medic responsible for providing effective battlefield triage, stabilization, and casualty evacuation under fire. Operators holding this qualification are trusted to operate independently within a fireteam or section and deliver essential combat medical care.\n\nCore Responsibilities:\n- Provide immediate life-saving interventions.\n- Stabilize and monitor casualties for CASEVAC/MEDEVAC.\n- Maintain medical supply discipline and manage team-level medical assets.\n\nRequires CMT Class 2 qualification.", + "groupId": 1153, + "displayOrder": 17, + "created_at": "2025-02-20 19:52:57", + "updated_at": "2025-07-08 22:30:04" + }, + "unit": { + "id": 3956, + "name": "Medical Det", + "callsign": "Bulldog 15", + "leaderId": null, + "groupId": 1377, + "image": null, + "displayOrder": 31, + "created_at": "2025-07-08 22:22:46", + "updated_at": "2025-07-08 22:22:46" + }, + "roles": null, + "notes": null + }, + { + "id": 13695, + "communityId": 722, + "alias": "Aidan", + "created_at": "2025-08-18 21:24:35", + "updated_at": "2025-08-18 21:27:39", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 11713, + "avatar": null, + "rank": { + "id": 3988, + "name": "Corporal", + "abbreviation": "Cpl", + "description": "Cpl", + "groupId": 991, + "displayOrder": 1, + "created_at": "2025-02-18 17:04:31", + "updated_at": "2025-04-10 20:53:33", + "imageId": 23445, + "image": { + "id": 23445, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/1._Rank_Patch_-_CPL.png1739987323818.png", + "created_at": "2025-02-19 17:48:43", + "updated_at": "2025-02-19 17:48:43" + } + }, + "position": { + "id": 4396, + "name": "Alpha Team 2IC", + "description": "Alpha Team 2IC", + "groupId": 1058, + "displayOrder": 9, + "created_at": "2025-07-08 22:05:11", + "updated_at": "2025-07-08 22:13:21" + }, + "unit": { + "id": 3946, + "name": "SAS Team Alpha", + "callsign": "Sabre 3-1", + "leaderId": null, + "groupId": 1289, + "image": null, + "displayOrder": 22, + "created_at": "2025-07-08 21:52:01", + "updated_at": "2025-07-08 21:52:01" + }, + "roles": null, + "notes": null + }, + { + "id": 13696, + "communityId": 722, + "alias": "Derry", + "created_at": "2025-08-18 22:54:51", + "updated_at": "2025-08-19 13:07:31", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 11712, + "avatar": null, + "rank": { + "id": 3992, + "name": "Trooper", + "abbreviation": "Tpr", + "description": "Private Soldier - **SAS, SBS & SRR Only**", + "groupId": 992, + "displayOrder": 1, + "created_at": "2025-02-19 17:16:40", + "updated_at": "2025-04-10 20:54:49", + "imageId": 23441, + "image": { + "id": 23441, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Rank_Patch_-_Pte.png1739986929005.png", + "created_at": "2025-02-19 17:42:09", + "updated_at": "2025-02-19 17:42:09" + } + }, + "position": { + "id": 4429, + "name": "SF Recce/Sniper", + "description": "SRR Qualifed", + "groupId": 1058, + "displayOrder": 0, + "created_at": "2025-07-21 16:37:19", + "updated_at": "2025-07-21 16:37:19" + }, + "unit": { + "id": 3952, + "name": "SRR Team Alpha", + "callsign": "Raven 5-1", + "leaderId": null, + "groupId": 1289, + "image": null, + "displayOrder": 210, + "created_at": "2025-07-08 21:56:49", + "updated_at": "2025-07-08 21:56:49" + }, + "roles": null, + "notes": null + }, + { + "id": 13705, + "communityId": 722, + "alias": "Splinter ", + "created_at": "2025-08-19 21:12:06", + "updated_at": "2025-08-19 21:12:45", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 5857, + "avatar": null, + "rank": { + "id": 3989, + "name": "Lance Corporal", + "abbreviation": "LCpl", + "description": "Lcpl", + "groupId": 991, + "displayOrder": 3, + "created_at": "2025-02-18 17:04:55", + "updated_at": "2025-04-10 20:54:08", + "imageId": 23446, + "image": { + "id": 23446, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/2._Rank_Patch_-_LCPL.png1739991043064.png", + "created_at": "2025-02-19 18:50:43", + "updated_at": "2025-02-19 18:50:43" + } + }, + "position": { + "id": 4405, + "name": "SF Breacher", + "description": "SF Breacher", + "groupId": 1058, + "displayOrder": 0, + "created_at": "2025-07-08 22:16:51", + "updated_at": "2025-07-08 22:16:51" + }, + "unit": { + "id": 3946, + "name": "SAS Team Alpha", + "callsign": "Sabre 3-1", + "leaderId": null, + "groupId": 1289, + "image": null, + "displayOrder": 22, + "created_at": "2025-07-08 21:52:01", + "updated_at": "2025-07-08 21:52:01" + }, + "roles": null, + "notes": null + }, + { + "id": 13709, + "communityId": 722, + "alias": "Omega", + "created_at": "2025-08-20 05:18:39", + "updated_at": "2025-08-20 05:18:39", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 11724, + "avatar": { + "id": 30916, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Cretin.jpg1761723678900.jpg", + "created_at": "2025-10-29 07:41:18", + "updated_at": "2025-10-29 07:41:18" + }, + "rank": { + "id": 3988, + "name": "Corporal", + "abbreviation": "Cpl", + "description": "Cpl", + "groupId": 991, + "displayOrder": 1, + "created_at": "2025-02-18 17:04:31", + "updated_at": "2025-04-10 20:53:33", + "imageId": 23445, + "image": { + "id": 23445, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/1._Rank_Patch_-_CPL.png1739987323818.png", + "created_at": "2025-02-19 17:48:43", + "updated_at": "2025-02-19 17:48:43" + } + }, + "position": { + "id": 4407, + "name": "SF Explosives Expert", + "description": "SF Explosives Expert", + "groupId": 1058, + "displayOrder": 0, + "created_at": "2025-07-08 22:17:39", + "updated_at": "2025-07-08 22:17:39" + }, + "unit": { + "id": 3946, + "name": "SAS Team Alpha", + "callsign": "Sabre 3-1", + "leaderId": null, + "groupId": 1289, + "image": null, + "displayOrder": 22, + "created_at": "2025-07-08 21:52:01", + "updated_at": "2025-07-08 21:52:01" + }, + "roles": null, + "notes": null + }, + { + "id": 13712, + "communityId": 722, + "alias": "Chris", + "created_at": "2025-08-20 16:27:37", + "updated_at": "2025-08-20 16:27:37", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 11498, + "avatar": null, + "rank": null, + "position": null, + "unit": null, + "roles": null, + "notes": null + }, + { + "id": 13714, + "communityId": 722, + "alias": "Wraith", + "created_at": "2025-08-20 21:24:29", + "updated_at": "2025-08-20 21:25:14", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 11726, + "avatar": null, + "rank": { + "id": 3989, + "name": "Lance Corporal", + "abbreviation": "LCpl", + "description": "Lcpl", + "groupId": 991, + "displayOrder": 3, + "created_at": "2025-02-18 17:04:55", + "updated_at": "2025-04-10 20:54:08", + "imageId": 23446, + "image": { + "id": 23446, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/2._Rank_Patch_-_LCPL.png1739991043064.png", + "created_at": "2025-02-19 18:50:43", + "updated_at": "2025-02-19 18:50:43" + } + }, + "position": null, + "unit": null, + "roles": null, + "notes": null + }, + { + "id": 13727, + "communityId": 722, + "alias": "Brett", + "created_at": "2025-08-21 15:57:59", + "updated_at": "2025-08-21 19:25:51", + "status": "RESERVE", + "discharged": false, + "dischargedDate": null, + "playerId": 11734, + "avatar": null, + "rank": { + "id": 3992, + "name": "Trooper", + "abbreviation": "Tpr", + "description": "Private Soldier - **SAS, SBS & SRR Only**", + "groupId": 992, + "displayOrder": 1, + "created_at": "2025-02-19 17:16:40", + "updated_at": "2025-04-10 20:54:49", + "imageId": 23441, + "image": { + "id": 23441, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Rank_Patch_-_Pte.png1739986929005.png", + "created_at": "2025-02-19 17:42:09", + "updated_at": "2025-02-19 17:42:09" + } + }, + "position": { + "id": 3989, + "name": "Rifleman", + "description": "N/A", + "groupId": 1043, + "displayOrder": 14, + "created_at": "2025-02-20 19:43:59", + "updated_at": "2025-02-20 19:48:39" + }, + "unit": { + "id": 3949, + "name": "SBS Team Alpha", + "callsign": "Trident 4-1", + "leaderId": null, + "groupId": 1289, + "image": null, + "displayOrder": 26, + "created_at": "2025-07-08 21:54:48", + "updated_at": "2025-07-08 21:54:48" + }, + "roles": null, + "notes": null + }, + { + "id": 13734, + "communityId": 722, + "alias": "Toni", + "created_at": "2025-08-22 10:40:12", + "updated_at": "2025-08-22 10:48:19", + "status": "DISCHARGED", + "discharged": false, + "dischargedDate": null, + "playerId": 11739, + "avatar": null, + "rank": { + "id": 3992, + "name": "Trooper", + "abbreviation": "Tpr", + "description": "Private Soldier - **SAS, SBS & SRR Only**", + "groupId": 992, + "displayOrder": 1, + "created_at": "2025-02-19 17:16:40", + "updated_at": "2025-04-10 20:54:49", + "imageId": 23441, + "image": { + "id": 23441, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Rank_Patch_-_Pte.png1739986929005.png", + "created_at": "2025-02-19 17:42:09", + "updated_at": "2025-02-19 17:42:09" + } + }, + "position": { + "id": 4429, + "name": "SF Recce/Sniper", + "description": "SRR Qualifed", + "groupId": 1058, + "displayOrder": 0, + "created_at": "2025-07-21 16:37:19", + "updated_at": "2025-07-21 16:37:19" + }, + "unit": { + "id": 3958, + "name": "SFSG Training Plt", + "callsign": "Bulldog 10", + "leaderId": null, + "groupId": 1378, + "image": null, + "displayOrder": 0, + "created_at": "2025-07-08 22:24:19", + "updated_at": "2025-07-08 22:24:19" + }, + "roles": null, + "notes": null + }, + { + "id": 13789, + "communityId": 722, + "alias": "M. Müller", + "created_at": "2025-08-26 20:00:14", + "updated_at": "2025-08-26 20:00:14", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 10253, + "avatar": null, + "rank": null, + "position": null, + "unit": null, + "roles": null, + "notes": null + }, + { + "id": 13905, + "communityId": 722, + "alias": "M. Schaal", + "created_at": "2025-09-04 15:53:40", + "updated_at": "2025-09-04 15:55:31", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 10669, + "avatar": null, + "rank": { + "id": 4109, + "name": "Flight Sergeant", + "abbreviation": "FS", + "description": "RAF Flight Sergeant", + "groupId": 990, + "displayOrder": 5, + "created_at": "2025-04-10 18:24:03", + "updated_at": "2025-04-10 18:24:03", + "imageId": 24495, + "image": { + "id": 24495, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-RAF-FSGT_patch_co.png1744309443718.png", + "created_at": "2025-04-10 18:24:03", + "updated_at": "2025-04-10 18:24:03" + } + }, + "position": { + "id": 4055, + "name": "Rotary Pilot (Attack)", + "description": "Qualified to Fly Apache, Armed Rotary Craft", + "groupId": 1056, + "displayOrder": 0, + "created_at": "2025-04-08 12:07:17", + "updated_at": "2025-04-08 12:07:17" + }, + "unit": { + "id": 3940, + "name": "JSFAW", + "callsign": "22", + "leaderId": null, + "groupId": 1220, + "image": null, + "displayOrder": 0, + "created_at": "2025-07-07 16:51:45", + "updated_at": "2025-07-07 16:51:45" + }, + "roles": null, + "notes": null + }, + { + "id": 14057, + "communityId": 722, + "alias": "Chris H.", + "created_at": "2025-09-10 15:08:06", + "updated_at": "2025-09-11 12:42:16", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 11972, + "avatar": null, + "rank": { + "id": 3991, + "name": "Recruit", + "abbreviation": "Rct", + "description": "Recruit", + "groupId": 992, + "displayOrder": 5, + "created_at": "2025-02-18 17:06:10", + "updated_at": "2025-04-10 20:55:26", + "imageId": 24480, + "image": { + "id": 24480, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/RankPatchPteA_co.png1744306264606.png", + "created_at": "2025-04-10 17:31:04", + "updated_at": "2025-04-10 17:31:04" + } + }, + "position": { + "id": 3989, + "name": "Rifleman", + "description": "N/A", + "groupId": 1043, + "displayOrder": 14, + "created_at": "2025-02-20 19:43:59", + "updated_at": "2025-02-20 19:48:39" + }, + "unit": null, + "roles": null, + "notes": null + }, + { + "id": 14062, + "communityId": 722, + "alias": "BAKES982", + "created_at": "2025-09-11 13:07:28", + "updated_at": "2025-09-11 13:07:28", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 11975, + "avatar": null, + "rank": { + "id": 3991, + "name": "Recruit", + "abbreviation": "Rct", + "description": "Recruit", + "groupId": 992, + "displayOrder": 5, + "created_at": "2025-02-18 17:06:10", + "updated_at": "2025-04-10 20:55:26", + "imageId": 24480, + "image": { + "id": 24480, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/RankPatchPteA_co.png1744306264606.png", + "created_at": "2025-04-10 17:31:04", + "updated_at": "2025-04-10 17:31:04" + } + }, + "position": { + "id": 3989, + "name": "Rifleman", + "description": "N/A", + "groupId": 1043, + "displayOrder": 14, + "created_at": "2025-02-20 19:43:59", + "updated_at": "2025-02-20 19:48:39" + }, + "unit": null, + "roles": null, + "notes": null + }, + { + "id": 14125, + "communityId": 722, + "alias": "maxischaa@gmail.com", + "created_at": "2025-09-16 14:31:04", + "updated_at": "2025-09-16 14:31:04", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 11865, + "avatar": null, + "rank": null, + "position": null, + "unit": null, + "roles": null, + "notes": null + }, + { + "id": 14146, + "communityId": 722, + "alias": "der_echte_deutsche", + "created_at": "2025-09-17 14:39:48", + "updated_at": "2025-09-17 14:39:48", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 12041, + "avatar": null, + "rank": null, + "position": null, + "unit": null, + "roles": null, + "notes": null + }, + { + "id": 14152, + "communityId": 722, + "alias": "Coburn", + "created_at": "2025-09-17 20:18:41", + "updated_at": "2025-09-17 20:18:41", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 10248, + "avatar": null, + "rank": null, + "position": null, + "unit": null, + "roles": null, + "notes": null + }, + { + "id": 14865, + "communityId": 722, + "alias": "sensquaredgaming", + "created_at": "2025-11-04 19:43:49", + "updated_at": "2025-11-04 19:43:49", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 9790, + "avatar": null, + "rank": null, + "position": null, + "unit": null, + "roles": null, + "notes": null + }, + { + "id": 14999, + "communityId": 722, + "alias": "Noble", + "created_at": "2025-11-12 18:00:08", + "updated_at": "2025-11-12 18:01:21", + "status": "DISCHARGED", + "discharged": false, + "dischargedDate": null, + "playerId": 12544, + "avatar": null, + "rank": { + "id": 3992, + "name": "Trooper", + "abbreviation": "Tpr", + "description": "Private Soldier - **SAS, SBS & SRR Only**", + "groupId": 992, + "displayOrder": 1, + "created_at": "2025-02-19 17:16:40", + "updated_at": "2025-04-10 20:54:49", + "imageId": 23441, + "image": { + "id": 23441, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Rank_Patch_-_Pte.png1739986929005.png", + "created_at": "2025-02-19 17:42:09", + "updated_at": "2025-02-19 17:42:09" + } + }, + "position": null, + "unit": null, + "roles": null, + "notes": null + }, + { + "id": 15038, + "communityId": 722, + "alias": "Amy", + "created_at": "2025-11-14 23:45:09", + "updated_at": "2025-11-14 23:45:09", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 12750, + "avatar": null, + "rank": { + "id": 3992, + "name": "Trooper", + "abbreviation": "Tpr", + "description": "Private Soldier - **SAS, SBS & SRR Only**", + "groupId": 992, + "displayOrder": 1, + "created_at": "2025-02-19 17:16:40", + "updated_at": "2025-04-10 20:54:49", + "imageId": 23441, + "image": { + "id": 23441, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Rank_Patch_-_Pte.png1739986929005.png", + "created_at": "2025-02-19 17:42:09", + "updated_at": "2025-02-19 17:42:09" + } + }, + "position": null, + "unit": { + "id": 3949, + "name": "SBS Team Alpha", + "callsign": "Trident 4-1", + "leaderId": null, + "groupId": 1289, + "image": null, + "displayOrder": 26, + "created_at": "2025-07-08 21:54:48", + "updated_at": "2025-07-08 21:54:48" + }, + "roles": null, + "notes": null + }, + { + "id": 15185, + "communityId": 722, + "alias": "jaruto7@wp.pl", + "created_at": "2025-11-25 21:07:20", + "updated_at": "2025-11-25 21:07:20", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 12851, + "avatar": null, + "rank": null, + "position": null, + "unit": null, + "roles": null, + "notes": null + }, + { + "id": 15330, + "communityId": 722, + "alias": "Odin", + "created_at": "2025-12-09 15:24:32", + "updated_at": "2025-12-09 15:24:32", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 12954, + "avatar": null, + "rank": { + "id": 3991, + "name": "Recruit", + "abbreviation": "Rct", + "description": "Recruit", + "groupId": 992, + "displayOrder": 5, + "created_at": "2025-02-18 17:06:10", + "updated_at": "2025-04-10 20:55:26", + "imageId": 24480, + "image": { + "id": 24480, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/RankPatchPteA_co.png1744306264606.png", + "created_at": "2025-04-10 17:31:04", + "updated_at": "2025-04-10 17:31:04" + } + }, + "position": null, + "unit": { + "id": 3958, + "name": "SFSG Training Plt", + "callsign": "Bulldog 10", + "leaderId": null, + "groupId": 1378, + "image": null, + "displayOrder": 0, + "created_at": "2025-07-08 22:24:19", + "updated_at": "2025-07-08 22:24:19" + }, + "roles": null, + "notes": null + }, + { + "id": 15332, + "communityId": 722, + "alias": "J. Smith", + "created_at": "2025-12-09 17:27:49", + "updated_at": "2025-12-09 17:27:49", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 12956, + "avatar": null, + "rank": { + "id": 3992, + "name": "Trooper", + "abbreviation": "Tpr", + "description": "Private Soldier - **SAS, SBS & SRR Only**", + "groupId": 992, + "displayOrder": 1, + "created_at": "2025-02-19 17:16:40", + "updated_at": "2025-04-10 20:54:49", + "imageId": 23441, + "image": { + "id": 23441, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Rank_Patch_-_Pte.png1739986929005.png", + "created_at": "2025-02-19 17:42:09", + "updated_at": "2025-02-19 17:42:09" + } + }, + "position": null, + "unit": { + "id": 3949, + "name": "SBS Team Alpha", + "callsign": "Trident 4-1", + "leaderId": null, + "groupId": 1289, + "image": null, + "displayOrder": 26, + "created_at": "2025-07-08 21:54:48", + "updated_at": "2025-07-08 21:54:48" + }, + "roles": null, + "notes": null + }, + { + "id": 15333, + "communityId": 722, + "alias": "G.Mockett", + "created_at": "2025-12-09 17:28:00", + "updated_at": "2025-12-09 17:28:00", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 12957, + "avatar": null, + "rank": { + "id": 3992, + "name": "Trooper", + "abbreviation": "Tpr", + "description": "Private Soldier - **SAS, SBS & SRR Only**", + "groupId": 992, + "displayOrder": 1, + "created_at": "2025-02-19 17:16:40", + "updated_at": "2025-04-10 20:54:49", + "imageId": 23441, + "image": { + "id": 23441, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Rank_Patch_-_Pte.png1739986929005.png", + "created_at": "2025-02-19 17:42:09", + "updated_at": "2025-02-19 17:42:09" + } + }, + "position": null, + "unit": null, + "roles": null, + "notes": null + }, + { + "id": 15508, + "communityId": 722, + "alias": "notkongou", + "created_at": "2025-12-23 23:55:34", + "updated_at": "2025-12-23 23:55:34", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 4804, + "avatar": null, + "rank": { + "id": 3991, + "name": "Recruit", + "abbreviation": "Rct", + "description": "Recruit", + "groupId": 992, + "displayOrder": 5, + "created_at": "2025-02-18 17:06:10", + "updated_at": "2025-04-10 20:55:26", + "imageId": 24480, + "image": { + "id": 24480, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/RankPatchPteA_co.png1744306264606.png", + "created_at": "2025-04-10 17:31:04", + "updated_at": "2025-04-10 17:31:04" + } + }, + "position": null, + "unit": { + "id": 3958, + "name": "SFSG Training Plt", + "callsign": "Bulldog 10", + "leaderId": null, + "groupId": 1378, + "image": null, + "displayOrder": 0, + "created_at": "2025-07-08 22:24:19", + "updated_at": "2025-07-08 22:24:19" + }, + "roles": null, + "notes": null + }, + { + "id": 15670, + "communityId": 722, + "alias": "alforceone", + "created_at": "2026-01-03 16:27:20", + "updated_at": "2026-01-03 16:27:20", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 10416, + "avatar": null, + "rank": { + "id": 4111, + "name": "Sergeant Aircrew", + "abbreviation": "SACr", + "description": "An RAF Aircrew Sergeant", + "groupId": 990, + "displayOrder": 8, + "created_at": "2025-04-10 18:28:17", + "updated_at": "2025-04-10 18:28:17", + "imageId": 24497, + "image": { + "id": 24497, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-RAF-SACR_patch_co.png1744309697665.png", + "created_at": "2025-04-10 18:28:17", + "updated_at": "2025-04-10 18:28:17" + } + }, + "position": null, + "unit": { + "id": 3940, + "name": "JSFAW", + "callsign": "22", + "leaderId": null, + "groupId": 1220, + "image": null, + "displayOrder": 0, + "created_at": "2025-07-07 16:51:45", + "updated_at": "2025-07-07 16:51:45" + }, + "roles": null, + "notes": null + }, + { + "id": 15671, + "communityId": 722, + "alias": "jambojay.", + "created_at": "2026-01-03 17:48:36", + "updated_at": "2026-01-03 17:48:36", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 9507, + "avatar": null, + "rank": { + "id": 3992, + "name": "Trooper", + "abbreviation": "Tpr", + "description": "Private Soldier - **SAS, SBS & SRR Only**", + "groupId": 992, + "displayOrder": 1, + "created_at": "2025-02-19 17:16:40", + "updated_at": "2025-04-10 20:54:49", + "imageId": 23441, + "image": { + "id": 23441, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Rank_Patch_-_Pte.png1739986929005.png", + "created_at": "2025-02-19 17:42:09", + "updated_at": "2025-02-19 17:42:09" + } + }, + "position": { + "id": 3989, + "name": "Rifleman", + "description": "N/A", + "groupId": 1043, + "displayOrder": 14, + "created_at": "2025-02-20 19:43:59", + "updated_at": "2025-02-20 19:48:39" + }, + "unit": { + "id": 3949, + "name": "SBS Team Alpha", + "callsign": "Trident 4-1", + "leaderId": null, + "groupId": 1289, + "image": null, + "displayOrder": 26, + "created_at": "2025-07-08 21:54:48", + "updated_at": "2025-07-08 21:54:48" + }, + "roles": null, + "notes": null + }, + { + "id": 15960, + "communityId": 722, + "alias": "C. Fiadh", + "created_at": "2026-01-25 18:33:04", + "updated_at": "2026-01-28 12:14:46", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 670, + "avatar": null, + "rank": { + "id": 3990, + "name": "Private", + "abbreviation": "Pte", + "description": "Army Private", + "groupId": 992, + "displayOrder": 3, + "created_at": "2025-02-18 17:05:49", + "updated_at": "2025-04-10 20:55:12", + "imageId": 24479, + "image": { + "id": 24479, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/RankPatchPteA_co.png1744306247458.png", + "created_at": "2025-04-10 17:30:47", + "updated_at": "2025-04-10 17:30:47" + } + }, + "position": null, + "unit": { + "id": 3958, + "name": "SFSG Training Plt", + "callsign": "Bulldog 10", + "leaderId": null, + "groupId": 1378, + "image": null, + "displayOrder": 0, + "created_at": "2025-07-08 22:24:19", + "updated_at": "2025-07-08 22:24:19" + }, + "roles": null, + "notes": null + }, + { + "id": 15991, + "communityId": 722, + "alias": "biddlesminch", + "created_at": "2026-01-27 19:33:27", + "updated_at": "2026-01-27 19:33:27", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 13438, + "avatar": null, + "rank": { + "id": 3991, + "name": "Recruit", + "abbreviation": "Rct", + "description": "Recruit", + "groupId": 992, + "displayOrder": 5, + "created_at": "2025-02-18 17:06:10", + "updated_at": "2025-04-10 20:55:26", + "imageId": 24480, + "image": { + "id": 24480, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/RankPatchPteA_co.png1744306264606.png", + "created_at": "2025-04-10 17:31:04", + "updated_at": "2025-04-10 17:31:04" + } + }, + "position": null, + "unit": { + "id": 3958, + "name": "SFSG Training Plt", + "callsign": "Bulldog 10", + "leaderId": null, + "groupId": 1378, + "image": null, + "displayOrder": 0, + "created_at": "2025-07-08 22:24:19", + "updated_at": "2025-07-08 22:24:19" + }, + "roles": null, + "notes": null + }, + { + "id": 16041, + "communityId": 722, + "alias": "K.Stevie", + "created_at": "2026-01-30 16:12:27", + "updated_at": "2026-01-30 16:12:27", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 13473, + "avatar": null, + "rank": { + "id": 3991, + "name": "Recruit", + "abbreviation": "Rct", + "description": "Recruit", + "groupId": 992, + "displayOrder": 5, + "created_at": "2025-02-18 17:06:10", + "updated_at": "2025-04-10 20:55:26", + "imageId": 24480, + "image": { + "id": 24480, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/RankPatchPteA_co.png1744306264606.png", + "created_at": "2025-04-10 17:31:04", + "updated_at": "2025-04-10 17:31:04" + } + }, + "position": { + "id": 3989, + "name": "Rifleman", + "description": "N/A", + "groupId": 1043, + "displayOrder": 14, + "created_at": "2025-02-20 19:43:59", + "updated_at": "2025-02-20 19:48:39" + }, + "unit": { + "id": 3958, + "name": "SFSG Training Plt", + "callsign": "Bulldog 10", + "leaderId": null, + "groupId": 1378, + "image": null, + "displayOrder": 0, + "created_at": "2025-07-08 22:24:19", + "updated_at": "2025-07-08 22:24:19" + }, + "roles": null, + "notes": null + }, + { + "id": 16211, + "communityId": 722, + "alias": "Jones", + "created_at": "2026-02-08 10:53:33", + "updated_at": "2026-02-09 23:46:09", + "status": "ACTIVE", + "discharged": false, + "dischargedDate": null, + "playerId": 13572, + "avatar": null, + "rank": { + "id": 3991, + "name": "Recruit", + "abbreviation": "Rct", + "description": "Recruit", + "groupId": 992, + "displayOrder": 5, + "created_at": "2025-02-18 17:06:10", + "updated_at": "2025-04-10 20:55:26", + "imageId": 24480, + "image": { + "id": 24480, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/RankPatchPteA_co.png1744306264606.png", + "created_at": "2025-04-10 17:31:04", + "updated_at": "2025-04-10 17:31:04" + } + }, + "position": { + "id": 3989, + "name": "Rifleman", + "description": "N/A", + "groupId": 1043, + "displayOrder": 14, + "created_at": "2025-02-20 19:43:59", + "updated_at": "2025-02-20 19:48:39" + }, + "unit": { + "id": 3958, + "name": "SFSG Training Plt", + "callsign": "Bulldog 10", + "leaderId": null, + "groupId": 1378, + "image": null, + "displayOrder": 0, + "created_at": "2025-07-08 22:24:19", + "updated_at": "2025-07-08 22:24:19" + }, + "roles": null, + "notes": null + } + ], + "units": [ + { + "id": 3580, + "name": "TFHQ", + "callsign": "0-", + "leaderId": 11259, + "groupId": 1218, + "image": { + "id": 24520, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/UKSF-TFA_Unit_Emblem.png1744315262677.png", + "created_at": "2025-04-10 20:01:02", + "updated_at": "2025-04-10 20:01:02" + }, + "displayOrder": 0, + "created_at": "2025-02-18 17:10:28", + "updated_at": "2025-04-10 20:01:02" + }, + { + "id": 3581, + "name": "OC", + "callsign": "0A", + "leaderId": 11259, + "groupId": 1218, + "image": null, + "displayOrder": 1, + "created_at": "2025-02-18 17:11:57", + "updated_at": "2025-07-21 16:25:00" + }, + { + "id": 3582, + "name": "2IC", + "callsign": "0B", + "leaderId": null, + "groupId": 1218, + "image": null, + "displayOrder": 2, + "created_at": "2025-02-18 17:12:17", + "updated_at": "2025-02-18 17:12:17" + }, + { + "id": 3583, + "name": "SSM", + "callsign": "0C", + "leaderId": null, + "groupId": 1218, + "image": null, + "displayOrder": 3, + "created_at": "2025-02-18 17:13:01", + "updated_at": "2025-07-21 16:23:26" + }, + { + "id": 3584, + "name": "Operations Officer", + "callsign": "0D", + "leaderId": 11281, + "groupId": 1218, + "image": null, + "displayOrder": 4, + "created_at": "2025-02-18 17:13:39", + "updated_at": "2025-02-23 12:24:09" + }, + { + "id": 3585, + "name": "QM", + "callsign": "0E", + "leaderId": null, + "groupId": 1218, + "image": null, + "displayOrder": 5, + "created_at": "2025-02-18 17:13:57", + "updated_at": "2025-02-18 17:13:57" + }, + { + "id": 3591, + "name": "JSFAW HQ", + "callsign": "Guardian 2-0", + "leaderId": 11282, + "groupId": 1220, + "image": { + "id": 24523, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Photoroom-20250109_105457.png1744319093056.png", + "created_at": "2025-04-10 21:04:53", + "updated_at": "2025-04-10 21:04:53" + }, + "displayOrder": 20, + "created_at": "2025-02-18 17:19:31", + "updated_at": "2025-04-10 21:08:21" + }, + { + "id": 3592, + "name": "JSFAW Fixed Wing", + "callsign": "21", + "leaderId": null, + "groupId": 1220, + "image": null, + "displayOrder": 21, + "created_at": "2025-02-18 17:19:45", + "updated_at": "2025-04-08 12:25:06" + }, + { + "id": 3593, + "name": "JSFAW Rotary", + "callsign": "22", + "leaderId": null, + "groupId": 1220, + "image": null, + "displayOrder": 22, + "created_at": "2025-02-18 17:20:01", + "updated_at": "2025-04-08 12:24:50" + }, + { + "id": 3600, + "name": "Taskforce Training Regiment", + "callsign": "--", + "leaderId": null, + "groupId": 1218, + "image": null, + "displayOrder": 9, + "created_at": "2025-02-21 13:20:19", + "updated_at": "2025-04-10 21:32:15" + }, + { + "id": 3604, + "name": "Intelligence Cell", + "callsign": "--", + "leaderId": 11281, + "groupId": 1218, + "image": { + "id": 27257, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/raf,360x360,075,t,fafafa_ca443f4786.u1.jpg1752014402433.jpg", + "created_at": "2025-07-08 22:40:02", + "updated_at": "2025-07-08 22:40:02" + }, + "displayOrder": 6, + "created_at": "2025-02-23 12:02:04", + "updated_at": "2025-07-08 22:40:02" + }, + { + "id": 3734, + "name": "Press Team", + "callsign": "--", + "leaderId": null, + "groupId": 1218, + "image": null, + "displayOrder": 7, + "created_at": "2025-04-08 12:25:59", + "updated_at": "2025-04-08 12:25:59" + }, + { + "id": 3735, + "name": "QM's Dept", + "callsign": "0E", + "leaderId": null, + "groupId": 1218, + "image": null, + "displayOrder": 8, + "created_at": "2025-04-08 12:45:44", + "updated_at": "2025-04-10 21:11:15" + }, + { + "id": 3736, + "name": "QM", + "callsign": "0E", + "leaderId": 11259, + "groupId": 1288, + "image": null, + "displayOrder": 0, + "created_at": "2025-04-08 12:47:32", + "updated_at": "2025-04-10 21:11:51" + }, + { + "id": 3737, + "name": "QM's Personel", + "callsign": "0F", + "leaderId": null, + "groupId": 1288, + "image": null, + "displayOrder": 0, + "created_at": "2025-04-08 12:47:57", + "updated_at": "2025-04-08 12:48:48" + }, + { + "id": 3739, + "name": "SAS Troop HQ", + "callsign": "Sabre 3-0", + "leaderId": null, + "groupId": 1289, + "image": { + "id": 24430, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/UK_SAS_(badge).svg.png1744186353389.png", + "created_at": "2025-04-09 08:12:33", + "updated_at": "2025-04-09 08:12:33" + }, + "displayOrder": 21, + "created_at": "2025-04-09 08:12:33", + "updated_at": "2025-07-08 21:54:29" + }, + { + "id": 3740, + "name": "SBS Troop HQ", + "callsign": "Trident 4-0", + "leaderId": null, + "groupId": 1289, + "image": { + "id": 24431, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Insigne_Special_Boat_Service_(SBS).svg.png1744186437516.png", + "created_at": "2025-04-09 08:13:57", + "updated_at": "2025-04-09 08:13:57" + }, + "displayOrder": 25, + "created_at": "2025-04-09 08:13:57", + "updated_at": "2025-07-08 21:55:38" + }, + { + "id": 3741, + "name": "SRR Troop HQ", + "callsign": "Raven 5-0", + "leaderId": null, + "groupId": 1289, + "image": { + "id": 24432, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Special_Reconnaissance_Regiment_badge.svg.png1744186499264.png", + "created_at": "2025-04-09 08:14:59", + "updated_at": "2025-04-09 08:14:59" + }, + "displayOrder": 29, + "created_at": "2025-04-09 08:14:59", + "updated_at": "2025-07-08 21:59:07" + }, + { + "id": 3742, + "name": "UKSF ", + "callsign": "--", + "leaderId": null, + "groupId": 1289, + "image": { + "id": 24524, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/MinistryofDefence.svg.png1744319884163.png", + "created_at": "2025-04-10 21:18:04", + "updated_at": "2025-04-10 21:18:04" + }, + "displayOrder": 20, + "created_at": "2025-04-10 21:18:04", + "updated_at": "2025-07-07 16:55:24" + }, + { + "id": 3940, + "name": "JSFAW", + "callsign": "22", + "leaderId": null, + "groupId": 1220, + "image": null, + "displayOrder": 0, + "created_at": "2025-07-07 16:51:45", + "updated_at": "2025-07-07 16:51:45" + }, + { + "id": 3946, + "name": "SAS Team Alpha", + "callsign": "Sabre 3-1", + "leaderId": null, + "groupId": 1289, + "image": null, + "displayOrder": 22, + "created_at": "2025-07-08 21:52:01", + "updated_at": "2025-07-08 21:52:01" + }, + { + "id": 3947, + "name": "SAS Team Bravo", + "callsign": "Sabre 3-2", + "leaderId": null, + "groupId": 1289, + "image": null, + "displayOrder": 23, + "created_at": "2025-07-08 21:52:57", + "updated_at": "2025-07-08 21:52:57" + }, + { + "id": 3948, + "name": "SAS Team Charlie", + "callsign": "Sabre 3-3", + "leaderId": null, + "groupId": 1289, + "image": null, + "displayOrder": 24, + "created_at": "2025-07-08 21:53:26", + "updated_at": "2025-07-08 21:53:26" + }, + { + "id": 3949, + "name": "SBS Team Alpha", + "callsign": "Trident 4-1", + "leaderId": null, + "groupId": 1289, + "image": null, + "displayOrder": 26, + "created_at": "2025-07-08 21:54:48", + "updated_at": "2025-07-08 21:54:48" + }, + { + "id": 3950, + "name": "SBS Team Bravo", + "callsign": "Trident 4-2", + "leaderId": null, + "groupId": 1289, + "image": null, + "displayOrder": 27, + "created_at": "2025-07-08 21:55:06", + "updated_at": "2025-07-08 21:55:06" + }, + { + "id": 3951, + "name": "SBS Team Charlie", + "callsign": "Trident 4-3", + "leaderId": null, + "groupId": 1289, + "image": null, + "displayOrder": 28, + "created_at": "2025-07-08 21:55:26", + "updated_at": "2025-07-08 21:55:26" + }, + { + "id": 3952, + "name": "SRR Team Alpha", + "callsign": "Raven 5-1", + "leaderId": null, + "groupId": 1289, + "image": null, + "displayOrder": 210, + "created_at": "2025-07-08 21:56:49", + "updated_at": "2025-07-08 21:56:49" + }, + { + "id": 3953, + "name": "SRR Team Bravo", + "callsign": "Raven 5-2", + "leaderId": null, + "groupId": 1289, + "image": null, + "displayOrder": 211, + "created_at": "2025-07-08 21:57:05", + "updated_at": "2025-07-08 21:57:05" + }, + { + "id": 3954, + "name": "SRR Team Charlie", + "callsign": "Raven 5-3", + "leaderId": null, + "groupId": 1289, + "image": null, + "displayOrder": 212, + "created_at": "2025-07-08 21:57:18", + "updated_at": "2025-07-08 21:57:18" + }, + { + "id": 3955, + "name": "Med Det HQ", + "callsign": "Bulldog 15", + "leaderId": null, + "groupId": 1377, + "image": { + "id": 27254, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/meddet.png1744999940169.png1752013327506.png", + "created_at": "2025-07-08 22:22:07", + "updated_at": "2025-07-08 22:22:07" + }, + "displayOrder": 30, + "created_at": "2025-07-08 22:22:07", + "updated_at": "2025-07-08 22:22:07" + }, + { + "id": 3956, + "name": "Medical Det", + "callsign": "Bulldog 15", + "leaderId": null, + "groupId": 1377, + "image": null, + "displayOrder": 31, + "created_at": "2025-07-08 22:22:46", + "updated_at": "2025-07-08 22:22:46" + }, + { + "id": 3957, + "name": "SFSG Training Plt HQ", + "callsign": "Bulldog 10", + "leaderId": null, + "groupId": 1378, + "image": { + "id": 27255, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Insigne_du_Special_Forces_Support_Group_(SFSG).svg.png1744316920677.png1752013431620.png", + "created_at": "2025-07-08 22:23:51", + "updated_at": "2025-07-08 22:23:51" + }, + "displayOrder": 0, + "created_at": "2025-07-08 22:23:51", + "updated_at": "2025-07-08 22:23:51" + }, + { + "id": 3958, + "name": "SFSG Training Plt", + "callsign": "Bulldog 10", + "leaderId": null, + "groupId": 1378, + "image": null, + "displayOrder": 0, + "created_at": "2025-07-08 22:24:19", + "updated_at": "2025-07-08 22:24:19" + }, + { + "id": 3959, + "name": "1 Troop RAC", + "callsign": "Panzer 14", + "leaderId": null, + "groupId": 1379, + "image": { + "id": 27256, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/images.png1752014336768.png", + "created_at": "2025-07-08 22:38:56", + "updated_at": "2025-07-08 22:38:56" + }, + "displayOrder": 0, + "created_at": "2025-07-08 22:37:28", + "updated_at": "2025-07-08 22:38:56" + } + ], + "ranks": [ + { + "id": 3976, + "name": "Lieutenant Colonel", + "abbreviation": "Lt. Col", + "description": "Commanding Officer of UKSF Taskforce Alpha", + "groupId": 988, + "displayOrder": 0, + "created_at": "2025-02-18 16:46:23", + "updated_at": "2025-04-09 08:05:07", + "imageId": 24428, + "image": { + "id": 24428, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-ARMY-ltcol_patch_co.png1744185907305.png", + "created_at": "2025-04-09 08:05:07", + "updated_at": "2025-04-09 08:05:07" + } + }, + { + "id": 3977, + "name": "Major", + "abbreviation": "Maj.", + "description": "A Major is either OC of a Company or 2IC of a unit", + "groupId": 988, + "displayOrder": 2, + "created_at": "2025-02-18 16:47:13", + "updated_at": "2025-04-09 08:04:30", + "imageId": 24427, + "image": { + "id": 24427, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-ARMY-maj_patch_co.png1744185870693.png", + "created_at": "2025-04-09 08:04:30", + "updated_at": "2025-04-09 08:04:30" + } + }, + { + "id": 3978, + "name": "Lieutenant Commander", + "abbreviation": "Lt. Cmdr.", + "description": "LT Cmdr", + "groupId": 988, + "displayOrder": 1, + "created_at": "2025-02-18 16:50:37", + "updated_at": "2025-04-10 17:19:11", + "imageId": 24473, + "image": { + "id": 24473, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-NAVY-LTCDR_patch_co.png1744305551871.png", + "created_at": "2025-04-10 17:19:11", + "updated_at": "2025-04-10 17:19:11" + } + }, + { + "id": 3979, + "name": "Squadron Leader", + "abbreviation": "Sqn. Ldr", + "description": "Squadron Leader RAF", + "groupId": 988, + "displayOrder": 3, + "created_at": "2025-02-18 16:54:39", + "updated_at": "2025-04-10 17:26:43", + "imageId": 24476, + "image": { + "id": 24476, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-RAF-SQNLdr_patch_co.png1744306003985.png", + "created_at": "2025-04-10 17:26:43", + "updated_at": "2025-04-10 17:26:43" + } + }, + { + "id": 3980, + "name": "Captain", + "abbreviation": "Capt.", + "description": "captain", + "groupId": 988, + "displayOrder": 4, + "created_at": "2025-02-18 16:55:00", + "updated_at": "2025-04-09 08:03:47", + "imageId": 24426, + "image": { + "id": 24426, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-ARMY-capt_patch_co.png1744185827133.png", + "created_at": "2025-04-09 08:03:47", + "updated_at": "2025-04-09 08:03:47" + } + }, + { + "id": 3981, + "name": "Lieutenant", + "abbreviation": "Lt.", + "description": "lt.", + "groupId": 988, + "displayOrder": 5, + "created_at": "2025-02-18 16:57:12", + "updated_at": "2025-04-10 20:51:34", + "imageId": 24425, + "image": { + "id": 24425, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-ARMY-lt_patch_co.png1744185711146.png", + "created_at": "2025-04-09 08:01:51", + "updated_at": "2025-04-09 08:01:51" + } + }, + { + "id": 3982, + "name": "Second Lieutenant", + "abbreviation": "2Lt.", + "description": "2 Lt.", + "groupId": 988, + "displayOrder": 6, + "created_at": "2025-02-18 16:57:44", + "updated_at": "2025-04-10 20:51:54", + "imageId": 24424, + "image": { + "id": 24424, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-ARMY-2lt_patch_co.png1744185672618.png", + "created_at": "2025-04-09 08:01:12", + "updated_at": "2025-04-09 08:01:12" + } + }, + { + "id": 3983, + "name": "Warrant Officer Class 1", + "abbreviation": "WO1, RSM", + "description": "WO1 ARMY", + "groupId": 989, + "displayOrder": 1, + "created_at": "2025-02-18 16:58:56", + "updated_at": "2025-04-10 18:09:08", + "imageId": 24477, + "image": { + "id": 24477, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-ARMY-wo1_patch_co.png1744306101859.png", + "created_at": "2025-04-10 17:28:21", + "updated_at": "2025-04-10 17:28:21" + } + }, + { + "id": 3984, + "name": "Warrant Officer Class 2", + "abbreviation": "WO2, CSM", + "description": "Company Sergeant Major", + "groupId": 989, + "displayOrder": 6, + "created_at": "2025-02-18 17:01:23", + "updated_at": "2025-04-10 18:11:00", + "imageId": 24422, + "image": { + "id": 24422, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-ARMY-wo2_patch_co.png1744185626501.png", + "created_at": "2025-04-09 08:00:26", + "updated_at": "2025-04-09 08:00:26" + } + }, + { + "id": 3985, + "name": "Warrant Officer Class 2", + "abbreviation": "RQMS, WO2", + "description": "Regimental Quartermaster Sergeant", + "groupId": 989, + "displayOrder": 5, + "created_at": "2025-02-18 17:02:04", + "updated_at": "2025-04-10 18:10:32", + "imageId": 24478, + "image": { + "id": 24478, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-NAVY-WO2_patch_co.png1744306193504.png", + "created_at": "2025-04-10 17:29:53", + "updated_at": "2025-04-10 17:29:53" + } + }, + { + "id": 3986, + "name": "Colour Sergeant", + "abbreviation": "CSgt", + "description": "CSGT is a infantry name\nSSGT is a Other arms name", + "groupId": 990, + "displayOrder": 2, + "created_at": "2025-02-18 17:03:38", + "updated_at": "2025-04-10 20:52:20", + "imageId": 23448, + "image": { + "id": 23448, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/1._Rank_Patch_-_SSGT.png1739991117304.png", + "created_at": "2025-02-19 18:51:57", + "updated_at": "2025-02-19 18:51:57" + } + }, + { + "id": 3987, + "name": "Sergeant", + "abbreviation": "Sgt", + "description": "Sgt", + "groupId": 990, + "displayOrder": 7, + "created_at": "2025-02-18 17:04:03", + "updated_at": "2025-04-10 20:53:02", + "imageId": 23447, + "image": { + "id": 23447, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/2._Rank_Patch_-_SGT.png1739991088670.png", + "created_at": "2025-02-19 18:51:28", + "updated_at": "2025-02-19 18:51:28" + } + }, + { + "id": 3988, + "name": "Corporal", + "abbreviation": "Cpl", + "description": "Cpl", + "groupId": 991, + "displayOrder": 1, + "created_at": "2025-02-18 17:04:31", + "updated_at": "2025-04-10 20:53:33", + "imageId": 23445, + "image": { + "id": 23445, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/1._Rank_Patch_-_CPL.png1739987323818.png", + "created_at": "2025-02-19 17:48:43", + "updated_at": "2025-02-19 17:48:43" + } + }, + { + "id": 3989, + "name": "Lance Corporal", + "abbreviation": "LCpl", + "description": "Lcpl", + "groupId": 991, + "displayOrder": 3, + "created_at": "2025-02-18 17:04:55", + "updated_at": "2025-04-10 20:54:08", + "imageId": 23446, + "image": { + "id": 23446, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/2._Rank_Patch_-_LCPL.png1739991043064.png", + "created_at": "2025-02-19 18:50:43", + "updated_at": "2025-02-19 18:50:43" + } + }, + { + "id": 3990, + "name": "Private", + "abbreviation": "Pte", + "description": "Army Private", + "groupId": 992, + "displayOrder": 3, + "created_at": "2025-02-18 17:05:49", + "updated_at": "2025-04-10 20:55:12", + "imageId": 24479, + "image": { + "id": 24479, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/RankPatchPteA_co.png1744306247458.png", + "created_at": "2025-04-10 17:30:47", + "updated_at": "2025-04-10 17:30:47" + } + }, + { + "id": 3991, + "name": "Recruit", + "abbreviation": "Rct", + "description": "Recruit", + "groupId": 992, + "displayOrder": 5, + "created_at": "2025-02-18 17:06:10", + "updated_at": "2025-04-10 20:55:26", + "imageId": 24480, + "image": { + "id": 24480, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/RankPatchPteA_co.png1744306264606.png", + "created_at": "2025-04-10 17:31:04", + "updated_at": "2025-04-10 17:31:04" + } + }, + { + "id": 3992, + "name": "Trooper", + "abbreviation": "Tpr", + "description": "Private Soldier - **SAS, SBS & SRR Only**", + "groupId": 992, + "displayOrder": 1, + "created_at": "2025-02-19 17:16:40", + "updated_at": "2025-04-10 20:54:49", + "imageId": 23441, + "image": { + "id": 23441, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Rank_Patch_-_Pte.png1739986929005.png", + "created_at": "2025-02-19 17:42:09", + "updated_at": "2025-02-19 17:42:09" + } + }, + { + "id": 3993, + "name": "Commander", + "abbreviation": "Cmdr.", + "description": "commander", + "groupId": 988, + "displayOrder": 0, + "created_at": "2025-02-19 22:10:38", + "updated_at": "2025-04-10 17:54:17", + "imageId": 24485, + "image": { + "id": 24485, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-NAVY-CDR_patch_co.png1744307657261.png", + "created_at": "2025-04-10 17:54:17", + "updated_at": "2025-04-10 17:54:17" + } + }, + { + "id": 4096, + "name": "Flight Lieutenant", + "abbreviation": "Flt Lt.", + "description": "RAF Flight Lt", + "groupId": 988, + "displayOrder": 0, + "created_at": "2025-04-08 12:17:45", + "updated_at": "2025-04-10 17:25:55", + "imageId": 24474, + "image": { + "id": 24474, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-RAF-FlLt_patch_co.png1744305955625.png", + "created_at": "2025-04-10 17:25:55", + "updated_at": "2025-04-10 17:25:55" + } + }, + { + "id": 4097, + "name": "Flying Officer", + "abbreviation": "FgOff", + "description": "Flying Officer RAF", + "groupId": 988, + "displayOrder": 0, + "created_at": "2025-04-08 12:18:31", + "updated_at": "2025-04-10 18:06:04", + "imageId": 24475, + "image": { + "id": 24475, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-RAF-FlOff_patch_co.png1744305979136.png", + "created_at": "2025-04-10 17:26:19", + "updated_at": "2025-04-10 17:26:19" + } + }, + { + "id": 4098, + "name": "Staff Sergeant ", + "abbreviation": "SSgt", + "description": "SSGT", + "groupId": 990, + "displayOrder": 3, + "created_at": "2025-04-08 12:43:15", + "updated_at": "2025-04-10 20:52:39", + "imageId": 24421, + "image": { + "id": 24421, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Rank_Patch_-_SSGT.png1744185597066.png", + "created_at": "2025-04-09 07:59:57", + "updated_at": "2025-04-09 07:59:57" + } + }, + { + "id": 4100, + "name": "Lieutenant", + "abbreviation": "Lt", + "description": "Royal Navy Lieutenant Rank", + "groupId": 988, + "displayOrder": 0, + "created_at": "2025-04-10 18:02:13", + "updated_at": "2025-04-10 18:02:13", + "imageId": 24486, + "image": { + "id": 24486, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-NAVY-LT_patch_co.png1744308133816.png", + "created_at": "2025-04-10 18:02:13", + "updated_at": "2025-04-10 18:02:13" + } + }, + { + "id": 4101, + "name": "Sub Lieutenant", + "abbreviation": "SLt", + "description": "Royal Navy equivalent rank to Second Lieutenant", + "groupId": 988, + "displayOrder": 0, + "created_at": "2025-04-10 18:03:45", + "updated_at": "2025-04-10 18:03:45", + "imageId": 24487, + "image": { + "id": 24487, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-NAVY-SLT_patch_co.png1744308225081.png", + "created_at": "2025-04-10 18:03:45", + "updated_at": "2025-04-10 18:03:45" + } + }, + { + "id": 4102, + "name": "Pilot Officer", + "abbreviation": "PltOff", + "description": "Lowest RAF Commissioned Officer", + "groupId": 988, + "displayOrder": 0, + "created_at": "2025-04-10 18:04:29", + "updated_at": "2025-04-10 18:04:29", + "imageId": 24488, + "image": { + "id": 24488, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-RAF-PltOff_patch_co.png1744308269399.png", + "created_at": "2025-04-10 18:04:29", + "updated_at": "2025-04-10 18:04:29" + } + }, + { + "id": 4103, + "name": "Wing Commander", + "abbreviation": "Wg Cdr", + "description": "RAF High Command Rank", + "groupId": 988, + "displayOrder": 0, + "created_at": "2025-04-10 18:05:41", + "updated_at": "2025-04-10 18:05:41", + "imageId": 24489, + "image": { + "id": 24489, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-RAF-WCdr_patch_co.png1744308341046.png", + "created_at": "2025-04-10 18:05:41", + "updated_at": "2025-04-10 18:05:41" + } + }, + { + "id": 4104, + "name": "Warrant Officer Class 1", + "abbreviation": "WO1", + "description": "Royal Navy Warrant Officer", + "groupId": 989, + "displayOrder": 0, + "created_at": "2025-04-10 18:12:29", + "updated_at": "2025-04-10 18:12:29", + "imageId": 24490, + "image": { + "id": 24490, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-NAVY-WO1_patch_co.png1744308749854.png", + "created_at": "2025-04-10 18:12:29", + "updated_at": "2025-04-10 18:12:29" + } + }, + { + "id": 4105, + "name": "Warrant Officer Class 2", + "abbreviation": "WO2", + "description": "Royal Navy Warrant Officer Class 2", + "groupId": 989, + "displayOrder": 4, + "created_at": "2025-04-10 18:13:14", + "updated_at": "2025-04-10 18:13:14", + "imageId": 24491, + "image": { + "id": 24491, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-NAVY-WO2_patch_co.png1744308794924.png", + "created_at": "2025-04-10 18:13:14", + "updated_at": "2025-04-10 18:13:14" + } + }, + { + "id": 4106, + "name": "Petty Officer", + "abbreviation": "PO", + "description": "Royal Navy Senior NCO", + "groupId": 990, + "displayOrder": 1, + "created_at": "2025-04-10 18:18:15", + "updated_at": "2025-04-10 18:18:15", + "imageId": 24492, + "image": { + "id": 24492, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-NAVY-PO_patch_co.png1744309095289.png", + "created_at": "2025-04-10 18:18:15", + "updated_at": "2025-04-10 18:18:15" + } + }, + { + "id": 4107, + "name": "Chief Petty Officer", + "abbreviation": "CPO", + "description": "The most Senior NCO in the Royal Navy", + "groupId": 990, + "displayOrder": 0, + "created_at": "2025-04-10 18:18:59", + "updated_at": "2025-04-10 18:18:59", + "imageId": 24493, + "image": { + "id": 24493, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-NAVY-CPO_patch_co.png1744309139623.png", + "created_at": "2025-04-10 18:18:59", + "updated_at": "2025-04-10 18:18:59" + } + }, + { + "id": 4108, + "name": "Sergeant", + "abbreviation": "Sgt", + "description": "RAF Sergeant", + "groupId": 990, + "displayOrder": 9, + "created_at": "2025-04-10 18:22:40", + "updated_at": "2025-04-10 20:53:15", + "imageId": 24494, + "image": { + "id": 24494, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-RAF-SGT_patch_co.png1744309360795.png", + "created_at": "2025-04-10 18:22:40", + "updated_at": "2025-04-10 18:22:40" + } + }, + { + "id": 4109, + "name": "Flight Sergeant", + "abbreviation": "FS", + "description": "RAF Flight Sergeant", + "groupId": 990, + "displayOrder": 5, + "created_at": "2025-04-10 18:24:03", + "updated_at": "2025-04-10 18:24:03", + "imageId": 24495, + "image": { + "id": 24495, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-RAF-FSGT_patch_co.png1744309443718.png", + "created_at": "2025-04-10 18:24:03", + "updated_at": "2025-04-10 18:24:03" + } + }, + { + "id": 4110, + "name": "Chief Technician", + "abbreviation": "Chf Tech", + "description": "RAF Chief Technician", + "groupId": 990, + "displayOrder": 6, + "created_at": "2025-04-10 18:24:56", + "updated_at": "2025-04-10 18:24:56", + "imageId": 24496, + "image": { + "id": 24496, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-RAF-CTECH_patch_co.png1744309496674.png", + "created_at": "2025-04-10 18:24:56", + "updated_at": "2025-04-10 18:24:56" + } + }, + { + "id": 4111, + "name": "Sergeant Aircrew", + "abbreviation": "SACr", + "description": "An RAF Aircrew Sergeant", + "groupId": 990, + "displayOrder": 8, + "created_at": "2025-04-10 18:28:17", + "updated_at": "2025-04-10 18:28:17", + "imageId": 24497, + "image": { + "id": 24497, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-RAF-SACR_patch_co.png1744309697665.png", + "created_at": "2025-04-10 18:28:17", + "updated_at": "2025-04-10 18:28:17" + } + }, + { + "id": 4112, + "name": "Flight Sergeant Aircrew", + "abbreviation": "FSACr", + "description": "RAF Flight Sergeant Aircrew", + "groupId": 990, + "displayOrder": 4, + "created_at": "2025-04-10 18:30:17", + "updated_at": "2025-04-10 18:30:17", + "imageId": 24498, + "image": { + "id": 24498, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-RAF-FSACR_patch_co.png1744309817021.png", + "created_at": "2025-04-10 18:30:17", + "updated_at": "2025-04-10 18:30:17" + } + }, + { + "id": 4113, + "name": "Corporal", + "abbreviation": "Cpl", + "description": "RAF Corporal", + "groupId": 991, + "displayOrder": 2, + "created_at": "2025-04-10 18:33:12", + "updated_at": "2025-04-10 20:53:52", + "imageId": 24499, + "image": { + "id": 24499, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-RAF-CPL_patch_co.png1744309992102.png", + "created_at": "2025-04-10 18:33:12", + "updated_at": "2025-04-10 18:33:12" + } + }, + { + "id": 4114, + "name": "Lance Corporal", + "abbreviation": "LCpl", + "description": "RAF Regiment Only!", + "groupId": 991, + "displayOrder": 4, + "created_at": "2025-04-10 18:34:06", + "updated_at": "2025-04-10 20:54:26", + "imageId": 24500, + "image": { + "id": 24500, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-RAF-LCPL_patch_co.png1744310046886.png", + "created_at": "2025-04-10 18:34:06", + "updated_at": "2025-04-10 18:34:06" + } + }, + { + "id": 4115, + "name": "Air Specialist Class 1 Technician", + "abbreviation": "AS1(T)", + "description": "RAF Senior Technical JNCO", + "groupId": 991, + "displayOrder": 5, + "created_at": "2025-04-10 18:35:35", + "updated_at": "2025-04-10 18:35:35", + "imageId": 24501, + "image": { + "id": 24501, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-RAF-AS1T_patch_co.png1744310135706.png", + "created_at": "2025-04-10 18:35:35", + "updated_at": "2025-04-10 18:35:35" + } + }, + { + "id": 4116, + "name": "Air Specialist Class 1", + "abbreviation": "AS1", + "description": "An RAF Senior JNCO", + "groupId": 991, + "displayOrder": 6, + "created_at": "2025-04-10 18:36:54", + "updated_at": "2025-04-10 18:36:54", + "imageId": 24502, + "image": { + "id": 24502, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-RAF-AS1_patch_co.png1744310214186.png", + "created_at": "2025-04-10 18:36:54", + "updated_at": "2025-04-10 18:36:54" + } + }, + { + "id": 4117, + "name": "Air Specialist Class 2", + "abbreviation": "AS2", + "description": "An RAF Senior OR", + "groupId": 992, + "displayOrder": 2, + "created_at": "2025-04-10 18:39:16", + "updated_at": "2025-04-10 18:39:16", + "imageId": 24503, + "image": { + "id": 24503, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-RAF-AS2_patch_co.png1744310356090.png", + "created_at": "2025-04-10 18:39:16", + "updated_at": "2025-04-10 18:39:16" + } + }, + { + "id": 4118, + "name": "Airman", + "abbreviation": "AM", + "description": "Lowest OR in the RAF", + "groupId": 992, + "displayOrder": 4, + "created_at": "2025-04-10 18:42:29", + "updated_at": "2025-04-10 18:42:29", + "imageId": 24504, + "image": { + "id": 24504, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/RankPatchPteA_co.png1744310549946.png", + "created_at": "2025-04-10 18:42:29", + "updated_at": "2025-04-10 18:42:29" + } + }, + { + "id": 4120, + "name": "Able Rating", + "abbreviation": "AB", + "description": "Lowest Rank in the Royal Navy", + "groupId": 992, + "displayOrder": 0, + "created_at": "2025-04-10 18:46:01", + "updated_at": "2025-04-10 18:46:01", + "imageId": 24506, + "image": { + "id": 24506, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-NAVY-AB_patch_co.png1744310761709.png", + "created_at": "2025-04-10 18:46:01", + "updated_at": "2025-04-10 18:46:01" + } + }, + { + "id": 4121, + "name": "Warrant Officer of the Air Force", + "abbreviation": "WORAF", + "description": "Highest non-commissioned officer in the RAF", + "groupId": 989, + "displayOrder": 2, + "created_at": "2025-04-10 18:50:25", + "updated_at": "2025-04-10 18:50:25", + "imageId": 24507, + "image": { + "id": 24507, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-RAF-WOAF_patch_co.png1744311025891.png", + "created_at": "2025-04-10 18:50:25", + "updated_at": "2025-04-10 18:50:25" + } + }, + { + "id": 4122, + "name": "Master Aircrew", + "abbreviation": "MACr", + "description": "Warrant Officer RAF", + "groupId": 989, + "displayOrder": 3, + "created_at": "2025-04-10 18:52:05", + "updated_at": "2025-04-10 18:52:05", + "imageId": 24508, + "image": { + "id": 24508, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-RAF-MACR_patch_co.png1744311125056.png", + "created_at": "2025-04-10 18:52:05", + "updated_at": "2025-04-10 18:52:05" + } + }, + { + "id": 4123, + "name": "Warrant Officer", + "abbreviation": "WO", + "description": "RAF Warrant Officer", + "groupId": 989, + "displayOrder": 0, + "created_at": "2025-04-10 18:53:40", + "updated_at": "2025-04-10 18:53:40", + "imageId": 24509, + "image": { + "id": 24509, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-RAF-WO_patch_co.png1744311220438.png", + "created_at": "2025-04-10 18:53:40", + "updated_at": "2025-04-10 18:53:40" + } + }, + { + "id": 4124, + "name": "Leading Hand", + "abbreviation": "LH", + "description": "A JNCO of the Royal Navy", + "groupId": 991, + "displayOrder": 0, + "created_at": "2025-04-10 18:57:03", + "updated_at": "2025-04-10 18:57:03", + "imageId": 24510, + "image": { + "id": 24510, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TFA-NAVY-LH_patch_co.png1744311423933.png", + "created_at": "2025-04-10 18:57:03", + "updated_at": "2025-04-10 18:57:03" + } + } + ], + "awards": [ + { + "id": 3234, + "name": "Operation Restore", + "description": "For those who have participated within our operation restore missions", + "groupId": 633, + "displayOrder": 0, + "created_at": "2025-04-16 17:38:55", + "updated_at": "2025-04-16 17:38:55", + "imageId": 24740, + "image": { + "id": 24740, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/OP_Restore.png1744825135816.png", + "created_at": "2025-04-16 17:38:55", + "updated_at": "2025-04-16 17:38:55" + }, + "profileCount": 12 + }, + { + "id": 3235, + "name": "Military Cross ", + "description": " British military award granted for acts of exemplary gallantry during active operations against the enemy on land", + "groupId": 634, + "displayOrder": 0, + "created_at": "2025-04-16 20:52:37", + "updated_at": "2025-09-24 22:01:10", + "imageId": 30006, + "image": { + "id": 30006, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/militarycross_(2).png1758751270844.png", + "created_at": "2025-09-24 22:01:10", + "updated_at": "2025-09-24 22:01:10" + }, + "profileCount": 2 + }, + { + "id": 3236, + "name": "George Cross ", + "description": "a British award, equal in precedence to the Victoria Cross, bestowed for non-operational gallantry or gallantry not in the presence of an enemy", + "groupId": 634, + "displayOrder": 0, + "created_at": "2025-04-16 20:53:03", + "updated_at": "2025-09-24 21:57:22", + "imageId": 30005, + "image": { + "id": 30005, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/George_cross-min.png1758751042134.png", + "created_at": "2025-09-24 21:57:22", + "updated_at": "2025-09-24 21:57:22" + }, + "profileCount": 1 + }, + { + "id": 3237, + "name": "Victoria Cross ", + "description": "Britain's highest military award for gallantry, recognized for acts of extreme bravery in the presence of the enemy", + "groupId": 634, + "displayOrder": 0, + "created_at": "2025-04-16 20:54:35", + "updated_at": "2025-09-24 22:04:02", + "imageId": 30007, + "image": { + "id": 30007, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/VictoriaCross-min.png1758751442290.png", + "created_at": "2025-09-24 22:04:02", + "updated_at": "2025-09-24 22:04:02" + }, + "profileCount": 1 + }, + { + "id": 3238, + "name": "Operation Black Sheep ", + "description": "Awarded for time served dueing operation balck sheep ", + "groupId": 633, + "displayOrder": 0, + "created_at": "2025-04-16 20:56:15", + "updated_at": "2025-04-16 20:56:15", + "imageId": 24747, + "image": { + "id": 24747, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Op_Black_sheep.jpeg1744836975565.jpeg", + "created_at": "2025-04-16 20:56:15", + "updated_at": "2025-04-16 20:56:15" + }, + "profileCount": 4 + }, + { + "id": 3239, + "name": "Distinguished flying cross", + "description": "a military decoration awarded for acts of valor, courage, or devotion to duty while flying in active operations against the enemy", + "groupId": 634, + "displayOrder": 0, + "created_at": "2025-04-16 20:57:58", + "updated_at": "2025-04-16 20:57:58", + "imageId": 24748, + "image": { + "id": 24748, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/United_Kingdom_Distinguished_Flying_Cross_ribbon.svg.png1744837078046.png", + "created_at": "2025-04-16 20:57:58", + "updated_at": "2025-04-16 20:57:58" + }, + "profileCount": 1 + }, + { + "id": 3240, + "name": "Royal Red Cross ", + "description": "military decoration awarded in the United Kingdom and Commonwealth for exceptional services in military nursing", + "groupId": 634, + "displayOrder": 0, + "created_at": "2025-04-16 20:59:40", + "updated_at": "2025-04-16 20:59:40", + "imageId": 24749, + "image": { + "id": 24749, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Royal_Red_Cross_(UK)_ribbon.png1744837180728.png", + "created_at": "2025-04-16 20:59:40", + "updated_at": "2025-04-16 20:59:40" + }, + "profileCount": 4 + }, + { + "id": 3241, + "name": "Operation Breezer ", + "description": "Awarded to personel who served on OP Breezer ", + "groupId": 633, + "displayOrder": 0, + "created_at": "2025-04-16 21:01:26", + "updated_at": "2025-04-16 21:01:26", + "imageId": 24750, + "image": { + "id": 24750, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Operation_Brezzer.png1744837286472.png", + "created_at": "2025-04-16 21:01:26", + "updated_at": "2025-04-16 21:01:26" + }, + "profileCount": 22 + }, + { + "id": 3242, + "name": "Royal Air Force Long service and good conduct Award ", + "description": "as title ", + "groupId": 634, + "displayOrder": 0, + "created_at": "2025-04-16 21:05:16", + "updated_at": "2025-04-16 21:05:16", + "imageId": 24751, + "image": { + "id": 24751, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Ribbon_-_Royal_Air_Force_Long_Service_and_Good_Conduct_Medal.png1744837516419.png", + "created_at": "2025-04-16 21:05:16", + "updated_at": "2025-04-16 21:05:16" + }, + "profileCount": 1 + }, + { + "id": 3243, + "name": "Medal for Long Service and Good Conduct_(Military)", + "description": "as title ", + "groupId": 634, + "displayOrder": 0, + "created_at": "2025-04-16 21:05:50", + "updated_at": "2025-04-16 21:05:50", + "imageId": 24752, + "image": { + "id": 24752, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Ribbon_-_Medal_for_Long_Service_and_Good_Conduct_(Military).png1744837550019.png", + "created_at": "2025-04-16 21:05:50", + "updated_at": "2025-04-16 21:05:50" + }, + "profileCount": 8 + }, + { + "id": 3244, + "name": "Accumulated Campaign Service Medal ", + "description": "Awarded to soldiers who have done over 720 days service in a combat zone ", + "groupId": 634, + "displayOrder": 0, + "created_at": "2025-04-16 21:06:39", + "updated_at": "2025-04-16 21:06:39", + "imageId": 24753, + "image": { + "id": 24753, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Accumulated_Campaign_Service_Medal_2011_BAR.svg.png1744837599121.png", + "created_at": "2025-04-16 21:06:39", + "updated_at": "2025-04-16 21:06:39" + }, + "profileCount": 6 + }, + { + "id": 3245, + "name": "Accumulated Campaign Service Medal second award", + "description": "Issued to soldiers who have been awarded Accumulated Campaign Service Medal previously and have been awarded it a second time ", + "groupId": 634, + "displayOrder": 0, + "created_at": "2025-04-16 21:07:45", + "updated_at": "2025-04-16 21:07:45", + "imageId": 24754, + "image": { + "id": 24754, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Accumulated_Campaign_Service_Medal_second_award_bar.png1744837665717.png", + "created_at": "2025-04-16 21:07:45", + "updated_at": "2025-04-16 21:07:45" + }, + "profileCount": 1 + }, + { + "id": 3247, + "name": "Elizabeth Cross ", + "description": "Awarded for being Injured greatly in an Operation ", + "groupId": 634, + "displayOrder": 0, + "created_at": "2025-04-16 21:12:49", + "updated_at": "2025-04-16 21:12:49", + "imageId": 24756, + "image": { + "id": 24756, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Elizabeth_Cross__solo.jpg1744837969610.jpg", + "created_at": "2025-04-16 21:12:49", + "updated_at": "2025-04-16 21:12:49" + }, + "profileCount": 1 + }, + { + "id": 3248, + "name": "Veteran Badge ", + "description": "This confirms people in the Unit that have servered in the UK armed forces in real life ", + "groupId": 634, + "displayOrder": 0, + "created_at": "2025-04-16 21:14:10", + "updated_at": "2025-04-16 21:14:10", + "imageId": 24758, + "image": { + "id": 24758, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/Veterans_Badge.jpg1744838050738.jpg", + "created_at": "2025-04-16 21:14:10", + "updated_at": "2025-04-16 21:14:10" + }, + "profileCount": 5 + }, + { + "id": 3347, + "name": "Operation Sparrow ", + "description": "Awarded for those who participated in the operation ", + "groupId": 633, + "displayOrder": 0, + "created_at": "2025-06-18 21:12:25", + "updated_at": "2025-08-19 20:13:56", + "imageId": 26401, + "image": { + "id": 26401, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/OP_sparrow.png1750281145566.png", + "created_at": "2025-06-18 21:12:25", + "updated_at": "2025-06-18 21:12:25" + }, + "profileCount": 13 + }, + { + "id": 3466, + "name": "TSS", + "description": "Awarded to those who merged over from TSS Pmc", + "groupId": 688, + "displayOrder": 0, + "created_at": "2025-08-19 17:16:01", + "updated_at": "2025-08-19 17:16:01", + "imageId": 28555, + "image": { + "id": 28555, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/TSS_Logo_White.png1755623761175.png", + "created_at": "2025-08-19 17:16:01", + "updated_at": "2025-08-19 17:16:01" + }, + "profileCount": 11 + }, + { + "id": 3468, + "name": "Operation Reaction ", + "description": "Awarded to those who where deployed to OP Reaction for a certain time period ", + "groupId": 633, + "displayOrder": 0, + "created_at": "2025-08-19 20:11:23", + "updated_at": "2025-08-19 20:33:58", + "imageId": 28578, + "image": { + "id": 28578, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/OperationReaction.png1755635638928.png", + "created_at": "2025-08-19 20:33:58", + "updated_at": "2025-08-19 20:33:58" + }, + "profileCount": 20 + }, + { + "id": 3578, + "name": "Operation Op Snatcher ", + "description": "Awarded to the brave men and women of the British special forces who depolyed on the specified operation ", + "groupId": 634, + "displayOrder": 0, + "created_at": "2025-09-17 17:06:42", + "updated_at": "2025-09-17 17:06:42", + "imageId": 29771, + "image": { + "id": 29771, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/OP_Snatcherr-min.png1758128802635.png", + "created_at": "2025-09-17 17:06:42", + "updated_at": "2025-09-17 17:06:42" + }, + "profileCount": 21 + }, + { + "id": 3580, + "name": "OP Sahel ", + "description": "award of deployment to Op Sahel ", + "groupId": 633, + "displayOrder": 0, + "created_at": "2025-09-24 18:02:02", + "updated_at": "2025-09-24 18:02:02", + "imageId": 29995, + "image": { + "id": 29995, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/OPSahel.png1758736922138.png", + "created_at": "2025-09-24 18:02:02", + "updated_at": "2025-09-24 18:02:02" + }, + "profileCount": 12 + } + ] +} \ No newline at end of file diff --git a/static/data/external.json b/static/data/external.json new file mode 100644 index 0000000..4669788 --- /dev/null +++ b/static/data/external.json @@ -0,0 +1,14 @@ +{ + "steam": { + "current_players": 12, + "max_players": 100, + "server_name": "UKSF Official | Milsim", + "map": "Chernarus", + "status": "ACTIVE" + }, + "battlemetrics": { + "rank": 420, + "uptime": "99.9%", + "activity_30d": [10, 15, 8, 12, 25, 30, 22] + } +} diff --git a/static/data/roster.json b/static/data/roster.json new file mode 100644 index 0000000..6c2706d --- /dev/null +++ b/static/data/roster.json @@ -0,0 +1,46 @@ +{ + "unit": "UKSF Directorate", + "branches": { + "sas": { + "name": "Special Air Service", + "motto": "Who Dares Wins", + "hq": "Stirling Lines, Hereford" + }, + "sbs": { + "name": "Special Boat Service", + "motto": "By Strength and Guile", + "hq": "RM Poole, Dorset" + }, + "srr": { + "name": "Special Reconnaissance Regiment", + "motto": "Excelemus", + "hq": "Stirling Lines, Hereford" + }, + "18sig": { + "name": "18 (UKSF) Signal Regiment", + "motto": "Colloquendo Imperamus", + "hq": "Stirling Lines, Hereford" + }, + "sfsg": { + "name": "Special Forces Support Group", + "motto": "Ad Unum Omnes", + "hq": "St Athan, Wales" + }, + "jac": { + "name": "Joint Aviation Command", + "motto": "Vigilo", + "hq": "Marlborough Lines, Andover" + }, + "asob": { + "name": "Army Special Operations Brigade", + "motto": "Seek Out", + "hq": "Aldershot" + }, + "ramc": { + "name": "Royal Army Medical Corps", + "motto": "In Arduis Fidelis", + "hq": "Sandhurst" + } + }, + "personnel": [] +} diff --git a/static/data/server_stats.json b/static/data/server_stats.json new file mode 100644 index 0000000..c232138 --- /dev/null +++ b/static/data/server_stats.json @@ -0,0 +1,7 @@ +{ + "current_players": 12, + "max_players": 100, + "server_name": "UKSF Official | Milsim", + "map": "Chernarus", + "status": "ACTIVE" +} diff --git a/static/intel.json b/static/intel.json new file mode 100644 index 0000000..5600495 --- /dev/null +++ b/static/intel.json @@ -0,0 +1,324 @@ +{ + "timestamp": 1771007047722, + "arma": { + "name": "UKSF Taskforce Alpha Ops Server V2", + "map": "chernarusredux", + "players": 4, + "maxPlayers": 40, + "status": "online", + "manifest": [ + { + "name": "Chris" + }, + { + "name": "shane" + }, + { + "name": "Flt Lt. \"Mayday\" Müller" + }, + { + "name": "Cpl. Omega" + } + ] + }, + "unitcommander": { + "campaigns": [ + { + "id": 677, + "campaignName": "Operation Retrieving Gold ", + "map": "Chernarus Redux", + "brief": "Situation:\nThe year is 2018, 30 years after Day 0.\nWe are the first expeditionary forces to set foot outside of the UK. We've been tasked with reconnaissance of the surrounding terrain of Chernarus, setting up a fixed FOB and possible retrieval of technology.\n\nWe are in unknown territory, we have little information about the area that surrounds us and we are effectively the first new faces in this terrain. We are under-equipped until the rest of our convoy reaches our location.\n\nMission:\nUKSF has been tasked with reconnaissance of Chernarus, finding a suitable location to settle a permanent FOB and possibly retrieving old technology that is otherwise in working order, or can be restored to working order.\n\nToday, we got a little headsup that might help us.", + "image": { + "id": 33755, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/image.png1769635425047.png", + "created_at": "2026-01-28 21:23:45", + "updated_at": "2026-01-28 21:23:45" + }, + "created_at": "2026-01-14 23:53:53", + "updated_at": "2026-02-12 23:42:18", + "status": "ACTIVE", + "events": [ + { + "id": 3348, + "name": "Op Thumb Sucking", + "dateTime": "2026-01-16 19:00:00", + "time": "19:00:00", + "date": "2026-01-16", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1461147334292410481", + "discordPingSent": true + }, + { + "id": 3403, + "name": "Op Nightcrawler", + "dateTime": "2026-01-30 19:00:00", + "time": "19:00:00", + "date": "2026-01-30", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1466182377544880169", + "discordPingSent": true + }, + { + "id": 3484, + "name": "Op Nostalgia", + "dateTime": "2026-02-13 19:00:00", + "time": "19:00:00", + "date": "2026-02-13", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1471652763858501633", + "discordPingSent": true + } + ] + }, + { + "id": 675, + "campaignName": "Operation Iron Retribution", + "map": "Lythium", + "brief": "Situation:\nFollowing the \"Day of Ashes\" mass-casualty terrorist attack on UK soil, intelligence has identified the perpetrator as Al-Khaima Front (AKF), a transnational terrorist organization. AKF operates a sophisticated and compartmentalized network spanning the UK and a foreign sanctuary known as \"Lythium.\"\n\nThe network's cross-border finance, logistics, and international coordination are controlled by a single high-value individual codenamed 'THE FERRYMAN'.\n\nMission:\nUKSF has been tasked with conducting phased counter-terrorism operations to locate, disrupt, and dismantle the AKF leadership and infrastructure, neutralizing their capability to conduct further attacks against the UK and it's allies.", + "image": { + "id": 33434, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/images.steamusercontent.jpg1768170071430.jpg", + "created_at": "2026-01-11 22:21:11", + "updated_at": "2026-01-11 22:21:11" + }, + "created_at": "2026-01-11 22:21:11", + "updated_at": "2026-01-11 22:21:11", + "status": "ACTIVE", + "events": [ + { + "id": 3331, + "name": "Op Iron Retribution 2", + "dateTime": "2026-01-14 19:00:00", + "time": "19:00:00", + "date": "2026-01-14", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1460036293118525584", + "discordPingSent": false + }, + { + "id": 3363, + "name": "Op Iron Retribution 3", + "dateTime": "2026-01-21 19:00:00", + "time": "19:00:00", + "date": "2026-01-21", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1462759999867588747", + "discordPingSent": true + }, + { + "id": 3391, + "name": "Op Iron Retribution 4", + "dateTime": "2026-01-28 19:00:00", + "time": "19:00:00", + "date": "2026-01-28", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1465296559267909766", + "discordPingSent": true + }, + { + "id": 3421, + "name": "Op Iron Retribution 5", + "dateTime": "2026-02-04 19:00:00", + "time": "19:00:00", + "date": "2026-02-04", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1467142027677270167", + "discordPingSent": true + } + ] + }, + { + "id": 637, + "campaignName": "Operation Jungle Cobra", + "map": "Northern Colombia", + "brief": "SITUATION:\nFollowing the successful disruption of their command in Sahatra, the remnants of the Black Rose have fled to the remote, dense jungles of Colombia. Intelligence confirms they are now establishing chemical weapon production facilities, utilising local Cartel networks and resources. This represents a critical escalation: the Black Rose is transitioning from a regional threat to a global proliferator of WMDs.\n\nTHE ENEMY:\nThe last three remaining members of the Council of 13 are believed to be overseeing these production\noperations. They are highly dangerous, desperate, and will be protected by well-armed local Cartel forces and PMC elements.\n\nTHE OBJECTIVE:\nThis campaign's ultimate goal is the complete and permanent neutralisation of the Black Rose's chemical weapon production capability. This will involve hunting down and eliminating the remaining Council members, destroying all production facilities, and interdicting their supply lines.\n\nTHE TERRAIN:\nExpect extreme environmental challenges: dense jungle, high humidity, difficult terrain, and a complex human terrain dominated by powerful Cartel networks and insurgent groups.\n\nTHE STAKES:\nFailure is not an option. The proliferation of chemical weapons by the Black Rose would have catastrophic global consequences.", + "image": { + "id": 31629, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/download.jpeg1762721389767.jpeg", + "created_at": "2025-11-09 20:49:49", + "updated_at": "2025-11-09 20:49:49" + }, + "created_at": "2025-11-09 20:49:49", + "updated_at": "2025-11-09 20:57:58", + "status": "ACTIVE", + "events": [ + { + "id": 3167, + "name": "Op Piranha Strike", + "dateTime": "2025-11-12 19:00:00", + "time": "19:00:00", + "date": "2025-11-12", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1437452184533991567", + "discordPingSent": true + }, + { + "id": 3197, + "name": "Op Jungle Cobra 2", + "dateTime": "2025-11-19 21:00:00", + "time": "21:00:00", + "date": "2025-11-19", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1440326102747971604", + "discordPingSent": true + }, + { + "id": 3217, + "name": "Op Unseen Cargo", + "dateTime": "2025-11-26 19:00:00", + "time": "19:00:00", + "date": "2025-11-26", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1442626283946250342", + "discordPingSent": true + }, + { + "id": 3234, + "name": "Op Unseen Cargo | Part 2", + "dateTime": "2025-12-03 19:00:00", + "time": "19:00:00", + "date": "2025-12-03", + "locked": false, + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1445457594020790474", + "discordPingSent": true + } + ] + } + ], + "standalone": [ + { + "id": 2775, + "name": "SF Training Operation for new ORBAT", + "description": "Training night in your new teams under the new ORBAT", + "image": null, + "map": "Bovington", + "dateTime": "2025-07-23 18:00:00", + "date": "2025-07-23", + "time": "19:00:00", + "locked": false, + "locked_at": null, + "status": "ACTIVE", + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1396896524704813259", + "discordPingSent": false, + "frequency": null, + "recurringUntil": null, + "processedForRecurrence": false + }, + { + "id": 2857, + "name": "Op Hunter", + "description": "**Classified** **TOP SECRET**", + "image": null, + "map": "Classified ", + "dateTime": "2025-08-06 17:00:00", + "date": "2025-08-06", + "time": "19:00:00", + "locked": true, + "locked_at": "2025-09-08 15:49:27", + "status": "ARCHIVED", + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1402399543202418819", + "discordPingSent": false, + "frequency": null, + "recurringUntil": null, + "processedForRecurrence": false + }, + { + "id": 3003, + "name": "Op Snatcher ", + "description": "Classified ", + "image": null, + "map": "Classified ", + "dateTime": "2025-09-10 18:00:00", + "date": "2025-09-10", + "time": "19:00:00", + "locked": true, + "locked_at": "2025-09-11 12:44:01", + "status": "ACTIVE", + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1414638960558215208", + "discordPingSent": false, + "frequency": null, + "recurringUntil": null, + "processedForRecurrence": false + }, + { + "id": 3346, + "name": "Mini Operation", + "description": "Following the conclusion of the scheduled CQB training, a mini-operation will be conducted. -\n\nAttendance for the mini-operation is entirely voluntary. All participants are encouraged to join for what is anticipated to be a valuable and enjoyable exercise.", + "image": { + "id": 32125, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/sas.jpg1764264729670.jpg", + "created_at": "2025-11-27 17:32:09", + "updated_at": "2025-11-27 17:32:09" + }, + "map": "Northern Colombia", + "dateTime": "2025-11-27 20:00:00", + "date": "2025-11-27", + "time": "20:00:00", + "locked": false, + "locked_at": null, + "status": "ACTIVE", + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1443655655717208084", + "discordPingSent": false, + "frequency": null, + "recurringUntil": null, + "processedForRecurrence": false + }, + { + "id": 3422, + "name": "Operation Satan's Slay", + "description": "Objective: Rescue Santa Claus from an unknown threat and Secure Christmas by ensuring the timely delivery of all presents.\n\nSituation: Intelligence confirms that Santa Claus has been compromised and is currently detained/missing. The North Pole operation is in chaos, and the global gift-delivery schedule is at severe risk. Failure is not an option—billions of units of goodwill are at stake.\n\nImmediate Task: Locate, extract, and ensure the safe return of Santa Claus to his command center. Simultaneously, you must secure the gift inventory and prepare the sleigh for immediate launch on schedule.\n\nRequired Assets: Speed, stealth, unwavering festive spirit, and absolute adherence to the Nice List.", + "image": { + "id": 32604, + "path": "https://cdn.unitcommander.co.uk:9000/community/722/OIP-3986261552.jpg1765908460608.jpg", + "created_at": "2025-12-16 18:07:40", + "updated_at": "2025-12-16 18:07:40" + }, + "map": "Napf Island - Winter", + "dateTime": "2025-12-17 19:00:00", + "date": "2025-12-17", + "time": "19:00:00", + "locked": false, + "locked_at": null, + "status": "ACTIVE", + "discordChannel": "1321236262065274987", + "discordPingable": "1321642508161122304", + "discordMessage": "1450549962407542914", + "discordPingSent": false, + "frequency": null, + "recurringUntil": null, + "processedForRecurrence": false + } + ] + }, + "status": "STABLE" +} \ No newline at end of file diff --git a/static/telemetry.json b/static/telemetry.json new file mode 100644 index 0000000..f0a8f1c --- /dev/null +++ b/static/telemetry.json @@ -0,0 +1,574 @@ +{ + "timestamp": 1771007050523, + "today": [ + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-13T17:30:00.000Z", + "max": 0, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-12T22:00:00.000Z", + "max": 0, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-12T21:30:00.000Z", + "max": 1, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-12T21:00:00.000Z", + "max": 1, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-12T20:30:00.000Z", + "max": 0, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-12T18:30:00.000Z", + "max": 0, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-12T18:00:00.000Z", + "max": 1, + "value": 0, + "min": 0 + } + } + ], + "week": [ + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-13T17:00:00.000Z", + "max": 0, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-12T22:00:00.000Z", + "max": 0, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-12T21:00:00.000Z", + "max": 1, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-12T20:00:00.000Z", + "max": 0, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-12T19:00:00.000Z", + "max": 0, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-12T18:00:00.000Z", + "max": 1, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-12T17:00:00.000Z", + "max": 0, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-12T16:00:00.000Z", + "max": 0, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-12T15:00:00.000Z", + "max": 1, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-12T14:00:00.000Z", + "max": 0, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-12T02:00:00.000Z", + "max": 0, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-12T01:00:00.000Z", + "max": 1, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-12T00:00:00.000Z", + "max": 1, + "value": 1, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-11T23:00:00.000Z", + "max": 1, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-11T22:00:00.000Z", + "max": 0, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-11T21:00:00.000Z", + "max": 17, + "value": 4, + "min": 1 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-11T20:00:00.000Z", + "max": 17, + "value": 17, + "min": 17 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-11T19:00:00.000Z", + "max": 18, + "value": 17, + "min": 16 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-11T18:00:00.000Z", + "max": 14, + "value": 6, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-11T17:00:00.000Z", + "max": 0, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-11T15:00:00.000Z", + "max": 0, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-11T14:00:00.000Z", + "max": 1, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-11T13:00:00.000Z", + "max": 0, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-11T00:00:00.000Z", + "max": 0, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-10T23:00:00.000Z", + "max": 1, + "value": 1, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-10T22:00:00.000Z", + "max": 0, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-10T19:00:00.000Z", + "max": 0, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-10T18:00:00.000Z", + "max": 1, + "value": 1, + "min": 1 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-10T17:00:00.000Z", + "max": 1, + "value": 1, + "min": 1 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-10T16:00:00.000Z", + "max": 1, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-10T15:00:00.000Z", + "max": 0, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-10T00:00:00.000Z", + "max": 0, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-09T23:00:00.000Z", + "max": 2, + "value": 1, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-09T22:00:00.000Z", + "max": 1, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-09T21:00:00.000Z", + "max": 4, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-09T20:00:00.000Z", + "max": 4, + "value": 4, + "min": 4 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-09T19:00:00.000Z", + "max": 4, + "value": 4, + "min": 4 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-09T18:00:00.000Z", + "max": 4, + "value": 1, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-09T17:00:00.000Z", + "max": 0, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-08T23:00:00.000Z", + "max": 0, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-08T22:00:00.000Z", + "max": 1, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-08T21:00:00.000Z", + "max": 7, + "value": 5, + "min": 3 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-08T20:00:00.000Z", + "max": 6, + "value": 6, + "min": 6 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-08T19:00:00.000Z", + "max": 10, + "value": 7, + "min": 2 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-08T18:00:00.000Z", + "max": 2, + "value": 2, + "min": 2 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-08T17:00:00.000Z", + "max": 2, + "value": 2, + "min": 1 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-08T16:00:00.000Z", + "max": 1, + "value": 1, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-08T15:00:00.000Z", + "max": 0, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-08T01:00:00.000Z", + "max": 0, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-08T00:00:00.000Z", + "max": 1, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-07T23:00:00.000Z", + "max": 1, + "value": 1, + "min": 1 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-07T18:00:00.000Z", + "max": 1, + "value": 1, + "min": 1 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-07T17:00:00.000Z", + "max": 1, + "value": 1, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-07T16:00:00.000Z", + "max": 2, + "value": 1, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-07T15:00:00.000Z", + "max": 0, + "value": 0, + "min": 0 + } + }, + { + "type": "dataPoint", + "attributes": { + "timestamp": "2026-02-06T18:00:00.000Z", + "max": 0, + "value": 0, + "min": 0 + } + } + ] +} \ No newline at end of file diff --git a/tests/accessibility.spec.js b/tests/accessibility.spec.js index 387707e..39a23c6 100644 --- a/tests/accessibility.spec.js +++ b/tests/accessibility.spec.js @@ -1,26 +1,33 @@ -import { test, expect } from '@playwright/test'; import AxeBuilder from '@axe-core/playwright'; +import { expect, test } from '@playwright/test'; test.describe('MOD.UK Accessibility Audit', () => { test.beforeEach(async ({ page }) => { await page.addInitScript(() => { - window.localStorage.setItem('moduk_theme', 'dark'); - window.localStorage.setItem('uksf_auth', 'authorized'); + window.localStorage.setItem('moduk_theme', 'dark'); + window.localStorage.setItem('uksf_auth', 'authorized'); localStorage.setItem('dev_access', 'granted'); - window.localStorage.setItem('dev_access', 'granted'); - document.documentElement.classList.add('dark'); + window.localStorage.setItem('dev_access', 'granted'); + document.documentElement.classList.add('dark'); }); }); test('homepage should meet WCAG 2.2 AA standards', async ({ page }) => { await page.goto('/'); await page.evaluate(() => document.documentElement.classList.add('dark')); - + // Wait for dynamic content (Battlemetrics, etc.) to settle await page.waitForTimeout(2000); const accessibilityScanResults = await new AxeBuilder({ page }) - .withTags(['wcag2a', 'wcag2aa', 'wcag21a', 'wcag21aa', 'wcag22a', 'wcag22aa']) + .withTags([ + 'wcag2a', + 'wcag2aa', + 'wcag21a', + 'wcag21aa', + 'wcag22a', + 'wcag22aa', + ]) .exclude('#battlemetrics-graph') .exclude('#cookie-consent-banner') .analyze(); @@ -28,12 +35,21 @@ test.describe('MOD.UK Accessibility Audit', () => { expect(accessibilityScanResults.violations).toEqual([]); }); - test('registry portal should meet WCAG 2.2 AA standards', async ({ page }) => { + test('registry portal should meet WCAG 2.2 AA standards', async ({ + page, + }) => { await page.goto('/registry/gate/'); await page.evaluate(() => document.documentElement.classList.add('dark')); - + const accessibilityScanResults = await new AxeBuilder({ page }) - .withTags(['wcag2a', 'wcag2aa', 'wcag21a', 'wcag21aa', 'wcag22a', 'wcag22aa']) + .withTags([ + 'wcag2a', + 'wcag2aa', + 'wcag21a', + 'wcag21aa', + 'wcag22a', + 'wcag22aa', + ]) .exclude('#battlemetrics-graph') .exclude('#cookie-consent-banner') .analyze(); diff --git a/tests/aesthetic.spec.js b/tests/aesthetic.spec.js index d88299f..ea7eeaa 100644 --- a/tests/aesthetic.spec.js +++ b/tests/aesthetic.spec.js @@ -1,4 +1,4 @@ -import { test, expect } from '@playwright/test'; +import { expect, test } from '@playwright/test'; test.describe('Institutional Aesthetic & Layout Verification', () => { test.beforeEach(async ({ page }) => { @@ -6,7 +6,7 @@ test.describe('Institutional Aesthetic & Layout Verification', () => { await page.addInitScript(() => { window.localStorage.setItem('uksf_auth', 'authorized'); localStorage.setItem('dev_access', 'granted'); - window.localStorage.setItem('dev_access', 'granted'); + window.localStorage.setItem('dev_access', 'granted'); }); await page.goto('/'); @@ -14,53 +14,73 @@ test.describe('Institutional Aesthetic & Layout Verification', () => { await page.waitForTimeout(2000); }); - test('Homepage sections should not have horizontal overflow', async ({ page }) => { + test('Homepage sections should not have horizontal overflow', async ({ + page, + }) => { const sections = await page.locator('section'); const count = await sections.count(); const viewportSize = page.viewportSize(); - - if (!viewportSize) throw new Error("Viewport size not found"); + + if (!viewportSize) throw new Error('Viewport size not found'); for (let i = 0; i < count; i++) { const section = sections.nth(i); const box = await section.boundingBox(); - const id = await section.getAttribute('id') || `section-${i}`; - + const id = (await section.getAttribute('id')) || `section-${i}`; + if (box) { // Check for horizontal overflow - expect(box.width, `Section ${id} width is overflowing`).toBeLessThanOrEqual(viewportSize.width); - + expect( + box.width, + `Section ${id} width is overflowing`, + ).toBeLessThanOrEqual(viewportSize.width); + // Take a screenshot of each section for visual debugging await section.screenshot({ path: `test-results/section-${id}.png` }); } } }); - test('Main scroll container should not have horizontal overflow', async ({ page }) => { - const scrollWidth = await page.evaluate(() => document.documentElement.scrollWidth); - const clientWidth = await page.evaluate(() => document.documentElement.clientWidth); - expect(scrollWidth, `Horizontal scroll detected: ${scrollWidth} > ${clientWidth}`).toBeLessThanOrEqual(clientWidth); + test('Main scroll container should not have horizontal overflow', async ({ + page, + }) => { + const scrollWidth = await page.evaluate( + () => document.documentElement.scrollWidth, + ); + const clientWidth = await page.evaluate( + () => document.documentElement.clientWidth, + ); + expect( + scrollWidth, + `Horizontal scroll detected: ${scrollWidth} > ${clientWidth}`, + ).toBeLessThanOrEqual(clientWidth); }); - test('Battlemetrics graph should be rendered on homepage', async ({ page }) => { + test('Battlemetrics graph should be rendered on homepage', async ({ + page, + }) => { const graph = page.locator('#battlemetrics-graph'); await expect(graph).toBeVisible(); - + // Wait for potential deferred rendering await page.waitForTimeout(2000); - + // Check if it contains an SVG or the "No Telemetry" message - const hasSvg = await graph.locator('svg').count() > 0; - const hasNoDataMessage = await page.getByText('No_Telemetry_Detected').count() > 0; - - expect(hasSvg || hasNoDataMessage, 'Graph should either have an SVG or a "No Telemetry" message').toBeTruthy(); - + const hasSvg = (await graph.locator('svg').count()) > 0; + const hasNoDataMessage = + (await page.getByText('No_Telemetry_Detected').count()) > 0; + + expect( + hasSvg || hasNoDataMessage, + 'Graph should either have an SVG or a "No Telemetry" message', + ).toBeTruthy(); + if (hasSvg) { - console.log("Battlemetrics SVG detected successfully."); + console.log('Battlemetrics SVG detected successfully.'); } else { - console.log("Battlemetrics reported No_Telemetry_Detected."); + console.log('Battlemetrics reported No_Telemetry_Detected.'); } - + // Test range switching const weekBtn = page.locator('button:has-text("7D")').first(); if (await weekBtn.isVisible()) { @@ -71,36 +91,48 @@ test.describe('Institutional Aesthetic & Layout Verification', () => { expect(pointsAfterSwitch).toBeGreaterThan(0); } - await graph.screenshot({ path: 'test-results/battlemetrics-graph-home.png' }); + await graph.screenshot({ + path: 'test-results/battlemetrics-graph-home.png', + }); }); - test('Battlemetrics graph should be rendered on covert page', async ({ page }) => { + test('Battlemetrics graph should be rendered on covert page', async ({ + page, + }) => { // 1. Bypass auth gate await page.addInitScript(() => { window.localStorage.setItem('uksf_auth', 'authorized'); localStorage.setItem('dev_access', 'granted'); - window.localStorage.setItem('dev_access', 'granted'); + window.localStorage.setItem('dev_access', 'granted'); }); await page.goto('/registry/archive-covert/'); const graph = page.locator('#battlemetrics-graph'); await expect(graph).toBeVisible(); - + // Wait for potential deferred rendering await page.waitForTimeout(2000); - + // Check if it contains an SVG or the "No Telemetry" message - const hasSvg = await graph.locator('svg').count() > 0; - const hasNoDataMessage = await page.getByText('No_Telemetry_Detected').count() > 0; - - expect(hasSvg || hasNoDataMessage, 'Graph should either have an SVG or a "No Telemetry" message').toBeTruthy(); - + const hasSvg = (await graph.locator('svg').count()) > 0; + const hasNoDataMessage = + (await page.getByText('No_Telemetry_Detected').count()) > 0; + + expect( + hasSvg || hasNoDataMessage, + 'Graph should either have an SVG or a "No Telemetry" message', + ).toBeTruthy(); + if (hasSvg) { - console.log("Battlemetrics SVG detected on covert page."); + console.log('Battlemetrics SVG detected on covert page.'); } else { - console.log("Battlemetrics reported No_Telemetry_Detected on covert page."); + console.log( + 'Battlemetrics reported No_Telemetry_Detected on covert page.', + ); } - - await graph.screenshot({ path: 'test-results/battlemetrics-graph-covert.png' }); + + await graph.screenshot({ + path: 'test-results/battlemetrics-graph-covert.png', + }); }); }); diff --git a/tests/console.spec.js b/tests/console.spec.js index 74354ec..1a170c6 100644 --- a/tests/console.spec.js +++ b/tests/console.spec.js @@ -1,8 +1,10 @@ -import { test, expect } from '@playwright/test'; +import { expect, test } from '@playwright/test'; test.describe('C2 Console', () => { - test('should display uplink status', async ({ page }) => { - await page.goto('/registry/console/?disable_consent=true'); - await expect(page.locator('#connection-status')).toContainText('UPLINK_ACTIVE'); - }); + test('should display uplink status', async ({ page }) => { + await page.goto('/registry/console/?disable_consent=true'); + await expect(page.locator('#connection-status')).toContainText( + 'UPLINK_ACTIVE', + ); + }); }); diff --git a/tests/filing.spec.js b/tests/filing.spec.js index e0fd360..07d6001 100644 --- a/tests/filing.spec.js +++ b/tests/filing.spec.js @@ -1,22 +1,24 @@ -import { test, expect } from '@playwright/test'; +import { expect, test } from '@playwright/test'; test.describe('Filing Terminal', () => { - test.beforeEach(async ({ page }) => { - await page.addInitScript(() => { - window.localStorage.setItem('uksf_auth', 'authorized'); + test.beforeEach(async ({ page }) => { + await page.addInitScript(() => { + window.localStorage.setItem('uksf_auth', 'authorized'); localStorage.setItem('dev_access', 'granted'); - window.localStorage.setItem('dev_access', 'granted'); - window.localStorage.setItem('uksf_hq_auth', 'true'); - }); + window.localStorage.setItem('dev_access', 'granted'); + window.localStorage.setItem('uksf_hq_auth', 'true'); }); + }); - test('should show induction briefing for new users', async ({ page }) => { - await page.addInitScript(() => { - window.localStorage.removeItem('uksfta_vault_tutorial_seen'); - }); - await page.goto('/registry/filing/?disable_consent=true'); - const onboarding = page.locator('#vault-onboarding'); - await expect(onboarding).toHaveAttribute('data-visible', 'true'); - await expect(page.locator('#onboarding-content')).toContainText('Welcome to the RSIS Vault'); + test('should show induction briefing for new users', async ({ page }) => { + await page.addInitScript(() => { + window.localStorage.removeItem('uksfta_vault_tutorial_seen'); }); + await page.goto('/registry/filing/?disable_consent=true'); + const onboarding = page.locator('#vault-onboarding'); + await expect(onboarding).toHaveAttribute('data-visible', 'true'); + await expect(page.locator('#onboarding-content')).toContainText( + 'Welcome to the RSIS Vault', + ); + }); }); diff --git a/tests/header-footer.spec.js b/tests/header-footer.spec.js index 7677ba9..5836ed4 100644 --- a/tests/header-footer.spec.js +++ b/tests/header-footer.spec.js @@ -1,7 +1,6 @@ -import { test, expect } from '@playwright/test'; +import { expect, test } from '@playwright/test'; test.describe('Global Infrastructure: Header, Banner & Footer', () => { - test.beforeEach(async ({ page }) => { await page.addInitScript(() => { window.localStorage.setItem('dev_access', 'granted'); @@ -9,23 +8,29 @@ test.describe('Global Infrastructure: Header, Banner & Footer', () => { await page.goto('/'); }); - test('Superior Rule (HMG Standard) should be perfectly rendered', async ({ page }) => { + test('Superior Rule (HMG Standard) should be perfectly rendered', async ({ + page, + }) => { const superiorRule = page.locator('.superior-rule'); await expect(superiorRule).toBeVisible(); await expect(superiorRule).toContainText('UKSF Taskforce Alpha'); await expect(superiorRule).toContainText('Private Milsim Site'); await expect(superiorRule).toContainText('Non-Official'); - + // Check toggle button - const toggleBtn = superiorRule.locator('button:has-text("Toggle Interface")'); + const toggleBtn = superiorRule.locator( + 'button:has-text("Toggle Interface")', + ); await expect(toggleBtn).toBeVisible(); await expect(toggleBtn).toHaveCSS('text-transform', 'uppercase'); }); - test('Main Navigation Bar should contain all core unit links', async ({ page }) => { + test('Main Navigation Bar should contain all core unit links', async ({ + page, + }) => { const nav = page.locator('nav[aria-label="Main navigation"]'); await expect(nav).toBeVisible(); - + // Check Logo const logo = nav.locator('img[alt="UKSF Taskforce Alpha - Milsim Logo"]'); await expect(logo).toBeVisible(); @@ -33,10 +38,21 @@ test.describe('Global Infrastructure: Header, Banner & Footer', () => { expect(logoSrc).not.toBeNull(); // Check Navigation Links (Explicitly) - const expectedLinks = ['SAS', 'SBS', 'ASOB', 'SFSG', 'JSFAW', 'RAMC', 'Registry']; + const expectedLinks = [ + 'SAS', + 'SBS', + 'ASOB', + 'SFSG', + 'JSFAW', + 'RAMC', + 'Registry', + ]; for (const linkText of expectedLinks) { const link = nav.locator(`a:has-text("${linkText}")`); - await expect(link, `Link "${linkText}" missing from header`).toBeVisible(); + await expect( + link, + `Link "${linkText}" missing from header`, + ).toBeVisible(); } // Check CTA @@ -69,7 +85,9 @@ test.describe('Global Infrastructure: Header, Banner & Footer', () => { // Verify Column 3: Resources await expect(footer).toContainText('Institutional Links'); - await expect(footer.locator('a:has-text("Selection Gateway")')).toBeVisible(); + await expect( + footer.locator('a:has-text("Selection Gateway")'), + ).toBeVisible(); await expect(footer.locator('a:has-text("Deployment Logs")')).toBeVisible(); // Verify Column 4: Signal Center @@ -78,6 +96,8 @@ test.describe('Global Infrastructure: Header, Banner & Footer', () => { // Verify Disclaimer await expect(footer).toContainText('Unofficial community project'); - await expect(footer).toContainText('No affiliation with the UK Ministry of Defence'); + await expect(footer).toContainText( + 'No affiliation with the UK Ministry of Defence', + ); }); }); diff --git a/tests/homepage-blocks.spec.js b/tests/homepage-blocks.spec.js index f997bc8..210c3d3 100644 --- a/tests/homepage-blocks.spec.js +++ b/tests/homepage-blocks.spec.js @@ -1,7 +1,6 @@ -import { test, expect } from '@playwright/test'; +import { expect, test } from '@playwright/test'; test.describe('Homepage Architecture: Block-by-Block Verification', () => { - test.beforeEach(async ({ page }) => { await page.goto('/'); }); @@ -10,11 +9,15 @@ test.describe('Homepage Architecture: Block-by-Block Verification', () => { await page.waitForTimeout(2000); // Allow for hydration const hero = page.locator('section').nth(0); await expect(hero.locator('h1')).toContainText('Always A Little Further'); - await expect(hero.locator('p')).toContainText('Taskforce Alpha coordinates elite special operations'); - + await expect(hero.locator('p')).toContainText( + 'Taskforce Alpha coordinates elite special operations', + ); + // CTAs await expect(hero.locator('a:has-text("Start Selection")')).toBeVisible(); - await expect(hero.locator('a:has-text("Explore Capability")')).toBeVisible(); + await expect( + hero.locator('a:has-text("Explore Capability")'), + ).toBeVisible(); }); test('Section 2: Mission Directive Block', async ({ page }) => { @@ -26,7 +29,7 @@ test.describe('Homepage Architecture: Block-by-Block Verification', () => { test('Section 3: Unit Directory Block', async ({ page }) => { const units = page.locator('section').nth(2); await expect(units.locator('h2')).toContainText('Taskforce Units'); - + // Check for specific unit cards const unitCards = ['SAS', 'SBS', 'ASOB', 'SFSG', 'JSFAW', 'RAMC']; for (const unit of unitCards) { @@ -38,14 +41,18 @@ test.describe('Homepage Architecture: Block-by-Block Verification', () => { await page.waitForTimeout(2000); // Allow for widgets to load const aor = page.locator('section').nth(3); // Explicitly target the section h2, not nested widget h2s - await expect(aor.locator('> .moduk-width-container h2').first()).toContainText('AOR Control'); - await expect(aor.locator('.bg-mod-green.shadow-lg')).toContainText('STATION_ACTIVE'); - + await expect( + aor.locator('> .moduk-width-container h2').first(), + ).toContainText('AOR Control'); + await expect(aor.locator('.bg-mod-green.shadow-lg')).toContainText( + 'STATION_ACTIVE', + ); + // Map Check const map = aor.locator('.tactical-map-container'); await expect(map).toBeVisible(); await expect(map.locator('.unit-node').first()).toBeVisible(); - + // Comms Hub Check await expect(aor.locator('.live-ops-feed-container').first()).toBeVisible(); }); @@ -53,6 +60,8 @@ test.describe('Homepage Architecture: Block-by-Block Verification', () => { test('Section 5: Final Selection Gateway', async ({ page }) => { const gateway = page.locator('section').nth(4); await expect(gateway.locator('h2')).toContainText('Strategic Enlistment'); - await expect(gateway.locator('a:has-text("Apply for Selection")')).toBeVisible(); + await expect( + gateway.locator('a:has-text("Apply for Selection")'), + ).toBeVisible(); }); }); diff --git a/tests/maintenance.spec.js b/tests/maintenance.spec.js index 5c8f133..0dba22d 100644 --- a/tests/maintenance.spec.js +++ b/tests/maintenance.spec.js @@ -1,31 +1,52 @@ -import { test, expect } from '@playwright/test'; +import { expect, test } from '@playwright/test'; test.describe('Maintenance Page Layout Verification', () => { - test('Maintenance page should be strictly full screen with no scrolling', async ({ page }) => { + test('Maintenance page should be strictly full screen with no scrolling', async ({ + page, + }) => { // Clear dev_access to ensure we hit the maintenance page await page.addInitScript(() => { window.localStorage.removeItem('dev_access'); }); await page.goto('/maintenance/'); - + // 1. Verify URL and content await expect(page).toHaveURL(/\/maintenance\//); await expect(page.locator('h1')).toContainText('System Deployment'); // 2. Check for scrolling - const scrollHeight = await page.evaluate(() => document.documentElement.scrollHeight); - const clientHeight = await page.evaluate(() => document.documentElement.clientHeight); - const scrollWidth = await page.evaluate(() => document.documentElement.scrollWidth); - const clientWidth = await page.evaluate(() => document.documentElement.clientWidth); + const scrollHeight = await page.evaluate( + () => document.documentElement.scrollHeight, + ); + const clientHeight = await page.evaluate( + () => document.documentElement.clientHeight, + ); + const scrollWidth = await page.evaluate( + () => document.documentElement.scrollWidth, + ); + const clientWidth = await page.evaluate( + () => document.documentElement.clientWidth, + ); - expect(scrollHeight, `Vertical scroll detected: ${scrollHeight} > ${clientHeight}`).toBeLessThanOrEqual(clientHeight); - expect(scrollWidth, `Horizontal scroll detected: ${scrollWidth} > ${clientWidth}`).toBeLessThanOrEqual(clientWidth); + expect( + scrollHeight, + `Vertical scroll detected: ${scrollHeight} > ${clientHeight}`, + ).toBeLessThanOrEqual(clientHeight); + expect( + scrollWidth, + `Horizontal scroll detected: ${scrollWidth} > ${clientWidth}`, + ).toBeLessThanOrEqual(clientWidth); // 3. Verify body style - const overflow = await page.evaluate(() => window.getComputedStyle(document.body).overflow); + const overflow = await page.evaluate( + () => window.getComputedStyle(document.body).overflow, + ); expect(overflow).toBe('hidden'); - await page.screenshot({ path: 'test-results/maintenance-page-fitting.png', fullPage: true }); + await page.screenshot({ + path: 'test-results/maintenance-page-fitting.png', + fullPage: true, + }); }); }); diff --git a/tests/media-integrity.spec.js b/tests/media-integrity.spec.js index 0fd21da..3411e99 100644 --- a/tests/media-integrity.spec.js +++ b/tests/media-integrity.spec.js @@ -1,12 +1,14 @@ -import { test, expect } from '@playwright/test'; +import { expect, test } from '@playwright/test'; test.describe('Media & Asset Integrity: Zero Broken Images', () => { - test('All critical unit icons and maps should load', async ({ page }) => { // Collect all image requests const brokenImages = []; - page.on('response', response => { - if (response.request().resourceType() === 'image' && response.status() >= 400) { + page.on('response', (response) => { + if ( + response.request().resourceType() === 'image' && + response.status() >= 400 + ) { brokenImages.push(`${response.url()} (${response.status()})`); } }); @@ -20,14 +22,17 @@ test.describe('Media & Asset Integrity: Zero Broken Images', () => { await page.goto('/registry/orbat/'); await page.waitForTimeout(1000); - expect(brokenImages, `Found broken images: ${brokenImages.join(', ')}`).toHaveLength(0); + expect( + brokenImages, + `Found broken images: ${brokenImages.join(', ')}`, + ).toHaveLength(0); }); test('Tactical Map Asset verification', async ({ page }) => { await page.goto('/'); const map = page.locator('.tactical-map-container'); await expect(map).toBeVisible(); - + // Check bounding box to ensure it's not a collapsed 0x0 container const box = await map.boundingBox(); expect(box.width).toBeGreaterThan(0); @@ -38,8 +43,8 @@ test.describe('Media & Asset Integrity: Zero Broken Images', () => { await page.goto('/'); const logo = page.locator('nav img[alt="UKSF Taskforce Alpha"]'); await expect(logo).toBeVisible(); - - const naturalWidth = await logo.evaluate(img => img.naturalWidth); + + const naturalWidth = await logo.evaluate((img) => img.naturalWidth); expect(naturalWidth).toBeGreaterThan(0); }); }); diff --git a/tests/mobile-tactical.spec.js b/tests/mobile-tactical.spec.js index 92dbe20..6c94cc3 100644 --- a/tests/mobile-tactical.spec.js +++ b/tests/mobile-tactical.spec.js @@ -1,36 +1,43 @@ -import { test, expect, devices } from '@playwright/test'; +import { devices, expect, test } from '@playwright/test'; // Use iPhone 13 as standard mobile reference test.use({ ...devices['iPhone 13'] }); test.describe('Mobile Tactical Interface', () => { - - test('Mobile Homepage should be responsive and fit screen', async ({ page }) => { + test('Mobile Homepage should be responsive and fit screen', async ({ + page, + }) => { await page.goto('/'); - + // Check for horizontal overflow - const scrollWidth = await page.evaluate(() => document.documentElement.scrollWidth); - const clientWidth = await page.evaluate(() => document.documentElement.clientWidth); + const scrollWidth = await page.evaluate( + () => document.documentElement.scrollWidth, + ); + const clientWidth = await page.evaluate( + () => document.documentElement.clientWidth, + ); expect(scrollWidth).toBeLessThanOrEqual(clientWidth); // Verify header components stack or hide const superiorRule = page.locator('.superior-rule'); await expect(superiorRule).toBeVisible(); - + // Check if "Private Milsim Site" hides on small screens (per our header.html class 'hidden sm:block') - const sensitiveTag = superiorRule.locator('span:has-text("Private Milsim Site")'); + const sensitiveTag = superiorRule.locator( + 'span:has-text("Private Milsim Site")', + ); await expect(sensitiveTag).not.toBeVisible(); }); test('Mobile Navigation interaction', async ({ page }) => { await page.goto('/'); - + // Check if main desktop links are hidden const sasLink = page.locator('nav a:has-text("SAS")'); - // Depending on tailwind config, 'lg:flex' means hidden below 1024px. + // Depending on tailwind config, 'lg:flex' means hidden below 1024px. // Since we are on iPhone (390px), it should be hidden. await expect(sasLink).not.toBeVisible(); - + // Check if the secure access button remains (per our header.html it is 'hidden sm:flex', so on mobile it might hide) const secureAccess = page.locator('a:has-text("Secure Access")'); await expect(secureAccess).not.toBeVisible(); @@ -38,16 +45,16 @@ test.describe('Mobile Tactical Interface', () => { test('Mobile Section Stacking', async ({ page }) => { await page.goto('/'); - + // Unit cards should stack vertically (1 column) const unitsSection = page.locator('section').nth(2); const cards = unitsSection.locator('.group'); const count = await cards.count(); - + if (count > 1) { const box1 = await cards.nth(0).boundingBox(); const box2 = await cards.nth(1).boundingBox(); - + if (box1 && box2) { // In stacking mode, X coordinates should be similar, Y should be different expect(Math.abs(box1.x - box2.x)).toBeLessThan(10); diff --git a/tests/orbat.spec.js b/tests/orbat.spec.js index e557197..93eb451 100644 --- a/tests/orbat.spec.js +++ b/tests/orbat.spec.js @@ -1,4 +1,4 @@ -import { test, expect } from '@playwright/test'; +import { expect, test } from '@playwright/test'; test.describe('ORBAT Interactivity Verification', () => { test.beforeEach(async ({ page }) => { @@ -6,23 +6,27 @@ test.describe('ORBAT Interactivity Verification', () => { await page.addInitScript(() => { window.localStorage.setItem('uksf_auth', 'authorized'); localStorage.setItem('dev_access', 'granted'); - window.localStorage.setItem('dev_access', 'granted'); + window.localStorage.setItem('dev_access', 'granted'); }); - + await page.goto('/registry/orbat/?disable_consent=true'); // Wait for dynamic content to load and center view await page.waitForTimeout(2000); }); - test('Should be able to toggle edit mode and edit node text', async ({ page }) => { + test('Should be able to toggle edit mode and edit node text', async ({ + page, + }) => { // 1. Enable Edit Mode const editBtn = page.locator('#edit-mode-btn'); await editBtn.click(); await expect(page.locator('#hq-admin-bar')).toHaveClass(/edit-active/); // 2. Locate a node and its name field - const firstNodeName = page.locator('.orbat-node-wrapper .editable-field[data-key="name"]').first(); - + const firstNodeName = page + .locator('.orbat-node-wrapper .editable-field[data-key="name"]') + .first(); + // 3. Verify it is contenteditable const isEditable = await firstNodeName.getAttribute('contenteditable'); expect(isEditable).toBe('true'); @@ -30,7 +34,7 @@ test.describe('ORBAT Interactivity Verification', () => { // 4. Click and Type await firstNodeName.click(); await page.keyboard.type('TEST_UNIT_NAME'); - + // 5. Verify the text changed const text = await firstNodeName.innerText(); expect(text).toContain('TEST_UNIT_NAME'); @@ -43,7 +47,7 @@ test.describe('ORBAT Interactivity Verification', () => { // 2. Locate a node const node = page.locator('.orbat-node-wrapper').first(); const initialPos = await node.boundingBox(); - if (!initialPos) throw new Error("Node box not found"); + if (!initialPos) throw new Error('Node box not found'); // 3. Drag the node await node.hover(); @@ -53,8 +57,8 @@ test.describe('ORBAT Interactivity Verification', () => { // 4. Verify position changed const finalPos = await node.boundingBox(); - if (!finalPos) throw new Error("Node box not found after drag"); + if (!finalPos) throw new Error('Node box not found after drag'); expect(finalPos.x).not.toBe(initialPos.x); expect(finalPos.y).not.toBe(initialPos.y); }); -}); \ No newline at end of file +}); diff --git a/tests/security-gating.spec.js b/tests/security-gating.spec.js index 994f1b5..ff4b469 100644 --- a/tests/security-gating.spec.js +++ b/tests/security-gating.spec.js @@ -1,8 +1,9 @@ -import { test, expect } from '@playwright/test'; +import { expect, test } from '@playwright/test'; test.describe('RSIS Security Gating & Authentication', () => { - - test('Unauthenticated users should be redirected to Gate from ORBAT', async ({ page }) => { + test('Unauthenticated users should be redirected to Gate from ORBAT', async ({ + page, + }) => { // Clear any existing auth await page.addInitScript(() => { window.localStorage.removeItem('uksf_auth'); @@ -10,13 +11,15 @@ test.describe('RSIS Security Gating & Authentication', () => { await page.goto('/registry/orbat/'); await page.waitForTimeout(5000); // Wait for SVG/Data fragments - + // Should be redirected to /registry/gate/ per baseof.html logic await expect(page).toHaveURL(/\/registry\/gate\//); await expect(page.locator('h1')).toContainText('Authorization'); }); - test('Unauthenticated users should be redirected to Gate from Console', async ({ page }) => { + test('Unauthenticated users should be redirected to Gate from Console', async ({ + page, + }) => { await page.addInitScript(() => { window.localStorage.removeItem('uksf_auth'); }); @@ -25,9 +28,11 @@ test.describe('RSIS Security Gating & Authentication', () => { await expect(page).toHaveURL(/\/registry\/gate\//); }); - test('Successful authentication should unlock the workstation', async ({ page }) => { + test('Successful authentication should unlock the workstation', async ({ + page, + }) => { await page.goto('/registry/gate/'); - + // Simulate manual auth injection (simulating the CTF result) await page.evaluate(() => { localStorage.setItem('uksf_auth', 'authorized'); diff --git a/tests/ui-patterns.spec.js b/tests/ui-patterns.spec.js index 55c8c62..09c8fe5 100644 --- a/tests/ui-patterns.spec.js +++ b/tests/ui-patterns.spec.js @@ -1,20 +1,22 @@ -import { test, expect } from '@playwright/test'; +import { expect, test } from '@playwright/test'; test.describe('MOD.UK Tactical UI Verification', () => { test('should apply Regimental Skins correctly', async ({ page }) => { const units = [ - { path: '/sas/', skinClass: 'unit-sas', brandTint: 'rgb(21, 62, 53)' }, // Army Green - { path: '/sbs/', skinClass: 'unit-sbs', brandTint: 'rgb(19, 40, 76)' }, // Navy Blue + { path: '/sas/', skinClass: 'unit-sas', brandTint: 'rgb(21, 62, 53)' }, // Army Green + { path: '/sbs/', skinClass: 'unit-sbs', brandTint: 'rgb(19, 40, 76)' }, // Navy Blue ]; for (const unit of units) { - await page.goto(unit.path); - const body = page.locator('body'); - await expect(body).toHaveClass(new RegExp(unit.skinClass)); - - // Verify CSS Variable inheritance - const tint = await body.evaluate(el => getComputedStyle(el).getPropertyValue('--brand-tint').trim()); - expect(tint).not.toBe('#532a45'); + await page.goto(unit.path); + const body = page.locator('body'); + await expect(body).toHaveClass(new RegExp(unit.skinClass)); + + // Verify CSS Variable inheritance + const tint = await body.evaluate((el) => + getComputedStyle(el).getPropertyValue('--brand-tint').trim(), + ); + expect(tint).not.toBe('#532a45'); } }); -}); \ No newline at end of file +}); diff --git a/tests/visual-audit.spec.js b/tests/visual-audit.spec.js index 448ad90..b55b495 100644 --- a/tests/visual-audit.spec.js +++ b/tests/visual-audit.spec.js @@ -1,4 +1,4 @@ -import { test, expect } from '@playwright/test'; +import { expect, test } from '@playwright/test'; test.describe('Visual & Layout Integrity Audit', () => { test.beforeEach(async ({ page }) => { @@ -6,100 +6,122 @@ test.describe('Visual & Layout Integrity Audit', () => { await page.addInitScript(() => { window.localStorage.setItem('uksf_auth', 'authorized'); localStorage.setItem('dev_access', 'granted'); - window.localStorage.setItem('dev_access', 'granted'); + window.localStorage.setItem('dev_access', 'granted'); }); }); test('Homepage Blocks Fitting Check', async ({ page }) => { await page.goto('/'); await page.waitForTimeout(2000); - + const sections = page.locator('section'); const count = await sections.count(); - + for (let i = 0; i < count; i++) { const section = sections.nth(i); const box = await section.boundingBox(); const viewport = page.viewportSize(); - + console.log(`Section ${i} box:`, box); - + // Ensure section is at least as tall as the viewport minus header (approximately) if (box && viewport) { - expect(box.height).toBeGreaterThanOrEqual(viewport.height * 0.5); + expect(box.height).toBeGreaterThanOrEqual(viewport.height * 0.5); } - + // Check for horizontal overflow within the section - const hasOverflow = await section.evaluate(el => el.scrollWidth > el.clientWidth); + const hasOverflow = await section.evaluate( + (el) => el.scrollWidth > el.clientWidth, + ); expect(hasOverflow, `Section ${i} has horizontal overflow`).toBeFalsy(); // Check for vertical overflow within the section (content should fit in 100vh) - const hasVerticalOverflow = await section.evaluate(el => el.scrollHeight > el.clientHeight); + const hasVerticalOverflow = await section.evaluate( + (el) => el.scrollHeight > el.clientHeight, + ); if (hasVerticalOverflow) { - console.warn(`WARNING: Section ${i} has vertical content overflow!`); + console.warn(`WARNING: Section ${i} has vertical content overflow!`); } - expect(hasVerticalOverflow, `Section ${i} has vertical content overflow`).toBeFalsy(); + expect( + hasVerticalOverflow, + `Section ${i} has vertical content overflow`, + ).toBeFalsy(); // Check if any image inside is inverted (unless it's a specific icon) const images = section.locator('img:not(.icon-invert)'); const imgCount = await images.count(); for (let j = 0; j < imgCount; j++) { - const filter = await images.nth(j).evaluate(el => window.getComputedStyle(el).filter); - expect(filter, `Image in section ${i} is inverted`).not.toContain('invert'); + const filter = await images + .nth(j) + .evaluate((el) => window.getComputedStyle(el).filter); + expect(filter, `Image in section ${i} is inverted`).not.toContain( + 'invert', + ); } } - - await page.screenshot({ path: 'test-results/visual-audit-home-final.png', fullPage: true }); + + await page.screenshot({ + path: 'test-results/visual-audit-home-final.png', + fullPage: true, + }); }); test('Workstation Fitting: ORBAT', async ({ page }) => { await page.goto('/registry/orbat/'); await page.waitForTimeout(2000); - + const viewport = page.locator('.workstation-container'); await expect(viewport).toBeVisible(); - + // Ensure viewport doesn't have a vertical scrollbar (it should be fixed height) - const hasScroll = await viewport.evaluate(el => el.scrollHeight > el.clientHeight); + const hasScroll = await viewport.evaluate( + (el) => el.scrollHeight > el.clientHeight, + ); console.log('ORBAT Viewport has scroll:', hasScroll); - - await page.screenshot({ path: 'test-results/visual-audit-orbat-final.png' }); + + await page.screenshot({ + path: 'test-results/visual-audit-orbat-final.png', + }); }); test('Workstation Fitting: Console', async ({ page }) => { await page.goto('/registry/console/'); await page.waitForTimeout(2000); - + const terminal = page.locator('#terminal-output'); await expect(terminal).toBeVisible(); - + // Ensure the terminal output is scrollable if content exceeds height - const isScrollable = await terminal.evaluate(el => { - const style = window.getComputedStyle(el); - return style.overflowY === 'auto' || style.overflowY === 'scroll'; + const isScrollable = await terminal.evaluate((el) => { + const style = window.getComputedStyle(el); + return style.overflowY === 'auto' || style.overflowY === 'scroll'; }); expect(isScrollable, 'Terminal output should be scrollable').toBeTruthy(); - - await page.screenshot({ path: 'test-results/visual-audit-console-final.png' }); + + await page.screenshot({ + path: 'test-results/visual-audit-console-final.png', + }); }); test('Workstation Fitting: Filing', async ({ page }) => { await page.goto('/registry/filing/'); await page.waitForTimeout(2000); - + const sidebar = page.locator('aside'); const workspace = page.locator('.workstation-container'); - + await expect(sidebar).toBeVisible(); await expect(workspace).toBeVisible(); - + // Check if the overall container is correctly sized (it should be the direct child of #main-content) const container = page.locator('#main-content > div').first(); - if (await container.count() > 0) { - const box = await container.boundingBox(); - console.log('Filing container box:', box); + if ((await container.count()) > 0) { + const box = await container.boundingBox(); + console.log('Filing container box:', box); } - - await page.screenshot({ path: 'test-results/visual-audit-filing-final.png' }); + + await page.screenshot({ + path: 'test-results/visual-audit-filing-final.png', + }); }); -}); \ No newline at end of file +}); diff --git a/themes/uksf-mod-theme/.prettierrc b/themes/uksf-mod-theme/.prettierrc new file mode 100644 index 0000000..ccf5622 --- /dev/null +++ b/themes/uksf-mod-theme/.prettierrc @@ -0,0 +1,16 @@ +{ + "semi": true, + "singleQuote": true, + "tabWidth": 2, + "trailingComma": "es5", + "printWidth": 100, + "plugins": ["prettier-plugin-go-template"], + "overrides": [ + { + "files": ["layouts/**/*.html", "assets/**/*.html"], + "options": { + "parser": "go-template" + } + } + ] +} \ No newline at end of file diff --git a/themes/uksf-mod-theme/codeql-db/codeql-database.yml b/themes/uksf-mod-theme/codeql-db/codeql-database.yml new file mode 100644 index 0000000..ad22614 --- /dev/null +++ b/themes/uksf-mod-theme/codeql-db/codeql-database.yml @@ -0,0 +1,13 @@ +--- +sourceLocationPrefix: /home/matt/Development/themes/uksf-mod-theme +baselineLinesOfCode: 2716 +unicodeNewlines: true +columnKind: utf16 +primaryLanguage: javascript +creationMetadata: + sha: a6a204ce802861d39ec5512e9a0b4bf447c1f29c + cliVersion: 2.23.8 + creationTime: 2026-02-02T13:34:22.506503167Z +overlayBaseDatabase: false +overlayDatabase: false +finalised: true diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/array_size.rel b/themes/uksf-mod-theme/codeql-db/db-javascript/default/array_size.rel new file mode 100644 index 0000000..d7ad111 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/array_size.rel differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/array_size.rel.meta b/themes/uksf-mod-theme/codeql-db/db-javascript/default/array_size.rel.meta new file mode 100644 index 0000000..b46d41c Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/array_size.rel.meta differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/bind.rel b/themes/uksf-mod-theme/codeql-db/db-javascript/default/bind.rel new file mode 100644 index 0000000..f5b49a6 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/bind.rel differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/bind.rel.meta b/themes/uksf-mod-theme/codeql-db/db-javascript/default/bind.rel.meta new file mode 100644 index 0000000..5b3bced Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/bind.rel.meta differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/.lock b/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/.lock new file mode 100644 index 0000000..e69de29 diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/cached-strings/pools/0/buckets/info b/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/cached-strings/pools/0/buckets/info new file mode 100644 index 0000000..6b434ae Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/cached-strings/pools/0/buckets/info differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/cached-strings/pools/0/buckets/page-000000 b/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/cached-strings/pools/0/buckets/page-000000 new file mode 100644 index 0000000..08d6422 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/cached-strings/pools/0/buckets/page-000000 differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/cached-strings/pools/0/ids2/info b/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/cached-strings/pools/0/ids2/info new file mode 100644 index 0000000..44b414c Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/cached-strings/pools/0/ids2/info differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/cached-strings/pools/0/ids2/page-000000 b/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/cached-strings/pools/0/ids2/page-000000 new file mode 100644 index 0000000..00a46f6 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/cached-strings/pools/0/ids2/page-000000 differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/cached-strings/pools/0/indices2/info b/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/cached-strings/pools/0/indices2/info new file mode 100644 index 0000000..7418f07 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/cached-strings/pools/0/indices2/info differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/cached-strings/pools/0/indices2/page-000000 b/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/cached-strings/pools/0/indices2/page-000000 new file mode 100644 index 0000000..5561190 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/cached-strings/pools/0/indices2/page-000000 differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/cached-strings/pools/0/info b/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/cached-strings/pools/0/info new file mode 100644 index 0000000..14bfd6c Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/cached-strings/pools/0/info differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/cached-strings/pools/0/metadata/info b/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/cached-strings/pools/0/metadata/info new file mode 100644 index 0000000..981f654 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/cached-strings/pools/0/metadata/info differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/cached-strings/pools/0/metadata/page-000000 b/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/cached-strings/pools/0/metadata/page-000000 new file mode 100644 index 0000000..b33ce95 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/cached-strings/pools/0/metadata/page-000000 differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/cached-strings/pools/0/pageDump/page-000000000 b/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/cached-strings/pools/0/pageDump/page-000000000 new file mode 100644 index 0000000..f0f9f35 --- /dev/null +++ b/themes/uksf-mod-theme/codeql-db/db-javascript/default/cache/cached-strings/pools/0/pageDump/page-000000000 @@ -0,0 +1,170 @@ +dependabot.ymldependabotyml.githubgithubuksf-mod-themethemesDevelopmentmatthugo.ymlworkflowsmain.jsindex.htmladmindocscovertconopoperation-black-sheepsitrep-01operation-breezeroperation-dune-venganceoperation-iron-retributionoperation-jungle-cobraoperation-reactionoperation-restoreoperation-retrieving-goldoperation-saheloperation-sparrowpre-deployment-opsfilingintelligencemain.min.91f46d8180b1b015e8849272db680298c319344daa121a5ba3719b3c2b4bc92c.jsmain.min.91f46d8180b1b015e8849272db680298c319344daa121a5ba3719b3c2b4bc92corbat-canvas.jsrecruitmentgateregistryorbatrestrictedcommunicatormedicarctic-readinessbattle-of-tora-borabravo-two-zeromct-trialsmount-sinjarnad-e-alinave-andromedaoperation-africaoperation-barrasoperation-liddardoperation-mikadooperation-nimrodoperation-toraloperation-trentpebble-islandqala-i-jangisahel-persistenceeslint.config.jseslint.configadmin.html_defaultlayoutsarchive-covert.htmlarchive-covertarchive.htmlarchives.htmlconsole.htmldossier.htmldossierfiling.htmlgate.htmlintelligence.htmlorbat.htmlregister.htmlrestricted.htmlbaseof.htmlbaseofcampaign.htmlcampaignlist.htmlreport.htmlpage.htmlhero.htmlheropartialsblocks.htmlcookie-consent.htmlcookie-consentfooter.htmlcss.htmljs.htmlskin.htmlskinhead.htmlheader.htmlmenu.htmlmenuphase-banner.htmlphase-bannerrecruitment-form.htmlrecruitment-formcapability-matrix.htmlcapability-matrixshortcodesterms.htmltermscomms-hub.htmlcomms-hubwidgetsdiscord.htmlorbat-node.htmlorbat-nodeunitcommander.htmlsection.htmlbattlemetrics.htmlcapability-spec.htmlcapability-specmandate.htmlmandatetaxonomy.htmltaxonomyterm.htmltermpackage.jsonpackageplaywright-reportplaywright.config.jsplaywright.configpostcss.config.cjspostcss.configcjscheck-runners.jscheck-runnersfetch-intel.jsfetch-intelgenerate-stats.jsgenerate-statsgh-issue-sync.jsgh-issue-syncsecurity-history-check.jssecurity-history-checksecurity-scan.jssecurity-scansync-orbat.jssync-orbattest.jsrcon-bridge.jsrcon-bridgeservicesregistry-service.jsregistry-servicetailwind.config.cjstailwind.configconsole.spec.jsconsole.specfiling.spec.jsfiling.speclighthouse.spec.jslighthouse.specorbat.spec.jsorbat.speces2016.jses2016toolscodeqles2017.jses2017es3.jses3es5.jses5es6.jses6es6_collections.jses6_collectionsintl.jsintlproxy.jsbdd.jsbddlibjquery-3.2.jsjquery-3.2should.jsvows.jsvowsassert.jsnodejsassert_legacy.jsassert_legacybuffer.jschild_process.jscluster.jsconsole.jsconstants.jscrypto.jsdgram.jsdns.jsdomain.jsevents.jsfs.jsglobals.jshttp.jshttps.jsmodule.jsnet.jsos.jspath.jsprocess.jspunycode.jsquerystring.jsreadline.jsrepl.jsstream.jsstring_decoder.jssys.jstimers.jstls.jstty.jsurl.jsutil.jsv8.jsvm.jszlib.jsjsshell.jsjsshellrhino.jsrhinospidermonkey.jsspidermonkeychrome.jswebfetchapi.jsfetchapifileapi.jsfileapiflash.jsgecko_css.jsgecko_cssgecko_dom.jsgecko_domgecko_event.jsgecko_eventgecko_ext.jsgecko_extgecko_xml.jsgecko_xmlhtml5.jshtml5ie_css.jsie_cssie_dom.jsie_domie_event.jsie_eventie_vml.jsie_vmliphone.jsiphonemediasource.jsmediasourcepage_visibility.jspage_visibilitystreamsapi.jsstreamsapiw3c_anim_timing.jsw3c_anim_timingw3c_batterystatus.jsw3c_batterystatusw3c_css.jsw3c_cssw3c_css3d.jsw3c_css3dw3c_device_sensor_event.jsw3c_device_sensor_eventw3c_dom1.jsw3c_dom1w3c_dom2.jsw3c_dom2w3c_dom3.jsw3c_dom3w3c_dom4.jsw3c_dom4w3c_elementtraversal.jsw3c_elementtraversalw3c_encoding.jsw3c_encodingw3c_event.jsw3c_eventw3c_event3.jsw3c_event3w3c_gamepad.jsw3c_gamepadw3c_geolocation.jsw3c_geolocationw3c_indexeddb.jsw3c_indexeddbw3c_midi.jsw3c_midiw3c_navigation_timing.jsw3c_navigation_timingw3c_permissions.jsw3c_permissionsw3c_pointer_events.jsw3c_pointer_eventsw3c_range.jsw3c_rangew3c_requestidlecallback.jsw3c_requestidlecallbackw3c_rtc.jsw3c_rtcw3c_screen_orientation.jsw3c_screen_orientationw3c_selectors.jsw3c_selectorsw3c_serviceworker.jsw3c_serviceworkerw3c_touch_event.jsw3c_touch_eventw3c_webcrypto.jsw3c_webcryptow3c_xml.jsw3c_xmlwebgl.jswebglwebkit_css.jswebkit_csswebkit_dom.jswebkit_domwebkit_event.jswebkit_eventwebkit_notifications.jswebkit_notificationswebkit_usercontent.jswebkit_usercontentwebstorage.jswebstoragewhatwg_encoding.jswhatwg_encodingwindow.jsheapPromisePropsasync-raw-returnfor-of-map-keyfor-of-map-value$setElement$$arrayElement$$iteratorElement$$routeProvider$log$aria$route$scope$swipe$animate$compile$cookies$provide$timeout$injector$interval$resource$sanitize$rootScope$animateCss$controller$rootRouter$cookieStore$httpBackend$routeParams$ariaProvider$cacheFactory$cookiesProvider$exceptionHandler$resourceProvider$sanitizeProvider$componentController$routerRootComponent$exceptionHandlerProvider$anchorScrollProvider$animateProvider$compileProvider$controllerProvider$filterProvider$httpProvider$interpolateProvider$locationProvider$logProvider$parseProvider$provider$qProvider$rootScopeProvider$sceDelegateProvider$sceProvider$templateRequestProvider$anchorScroll$document$filter$http$httpParamSerializer$httpParamSerializerJQLike$interpolate$jsonpCallbacks$locale$location$parse$q$rootElement$sce$sceDelegate$templateCache$templateRequest$window$xhrFactoryasync.IteratorCall(callbackArgIndex=1)async.IteratorCall(callbackArgIndex=2)async.IteratorCall(callbackArgIndex=3)Array#flat(1)Array#flat(2)Array#flat(3)ArrayCopyingPackageArrayCoercionPackageArrayFlatteningPackageArray method with flow into callbackArray#reverse / Array#toReversedArray#reduce / Array#reduceRightArray#values / Map#values / Set#valuesString#splitArray#concat / String#concat / Buffer.concatPromise#then() with 2 argumentsArray#sort / Array#toSortedArray#forEach / Map#forEach / Set#forEachArray#find / Array#findLastArray#keys / Map#keys / Set#keysPromise#then() with 1 argumentArray#push / Array#unshiftArray#slice / String#sliceIterator#nextArray#joinMap#setSet#addArray#at / String#atArray#flatMapPromise#catch()Array#spliceArray#filterArray#shiftArray#popArray#mapTypedArray#subarrayObject#toString / Array#toStringSet constructorMap constructorArray.from(arg)String#fromCharCodeglobal.NodeJS.EventEmitter;_.map_.tapMap#get_.flatMap_.groupByArray#fillArray#withMap#groupBy_.each-like_.mapObject_.partitionasync.sortByPromise.all()Promise.try()_.flatMapDeep_.reduce-like_.sortBy-likenew Promise()TypedArray#setArray#toSplicedArray#copyWithinPromise.reject()Array constructorPromise#finally()_.minBy / _.maxByTextDecoder#decodebluebird.mapSeriesArrayBuffer#transferException propagatorPromise.allSettled()TypedArray constructorPromise.withResolvers()new Promise() workaroundString#split with '#' or '?'query-string stringificationnew Promise() reject callbacknew Promise() resolve callbackPromise.any() or Promise.race()Array.from(arg, callback, [thisArg])'array.prototype.find' / 'array-find'Array#entries / Map#entries / Set#entriesString#replace / String#replaceAll (with wildcard pattern)String#replace / String#replaceAll (without wildcard pattern)global.NodeJS.EventEmitterMember[addListener,off,on,once,prependListener,prependOnceListener,removeAllListeners,removeListener,setMaxListeners].ReturnValueMaD:1144[dynamic parameter array] JSON.stringify[dynamic parameter array] URL[dynamic parameter array] URLSearchParams[dynamic parameter array] Promise.resolve()[dynamic parameter array] Array.of[dynamic parameter array] getAll[dynamic parameter array] async.IteratorCall(callbackArgIndex=1)[dynamic parameter array] async.IteratorCall(callbackArgIndex=2)[dynamic parameter array] async.IteratorCall(callbackArgIndex=3)[dynamic parameter array] Array#flat(1)[dynamic parameter array] Array#flat(2)[dynamic parameter array] Array#flat(3)[dynamic parameter array] ArrayCopyingPackage[dynamic parameter array] ArrayCoercionPackage[dynamic parameter array] ArrayFlatteningPackage[dynamic parameter array] Array method with flow into callback[dynamic parameter array] Array#reverse / Array#toReversed[dynamic parameter array] Array#reduce / Array#reduceRight[dynamic parameter array] Array#values / Map#values / Set#values[dynamic parameter array] String#split[dynamic parameter array] Array#concat / String#concat / Buffer.concat[dynamic parameter array] Promise#then() with 2 arguments[dynamic parameter array] Array#sort / Array#toSorted[dynamic parameter array] Array#forEach / Map#forEach / Set#forEach[dynamic parameter array] Array#find / Array#findLast[dynamic parameter array] Array#keys / Map#keys / Set#keys[dynamic parameter array] Promise#then() with 1 argument[dynamic parameter array] Array#push / Array#unshift[dynamic parameter array] Array#slice / String#slice[dynamic parameter array] Iterator#next[dynamic parameter array] Array#join[dynamic parameter array] Map#set[dynamic parameter array] Set#add[dynamic parameter array] Array#at / String#at[dynamic parameter array] Array#flatMap[dynamic parameter array] Promise#catch()[dynamic parameter array] Array#splice[dynamic parameter array] Array#filter[dynamic parameter array] Array#shift[dynamic parameter array] Array#pop[dynamic parameter array] Array#map[dynamic parameter array] TypedArray#subarray[dynamic parameter array] Object#toString / Array#toString[dynamic parameter array] Set constructor[dynamic parameter array] Map constructor[dynamic parameter array] Array.from(arg)[dynamic parameter array] String#fromCharCode[dynamic parameter array] global.NodeJS.EventEmitter;[dynamic parameter array] _.map[dynamic parameter array] _.tap[dynamic parameter array] Map#get[dynamic parameter array] _.flatMap[dynamic parameter array] _.groupBy[dynamic parameter array] Array#fill[dynamic parameter array] Array#with[dynamic parameter array] Map#groupBy[dynamic parameter array] _.each-like[dynamic parameter array] _.mapObject[dynamic parameter array] _.partition[dynamic parameter array] async.sortBy[dynamic parameter array] Promise.all()[dynamic parameter array] Promise.try()[dynamic parameter array] _.flatMapDeep[dynamic parameter array] _.reduce-like[dynamic parameter array] _.sortBy-like[dynamic parameter array] new Promise()[dynamic parameter array] TypedArray#set[dynamic parameter array] Array#toSpliced[dynamic parameter array] Array#copyWithin[dynamic parameter array] Promise.reject()[dynamic parameter array] Array constructor[dynamic parameter array] Promise#finally()[dynamic parameter array] _.minBy / _.maxBy[dynamic parameter array] TextDecoder#decode[dynamic parameter array] bluebird.mapSeries[dynamic parameter array] ArrayBuffer#transfer[dynamic parameter array] Exception propagator[dynamic parameter array] Promise.allSettled()[dynamic parameter array] TypedArray constructor[dynamic parameter array] Promise.withResolvers()[dynamic parameter array] new Promise() workaround[dynamic parameter array] String#split with '#' or '?'[dynamic parameter array] query-string stringification[dynamic parameter array] new Promise() reject callback[dynamic parameter array] new Promise() resolve callback[dynamic parameter array] Promise.any() or Promise.race()[dynamic parameter array] Array.from(arg, callback, [thisArg])[dynamic parameter array] 'array.prototype.find' / 'array-find'[dynamic parameter array] Array#entries / Map#entries / Set#entries[dynamic parameter array] String#replace / String#replaceAll (with wildcard pattern)[dynamic parameter array] String#replace / String#replaceAll (without wildcard pattern)split-url-suffixsplit-url-suffix-presplit-url-suffix-postClientfindByIdAndUpdate_idopenApppromiseseachAsyncleanorFailpopulatetoConstructor_mongooseOptionscountDocumentsdistinctfindOneAndUpdatefindOnegetOptionsgetUpdateprojectionreplaceOnesetUpdatediscriminatorpluginonLost$cn$configreceivepgp$wheredeleteManydeleteOneestimatedDocumentCountupdateManyupdateOnenorfindByIdAndDeletefindOneAndDeletefindOneAndRemovesetOptionssetQuerygetFiltergetQuery$and$nor$or$pop$shiftforeignFieldlocalField$currentDate$inc$max$min$mul$pull$pullAll$push$set$setOnInsert$unsettasktransactreject-valueresolve-valueArrayElementPromiseErrorPromiseValueIteratorErrorIteratorElementSetElementMapValueMapKeyMapValue[run]MapValue[unit]MapValue[q]MapValue[anchor]MapValue[testId][ssa-use] navLinks[ssa-use] link[ssa-use] arguments[ssa-use] e[ssa-use] t[ssa-use] n[ssa-use] s[ssa-use] i[ssa-use] a[ssa-use] r[ssa-use] c[ssa-use] o[ssa-use] l[ssa-use] d[ssa-use] h[ssa-use] m[ssa-use] f[ssa-use] group[ssa-use] sourceId[ssa-use] sSide[ssa-use] targetId[ssa-use] tSide[ssa-use] p1[ssa-use] p2[ssa-use] p[ssa-use] nodeId[ssa-use] el[ssa-use] side[ssa-use] x[ssa-use] w[ssa-use] y[ssa-use] dist[ssa-use] s1[ssa-use] cp1[ssa-use] cpDist[ssa-use] s2[ssa-use] cp2[ssa-use] target[ssa-use] vW[ssa-use] nX[ssa-use] vH[ssa-use] nY[ssa-use] rect[ssa-use] cx[ssa-use] cy[ssa-use] amount[ssa-use] mouseX[ssa-use] mouseY[ssa-use] factor[ssa-use] newScale[ssa-use] x0[ssa-use] y0[ssa-use] clientX[ssa-use] clientY[ssa-use] underMouse[ssa-use] isClickingUI[ssa-use] resizeTarget[ssa-use] coords[ssa-use] nodeWrapper[ssa-use] nW[ssa-use] nH[ssa-use] sides[ssa-use] linkGroup[ssa-use] node[ssa-use] currentX[ssa-use] currentY[ssa-use] width[ssa-use] height[ssa-use] left[ssa-use] top[ssa-use] newW[ssa-use] dx[ssa-use] newH[ssa-use] dy[ssa-use] potentialW[ssa-use] newX[ssa-use] potentialH[ssa-use] newY[ssa-use] targets[ssa-use] startPos[ssa-use] rawX[ssa-use] rawY[ssa-use] nodeRect[ssa-use] visual[ssa-use] pathLen[ssa-use] mid[ssa-use] midX[ssa-use] midY[ssa-use] desc[ssa-use] name[ssa-use] state[ssa-use] description[ssa-use] drawer[ssa-use] index[ssa-use] wasLatest[ssa-use] revIdx[ssa-use] item[ssa-use] entry[ssa-use] personnelEl[ssa-use] nodes[ssa-use] edges[ssa-use] card[ssa-use] inner[ssa-use] naturalH[ssa-use] currentH[ssa-use] requiredH[ssa-use] finalH[ssa-use] editMode[ssa-use] type[ssa-use] message[ssa-use] targetEl[ssa-use] isLink[ssa-use] count[ssa-use] deleteTitle[ssa-use] midPoint[ssa-use] iconTitle[ssa-use] adminBar[ssa-use] btn[ssa-use] id[ssa-use] nodeCount[ssa-use] linkCount[ssa-use] confirmMsg[ssa-use] assets[ssa-use] input[ssa-use] file[ssa-use] reader[ssa-use] container[ssa-use] imgDiv[ssa-use] img[ssa-use] source[ssa-use] eid[ssa-use] hitArea[ssa-use] visualPath[ssa-use] sName[ssa-use] tName[ssa-use] savedData[ssa-use] data[ssa-use] newId[ssa-use] newNodeData[ssa-use] newNode[ssa-use] this[ssa-use] consent[ssa-use] response[ssa-use] uc[ssa-use] b[ssa-use] logs[ssa-use] op[ssa-use] slug[ssa-use] date[ssa-use] briefSnippet[ssa-use] title[ssa-use] brief[ssa-use] map[ssa-use] modal[ssa-use] statusText[ssa-use] overlay[ssa-use] statusIndicator[ssa-use] playerCount[ssa-use] maxCapacity[ssa-use] graphContainer[ssa-use] range[ssa-use] dataPoints[ssa-use] maxVal[ssa-use] nowTime[ssa-use] lookback[ssa-use] endTime[ssa-use] v[ssa-use] curX[ssa-use] curY[ssa-use] prevP[ssa-use] timeDiff[ssa-use] vEl[ssa-use] val[ssa-use] time[ssa-use] tEl[ssa-use] feeds[ssa-use] allCandidates[ssa-use] events[ssa-use] opTime[ssa-use] eventTimes[ssa-use] ev[ssa-use] evTime[ssa-use] latestOp[ssa-use] today[ssa-use] createdDate[ssa-use] dateStr[ssa-use] durationStr[ssa-use] opTitle[ssa-use] cleanLocation[ssa-use] onlineCounts[ssa-use] SERVER_ID[ssa-use] startTime[ssa-use] latency[ssa-use] signalStrengths[ssa-use] timeHex[ssa-use] linkIds[ssa-use] error[ssa-use] btns[ssa-use] updateDiscordStatus[ssa-use] clock[ssa-use] now[ssa-use] updateClock[ssa-use] preferences[ssa-use] stored[ssa-use] getConsent[ssa-use] currentConsent[ssa-use] prefs[ssa-use] js[ssa-use] globals[ssa-use] end[ssa-use] $activeOps[ssa-use] $intIcon[ssa-use] $mapIntel[ssa-use] $mapUksf[ssa-use] $id[ssa-use] $icon[ssa-use] mapIntel[ssa-use] mapUksf[ssa-use] btnIntel[ssa-use] btnUksf[ssa-use] statusId[ssa-use] statusGrid[ssa-use] $unit[ssa-use] res[ssa-use] countEl[ssa-use] campaigns[ssa-use] err[ssa-use] editor[ssa-use] text[ssa-use] msgUint8[ssa-use] hashBuffer[ssa-use] hashArray[ssa-use] urlParams[ssa-use] isAuthenticated[ssa-use] opt[ssa-use] targetUnit[ssa-use] selector[ssa-use] site[ssa-use] $tfa_logo[ssa-use] len[ssa-use] $map[ssa-use] $b[ssa-use] $primary[ssa-use] $name[ssa-use] $label[ssa-use] $node[ssa-use] visible[ssa-use] u[ssa-use] zA[ssa-use] P[ssa-use] N[ssa-use] S[ssa-use] A[ssa-use] E[ssa-use] K[ssa-use] k[ssa-use] J[ssa-use] _[ssa-use] j[ssa-use] H[ssa-use] U[ssa-use] D[ssa-use] it[ssa-use] st[ssa-use] $[ssa-use] Z[ssa-use] F[ssa-use] R[ssa-use] O[ssa-use] B[ssa-use] X[ssa-use] nt[ssa-use] ht[ssa-use] W[ssa-use] tt[ssa-use] C[ssa-use] L[ssa-use] super[ssa-use] V2[ssa-use] D8[ssa-use] J2[ssa-use] F2[ssa-use] Q8[ssa-use] _2[ssa-use] z8[ssa-use] oc[ssa-use] P2[ssa-use] dc[ssa-use] args[ssa-use] fa[ssa-use] yr[ssa-use] mh[ssa-use] ph[ssa-use] Dh[ssa-use] Rh[ssa-use] Mh[ssa-use] er[ssa-use] V3[ssa-use] Z3[ssa-use] q3[ssa-use] I3[ssa-use] K3[ssa-use] k3[ssa-use] J3[ssa-use] F3[ssa-use] W3[ssa-use] _3[ssa-use] P3[ssa-use] $3[ssa-use] t5[ssa-use] e5[ssa-use] n5[ssa-use] rt[ssa-use] ot[ssa-use] Ft[ssa-use] et[ssa-use] gt[ssa-use] Qt[ssa-use] On[ssa-use] wn[ssa-use] ra[ssa-use] Ba[ssa-use] Rn[ssa-use] Qa[ssa-use] Bi[ssa-use] Ua[ssa-use] q2[ssa-use] a8[ssa-use] O3[ssa-use] w3[ssa-use] H3[ssa-use] Q3[ssa-use] z3[ssa-use] R3[ssa-use] D3[ssa-use] N3[ssa-use] B3[ssa-use] S5[ssa-use] j8[ssa-use] v3[ssa-use] UA[ssa-use] g[ssa-use] I[ssa-use] G[ssa-use] Y[ssa-use] T[ssa-use] z[ssa-use] V[ssa-use] Em[ssa-use] Mn[ssa-use] en[ssa-use] Nl[ssa-use] de[ssa-use] ha[ssa-use] Bl[ssa-use] Bc[ssa-use] Ji[ssa-use] Hm[ssa-use] Bm[ssa-use] Um[ssa-use] zm[ssa-use] Lm[ssa-use] qm[ssa-use] Km[ssa-use] km[ssa-use] Fm[ssa-use] _m[ssa-use] $m[ssa-use] Ql[ssa-use] zc[ssa-use] ho[ssa-use] Qc[ssa-use] og[ssa-use] ma[ssa-use] ga[ssa-use] Vc[ssa-use] M[ssa-use] Q[ssa-use] q[ssa-use] ut[ssa-use] lt[ssa-use] At[ssa-use] pt[ssa-use] Tt[ssa-use] St[ssa-use] $n[ssa-use] HA[ssa-use] Zo[ssa-use] ft[ssa-use] at[ssa-use] Mt[ssa-use] mu[ssa-use] Lt[ssa-use] Ss[ssa-use] Os[ssa-use] f0[ssa-use] vs[ssa-use] p0[ssa-use] E0[ssa-use] A0[ssa-use] v0[ssa-use] b0[ssa-use] h0[ssa-use] _o[ssa-use] O0[ssa-use] r0[ssa-use] w0[ssa-use] g0[ssa-use] d0[ssa-use] cf[ssa-use] sf[ssa-use] qe[ssa-use] Wg[ssa-use] _g[ssa-use] hg[ssa-use] mg[ssa-use] gg[ssa-use] oA[ssa-use] dA[ssa-use] hA[ssa-use] mA[ssa-use] gA[ssa-use] AA[ssa-use] yA[ssa-use] vA[ssa-use] EA[ssa-use] R1[ssa-use] _u[ssa-use] jA[ssa-use] G5[ssa-use] $5[ssa-use] B2[ssa-use] N5[ssa-use] Rr[ssa-use] defineConfig[ssa-use] devices[ssa-use] module[ssa-use] require[ssa-use] color[ssa-use] msg[ssa-use] rawRuns[ssa-use] runs[ssa-use] run[ssa-use] conclusion[ssa-use] checkRunnerHealth[ssa-use] envPath[ssa-use] line[ssa-use] key[ssa-use] value[ssa-use] buf[ssa-use] crc[ssa-use] crcBuf[ssa-use] payload[ssa-use] header[ssa-use] login[ssa-use] read[ssa-use] players[ssa-use] maxPlayers[ssa-use] options[ssa-use] chunk[ssa-use] url[ssa-use] result[ssa-use] prev[ssa-use] isS[ssa-use] manifest[ssa-use] staticDir[ssa-use] telemetry[ssa-use] main[ssa-use] fileURLToPath[ssa-use] __filename[ssa-use] __dirname[ssa-use] dirents[ssa-use] dirent[ssa-use] files[ssa-use] contentDir[ssa-use] acc[ssa-use] stats[ssa-use] commitHash[ssa-use] execSync[ssa-use] totalSize[ssa-use] fileCount[ssa-use] sizeMB[ssa-use] sizeKB[ssa-use] dataFile[ssa-use] filePath[ssa-use] rawIssues[ssa-use] existingIssues[ssa-use] findings[ssa-use] createOutput[ssa-use] issueNumber[ssa-use] branchName[ssa-use] envContent[ssa-use] secrets[ssa-use] secret[ssa-use] runHistoryAudit[ssa-use] runSecurityAudit[ssa-use] req[ssa-use] members[ssa-use] memberRoles[ssa-use] unitKeywords[ssa-use] match[ssa-use] unitMatch[ssa-use] topRole[ssa-use] isIC[ssa-use] is2IC[ssa-use] personnel[ssa-use] command[ssa-use] client[ssa-use] section[ssa-use] content[ssa-use] regex[ssa-use] config[ssa-use] ucId[ssa-use] ucToken[ssa-use] discordId[ssa-use] serverProcess[ssa-use] code[ssa-use] express[ssa-use] app[ssa-use] cors[ssa-use] path[ssa-use] fs[ssa-use] mdContent[ssa-use] page[ssa-use] onboarding[ssa-use] browser[ssa-use] assert[ssa-use] epsilon[ssa-use] isTrue[ssa-use] isFalse[ssa-use] isZero[ssa-use] isNotZero[ssa-use] greater[ssa-use] lesser[ssa-use] inDelta[ssa-use] include[ssa-use] notInclude[ssa-use] deepInclude[ssa-use] isEmpty[ssa-use] isNotEmpty[ssa-use] lengthOf[ssa-use] isArray[ssa-use] isObject[ssa-use] isNumber[ssa-use] isBoolean[ssa-use] isNaN[ssa-use] isNull[ssa-use] isNotNull[ssa-use] isUndefined[ssa-use] isDefined[ssa-use] isString[ssa-use] isFunction[ssa-use] typeOf[ssa-use] instanceOf[ssa-use] exports[ssa-use] internal[ssa-use] eql[ssa-use] buffer[ssa-use] BuffType[ssa-use] SlowBuffType[ssa-use] child_process[ssa-use] cluster[ssa-use] constants[ssa-use] crypto[ssa-use] RemoteInfo[ssa-use] AddressInfo[ssa-use] BindOptions[ssa-use] SocketOptions[ssa-use] dgram[ssa-use] dns[ssa-use] domain[ssa-use] Stats[ssa-use] FSWatcher[ssa-use] Constants[ssa-use] http[ssa-use] https[ssa-use] Module[ssa-use] net[ssa-use] os[ssa-use] punycode[ssa-use] ucs2[ssa-use] querystring[ssa-use] readline[ssa-use] repl[ssa-use] string_decoder[ssa-use] util[ssa-use] timers[ssa-use] tls[ssa-use] CLIENT_RENEG_WINDOW[ssa-use] CLIENT_RENEG_LIMIT[ssa-use] tty[ssa-use] HeapSpaceInfo[ssa-use] v8[ssa-use] vm[ssa-use] zlibthis [capture node]header [capture node]currentPath [capture node]e [capture node]d [capture node]s [capture node]g [capture node]l [capture node]u [capture node]o [capture node]p [capture node]c [capture node]a [capture node]i [capture node]v [capture node]n [capture node]t [capture node]path [capture node]coords [capture node]nearestSide [capture node]minDist [capture node]p2 [capture node]nearest [capture node]dx [capture node]dy [capture node]sbRect [capture node]movedNames [capture node]list [capture node]actualIndex [capture node]newNode [capture node]toast [capture node]isActive [capture node]src [capture node]affectedNames [capture node]group [capture node]opId [capture node]width [capture node]height [capture node]safeMax [capture node]startTime [capture node]timeRange [capture node]getX [capture node]getY [capture node]points [capture node]pathData [capture node]areaPath [capture node]maxGap [capture node]uc [capture node]bestOp [capture node]absoluteLatestTime [capture node]html [capture node]integrity [capture node]countStr [capture node]netId [capture node]range [capture node]prefs [capture node]london [capture node]utc [capture node]btn [capture node]originalText [capture node]code [capture node]hashHex [capture node]HQ_AUTH_KEY [capture node]CTF_KEYWORDS [capture node]filters [capture node]cards [capture node]countDisplay [capture node]updateCount [capture node]filter [capture node]f [capture node]r [capture node]h [capture node]y [capture node]A [capture node]E [capture node]S [capture node]O [capture node]X [capture node]B [capture node]b [capture node]k [capture node]Ee [capture node]F [capture node]D [capture node]N [capture node]P [capture node]ht [capture node]j [capture node]K [capture node]J [capture node]nt [capture node]st [capture node]it [capture node]H [capture node]_ [capture node]$ [capture node]L [capture node]C [capture node]rt [capture node]W [capture node]x [capture node]R [capture node]U [capture node]Z [capture node]T [capture node]z [capture node]V [capture node]I [capture node]Y [capture node]G [capture node]at [capture node]ft [capture node]Mt [capture node]M [capture node]failureCount [capture node]resolve [capture node]client [capture node]timeout [capture node]players [capture node]reject [capture node]A2S_INFO [capture node]send [capture node]msg [capture node]offset [capture node]url [capture node]headers [capture node]res [capture node]data [capture node]dir [capture node]findings [capture node]issue [capture node]finding [capture node]leaksFound [capture node]roles [capture node]m [capture node]upperRole [capture node]options [capture node]req [capture node]start [capture node]attempt [capture node]intentionalKill [capture node]command [capture node]SSA phi(s) [capture node]SSA phi(h) [capture node]SSA phi read(y) [capture node]SSA phi read(o) [capture node]SSA phi read(c) [capture node]SSA phi read(h) [capture node]SSA phi read(M) [capture node]SSA phi read(t) [capture node]SSA phi read(d) [capture node]SSA phi read(l) [capture node]SSA phi read(v) [capture node]SSA phi read(r) [capture node]SSA phi read(O) [capture node]SSA phi read(u) [capture node]SSA phi read(x) [capture node]SSA phi read(this) [capture node][ssa-synth-read] o[ssa-synth-read] t[ssa-synth-read] imgDiv[ssa-synth-read] opTime[ssa-synth-read] Z[ssa-synth-read] D[ssa-synth-read] N[ssa-synth-read] K[ssa-synth-read] k[ssa-synth-read] P[ssa-synth-read] it[ssa-synth-read] $[ssa-synth-read] B[ssa-synth-read] R[ssa-synth-read] nt[ssa-synth-read] st[ssa-synth-read] H[ssa-synth-read] _[ssa-synth-read] tt[ssa-synth-read] L[ssa-synth-read] W[ssa-synth-read] j[ssa-synth-read] J[ssa-synth-read] p[ssa-synth-read] x[ssa-synth-read] U[ssa-synth-read] F[ssa-synth-read] r[ssa-synth-read] h[ssa-synth-read] l[ssa-synth-read] O[ssa-synth-read] c[ssa-synth-read] f[ssa-synth-read] y[ssa-synth-read] A[ssa-synth-read] S[ssa-synth-read] X[ssa-synth-read] b[ssa-synth-read] u[ssa-synth-read] v[ssa-synth-read] wn[ssa-synth-read] Ba[ssa-synth-read] ot[ssa-synth-read] C[ssa-synth-read] rt[ssa-synth-read] zc[ssa-synth-read] e[ssa-synth-read] n[ssa-synth-read] a[ssa-synth-read] d[ssa-synth-read] i[ssa-synth-read] V[ssa-synth-read] s[ssa-synth-read] ut[ssa-synth-read] St[ssa-synth-read] lt[ssa-synth-read] At[ssa-synth-read] w[ssa-synth-read] Tt[ssa-synth-read] Q[ssa-synth-read] g[ssa-synth-read] I[ssa-synth-read] T[ssa-synth-read] z[ssa-synth-read] G[ssa-synth-read] ft[ssa-synth-read] Mt[ssa-synth-read] at[ssa-synth-read] M[ssa-synth-read] q[ssa-synth-read] Y[ssa-synth-read] E[ssa-synth-read] crc[ssa-synth-read] end[ssa-synth-read] gt[ssa-synth-read] this[ssa-synth-read] cpDist[ssa-synth-read] cp1[ssa-synth-read] cp2[ssa-synth-read] underMouse[ssa-synth-read] nodeWrapper[ssa-synth-read] dx[ssa-synth-read] dy[ssa-synth-read] state[ssa-synth-read] count[ssa-synth-read] linkCount[ssa-synth-read] op[ssa-synth-read] graphContainer[ssa-synth-read] source[ssa-synth-read] range[ssa-synth-read] dataPoints[ssa-synth-read] ev[ssa-synth-read] latestOp[ssa-synth-read] onlineCounts[ssa-synth-read] signalStrengths[ssa-synth-read] targetUnit[ssa-synth-read] selector[ssa-synth-read] card[ssa-synth-read] P2[ssa-synth-read] ht[ssa-synth-read] Ft[ssa-synth-read] et[ssa-synth-read] arguments[ssa-synth-read] en[ssa-synth-read] Ql[ssa-synth-read] qe[ssa-synth-read] pt[ssa-synth-read] $n[ssa-synth-read] buf[ssa-synth-read] msg[ssa-synth-read] res[ssa-synth-read] data[ssa-synth-read] isS[ssa-synth-read] result[ssa-synth-read] staticDir[ssa-synth-read] findings[ssa-synth-read] existingIssues[ssa-synth-read] is2IC[ssa-synth-read] unitKeywords[ssa-synth-read] serverProcess[summary param] 0 in JSON.stringify[summary param] 0 in URL[summary param] 0 in URLSearchParams[summary param] 0 in Promise.resolve()[summary param] 0.. in Array.of[summary param] this in getAll[summary param] 0 in async.IteratorCall(callbackArgIndex=1)[summary param] 1 in async.IteratorCall(callbackArgIndex=1)[summary param] 0 in async.IteratorCall(callbackArgIndex=2)[summary param] 2 in async.IteratorCall(callbackArgIndex=2)[summary param] 0 in async.IteratorCall(callbackArgIndex=3)[summary param] 3 in async.IteratorCall(callbackArgIndex=3)[summary param] this in Array#flat(1)[summary param] this in Array#flat(2)[summary param] this in Array#flat(3)[summary param] 0.. in ArrayCopyingPackage[summary param] 0 in ArrayCoercionPackage[summary param] 0.. in ArrayFlatteningPackage[summary param] this in Array method with flow into callback[summary param] 0 in Array method with flow into callback[summary param] 1 in Array method with flow into callback[summary param] this in Array#reverse / Array#toReversed[summary param] this in Array#reduce / Array#reduceRight[summary param] 0 in Array#reduce / Array#reduceRight[summary param] 1 in Array#reduce / Array#reduceRight[summary param] this in Array#values / Map#values / Set#values[summary param] this in String#split[summary param] this in Array#concat / String#concat / Buffer.concat[summary param] 0.. in Array#concat / String#concat / Buffer.concat[summary param] this in Promise#then() with 2 arguments[summary param] 0 in Promise#then() with 2 arguments[summary param] 1 in Promise#then() with 2 arguments[summary param] this in Array#sort / Array#toSorted[summary param] 0 in Array#sort / Array#toSorted[summary param] this in Array#forEach / Map#forEach / Set#forEach[summary param] 0 in Array#forEach / Map#forEach / Set#forEach[summary param] 1 in Array#forEach / Map#forEach / Set#forEach[summary param] this in Array#find / Array#findLast[summary param] 0 in Array#find / Array#findLast[summary param] 1 in Array#find / Array#findLast[summary param] this in Array#keys / Map#keys / Set#keys[summary param] this in Promise#then() with 1 argument[summary param] 0 in Promise#then() with 1 argument[summary param] this in Array#push / Array#unshift[summary param] 0.. in Array#push / Array#unshift[summary param] this in Array#slice / String#slice[summary param] this in Iterator#next[summary param] this in Array#join[summary param] this in Map#set[summary param] this in Set#add[summary param] 0 in Set#add[summary param] this in Array#at / String#at[summary param] this in Array#flatMap[summary param] 0 in Array#flatMap[summary param] 1 in Array#flatMap[summary param] this in Promise#catch()[summary param] 0 in Promise#catch()[summary param] this in Array#splice[summary param] 2.. in Array#splice[summary param] this in Array#filter[summary param] 0 in Array#filter[summary param] 1 in Array#filter[summary param] this in Array#shift[summary param] this in Array#pop[summary param] this in Array#map[summary param] 0 in Array#map[summary param] 1 in Array#map[summary param] this in TypedArray#subarray[summary param] this in Object#toString / Array#toString[summary param] 0 in Set constructor[summary param] 0 in Map constructor[summary param] 0 in Array.from(arg)[summary param] 0.. in String#fromCharCode[summary param] 0 in _.map[summary param] 1 in _.map[summary param] 0 in _.tap[summary param] 1 in _.tap[summary param] this in Map#get[summary param] 0 in _.flatMap[summary param] 1 in _.flatMap[summary param] 0 in _.groupBy[summary param] 1 in _.groupBy[summary param] this in Array#fill[summary param] 0.. in Array#fill[summary param] this in Array#with[summary param] 1 in Array#with[summary param] 0 in Map#groupBy[summary param] 1 in Map#groupBy[summary param] 0 in _.each-like[summary param] 1 in _.each-like[summary param] 0 in _.mapObject[summary param] 1 in _.mapObject[summary param] 0 in _.partition[summary param] 1 in _.partition[summary param] 0 in async.sortBy[summary param] 2 in async.sortBy[summary param] 0 in Promise.all()[summary param] 0 in Promise.try()[summary param] 1 in Promise.try()[summary param] 2 in Promise.try()[summary param] 3 in Promise.try()[summary param] 4 in Promise.try()[summary param] 5 in Promise.try()[summary param] 6 in Promise.try()[summary param] 7 in Promise.try()[summary param] 8 in Promise.try()[summary param] 9 in Promise.try()[summary param] 10 in Promise.try()[summary param] 11 in Promise.try()[summary param] 0 in _.flatMapDeep[summary param] 1 in _.flatMapDeep[summary param] 0 in _.reduce-like[summary param] 1 in _.reduce-like[summary param] 2 in _.reduce-like[summary param] 0 in _.sortBy-like[summary param] 1 in _.sortBy-like[summary param] 0 in new Promise()[summary param] this in TypedArray#set[summary param] 0 in TypedArray#set[summary param] this in Array#toSpliced[summary param] 2.. in Array#toSpliced[summary param] this in Array#copyWithin[summary param] 0 in Promise.reject()[summary param] 0.. in Array constructor[summary param] this in Promise#finally()[summary param] 0 in Promise#finally()[summary param] 0 in _.minBy / _.maxBy[summary param] 1 in _.minBy / _.maxBy[summary param] 0 in TextDecoder#decode[summary param] 0 in bluebird.mapSeries[summary param] 1 in bluebird.mapSeries[summary param] this in ArrayBuffer#transfer[summary param] 0.. in Exception propagator[summary param] 0 in Promise.allSettled()[summary param] 0 in TypedArray constructor[summary param] 0 in new Promise() workaround[summary param] this in String#split with '#' or '?'[summary param] 0 in query-string stringification[summary param] function in new Promise() reject callback[summary param] 0 in new Promise() reject callback[summary param] function in new Promise() resolve callback[summary param] 0 in new Promise() resolve callback[summary param] 0 in Promise.any() or Promise.race()[summary param] 0 in Array.from(arg, callback, [thisArg])[summary param] 1 in Array.from(arg, callback, [thisArg])[summary param] 2 in Array.from(arg, callback, [thisArg])[summary param] 0 in 'array.prototype.find' / 'array-find'[summary param] 1 in 'array.prototype.find' / 'array-find'[summary param] 2 in 'array.prototype.find' / 'array-find'[summary param] this in String#replace / String#replaceAll (with wildcard pattern)[summary param] 1 in String#replace / String#replaceAll (with wildcard pattern)[summary param] this in String#replace / String#replaceAll (without wildcard pattern)[summary param] 1 in String#replace / String#replaceAll (without wildcard pattern)[summary] to write: ReturnValue in JSON.stringify[summary] read: Argument[0].AnyMemberDeep in JSON.stringify[summary] to write: ReturnValue in URL[summary] to write: ReturnValue.Member[search] in URL[summary] to write: ReturnValue.Member[hash] in URL[summary] to write: ReturnValue.Member[searchParams] in URL[summary] to write: ReturnValue.Member[searchParams].MapValue in URL[summary] to write: ReturnValue.Member[searchParams].MapKey in URL[summary] to write: ReturnValue in URLSearchParams[summary] to write: ReturnValue.MapValue in URLSearchParams[summary] to write: ReturnValue.MapKey in URLSearchParams[summary] to write: ReturnValue in Promise.resolve()[summary] to write: ReturnValue.Awaited in Promise.resolve()[summary] to write: ReturnValue in Array.of[summary] to write: ReturnValue.ArrayElement in Array.of[summary] to write: ReturnValue in getAll[summary] to write: ReturnValue.ArrayElement in getAll[summary] read: Argument[this].MapValue in getAll[summary] to write: Argument[0] in async.IteratorCall(callbackArgIndex=1)[summary] to write: Argument[1].Parameter[function] in async.IteratorCall(callbackArgIndex=1)[summary] to write: Argument[1].Parameter[0] in async.IteratorCall(callbackArgIndex=1)[summary] to write: Argument[0].ArrayElement in async.IteratorCall(callbackArgIndex=1)[summary] to write: Argument[0].AnyMember in async.IteratorCall(callbackArgIndex=1)[summary] to write: Argument[0].IteratorElement in async.IteratorCall(callbackArgIndex=1)[summary] to write: Argument[0].SetElement in async.IteratorCall(callbackArgIndex=1)[summary] read: Argument[1].Parameter[function] in async.IteratorCall(callbackArgIndex=1)[summary] read: Argument[1].Parameter[0] in async.IteratorCall(callbackArgIndex=1)[summary] read: Argument[0].ArrayElement in async.IteratorCall(callbackArgIndex=1)[summary] read: Argument[0].AnyMember in async.IteratorCall(callbackArgIndex=1)[summary] read: Argument[0].IteratorElement in async.IteratorCall(callbackArgIndex=1)[summary] read: Argument[0].SetElement in async.IteratorCall(callbackArgIndex=1)[summary] to write: Argument[0] in async.IteratorCall(callbackArgIndex=2)[summary] to write: Argument[2].Parameter[function] in async.IteratorCall(callbackArgIndex=2)[summary] to write: Argument[2].Parameter[0] in async.IteratorCall(callbackArgIndex=2)[summary] to write: Argument[0].ArrayElement in async.IteratorCall(callbackArgIndex=2)[summary] to write: Argument[0].AnyMember in async.IteratorCall(callbackArgIndex=2)[summary] to write: Argument[0].IteratorElement in async.IteratorCall(callbackArgIndex=2)[summary] to write: Argument[0].SetElement in async.IteratorCall(callbackArgIndex=2)[summary] read: Argument[2].Parameter[function] in async.IteratorCall(callbackArgIndex=2)[summary] read: Argument[2].Parameter[0] in async.IteratorCall(callbackArgIndex=2)[summary] read: Argument[0].ArrayElement in async.IteratorCall(callbackArgIndex=2)[summary] read: Argument[0].AnyMember in async.IteratorCall(callbackArgIndex=2)[summary] read: Argument[0].IteratorElement in async.IteratorCall(callbackArgIndex=2)[summary] read: Argument[0].SetElement in async.IteratorCall(callbackArgIndex=2)[summary] to write: Argument[0] in async.IteratorCall(callbackArgIndex=3)[summary] to write: Argument[3].Parameter[function] in async.IteratorCall(callbackArgIndex=3)[summary] to write: Argument[3].Parameter[0] in async.IteratorCall(callbackArgIndex=3)[summary] to write: Argument[0].ArrayElement in async.IteratorCall(callbackArgIndex=3)[summary] to write: Argument[0].AnyMember in async.IteratorCall(callbackArgIndex=3)[summary] to write: Argument[0].IteratorElement in async.IteratorCall(callbackArgIndex=3)[summary] to write: Argument[0].SetElement in async.IteratorCall(callbackArgIndex=3)[summary] read: Argument[3].Parameter[function] in async.IteratorCall(callbackArgIndex=3)[summary] read: Argument[3].Parameter[0] in async.IteratorCall(callbackArgIndex=3)[summary] read: Argument[0].ArrayElement in async.IteratorCall(callbackArgIndex=3)[summary] read: Argument[0].AnyMember in async.IteratorCall(callbackArgIndex=3)[summary] read: Argument[0].IteratorElement in async.IteratorCall(callbackArgIndex=3)[summary] read: Argument[0].SetElement in async.IteratorCall(callbackArgIndex=3)[summary] to write: ReturnValue in Array#flat(1)[summary] to write: ReturnValue.ArrayElement in Array#flat(1)[summary] read: Argument[this].ArrayElement in Array#flat(1)[summary] read: Argument[this].ArrayElement.ArrayElement in Array#flat(1)[summary] to write: ReturnValue in Array#flat(2)[summary] to write: ReturnValue.ArrayElement in Array#flat(2)[summary] read: Argument[this].ArrayElement in Array#flat(2)[summary] read: Argument[this].ArrayElement.ArrayElement in Array#flat(2)[summary] read: Argument[this].ArrayElement.ArrayElement.ArrayElement in Array#flat(2)[summary] read: Argument[this].ArrayElement.ArrayElement.WithoutArrayElement in Array#flat(2)[summary] to write: ReturnValue in Array#flat(3)[summary] to write: ReturnValue.ArrayElement in Array#flat(3)[summary] read: Argument[this].ArrayElement in Array#flat(3)[summary] read: Argument[this].ArrayElement.ArrayElement in Array#flat(3)[summary] read: Argument[this].ArrayElement.ArrayElement.ArrayElement in Array#flat(3)[summary] read: Argument[this].ArrayElement.ArrayElement.WithoutArrayElement in Array#flat(3)[summary] read: Argument[this].ArrayElement.ArrayElement.ArrayElement.ArrayElement in Array#flat(3)[summary] read: Argument[this].ArrayElement.ArrayElement.ArrayElement.WithoutArrayElement in Array#flat(3)[summary] to write: ReturnValue in ArrayCopyingPackage[summary] to write: ReturnValue.ArrayElement in ArrayCopyingPackage[summary] read: Argument[0..].ArrayElement in ArrayCopyingPackage[summary] to write: ReturnValue in ArrayCoercionPackage[summary] to write: ReturnValue.ArrayElement in ArrayCoercionPackage[summary] read: Argument[0].WithoutArrayElement in ArrayCoercionPackage[summary] read: Argument[0].WithArrayElement in ArrayCoercionPackage[summary] to write: ReturnValue in ArrayFlatteningPackage[summary] to write: Argument[this] in Array method with flow into callback[summary] to write: Argument[1] in Array method with flow into callback[summary] to write: Argument[0].Parameter[function] in Array method with flow into callback[summary] to write: Argument[0].Parameter[this] in Array method with flow into callback[summary] to write: Argument[0].Parameter[0] in Array method with flow into callback[summary] to write: Argument[this].ArrayElement in Array method with flow into callback[summary] read: Argument[0].Parameter[function] in Array method with flow into callback[summary] read: Argument[0].Parameter[this] in Array method with flow into callback[summary] read: Argument[0].Parameter[0] in Array method with flow into callback[summary] read: Argument[this].ArrayElement in Array method with flow into callback[summary] to write: ReturnValue in Array#reverse / Array#toReversed[summary] to write: ReturnValue.ArrayElement in Array#reverse / Array#toReversed[summary] read: Argument[this].ArrayElement in Array#reverse / Array#toReversed[summary] to write: Argument[this] in Array#reduce / Array#reduceRight[summary] to write: Argument[1] in Array#reduce / Array#reduceRight[summary] to write: ReturnValue in Array#reduce / Array#reduceRight[summary] to write: Argument[0].Parameter[function] in Array#reduce / Array#reduceRight[summary] to write: Argument[0].Parameter[0] in Array#reduce / Array#reduceRight[summary] to write: Argument[0].Parameter[1] in Array#reduce / Array#reduceRight[summary] to write: Argument[0].Parameter[3] in Array#reduce / Array#reduceRight[summary] to write: Argument[this].ArrayElement in Array#reduce / Array#reduceRight[summary] read: Argument[0].Parameter[function] in Array#reduce / Array#reduceRight[summary] read: Argument[0].Parameter[0] in Array#reduce / Array#reduceRight[summary] read: Argument[0].Parameter[1] in Array#reduce / Array#reduceRight[summary] read: Argument[0].Parameter[3] in Array#reduce / Array#reduceRight[summary] read: Argument[0].ReturnValue in Array#reduce / Array#reduceRight[summary] read: Argument[this].ArrayElement in Array#reduce / Array#reduceRight[summary] to write: ReturnValue in Array#values / Map#values / Set#values[summary] to write: ReturnValue.IteratorElement in Array#values / Map#values / Set#values[summary] read: Argument[this].ArrayElement in Array#values / Map#values / Set#values[summary] read: Argument[this].MapValue in Array#values / Map#values / Set#values[summary] read: Argument[this].SetElement in Array#values / Map#values / Set#values[summary] to write: ReturnValue in String#split[summary] to write: ReturnValue.ArrayElement in String#split[summary] to write: ReturnValue in Array#concat / String#concat / Buffer.concat[summary] to write: ReturnValue.ArrayElement in Array#concat / String#concat / Buffer.concat[summary] read: Argument[this].ArrayElement in Array#concat / String#concat / Buffer.concat[summary] read: Argument[0..].ArrayElement in Array#concat / String#concat / Buffer.concat[summary] to write: Argument[this] in Promise#then() with 2 arguments[summary] to write: ReturnValue in Promise#then() with 2 arguments[summary] to write: Argument[0].Parameter[function] in Promise#then() with 2 arguments[summary] to write: Argument[1].Parameter[function] in Promise#then() with 2 arguments[summary] to write: Argument[0].Parameter[0] in Promise#then() with 2 arguments[summary] to write: Argument[1].Parameter[0] in Promise#then() with 2 arguments[summary] to write: ReturnValue.Awaited in Promise#then() with 2 arguments[summary] to write: Argument[this].Awaited[error] in Promise#then() with 2 arguments[summary] to write: ReturnValue.Awaited[error] in Promise#then() with 2 arguments[summary] to write: Argument[this].Awaited[value] in Promise#then() with 2 arguments[summary] read: Argument[0].Parameter[function] in Promise#then() with 2 arguments[summary] read: Argument[1].Parameter[function] in Promise#then() with 2 arguments[summary] read: Argument[0].Parameter[0] in Promise#then() with 2 arguments[summary] read: Argument[1].Parameter[0] in Promise#then() with 2 arguments[summary] read: Argument[0].ReturnValue in Promise#then() with 2 arguments[summary] read: Argument[1].ReturnValue in Promise#then() with 2 arguments[summary] read: Argument[0].ReturnValue[exception] in Promise#then() with 2 arguments[summary] read: Argument[1].ReturnValue[exception] in Promise#then() with 2 arguments[summary] read: Argument[this].Awaited[error] in Promise#then() with 2 arguments[summary] read: Argument[this].Awaited[value] in Promise#then() with 2 arguments[summary] to write: Argument[this] in Array#sort / Array#toSorted[summary] to write: ReturnValue in Array#sort / Array#toSorted[summary] to write: Argument[0].Parameter[function] in Array#sort / Array#toSorted[summary] to write: Argument[0].Parameter[0] in Array#sort / Array#toSorted[summary] to write: Argument[0].Parameter[1] in Array#sort / Array#toSorted[summary] to write: Argument[this].ArrayElement in Array#sort / Array#toSorted[summary] to write: ReturnValue.ArrayElement in Array#sort / Array#toSorted[summary] read: Argument[0].Parameter[function] in Array#sort / Array#toSorted[summary] read: Argument[0].Parameter[0] in Array#sort / Array#toSorted[summary] read: Argument[0].Parameter[1] in Array#sort / Array#toSorted[summary] read: Argument[this].ArrayElement in Array#sort / Array#toSorted[summary] to write: Argument[this] in Array#forEach / Map#forEach / Set#forEach[summary] to write: Argument[1] in Array#forEach / Map#forEach / Set#forEach[summary] to write: Argument[0].Parameter[function] in Array#forEach / Map#forEach / Set#forEach[summary] to write: Argument[0].Parameter[this] in Array#forEach / Map#forEach / Set#forEach[summary] to write: Argument[0].Parameter[0] in Array#forEach / Map#forEach / Set#forEach[summary] to write: Argument[0].Parameter[1] in Array#forEach / Map#forEach / Set#forEach[summary] to write: Argument[0].Parameter[2] in Array#forEach / Map#forEach / Set#forEach[summary] to write: Argument[this].ArrayElement in Array#forEach / Map#forEach / Set#forEach[summary] to write: Argument[this].MapValue in Array#forEach / Map#forEach / Set#forEach[summary] to write: Argument[this].SetElement in Array#forEach / Map#forEach / Set#forEach[summary] to write: Argument[this].MapKey in Array#forEach / Map#forEach / Set#forEach[summary] read: Argument[0].Parameter[function] in Array#forEach / Map#forEach / Set#forEach[summary] read: Argument[0].Parameter[this] in Array#forEach / Map#forEach / Set#forEach[summary] read: Argument[0].Parameter[0] in Array#forEach / Map#forEach / Set#forEach[summary] read: Argument[0].Parameter[1] in Array#forEach / Map#forEach / Set#forEach[summary] read: Argument[0].Parameter[2] in Array#forEach / Map#forEach / Set#forEach[summary] read: Argument[this].ArrayElement in Array#forEach / Map#forEach / Set#forEach[summary] read: Argument[this].MapValue in Array#forEach / Map#forEach / Set#forEach[summary] read: Argument[this].SetElement in Array#forEach / Map#forEach / Set#forEach[summary] read: Argument[this].MapKey in Array#forEach / Map#forEach / Set#forEach[summary] to write: Argument[this] in Array#find / Array#findLast[summary] to write: Argument[1] in Array#find / Array#findLast[summary] to write: ReturnValue in Array#find / Array#findLast[summary] to write: Argument[0].Parameter[function] in Array#find / Array#findLast[summary] to write: Argument[0].Parameter[this] in Array#find / Array#findLast[summary] to write: Argument[0].Parameter[0] in Array#find / Array#findLast[summary] to write: Argument[this].ArrayElement in Array#find / Array#findLast[summary] read: Argument[0].Parameter[function] in Array#find / Array#findLast[summary] read: Argument[0].Parameter[this] in Array#find / Array#findLast[summary] read: Argument[0].Parameter[0] in Array#find / Array#findLast[summary] read: Argument[this].ArrayElement in Array#find / Array#findLast[summary] to write: ReturnValue in Array#keys / Map#keys / Set#keys[summary] to write: ReturnValue.IteratorElement in Array#keys / Map#keys / Set#keys[summary] read: Argument[this].SetElement in Array#keys / Map#keys / Set#keys[summary] read: Argument[this].MapKey in Array#keys / Map#keys / Set#keys[summary] to write: Argument[this] in Promise#then() with 1 argument[summary] to write: ReturnValue in Promise#then() with 1 argument[summary] to write: Argument[0].Parameter[function] in Promise#then() with 1 argument[summary] to write: Argument[0].Parameter[0] in Promise#then() with 1 argument[summary] to write: ReturnValue.Awaited in Promise#then() with 1 argument[summary] to write: ReturnValue.Awaited[error] in Promise#then() with 1 argument[summary] to write: Argument[this].Awaited[value] in Promise#then() with 1 argument[summary] read: Argument[0].Parameter[function] in Promise#then() with 1 argument[summary] read: Argument[0].Parameter[0] in Promise#then() with 1 argument[summary] read: Argument[0].ReturnValue in Promise#then() with 1 argument[summary] read: Argument[0].ReturnValue[exception] in Promise#then() with 1 argument[summary] read: Argument[this].Awaited[value] in Promise#then() with 1 argument[summary] read: Argument[this].WithAwaited[error] in Promise#then() with 1 argument[summary] to write: Argument[this] in Array#push / Array#unshift[summary] to write: Argument[this].ArrayElement in Array#push / Array#unshift[summary] to write: ReturnValue in Array#slice / String#slice[summary] to write: ReturnValue.ArrayElement in Array#slice / String#slice[summary] read: Argument[this].ArrayElement in Array#slice / String#slice[summary] to write: ReturnValue in Iterator#next[summary] to write: ReturnValue[exception] in Iterator#next[summary] to write: ReturnValue.Member[value] in Iterator#next[summary] read: Argument[this].IteratorError in Iterator#next[summary] read: Argument[this].IteratorElement in Iterator#next[summary] to write: ReturnValue in Array#join[summary] read: Argument[this].ArrayElement in Array#join[summary] to write: ReturnValue in Map#set[summary] read: Argument[this].WithMapValue in Map#set[summary] read: Argument[this].WithMapKey in Map#set[summary] to write: Argument[this] in Set#add[summary] to write: Argument[this].SetElement in Set#add[summary] to write: ReturnValue in Array#at / String#at[summary] read: Argument[this].ArrayElement in Array#at / String#at[summary] to write: Argument[this] in Array#flatMap[summary] to write: Argument[1] in Array#flatMap[summary] to write: ReturnValue in Array#flatMap[summary] to write: Argument[0].Parameter[function] in Array#flatMap[summary] to write: Argument[0].Parameter[0] in Array#flatMap[summary] to write: Argument[0].Parameter[1] in Array#flatMap[summary] to write: Argument[0].Parameter[2] in Array#flatMap[summary] to write: Argument[this].ArrayElement in Array#flatMap[summary] to write: ReturnValue.ArrayElement in Array#flatMap[summary] read: Argument[0].Parameter[function] in Array#flatMap[summary] read: Argument[0].Parameter[0] in Array#flatMap[summary] read: Argument[0].Parameter[1] in Array#flatMap[summary] read: Argument[0].Parameter[2] in Array#flatMap[summary] read: Argument[0].ReturnValue in Array#flatMap[summary] read: Argument[this].ArrayElement in Array#flatMap[summary] read: Argument[0].ReturnValue.ArrayElement in Array#flatMap[summary] read: Argument[0].ReturnValue.WithoutArrayElement in Array#flatMap[summary] to write: Argument[this] in Promise#catch()[summary] to write: ReturnValue in Promise#catch()[summary] to write: Argument[0].Parameter[function] in Promise#catch()[summary] to write: Argument[0].Parameter[0] in Promise#catch()[summary] to write: ReturnValue.Awaited in Promise#catch()[summary] to write: Argument[this].Awaited[error] in Promise#catch()[summary] to write: ReturnValue.Awaited[error] in Promise#catch()[summary] to write: ReturnValue.Awaited[value] in Promise#catch()[summary] read: Argument[0].Parameter[function] in Promise#catch()[summary] read: Argument[0].Parameter[0] in Promise#catch()[summary] read: Argument[0].ReturnValue in Promise#catch()[summary] read: Argument[0].ReturnValue[exception] in Promise#catch()[summary] read: Argument[this].Awaited[error] in Promise#catch()[summary] read: Argument[this].Awaited[value] in Promise#catch()[summary] to write: Argument[this] in Array#splice[summary] to write: ReturnValue in Array#splice[summary] to write: Argument[this].ArrayElement in Array#splice[summary] to write: ReturnValue.ArrayElement in Array#splice[summary] read: Argument[this].ArrayElement in Array#splice[summary] to write: Argument[this] in Array#filter[summary] to write: Argument[1] in Array#filter[summary] to write: ReturnValue in Array#filter[summary] to write: Argument[0].Parameter[function] in Array#filter[summary] to write: Argument[0].Parameter[this] in Array#filter[summary] to write: Argument[0].Parameter[0] in Array#filter[summary] to write: Argument[this].ArrayElement in Array#filter[summary] read: Argument[0].Parameter[function] in Array#filter[summary] read: Argument[0].Parameter[this] in Array#filter[summary] read: Argument[0].Parameter[0] in Array#filter[summary] read: Argument[this].ArrayElement in Array#filter[summary] read: Argument[this].WithArrayElement in Array#filter[summary] to write: ReturnValue in Array#shift[summary] read: Argument[this].ArrayElement[0] in Array#shift[summary] to write: ReturnValue in Array#pop[summary] read: Argument[this].ArrayElement in Array#pop[summary] to write: Argument[this] in Array#map[summary] to write: Argument[1] in Array#map[summary] to write: ReturnValue in Array#map[summary] to write: Argument[0].Parameter[function] in Array#map[summary] to write: Argument[0].Parameter[this] in Array#map[summary] to write: Argument[0].Parameter[0] in Array#map[summary] to write: Argument[0].Parameter[2] in Array#map[summary] to write: Argument[this].ArrayElement in Array#map[summary] to write: ReturnValue.ArrayElement in Array#map[summary] read: Argument[0].Parameter[function] in Array#map[summary] read: Argument[0].Parameter[this] in Array#map[summary] read: Argument[0].Parameter[0] in Array#map[summary] read: Argument[0].Parameter[2] in Array#map[summary] read: Argument[0].ReturnValue in Array#map[summary] read: Argument[this].ArrayElement in Array#map[summary] to write: ReturnValue in TypedArray#subarray[summary] to write: ReturnValue.ArrayElement in TypedArray#subarray[summary] read: Argument[this].ArrayElement in TypedArray#subarray[summary] to write: ReturnValue in Object#toString / Array#toString[summary] read: Argument[this].ArrayElementDeep in Object#toString / Array#toString[summary] to write: ReturnValue in Set constructor[summary] to write: ReturnValue.SetElement in Set constructor[summary] read: Argument[0].ArrayElement in Set constructor[summary] read: Argument[0].IteratorElement in Set constructor[summary] read: Argument[0].SetElement in Set constructor[summary] to write: ReturnValue in Map constructor[summary] read: Argument[0].WithMapValue in Map constructor[summary] read: Argument[0].WithMapKey in Map constructor[summary] to write: ReturnValue in Array.from(arg)[summary] to write: ReturnValue[exception] in Array.from(arg)[summary] to write: ReturnValue.ArrayElement in Array.from(arg)[summary] read: Argument[0].IteratorError in Array.from(arg)[summary] read: Argument[0].IteratorElement in Array.from(arg)[summary] read: Argument[0].SetElement in Array.from(arg)[summary] read: Argument[0].WithArrayElement in Array.from(arg)[summary] to write: ReturnValue in String#fromCharCode[summary] to write: Argument[0] in _.map[summary] to write: ReturnValue in _.map[summary] to write: Argument[1].Parameter[function] in _.map[summary] to write: Argument[1].Parameter[0] in _.map[summary] to write: Argument[0].ArrayElement in _.map[summary] to write: ReturnValue.ArrayElement in _.map[summary] read: Argument[1].Parameter[function] in _.map[summary] read: Argument[1].Parameter[0] in _.map[summary] read: Argument[1].ReturnValue in _.map[summary] read: Argument[0].ArrayElement in _.map[summary] to write: Argument[0] in _.tap[summary] to write: ReturnValue in _.tap[summary] to write: Argument[1].Parameter[function] in _.tap[summary] to write: Argument[1].Parameter[0] in _.tap[summary] read: Argument[1].Parameter[function] in _.tap[summary] read: Argument[1].Parameter[0] in _.tap[summary] to write: ReturnValue in Map#get[summary] read: Argument[this].MapValue in Map#get[summary] to write: Argument[0] in _.flatMap[summary] to write: ReturnValue in _.flatMap[summary] to write: Argument[1].Parameter[function] in _.flatMap[summary] to write: Argument[1].Parameter[0] in _.flatMap[summary] to write: Argument[0].ArrayElement in _.flatMap[summary] to write: ReturnValue.ArrayElement in _.flatMap[summary] read: Argument[1].Parameter[function] in _.flatMap[summary] read: Argument[1].Parameter[0] in _.flatMap[summary] read: Argument[1].ReturnValue in _.flatMap[summary] read: Argument[0].ArrayElement in _.flatMap[summary] read: Argument[1].ReturnValue.ArrayElement in _.flatMap[summary] read: Argument[1].ReturnValue.WithoutArrayElement in _.flatMap[summary] to write: ReturnValue in _.groupBy[summary] to write: Argument[1].Parameter[function] in _.groupBy[summary] to write: Argument[1].Parameter[0] in _.groupBy[summary] read: Argument[1].Parameter[function] in _.groupBy[summary] read: Argument[1].Parameter[0] in _.groupBy[summary] to write: Argument[this] in Array#fill[summary] to write: ReturnValue in Array#fill[summary] to write: Argument[this].ArrayElement in Array#fill[summary] to write: ReturnValue.ArrayElement in Array#fill[summary] to write: ReturnValue in Array#with[summary] to write: ReturnValue.ArrayElement in Array#with[summary] read: Argument[this].WithArrayElement in Array#with[summary] to write: Argument[0] in Map#groupBy[summary] to write: ReturnValue in Map#groupBy[summary] to write: Argument[1].Parameter[function] in Map#groupBy[summary] to write: Argument[1].Parameter[0] in Map#groupBy[summary] to write: Argument[0].ArrayElement in Map#groupBy[summary] to write: ReturnValue.MapValue in Map#groupBy[summary] to write: ReturnValue.MapKey in Map#groupBy[summary] to write: ReturnValue.MapValue.ArrayElement in Map#groupBy[summary] read: Argument[1].Parameter[function] in Map#groupBy[summary] read: Argument[1].Parameter[0] in Map#groupBy[summary] read: Argument[1].ReturnValue in Map#groupBy[summary] read: Argument[0].ArrayElement in Map#groupBy[summary] to write: Argument[0] in _.each-like[summary] to write: Argument[1].Parameter[function] in _.each-like[summary] to write: Argument[1].Parameter[0] in _.each-like[summary] to write: Argument[0].ArrayElement in _.each-like[summary] read: Argument[1].Parameter[function] in _.each-like[summary] read: Argument[1].Parameter[0] in _.each-like[summary] read: Argument[0].ArrayElement in _.each-like[summary] to write: Argument[0] in _.mapObject[summary] to write: ReturnValue in _.mapObject[summary] to write: Argument[1].Parameter[function] in _.mapObject[summary] to write: Argument[1].Parameter[1] in _.mapObject[summary] to write: Argument[0].AnyMember in _.mapObject[summary] to write: ReturnValue.AnyMember in _.mapObject[summary] read: Argument[1].Parameter[function] in _.mapObject[summary] read: Argument[1].Parameter[1] in _.mapObject[summary] read: Argument[1].ReturnValue in _.mapObject[summary] read: Argument[0].AnyMember in _.mapObject[summary] to write: Argument[0] in _.partition[summary] to write: ReturnValue in _.partition[summary] to write: Argument[1].Parameter[function] in _.partition[summary] to write: Argument[1].Parameter[1] in _.partition[summary] to write: Argument[0].ArrayElement in _.partition[summary] to write: ReturnValue.ArrayElement in _.partition[summary] to write: ReturnValue.ArrayElement.ArrayElement in _.partition[summary] read: Argument[1].Parameter[function] in _.partition[summary] read: Argument[1].Parameter[1] in _.partition[summary] read: Argument[0].ArrayElement in _.partition[summary] to write: Argument[2].Parameter[function] in async.sortBy[summary] to write: Argument[2].Parameter[1] in async.sortBy[summary] read: Argument[2].Parameter[function] in async.sortBy[summary] read: Argument[2].Parameter[1] in async.sortBy[summary] read: Argument[0].ArrayElement in async.sortBy[summary] read: Argument[0].AnyMember in async.sortBy[summary] read: Argument[0].IteratorElement in async.sortBy[summary] read: Argument[0].SetElement in async.sortBy[summary] to write: ReturnValue in Promise.all()[summary] to write: ReturnValue.Awaited[value] in Promise.all()[summary] to write: ReturnValue.Awaited[value].ArrayElement[10..] in Promise.all()[summary] to write: ReturnValue.Awaited[value].ArrayElement[?] in Promise.all()[summary] to write: ReturnValue.Awaited[value].ArrayElement[2!] in Promise.all()[summary] to write: ReturnValue.Awaited[value].ArrayElement[9!] in Promise.all()[summary] to write: ReturnValue.Awaited[value].ArrayElement[1!] in Promise.all()[summary] to write: ReturnValue.Awaited[value].ArrayElement[0!] in Promise.all()[summary] to write: ReturnValue.Awaited[value].ArrayElement[7!] in Promise.all()[summary] to write: ReturnValue.Awaited[value].ArrayElement[3!] in Promise.all()[summary] to write: ReturnValue.Awaited[value].ArrayElement[5!] in Promise.all()[summary] to write: ReturnValue.Awaited[value].ArrayElement[4!] in Promise.all()[summary] to write: ReturnValue.Awaited[value].ArrayElement[8!] in Promise.all()[summary] to write: ReturnValue.Awaited[value].ArrayElement[6!] in Promise.all()[summary] read: Argument[0].ArrayElement in Promise.all()[summary] read: Argument[0].ArrayElement[10..] in Promise.all()[summary] read: Argument[0].ArrayElement[?] in Promise.all()[summary] read: Argument[0].ArrayElement[2!] in Promise.all()[summary] read: Argument[0].ArrayElement[9!] in Promise.all()[summary] read: Argument[0].ArrayElement[1!] in Promise.all()[summary] read: Argument[0].ArrayElement[0!] in Promise.all()[summary] read: Argument[0].ArrayElement[7!] in Promise.all()[summary] read: Argument[0].ArrayElement[3!] in Promise.all()[summary] read: Argument[0].ArrayElement[5!] in Promise.all()[summary] read: Argument[0].ArrayElement[4!] in Promise.all()[summary] read: Argument[0].ArrayElement[8!] in Promise.all()[summary] read: Argument[0].ArrayElement[6!] in Promise.all()[summary] read: Argument[0].ArrayElement[10..].Awaited in Promise.all()[summary] read: Argument[0].ArrayElement[?].Awaited in Promise.all()[summary] read: Argument[0].ArrayElement[2!].Awaited in Promise.all()[summary] read: Argument[0].ArrayElement[9!].Awaited in Promise.all()[summary] read: Argument[0].ArrayElement[1!].Awaited in Promise.all()[summary] read: Argument[0].ArrayElement[0!].Awaited in Promise.all()[summary] read: Argument[0].ArrayElement[7!].Awaited in Promise.all()[summary] read: Argument[0].ArrayElement[3!].Awaited in Promise.all()[summary] read: Argument[0].ArrayElement[5!].Awaited in Promise.all()[summary] read: Argument[0].ArrayElement[4!].Awaited in Promise.all()[summary] read: Argument[0].ArrayElement[8!].Awaited in Promise.all()[summary] read: Argument[0].ArrayElement[6!].Awaited in Promise.all()[summary] read: Argument[0].ArrayElement.WithAwaited[error] in Promise.all()[summary] to write: Argument[1] in Promise.try()[summary] to write: Argument[2] in Promise.try()[summary] to write: Argument[3] in Promise.try()[summary] to write: Argument[4] in Promise.try()[summary] to write: Argument[5] in Promise.try()[summary] to write: Argument[6] in Promise.try()[summary] to write: Argument[7] in Promise.try()[summary] to write: Argument[8] in Promise.try()[summary] to write: Argument[9] in Promise.try()[summary] to write: Argument[10] in Promise.try()[summary] to write: Argument[11] in Promise.try()[summary] to write: ReturnValue in Promise.try()[summary] to write: Argument[0].Parameter[function] in Promise.try()[summary] to write: Argument[0].Parameter[0] in Promise.try()[summary] to write: Argument[0].Parameter[1] in Promise.try()[summary] to write: Argument[0].Parameter[2] in Promise.try()[summary] to write: Argument[0].Parameter[3] in Promise.try()[summary] to write: Argument[0].Parameter[4] in Promise.try()[summary] to write: Argument[0].Parameter[5] in Promise.try()[summary] to write: Argument[0].Parameter[6] in Promise.try()[summary] to write: Argument[0].Parameter[7] in Promise.try()[summary] to write: Argument[0].Parameter[8] in Promise.try()[summary] to write: Argument[0].Parameter[9] in Promise.try()[summary] to write: Argument[0].Parameter[10] in Promise.try()[summary] to write: ReturnValue.Awaited in Promise.try()[summary] to write: ReturnValue.Awaited[error] in Promise.try()[summary] read: Argument[0].Parameter[function] in Promise.try()[summary] read: Argument[0].Parameter[0] in Promise.try()[summary] read: Argument[0].Parameter[1] in Promise.try()[summary] read: Argument[0].Parameter[2] in Promise.try()[summary] read: Argument[0].Parameter[3] in Promise.try()[summary] read: Argument[0].Parameter[4] in Promise.try()[summary] read: Argument[0].Parameter[5] in Promise.try()[summary] read: Argument[0].Parameter[6] in Promise.try()[summary] read: Argument[0].Parameter[7] in Promise.try()[summary] read: Argument[0].Parameter[8] in Promise.try()[summary] read: Argument[0].Parameter[9] in Promise.try()[summary] read: Argument[0].Parameter[10] in Promise.try()[summary] read: Argument[0].ReturnValue in Promise.try()[summary] read: Argument[0].ReturnValue[exception] in Promise.try()[summary] to write: Argument[0] in _.flatMapDeep[summary] to write: ReturnValue in _.flatMapDeep[summary] to write: Argument[1].Parameter[function] in _.flatMapDeep[summary] to write: Argument[1].Parameter[0] in _.flatMapDeep[summary] to write: Argument[0].ArrayElement in _.flatMapDeep[summary] to write: ReturnValue.ArrayElement in _.flatMapDeep[summary] read: Argument[1].Parameter[function] in _.flatMapDeep[summary] read: Argument[1].Parameter[0] in _.flatMapDeep[summary] read: Argument[1].ReturnValue in _.flatMapDeep[summary] read: Argument[0].ArrayElement in _.flatMapDeep[summary] read: Argument[1].ReturnValue.ArrayElementDeep in _.flatMapDeep[summary] read: Argument[1].ReturnValue.WithoutArrayElement in _.flatMapDeep[summary] to write: Argument[0] in _.reduce-like[summary] to write: Argument[2] in _.reduce-like[summary] to write: ReturnValue in _.reduce-like[summary] to write: Argument[1].Parameter[function] in _.reduce-like[summary] to write: Argument[1].Parameter[0] in _.reduce-like[summary] to write: Argument[1].Parameter[1] in _.reduce-like[summary] to write: Argument[0].ArrayElement in _.reduce-like[summary] read: Argument[1].Parameter[function] in _.reduce-like[summary] read: Argument[1].Parameter[0] in _.reduce-like[summary] read: Argument[1].Parameter[1] in _.reduce-like[summary] read: Argument[1].ReturnValue in _.reduce-like[summary] read: Argument[0].ArrayElement in _.reduce-like[summary] to write: Argument[0] in _.sortBy-like[summary] to write: ReturnValue in _.sortBy-like[summary] to write: Argument[1].Parameter[function] in _.sortBy-like[summary] to write: Argument[1].Parameter[0] in _.sortBy-like[summary] to write: Argument[0].ArrayElement in _.sortBy-like[summary] to write: ReturnValue.ArrayElement in _.sortBy-like[summary] to write: Argument[1].ArrayElement.Parameter[function] in _.sortBy-like[summary] to write: Argument[1].ArrayElement.Parameter[0] in _.sortBy-like[summary] read: Argument[1].Parameter[function] in _.sortBy-like[summary] read: Argument[1].Parameter[0] in _.sortBy-like[summary] read: Argument[0].ArrayElement in _.sortBy-like[summary] read: Argument[1].ArrayElement in _.sortBy-like[summary] read: Argument[1].ArrayElement.Parameter[function] in _.sortBy-like[summary] read: Argument[1].ArrayElement.Parameter[0] in _.sortBy-like[summary] to write: ReturnValue in new Promise()[summary] to write: Argument[0].Parameter[function] in new Promise()[summary] to write: Argument[0].Parameter[0] in new Promise()[summary] to write: Argument[0].Parameter[1] in new Promise()[summary] to write: ReturnValue.Awaited in new Promise()[summary] to write: ReturnValue.Awaited[error] in new Promise()[summary] read: Argument[0].Parameter[function] in new Promise()[summary] read: Argument[0].Parameter[0] in new Promise()[summary] read: Argument[0].Parameter[1] in new Promise()[summary] read: Argument[0].ReturnValue[exception] in new Promise()[summary] read: Argument[0].Parameter[0].Argument[0] in new Promise()[summary] read: Argument[0].Parameter[1].Argument[0] in new Promise()[summary] to write: Argument[this] in TypedArray#set[summary] to write: Argument[this].ArrayElement in TypedArray#set[summary] read: Argument[0].ArrayElement in TypedArray#set[summary] to write: ReturnValue in Array#toSpliced[summary] to write: ReturnValue.ArrayElement in Array#toSpliced[summary] read: Argument[this].ArrayElement in Array#toSpliced[summary] to write: ReturnValue in Array#copyWithin[summary] read: Argument[this].WithArrayElement in Array#copyWithin[summary] to write: ReturnValue in Promise.reject()[summary] to write: ReturnValue.Awaited[error] in Promise.reject()[summary] to write: ReturnValue in Array constructor[summary] to write: ReturnValue.ArrayElement in Array constructor[summary] to write: ReturnValue in Promise#finally()[summary] to write: Argument[0].Parameter[function] in Promise#finally()[summary] to write: ReturnValue.Awaited[error] in Promise#finally()[summary] read: Argument[0].Parameter[function] in Promise#finally()[summary] read: Argument[0].ReturnValue in Promise#finally()[summary] read: Argument[0].ReturnValue[exception] in Promise#finally()[summary] read: Argument[this].WithAwaited[error] in Promise#finally()[summary] read: Argument[this].WithAwaited[value] in Promise#finally()[summary] read: Argument[0].ReturnValue.Awaited[error] in Promise#finally()[summary] to write: Argument[0] in _.minBy / _.maxBy[summary] to write: ReturnValue in _.minBy / _.maxBy[summary] to write: Argument[1].Parameter[function] in _.minBy / _.maxBy[summary] to write: Argument[1].Parameter[1] in _.minBy / _.maxBy[summary] to write: Argument[0].ArrayElement in _.minBy / _.maxBy[summary] read: Argument[1].Parameter[function] in _.minBy / _.maxBy[summary] read: Argument[1].Parameter[1] in _.minBy / _.maxBy[summary] read: Argument[0].ArrayElement in _.minBy / _.maxBy[summary] to write: ReturnValue in TextDecoder#decode[summary] read: Argument[0].ArrayElement in TextDecoder#decode[summary] to write: Argument[0] in bluebird.mapSeries[summary] to write: ReturnValue in bluebird.mapSeries[summary] to write: Argument[1].Parameter[function] in bluebird.mapSeries[summary] to write: Argument[1].Parameter[0] in bluebird.mapSeries[summary] to write: Argument[0].Awaited in bluebird.mapSeries[summary] to write: ReturnValue.Awaited in bluebird.mapSeries[summary] to write: Argument[0].Awaited.ArrayElement in bluebird.mapSeries[summary] to write: ReturnValue.Awaited.ArrayElement in bluebird.mapSeries[summary] to write: Argument[0].Awaited.ArrayElement.Awaited in bluebird.mapSeries[summary] read: Argument[1].Parameter[function] in bluebird.mapSeries[summary] read: Argument[1].Parameter[0] in bluebird.mapSeries[summary] read: Argument[1].ReturnValue in bluebird.mapSeries[summary] read: Argument[0].Awaited in bluebird.mapSeries[summary] read: Argument[0].WithAwaited[error] in bluebird.mapSeries[summary] read: Argument[0].Awaited.ArrayElement in bluebird.mapSeries[summary] read: Argument[1].ReturnValue.Awaited in bluebird.mapSeries[summary] read: Argument[1].ReturnValue.WithAwaited[error] in bluebird.mapSeries[summary] read: Argument[0].Awaited.ArrayElement.Awaited in bluebird.mapSeries[summary] read: Argument[0].Awaited.ArrayElement.WithAwaited[error] in bluebird.mapSeries[summary] to write: ReturnValue in ArrayBuffer#transfer[summary] to write: ReturnValue.ArrayElement in ArrayBuffer#transfer[summary] read: Argument[this].ArrayElement in ArrayBuffer#transfer[summary] to write: ReturnValue[exception] in Exception propagator[summary] read: Argument[0..].ReturnValue[exception] in Exception propagator[summary] to write: ReturnValue in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[10..] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[?] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[2!] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[9!] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[1!] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[0!] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[7!] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[3!] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[5!] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[4!] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[8!] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[6!] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[10..].Member[value] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[?].Member[value] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[2!].Member[value] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[9!].Member[value] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[1!].Member[value] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[0!].Member[value] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[7!].Member[value] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[3!].Member[value] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[5!].Member[value] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[4!].Member[value] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[8!].Member[value] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[6!].Member[value] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[10..].Member[reason] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[?].Member[reason] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[2!].Member[reason] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[9!].Member[reason] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[1!].Member[reason] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[0!].Member[reason] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[7!].Member[reason] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[3!].Member[reason] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[5!].Member[reason] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[4!].Member[reason] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[8!].Member[reason] in Promise.allSettled()[summary] to write: ReturnValue.Awaited[value].ArrayElement[6!].Member[reason] in Promise.allSettled()[summary] read: Argument[0].ArrayElement[10..] in Promise.allSettled()[summary] read: Argument[0].ArrayElement[?] in Promise.allSettled()[summary] read: Argument[0].ArrayElement[2!] in Promise.allSettled()[summary] read: Argument[0].ArrayElement[9!] in Promise.allSettled()[summary] read: Argument[0].ArrayElement[1!] in Promise.allSettled()[summary] read: Argument[0].ArrayElement[0!] in Promise.allSettled()[summary] read: Argument[0].ArrayElement[7!] in Promise.allSettled()[summary] read: Argument[0].ArrayElement[3!] in Promise.allSettled()[summary] read: Argument[0].ArrayElement[5!] in Promise.allSettled()[summary] read: Argument[0].ArrayElement[4!] in Promise.allSettled()[summary] read: Argument[0].ArrayElement[8!] in Promise.allSettled()[summary] read: Argument[0].ArrayElement[6!] in Promise.allSettled()[summary] read: Argument[0].ArrayElement[10..].Awaited in Promise.allSettled()[summary] read: Argument[0].ArrayElement[?].Awaited in Promise.allSettled()[summary] read: Argument[0].ArrayElement[2!].Awaited in Promise.allSettled()[summary] read: Argument[0].ArrayElement[9!].Awaited in Promise.allSettled()[summary] read: Argument[0].ArrayElement[1!].Awaited in Promise.allSettled()[summary] read: Argument[0].ArrayElement[0!].Awaited in Promise.allSettled()[summary] read: Argument[0].ArrayElement[7!].Awaited in Promise.allSettled()[summary] read: Argument[0].ArrayElement[3!].Awaited in Promise.allSettled()[summary] read: Argument[0].ArrayElement[5!].Awaited in Promise.allSettled()[summary] read: Argument[0].ArrayElement[4!].Awaited in Promise.allSettled()[summary] read: Argument[0].ArrayElement[8!].Awaited in Promise.allSettled()[summary] read: Argument[0].ArrayElement[6!].Awaited in Promise.allSettled()[summary] read: Argument[0].ArrayElement[10..].Awaited[error] in Promise.allSettled()[summary] read: Argument[0].ArrayElement[?].Awaited[error] in Promise.allSettled()[summary] read: Argument[0].ArrayElement[2!].Awaited[error] in Promise.allSettled()[summary] read: Argument[0].ArrayElement[9!].Awaited[error] in Promise.allSettled()[summary] read: Argument[0].ArrayElement[1!].Awaited[error] in Promise.allSettled()[summary] read: Argument[0].ArrayElement[0!].Awaited[error] in Promise.allSettled()[summary] read: Argument[0].ArrayElement[7!].Awaited[error] in Promise.allSettled()[summary] read: Argument[0].ArrayElement[3!].Awaited[error] in Promise.allSettled()[summary] read: Argument[0].ArrayElement[5!].Awaited[error] in Promise.allSettled()[summary] read: Argument[0].ArrayElement[4!].Awaited[error] in Promise.allSettled()[summary] read: Argument[0].ArrayElement[8!].Awaited[error] in Promise.allSettled()[summary] read: Argument[0].ArrayElement[6!].Awaited[error] in Promise.allSettled()[summary] to write: ReturnValue in TypedArray constructor[summary] to write: ReturnValue.ArrayElement in TypedArray constructor[summary] read: Argument[0].ArrayElement in TypedArray constructor[summary] to write: ReturnValue in Promise.withResolvers()[summary] to write: ReturnValue.Member[promise] in Promise.withResolvers()[summary] to write: ReturnValue.Member[promise].Awaited in Promise.withResolvers()[summary] to write: ReturnValue.Member[promise].Awaited[error] in Promise.withResolvers()[summary] read: ReturnValue in Promise.withResolvers()[summary] read: ReturnValue.Member[resolve] in Promise.withResolvers()[summary] read: ReturnValue.Member[reject] in Promise.withResolvers()[summary] read: ReturnValue.Member[resolve].Argument[0] in Promise.withResolvers()[summary] read: ReturnValue.Member[reject].Argument[0] in Promise.withResolvers()[summary] to write: ReturnValue in new Promise() workaround[summary] to write: Argument[0].Parameter[function] in new Promise() workaround[summary] to write: Argument[0].Parameter[0] in new Promise() workaround[summary] to write: Argument[0].Parameter[1] in new Promise() workaround[summary] to write: ReturnValue.Awaited in new Promise() workaround[summary] to write: ReturnValue.Awaited[error] in new Promise() workaround[summary] read: Argument[0].Parameter[function] in new Promise() workaround[summary] read: Argument[0].Parameter[0] in new Promise() workaround[summary] read: Argument[0].Parameter[1] in new Promise() workaround[summary] read: Argument[0].ReturnValue[exception] in new Promise() workaround[summary] read: Argument[0].Parameter[1].Member[reject-value] in new Promise() workaround[summary] read: Argument[0].Parameter[0].Member[resolve-value] in new Promise() workaround[summary] to write: ReturnValue in String#split with '#' or '?'[summary] to write: ReturnValue.ArrayElement in String#split with '#' or '?'[summary] to write: ReturnValue.ArrayElement[0] in String#split with '#' or '?'[summary] to write: ReturnValue.ArrayElement[1] in String#split with '#' or '?'[summary] read: Argument[this].OptionalBarrier[split-url-suffix] in String#split with '#' or '?'[summary] read: Argument[this].OptionalStep[split-url-suffix-pre] in String#split with '#' or '?'[summary] read: Argument[this].OptionalStep[split-url-suffix-post] in String#split with '#' or '?'[summary] to write: ReturnValue in query-string stringification[summary] read: Argument[0].AnyMemberDeep in query-string stringification[summary] to write: Argument[function] in new Promise() reject callback[summary] to write: Argument[function].Member[reject-value] in new Promise() reject callback[summary] to write: Argument[function] in new Promise() resolve callback[summary] to write: Argument[function].Member[resolve-value] in new Promise() resolve callback[summary] to write: ReturnValue in Promise.any() or Promise.race()[summary] to write: ReturnValue.Awaited in Promise.any() or Promise.race()[summary] read: Argument[0].ArrayElement in Promise.any() or Promise.race()[summary] to write: Argument[0] in Array.from(arg, callback, [thisArg])[summary] to write: Argument[2] in Array.from(arg, callback, [thisArg])[summary] to write: ReturnValue in Array.from(arg, callback, [thisArg])[summary] to write: ReturnValue[exception] in Array.from(arg, callback, [thisArg])[summary] to write: Argument[1].Parameter[function] in Array.from(arg, callback, [thisArg])[summary] to write: Argument[1].Parameter[this] in Array.from(arg, callback, [thisArg])[summary] to write: Argument[1].Parameter[0] in Array.from(arg, callback, [thisArg])[summary] to write: Argument[0].ArrayElement in Array.from(arg, callback, [thisArg])[summary] to write: ReturnValue.ArrayElement in Array.from(arg, callback, [thisArg])[summary] to write: Argument[0].IteratorElement in Array.from(arg, callback, [thisArg])[summary] to write: Argument[0].SetElement in Array.from(arg, callback, [thisArg])[summary] read: Argument[1].Parameter[function] in Array.from(arg, callback, [thisArg])[summary] read: Argument[1].Parameter[this] in Array.from(arg, callback, [thisArg])[summary] read: Argument[1].Parameter[0] in Array.from(arg, callback, [thisArg])[summary] read: Argument[1].ReturnValue in Array.from(arg, callback, [thisArg])[summary] read: Argument[0].ArrayElement in Array.from(arg, callback, [thisArg])[summary] read: Argument[0].IteratorError in Array.from(arg, callback, [thisArg])[summary] read: Argument[0].IteratorElement in Array.from(arg, callback, [thisArg])[summary] read: Argument[0].SetElement in Array.from(arg, callback, [thisArg])[summary] to write: Argument[0] in 'array.prototype.find' / 'array-find'[summary] to write: Argument[2] in 'array.prototype.find' / 'array-find'[summary] to write: ReturnValue in 'array.prototype.find' / 'array-find'[summary] to write: Argument[1].Parameter[function] in 'array.prototype.find' / 'array-find'[summary] to write: Argument[1].Parameter[this] in 'array.prototype.find' / 'array-find'[summary] to write: Argument[1].Parameter[0] in 'array.prototype.find' / 'array-find'[summary] to write: Argument[0].ArrayElement in 'array.prototype.find' / 'array-find'[summary] read: Argument[1].Parameter[function] in 'array.prototype.find' / 'array-find'[summary] read: Argument[1].Parameter[this] in 'array.prototype.find' / 'array-find'[summary] read: Argument[1].Parameter[0] in 'array.prototype.find' / 'array-find'[summary] read: Argument[0].ArrayElement in 'array.prototype.find' / 'array-find'[summary] to write: ReturnValue in String#replace / String#replaceAll (with wildcard pattern)[summary] to write: Argument[1].Parameter[function] in String#replace / String#replaceAll (with wildcard pattern)[summary] to write: Argument[1].Parameter[0] in String#replace / String#replaceAll (with wildcard pattern)[summary] read: Argument[1].Parameter[function] in String#replace / String#replaceAll (with wildcard pattern)[summary] read: Argument[1].Parameter[0] in String#replace / String#replaceAll (with wildcard pattern)[summary] read: Argument[1].ReturnValue in String#replace / String#replaceAll (with wildcard pattern)[summary] to write: ReturnValue in String#replace / String#replaceAll (without wildcard pattern)[summary] to write: Argument[1].Parameter[function] in String#replace / String#replaceAll (without wildcard pattern)[summary] read: Argument[1].Parameter[function] in String#replace / String#replaceAll (without wildcard pattern)[summary] read: Argument[1].ReturnValue in String#replace / String#replaceAll (without wildcard pattern)return of anonymous functionreturn of function gtagreturn of function checkServicesreturn of function ereturn of function sreturn of function oreturn of function treturn of function ireturn of function preturn of function areturn of function creturn of function nreturn of function rreturn of function updateInterfaceClocksreturn of function switchMapreturn of function sendBroadcastreturn of function saveFragmentreturn of function updateTimereturn of function updateTransformreturn of function updateLinksreturn of function getPointOnSidereturn of function getBezierPathreturn of function zoomAtreturn of function getCanvasCoordsreturn of function saveStatereturn of function undoreturn of function redoreturn of function updateHistoryDrawerUIreturn of function serializeCurrentStatereturn of function loadStatereturn of function snapNodeHeightreturn of function renderNodereturn of function clearSelectionreturn of function updateSelectionUIreturn of function showContextToolbarreturn of function hideContextToolbarreturn of function applyIconreturn of function stopDrawingLinkreturn of function createNewLinkreturn of function addLogreturn of function fetchIntegratedIntelreturn of function fetchTelemetryreturn of function updateOperationLogsUIreturn of function updateBattlemetricsUIreturn of function renderBattlemetricsGraphreturn of function getXreturn of function getYreturn of function updateUnitCommanderUIreturn of function renderUnitCommanderHTMLreturn of function updateDiscordStatusreturn of function updateClockreturn of function updateGoogleConsentreturn of function setConsentreturn of function getConsentreturn of function initArchivesreturn of function updateCountreturn of function BAreturn of function ynreturn of function freturn of function UAreturn of function QAreturn of function zAreturn of function Wfreturn of function vreturn of function yreturn of function WAreturn of function breturn of function _Areturn of function n8return of function ureturn of function G2return of method inflateInitreturn of method inflatereturn of method inflateEndreturn of method inflateSyncreturn of method inflateSetDictionaryreturn of method read_bytereturn of method read_bufreturn of function a8return of constructor of class i2return of constructor of anonymous classreturn of method transformreturn of method flushreturn of function Z2return of function M8return of function q2return of function nareturn of function j8return of constructor of class ccreturn of method append of class ccreturn of method get of class ccreturn of constructor of class K2return of function H8return of method concatreturn of method bitLengthreturn of method clampreturn of method partialreturn of method getPartialreturn of method _shiftRightreturn of method fromBitsreturn of method toBitsreturn of method reset of anonymous classreturn of method update of anonymous classreturn of method finalize of anonymous classreturn of method _f of anonymous classreturn of method _S of anonymous classreturn of method _block of anonymous classreturn of method encrypt of anonymous classreturn of method decrypt of anonymous classreturn of method _precompute of anonymous classreturn of method _crypt of anonymous classreturn of method getRandomValuesreturn of method incWord of anonymous classreturn of method incCounter of anonymous classreturn of method calculate of anonymous classreturn of method importKeyreturn of method pbkdf2return of method digest of anonymous classreturn of function W2return of constructor of class q8return of method startreturn of constructor of class I8return of function $2return of function K8return of function k8return of function threturn of function J8return of function F8return of function ehreturn of function hrreturn of function W8return of function Xereturn of function Oireturn of function wireturn of constructor of class _8return of constructor of class P8return of function s2return of function f2return of function nhreturn of function mrreturn of function ahreturn of function lhreturn of function r2return of constructor of class $8return of constructor of class t3return of function ihreturn of method getreturn of function uhreturn of function Snreturn of constructor of class u3return of constructor of class c3return of constructor of class zfreturn of method terminatereturn of method onTaskFinishedreturn of constructor of class s3return of function Yfreturn of function fhreturn of method runreturn of function f3return of function r3return of function o3return of function d3return of method writereturn of method closereturn of method abortreturn of function h3return of function lcreturn of function m3return of function Oreturn of function g3return of function Breturn of function A3return of function Pfreturn of function v3return of constructor of class dcreturn of method init of class dcreturn of getter method for property readable of class fareturn of method pullreturn of default constructor of class fareturn of constructor of class yrreturn of method writeUint8Array of class yrreturn of constructor of class O3return of method readUint8Array of class O3return of constructor of class w3return of method writeUint8Array of class w3return of method getData of class w3return of constructor of class Erreturn of method readUint8Array of class Erreturn of constructor of class mhreturn of method getData of class mhreturn of constructor of class R3return of constructor of class D3return of method getData of class D3return of method onloadreturn of method onerrorreturn of constructor of class M3return of method init of class M3return of method readUint8Array of class M3return of constructor of class j3return of method init of class j3return of method readUint8Array of class j3return of function ghreturn of function Ahreturn of function vhreturn of function yhreturn of function prreturn of function v2return of function y2return of function Ehreturn of function E2return of function $freturn of function trreturn of method arrayBufferreturn of constructor of class phreturn of setter method for property size of class phreturn of getter method for property size of class phreturn of method init of class phreturn of method readUint8Array of class phreturn of constructor of class H3return of constructor of class N3return of method readUint8Array of class N3return of method init of class B3return of method writeUint8Array of class B3return of method getData of class B3return of default constructor of class B3return of constructor of class brreturn of method init of class brreturn of method readUint8Array of class brreturn of constructor of class fcreturn of function Areturn of constructor of class bhreturn of constructor of class xhreturn of function U3return of function Rireturn of function Ptreturn of function L3return of function icreturn of constructor of class p2return of constructor of class Xhreturn of method getEntriesGenerator of class Xhreturn of method getEntries of class Xhreturn of method close of class Xhreturn of constructor of class S5return of constructor of class T5return of method getData of class T5return of function Vhreturn of function Zhreturn of function C5return of function S2return of function O5return of function w5return of function R5return of function D5return of function M5return of function iereturn of function j5return of function Gfreturn of function Slreturn of function $treturn of function Btreturn of function Tlreturn of function H5return of function Ytreturn of function B5return of function Xreturn of method isMountedreturn of method enqueueForceUpdatereturn of method enqueueReplaceStatereturn of method enqueueSetStatereturn of function xreturn of function Rreturn of function Ureturn of function jreturn of function Kreturn of function Jreturn of function kreturn of function ntreturn of function streturn of function itreturn of function Hreturn of function _return of function $return of method forEachreturn of method countreturn of method toArrayreturn of method onlyreturn of method creturn of function xrreturn of function U5return of function Zreturn of function Freturn of function Q5return of function z5return of method rreturn of function Y5return of function lreturn of function L5return of function hreturn of function Ereturn of function Creturn of function Lreturn of function Wreturn of function Ftreturn of function Qtreturn of function Onreturn of function rareturn of function Eereturn of function Rnreturn of method DetermineComponentFrameRootreturn of function Ireturn of method setreturn of function Qareturn of function Bireturn of function Dnreturn of function Emreturn of function oareturn of function Lireturn of function Rlreturn of function pmreturn of function Hrreturn of function vcreturn of function Dlreturn of function bmreturn of function Nrreturn of function Brreturn of function Urreturn of function ycreturn of function Ecreturn of function Qrreturn of function zrreturn of function bcreturn of function Yareturn of function Lareturn of function jlreturn of function Gareturn of function Wtreturn of function dareturn of function Xareturn of function Cmreturn of function Gireturn of function Xireturn of function $ereturn of function jereturn of function Zrreturn of function Omreturn of method getValuereturn of method setValuereturn of method stopTrackingreturn of function xcreturn of function qrreturn of function Vireturn of function Hereturn of function Screturn of function Irreturn of function Tcreturn of function Vareturn of function Krreturn of function krreturn of function Zareturn of function Jrreturn of function Frreturn of function Ccreturn of function Zireturn of function tnreturn of function wcreturn of function Wrreturn of function _rreturn of function Hlreturn of function Prreturn of function Iireturn of function Kireturn of function $rreturn of function dereturn of method preventDefaultreturn of method stopPropagationreturn of method persistreturn of method timeStampreturn of method relatedTargetreturn of method movementXreturn of method movementYreturn of method clipboardDatareturn of function Zmreturn of function Bcreturn of method keyreturn of method charCodereturn of method keyCodereturn of method whichreturn of method deltaXreturn of method deltaYreturn of function uoreturn of function coreturn of function agreturn of function lgreturn of function soreturn of function foreturn of function ugreturn of function Fireturn of function roreturn of function moreturn of function goreturn of function cgreturn of function sgreturn of function fgreturn of function rgreturn of function ogreturn of function Llreturn of function Aoreturn of function voreturn of function yoreturn of function Eoreturn of function Ycreturn of function poreturn of function mareturn of function gareturn of function qereturn of function _ireturn of function Pireturn of function qcreturn of function Aareturn of function woreturn of function $ireturn of function Agreturn of function Tereturn of function Icreturn of function nnreturn of function Roreturn of function tureturn of function vareturn of function Kcreturn of function Doreturn of function kcreturn of function Bereturn of function anreturn of function joreturn of function Jcreturn of function Fcreturn of function Horeturn of function Bnreturn of function Noreturn of function Boreturn of function $areturn of function yareturn of function _creturn of function Vlreturn of function Unreturn of function unreturn of function $creturn of function tsreturn of function tlreturn of function nureturn of function pareturn of function nereturn of function aureturn of function Uoreturn of method addEventListenerreturn of function esreturn of function Zlreturn of function pgreturn of method thenreturn of function Qoreturn of function bgreturn of function asreturn of function lureturn of function Yoreturn of function Loreturn of function Goreturn of function xareturn of function Xoreturn of function Voreturn of function cureturn of function Klreturn of function sureturn of function Zoreturn of function dreturn of function greturn of function Treturn of function zreturn of function Vreturn of function Yreturn of function Greturn of function atreturn of function ftreturn of function Mtreturn of function isreturn of function usreturn of function znreturn of function Ynreturn of function klreturn of function csreturn of function Jlreturn of function Flreturn of function Ioreturn of function Koreturn of function koreturn of function fsreturn of function rsreturn of function Lnreturn of function osreturn of function Joreturn of function Gnreturn of function Oereturn of function rureturn of function Ltreturn of function dsreturn of function hsreturn of function Foreturn of function Woreturn of function Sgreturn of function msreturn of function gsreturn of function Asreturn of function fereturn of function Vtreturn of function hureturn of function _lreturn of function mureturn of function vsreturn of function snreturn of function gureturn of function ysreturn of function Esreturn of function _oreturn of function Poreturn of function $oreturn of function t0return of function e0return of function n0return of function psreturn of function a0return of function Tgreturn of function l0return of function i0return of function u0return of function bsreturn of function c0return of function s0return of function f0return of function r0return of function o0return of function Cgreturn of function d0return of function slreturn of function h0return of function Aureturn of function vureturn of function m0return of function xsreturn of function Ogreturn of function g0return of function A0return of function v0return of function y0return of function E0return of function Ssreturn of function p0return of function b0return of function Tsreturn of function x0return of function S0return of function wgreturn of function Csreturn of function T0return of function C0return of function Osreturn of function O0return of function w0return of function Rgreturn of function Dgreturn of function R0return of function Plreturn of function wsreturn of function yureturn of function D0return of function M0return of method useCallbackreturn of method useImperativeHandlereturn of method useLayoutEffectreturn of method useInsertionEffectreturn of method useMemoreturn of method useReducerreturn of method useRefreturn of method useStatereturn of method useDeferredValuereturn of method useTransitionreturn of method useSyncExternalStorereturn of method useIdreturn of method useOptimisticreturn of method useCacheRefreshreturn of method useEffectEventreturn of function Dsreturn of function N0return of function B0return of function Oareturn of function U0return of function Q0return of function z0return of function Eureturn of function Y0return of function jsreturn of function L0return of function G0return of function Mgreturn of function aereturn of function X0return of function V0return of function Z0return of function q0return of function tireturn of function I0return of function pureturn of function K0return of function jgreturn of function bureturn of function Nsreturn of function k0return of function J0return of function F0return of function Usreturn of function Qsreturn of function W0return of function zsreturn of function xureturn of function Ysreturn of function _0return of function Lsreturn of function P0return of function fnreturn of function Gsreturn of function Hgreturn of function $0return of function rnreturn of function Xsreturn of function tdreturn of function Sureturn of function eireturn of function Ntreturn of function Ngreturn of function Bgreturn of function edreturn of function nireturn of function Xnreturn of function ndreturn of function adreturn of function aireturn of function Wereturn of function ldreturn of function Vsreturn of function idreturn of function Zsreturn of function qsreturn of function Tureturn of function udreturn of function Ugreturn of function sdreturn of function fdreturn of function dnreturn of function rdreturn of function odreturn of function ddreturn of function Qgreturn of function Cureturn of function mereturn of function hdreturn of function gereturn of function mdreturn of function hnreturn of function wareturn of function mnreturn of function Ksreturn of function ksreturn of function Kereturn of function gdreturn of function flreturn of function lireturn of function rlreturn of function Adreturn of function vdreturn of function uireturn of function ydreturn of function Oureturn of function Edreturn of method getCacheForTypereturn of method cacheSignalreturn of function Dereturn of function xdreturn of function vereturn of function Sdreturn of function Tdreturn of function Lgreturn of function Knreturn of function Mureturn of function tfreturn of function mlreturn of function Cdreturn of function Odreturn of function wdreturn of function Rdreturn of function jureturn of function efreturn of function Ggreturn of function Xgreturn of function Vgreturn of function Ddreturn of function Mdreturn of function glreturn of function Hureturn of function jdreturn of function Hdreturn of function Ndreturn of function Bdreturn of function Udreturn of function Qdreturn of function Nureturn of function zdreturn of function Ydreturn of function wtreturn of function nfreturn of function Zgreturn of function Ldreturn of function qgreturn of function Igreturn of function Kgreturn of function _ereturn of function fireturn of function kgreturn of function Gdreturn of function Xdreturn of function Vdreturn of function Zdreturn of function Jgreturn of function ufreturn of function qdreturn of function Idreturn of function Fgreturn of method listenerreturn of function Kdreturn of function ytreturn of function ffreturn of function rfreturn of function kdreturn of function ofreturn of function oireturn of function zureturn of function $greturn of function Jdreturn of function Fdreturn of function Wdreturn of function Dtreturn of function dfreturn of function lereturn of function nAreturn of function _dreturn of function aAreturn of function Yureturn of function Pdreturn of function $dreturn of function gfreturn of function lAreturn of function cAreturn of function Jnreturn of function n1return of function a1return of function vfreturn of function sAreturn of function fAreturn of function l1return of function yfreturn of function Efreturn of function rAreturn of function Lereturn of function i1return of function u1return of function c1return of function direturn of function Lureturn of function oAreturn of function dAreturn of function f1return of function hAreturn of function mAreturn of function gAreturn of function AAreturn of function vAreturn of function yAreturn of function EAreturn of function r1return of function ylreturn of function hireturn of function o1return of function pAreturn of function Elreturn of function mireturn of function d1return of function Gureturn of function bfreturn of function xfreturn of function h1return of function m1return of function bAreturn of function g1return of function xAreturn of function SAreturn of function Vureturn of function qureturn of function TAreturn of function CAreturn of function A1return of function v1return of function y1return of function E1return of function Tfreturn of function p1return of function b1return of function OAreturn of function wAreturn of function Cfreturn of function Ofreturn of function wfreturn of function x1return of function S1return of function yireturn of function DAreturn of function T1return of function kureturn of function C1return of function MAreturn of function Jureturn of function O1return of function plreturn of function w1return of method handlerreturn of function Dfreturn of function Wureturn of function G5return of constructor of class rcreturn of method empty of class rcreturn of method parse of class rcreturn of method tokenize of class rcreturn of method matches of class rcreturn of function V5return of function Nareturn of function N2return of function q5return of function I5return of function Nireturn of function Clreturn of function qhreturn of function Ihreturn of function Khreturn of function khreturn of function Jhreturn of function K5return of function k5return of function J5return of function F5return of function W5return of function _5return of function Fhreturn of function Srreturn of function P5return of function Whreturn of function urreturn of function _hreturn of constructor of class $5return of method getString of class $5return of method setString of class $5return of method getObject of class $5return of method setObject of class $5return of function Zereturn of function evreturn of function Direturn of function nvreturn of function avreturn of function Olreturn of function lvreturn of function Vereturn of function Phreturn of function $hreturn of function ivreturn of function careturn of function Kfreturn of function Tnreturn of method onClickreturn of function Trreturn of function uvreturn of function ncreturn of function tmreturn of function sereturn of function cvreturn of function svreturn of function nmreturn of function Crreturn of function rvreturn of function Sireturn of function Cnreturn of function hcreturn of function ovreturn of function dvreturn of function gvreturn of function crreturn of function srreturn of function vvreturn of function yvreturn of function Orreturn of function Evreturn of method onSubmitreturn of method onChangereturn of function pvreturn of function acreturn of function bvreturn of method requestClosereturn of function xvreturn of function Svreturn of function imreturn of function kereturn of function Tvreturn of function Ovreturn of function Rvreturn of method onPaneMouseUpreturn of method onPaneMouseMovereturn of method onMouseDownreturn of function kfreturn of function umreturn of function Dvreturn of method setOffsetsreturn of function Enreturn of function Mvreturn of function jvreturn of function Hvreturn of function wrreturn of function Nvreturn of function Bvreturn of function Uvreturn of function zvreturn of function Jfreturn of function Lvreturn of function Gvreturn of method buildCodeFramereturn of function Xvreturn of function cmreturn of function Vvreturn of method renderreturn of method setSelectedTabreturn of function z2return of function Zvreturn of function smreturn of function qvreturn of function Ivreturn of constructor of class Kvreturn of method componentDidCatch of class Kvreturn of method render of class Kvreturn of function kvreturn of function Jvreturn of function Fvreturn of function Wvreturn of function _vreturn of function Pvreturn of method isFileExpandedreturn of method setFileExpandedreturn of function Y2return of function rmreturn of function $vreturn of function tyreturn of function eyreturn of function nyreturn of function ayreturn of function lyreturn of function iyreturn of function uyreturn of method toggleMetadataVisiblereturn of function cyreturn of function syreturn of function fyreturn of function ryreturn of function oyreturn of function hyreturn of constructor of class myreturn of method load of class myreturn of method json of class myreturn of method entry of class myreturn of function logreturn of function checkRunnerHealthreturn of function crc32return of function createBePacketreturn of function fetchRconPlayersreturn of function queryArmaServerreturn of function sendreturn of function readreturn of function requestreturn of function fetchBMreturn of function fetchUCreturn of function compressreturn of function isSreturn of function mainreturn of function getFilesreturn of function parseCodeQLreturn of function syncIssuesreturn of function runHistoryAuditreturn of function runSecurityAuditreturn of function discordRequestreturn of function runCommandreturn of function checkUrlreturn of function checkServerreturn of function attemptreturn of function getHugoParamreturn of function Symbolreturn of function IIterableResultreturn of function Iterablereturn of function Iteratorreturn of function IteratorIterablereturn of function IObjectreturn of function IArrayLikereturn of function Argumentsreturn of function decodeURIreturn of function decodeURIComponentreturn of function encodeURIreturn of function encodeURIComponentreturn of function escapereturn of function unescapereturn of function isFinitereturn of function isNaNreturn of function parseFloatreturn of function parseIntreturn of function evalreturn of function Objectreturn of function Functionreturn of function Arrayreturn of function Booleanreturn of function Numberreturn of function Datereturn of function Stringreturn of function RegExpreturn of function Errorreturn of function EvalErrorreturn of function RangeErrorreturn of function ReferenceErrorreturn of function SyntaxErrorreturn of function TypeErrorreturn of function URIErrorreturn of function ActiveXObjectreturn of function ScriptEnginereturn of function ScriptEngineMajorVersionreturn of function ScriptEngineMinorVersionreturn of function ScriptEngineBuildVersionreturn of function ObjectPropertyDescriptorreturn of function Generatorreturn of function ITemplateArrayreturn of function Transferablereturn of function ArrayBufferreturn of function ArrayBufferViewreturn of function TypedArrayreturn of function Int8Arrayreturn of function Uint8Arrayreturn of function Uint8ClampedArrayreturn of function Int16Arrayreturn of function Uint16Arrayreturn of function Int32Arrayreturn of function Uint32Arrayreturn of function Float32Arrayreturn of function Float64Arrayreturn of function DataViewreturn of function IThenablereturn of function Promisereturn of function Mapreturn of function WeakMapreturn of function Setreturn of function WeakSetreturn of function Proxyreturn of function afterreturn of function afterAllreturn of function afterEachreturn of function assertreturn of function beforereturn of function beforeAllreturn of function beforeEachreturn of function contextreturn of function describereturn of function expectreturn of function fdescribereturn of function fitreturn of function pendingreturn of function setupreturn of function specifyreturn of function spyOnreturn of function suitereturn of function suiteSetupreturn of function suiteTeardownreturn of function teardownreturn of function testreturn of function xdescribereturn of function xitreturn of function jQueryAjaxSettingsreturn of function jQueryAjaxSettingsExtrareturn of function jQueryAjaxTransportreturn of function jQueryreturn of function jQuerySupportreturn of function shouldreturn of method assertreturn of method failreturn of getter for property notreturn of getter for property anyreturn of getter for property anreturn of getter for property ofreturn of getter for property areturn of getter for property andreturn of getter for property bereturn of getter for property hasreturn of getter for property havereturn of getter for property withreturn of getter for property isreturn of getter for property whichreturn of getter for property thereturn of getter for property itreturn of method truereturn of method Truereturn of method falsereturn of method Falsereturn of method okreturn of method NaNreturn of method Infinityreturn of method withinreturn of method approximatelyreturn of method abovereturn of method belowreturn of method greaterThanreturn of method lessThanreturn of method eqlreturn of method equalreturn of method exactlyreturn of method Numberreturn of method argumentsreturn of method Argumentsreturn of method typereturn of method instanceofreturn of method instanceOfreturn of method Functionreturn of method Objectreturn of method Stringreturn of method Arrayreturn of method Booleanreturn of method Errorreturn of method nullreturn of method Nullreturn of method classreturn of method Classreturn of method undefinedreturn of method Undefinedreturn of method iterablereturn of method iteratorreturn of method generatorreturn of method startWithreturn of method endWithreturn of method propertyWithDescriptorreturn of method enumerablereturn of method enumerablesreturn of method propertyreturn of method propertiesreturn of method lengthreturn of method lengthOfreturn of method ownPropertyreturn of method hasOwnPropertyreturn of method emptyreturn of method keysreturn of method propertyByPathreturn of method throwreturn of method throwErrorreturn of method matchreturn of method matchEachreturn of method matchAnyreturn of method matchSomereturn of method matchEveryreturn of method containEqlreturn of method containDeepOrderedreturn of method containDeepreturn of function epsilonreturn of function matchreturn of function isTruereturn of function isFalsereturn of function isZeroreturn of function isNotZeroreturn of function greaterreturn of function lesserreturn of function inDeltareturn of function includereturn of function notIncludereturn of function deepIncludereturn of function isEmptyreturn of function isNotEmptyreturn of function lengthOfreturn of function isArrayreturn of function isObjectreturn of function isNumberreturn of function isBooleanreturn of function isNullreturn of function isNotNullreturn of function isUndefinedreturn of function isDefinedreturn of function isStringreturn of function isFunctionreturn of function typeOfreturn of function instanceOfreturn of function internalreturn of function eqlreturn of function BuffTypereturn of function SlowBuffTypereturn of function RemoteInforeturn of function AddressInforeturn of function BindOptionsreturn of function SocketOptionsreturn of function eventsreturn of function Statsreturn of function FSWatcherreturn of function Constantsreturn of function ErrorConstructorreturn of function MapConstructorreturn of function WeakMapConstructorreturn of function SetConstructorreturn of function WeakSetConstructorreturn of function setTimeoutreturn of function clearTimeoutreturn of function setIntervalreturn of function clearIntervalreturn of function setImmediatereturn of function clearImmediatereturn of function NodeRequireFunctionreturn of function NodeRequirereturn of function NodeModulereturn of function SlowBufferreturn of function Bufferreturn of function IterableIteratorreturn of function NodeBufferreturn of function Consolereturn of function Modulereturn of function ucs2return of function HeapSpaceInforeturn of function Filereturn of function Reflectreturn of function versionreturn of function revertVersionreturn of function optionsreturn of function loadreturn of function loadRelativeToScriptreturn of function evaluatereturn of function runreturn of function readlinereturn of function printreturn of function printErrreturn of function putstrreturn of function dateNowreturn of function helpreturn of function quitreturn of function assertEqreturn of function assertJitreturn of function gcreturn of function gcstatsreturn of function gcparamreturn of function countHeapreturn of function makeFinalizeObserverreturn of function finalizeCountreturn of function gczealreturn of function setDebugreturn of function setDebuggerHandlerreturn of function setThrowHookreturn of function trapreturn of function untrapreturn of function line2pcreturn of function pc2linereturn of function stackQuotareturn of function stringsAreUTF8return of function testUTF8return of function dumpHeapreturn of function dumpObjectreturn of function tracingreturn of function statsreturn of function buildreturn of function clearreturn of function clonereturn of function getpdareturn of function toint32return of function evalInFramereturn of function snarfreturn of function timeoutreturn of function parentreturn of function wrapreturn of function serializereturn of function deserializereturn of function mjitstatsreturn of function stringstatsreturn of function setGCCallbackreturn of function startTimingMutatorreturn of function stopTimingMutatorreturn of function throwErrorreturn of function disassemblereturn of function disreturn of function disfilereturn of function dissrcreturn of function notesreturn of function stackDumpreturn of function internreturn of function getslxreturn of function evalcxreturn of function evalInWorkerreturn of function getSharedArrayBufferreturn of function setSharedArrayBufferreturn of function shapeOfreturn of function arrayInforeturn of function sleepreturn of function compilereturn of function parsereturn of function syntaxParsereturn of function offThreadCompileScriptreturn of function runOffThreadScriptreturn of function interruptIfreturn of function invokeInterruptCallbackreturn of function setInterruptCallbackreturn of function enableLastWarningreturn of function disableLastWarningreturn of function getLastWarningreturn of function clearLastWarningreturn of function elapsedreturn of function decompileFunctionreturn of function decompileBodyreturn of function decompileThisreturn of function thisFilenamereturn of function newGlobalreturn of function createMappedArrayBufferreturn of function getMaxArgsreturn of function objectEmulatingUndefinedreturn of function isCachingEnabledreturn of function setCachingEnabledreturn of function cacheEntryreturn of function printProfilerEventsreturn of function enableSingleStepProfilingreturn of function disableSingleStepProfilingreturn of function isLatin1return of function stackPointerInforeturn of function entryPointsreturn of function sealreturn of function defineClassreturn of function loadClassreturn of function readFilereturn of function readUrlreturn of function spawnreturn of function syncreturn of function CallSitereturn of function Portreturn of function ChromeEventreturn of function ChromeStringEventreturn of function ChromeBooleanEventreturn of function ChromeNumberEventreturn of function ChromeObjectEventreturn of function ChromeStringArrayEventreturn of function ChromeStringStringEventreturn of function MessageSenderreturn of function MutedInforeturn of function Tabreturn of function ChromeLoadTimesreturn of function ChromeCsiInforeturn of function Headersreturn of function Bodyreturn of function Requestreturn of function RequestInitreturn of function Responsereturn of function ResponseInitreturn of function fetchreturn of function Blobreturn of function BlobBuilderreturn of function WebKitBlobBuilderreturn of function FileSystemFlagsreturn of function DirectoryEntryreturn of function DirectoryReaderreturn of function Entryreturn of function FileEntryreturn of function FileErrorreturn of function FileReaderreturn of function FileSaverreturn of function FileSystemreturn of function FileWriterreturn of function LocalFileSystemreturn of function Metadatareturn of function requestFileSystemreturn of function resolveLocalFileSystemURIreturn of function webkitRequestFileSystemreturn of function webkitResolveLocalFileSystemURIreturn of function createObjectURLreturn of function revokeObjectURLreturn of function webkitURLreturn of function StorageInforeturn of function StorageQuotareturn of function HTMLSpanElementreturn of function atobreturn of function btoareturn of function Selectionreturn of function BoxObjectreturn of function getComputedStylereturn of function nsIDOMPageTransitionEventreturn of function XMLHttpRequestreturn of function XMLSerializerreturn of function DOMParserreturn of function HTMLCanvasElementreturn of function CanvasPathMethodsreturn of function CanvasRenderingContext2Dreturn of function CanvasGradientreturn of function CanvasPatternreturn of function TextMetricsreturn of function ImageDatareturn of function ClientInformationreturn of function Databasereturn of function DatabaseCallbackreturn of function SQLErrorreturn of function SQLTransactionreturn of function SQLResultSetreturn of function SQLResultSetRowListreturn of function openDatabasereturn of function postMessagereturn of function DOMApplicationCachereturn of function importScriptsreturn of function WebWorkerreturn of function Workerreturn of function SharedWorkerreturn of function WorkerLocationreturn of function WorkerGlobalScopereturn of function DedicatedWorkerGlobalScopereturn of function SharedWorkerGlobalScopereturn of function HTMLMediaElementreturn of function TextTrackListreturn of function TextTrackreturn of function TextTrackCueListreturn of function TextTrackCuereturn of function VTTCuereturn of function HTMLAudioElementreturn of function HTMLVideoElementreturn of function MediaErrorreturn of function MessageChannelreturn of function MessagePortreturn of function MessageEventreturn of function BroadcastChannelreturn of function DataTransferreturn of function WheelEventInitreturn of function WheelEventreturn of function DataTransferItemreturn of function DataTransferItemListreturn of function DragEventInitreturn of function DragEventreturn of function ProgressEventInitreturn of function ProgressEventreturn of function TimeRangesreturn of function WebSocketreturn of function Historyreturn of function PopStateEventreturn of function HashChangeEventreturn of function PageTransitionEventreturn of function FileListreturn of function XMLHttpRequestEventTargetreturn of function XMLHttpRequestUploadreturn of function Imagereturn of function DOMTokenListreturn of function ValidityStatereturn of function HTMLEmbedElementreturn of function MutationRecordreturn of function MutationObserverreturn of function ShadowRootreturn of function HTMLContentElementreturn of function HTMLShadowElementreturn of function ErrorEventreturn of function ErrorEventInitreturn of function HTMLPictureElementreturn of function HTMLSourceElementreturn of function HTMLDetailsElementreturn of function HTMLMenuItemElementreturn of function RelatedEventreturn of function HTMLDialogElementreturn of function HTMLTemplateElementreturn of function RadioNodeListreturn of function HTMLDataListElementreturn of function HTMLOutputElementreturn of function HTMLProgressElementreturn of function HTMLTrackElementreturn of function HTMLMeterElementreturn of function Navigatorreturn of function PluginArrayreturn of function MimeTypeArrayreturn of function MimeTypereturn of function Pluginreturn of function XMLDOMDocumentreturn of function ClipboardDatareturn of function ControlRangereturn of function TextRangereturn of function controlRangereturn of function HTMLFiltersCollectionreturn of function HTMLFilterreturn of function AlphaFilterreturn of function AlphaImageLoaderFilterreturn of function Locationreturn of function RuntimeObjectreturn of function XDomainRequestreturn of function MSPointerPointreturn of function MSPointerEventreturn of function MSGesturereturn of function MSGestureEventreturn of function GestureEventreturn of function MediaSourcereturn of function SourceBufferreturn of function TransformStreamreturn of function PipeOptionsreturn of function ReadableStreamSourcereturn of function ReadableStreamreturn of function ReadableStreamDefaultReaderreturn of function ReadableStreamBYOBReaderreturn of function ReadableStreamDefaultControllerreturn of function ReadableByteStreamControllerreturn of function ReadableStreamBYOBRequestreturn of function WritableStreamSinkreturn of function WritableStreamreturn of function WritableStreamDefaultWriterreturn of function WritableStreamDefaultControllerreturn of function ByteLengthQueuingStrategyreturn of function CountQueuingStrategyreturn of function URLSearchParamsreturn of function URLreturn of function requestAnimationFramereturn of function cancelRequestAnimationFramereturn of function cancelAnimationFramereturn of function webkitRequestAnimationFramereturn of function webkitCancelRequestAnimationFramereturn of function webkitCancelAnimationFramereturn of function mozRequestAnimationFramereturn of function mozCancelRequestAnimationFramereturn of function mozCancelAnimationFramereturn of function msRequestAnimationFramereturn of function msCancelRequestAnimationFramereturn of function msCancelAnimationFramereturn of function oRequestAnimationFramereturn of function oCancelRequestAnimationFramereturn of function oCancelAnimationFramereturn of function BatteryManagerreturn of function StyleSheetreturn of function StyleSheetListreturn of function MediaListreturn of function LinkStylereturn of function DocumentStylereturn of function CSSStyleSheetreturn of function CSSRuleListreturn of function CSSRulereturn of function CSSStyleRulereturn of function CSSMediaRulereturn of function CSSFontFaceRulereturn of function CSSPageRulereturn of function CSSImportRulereturn of function CSSCharsetRulereturn of function CSSUnknownRulereturn of function CSSStyleDeclarationreturn of function CSSValuereturn of function CSSPrimitiveValuereturn of function CSSValueListreturn of function RGBColorreturn of function Rectreturn of function Counterreturn of function ViewCSSreturn of function DocumentCSSreturn of function DOMImplementationCSSreturn of function ElementCSSInlineStylereturn of function CSSPropertiesreturn of function MediaQueryListreturn of function Screenreturn of function CaretPositionreturn of function ClientRectListreturn of function ClientRectreturn of function CSSInterfacereturn of function FontFacereturn of function FontFaceSetreturn of function CSSMatrixreturn of function WebKitCSSMatrixreturn of function MSCSSMatrixreturn of function DeviceOrientationEventreturn of function DeviceAccelerationreturn of function DeviceRotationRatereturn of function DeviceMotionEventreturn of function DOMExceptionreturn of function ExceptionCodereturn of function DOMImplementationreturn of function Nodereturn of function DocumentFragmentreturn of function Documentreturn of function NodeListreturn of function NamedNodeMapreturn of function CharacterDatareturn of function Attrreturn of function Elementreturn of function Textreturn of function Commentreturn of function CDATASectionreturn of function DocumentTypereturn of function Notationreturn of function Entityreturn of function EntityReferencereturn of function ProcessingInstructionreturn of function Windowreturn of function HTMLCollectionreturn of function HTMLOptionsCollectionreturn of function HTMLDocumentreturn of function NodeFilterreturn of function NodeIteratorreturn of function TreeWalkerreturn of function HTMLElementreturn of function HTMLHtmlElementreturn of function HTMLHeadElementreturn of function HTMLLinkElementreturn of function HTMLTitleElementreturn of function HTMLMetaElementreturn of function HTMLBaseElementreturn of function HTMLIsIndexElementreturn of function HTMLStyleElementreturn of function HTMLBodyElementreturn of function HTMLFormControlsCollectionreturn of function HTMLFormElementreturn of function HTMLSelectElementreturn of function HTMLOptGroupElementreturn of function HTMLOptionElementreturn of function HTMLInputElementreturn of function HTMLTextAreaElementreturn of function HTMLButtonElementreturn of function HTMLLabelElementreturn of function HTMLFieldSetElementreturn of function HTMLLegendElementreturn of function HTMLUListElementreturn of function HTMLOListElementreturn of function HTMLDListElementreturn of function HTMLDirectoryElementreturn of function HTMLMenuElementreturn of function HTMLLIElementreturn of function HTMLDivElementreturn of function HTMLParagraphElementreturn of function HTMLHeadingElementreturn of function HTMLQuoteElementreturn of function HTMLPreElementreturn of function HTMLBRElementreturn of function HTMLBaseFontElementreturn of function HTMLFontElementreturn of function HTMLHRElementreturn of function HTMLModElementreturn of function HTMLAnchorElementreturn of function HTMLImageElementreturn of function HTMLObjectElementreturn of function HTMLParamElementreturn of function HTMLAppletElementreturn of function HTMLMapElementreturn of function HTMLAreaElementreturn of function HTMLScriptElementreturn of function HTMLTableElementreturn of function HTMLTableCaptionElementreturn of function HTMLTableColElementreturn of function HTMLTableSectionElementreturn of function HTMLTableRowElementreturn of function HTMLTableCellElementreturn of function HTMLFrameSetElementreturn of function HTMLFrameElementreturn of function HTMLIFrameElementreturn of function DOMStringListreturn of function NameListreturn of function DOMImplementationListreturn of function DOMImplementationSourcereturn of function TypeInforeturn of function UserDataHandlerreturn of function DOMErrorreturn of function DOMErrorHandlerreturn of function DOMLocatorreturn of function DOMConfigurationreturn of function TextDecoderreturn of function decodereturn of function TextEncoderreturn of function EventTargetreturn of function EventListenerreturn of function EventInitreturn of function Eventreturn of function CustomEventInitreturn of function CustomEventreturn of function DocumentEventreturn of function UIEventInitreturn of function UIEventreturn of function EventModifierInitreturn of function MouseEventInitreturn of function MouseEventreturn of function MutationEventreturn of function KeyboardEventInitreturn of function KeyboardEventreturn of function FocusEventInitreturn of function FocusEventreturn of function EventListenerOptionsreturn of function AddEventListenerOptionsreturn of function InputEventInitreturn of function InputEventreturn of function Gamepadreturn of function GamepadButtonreturn of function Geolocationreturn of function GeolocationCoordinatesreturn of function GeolocationPositionreturn of function GeolocationPositionOptionsreturn of function GeolocationPositionErrorreturn of function IDBFactoryreturn of function IDBDatabaseExceptionreturn of function webkitIDBDatabaseExceptionreturn of function IDBRequestreturn of function webkitIDBRequestreturn of function IDBOpenDBRequestreturn of function IDBDatabasereturn of function IDBObjectStorereturn of function IDBIndexreturn of function IDBCursorreturn of function webkitIDBCursorreturn of function IDBCursorWithValuereturn of function IDBTransactionreturn of function webkitIDBTransactionreturn of function IDBKeyRangereturn of function webkitIDBKeyRangereturn of function IDBVersionChangeEventreturn of function webkitIDBVersionChangeEventreturn of function MIDIInputMapreturn of function MIDIOutputMapreturn of function MIDIAccessreturn of function MIDIPortreturn of function MIDIInputreturn of function MIDIOutputreturn of function MIDIMessageEventreturn of function MIDIMessageEventInitreturn of function MIDIConnectionEventreturn of function MIDIConnectionEventInitreturn of function PerformanceTimingreturn of function PerformanceEntryreturn of function PerformanceResourceTimingreturn of function PerformanceNavigationreturn of function PerformanceMemoryreturn of function Performancereturn of function PermissionStatusreturn of function Permissionsreturn of function PointerEventInitreturn of function PointerEventreturn of function Rangereturn of function DocumentRangereturn of function RangeExceptionreturn of function requestIdleCallbackreturn of function cancelIdleCallbackreturn of function IdleDeadlinereturn of function SourceInforeturn of function MediaSettingsRangereturn of function MediaTrackCapabilitiesreturn of function MediaTrackSettingsreturn of function MediaTrackSupportedConstraintsreturn of function MediaStreamTrackreturn of function MediaStreamTrackEventreturn of function MediaStreamreturn of function RTCDTMFToneChangeEventreturn of function RTCDTMFSenderreturn of function RTCRtpSenderreturn of function RTCRtpContributingSourcereturn of function RTCRtpReceiverreturn of function RTCRtpTransceiverInitreturn of function RTCRtpEncodingParametersreturn of function RTCRtpTransceiverreturn of function LongRangereturn of function DoubleRangereturn of function ConstrainBooleanParametersreturn of function ConstrainDOMStringParametersreturn of function ConstrainDoubleRangereturn of function ConstrainLongRangereturn of function MediaTrackConstraintSetreturn of function MediaTrackConstraintsreturn of function MediaStreamConstraintsreturn of function NavigatorUserMediaErrorreturn of function MediaStreamEventreturn of function MediaRecorderOptionsreturn of function MediaRecorderreturn of function PhotoSettingsreturn of function PhotoCapabilitiesreturn of function ImageCapturereturn of function RTCTrackEventreturn of function MediaDeviceInforeturn of function MediaDevicesreturn of function RTCSessionDescriptionreturn of function IceCandidatereturn of function RTCIceCandidateInitreturn of function RTCIceCandidatereturn of function RTCIceServerInterface_return of function RTCConfigurationInterface_return of function RTCPeerConnectionIceEventreturn of function RTCStatsReportreturn of function RTCStatsResponsereturn of function MediaConstraintSetInterface_return of function MediaConstraintsInterface_return of function RTCDataChannelreturn of function RTCDataChannelEventreturn of function RTCDataChannelInitInterface_return of function RTCPeerConnectionreturn of function RTCIceTransportreturn of function RTCIceGathererreturn of function RTCDtlsTransportreturn of function ScreenOrientationreturn of function ServiceWorkerreturn of function PushSubscriptionreturn of function PushManagerreturn of function PushMessageDatareturn of function PushEventreturn of function ServiceWorkerRegistrationreturn of function ServiceWorkerContainerreturn of function ServiceWorkerGlobalScopereturn of function ServiceWorkerClientreturn of function ServiceWorkerClientsreturn of function Cachereturn of function CacheStoragereturn of function ExtendableEventreturn of function InstallEventreturn of function FetchEventreturn of function Touchreturn of function TouchListreturn of function TouchEventInitreturn of function TouchEventreturn of function XPathExceptionreturn of function XPathEvaluatorreturn of function XPathExpressionreturn of function XPathNSResolverreturn of function XPathResultreturn of function XPathNamespacereturn of function FormDatareturn of function WebGLRenderingContextreturn of function WebGLContextAttributesreturn of function WebGLContextEventreturn of function WebGLShaderPrecisionFormatreturn of function WebGLObjectreturn of function WebGLBufferreturn of function WebGLFramebufferreturn of function WebGLProgramreturn of function WebGLRenderbufferreturn of function WebGLShaderreturn of function WebGLTexturereturn of function WebGLActiveInforeturn of function WebGLUniformLocationreturn of function OES_texture_floatreturn of function OES_texture_half_floatreturn of function WEBGL_lose_contextreturn of function OES_standard_derivativesreturn of function WebGLVertexArrayObjectOESreturn of function OES_vertex_array_objectreturn of function WEBGL_debug_renderer_inforeturn of function WEBGL_debug_shadersreturn of function WEBGL_compressed_texture_s3tcreturn of function OES_depth_texturereturn of function OES_element_index_uintreturn of function EXT_texture_filter_anisotropicreturn of function WEBGL_draw_buffersreturn of function ANGLE_instanced_arraysreturn of function WebKitPointreturn of function MemoryInforeturn of function ScriptProfileNodereturn of function ScriptProfilereturn of function WebKitAnimationEventreturn of function NotificationOptionsInterface_return of function Notificationreturn of function NotificationCenterreturn of function NotificationEventreturn of function WebKitNamespacereturn of function UserMessageHandlersNamespacereturn of function UserMessageHandlerreturn of function Storagereturn of function WindowSessionStoragereturn of function WindowLocalStoragereturn of function StorageEventreturn of function alertreturn of function confirmreturn of function dumpreturn of function promptreturn of function hasOwnPropertyreflective call...valueglobal access path[post update] documen ... istener[post update] document[post update] 'DOMContentLoaded'[post update] () => { ... e;");\n}[post update] documen ... elector[post update] '.nav-header'[post update] window. ... istener[post update] window[post update] 'scroll'[post update] () => { ... }\n }[post update] header.style[post update] header[post update] 'rgba(0 ... 0.95)'[post update] 'blur(30px)'[post update] '80px'[post update] header.classList.add[post update] header.classList[post update] 'shadow-2xl'[post update] 'rgba(0, 0, 0, 0.9)'[post update] 'blur(20px)'[post update] '100px'[post update] header. ... .remove[post update] documen ... ctorAll[post update] '.nav-link'[post update] window.location[post update] navLinks.forEach[post update] navLinks[post update] link => ... }\n }[post update] link.getAttribute[post update] link[post update] 'href'[post update] link.classList.add[post update] link.classList[post update] 'active'[post update] console.log[post update] console[post update] "%c[JSF ... MPLETE"[post update] "color: ... space;"[post update] window.dataLayer||[][post update] functio ... ments)}[post update] dataLayer.push[post update] dataLayer[post update] arguments[post update] localStorage.getItem[post update] localStorage[post update] "uksfta_consent"[post update] JSON.parse[post update] JSON[post update] localSt ... nsent")[post update] gtag[post update] "consent"[post update] "default"[post update] {ad_sto ... enied"}[post update] e[post update] console.error[post update] "CONSEN ... AILURE"[post update] async f ... LINE"}}[post update] fetch(" ... lp"})})[post update] fetch[post update] "http:/ ... ommand"[post update] {method ... elp"})}[post update] JSON.stringify[post update] {command:"help"}[post update] documen ... entById[post update] "status-rcon"[post update] t[post update] e.ok?"t ... t-bold"[post update] e.ok?"O ... FFLINE"[post update] documen ... -rcon")[post update] "OFFLINE"[post update] fetch(" ... "GET"})[post update] "http:/ ... i/file"[post update] {method:"GET"}[post update] "status-registry"[post update] e.statu ... t-bold"[post update] e.statu ... FFLINE"[post update] documen ... istry")[post update] setInterval[post update] checkServices[post update] 3e4[post update] documen ... .remove[post update] documen ... assList[post update] documen ... modal")[post update] "cookie-modal"[post update] "hidden"[post update] (functi ... ld;")})[post update] functio ... old;")}[post update] "[JSFC_ ... ted..."[post update] null[post update] "today"[post update] async f ... :",e)}}[post update] "[JSFC_ ... ion..."[post update] fetch(" ... .now())[post update] "/intel ... e.now()[post update] Date.now[post update] Date[post update] n[post update] Error[post update] `HTTP_${n.status}`[post update] n.json()[post update] n.json[post update] a[post update] e.unitcommander[post update] o[post update] "[JSFC_ ... ilure:"[post update] "[JSFC_ ... ard..."[post update] "/telem ... e.now()[post update] e.json()[post update] e.json[post update] functio ... in("")}[post update] ".opera ... tainer"[post update] [...e.c ... ).slice[post update] [...e.c ... ed_at))[post update] [...e.c ... s].sort[post update] [...e.campaigns][post update] (e,t)=> ... ted_at)[post update] t.created_at[post update] e.created_at[post update] 0[post update] 2[post update] n.map(e ... oin("")[post update] n.map(e ... }).join[post update] n.map(e ... `})[post update] n.map[post update] e=>{con ... `}[post update] new Dat ... eString[post update] new Dat ... ted_at)[post update] "en-GB"[post update] {day:"2 ... digit"}[post update] e.brief ... replace[post update] e.brief ... g(0,80)[post update] e.brief.substring[post update] e.brief[post update] 80[post update] /\n/g[post update] " "[post update] e.campa ... replace[post update] e.campa ... /g,"-")[post update] e.campa ... rCase()[post update] e.campa ... werCase[post update] e.campaignName[post update] /[^a-z0-9]+/g[post update] "-"[post update] /(^-|-$)/g[post update] ""[post update] e=>{con ... idden"}[post update] window.globalIntel[post update] n.campaigns.find[post update] n.campaigns[post update] t=>t.id==e[post update] "operation-modal"[post update] "modal-op-image"[post update] "modal-op-title"[post update] "modal-op-date"[post update] "modal-op-brief"[post update] "modal-op-map"[post update] i[post update] t.campaignName[post update] `COMMEN ... ase()}`[post update] new Dat ... perCase[post update] new Dat ... eric"})[post update] {day:"2 ... meric"}[post update] r[post update] t.brief ... OVERED"[post update] c[post update] `LOCATI ... FIED"}`[post update] t.image[post update] s[post update] t.image.path[post update] s.classList.remove[post update] s.classList[post update] s.classList.add[post update] o.classList.remove[post update] o.classList[post update] document.body.style[post update] document.body[post update] ()=>{do ... low=""}[post update] documen ... ist.add[post update] "keydown"[post update] e=>{e.k ... odal()}[post update] closeOperationModal[post update] functio ... a,c,d)}[post update] "status-text"[post update] "status-indicator"[post update] "player-count"[post update] "battle ... -graph"[post update] "bm-overlay"[post update] l.classList.add[post update] l.classList[post update] l[post update] "STATION_ACTIVE"[post update] "text-[ ... ercase"[post update] `w-1.5 ... ,0.6)]`[post update] `${e.pl ... CTIVES`[post update] "LINK_SEVERED"[post update] "w-1.5 ... d-full"[post update] "STATION_OFFLINE"[post update] window. ... lemetry[post update] a.unshift[post update] {attrib ... ing()}}[post update] (new Da ... OString[post update] (new Date)[post update] d[post update] functio ... `}[post update] Math.max[post update] Math[post update] 10[post update] e=>u=== ... -l)/u*d[post update] new Date(e).getTime[post update] new Date(e)[post update] e=>s-e/g*s[post update] e.map(e ... reverse[post update] e.map(e ... e()>=l)[post update] e.map(e ... .filter[post update] e.map(e ... tamp}))[post update] e.map[post update] e=>({v: ... stamp})[post update] e.attributes[post update] e=>e.v< ... me()>=l[post update] new Dat ... getTime[post update] new Date(e.t)[post update] e.t[post update] c.forEach[post update] (e,t)=> ... {r}`)}}[post update] p[post update] e.v[post update] new Date(l.t)[post update] l.t[post update] `\n ... `[post update] c.map(( ... `).join[post update] c.map(( ... `)[post update] c.map[post update] (e)=>`\n ... `[post update] (e,t)=> ... git"})}[post update] "graph-tooltip"[post update] "tooltip-val"[post update] "tooltip-time"[post update] n.style[post update] "1"[post update] `${e} EFFECTIVES`[post update] isNaN(s ... igit"})[post update] isNaN[post update] s.toLocaleTimeString[post update] {hour:" ... digit"}[post update] ()=>{co ... y="0")}[post update] e.style[post update] "0"[post update] functio ... c(n,t)}[post update] ".live- ... tainer"[post update] "[JSFC_ ... eed..."[post update] o.forEach[post update] s=>{con ... e:!1})}[post update] e.campaignEvents[post update] new Dat ... _at||0)[post update] s.updat ... d_at||0[post update] i.map[post update] e=>new ... tTime()[post update] e.start ... ated_at[post update] ...e[post update] e.standalone.forEach[post update] e.standalone[post update] e=>{con ... IVE"})}[post update] functio ... TML=l)}[post update] Math.floor[post update] Math.ab ... *60*24)[post update] Math.abs[post update] i-n[post update] (e.map| ... perCase[post update] (e.map| ... .trim()[post update] (e.map| ... 0].trim[post update] (e.map| ... "(")[0][post update] (e.map| ... it("(")[post update] (e.map| ... ).split[post update] (e.map| ... IFIED")[post update] "("[post update] e.updat ... ated_at[post update] {day:"2 ... short"}[post update] n.toLoc ... perCase[post update] n.toLoc ... igit"})[post update] n.toLocaleDateString[post update] e=>e.innerHTML=l[post update] async f ... OST")}}[post update] ".disco ... -count"[post update] ".signal-strength"[post update] ".link-id"[post update] performance.now[post update] performance[post update] fetch(` ... .json`)[post update] `https: ... t.json`[post update] r.json()[post update] r.json[post update] 20[post update] Math.mi ... 0)/10))[post update] Math.min[post update] 100[post update] 100-Mat ... 50)/10)[post update] (c-50)/10[post update] Math.random()*5[post update] Math.random[post update] a.prese ... adStart[post update] a.prese ... tring()[post update] a.prese ... oString[post update] a.presence_count[post update] t.forEach[post update] e=>{e.i ... -900")}[post update] e.classList.remove[post update] e.classList[post update] "text-red-900"[post update] n.forEach[post update] e=>{e.i ... white"}[post update] `LINK_I ... ${i}%`[post update] i<50?"# ... "white"[post update] Math.fl ... .substr[post update] Math.fl ... rCase()[post update] Math.fl ... perCase[post update] Math.fl ... ing(16)[post update] Math.fl ... oString[post update] Math.fl ... ()/1e3)[post update] Date.now()/1e3[post update] 16[post update] -4[post update] e.substr[post update] s.forEach[post update] e=>{e.innerText=c}[post update] `[JSFC_ ... ctive.`[post update] "??"[post update] e.classList.add[post update] e=>e.in ... K_LOST"[post update] "LINK_LOST"[post update] n=>{con ... }):e()}[post update] ".bm-range-btn"[post update] e=>{e.c ... )===n)}[post update] e.classList.toggle[post update] "active"[post update] e.getAt ... e")===n[post update] e.getAttribute[post update] "data-range"[post update] window. ... ics||{}[post update] 3e5[post update] 6e4[post update] console.warn[post update] "[JSFC_ ... bited."[post update] functio ... "0")}`}[post update] "clock"[post update] `${Stri ... ,"0")}`[post update] String( ... adStart[post update] String( ... ours())[post update] String[post update] e.getUTCHours()[post update] e.getUTCHours[post update] String( ... utes())[post update] e.getUTCMinutes()[post update] e.getUTCMinutes[post update] String( ... onds())[post update] e.getUTCSeconds()[post update] e.getUTCSeconds[post update] 1e3[post update] "%c[UKS ... TECTED"[post update] "color: ... bold;"[post update] (functi ... ())})})[post update] functio ... s())})}[post update] "cookie ... banner"[post update] ".cookie-toggle"[post update] functio ... l:e}))}[post update] "update"[post update] window.dispatchEvent[post update] new Cus ... ail:e})[post update] CustomEvent[post update] "cookie ... pdated"[post update] {detail:e}[post update] functio ... dden")}[post update] localStorage.setItem[post update] JSON.stringify(n)[post update] "translate-y-full"[post update] setTimeout[post update] ()=>e.c ... idden")[post update] 700[post update] t.classList.add[post update] t.classList[post update] functio ... ):null}[post update] ()=>e.c ... -full")[post update] {ad_sto ... te:500}[post update] documen ... t-all")[post update] "cookie-accept-all"[post update] ()=>{co ... };n(e)}[post update] "cookie-reject-all"[post update] documen ... s-btn")[post update] "cookie ... gs-btn"[post update] ()=>t.c ... idden")[post update] t.classList.remove[post update] "close-cookie-modal"[post update] documen ... tings")[post update] "save-c ... ttings"[post update] ()=>{co ... ),n(e)}[post update] r.forEach[post update] t=>{e[t ... hecked}[post update] t.checked[post update] e=>{e.d ... nts())}[post update] e.detail[post update] "[PRIVA ... feeds."[post update] updateServerStatus[post update] updateDiscordStatus[post update] fetchEvents[post update] "uksf_auth"[post update] "/restricted"[post update] functio ... ext=n)}[post update] new Int ... .format[post update] new Int ... ndon"})[post update] Intl.DateTimeFormat[post update] Intl[post update] {hour:" ... ondon"}[post update] new Int ... "UTC"})[post update] {hour:" ... :"UTC"}[post update] documen ... forEach[post update] documen ... ondon")[post update] ".clock-london"[post update] e=>e.innerText=t[post update] documen ... k-utc")[post update] ".clock-utc"[post update] e=>e.innerText=n[post update] updateI ... eClocks[post update] switchMap[post update] "intel"[post update] "uksf"[post update] functio ... den"))}[post update] "map-intel"[post update] "map-uksf"[post update] "btn-intel"[post update] "btn-uksf"[post update] "map-status-id"[post update] "map-status-grid"[post update] "opacity-0"[post update] "pointe ... s-none"[post update] o.classList.add[post update] "text-white"[post update] "border ... mary)]"[post update] "text-gray-600"[post update] "border-transparent"[post update] n.classList.add[post update] n.classList[post update] n.classList.remove[post update] i.classList.remove[post update] i.classList[post update] a.classList.add[post update] a.classList[post update] i.classList.add[post update] a.classList.remove[post update] sendBroadcast[post update] async f ... lue=""}[post update] "broadcast-msg"[post update] fetch(" ... e}`})})[post update] {method ... ue}`})}[post update] {comman ... alue}`}[post update] saveFragment[post update] async f ... ,2e3)}}[post update] "vault-editor"[post update] 'button ... nt()"]'[post update] "SYNCING..."[post update] fetch(" ... lue})})[post update] {method ... alue})}[post update] {slug:" ... .value}[post update] "SYNC_COMPLETE"[post update] ()=>e.innerText=t[post update] 2e3[post update] "Sync Failed"[post update] "OFFLINE_MODE"[post update] "text-red-500"[post update] ()=>{e. ... -500")}[post update] functio ... =t+"Z"}[post update] e.toLocaleTimeString[post update] {timeZo ... r12:!1}[post update] documen ... -time")[post update] "zulu-time"[post update] t+"Z"[post update] updateTime[post update] "DOMContentLoaded"[post update] ()=>{co ... ace;")}[post update] ".nav-header"[post update] "scroll"[post update] ()=>{if ... 2xl"))}[post update] "rgba(0 ... 0.95)"[post update] "blur(30px)"[post update] "80px"[post update] "shadow-2xl"[post update] "rgba(0, 0, 0, 0.9)"[post update] "blur(20px)"[post update] "100px"[post update] ".nav-link"[post update] e=>{e.g ... tive")}[post update] "href"[post update] 'orbat-canvas'[post update] 'canvas-content'[post update] 'zoom-level'[post update] 'orbat-connectors'[post update] 'temp-link'[post update] 'toast-container'[post update] 'icon-modal'[post update] 'icon-grid'[post update] Set[post update] Map[post update] functio ... ar();\n}[post update] content.style[post update] content[post update] `transl ... cale})`[post update] zoomDisplay[post update] `Zoom: ... 100)}%`[post update] Math.round[post update] scale * 100[post update] updateLinks[post update] selectedNodes[post update] selectedLinks[post update] showContextToolbar[post update] hideContextToolbar[post update] functio ... });\n}[post update] documen ... group')[post update] '.orbat-link-group'[post update] group = ... ;\n }[post update] group.getAttribute[post update] group[post update] 'data-source'[post update] 'data-target'[post update] 'data-from-side'[post update] 'data-to-side'[post update] getPointOnSide[post update] sourceId[post update] sSide[post update] targetId[post update] tSide[post update] getBezierPath[post update] p1[post update] p2[post update] group.q ... forEach[post update] group.q ... 'path')[post update] group.q ... ctorAll[post update] 'path'[post update] p => p. ... , path)[post update] p.setAttribute[post update] 'd'[post update] path[post update] functio ... }\n}[post update] `node-${nodeId}`[post update] parseFloat[post update] el.getA ... ata-x')[post update] el.getAttribute[post update] el[post update] 'data-x'[post update] el.getA ... ata-y')[post update] 'data-y'[post update] el.getA ... ata-w')[post update] 'data-w'[post update] el.getA ... ata-h')[post update] 'data-h'[post update] functio ... .y}`;\n}[post update] Math.hypot[post update] p2.x - p1.x[post update] p2.y - p1.y[post update] dist / 2[post update] 150[post update] cp1[post update] cpDist[post update] cp2[post update] 'node-tfhq'[post update] '.orbat ... rapper'[post update] target. ... ata-x')[post update] target.getAttribute[post update] target[post update] target. ... ata-y')[post update] updateTransform[post update] (amount ... 0.9);\n}[post update] canvas. ... entRect[post update] canvas[post update] rect[post update] zoomAt[post update] cx[post update] cy[post update] amount ... 1 : 0.9[post update] functio ... rm();\n}[post update] Math.ma ... factor)[post update] 0.1[post update] scale * factor[post update] 3[post update] () => w ... rView()[post update] window.centerView[post update] functio ... le };\n}[post update] canvas. ... istener[post update] 'mousedown'[post update] (e) => ... }\n}[post update] e.targe ... ontains[post update] e.target.classList[post update] e.target[post update] 'editable-field'[post update] documen ... omPoint[post update] e.clientX[post update] e.clientY[post update] underMouse?.closest[post update] underMouse[post update] '#node-context-menu'[post update] '.connection-points'[post update] '.resize-handle'[post update] underMo ... ontains[post update] underMo ... assList[post update] 'resize-handle'[post update] underMouse.closest[post update] documen ... ontains[post update] documen ... n-bar')[post update] 'hq-admin-bar'[post update] 'edit-active'[post update] underMouse.classList[post update] 'top'[post update] 'bottom'[post update] 'left'[post update] 'right'[post update] 'bottom-right'[post update] getCanvasCoords[post update] coords[post update] resizeN ... ata-w')[post update] resizeN ... tribute[post update] resizeNode[post update] resizeN ... ata-h')[post update] resizeN ... ata-x')[post update] resizeN ... ata-y')[post update] e.stopPropagation[post update] nodeWra ... tribute[post update] nodeWrapper[post update] 'data-id'[post update] nodeWra ... ata-x')[post update] nodeWra ... ata-y')[post update] nodeWra ... ata-w')[post update] nodeWra ... ata-h')[post update] sides.forEach[post update] sides[post update] s => {\n ... }[post update] coords.x - s.x[post update] coords.y - s.y[post update] createNewLink[post update] linkSourceId[post update] linkSourceSide[post update] nearestSide[post update] stopDrawingLink[post update] selectedLinks.has[post update] linkGroup[post update] selectedLinks.delete[post update] linkGro ... .remove[post update] linkGroup.classList[post update] 'selected'[post update] selectedLinks.add[post update] linkGro ... ist.add[post update] clearSelection[post update] selectedNodes.has[post update] selectedNodes.delete[post update] nodeWra ... .remove[post update] nodeWra ... assList[post update] selectedNodes.add[post update] nodeWra ... ist.add[post update] updateSelectionUI[post update] initial ... s.clear[post update] initialNodePositions[post update] selecte ... forEach[post update] node => ... }[post update] initial ... ons.set[post update] node[post update] {\n ... }[post update] node.ge ... ata-x')[post update] node.getAttribute[post update] node.ge ... ata-y')[post update] documen ... Element[post update] 'div'[post update] selectionBox[post update] 'absolu ... s-none'[post update] selectionBox.style[post update] '1px solid #b3995d'[post update] 'rgba(1 ... , 0.2)'[post update] `${startMouseX}px`[post update] `${startMouseY}px`[post update] '0px'[post update] canvas.appendChild[post update] e.preventDefault[post update] 'mousemove'[post update] current ... tMouseX[post update] current ... tMouseY[post update] currentX[post update] startMouseX[post update] currentY[post update] startMouseY[post update] `${width}px`[post update] `${height}px`[post update] `${left}px`[post update] `${top}px`[post update] m[post update] 160[post update] Math.ro ... AP_SIZE[post update] (startW ... AP_SIZE[post update] (startH ... AP_SIZE[post update] resizeNode.style[post update] `${newW}px`[post update] `${newH}px`[post update] `${OFFSET + newX}px`[post update] `${OFFSET + newY}px`[post update] newW[post update] newH[post update] newX[post update] newY[post update] documen ... apper')[post update] n => n. ... hover')[post update] 'link-target-hover'[post update] targets[post update] targets.forEach[post update] t => {\n ... }[post update] p2.x - t.x[post update] p2.y - t.y[post update] nearest[post update] tempLin ... tribute[post update] tempLink[post update] getBezi ... tSide)[post update] initial ... ons.get[post update] startPos[post update] rawX / SNAP_SIZE[post update] rawY / SNAP_SIZE[post update] node.style[post update] node.setAttribute[post update] 'mouseup'[post update] () => { ... null;\n}[post update] selecti ... entRect[post update] selectionBox.remove[post update] node.ge ... entRect[post update] sbRect[post update] nodeRect[post update] node.classList.add[post update] node.classList[post update] group = ... }[post update] group.querySelector[post update] '.orbat-link-visual'[post update] visual. ... lLength[post update] visual[post update] visual. ... tLength[post update] pathLen / 2[post update] mid[post update] canvas. ... tRect()[post update] group.classList.add[post update] group.classList[post update] parseFl ... AP_SIZE[post update] x[post update] y[post update] `${OFFSET + x}px`[post update] `${OFFSET + y}px`[post update] movedNames.push[post update] movedNames[post update] node.qu ... .trim()[post update] node.qu ... xt.trim[post update] node.qu ... nerText[post update] node.qu ... ame"]')[post update] node.querySelector[post update] '[data-key="name"]'[post update] saveState[post update] desc[post update] resizeN ... xt.trim[post update] resizeN ... nerText[post update] resizeN ... ame"]')[post update] resizeN ... elector[post update] `${name} Resized`[post update] 'wheel'[post update] (e) => ... 1.1);\n}[post update] e.clien ... ct.left[post update] e.clientY - rect.top[post update] e.delta ... 9 : 1.1[post update] { passive: false }[post update] 'dblclick'[post update] window. ... tNodeAt[post update] coords.x / SNAP_SIZE[post update] coords.y / SNAP_SIZE[post update] functio ... here\n}[post update] seriali ... ntState[post update] state[post update] history ... yIndex][post update] history[post update] history.slice[post update] historyIndex + 1[post update] history.push[post update] history.shift[post update] functio ... } \n}[post update] loadState[post update] showToast[post update] 'ACTION_REVERSED'[post update] 'ACTION_RESTORED'[post update] 'history-drawer'[post update] drawer. ... .toggle[post update] drawer.classList[post update] drawer[post update] 'translate-x-full'[post update] drawer. ... ontains[post update] updateH ... rawerUI[post update] commits[post update] commits[index].data[post update] commits[index][post update] 'TIMELI ... MPLETE'[post update] functio ... UI();\n}[post update] commits.splice[post update] index[post update] 1[post update] commits ... 1].data[post update] commits ... th - 1][post update] window. ... Storage[post update] 'RESTOR ... SELINE'[post update] 'history-list'[post update] list[post update] ''[post update] [...com ... forEach[post update] [...com ... verse()[post update] [...commits].reverse[post update] [...commits][post update] (entry, ... ;\n }[post update] item[post update] `history-item`[post update] () => w ... lIndex)[post update] window.jumpToHistory[post update] actualIndex[post update] entry[post update] entry.i ... ).slice[post update] entry.id.toString()[post update] entry.id.toString[post update] entry.id[post update] list.appendChild[post update] functio ... es };\n}[post update] Array.f ... ')).map[post update] Array.f ... pper'))[post update] Array.from[post update] Array[post update] el => { ... ;\n }[post update] el.querySelector[post update] '.personnel-list'[post update] el.quer ... xt.trim[post update] el.quer ... nerText[post update] el.quer ... ame"]')[post update] el.quer ... ole"]')[post update] '[data-key="role"]'[post update] el.quer ... ign"]')[post update] '[data- ... sign"]'[post update] el.quer ... tribute[post update] el.quer ... ('img')[post update] 'img'[post update] 'data-icon-path'[post update] personnelEl[post update] Array.f ... roup'))[post update] el => ( ... \n })[post update] el.id.replace[post update] el.id[post update] 'edge-'[post update] functio ... on();\n}[post update] documen ... layer')[post update] 'orbat-nodes-layer'[post update] l => l.remove()[post update] l.remove[post update] state.nodes.forEach[post update] state.nodes[post update] n => renderNode(n)[post update] renderNode[post update] state.edges.forEach[post update] state.edges[post update] e => cr ... , e.id)[post update] e.fromNode[post update] e.fromSide[post update] e.toNode[post update] e.toSide[post update] e.id[post update] functio ... ks();\n}[post update] '.orbat-node-card'[post update] node.ge ... ata-h')[post update] '.p-4'[post update] 'auto'[post update] Math.ceil[post update] (natura ... AP_SIZE[post update] currentH[post update] requiredH[post update] `${finalH}px`[post update] finalH[post update] functio ... , 0);\n}[post update] newNode[post update] 'orbat- ... ow-2xl'[post update] `node-${n.id}`[post update] newNode.setAttribute[post update] n.id[post update] n.x[post update] n.y[post update] n.w[post update] n.h[post update] newNode.style[post update] `${OFFSET + n.x}px`[post update] `${OFFSET + n.y}px`[post update] `${n.w}px`[post update] `${n.h}px`[post update] `\n ... >\n `[post update] documen ... ndChild[post update] () => s ... ewNode)[post update] snapNodeHeight[post update] functio ... 000);\n}[post update] toast[post update] `p-4 bg ... on-500`[post update] ``[post update] new Date()[post update] toastCo ... ndChild[post update] toastContainer[post update] () => { ... 500); }[post update] toast.style[post update] '0'[post update] 'translateX(50px)'[post update] () => toast.remove()[post update] toast.remove[post update] 500[post update] 4000[post update] n => n. ... ected')[post update] selectedNodes.clear[post update] l => l. ... ected')[post update] l.classList.remove[post update] selectedLinks.clear[post update] functio ... en');\n}[post update] Array.f ... es).pop[post update] Array.f ... dNodes)[post update] Array.f ... ks).pop[post update] Array.f ... dLinks)[post update] 'node-context-menu'[post update] 'node-c ... s-auto'[post update] ``[post update] targetE ... elector[post update] targetEl[post update] t.style[post update] `${midP ... eft}px`[post update] midPoint[post update] `${midP ... 40}px`[post update] targetE ... entRect[post update] `${r.le ... / 2}px`[post update] `${r.top - 60}px`[post update] 'hidden'[post update] confirm[post update] `Sever ... on(s)?`[post update] link => ... }[post update] link.remove[post update] "Sever Connections"[post update] 'CONNEC ... EVERED'[post update] 'danger'[post update] functio ... en'); }[post update] functio ... ED');\n}[post update] adminBa ... .toggle[post update] adminBar.classList[post update] adminBar[post update] 'edit-mode-btn'[post update] btn.classList.toggle[post update] btn.classList[post update] btn[post update] isActive[post update] stateBeforeEdit[post update] documen ... oints')[post update] el => e ... Active)[post update] el.classList.toggle[post update] el.classList[post update] !isActive[post update] documen ... field')[post update] '.editable-field'[post update] el => e ... false')[post update] el.setAttribute[post update] 'contenteditable'[post update] isActiv ... 'false'[post update] isActiv ... SABLED'[post update] functio ... ed`);\n}[post update] Math.ra ... .substr[post update] Math.ra ... ing(36)[post update] Math.ra ... oString[post update] Math.random()[post update] 36[post update] 9[post update] { id, n ... : 200 }[post update] `node-${id}`[post update] `${name ... sioned`[post update] () => { ... IZE);\n}[post update] canvas. ... dth / 2[post update] canvas. ... ght / 2[post update] c.x / SNAP_SIZE[post update] c.y / SNAP_SIZE[post update] () => { ... ed`);\n}[post update] { \n ... \n }[post update] `Note Added`[post update] confirmMsg[post update] documen ... id}"]`)[post update] `.orbat ... {id}"]`[post update] l => {\n ... }[post update] node.remove[post update] link => ... emove()[post update] `Cleanup Complete`[post update] 'RECORDS_PURGED'[post update] () => w ... ected()[post update] window. ... elected[post update] () => { ... ED');\n}[post update] 'a'[post update] URL.cre ... on' }))[post update] URL.createObjectURL[post update] URL[post update] new Blo ... son' })[post update] Blob[post update] [JSON.s ... ll, 2)][post update] seriali ... State()[post update] { type: ... json' }[post update] 'orbat_v2.json'[post update] a.click[post update] 'ORBAT_ ... PORTED'[post update] iconGrid[post update] assets.forEach[post update] assets[post update] path => ... ;\n }[post update] 'group/ ... on-all'[post update] () => { ... ath); }[post update] applyIcon[post update] ``[post update] path.split('/').pop[post update] path.split('/')[post update] path.split[post update] '/'[post update] iconGrid.appendChild[post update] iconMod ... .remove[post update] iconModal.classList[post update] iconModal[post update] () => { ... null; }[post update] iconMod ... ist.add[post update] input.files[post update] input[post update] FileReader[post update] reader[post update] functio ... ult); }[post update] e.target.result[post update] reader.readAsDataURL[post update] file[post update] functio ... al();\n}[post update] node => ... ;\n }[post update] '.space-y-3'[post update] contain ... elector[post update] container[post update] '.flex. ... center'[post update] imgDiv[post update] 'flex j ... center'[post update] ``[post update] contain ... tBefore[post update] container.firstChild[post update] imgDiv.querySelector[post update] img[post update] src.sta ... ${src}`[post update] src.startsWith[post update] src[post update] 'data:'[post update] img.setAttribute[post update] affectedNames.push[post update] affectedNames[post update] 'ICON_APPLIED'[post update] closeIconModal[post update] e.targe ... tribute[post update] e.targe ... apper')[post update] e.target.closest[post update] tempLin ... .remove[post update] tempLink.classList[post update] functio ... r'));\n}[post update] tempLin ... ist.add[post update] documen ... ementNS[post update] 'http:/ ... 00/svg'[post update] 'g'[post update] group.setAttribute[post update] 'class'[post update] 'orbat-link-group'[post update] 'id'[post update] `edge-${eid}`[post update] source[post update] hitArea.setAttribute[post update] hitArea[post update] 'orbat- ... t-area'[post update] 'fill'[post update] 'none'[post update] 'stroke'[post update] 'transparent'[post update] 'stroke-width'[post update] '20'[post update] 'pointer-events'[post update] hitArea.style[post update] 'pointer'[post update] visualP ... tribute[post update] visualPath[post update] 'orbat-link-visual'[post update] 'rgba(1 ... , 0.4)'[post update] '2'[post update] 'marker-end'[post update] 'url(#arrowhead)'[post update] group.appendChild[post update] group.a ... istener[post update] (e) => ... ;\n }[post update] svgLayer.appendChild[post update] svgLayer[post update] documen ... xt.trim[post update] documen ... nerText[post update] documen ... ame"]')[post update] documen ... urce}`)[post update] `node-${source}`[post update] documen ... rget}`)[post update] `node-${target}`[post update] `${sNam ... tName}`[post update] 'orbat_canvas_data'[post update] JSON.st ... (state)[post update] commits.push[post update] commits.shift[post update] 'DATABA ... MPLETE'[post update] savedData[post update] 'LOCAL_ ... STORED'[post update] "Failed ... T data"[post update] 'keydown'[post update] undo[post update] redo[post update] window. ... ditMode[post update] window.addOrbatNode[post update] window. ... calNote[post update] window.copyNodes[post update] window.cutNodes[post update] window.pasteNodes[post update] window. ... batJSON[post update] functio ... ED`);\n}[post update] Array.f ... es).map[post update] node.qu ... ole"]')[post update] node.qu ... -mono')[post update] '.orbat ... t-mono'[post update] node.qu ... tribute[post update] node.qu ... ('img')[post update] node.qu ... -list')[post update] node.ge ... ata-w')[post update] `${clip ... COPIED`[post update] clipboard[post update] functio ... er');\n}[post update] `${clip ... S) CUT`[post update] clipboard.forEach[post update] data => ... ;\n }[post update] data[post update] newNodeData[post update] `node-${newId}`[post update] newNode ... ist.add[post update] newNode.classList[post update] SNAP_SIZE[post update] `${clip ... PASTED`[post update] 'input'[post update] adminBa ... .remove[post update] adminBa ... tribute[post update] 'data-visible'[post update] 'true'[post update] 'load'[post update] () => { ... 00); \n}[post update] () => { ... te(); }[post update] history.back[post update] ()=>{co ... break}}[post update] URLSearchParams[post update] window. ... .search[post update] s.get[post update] "unit"[post update] "domain-selector"[post update] documen ... ption")[post update] ".restricted-option"[post update] e=>{e.c ... dden")}[post update] e.options[post update] e.options[s][post update] t.toLowerCase[post update] e.optio ... ontains[post update] e.optio ... assList[post update] "restricted-option"[post update] "terminal-input"[post update] "terminal-logs"[post update] functio ... Height}[post update] "p"[post update] `// ${e}`[post update] "text-green-500"[post update] logs.appendChild[post update] logs[post update] logs.scrollHeight[post update] input.a ... istener[post update] "keypress"[post update] async f ... ,800)}}[post update] this.va ... perCase[post update] this.value[post update] this[post update] addLog[post update] `PROCES ... {e}...`[post update] "white"[post update] (new Te ... .encode[post update] (new TextEncoder)[post update] TextEncoder[post update] crypto. ... 256",t)[post update] crypto.subtle.digest[post update] crypto.subtle[post update] crypto[post update] "SHA-256"[post update] new Uint8Array(n)[post update] Uint8Array[post update] s.map(e ... )).join[post update] s.map(e ... 2,"0"))[post update] s.map[post update] e=>e.to ... (2,"0")[post update] e.toStr ... adStart[post update] e.toString(16)[post update] e.toString[post update] ()=>{o= ... ror"))}[post update] "HQ_AUT ... RANTED"[post update] "success"[post update] "INITIA ... IDE..."[post update] "authorized"[post update] "uksf_hq_auth"[post update] "true"[post update] ()=>{wi ... iling"}[post update] "/filing"[post update] 1500[post update] a.includes[post update] "CREDEN ... CEPTED"[post update] "AUTHOR ... ESS..."[post update] "false"[post update] ()=>{wi ... gence"}[post update] "/intelligence"[post update] "INVALI ... JECTED"[post update] "error"[post update] "SECURI ... RAISED"[post update] 800[post update] toggleEditMode[post update] addOrbatNode[post update] addTacticalNote[post update] centerView[post update] exportOrbatJSON[post update] window. ... ingLink[post update] event[post update] "top"[post update] "right"[post update] "bottom"[post update] "left"[post update] window. ... yDrawer[post update] adjustZoom[post update] .1[post update] resetCanvas[post update] -.1[post update] window. ... onModal[post update] window. ... nUpload[post update] documen ... ).click[post update] documen ... input")[post update] "icon-upload-input"[post update] window. ... r || [][post update] functio ... ents);}[post update] 'uksfta_consent'[post update] 'consent'[post update] 'default'[post update] localSt ... nsent')[post update] consent[post update] documen ... modal')[post update] 'cookie-modal'[post update] (functi ... \n })[post update] functio ... ;\n }[post update] 'today'[post update] async f ... }[post update] fetch(' ... .now())[post update] '/intel ... e.now()[post update] response[post update] `HTTP_$ ... tatus}`[post update] response.json()[post update] response.json[post update] updateB ... tricsUI[post update] updateU ... anderUI[post update] data.unitcommander[post update] updateO ... nLogsUI[post update] '/telem ... e.now()[post update] functio ... }[post update] '.opera ... tainer'[post update] uc[post update] [...uc. ... .slice[post update] [...uc. ... ed_at))[post update] [...uc. ... .sort[post update] [...uc.campaigns][post update] (a, b) ... ted_at)[post update] b.created_at[post update] b[post update] a.created_at[post update] logs.ma ... oin('')[post update] logs.ma ... }).join[post update] logs.ma ... })[post update] logs.map[post update] op => { ... }[post update] op.created_at[post update] op[post update] 'en-GB'[post update] { day: ... igit' }[post update] op.brie ... replace[post update] op.brie ... (0, 80)[post update] op.brief.substring[post update] op.brief[post update] ' '[post update] op.camp ... replace[post update] op.camp ... g, '-')[post update] op.camp ... rCase()[post update] op.camp ... werCase[post update] op.campaignName[post update] '-'[post update] (opId) ... }[post update] uc.campaigns.find[post update] uc.campaigns[post update] c => c.id == opId[post update] 'operation-modal'[post update] 'modal-op-image'[post update] 'modal-op-title'[post update] 'modal-op-date'[post update] 'modal-op-brief'[post update] 'modal-op-map'[post update] title[post update] date[post update] new Dat ... ric' })[post update] { day: ... eric' }[post update] brief[post update] op.brie ... OVERED"[post update] map[post update] `LOCATI ... FIED'}`[post update] op.image[post update] op.image.path[post update] img.classList.remove[post update] img.classList[post update] img.classList.add[post update] modal.c ... .remove[post update] modal.classList[post update] modal[post update] () => { ... }[post update] (e) => ... }[post update] 'status-text'[post update] 'status-indicator'[post update] 'player-count'[post update] 'battle ... -graph'[post update] 'bm-overlay'[post update] overlay ... ist.add[post update] overlay.classList[post update] overlay[post update] statusText[post update] 'STATION_ACTIVE'[post update] 'text-[ ... ercase'[post update] statusIndicator[post update] playerCount[post update] `${sour ... CTIVES`[post update] 'LINK_SEVERED'[post update] 'w-1.5 ... d-full'[post update] 'STATION_OFFLINE'[post update] fetchTelemetry[post update] dataPoints.unshift[post update] dataPoints[post update] new Dat ... OString[post update] renderB ... csGraph[post update] graphContainer[post update] maxCapacity[post update] maxVal[post update] (t) => ... }[post update] new Date(t).getTime[post update] new Date(t)[post update] (v) => ... height)[post update] data.ma ... reverse[post update] data.ma ... rtTime)[post update] data.ma ... .filter[post update] data.ma ... }))[post update] data.map[post update] d => ({ ... })[post update] d.attributes[post update] p => p. ... artTime[post update] new Date(p.t)[post update] p.t[post update] points.forEach[post update] points[post update] (p, i) ... }[post update] getX[post update] getY[post update] p.v[post update] new Date(prevP.t)[post update] prevP.t[post update] prevP[post update] points. ... `).join[post update] points. ... `)[post update] points.map[post update] (p, i) ... `[post update] (val, t ... }[post update] 'graph-tooltip'[post update] 'tooltip-val'[post update] 'tooltip-time'[post update] '1'[post update] vEl[post update] `${val} EFFECTIVES`[post update] time[post update] tEl[post update] isNaN(d ... git' })[post update] date.to ... eString[post update] { hour: ... igit' }[post update] '.live- ... tainer'[post update] feeds[post update] allCand ... forEach[post update] allCandidates[post update] uc.campaignEvents[post update] new Dat ... t || 0)[post update] op.upda ... at || 0[post update] events[post update] events.map[post update] e => ne ... tTime()[post update] opTime[post update] ...eventTimes[post update] uc.stan ... forEach[post update] uc.standalone[post update] ev => { ... }[post update] ev.star ... ated_at[post update] ev[post update] renderU ... derHTML[post update] bestOp[post update] absoluteLatestTime[post update] latestOp.created_at[post update] latestOp[post update] Math.ab ... 0 * 24)[post update] today - createdDate[post update] (latest ... perCase[post update] (latest ... .trim()[post update] (latest ... 0].trim[post update] (latest ... '(')[0][post update] (latest ... it('(')[post update] (latest ... ).split[post update] (latest ... IFIED")[post update] '('[post update] latestO ... ated_at[post update] { day: ... hort' }[post update] created ... perCase[post update] created ... git' })[post update] created ... eString[post update] createdDate[post update] feeds.forEach[post update] f => f. ... = html[post update] f[post update] html[post update] '.disco ... -count'[post update] '.signal-strength'[post update] '.link-id'[post update] onlineCounts[post update] Math.mi ... / 10))[post update] 100 - M ... ) / 10)[post update] (latency - 50) / 10[post update] Math.random() * 5[post update] data.pr ... adStart[post update] data.pr ... tring()[post update] data.pr ... oString[post update] data.presence_count[post update] onlineCounts.forEach[post update] el => { ... 00'); }[post update] countStr[post update] el.classList.remove[post update] 'text-red-900'[post update] signalS ... forEach[post update] signalStrengths[post update] el => { ... }[post update] `LINK_I ... rity}%`[post update] el.style[post update] integri ... white')[post update] Math.fl ... / 1000)[post update] Date.now() / 1000[post update] SERVER_ID.substr[post update] SERVER_ID[post update] linkIds.forEach[post update] linkIds[post update] el => { ... etId; }[post update] netId[post update] error[post update] el.classList.add[post update] el => e ... K_LOST"[post update] (range) ... }[post update] '.bm-range-btn'[post update] btns.forEach[post update] btns[post update] b => { ... nge); }[post update] b.classList.toggle[post update] b.classList[post update] b.getAt ... = range[post update] b.getAttribute[post update] 'data-range'[post update] range[post update] window. ... s || {}[post update] fetchIntegratedIntel[post update] 300000[post update] 60000[post update] 'clock'[post update] clock[post update] `${Stri ... '0')}`[post update] now.getUTCHours()[post update] now.getUTCHours[post update] now[post update] now.getUTCMinutes()[post update] now.getUTCMinutes[post update] now.getUTCSeconds()[post update] now.getUTCSeconds[post update] updateClock[post update] 1000[post update] 'cookie ... banner'[post update] '.cookie-toggle'[post update] 'update'[post update] preferences[post update] new Cus ... nces })[post update] 'cookie ... pdated'[post update] { detai ... ences }[post update] CONSENT_KEY[post update] JSON.st ... rences)[post update] updateGoogleConsent[post update] banner.classList.add[post update] banner.classList[post update] banner[post update] 'translate-y-full'[post update] () => b ... idden')[post update] modal.classList.add[post update] stored[post update] getConsent[post update] banner. ... .remove[post update] () => b ... -full')[post update] currentConsent[post update] documen ... t-all')[post update] 'cookie-accept-all'[post update] setConsent[post update] prefs[post update] 'cookie-reject-all'[post update] documen ... s-btn')[post update] 'cookie ... gs-btn'[post update] () => m ... idden')[post update] 'close-cookie-modal'[post update] documen ... tings')[post update] 'save-c ... ttings'[post update] toggles.forEach[post update] toggles[post update] ()=>{co ... }),n()}[post update] ".filter-btn"[post update] ".story-card"[post update] "report-count"[post update] ()=>{co ... 2,"0")}[post update] Array.f ... "none")[post update] Array.from(t).filter[post update] Array.from(t)[post update] e=>e.st ... ="none"[post update] e.toStr ... (2,"0")[post update] e.toString()[post update] e.forEach[post update] s=>{s.a ... ,n()})}[post update] s.addEventListener[post update] "click"[post update] s.getAttribute[post update] "data-filter"[post update] e=>e.cl ... ctive")[post update] e=>{o== ... "none"}[post update] "data-type"[post update] "flex"[post update] "none"[post update] js.configs[post update] js[post update] globals[post update] async f ... }\n }[post update] fetch(' ... })[post update] 'http:/ ... ommand'[post update] { \n ... }[post update] { command: 'help' }[post update] 'status-rcon'[post update] r.ok ? ... t-bold'[post update] r.ok ? ... FFLINE'[post update] documen ... -rcon')[post update] 'OFFLINE'[post update] fetch(' ... GET' })[post update] 'http:/ ... i/file'[post update] { method: 'GET' }[post update] 'status-registry'[post update] r.statu ... t-bold'[post update] r.statu ... FFLINE'[post update] documen ... istry')[post update] 30000[post update] 'uksf_auth'[post update] '/restricted'[post update] new Int ... })[post update] documen ... ondon')[post update] '.clock-london'[post update] (el) => ... london)[post update] london[post update] documen ... k-utc')[post update] '.clock-utc'[post update] (el) => ... = utc)[post update] utc[post update] $intIcon[post update] 'intel'[post update] 'uksf'[post update] $mapIntel[post update] $mapUksf[post update] $icon[post update] 'map-intel'[post update] 'map-uksf'[post update] 'btn-intel'[post update] 'btn-uksf'[post update] 'map-status-id'[post update] 'map-status-grid'[post update] mapInte ... .remove[post update] mapIntel.classList[post update] mapIntel[post update] 'opacity-0'[post update] 'pointe ... s-none'[post update] mapUksf ... ist.add[post update] mapUksf.classList[post update] mapUksf[post update] btnInte ... ist.add[post update] btnIntel.classList[post update] btnIntel[post update] 'text-white'[post update] 'border ... mary)]'[post update] btnInte ... .remove[post update] 'text-gray-600'[post update] 'border-transparent'[post update] btnUksf ... ist.add[post update] btnUksf.classList[post update] btnUksf[post update] btnUksf ... .remove[post update] statusI ... .remove[post update] statusId.classList[post update] statusId[post update] statusG ... ist.add[post update] statusGrid.classList[post update] statusGrid[post update] mapUksf ... .remove[post update] mapInte ... ist.add[post update] statusI ... ist.add[post update] statusG ... .remove[post update] $unit[post update] "[JSFC_ ... val..."[post update] '/archi ... e.now()[post update] res[post update] `HTTP_${res.status}`[post update] res.json()[post update] res.json[post update] 'archives-container'[post update] 'archive-count'[post update] [...dat ... s].sort[post update] [...data.campaigns][post update] countEl[post update] campaigns.length[post update] campaigns[post update] campaig ... oin('')[post update] campaig ... }).join[post update] campaig ... })[post update] campaigns.map[post update] `[JSFC_ ... cords.`[post update] "INVALI ... UCTURE"[post update] "[JSFC_ ... ation:"[post update] err[post update] documen ... ainer')[post update] (opId) ... ;\n }[post update] window.archiveData[post update] window. ... ns.find[post update] window. ... mpaigns[post update] { unitc ... eData }[post update] openOperationModal[post update] opId[post update] initArchives[post update] async f ... = '';\n}[post update] 'broadcast-msg'[post update] fetch(' ... ` }) })[post update] { metho ... }` }) }[post update] { comma ... lue}` }[post update] 'vault-editor'[post update] { slug: ... value }[post update] editor[post update] () => b ... nalText[post update] originalText[post update] 2000[post update] btn.classList.add[post update] 'text-red-500'[post update] btn.classList.remove[post update] now.toL ... eString[post update] { timeZ ... false }[post update] documen ... -time')[post update] 'zulu-time'[post update] time + 'Z'[post update] 'terminal-input'[post update] 'terminal-logs'[post update] 'p'[post update] `// ${text}`[post update] 'text-green-500'[post update] 'keypress'[post update] `PROCES ... de}...`[post update] 'white'[post update] new Tex ... .encode[post update] new TextEncoder()[post update] code[post update] crypto. ... gUint8)[post update] 'SHA-256'[post update] msgUint8[post update] new Uin ... Buffer)[post update] hashBuffer[post update] hashArr ... )).join[post update] hashArr ... , '0'))[post update] hashArray.map[post update] hashArray[post update] (b) => ... 2, '0')[post update] b.toStr ... adStart[post update] b.toString(16)[post update] b.toString[post update] 'HQ_AUT ... RANTED'[post update] 'success'[post update] 'INITIA ... IDE...'[post update] 'authorized'[post update] 'uksf_hq_auth'[post update] '/filing'[post update] CTF_KEY ... ncludes[post update] CTF_KEYWORDS[post update] 'CREDEN ... CEPTED'[post update] 'AUTHOR ... ESS...'[post update] 'false'[post update] '/intelligence'[post update] 'INVALI ... JECTED'[post update] 'error'[post update] 'SECURI ... RAISED'[post update] -0.1[post update] documen ... input')[post update] 'icon-upload-input'[post update] urlParams.get[post update] urlParams[post update] 'unit'[post update] 'domain-selector'[post update] documen ... ption')[post update] '.restricted-option'[post update] (opt) = ... }[post update] opt.classList.remove[post update] opt.classList[post update] opt[post update] selector.options[post update] selector[post update] selector.options[i][post update] targetU ... werCase[post update] targetUnit[post update] selecto ... ontains[post update] selecto ... assList[post update] 'restricted-option'[post update] site.Language[post update] site[post update] $tfa_logo[post update] site.Params.discord[post update] site.Params[post update] len[post update] range .Pages.ByDate[post update] range .Pages[post update] $map[post update] $b[post update] markdownify[post update] $b.title[post update] range .Params[post update] range . ... cookies[post update] range .Site.Data[post update] range .Site[post update] relURL[post update] `css/main.css`[post update] $node[post update] $unit.stats[post update] () => { ... ;\n }[post update] '.filter-btn'[post update] '.story-card'[post update] 'report-count'[post update] Array.f ... 'none')[post update] Array.f ... .filter[post update] Array.from(cards)[post update] cards[post update] c => c. ... 'none'[post update] c.style[post update] countDisplay[post update] visible ... 2, '0')[post update] visible ... adStart[post update] visible.toString()[post update] visible.toString[post update] visible[post update] filters.forEach[post update] filters[post update] btn => ... }[post update] btn.addEventListener[post update] 'click'[post update] btn.getAttribute[post update] 'data-filter'[post update] f => f. ... ctive')[post update] f.classList.remove[post update] f.classList[post update] cards.forEach[post update] card => ... }[post update] card.getAttribute[post update] card[post update] 'data-type'[post update] card.style[post update] 'flex'[post update] updateCount[post update] Object[post update] (l,u,c) ... :l[u]=c[post update] NA[post update] u[post update] {enumer ... alue:c}[post update] (l,u,c) ... "":u,c)[post update] BA[post update] typeof ... ?u+"":u[post update] (functi ... f,o)}})[post update] functio ... ef,o)}}[post update] documen ... "link")[post update] "link"[post update] u.supports[post update] "modulepreload"[post update] 'link[r ... load"]'[post update] new Mut ... observe[post update] new Mut ... &f(h)})[post update] MutationObserver[post update] r=>{for ... &&f(h)}[post update] h[post update] {childL ... ree:!0}[post update] functio ... gin",o}[post update] r.integrity[post update] r.referrerPolicy[post update] "include"[post update] "omit"[post update] "same-origin"[post update] functio ... ref,o)}[post update] !0[post update] r.href[post update] functio ... ault:l}[post update] Object. ... ty.call[post update] Object. ... roperty[post update] Object.prototype[post update] functio ... s=c,Ei}[post update] Symbol.for[post update] Symbol[post update] "react. ... lement"[post update] "react.fragment"[post update] functio ... ops:o}}[post update] r[v][post update] Ei[post update] functio ... xports}[post update] Mf[post update] QA()[post update] QA[post update] zA[post update] functio ... ):xt)}}[post update] functio ... ?xn:xt}[post update] A[post update] -1[post update] k[post update] _[post update] K=0[post update] K+=f[P][post update] U[post update] N[post update] N=0[post update] R[post update] st=R[0][post update] $[post update] K[post update] st-o[D-1]-K[post update] x.set[post update] (o[D-1]+K)*3[post update] st[post update] J-it[post update] 192[post update] U[P]<256?0:96[post update] U[P++][post update] B[U[P]-O]+16+64[post update] B[post update] X[U[P++]-O][post update] X[post update] (st+K)*3[post update] functio ... +1),0)}[post update] Int32Array[post update] ta+1[post update] ta[post update] o.set[post update] f.subarray(0,ta)[post update] f.subarray[post update] h.set[post update] f.subarray(0,ta+1)[post update] functio ... =Ut),B}[post update] 19[post update] v[post update] S[post update] E[post update] O[post update] "oversu ... s tree"[post update] "incomp ... s tree"[post update] functio ... R):xt)}[post update] 288[post update] 257[post update] KA[post update] kA[post update] "oversu ... h tree"[post update] "incomp ... h tree"[post update] JA[post update] FA[post update] "oversu ... e tree"[post update] "incomp ... e tree"[post update] "empty ... engths"[post update] Wf[post update] functio ... =IA,xt}[post update] VA[post update] ZA[post update] qA[post update] IA[post update] functio ... on(){}}[post update] functio ... e=H,xt}[post update] D[post update] j[post update] Me[post update] D.read_byte[post update] st++[post update] j.win[post update] K[W+2][post update] j.win[L++][post update] j.win.set[post update] j.win.s ... (L,L+2)[post update] j.win.subarray[post update] L[post update] L+2[post update] H[post update] j.win.s ... (L,L+k)[post update] L+k[post update] j.win.s ... L,L+tt)[post update] L+tt[post update] "invali ... e code"[post update] nt[post update] P[post update] it[post update] st-D.next_in_index[post update] "invali ... h code"[post update] functio ... f=null}[post update] functio ... (x,R)}}[post update] N-x.next_in_index[post update] J[post update] p.inflate_flush[post update] x.read_byte[post update] N++[post update] p.win[post update] p.win[nt++][post update] function(){}[post update] functio ... f?1:0}}[post update] WA[post update] L2*3[post update] new Uint8Array(u)[post update] functio ... rite=0}[post update] E.free[post update] c.write=0[post update] c.reset[post update] functio ... ad=U,p}[post update] b.next_out.set[post update] b.next_out[post update] c.win.s ... (U,U+x)[post update] c.win.subarray[post update] c.win[post update] U+x[post update] functio ... b,p)}}}[post update] F[post update] Z-b.next_in_index[post update] Z[post update] c.inflate_flush[post update] b.read_byte[post update] Z++[post update] Wf.infl ... s_fixed[post update] E.init[post update] K[0][post update] J[0][post update] k[0][post update] nt[0][post update] "invalid block type"[post update] "invali ... engths"[post update] c.win.set[post update] b.read_buf(Z,x)[post update] b.read_buf[post update] "too ma ... ymbols"[post update] L1[post update] R&7[post update] 7[post update] B.inflate_trees_bits[post update] "invali ... repeat"[post update] 6[post update] B.infla ... dynamic[post update] 257+(x&31)[post update] 1+(x>>5&31)[post update] P[0][post update] st[0][post update] it[0][post update] H[0][post update] E.proc[post update] functio ... O=null}[post update] functio ... rite=x}[post update] b.subarray(p,p+x)[post update] b.subarray[post update] p+x[post update] c.write=x[post update] functio ... Hf?1:0}[post update] functio ... int()}}[post update] [0][post update] functio ... l),xt)}[post update] c.total_out=0[post update] c.istate[post update] pi[post update] c.istat ... s.reset[post update] c.istate.blocks[post update] functio ... ull,xt}[post update] l.blocks.free[post update] l.blocks[post update] functio ... c),xt)}[post update] l.inflateEnd[post update] new _A(c,1<u-1,1)[post update] re.partial[post update] l[c-1]& ... 48>>u-1[post update] (l,u,c) ... 627776}[post update] (l){ret ... 6)||32}[post update] l/1099511627776[post update] (l,u,c, ... ,1)),f}[post update] f.push[post update] f.concat[post update] c|l[h]>>>u[post update] re.part ... op(),1)[post update] u+o&31[post update] u+o>32?c:f.pop()[post update] f.pop[post update] (l){con ... turn f}[post update] re.bitLength[post update] r>>>24[post update] (l){con ... ,f)),u}[post update] u.push[post update] re.part ... c&3),f)[post update] 8*(c&3)[post update] k2[post update] class{c ... ]+y|0}}[post update] (l){con ... eset()}[post update] 512[post update] [173258 ... 377520][post update] [151850 ... 469782][post update] l._h.slice(0)[post update] l._h.slice[post update] l._h[post update] l._buffer.slice(0)[post update] l._buffer.slice[post update] l._buffer[post update] l._length[post update] u.reset[post update] (){cons ... th=0,l}[post update] l._init.slice(0)[post update] l._init.slice[post update] l._init[post update] [][post update] (l){con ... 6*h),u}[post update] sc.utf8String.toBits[post update] sc.utf8String[post update] sc[post update] re.conc ... ffer,l)[post update] re.concat[post update] u._buffer[post update] f+re.bitLength(l)[post update] "Cannot ... 1 bits"[post update] Uint32Array[post update] u._block[post update] o.subar ... *(h+1))[post update] 16*h[post update] 16*(h+1)[post update] c.splice[post update] (){cons ... et(),c}[post update] [re.partial(1,1)][post update] Math.fl ... 967296)[post update] l._length/4294967296[post update] l._length|0[post update] l._block[post update] u.splice(0,16)[post update] u.splice[post update] l.reset[post update] (l,u,c, ... u^c^f}[post update] (l,u){r ... >>32-l}[post update] (l){con ... 4]+y|0}[post update] l[A][post update] u._S(1, ... [A-16])[post update] u._S[post update] f[A-3]^ ... f[A-16][post update] u._f[post update] u._key[post update] A/20[post update] 30[post update] c[0]+r|0[post update] c[1]+o|0[post update] c[2]+h|0[post update] c[3]+v|0[post update] c[4]+y|0[post update] J2[post update] class{c ... urn r}}[post update] (l){con ... 255]]}}[post update] [[[],[] ... [],[]]][post update] u._tables[0][0][post update] u._tables[0][post update] u._tables[post update] u._precompute[post update] "invali ... y size"[post update] [h=l.slice(0),v=[]][post update] h[o-r]^A[post update] f[0][c[ ... E&255]][post update] f[0][post update] f[1][post update] f[2][post update] f[3][post update] (l){ret ... t(l,0)}[post update] this._crypt[post update] (l){ret ... t(l,1)}[post update] (){cons ... ice(0)}[post update] this._tables[post update] E<<1^(E>>7)*283[post update] l[B][post update] X=X<<24^X>>>8[post update] u[B][post update] O=O<<24^O>>>8[post update] l[E].slice(0)[post update] l[E].slice[post update] l[E][post update] u[E].slice(0)[post update] u[E].slice[post update] u[E][post update] (l,u){i ... turn r}[post update] "invali ... k size"[post update] this._key[post update] E[S>>>2 ... ^c[b++][post update] (l){con ... turn l}[post update] l.buffer[post update] f=>{let ... 1:-1)}}[post update] functio ... ?1:-1)}[post update] (r||Mat ... 4967296[post update] o()*4294967296|0[post update] F2[post update] class{c ... (u,r)}}[post update] (l,u){t ... ._iv=u}[post update] (){this ... initIv}[post update] this._initIv[post update] (l){ret ... s._iv)}[post update] this.calculate[post update] this._prf[post update] this._iv[post update] (l){if( ... turn l}[post update] (l){(l[ ... l[1]))}[post update] this.incWord(l[0])[post update] this.incWord[post update] l[0][post update] this.incWord(l[1])[post update] l[1][post update] (l,u,c) ... p(u,r)}[post update] this.incCounter[post update] l.encrypt[post update] h[0][post update] h[1][post update] h[2][post update] h[3][post update] re.clamp[post update] (l){ret ... ts(l))}[post update] Ha.hmacSha1[post update] Ha[post update] sc.bytes.toBits(l)[post update] sc.bytes.toBits[post update] sc.bytes[post update] (l,u,c, ... 0,f/8)}[post update] "invali ... pbkdf2"[post update] ArrayBuffer[post update] X.concat(u,[A])[post update] X.concat[post update] [A][post update] h[y][post update] S.setInt32[post update] o[v][post update] E.slice[post update] f/8[post update] class{c ... st(l)}}[post update] (l){con ... sh[0])}[post update] k2.sha1[post update] [new c,new c][post update] u._baseHash[0][post update] u._baseHash[post update] new c() ... inalize[post update] new c().update(l)[post update] new c().update[post update] new c()[post update] l[o]^909522486[post update] l[o]^1549556828[post update] u._base ... .update[post update] u._baseHash[1][post update] new c(u ... ash[0])[post update] (){cons ... ted=!1}[post update] new l._ ... ash[0])[post update] l._hash[post update] l._baseHash[0][post update] l._baseHash[post update] !1[post update] (l){con ... ate(l)}[post update] u._resultHash.update[post update] u._resultHash[post update] l._resu ... inalize[post update] l._resultHash[post update] new l._ ... inalize[post update] new l._ ... date(u)[post update] new l._ ... .update[post update] new l._ ... ash[1])[post update] l._baseHash[1][post update] (l){if( ... est(l)}[post update] "encryp ... alled!"[post update] this.update[post update] this.digest[post update] functio ... ues(l)}[post update] crypto. ... mValues[post update] N8.getRandomValues[post update] N8[post update] {hash:Q8}[post update] _2[post update] {iterat ... me:z8}}[post update] ji[post update] ({passw ... B)}}})}[post update] {passwo ... Only:o}[post update] {start( ... e(B)}}}[post update] (){Obje ... rray})}[post update] {ready: ... 8Array}[post update] Promise[post update] h=>this ... Ready=h[post update] eh[post update] (h,v){c ... a,!0))}[post update] {passwo ... eady:O}[post update] K8(y,E, ... [E]+2))[post update] K8[post update] Xe(h,0,Ci[E]+2)[post update] Xe[post update] Ci[E]+2[post update] Ci[post update] v.error[post update] new Error(dr)[post update] dr[post update] h.lengt ... -aa)%xl[post update] v.enqueue[post update] $2(y,h,X,0,aa,!0)[post update] $2[post update] aa[post update] (h){con ... ue(B)}}[post update] {signed ... eady:S}[post update] E.length-aa[post update] wi[post update] Pe[post update] A.update[post update] y.update[post update] Oi[post update] Oi(Pe,A.digest())[post update] A.digest()[post update] A.digest[post update] or[post update] ({passw ... r=this}[post update] {passwo ... ngth:f}[post update] {start( ... re))}}}[post update] o=>this ... Ready=o[post update] (o,h){c ... th,0))}[post update] {passwo ... eady:S}[post update] k8(v,A,y)[post update] k8[post update] O.lengt ... ngth%xl[post update] X.set[post update] $2(v,o,X,O.length,0)[post update] O.length[post update] (o){con ... ure))}}[post update] {ctr:h, ... eady:A}[post update] h.update[post update] wi(Pe,y)[post update] v.update[post update] Oi(Pe,v ... e(0,aa)[post update] Oi(Pe,v ... ).slice[post update] Oi(Pe,v.digest())[post update] v.digest()[post update] v.digest[post update] hr(E,r.signature)[post update] hr[post update] r.signature[post update] functio ... u,E),c}[post update] {ctr:h, ... ding:y}[post update] W8[post update] A-A%xl[post update] Xe(u,E,E+xl)[post update] E+xl[post update] c.set[post update] Oi(Pe,O)[post update] E+f[post update] Xe(u,E)[post update] async f ... or(rr)}[post update] th(l,u, ... Ci[u]))[post update] th[post update] Xe(f,0,Ci[u])[post update] Ci[u][post update] rr[post update] async f ... r(f,r)}[post update] W2[post update] new Uin ... (Ci[u])[post update] th(l,u,c,f)[post update] async f ... y)}),A}[post update] J8(U8,c,Y8,!1,L8)[post update] J8[post update] U8[post update] Y8[post update] L8[post update] F8(Obje ... ]*2+2))[post update] F8[post update] Object. ... :f},_f)[post update] {salt:f}[post update] _f[post update] 8*(bi[u]*2+2)[post update] bi[post update] Xe(h,0,bi[u])[post update] bi[u][post update] Xe(h,bi[u],bi[u]*2)[post update] bi[u]*2[post update] {keys:{ ... Z8(y)}[post update] V8[post update] new X8(v)[post update] X8[post update] Array.from(G8)[post update] G8[post update] Z8[post update] async f ... Key(u)}[post update] ji.impo ... ,c,f,r)[post update] ji.importKey[post update] Ha.importKey[post update] async f ... ons,c)}[post update] ji.deriveBits(l,u,c)[post update] ji.deriveBits[post update] Ha.pbkdf2[post update] l.salt[post update] _f.iterations[post update] functio ... 8(l):u}[post update] H8[post update] functio ... th)),c}[post update] l.length+u.length[post update] functio ... turn l}[post update] l.set[post update] functio ... y(u,c)}[post update] l.subarray[post update] functio ... its(u)}[post update] l.fromBits[post update] l.toBits[post update] ({passw ... r))}})}[post update] {passwo ... Only:f}[post update] {start( ... h,r))}}[post update] (){Obje ... his,u)}[post update] {passwo ... tion:c}[post update] nh[post update] (r,o){c ... (h,r))}[post update] s2[post update] r.subarray(0,Ti)[post update] r.subarray[post update] Ti[post update] v.at[post update] o.error[post update] s2(h,r)[post update] ({passw ... (h)}})}[post update] {start( ... ue(h)}}[post update] (f,r){c ... eue(h)}[post update] new Uint8Array(Ti)[post update] o.passw ... ication[post update] f.length+y.length[post update] f2(o,y)[post update] f2[post update] f.length[post update] f2(o,f)[post update] functio ... turn c}[post update] u.length[post update] ah(l)^u[f][post update] ah[post update] mr[post update] c[f][post update] u[f][post update] functio ... At(f))}[post update] {keys:c ... (c[2])}[post update] c[0][post update] c[2][post update] u.charCodeAt(f)[post update] u.charCodeAt[post update] functio ... c,f,r]}[post update] [c,f,r][post update] l.crcKey0.append[post update] l.crcKey0[post update] [u][post update] l.crcKey0.get[post update] r2[post update] Math.im ... 5813)+1[post update] Math.imul[post update] r2(f+lh(c))[post update] f+lh(c)[post update] lh[post update] 134775813[post update] l.crcKey2.append[post update] l.crcKey2[post update] [f>>>24][post update] l.crcKey2.get[post update] functio ... )>>>8)}[post update] l.keys[post update] Math.imul(u,u^1)>>>8[post update] u^1[post update] functio ... l&255}[post update] functio ... 967295}[post update] (u,{chu ... re=b})}[post update] {chunkS ... tive:r}[post update] {compre ... evel:E}[post update] K2[post update] Sn[post update] uh[post update] {level: ... Size:c}[post update] new P8(u)[post update] P8[post update] I8[post update] ih[post update] ()=>{le ... ture=b}[post update] O.value.buffer[post update] O.value[post update] (u,{chu ... or)}})}[post update] {zipCry ... ream:E}[post update] new _8(u)[post update] _8[post update] q8[post update] {chunkSize:c}[post update] ()=>{if ... r(or)}}[post update] S.value.buffer[post update] S.value[post update] B.getUint32[post update] functio ... n u}})}[post update] new Tra ... ush:c})[post update] TransformStream[post update] {flush:c}[post update] "readable"[post update] {get(){return u}}[post update] (){return u}[post update] new o(o2,c)[post update] o2[post update] new r(o2,c)[post update] functio ... ugh(u)}[post update] l.pipeThrough[post update] (u,c){s ... (E)}})}[post update] {codecType:r}[post update] r.startsWith[post update] i3[post update] ch[post update] {transf ... e:h})}}[post update] (S,O){S ... ue(S))}[post update] O.enqueue[post update] (){Obje ... ze:h})}[post update] {inputSize:h}[post update] (S,O){i ... or(gr)}[post update] S.length[post update] gr[post update] (){cons ... ze:h})}[post update] {signature:S}[post update] {signat ... Size:h}[post update] {get(){ ... gh(E)}}[post update] (){retu ... ugh(E)}[post update] y.pipeT ... Through[post update] y.pipeT ... ough(v)[post update] y.pipeThrough(A)[post update] y.pipeThrough[post update] (u){let ... ):c=r}}[post update] {transf ... ue(c)}}[post update] (r){c&& ... eue(c)}[post update] functio ... )):c=r}[post update] c.length+r.length[post update] c.length[post update] r.slice(0,u)[post update] r.slice[post update] r.slice(u)[post update] (u,{rea ... )(u,o)}[post update] {readab ... able:f}[post update] {option ... ipts:A}[post update] {signal:S}[post update] {busy:! ... ,E(u)}}[post update] c.pipeT ... Through[post update] c.pipeT ... kSize))[post update] c.pipeThrough[post update] new c3(o.chunkSize)[post update] c3[post update] o.chunkSize[post update] new s3(h)[post update] s3[post update] (){retu ... :O()})}[post update] O=>{con ... l):O()}[post update] {worker:X,busy:B}[post update] X.terminate[post update] (){cons ... 1,E(u)}[post update] {resolv ... ated:O}[post update] u.worker.terminate[post update] u.worker[post update] (v&&sh?f3:fh)[post update] ({onsta ... ,o)}})}[post update] {onstar ... nend:r}[post update] {async ... (r,o)}}[post update] (){u&&await Yf(u,f)}[post update] Yf(u,f)[post update] Yf[post update] (h,v){o ... eue(h)}[post update] Yf(c,o,f)[post update] (){r&&await Yf(r,o)}[post update] Yf(r,o)[post update] async f ... atch{}}[post update] l(...u)[post update] ...u[post update] functio ... (l,u)}}[post update] ()=>r3(l,u)[post update] r3[post update] functio ... erface}[post update] {baseUR ... Size:f}[post update] h3[post update] l.scripts[0][post update] l.scripts[post update] fh[post update] {worker ... e:f})}}[post update] ()=>o3( ... ize:f})[post update] o3[post update] {chunkSize:f}[post update] async f ... y{f()}}[post update] {option ... shed:f}[post update] u3[post update] u.pipeT ... rt:!0})[post update] u.pipeT ... .pipeTo[post update] u.pipeThrough(o)[post update] u.pipeThrough[post update] {preven ... ort:!0}[post update] {signat ... Size:y}[post update] o.outputSize[post update] async f ... it A,S}[post update] (O,X)=>{c=O,f=X}[post update] {reader ... sult:r}[post update] {readab ... ipts:v}[post update] {writab ... osed:A}[post update] d3[post update] l.writable[post update] lc[post update] {type:n ... able:y}[post update] v.slice[post update] {reader ... iter()}[post update] o.getReader[post update] y.getWriter[post update] y.getWr ... close()[post update] y.getWriter().close[post update] y.getWriter()[post update] functio ... sed:c}}[post update] r=>u=r[post update] WritableStream[post update] {async ... rt(r)}}[post update] (r){con ... Lock()}[post update] l.getWriter[post update] o.ready[post update] o.write(r)[post update] o.write[post update] o.releaseLock[post update] (){u()}[post update] (r){ret ... ort(r)}[post update] l.getWriter().abort[post update] l.getWriter()[post update] functio ... ,c)),o}[post update] Worker[post update] o.addEventListener[post update] e3[post update] h=>m3(h,c)[post update] m3[post update] functio ... f(),o}}[post update] {worker ... eams:r}[post update] {value: ... able:v}[post update] o.buffer[post update] o.buffe ... Length)[post update] o.buffer.slice[post update] o.byteLength[post update] y.push[post update] l.value[post update] l.writable=null[post update] u.postMessage[post update] c.releaseLock[post update] async f ... ),S()}}[post update] {data:l}[post update] {type:c ... rror:h}[post update] {reader ... shed:S}[post update] {messag ... Size:x}[post update] {stack: ... Size:x}[post update] {value:X,done:B}[post update] v.read()[post update] v.read[post update] {type:d ... geId:r}[post update] y.ready[post update] y.write ... ray(f))[post update] y.write[post update] new Uint8Array(f)[post update] {type:l ... geId:r}[post update] {type:h ... geId:r}[post update] functio ... (),S()}[post update] y.releaseLock[post update] async f ... x!=p)}}[post update] {options:c,config:f}[post update] {transf ... pted:E}[post update] {worker ... kers:O}[post update] r||r===Jt[post update] !X&&(o| ... orkers)[post update] u.useWe ... S[v]:[][post update] h||h=== ... nStream[post update] (await B()).run[post update] (await B())[post update] B()[post update] async f ... s:u}))}[post update] ua.find[post update] ua[post update] x=>!x.busy[post update] Pf[post update] zf[post update] ua.push[post update] x=>Lf.p ... ons:u})[post update] Lf.push[post update] Lf[post update] {resolv ... ions:u}[post update] functio ... >x!=p)}[post update] [{resol ... ons:U}][post update] {resolv ... ions:U}[post update] Lf.splice[post update] new zf(p,R,U,b)[post update] A3[post update] ua.filter[post update] x=>x!=p[post update] functio ... }},f))}[post update] {config:c}[post update] {termin ... eout:f}[post update] Number.isFinite[post update] Number[post update] setTime ... h{}},f)[post update] async() ... atch{}}[post update] r=>r!=l[post update] l.terminate()[post update] l.terminate[post update] functio ... =null)}[post update] {terminateTimeout:u}[post update] clearTimeout[post update] async f ... e())))}[post update] Promise ... te())))[post update] Promise.allSettled[post update] ua.map( ... ate()))[post update] ua.map[post update] l=>(Pf( ... nate())[post update] (){this.size=0}[post update] (){this ... zed=!0}[post update] (){cons ... turn f}[post update] {chunkSize:c=C3}[post update] ReadableStream[post update] {start( ... et+=c}}[post update] (){this ... fset=0}[post update] (r){con ... set+=c}[post update] {offset ... tart:v}[post update] {chunkOffset:y}[post update] h-y[post update] Pt(u,o+y,A,v)[post update] Pt[post update] o+y[post update] r.close[post update] (...arg ... rgs); }[post update] ...args[post update] (){supe ... n c}})}[post update] {write( ... ay(f)}}[post update] (f){if( ... ray(f)}[post update] dh[post update] u.writeUint8Array[post update] vr[post update] {get(){return c}}[post update] (){return c}[post update] (){}[post update] (u){sup ... .75)})}[post update] u.charAt[post update] c-1[post update] u.indexOf[post update] ","[post update] {dataUR ... )*.75)}[post update] (c-f)*.75[post update] (u,c){c ... 0,A):o}[post update] {dataSt ... aURI:r}[post update] u/3[post update] atob[post update] r.subst ... 3)*4+f)[post update] r.substring[post update] h+f[post update] Math.ce ... /3)*4+f[post update] (u+c)/3[post update] h/4[post update] v.charCodeAt(E)[post update] v.charCodeAt[post update] (u){sup ... g:[]})}[post update] {data:" ... ing:[]}[post update] (u){con ... ng+=r)}[post update] c.pending[post update] (o+u.length)/3[post update] String.fromCharCode[post update] String. ... e(u[f])[post update] btoa(r)[post update] btoa[post update] (){retu ... nding)}[post update] this.pending[post update] (u){sup ... size})}[post update] {blob:u,size:u.size}[post update] (u,c){c ... ray(h)}[post update] (u||r ... t(f,u)}[post update] {onload ... error)}[post update] ({targe ... result)[post update] {target:v}[post update] v.result[post update] ()=>h(r.error)[post update] r.error[post update] r.readAsText[post update] (u,c){s ... s,u,c)}[post update] gh[post update] (){awai ... init()}[post update] Ah(this,$f,v2)[post update] Ah[post update] $f[post update] v2[post update] super.init[post update] (u,c){r ... $f,v2)}[post update] vh[post update] Ah(this,tr,y2)[post update] tr[post update] y2[post update] (u,c){r ... tr,y2)}[post update] functio ... cd:h})}[post update] {preven ... Eocd:h}[post update] {url:u, ... Eocd:h}[post update] async f ... l,u,c)}[post update] {url:f, ... Eocd:v}[post update] U3[post update] u(Ar,l, ... oid 0))[post update] Ar[post update] yh(l,v?-pn:void 0)[post update] yh[post update] v?-pn:void 0[post update] y.headers.get[post update] y.headers[post update] b3[post update] Hi[post update] new Uin ... ffer())[post update] await y ... uffer()[post update] y.arrayBuffer()[post update] y.arrayBuffer[post update] p3[post update] E.trim().split[post update] E.trim()[post update] E.trim[post update] /\s*\/\s*/[post update] E2(l,u,c)[post update] E2[post update] async f ... u+c))}}[post update] {useRan ... ions:A}[post update] f(Ar,l,yh(l,u,c))[post update] yh(l,u,c)[post update] await E ... uffer()[post update] E.arrayBuffer()[post update] E.arrayBuffer[post update] {data:E}[post update] r(l,A)[post update] l.data. ... (u,u+c)[post update] l.data.subarray[post update] l.data[post update] u+c[post update] functio ... -1))})}[post update] pr(l)[post update] pr[post update] {[x3]:h ... +c-1))}[post update] functio ... s(u):u}[post update] {options:l}[post update] {headers:u}[post update] Object.fromEntries[post update] async f ... (l,$f)}[post update] Eh(l,$f)[post update] Eh[post update] async f ... (l,tr)}[post update] Eh(l,tr)[post update] async f ... ength)}[post update] u(Ar,l,pr(l))[post update] await c ... uffer()[post update] c.arrayBuffer()[post update] c.arrayBuffer[post update] l.data.length[post update] async f ... ions)}}[post update] c(l,l.options)[post update] l.options[post update] (await ... ers.get[post update] (await ... headers[post update] (await ... pr(l)))[post update] u(T3,l,pr(l))[post update] T3[post update] E3[post update] Number(r)[post update] async f ... atus))}[post update] {options:u,url:c}[post update] fetch(c ... rs:f}))[post update] Object. ... ers:f})[post update] {method:l,headers:f}[post update] rh+(r.s ... status)[post update] functio ... nd()})}[post update] {url:u}[post update] (f,r)=> ... send()}[post update] XMLHttpRequest[post update] "load"[post update] ()=>{if ... tus)))}[post update] o.getAl ... forEach[post update] o.getAl ... r\n]+/)[post update] o.getAl ... ).split[post update] o.getAl ... .trim()[post update] o.getAl ... ().trim[post update] o.getAl ... aders()[post update] o.getAl ... Headers[post update] /[\r\n]+/[post update] v=>{con ... ush(y)}[post update] v.trim().split[post update] v.trim()[post update] v.trim[post update] /\s*:\s*/[post update] y[0].tr ... Case())[post update] y[0].trim().replace[post update] y[0].trim()[post update] y[0].trim[post update] y[0][post update] /^[a-z]|-[a-z]/g[post update] A=>A.toUpperCase()[post update] A.toUpperCase[post update] h.push[post update] {status ... Map(h)}[post update] ()=>o.response[post update] o.statu ... tatus))[post update] rh+(o.s ... status)[post update] h=>r(h. ... rror"))[post update] h.detai ... error")[post update] h.detail[post update] "Network error"[post update] o.open[post update] Object.entries[post update] o.setRequestHeader[post update] "arraybuffer"[post update] o.send[post update] (u,c={} ... u,c)})}[post update] {url:u, ... 3(u,c)}[post update] j3[post update] M3[post update] (u){}[post update] (){retu ... r.size}[post update] this.reader[post update] this.reader.init()[post update] this.reader.init[post update] (u,c){r ... y(u,c)}[post update] this.re ... t8Array[post update] (u,c={} ... r(u,c)}[post update] (u){sup ... ngth})}[post update] u.buffer[post update] u.byteOffset[post update] u.byteLength[post update] {array: ... length}[post update] (u,c){r ... u,u+c)}[post update] this.array.slice[post update] this.array[post update] (u=0){O ... init()}[post update] {offset ... ray(u)}[post update] (u){con ... length}[post update] c.array[post update] new Uin ... length)[post update] f.length+u.length[post update] c.array.set[post update] c.offset[post update] (){retu ... .array}[post update] (u){sup ... ders=u}[post update] (){cons ... init()}[post update] {readers:c}[post update] Promise ... size}))[post update] Promise.all[post update] c.map(a ... .size})[post update] async(f ... f.size}[post update] f.init()[post update] f.init[post update] f.size[post update] (u,c,f= ... ber),h}[post update] {readers:o}[post update] Pt(A,y,c)[post update] Pt(A,y,S)[post update] r.readU ... ,c-S,f)[post update] r.readUint8Array[post update] u+S[post update] c-S[post update] h.subarray[post update] O.length+X.length[post update] Math.ma ... Number)[post update] r.lastDiskNumber[post update] (u,c=42 ... ose()}}[post update] {diskNu ... Size:c}[post update] {async ... t A()}}[post update] (E){con ... te(E)}}[post update] {availableSize:S}[post update] y(E.subarray(0,S))[post update] E.subarray(0,S)[post update] E.subarray[post update] A()[post update] r.size[post update] this.wr ... ray(S))[post update] this.write[post update] E.subarray(S)[post update] y(E)[post update] {value:O,done:X}[post update] u.next()[post update] u.next[post update] oh[post update] r.maxSize[post update] f.maxSize[post update] Ri(r)[post update] Ri[post update] o.getWriter[post update] this.write(E)[post update] (){awai ... it A()}[post update] h.ready[post update] {get(){return v}}[post update] (){return v}[post update] async f ... ze-=S)}[post update] h.write(E)[post update] h.write[post update] async f ... lose()}[post update] h.close()[post update] h.close[post update] (u){ret ... :u}),u}[post update] br[post update] (u){ret ... /0}),u}[post update] fc[post update] {diskNu ... ze:1/0}[post update] functio ... ttps:"}[post update] {baseURL:u}[post update] Z2[post update] {protocol:c}[post update] async f ... olve()}[post update] l.init(u)[post update] l.init[post update] Promise.resolve[post update] functio ... u,c,f)}[post update] l.readUint8Array[post update] "\0\u263a\u263b\u2665\u2666 ... ".split[post update] "\0\u263a\u263b\u2665\u2666 ... \u00b7\u221a\u207f\u00b2\u25a0 "[post update] Sh[post update] new Tex ... .decode[post update] new TextDecoder()[post update] TextDecoder[post update] u.trim().toLowerCase[post update] u.trim()[post update] u.trim[post update] L3[post update] new TextDecoder(u)[post update] (u){a5. ... =u[c])}[post update] a5.forEach[post update] a5[post update] c=>this[c]=u[c][post update] u[c][post update] (u,c={} ... s:[]})}[post update] {reader ... ges:[]}[post update] bh[post update] (u={}){ ... ay),!0}[post update] {reader:f}[post update] {config:r}[post update] Ri(f)[post update] Er[post update] await n ... .blob()[post update] new Res ... e).blob[post update] new Res ... adable)[post update] M8(r)[post update] M8[post update] M5(f,f8 ... ,la*16)[post update] M5[post update] f8[post update] pn[post update] la*16[post update] Pt(f,0,4)[post update] Yt[post update] Bt[post update] ir[post update] Nh[post update] 12[post update] $t[post update] 8[post update] Pt(f,o.offset-Bf,Bf)[post update] o.offset-Bf[post update] Bf[post update] Tl[post update] Pt(f,y,Uf,-1)[post update] Uf[post update] Bh[post update] 32[post update] 40[post update] Pt(f,y,v,B)[post update] ie[post update] l5[post update] i5[post update] T5[post update] c.options[post update] Uh[post update] Vh[post update] R+6[post update] k.bitFlag[post update] R+4[post update] U.subarray[post update] R+32[post update] C[post update] R+38[post update] Sl[post update] ht[post update] ht.at[post update] l2.charCodeAt[post update] l2[post update] R+42[post update] {versio ... ble:gt}[post update] R+34[post update] R+36[post update] k.inter ... ributes[post update] k.exter ... ributes[post update] u5[post update] Qt[post update] On[post update] ic[post update] ra[post update] {rawCom ... th(l2)}[post update] wn.endsWith[post update] wn[post update] Ft[post update] Zh[post update] k.encry ... ieldAES[post update] Ee[post update] (Rn,Qa) ... ges,Qa)[post update] k.getData[post update] Rn[post update] c.readRanges[post update] Qa[post update] async R ... urn Bi}[post update] [Bi][post update] Promise ... s,Rn)])[post update] [new Re ... es,Rn)][post update] new Res ... yBuffer[post update] Qa.readable[post update] {onprogress:Ua}[post update] Ua(J+1,b,new p2(k))[post update] Ua[post update] J+1[post update] new p2(k)[post update] c5[post update] s5[post update] x>0?awa ... t8Array[post update] Pt(f,0,x)[post update] E?await ... t8Array[post update] Pt(f,A+pn,E)[post update] A+pn[post update] Su[r]==o[post update] [r,o][post update] [h,v][post update] x5[post update] l[h]=y.getValue(c,o)[post update] y.getValue(c,o)[post update] y.getValue[post update] zh[post update] functio ... "]=!0)}[post update] h.append[post update] r[c][post update] new Uint8Array(4)[post update] v.setUint32[post update] h.get()[post update] {versio ... t(v,0)}[post update] l.data.subarray(5)[post update] r.bitFlag[post update] l[u][post update] functio ... Method}[post update] {vendor ... t(f,5)}[post update] l.compressionMethod[post update] functio ... atch{}}[post update] f+2[post update] l.data.slice[post update] f+4+h[post update] o.getBigUint64[post update] {rawLas ... Date:y}[post update] Gf[post update] functio ... v+=4})}[post update] o.push[post update] nr[post update] ar[post update] jh[post update] G3[post update] Hh[post update] X3[post update] (y,A)=> ... E}v+=4}[post update] l[y]=new Date(E*1e3)[post update] new Date(E*1e3)[post update] E*1e3[post update] async f ... ush(X)}[post update] {reader ... nges:E}[post update] l.readers[post update] Pt(l,v+o,O+$1,f)[post update] v+o[post update] O+$1[post update] Yt(B)[post update] Gh[post update] B.fileEntry[post update] E.push[post update] async f ... ffer}}}[post update] H5[post update] y(f)[post update] y(Math.min(v,c))[post update] Math.min(v,c)[post update] async f ... uffer}}[post update] Pt(l,E,A)[post update] S.slice(O,O+f)[post update] S.slice[post update] O+f[post update] functio ... ]:u[c]}[post update] 1980+((u&65024)>>9)[post update] ((u&480)>>5)-1[post update] u&31[post update] (c&63488)>>11[post update] (c&2016)>>5[post update] (c&31)*2[post update] functio ... 6e5)))}[post update] Number( ... 736e5))[post update] l/BigIn ... 4736e5)[post update] BigInt[post update] 1e4[post update] 116444736e5[post update] functio ... nt8(u)}[post update] l.getUint8[post update] functio ... (u,!0)}[post update] l.getUint16[post update] l.getUint32[post update] functio ... u,!0))}[post update] l.getBigUint64(u,!0)[post update] l.getBigUint64[post update] functio ... ,c,!0)}[post update] l.setUint32[post update] functio ... uffer)}[post update] q2[post update] {Inflate:a8}[post update] Object.freeze[post update] Object. ... dule"})[post update] {__prot ... ers:v3}[post update] Symbol.toStringTag[post update] {value:"Module"}[post update] functio ... .1",dt}[post update] "react.portal"[post update] "react.strict_mode"[post update] "react.profiler"[post update] "react.consumer"[post update] "react.context"[post update] "react.forward_ref"[post update] "react.suspense"[post update] "react.memo"[post update] "react.lazy"[post update] "react.activity"[post update] functio ... :null)}[post update] function(){return!1}[post update] functio ... r=W||B}[post update] W||B[post update] x.prototype[post update] functio ... tate")}[post update] "takes ... ables."[post update] this.up ... etState[post update] this.updater[post update] "setState"[post update] functio ... date")}[post update] this.up ... eUpdate[post update] "forceUpdate"[post update] function R(){}[post update] new R[post update] function j(){}[post update] functio ... ops:W}}[post update] W[post update] functio ... props)}[post update] C.type[post update] C.props[post update] functio ... of===l}[post update] functio ... L[W]})}[post update] C.replace[post update] /[=:]/g[post update] functio ... n L[W]}[post update] functio ... ng(36)}[post update] ""+C.key[post update] L.toString[post update] functio ... hrow C}[post update] C.then[post update] "pending"[post update] functio ... lue=L)}[post update] "fulfilled"[post update] functio ... son=L)}[post update] "rejected"[post update] functio ... urn gt}[post update] gt(C._payload)[post update] C._payload[post update] et[post update] gt.replace[post update] "$&/"[post update] functio ... urn On}[post update] W+(rt.k ... "/")+gt[post update] (""+rt.key).replace[post update] (""+rt.key)[post update] L.push[post update] (et=C.next())[post update] C.next[post update] Qt.call[post update] Qt++[post update] it(C)[post update] "Object ... stead."[post update] Object.keys(C).join[post update] Object.keys(C)[post update] Object.keys[post update] ", "[post update] functio ... )}),et}[post update] functio ... ,rt++)}[post update] L.call[post update] rt++[post update] functio ... result}[post update] L.then[post update] functio ... ult=W)}[post update] C._result[post update] functio ... ror(C)}[post update] window.ErrorEvent[post update] {bubble ... rror:C}[post update] C.message[post update] process[post update] process.emit[post update] "uncaughtException"[post update] functio ... s)},W)}[post update] L.apply[post update] functio ... ++}),L}[post update] function(){L++}[post update] functio ... })||[]}[post update] functio ... turn L}[post update] functio ... turn C}[post update] "React. ... child."[post update] dt[post update] tt[post update] {__prot ... he(C)}}[post update] functio ... che(C)}[post update] D.H.useMemoCache[post update] D.H[post update] functio ... ents)}}[post update] C.apply[post update] functio ... n null}[post update] functio ... rt,et)}[post update] "The ar ... "+C+"."[post update] N.call[post update] L[ot][post update] arguments[Ft+2][post update] functio ... t:C},C}[post update] {$$type ... text:C}[post update] functio ... ot,rt)}[post update] L[et][post update] arguments[Qt+2][post update] gt[et][post update] functio ... :null}}[post update] functio ... der:C}}[post update] functio ... nit:$}}[post update] functio ... ull:L}}[post update] functio ... D.T=L}}[post update] et.then[post update] W.types[post update] functio ... resh()}[post update] D.H.useCacheRefresh[post update] functio ... use(C)}[post update] D.H.use[post update] functio ... C,L,W)}[post update] D.H.useActionState[post update] functio ... k(C,L)}[post update] D.H.useCallback[post update] functio ... ext(C)}[post update] D.H.useContext[post update] functio ... e(C,L)}[post update] D.H.useDeferredValue[post update] functio ... t(C,L)}[post update] D.H.useEffect[post update] functio ... ent(C)}[post update] D.H.useEffectEvent[post update] functio ... seId()}[post update] D.H.useId[post update] D.H.use ... eHandle[post update] D.H.use ... nEffect[post update] D.H.useLayoutEffect[post update] functio ... o(C,L)}[post update] D.H.useMemo[post update] functio ... c(C,L)}[post update] D.H.useOptimistic[post update] D.H.useReducer[post update] functio ... Ref(C)}[post update] D.H.useRef[post update] functio ... ate(C)}[post update] D.H.useState[post update] D.H.use ... alStore[post update] functio ... tion()}[post update] D.H.useTransition[post update] "19.2.1"[post update] Xf[post update] B5()[post update] B5[post update] xr[post update] UA[post update] ct[post update] functio ... f)),qf}[post update] (functi ... =$}}}})[post update] functio ... O=$}}}}[post update] functio ... eak t}}[post update] H.push[post update] functio ... l:H[0]}[post update] functio ... turn _}[post update] H.pop[post update] functio ... d-_.id}[post update] void 0[post update] functio ... .now()}[post update] o.now[post update] h.now[post update] functio ... ow()-v}[post update] functio ... =c(A)}}[post update] _.expirationTime[post update] functio ... me-H)}}[post update] _.startTime-H[post update] functio ... )-K"[post update] V.replace[post update] t.displayName[post update] functio ... urn""}}[post update] "Lazy"[post update] "Suspense Fallback"[post update] "Suspense"[post update] "SuspenseList"[post update] t.type.render[post update] "Activity"[post update] functio ... stack}}[post update] Am[post update] be[post update] be.setStrictMode[post update] wl[post update] functio ... m|0)|0}[post update] vm[post update] functio ... urn t}}[post update] functio ... 0)?e:i}[post update] oa[post update] functio ... e)===0}[post update] functio ... urn-1}}[post update] functio ... 304),t}[post update] functio ... turn e}[post update] e.push[post update] functio ... nes=0)}[post update] functio ... d&~e))}[post update] xe[post update] -536870913[post update] Nr[post update] s&~(d&~e)[post update] functio ... 261930}[post update] ~e[post update] t.entanglements[post update] t.entan ... &261930[post update] functio ... n&=~i}}[post update] functio ... =0?0:n}[post update] yc[post update] functio ... turn t}[post update] functio ... 56:8:2}[post update] functio ... type))}[post update] x1[post update] functio ... _.p=n}}[post update] Math.ra ... ).slice[post update] functio ... t[Sm]}[post update] u1[post update] functio ... f(33))}[post update] f(33)[post update] 33[post update] functio ... ap}),e}[post update] {hoista ... ew Map}[post update] functio ... Ml]=!0}[post update] functio ... re",e)}[post update] Xa[post update] t+"Capture"[post update] functio ... (e[t])}[post update] Gr[post update] Lr.add[post update] Lr[post update] e[t][post update] RegExp[post update] "^[:A-Z ... 040]*$"[post update] functio ... !0,!1)}[post update] mc.call[post update] mc[post update] Vr[post update] Xr[post update] Tm.test[post update] Tm[post update] functio ... ""+n)}}[post update] Cm[post update] t.removeAttribute[post update] e.toLow ... ).slice[post update] e.toLowerCase()[post update] e.toLowerCase[post update] t.setAttribute[post update] ""+n[post update] functio ... ""+a)}}[post update] t.setAttributeNS[post update] ""+a[post update] functio ... adio")}[post update] functio ... [e]}}}}[post update] t.const ... ototype[post update] t.constructor[post update] t.hasOwnProperty[post update] {config ... is,d)}}[post update] functio ... (this)}[post update] i.call[post update] functio ... his,d)}[post update] s.call[post update] {enumer ... erable}[post update] function(){return n}[post update] function(d){n=""+d}[post update] functio ... e t[e]}[post update] functio ... t[e])}}[post update] Zr[post update] Om(t,e,""+t[e])[post update] Om[post update] ""+t[e][post update] functio ... !0):!1}[post update] e.getValue[post update] e.setValue[post update] functio ... .body}}[post update] functio ... +" "})}[post update] t.replace[post update] wm[post update] functio ... 6)+" "}[post update] e.charC ... oString[post update] e.charCodeAt(0)[post update] e.charCodeAt[post update] functio ... name")}[post update] "type"[post update] ""+je(e)[post update] je[post update] "value"[post update] Tc[post update] je(e)[post update] je(n)[post update] !!s[post update] i&&type ... symbol"[post update] ""+je(g)[post update] functio ... ,xc(t)}[post update] xc[post update] g?t.checked:!!a[post update] !!a[post update] functio ... =""+n)}[post update] Vi[post update] t.ownerDocument[post update] functio ... d=!0)}}[post update] e.hasOwnProperty[post update] "$"+t[n].value[post update] t[n][post update] t[i][post update] n!=null?""+je(n):""[post update] f(92)[post update] 92[post update] f(93)[post update] 93[post update] functio ... tent=e}[post update] "animat ... it(" ")[post update] "animat ... ".split[post update] "animat ... eClamp"[post update] functio ... n+"px"}[post update] e.indexOf[post update] "--"[post update] t.setProperty[post update] Rm.has[post update] Rm[post update] (""+n).trim()[post update] (""+n).trim[post update] (""+n)[post update] n+"px"[post update] functio ... ,e[s])}[post update] f(62)[post update] 62[post update] n.hasOwnProperty[post update] a.indexOf[post update] Jr[post update] e[s][post update] functio ... urn!0}}[post update] t.indexOf[post update] [["acce ... ight"]][post update] functio ... .')":t}[post update] Mm.test[post update] Mm[post update] ""+t[post update] function tn(){}[post update] functio ... Node:t}[post update] functio ... ,!1)}}}[post update] La[post update] Sc[post update] n.value[post update] n.defaultValue[post update] n.checked[post update] n.defaultChecked[post update] n.type[post update] n.name[post update] n.querySelectorAll[post update] 'input[ ... adio"]'[post update] He[post update] ""+e[post update] f(90)[post update] 90[post update] i.value[post update] i.defaultValue[post update] i.checked[post update] i.defaultChecked[post update] i.type[post update] i.name[post update] qr[post update] Kr[post update] Va[post update] !!n.multiple[post update] Mu[post update] Wr[post update] t[e][post update] functio ... turn n}[post update] f(231,e,typeof n)[post update] 231[post update] typeof n[post update] window.document[post update] Nl[post update] "passive"[post update] {get:fu ... Dc=!0}}[post update] function(){Dc=!0}[post update] "test"[post update] functio ... oid 0)}[post update] jn[post update] i.slice[post update] 1s?s:8[post update] bg[post update] Pl[post update] De(t)[post update] De[post update] {then:f ... ason:I}[post update] De()[post update] g.types[post update] function wg(){}[post update] functio ... n(a)})}[post update] f(476)[post update] 476[post update] T0(t)[post update] T0[post update] S0[post update] n===nul ... ),n(a)}[post update] functio ... ),n(a)}[post update] C0[post update] functio ... e=e),e}[post update] {memoiz ... t:null}[post update] functio ... ,De())}[post update] t.alternate[post update] e.next.queue[post update] e.next[post update] functio ... ne(gi)}[post update] zn[post update] Yn[post update] kl[post update] es[post update] functio ... e,a)))}[post update] D0[post update] qc[post update] M0[post update] _i[post update] f(479)[post update] 479[post update] functio ... e===mt}[post update] functio ... ding=e}[post update] Lt[post update] functio ... l:e],t}[post update] fe()[post update] [t,e=== ... null:e][post update] 4194308[post update] functio ... ate,t]}[post update] a.baseState=i[post update] Dg.bind(null,mt,t)[post update] Dg.bind[post update] Dg[post update] functio ... tate=t}[post update] functio ... ate,n]}[post update] functio ... n,t,e)}[post update] functio ... [!1,t]}[post update] S0.bind[post update] t.queue[post update] functio ... ull),n}[post update] m0[post update] t0.bind(null,a,s,t)[post update] $o.bind ... ,s,n,e)[post update] functio ... tate=e}[post update] (a&~(1< ... oString[post update] (a&~(1<<32-xe(a)-1))[post update] n.toString[post update] functio ... ,[t,e]}[post update] functio ... ll,mt)}[post update] Rg.bind(null,mt)[post update] Rg.bind[post update] Rg[post update] n.impl.apply[post update] n.impl[post update] functio ... gu(sn)}[post update] functio ... e,t,e)}[post update] x0[post update] functio ... (t),e]}[post update] functio ... t,t,e)}[post update] a0[post update] Rs[post update] g0[post update] functio ... Es(sn)}[post update] Es[post update] Es(sn)[post update] functio ... atch])}[post update] functio ... ate=n)}[post update] functio ... ,t,a))}[post update] functio ... ,t,n))}[post update] functio ... ,s):!0}[post update] t.shoul ... tUpdate[post update] functio ... ,null)}[post update] e.compo ... veProps[post update] e.UNSAF ... veProps[post update] Ms.enqu ... ceState[post update] Ms[post update] e.state[post update] e[a][post update] functio ... {Wi(t)}[post update] Wi[post update] functio ... w a})}}[post update] e.value[post update] {compon ... .stack}[post update] function(){throw a}[post update] functio ... w i})}}[post update] {compon ... e:null}[post update] function(){throw i}[post update] functio ... ,e)},n}[post update] {element:null}[post update] function(){Eu(t,e)}[post update] Eu[post update] functio ... ag=3,t}[post update] functio ... ""})})}[post update] functio ... n i(s)}[post update] Y0[post update] functio ... g:""})}[post update] [this][post update] qn.add[post update] qn[post update] this.co ... idCatch[post update] {compon ... l?g:""}[post update] 32768[post update] tl[post update] ju[post update] -257[post update] 65536[post update] new Set([a])[post update] [a][post update] e.add[post update] nf[post update] n.add[post update] f(435,n.tag)[post update] 435[post update] n.tag[post update] 256[post update] f(422)[post update] 422[post update] {cause:a}[post update] Be(t,n)[post update] f(423)[post update] 423[post update] Be(e,n)[post update] cs[post update] f(520)[post update] 520[post update] ci.push[post update] ci[post update] qn.has[post update] L0[post update] G0[post update] f(461)[post update] 461[post update] functio ... d,n,a)}[post update] t===nul ... ld,n,a)[post update] qo[post update] Ta[post update] functio ... child)}[post update] a[g][post update] hs[post update] ms[post update] gs[post update] fn[post update] Jc[post update] ae[post update] functio ... hild=t}[post update] 15[post update] Z0[post update] e.mode[post update] e.ref[post update] Gs[post update] functio ... n,a,i)}[post update] a=s[post update] Ns[post update] functio ... .child}[post update] {_visib ... s:null}[post update] I0[post update] {baseLa ... l:null}[post update] lu[post update] s!==nul ... ol:null[post update] ko[post update] fs[post update] Jo[post update] 536870912[post update] s!==nul ... nes|n:n[post update] s.cachePool[post update] functio ... ibling}[post update] functio ... i,null}[post update] {baseLa ... Pool:s}[post update] functio ... rn=t,e}[post update] xu[post update] {mode:e ... ildren}[post update] pu[post update] e.pendingProps[post update] Oe[post update] functio ... rn=e,t}[post update] -129[post update] ti[post update] os[post update] l1[post update] ze[post update] {dehydr ... s:null}[post update] Do[post update] K0[post update] 128[post update] f(558)[post update] 558[post update] Ur[post update] d.nextSibling[post update] Ho[post update] 4096[post update] {mode:a ... ildren}[post update] functio ... 4816)}}[post update] 4194816[post update] f(284)[post update] 284[post update] functio ... e,i),t}[post update] s.state ... te:null[post update] is[post update] typeof ... e(d):Wa[post update] Ds[post update] s.componentWillMount[post update] s.UNSAF ... llMount[post update] s.state[post update] Fl[post update] Jl[post update] Oa[post update] B0[post update] N0[post update] us[post update] t.dependencies[post update] s.compo ... lUpdate[post update] s.UNSAF ... lUpdate[post update] bu[post update] s.render[post update] Ta(e,t.child,null,i)[post update] Ta(e,null,n,i)[post update] ya[post update] functio ... :Yo()}}[post update] Yo[post update] functio ... =Re),t}[post update] functio ... ull,n)}[post update] -33[post update] Ln[post update] {mode:" ... dren:g}[post update] Us(n)[post update] Us[post update] Qs(t,d,n)[post update] Qs[post update] Bs[post update] zs[post update] Ys[post update] {mode:" ... ildren}[post update] g.nextSibling[post update] f(419)[post update] 419[post update] {value: ... k:null}[post update] T.subtr ... 5011712[post update] d.push[post update] functio ... hild=e}[post update] {mode:" ... dren:e}[post update] functio ... es=0,t}[post update] 22[post update] e.pendi ... hildren[post update] functio ... n,e,n)}[post update] t.return[post update] functio ... unt=s)}[post update] {isBack ... ount:s}[post update] _0[post update] ru[post update] Ls[post update] f(153)[post update] 153[post update] t.pendingProps[post update] nn(t,t.pendingProps)[post update] functio ... u(t)))}[post update] e.state ... nerInfo[post update] e.stateNode[post update] Un[post update] t.memoi ... e.cache[post update] e.type[post update] e.memoi ... s.value[post update] W0[post update] P0[post update] q0[post update] functio ... .tag))}[post update] Hg[post update] e.index[post update] e.elementType[post update] J0[post update] 11[post update] X0[post update] 14[post update] V0[post update] f(306,e,"")[post update] 306[post update] [Zt][post update] e.updateQueue[post update] F0[post update] Error(f(424))[post update] f(424)[post update] 424[post update] t.firstChild[post update] n.flags&-3|4096[post update] r1[post update] Yu(ot.c ... Element[post update] Yu(ot.current)[post update] Yu[post update] ot.current[post update] le[post update] Wt[post update] r1(e.ty ... dState)[post update] c1(e.ty ... urrent)[post update] c1[post update] a.firstChild[post update] 4194304[post update] sA[post update] Sg[post update] fA[post update] Ta(e,null,a,n)[post update] jg[post update] {parent:a,cache:i}[post update] e.updat ... State=i[post update] f(156,e.tag)[post update] 156[post update] e.tag[post update] functio ... ags|=4}[post update] functio ... 777217}[post update] 16777216[post update] Od[post update] -16777217[post update] functio ... =uu,ls}[post update] g1[post update] functio ... dl|=e)}[post update] Hr[post update] t.tail[post update] functio ... es=n,e}[post update] Fc[post update] Nt[post update] un[post update] n.pendingContext[post update] $a[post update] rn[post update] _c[post update] td[post update] Xs[post update] f(166)[post update] 166[post update] No[post update] d.createElementNS[post update] "http:/ ... 00/svg"[post update] "http:/ ... MathML"[post update] d.createElement[post update] "s=s.rem ... tChild)s.remov ... tChild)s.removeChilds.firstChilds=typeo ... .size);s=typeo ... a.size)s=typeo ... elect")typeof ... elect")typeof a.isa.isd.creat ... :a.is}){is:a.is}is:a.isd.creat ... elect")a.multi ... a.size)a.multiples.multiple=!0s.multiplea.size& ... a.size)a.size(s.size=a.size)s.size=a.sizes.sizedefault ... ment(i)s=typeo ... ment(i)typeof ... ment(i)d.createElement(i)s[te]=e,s[oe]=a;s[te]=e,s[oe]=as[te]=es[te]s[oe]=as[oe]t:for(d ... ibling}for(d=e ... ibling}d=e.child{if(d.t ... ibling}if(d.ta ... ntinue}d.tag===5||d.tag===6d.tag===5d.tagd.tag===6s.appen ... eNode);s.appen ... teNode)s.appendChildd.stateNoded.tag!= ... !==nulld.tag!= ... ag!==27d.tag!==4d.tag!==27d.child!==nulld.child{d.chil ... ntinue}d.child ... .child;d.child ... d.childd.child.return=dd.child.returnd=d.childif(d===e)break t;d===efor(;d. ... return}d.sibling===null{if(d.r ... return}if(d.re ... reak t;d.retur ... urn===ed.return===nulld.return===ed.sibli ... siblingd.sibli ... .returnd.sibling.returnd=d.siblinge.stateNode=s;t:switc ... t:a=!1}switch( ... t:a=!1}le(s,i,a),ile(s,i,a)case"button":case"input":case"select":a=!!a.autoFocus;a=!!a.autoFocus!!a.autoFocus!a.autoFocusa.autoFocuscase"im ... reak t;a=!0;default:a=!1a&&rn(e)Nt(e),X ... n),nullXs(e,e. ... rops,n)t===nul ... edPropsif(t&&e ... Node=t}t&&e.stateNode!=null{if(typ ... Node=t}if(type ... (166));typeof a!="string"if(t=ot ... eNode=tt=ot.current,$a(e)t=ot.current{if(t=e ... (e,!0)}if(t=e. ... dProps}t=e.sta ... !==nulln=e.memoizedPropsi=eeswitch( ... dProps}case 5: ... edPropsa=i.memoizedPropsi.memoizedPropst[te]=e ... n(e,!0)t[te]=et=!!(t. ... lue,n))!!(t.no ... lue,n))!(t.nod ... lue,n))(t.node ... lue,n))t.nodeV ... alue,n)t.nodeV ... ng===!0t.nodeValue===nt.nodeValuea!==nul ... ng===!0Wd(t.nodeValue,n)t||Bn(e,!0)Bn(e,!0)t=Yu(t) ... eNode=tt=Yu(t) ... Node(a)Yu(t).c ... Node(a)Yu(t).createTextNodeYu(t)case 31 ... ),null;if(n=e. ... (558))}n=e.mem ... !==nullt===nul ... !==null{if(a=$ ... (558))}if(a=$a ... ),t=!0;a=$a(e),n!==nulla=$a(e){if(t== ... ),t=!1}if(t=== ... ags|=4;{if(!a) ... [te]=e}if(!a)t ... (318));throw Error(f(318));Error(f(318))f(318)if(t=e. ... (557));t=e.mem ... null,!tt=e.memoizedStatethrow Error(f(557));Error(f(557))f(557)ya(),(e ... ags|=4;ya(),(e ... lags|=4(e.memo ... e=null)Nt(e),t=!1n=_c(), ... ),t=!0;n=_c(), ... n),t=!0n=_c()t!==nul ... rors=n)(t.memo ... rors=n)t.memoi ... rrors=nt.memoi ... nErrorsif(!t)r ... ,null);e.flags ... ),null)(Oe(e),e)Oe(e),e(Oe(e),null)Oe(e),nullif((e.f ... f(558))throw Error(f(558))case 13 ... ,null);if(a=e. ... ,null)}a=e.mem ... !==null{if(i=$ ... ,null)}if(i=$a ... ),i=!0;i=$a(e) ... !==nulli=$a(e)a!==nul ... !==null{if(t== ... ),i=!1}{if(!i) ... [te]=e}if(!i)t ... (318));if(i=e. ... (317));i=e.mem ... null,!ii=i!==n ... ed:nulli!==nul ... ed:nulli.dehydratedi[te]=ei[te]Nt(e),i=!1i=_c(), ... ),i=!0;i=_c(), ... i),i=!0i=_c()t!==nul ... rors=i)(t.memo ... rors=i)t.memoi ... rrors=iif(!i)r ... ),null)return ... ),null)Oe(e),( ... ),null)(e.flag ... ),null)(e.lanes=n,e)e.lanes=n,e(n=a!== ... ),null)n=a!==n ... e),nulln=a!==nullt=t!==n ... !==nulln&&(a=e ... =2048))(a=e.ch ... =2048))a=e.chi ... |=2048)a.alter ... l.pool)a.alter ... !==nulla.alternate!==nulla.alternatea.alter ... edStatea.alter ... chePool(i=a.al ... l.pool)i=a.alt ... ol.poola.alter ... ol.poola.memoi ... l.pool)a.memoi ... !==nulla.memoi ... chePool(s=a.me ... l.pool)s=a.mem ... ol.poola.memoi ... ol.pools!==i&& ... |=2048)s!==i(a.flags|=2048)n!==t&& ... |=8192)n!==t&&nn!==t(e.chil ... |=8192)e.child.flags|=8192e.child.flagsSu(e,e.updateQueue)case 4: ... ),null;Qt(),t= ... e),nullt===nul ... erInfo)rf(e.st ... erInfo)case 10 ... ),null;un(e.ty ... e),nullun(e.type)case 19 ... ,null);if(L(Xt ... ),null;L(Xt),a ... ===nullif(i=(e ... ast=s)}i=(e.fl ... ===nulls=a.renderinga.renderingif(i)ei ... 94304)}ei(a,!1);ei(a,!1){if(Gt! ... 94304)}if(Gt!= ... ibling}Gt!==0| ... 28)!==0Gt!==0t!==nul ... 28)!==0{if(s=r ... ibling}if(s=ru ... .child}s=ru(t),s!==nulls=ru(t){for(e. ... .child}for(e.f ... ibling;e.flags ... e.childt=s.updateQueues.updateQueuee.updateQueue=tSu(e,t)e.subtreeFlags=0e.subtreeFlagsRo(n,t),n=n.sibling;Ro(n,t),n=n.siblingRo(n,t)W(Xt,Xt ... e.childW(Xt,Xt.current&1|2)Xt.current&1|2bt&&an( ... kCount)an(e,a. ... kCount)a.treeForkCounta.tail! ... 194304)a.tail! ... pe()>Rua.tail!==nullpe()>Ru(e.flag ... 194304)e.flags ... 4194304e.lanes=4194304{if(!i) ... ast=s)}if(!i)i ... 94304);if(t=ru ... 94304);t=ru(s),t!==nullt=ru(s)ru(s){if(e.f ... ),null}if(e.fl ... e),nulle.flags ... te&&!btei(a,!0)a.tail= ... te&&!bta.tail= ... ternatea.tail= ... hidden"a.tail===nulla.tailM ... hidden"a.tailMode!s.alternate2*pe()- ... 94304);2*pe()- ... 194304)2*pe()- ... 68709122*pe()- ... Time>Ru2*pe()- ... artTime2*pe()a.renderingStartTimen!==536870912a.isBac ... last=s)a.isBackwards(s.sibl ... hild=s)s.sibli ... child=ss.sibling=e.childe.child=s(t=a.la ... last=s)t=a.las ... .last=st=a.lasta.lastt!==nul ... child=st.sibling=sa.last=sa.tail! ... ),null)(t=a.ta ... unt),t)t=a.tai ... ount),tt=a.taila.rendering=ta.tail=t.siblinga.rende ... me=pe()t.sibling=nulln=Xt.currentW(Xt,i?n&1|2:n&1)i?n&1|2:n&1n&1|2n&1(Nt(e),null)case 22:case 23 ... ),null;Oe(e),r ... a),nullrs()t!==nul ... |=8192)t.memoi ... |=8192)t.memoi ... ull!==a(e.flags|=8192)e.flags|=8192a&&(e.flags|=8192)a?(n&53 ... ):Nt(e)(n&5368 ... =8192))(n&5368 ... 28)===0(Nt(e), ... =8192))Nt(e),e ... |=8192)e.subtr ... |=8192)e.subtreeFlags&6n=e.updateQueuen!==nul ... yQueue)Su(e,n.retryQueue)n.retryQueuet!==nul ... l.pool)t.memoi ... chePool(n=t.me ... l.pool)n=t.mem ... ol.poolt.memoi ... ol.poole.memoi ... l.pool)e.memoi ... chePool(a=e.me ... l.pool)a=e.mem ... ol.poole.memoi ... ol.poola!==n&& ... |=2048)a!==nt!==null&&L(ba)L(ba)case 24 ... ),null;n=null, ... e),null(n=t.me ... .cache)n=t.mem ... e.cachee.memoi ... che!==ncase 25:return null;case 30:return nullcase 1: ... ):null;t=e.fla ... e):nullt=e.flagst&65536 ... e):nullt&65536(e.flag ... |128,e)e.flags ... 7|128,ee.flags=t&-65537|128t&-65537|128t&-65537case 3: ... ):null;un(Zt), ... e):null(t&6553 ... e):null(t&6553 ... 28)===0(t&65536)!==0(t&65536)(t&128)===0(t&128)t&128return ra(e),null;ra(e),nullcase 31 ... ):null;if(e.me ... );ya()}{if(Oe( ... );ya()}if(Oe(e ... (340));Oe(e),e ... ===nulle.alternate===nullthrow Error(f(340));Error(f(340))f(340)case 13 ... ):null;if(Oe(e ... );ya()}Oe(e),t ... !==nullt.dehydrated!==null{if(e.a ... );ya()}if(e.al ... (340));case 19 ... ),null;return L(Xt),null;L(Xt),nullreturn Qt(),null;Qt(),nullun(e.type),nullcase 23 ... ):null;Oe(e),r ... e):nullreturn un(Zt),null;un(Zt),nullfunctio ... n(Zt)}}{switch ... n(Zt)}}switch( ... un(Zt)}un(Zt),Qt();un(Zt),Qt()case 5:ra(e);break;ra(e);case 4:Qt();break;Qt();e.memoi ... &Oe(e);e.memoi ... &&Oe(e)case 13:Oe(e);break;Oe(e);case 19:L(Xt);break;L(Xt);un(e.type);case 23 ... ;break;Oe(e),r ... &L(ba);Oe(e),r ... &&L(ba)case 24:un(Zt)functio ... rn,g)}}{try{va ... rn,g)}}try{var ... urn,g)}{var n= ... !==i)}}var n=e ... t:null;a=n!==n ... ct:nulln!==nul ... ct:nulln.lastEffectif(a!== ... n!==i)}{var i= ... n!==i)}var i=a.next;i=a.nextn=i;do{if(( ... (n!==i)n!==i{if((n. ... n.next}if((n.t ... troy=a}(n.tag&t)===t(n.tag&t)n.tag&t{a=void ... troy=a}a=void 0;a=void 0var s=n ... n.inst;s=n.createn.created=n.instn.insta=s(),d.destroy=aa=s()d.destroy=ad.destroycatch(g ... urn,g)}{wt(e,e.return,g)}wt(e,e.return,g)functio ... rn,V)}}{try{va ... rn,V)}}try{var ... urn,V)}{var a= ... !==s)}}var a=e ... t:null;a=e.updateQueuei=a!==n ... ct:nulla!==nul ... ct:nulla.lastEffectif(i!== ... a!==s)}{var s= ... a!==s)}var s=i.next;s=i.nexta=s;do{if(( ... (a!==s)a!==s{if((a. ... a.next}if((a.t ... T,V)}}}(a.tag&t)===t(a.tag&t)a.tag&t{var d= ... T,V)}}}var d=a ... estroy;d=a.insta.instg=d.destroyif(g!== ... ,T,V)}}g!==void 0{d.dest ... ,T,V)}}d.destr ... 0,i=e;d.destroy=void 0,i=ed.destroy=void 0var T=n,z=g;T=nz=gtry{z() ... i,T,V)}{z()}z()catch(V){wt(i,T,V)}{wt(i,T,V)}wt(i,T,V)catch(V ... urn,V)}{wt(e,e.return,V)}wt(e,e.return,V)functio ... n,a)}}}{var e= ... n,a)}}}var e=t.updateQueue;e=t.updateQueueif(e!== ... rn,a)}}{var n= ... rn,a)}}try{Ko( ... urn,a)}{Ko(e,n)}Ko(e,n)catch(a ... urn,a)}{wt(t,t.return,a)}wt(t,t.return,a)functio ... ,e,a)}}{n.prop ... ,e,a)}}n.props ... dState;n.props ... edStaten.props ... dProps)n.propsOa(t.ty ... dProps)n.state ... edStaten.statetry{n.c ... t,e,a)}{n.comp ... ount()}n.compo ... mount()n.compo ... Unmountcatch(a){wt(t,e,a)}{wt(t,e,a)}wt(t,e,a)functio ... ,e,i)}}{try{va ... ,e,i)}}try{var ... t,e,i)}{var n= ... ent=a}}var n=t.ref;n=t.refif(n!== ... rent=a}{switch ... rent=a}switch( ... teNode}var a=t.stateNode;a=t.stateNodecase 30 ... ;break;a=t.stateNode;default ... ateNodetypeof ... rrent=at.refCleanup=n(a)n.current=an.currentcatch(i){wt(t,e,i)}{wt(t,e,i)}wt(t,e,i){var n= ... t=null}var n=t ... leanup;a=t.refCleanupif(n!== ... nt=nullif(type ... nt=nulltry{a() ... =null)}{a()}a(){t.refC ... =null)}t.refCl ... p=null)t.refCleanup=nullt!=null ... p=null)(t.refCleanup=null)try{n(n ... t,e,i)}{n(null)}n(null)n.current=nullfunctio ... rn,i)}}{var e= ... rn,i)}}var e=t ... teNode;n=t.memoizedPropstry{t:s ... urn,i)}{t:swit ... cSet)}}t:switc ... rcSet)}switch( ... rcSet)}n.autoF ... ocus();n.autoF ... focus()n.autoFocusa.focus()a.focuscase"im ... srcSet)n.src?a ... srcSet)n.srca.src=n.srca.srcn.srcSe ... srcSet)n.srcSet(a.srcset=n.srcSet)a.srcset=n.srcSeta.srcsetcatch(i ... urn,i)}{wt(t,t.return,i)}wt(t,t.return,i){try{va ... rn,i)}}try{var ... urn,i)}{var a= ... [oe]=e}nA(a,t. ... a[oe]=enA(a,t.type,n,e)a[oe]=efunctio ... ag===4}{return ... ag===4}return ... tag===4t.tag== ... tag===4t.tag== ... t.type)t.tag== ... ag===26t.tag===5||t.tag===3t.tag===5t.tag===26t.tag===27t.tag===4functio ... eNode}}{t:for( ... eNode}}t:for(; ... teNode}for(;;) ... teNode}{for(;t ... teNode}if(t.re ... n null;t.retur ... return)id(t.return)for(t.s ... .child}t.tag!= ... ag!==18t.tag!==5&&t.tag!==6t.tag!==6t.tag!==18{if(t.t ... .child}if(t.ta ... inue t;t.tag== ... ===nullt.tag== ... flags&2t.flags&2continue t;if(!(t. ... ateNode!(t.flags&2)(t.flags&2)return t.stateNode{var a= ... ibling}var a=t.tag;a=t.tagif(a=== ... siblinga===5||a===6a===5a===6t=t.sta ... k=tn));t=t.sta ... ck=tn))e?(n.no ... ck=tn))(n.node ... re(t,e)(n.node ... tBefore(n.node ... body:n)n.nodeT ... .body:nn.bodyn.nodeN ... .body:nn.nodeName==="HTML"n.nodeNamen.ownerDocument.body(e=n.no ... ck=tn))e=n.nod ... ick=tn)e=n.nod ... .body:ne.appendChild(t)e.appendChildn=n._re ... ntainern._reac ... ntainern!=null ... ick=tn)n!=null ... !==nulle.onclick!==nullif(a!== ... siblinga!==4&& ... ==null)a!==4(a===27 ... ==null)a===27& ... !==nulla===27& ... e=null)a===27&&Jn(t.type)a===27(n=t.st ... e=null)n=t.stateNode,e=nullfor(qs( ... siblingqs(t,e, ... siblingqs(t,e,n)t=t.sta ... ild(t);t=t.sta ... hild(t)e?n.ins ... hild(t)n.insertBefore(t,e)n.insertBeforen.appendChild(t)n.appendChilda===27& ... teNode)(n=t.stateNode)for(Tu( ... siblingTu(t,e, ... siblingTu(t,e,n)functio ... rn,s)}}{var e= ... rn,s)}}try{for ... urn,s)}{for(va ... [oe]=n}for(var ... (i[0]);var a=t ... ributesa=t.typei=e.attributese.remov ... (i[0]);e.remov ... e(i[0])e.remov ... uteNodei[0]le(e,a, ... e[oe]=nle(e,a,n)e[oe]=ncatch(s ... urn,s)}{wt(t,t.return,s)}wt(t,t.return,s)var on= ... t=null;on=!1Kt=!1Is=!1cd=type ... Set:Settypeof ... Set:Settypeof WeakSet_t=null{if(t=t ... eturn}}if(t=t. ... n=null;t=t.con ... ),Yc(t)t=t.containerInfohf=Iut=Eo(t)Eo(t)Yc(t){if("se ... end:0}}if("sel ... n=null}"selectionStart"in tvar n={ ... onEnd};n={star ... ionEnd}start:t ... onStartt.selectionStartend:t.selectionEndt.selectionEndt:{n=(n ... n=null}{n=(n=t ... n=null}n=(n=t. ... window;n=(n=t. ... |window(n=t.ow ... |window(n=t.ow ... ultView(n=t.ownerDocument)n=t.ownerDocumentn.defaultViewvar a=n ... tion();a=n.get ... ction()n.getSe ... ction()n.getSelectionn.getSelection()if(a&&a ... n=nulla&&a.rangeCount!==0a.rangeCount!==0a.rangeCount{n=a.an ... end:T}}n=a.anchorNode;n=a.anchorNodevar i=a ... usNode;i=a.anchorOffsets=a.focusNodea=a.focusOffset;a=a.focusOffsettry{n.n ... reak t}{n.node ... deType}n.nodeT ... odeTypes.nodeTypecatch{n ... reak t}{n=null;break t}n=null;var d=0 ... Y=null;g=-1T=-1z=0I=tY=nulle:for(; ... de}I=G}for(;;) ... de}I=G}{for(va ... de}I=G}for(var ... =I,I=G;I!==n|| ... !==nullI!==n|| ... (g=d+i)I!==n|| ... ype!==3I!==ni!==0&& ... ype!==3i!==0I.nodeType!==3I.nodeType(g=d+i)g=d+id+iI!==s|| ... (T=d+a)I!==s|| ... ype!==3I!==sa!==0&& ... ype!==3(T=d+a)T=d+ad+aI.nodeT ... length)I.nodeType===3(d+=I.n ... length)d+=I.no ... .lengthI.nodeValue.lengthI.nodeValue(G=I.fi ... !==null(G=I.firstChild)G=I.firstChildI.firstChildvar GY=I,I=G;Y=I,I=GY=II=Gfor(;;) ... ntNode}{if(I== ... ntNode}if(I===t)break e;I===tbreak e;if(Y=== ... )break;Y===n&& ... !==nullY===n&& ... &&(g=d)Y===n&&++z===iY===n++z===i++z(g=d)g=dY===s&& ... &&(T=d)Y===s&&++V===aY===s++V===a++V(T=d)T=d(G=I.ne ... !==null(G=I.nextSibling)G=I.nextSiblingI.nextSiblingI=Y,Y=I.parentNodeI=YY=I.parentNodeI.parentNoden=g===- ... ,end:T}g===-1| ... ,end:T}g===-1||T===-1g===-1T===-1{start:g,end:T}start:gend:Tn=n||{start:0,end:0}n||{start:0,end:0}{start:0,end:0}start:0end:0for(mf= ... return}_t!==nullmf={foc ... !1,_t=emf={foc ... ange:n}{focuse ... ange:n}focusedElem:tselectionRange:nIu=!1_t=eif(e=_t ... return}e=_t,t= ... !==nulle=_t(e.subt ... !==null(e.subt ... 28)!==0(e.subt ... s&1028)e.subtreeFlags&1028t.return=e,_t=t;t.return=e,_t=t_t=tfor(;_t ... return}switch( ... (163))}e=_t,s= ... s,e.tags=e.alternateif((t&4 ... xtImpl;(t&4)!= ... ==null)(t&4)!==0(t&4)t&4(t=e.up ... ==null)t=e.upd ... !==nullt=e.updateQueuet=t!==n ... ts:nullt!==nul ... ts:nullt.eventsfor(n=0 ... xtImpl;i=t[n], ... xtImpl;i=t[n], ... extImpli=t[n]i.ref.i ... extImpli.ref.impli.refi.nextImplcase 15:break;case 1: ... }break;if((t&1 ... n,ft)}}(t&1024 ... !==null(t&1024)!==0(t&1024)t&1024{t=void ... n,ft)}}t=void ... teNode;t=void ... ateNodet=void 0i=s.memoizedPropss=s.memoizedStates.memoizedStatea=n.stateNodetry{var ... rn,ft)}{var at ... date=t}var at=Oa(n.type,i);at=Oa(n.type,i)Oa(n.type,i)t=a.get ... pdate=tt=a.get ... e(at,s)a.getSn ... e(at,s)a.getSn ... eUpdatea.__rea ... pdate=ta.__rea ... eUpdate__react ... eUpdatecatch(f ... rn,ft)}{wt(n,n.return,ft)}wt(n,n.return,ft)case 3: ... }break;if((t&1 ... nt=""}}{if(t=e ... nt=""}}if(t=e. ... ent=""}t=e.sta ... e,n===9n=t.nodeTypen===9vf(t);vf(t)if(n=== ... ent=""}n===1switch( ... ent=""}case"HEAD":case"HTML":case"BO ... ;break;BODYdefault ... tent=""t.textContent=""case 6:case 17:break;default ... f(163))if((t&1 ... f(163))throw Error(f(163))Error(f(163))f(163)if(t=e. ... ;break}t=e.sibling,t!==nullt=e.sibling{t.retu ... ;break}t.retur ... n,_t=t;t.retur ... rn,_t=tt.return=e.return_t=e.return{var a= ... (t,n)}}var a=n.flags;a=n.flagsswitch( ... n(t,n)}case 15 ... ;break;hn(t,n) ... i(5,n);hn(t,n),a&4&&ni(5,n)hn(t,n)a&4&&ni(5,n)a&4ni(5,n)if(hn(t ... rn,d)}}hn(t,n),a&4if(t=n. ... rn,d)}}t=n.sta ... ===nullt=n.stateNodetry{t.c ... urn,d)}{t.comp ... ount()}t.compo ... Mount()t.componentDidMountcatch(d ... urn,d)}{wt(n,n.return,d)}wt(n,n.return,d){var i= ... rn,d)}}var i=O ... Props);i=Oa(n. ... dProps)Oa(n.ty ... dProps)e=e.memoizedState;{t.comp ... pdate)}t.compo ... Update)t.componentDidUpdatet.__rea ... eUpdatea&64&&n ... eturn);a&64&&n ... return)a&64&&nd(n)a&64nd(n)a&512&& ... return)a&512ai(n,n.return)hn(t,n) ... ==null)a&64&&( ... ==null)(t=n.up ... ==null)t=n.upd ... !==nullt=n.updateQueue{if(e=n ... rn,d)}}if(e=nu ... teNode}e=null, ... !==nulln.child.tage=n.child.stateNode;e=n.child.stateNoden.child.stateNodecase 1: ... ateNodetry{Ko( ... urn,d)}{Ko(t,e)}Ko(t,e)case 27 ... &ud(n);e===nul ... &ud(n);e===null&&a&4&&ud(n)e===null&&a&4ud(n)hn(t,n) ... eturn);hn(t,n) ... return)e===null&&a&4&&ld(n)ld(n)case 12 ... ;break;hn(t,n);hn(t,n) ... d(t,n);hn(t,n),a&4&&od(t,n)a&4&&od(t,n)od(t,n)hn(t,n) ... ,n))));hn(t,n) ... t,n))))a&4&&dd(t,n)dd(t,n)a&64&&( ... t,n))))(t=n.me ... t,n))))t=n.mem ... (t,n)))t=n.memoizedStatet!==nul ... (t,n)))(t=t.de ... (t,n)))t=t.deh ... A(t,n))t=t.dehydratedt!==nul ... A(t,n))(n=qg.b ... A(t,n))n=qg.bi ... rA(t,n)n=qg.bind(null,n)qg.bind(null,n)qg.bindrA(t,n)case 22 ... }break;if(a=n. ... i,Kt=s}a=n.mem ... ||on,!aa=n.mem ... ull||onn.memoi ... ull||onn.memoi ... !==null{e=e!== ... i,Kt=s}e=e!==n ... t,i=on;e=e!==n ... Kt,i=one=e!==n ... ull||Kte!==nul ... ull||Kte!==nul ... !==nulli=onvar s=Kt;s=Kton=a,(K ... =i,Kt=son=a(Kt=e)& ... hn(t,n)(Kt=e)&&!s(Kt=e)Kt=emn(t,n, ... 2)!==0)(n.subt ... 72)!==0(n.subt ... s&8772)n.subtreeFlags&8772on=iKt=scase 30:break;default:hn(t,n){var e= ... e=null}e!==nul ... ue=nulle!==nul ... ,fd(e))(t.alte ... ,fd(e))t.alter ... l,fd(e)t.alternate=nullfd(e)t.tag== ... &bc(e))(e=t.st ... &bc(e))e=t.sta ... &&bc(e)e!==null&&bc(e)bc(e)t.return=nullt.pendingProps=nullvar zt=null,he=!1;zt=nullhe=!1{for(n= ... ibling}for(n=n ... siblingn=n.childrd(t,e, ... siblingrd(t,e,n)functio ... ,e,n)}}{if(be& ... ,e,n)}}if(be&& ... catch{}typeof ... Unmountbe.onCo ... Unmount{be.onC ... (wl,n)}be.onCo ... t(wl,n)switch( ... t,e,n)}Kt||We( ... ld(n));Kt||We( ... ild(n))Kt||We(n,e)We(n,e)dn(t,e,n)n.memoi ... ild(n))n.memoi ... count--n.memoi ... e.countn.state ... ild(n))(n=n.st ... ild(n))n=n.sta ... hild(n)n=n.stateNoden.paren ... hild(n)n.paren ... veChildcase 27 ... ;break;Kt||We(n,e);var a=zt,i=he;a=zti=heJn(n.ty ... a,he=i;Jn(n.ty ... =a,he=iJn(n.ty ... ,he=!1)Jn(n.type)(zt=n.s ... ,he=!1)zt=n.stateNode,he=!1zt=n.stateNodedi(n.stateNode)zt=ahe=icase 5:Kt||We(n,e);case 6: ... }break;if(a=zt ... n,e,s)}a=zt,i= ... !==nullzt!==nullif(he)t ... n,e,s)}try{(zt ... n,e,s)}{(zt.no ... eNode)}(zt.nod ... teNode)(zt.nod ... veChild(zt.nod ... ody:zt)zt.node ... body:ztzt.nodeType===9zt.nodeTypezt.bodyzt.nodeName==="HTML"zt.nodeNamezt.owne ... nt.bodyzt.ownerDocumentcatch(s){wt(n,e,s)}{wt(n,e,s)}wt(n,e,s)try{zt. ... n,e,s)}{zt.rem ... eNode)}zt.remo ... teNode)zt.removeChildcase 18 ... ;break;zt!==nu ... Node));zt!==nu ... eNode))(he?(t= ... eNode))he?(t=z ... teNode)(t=zt,n ... ,pl(t))t=zt,n1 ... ),pl(t)t=ztn1(t.no ... teNode)t.nodeT ... .body:tt.nodeType===9pl(t)n1(zt,n.stateNode)a=zt,i= ... a,he=i;a=zt,i= ... =a,he=izt=n.st ... nerInfon.state ... nerInfohe=!0case 14:Xn(2,n, ... t,e,n);Xn(2,n, ... (t,e,n)Xn(2,n,e)Kt||Xn(4,n,e)Xn(4,n,e)Kt||(We ... t,e,n);Kt||(We ... (t,e,n)Kt||(We ... n,e,a))(We(n,e ... n,e,a))We(n,e) ... (n,e,a)typeof ... (n,e,a)a.compo ... Unmountad(n,e,a)case 21 ... ;break;dn(t,e,n);case 22 ... ;break;Kt=(a=K ... ),Kt=a;Kt=(a=K ... n),Kt=aKt=(a=K ... !==null(a=Kt)| ... !==null(a=Kt)a=KtKt=adefault:dn(t,e,n)functio ... n,n)}}}{if(e.m ... n,n)}}}if(e.me ... rn,n)}}e.memoi ... =null))(t=e.al ... =null))t=e.alt ... ==null)t=e.alternatet!==nul ... ==null)(t=t.me ... ==null)t=t.mem ... !==null{t=t.de ... rn,n)}}t=t.dehydrated;try{pl( ... urn,n)}{pl(t)}catch(n ... urn,n)}{wt(e,e.return,n)}wt(e,e.return,n)functio ... rn,n)}}{if(e.m ... rn,n)}}if(e.me ... urn,n)}e.memoi ... null)))(t=e.al ... null)))t=e.alt ... =null))t!==nul ... =null))(t=t.me ... =null))t=t.mem ... ==null)(t=t.de ... ==null)t=t.deh ... !==nullfunctio ... tag))}}{switch ... tag))}}switch( ... .tag))}case 13:case 19 ... cd),e;var e=t.stateNode;return ... cd),e;e===nul ... w cd),ee===nul ... new cd)(e=t.st ... new cd)e=t.stateNode=new cdt.stateNode=new cdnew cdcase 22 ... cd),e;t=t.sta ... w cd),ee=t._retryCachet._retryCache(e=t._r ... new cd)e=t._re ... =new cdt._retryCache=new cddefault ... t.tag))throw E ... t.tag))Error(f(435,t.tag))f(435,t.tag)functio ... ,i)}})}{var n= ... ,i)}})}var n=Qg(t);n=Qg(t)Qg(t)e.forEa ... i,i)}})functio ... (i,i)}}{if(!n. ... (i,i)}}if(!n.h ... n(i,i)}!n.has(a)n.has(a)n.has{n.add( ... n(i,i)}n.add(a);var i=I ... l,t,a);i=Ig.bind(null,t,a)Ig.bind(null,t,a)Ig.binda.then(i,i){var n= ... ibling}var n=e.deletions;n=e.deletionsif(n!== ... n=null}for(var ... n=null}var a=0{var i= ... n=null}var i=n ... =e,g=d;s=td=et:for(; ... return}for(;g! ... return}case 27 ... }break;if(Jn(g ... reak t}Jn(g.type)g.type{zt=g.s ... reak t}zt=g.st ... ,he=!1;zt=g.stateNode,he=!1zt=g.stateNodeg.stateNodecase 5: ... reak t;case 4: ... break tzt=g.st ... ,he=!0;zt=g.st ... o,he=!0zt=g.st ... nerInfog.state ... nerInfog=g.returnif(zt== ... (160));zt===nullthrow Error(f(160));Error(f(160))f(160)rd(s,d, ... rn=nullrd(s,d,i)s!==nul ... n=null)(s.return=null)s.return=nulli.return=nullif(e.su ... siblinge.subtreeFlags&13886for(e=e ... siblinghd(e,t),e=e.siblinghd(e,t)var Ie=null;Ie=nullfunctio ... ge(t)}}{var n= ... ge(t)}}var n=t ... .flags;a=t.flagsswitch( ... ,ge(t)}me(e,t) ... turn));me(e,t) ... eturn))me(e,t)ge(t)a&4&&(X ... eturn))(Xn(3,t ... eturn))Xn(3,t, ... return)Xn(3,t,t.return)ni(3,t)Xn(5,t,t.return)me(e,t) ... (a))));me(e,t) ... t(a))))a&512&& ... eturn))(Kt||n= ... eturn))Kt||n== ... return)Kt||n===nullWe(n,n.return)a&64&&o ... t(a))))a&64&&on(t=t.up ... t(a))))t=t.upd ... at(a)))t!==nul ... at(a)))(a=t.ca ... at(a)))a=t.cal ... cat(a))a=t.callbacksa!==nul ... cat(a))(n=t.sh ... cat(a))n=t.sha ... ncat(a)n=t.sha ... llbackst.share ... llbackst.share ... ncat(a)n===nul ... ncat(a)n.concat(a)case 26 ... }break;var i=Ie;i=Ieif(me(e ... Props)}me(e,t) ... n)),a&4{var s= ... Props)}var s=n ... e:null;s=n!==n ... te:nulln!==nul ... te:nullif(a=t. ... dProps)a=t.mem ... ===nulla=t.memoizedStateif(a=== ... Props);if(t.st ... eNode);t.stateNode===null{t:{a=t ... Node=a}t:{a=t. ... s),a=s}{a=t.ty ... s),a=s}a=t.typ ... ent||i;a=t.typ ... ment||ii=i.ownerDocument||ii.ownerDocument||ii.ownerDocumente:switc ... 68,a))}switch( ... 68,a))}case"ti ... reak t;s=i.get ... s),a=s;s=i.get ... (s),a=ss=i.get ... le")[0]i.getEl ... le")[0]i.getEl ... title")i.getEl ... TagName(!s||s[ ... tle")))(!s||s[ ... prop"))!s||s[M ... mprop")!s||s[M ... 00/svg"!s||s[Ml]||s[te]!s||s[Ml]s[Ml]s.names ... 00/svg"s.namespaceURIs.hasAt ... mprop")s.hasAttributeitemprop(s=i.cr ... tle")))s=i.cre ... itle"))s=i.createElement(a)i.createElement(a)i.createElementi.head. ... itle"))i.head.insertBeforei.headi.query ... title")i.querySelectorhead > titlele(s,a,n)s[te]=tWt(s)var d=h ... ||""));d=h1("l ... f||""))h1("lin ... f||""))h1("lin ... ,i).geth1("link","href",i)a+(n.href||"")(n.href||"")n.href||""n.hrefif(d){f ... eak e}}{for(va ... eak e}}for(var ... reak e}gMt!G.extendG.extendft>Mt(d=Mt,Mt=ft,ft=d)d=Mt,Mt=ft,ft=dd=MtMt=ftft=dvar M=v ... (g,Mt);M=vo(g,ft)vo(g,ft)w=vo(g,Mt)vo(g,Mt)if(M&&w ... ge(Q))}M&&w&&( ... offset)M&&w(G.rang ... offset)G.range ... .offsetG.range ... =w.nodeG.range ... =M.nodeG.rangeCount!==1G.rangeCountG.ancho ... =M.nodeG.anchorNodeM.nodeG.ancho ... .offsetG.anchorOffsetM.offsetG.focusNode!==w.nodeG.focusNodew.nodeG.focus ... .offsetG.focusOffsetw.offset{var Q= ... ge(Q))}var Q=I ... ange();Q=I.createRange()I.createRange()I.createRangeQ.setSt ... nge(Q))Q.setSt ... offset)Q.setStartG.removeAllRanges()G.removeAllRangesft>Mt?( ... nge(Q))(G.addR ... ffset))G.addRa ... offset)G.addRange(Q)G.addRangeG.exten ... offset)(Q.setE ... nge(Q))Q.setEn ... ange(Q)Q.setEn ... offset)Q.setEndfor(I=[ ... lTop});G=G.parentNodeG.parentNodeI=[],G=gI=[]G.nodeT ... lTop});G.nodeT ... llTop})G.nodeType===1G.nodeTypeI.push( ... llTop})I.push{elemen ... ollTop}element:Gleft:G.scrollLeftG.scrollLefttop:G.scrollTopG.scrollTopfor(typ ... =q.top}g ... s=null;_.p=32> ... Ps=null_.p=32>n?32:n32>n?32:n32>nn=Psvar s=In,d=An;s=Ind=Anif(kt=0 ... (331));kt=0,hl ... &6)!==0throw Error(f(331));Error(f(331))f(331)var g=Ct;g=Ctif(Ct|= ... catch{}Ct|=4,y ... nction"yd(s.current)s.currentgd(s,s.current,d,n)Ct=gfi(0,!1)be.onPo ... berRootonPostC ... berRoot{be.onP ... (wl,s)}be.onPo ... t(wl,s){_.p=i, ... d(t,e)}_.p=i,H.T=a,Qd(t,e)Qd(t,e){e=Be(n ... _e(t))}e=Be(n, ... ,_e(t))e=Be(n,e)Be(n,e)e=js(t. ... de,e,2)js(t.stateNode,e,2)t=Yn(t,e,2)Yn(t,e,2)t!==nul ... ,_e(t))(Dl(t,2),_e(t))Dl(t,2),_e(t)Dl(t,2){if(t.t ... eturn}}if(t.ta ... return}Yd(t,t,n);Yd(t,t,n)for(;e! ... return}{if(e.t ... return}if(e.ta ... break}}{Yd(e,t,n);break}Yd(e,t,n);Yd(e,t,n){var a= ... break}}var a=e.stateNode;a=e.stateNodeif(type ... ;break}typeof ... has(a))e.type. ... omErrora.componentDidCatch(qn===n ... has(a))qn===nu ... .has(a)!qn.has(a)qn.has(a){t=Be(n ... ;break}t=Be(n, ... _e(a));t=Be(n, ... ,_e(a))t=Be(n,t)Be(n,t)n=L0(2)L0(2)a=Yn(e,n,2)Yn(e,n,2)a!==nul ... ,_e(a))(G0(n,a ... ,_e(a))G0(n,a, ... ),_e(a)G0(n,a,e,t)Dl(a,2)_e(a)functio ... (t,t))}{var a= ... (t,t))}var a=t.pingCache;a=t.pingCachet.pingCacheif(a=== ... (e,i));{a=t.pi ... t(e,i)}a=t.pin ... new Yg;a=t.pingCache=new Ygt.pingCache=new Ygnew Ygvar i=new Set;i=new Seta.set(e,i)i=a.get ... (e,i));i=a.get ... t(e,i))i=a.get(e)a.get(e)i===voi ... t(e,i))i===void 0(i=new ... t(e,i))i=new Set,a.set(e,i)i.has(n ... n(t,t))i.has(n)i.has(Js=!0, ... n(t,t))Js=!0,i ... en(t,t)Js=!0i.add(n)i.addt=Zg.bi ... ,t,e,n)Zg.bind(null,t,e,n)Zg.binde.then(t,t){var a= ... ,_e(t)}a!==nul ... ),_e(t)a!==nul ... lete(e)a.delete(e)a.deletet.pinge ... Lanes&nt.suspendedLanes&nt.warmLanes&=~njt===t& ... (dl=0))jt===t&&(Et&n)===njt===t(Et&n)===n(Et&n)Et&n(Gt===4 ... (dl=0))Gt===4| ... &(dl=0)Gt===4| ... ):Fs|=nGt===4| ... pe()-wuGt===3& ... pe()-wuGt===3& ... 0)===EtGt===3300>pe()-wupe()-wu(Ct&2)===0&&ml(t,0)Fs|=ndl===Et&&(dl=0)dl===Et(dl=0){e===0& ... _e(t))}e===0&& ... ,_e(t))e===0&&(e=Hr())(e=Hr())e=Hr()t=Aa(t,e)Aa(t,e)(Dl(t,e),_e(t))Dl(t,e),_e(t)Dl(t,e)functio ... d(t,n)}{var e= ... d(t,n)}var e=t ... te,n=0;e!==nul ... Ld(t,n)e!==nul ... ryLane)(n=e.retryLane)n=e.retryLanee.retryLaneLd(t,n){var n= ... d(t,n)}var n=0;switch( ... (314))}var a=t ... dState;i!==nul ... yLane);i!==nul ... ryLane)(n=i.retryLane)n=i.retryLanei.retryLanea=t.sta ... yCache;a=t.sta ... ryCachet.state ... ryCachedefault ... f(314))throw Error(f(314))Error(f(314))f(314)a!==nul ... Ld(t,n)functio ... c(t,e)}{return gc(t,e)}return gc(t,e)gc(t,e)var Bu= ... 1,kn=0;Bu=nullAl=nullaf=!1Uu=!1lf=!1kn=0functio ... ,Jg())}{t!==Al ... ,Jg())}t!==Al& ... 0,Jg())t!==Al& ... next=t)t!==Al& ... ===nullt!==Alt.next===null(Al===n ... next=t)Al===nu ... .next=tAl===nullBu=Al=tAl=tAl=Al.next=tAl.next=tAl.nextUu=!0af||(af=!0,Jg())(af=!0,Jg())af=!0,Jg()af=!0Jg()functio ... lf=!1}}{if(!lf ... lf=!1}}if(!lf& ... ;lf=!1}!lf&&Uu!lf{lf=!0; ... ;lf=!1}lf=!0;lf=!0do for( ... ile(n);for(var ... a.next}var n=!1,a=Bua=Bu{if(t!= ... a.next}if(t!== ... (a,s));{var i= ... (a,s))}var i=a ... gLanes;i=a.pendingLanesa.pendingLanesif(i=== ... ?s|2:0}var s=0;{var d= ... ?s|2:0}var d=a ... dLanes;d=a.suspendedLanesa.suspendedLanesg=a.pingedLanesa.pingedLaness=(1<<3 ... s?s|2:0s=(1<<3 ... t)+1)-1(1<<31-xe(42|t)+1)-1(1<<31-xe(42|t)+1)1<<31-xe(42|t)+131-xe(42|t)+131-xe(42|t)xe(42|t)42|ts&=i&~(d&~g)i&~(d&~g)~(d&~g)(d&~g)d&~g~gs=s&201 ... s?s|2:0s&20132 ... s?s|2:0s&201326741s&201326741|1s?s|2:0s|2s!==0&& ... d(a,s))(n=!0,Zd(a,s))n=!0,Zd(a,s)n=!0Zd(a,s)s=Et,s= ... (a,s));s=Et,s= ... d(a,s))s=Ets=Li(a, ... e!==-1)Li(a,a= ... e!==-1)a===jt?s:0a===jta.cance ... le!==-1a.cance ... !==nulla.cance ... gCommita.timeoutHandle!==-1(s&3)== ... d(a,s))(s&3)===0||Rl(a,s)(s&3)===0(s&3)s&3Rl(a,s)function kg(){Gd()}{Gd()}Gd()functio ... (kn=0)}{Uu=af= ... (kn=0)}Uu=af=!1;Uu=af=!1var t=0;kn!==0& ... (t=kn);kn!==0&&lA()&&(t=kn)kn!==0&&lA()kn!==0lA()(t=kn)t=knfor(var ... )),a=i}var e=p ... ll,a=Bue=pe(){var i= ... )),a=i}var i=a ... d(a,e);s=Xd(a,e)Xd(a,e)s===0?( ... 0)),a=is===0?( ... Uu=!0))s===0(a.next ... (Al=n))a.next= ... &(Al=n)a.next=nulln===nul ... .next=iBu=in.next=ii===null&&(Al=n)(Al=n)Al=n(n=a,(t ... Uu=!0))n=a,(t! ... (Uu=!0)(t!==0| ... (Uu=!0)(t!==0||(s&3)!==0)t!==0||(s&3)!==0(s&3)!==0(Uu=!0)kt!==0& ... &(kn=0)kt!==0& ... ||fi(t)kt!==0&&kt!==5fi(t)kn!==0&&(kn=0)(kn=0)functio ... null,2}{for(va ... null,2}for(var ... ,s&=~g}0g)break;z>gvar V=T ... orType;V=T.transferSizeT.transferSizeI=T.initiatorTypeT.initiatorTypeV&&_d(I ... (T-z)))V&&_d(I)_d(I)(T=T.re ... (T-z)))T=T.res ... /(T-z))T=T.responseEndT.responseEndd+=V*(T ... /(T-z))V*(T"u"functio ... (e)))}}{var a= ... (e)))}}var a=vl;a=vlif(a&&t ... d(e)))}a&&type ... ing"&&ea&&type ... string"typeof e=="string"{var i= ... d(e)))}var i=He(e);i=He(e)He(e)i='link ... ld(e)))i='link ... +i+'"]''link[r ... +i+'"]''link[r ... ef="'+i'link[r ... href="''link[rel="'+tlink[rel=""][href="typeof ... n+'"]')typeof n=="string"(i+='[c ... n+'"]')i+='[cr ... +n+'"]''[cross ... +n+'"]''[crossorigin="'+n[crossorigin="s1.has( ... ld(e)))s1.has(i)s1.has(s1.add ... ld(e)))s1.add( ... ild(e))s1.add(i)s1.addt={rel: ... href:e}{rel:t, ... href:e}rel:tcrossOrigin:nhref:ea.query ... ild(e))a.query ... ===nulla.querySelector(i)a.querySelector(e=a.cr ... ild(e))e=a.cre ... hild(e)e=a.cre ... "link")a.creat ... "link")a.createElementle(e,"link",t)Wt(e)a.head. ... hild(e)a.head.appendChilda.head{vn.D(t ... ,null)}vn.D(t) ... t,null)vn.D(t)vn.Df1("dns ... t,null)dns-prefetchfunctio ... ",t,e)}{vn.C(t ... ",t,e)}vn.C(t, ... t",t,e)vn.C(t,e)vn.Cf1("preconnect",t,e){vn.L(t ... (e)))}}vn.L(t,e,n);vn.L(t,e,n)vn.La&&t&&ea&&tvar i=' ... )+'"]';i='link ... e)+'"]''link[r ... e)+'"]''link[r ... '+He(e)'link[r ... ][as="'link[rel="preload"][as="e==="im ... )+'"]';e==="im ... t)+'"]'e==="im ... eSrcSete==="image"&&ne==="image"n.imageSrcSet(i+='[i ... +'"]'))i+='[im ... )+'"]')i+='[im ... t)+'"]''[image ... t)+'"]''[image ... SrcSet)[imagesrcset="He(n.imageSrcSet)typeof ... )+'"]')typeof n.imageSizesn.imageSizes(i+='[i ... )+'"]')i+='[im ... s)+'"]''[image ... s)+'"]''[image ... eSizes)[imagesizes="He(n.imageSizes)i+='[hr ... t)+'"]''[href="'+He(t)+'"]''[href="'+He(t)[href="He(t)var s=i;switch( ... =El(t)}s=yl(t);s=yl(t)yl(t)case"script":s=El(t)s=El(t)El(t)Ge.has( ... ld(e)))Ge.has(s)Ge.has(t=S({r ... ld(e)))t=S({re ... ild(e))t=S({re ... s:e},n)S({rel: ... s:e},n){rel:"p ... t,as:e}rel:"preload"href:e= ... oid 0:te==="im ... oid 0:tas:eGe.set(s,t)Ge.seta.query ... (mi(s))a.query ... (hi(s))a.query ... !==nulle==="st ... (hi(s))e==="style"hi(s)e==="sc ... (mi(s))e==="script"mi(s)functio ... d(a)}}}{vn.m(t ... d(a)}}}vn.m(t,e);vn.m(t,e)vn.mvar n=vl;n=vlif(n&&t ... ld(a)}}n&&t{var a= ... ld(a)}}var a=e ... ]',s=i;a=e&&ty ... script"e&&type ... script"e&&type ... string"typeof e.ase.asi='link ... t)+'"]''link[r ... t)+'"]''link[r ... '+He(t)'link[r ... '+He(a)link[rel="modulepreload"][as="He(a)case"audioworklet":audioworkletcase"paintworklet":paintworkletcase"serviceworker":serviceworkercase"sharedworker":sharedworkercase"worker":if(!Ge. ... ild(a)}!Ge.has ... ==null)!Ge.has(s)(t=S({r ... ==null)t=S({re ... ===nullt=S({re ... f:t},e)S({rel: ... f:t},e){rel:"m ... href:t}rel:"modulepreload"href:tn.query ... ===nulln.querySelector(i)n.querySelector{switch ... ild(a)}case"sc ... )returnif(n.qu ... )returnn.query ... (mi(s))a=n.cre ... hild(a)a=n.cre ... "link")n.creat ... "link")n.createElementle(a,"link",t)n.head. ... hild(a)n.head.appendChildn.headfunctio ... s,d)}}}{vn.S(t ... s,d)}}}vn.S(t,e,n);vn.S(t,e,n)vn.Sif(a&&t ... (s,d)}}{var i= ... (s,d)}}var i=G ... =yl(t);i=Ga(a) ... eStylesGa(a).h ... eStylesGa(a)e=e||"default";e=e||"default"e||"default"var d=i.get(s);d=i.get(s)i.get(s)i.getif(!d){ ... t(s,d)}{var g= ... t(s,d)}var g={ ... :null};g={load ... d:null}{loadin ... d:null}loading:0preload:nullif(d=a. ... d,e,a)}d=a.que ... (hi(s))g.loading=5;g.loading=5g.loading{t=S({r ... d,e,a)}t=S({re ... f(t,n);t=S({re ... bf(t,n)t=S({re ... ":e},n)S({rel: ... ":e},n){rel:"s ... nce":e}rel:"stylesheet""data-precedence":e(n=Ge.g ... bf(t,n)(n=Ge.get(s))n=Ge.get(s)Ge.get(s)Ge.getbf(t,n)var T=d ... link");T=d=a.c ... "link")d=a.cre ... "link")Wt(T),l ... (d,e,a)Wt(T)le(T,"link",t)T._p=ne ... ror=V})T._pnew Pro ... ror=V})functio ... rror=V}{T.onlo ... rror=V}T.onloa ... error=VT.onload=zT.onloadT.onerror=VT.onerrorT.addEv ... ng|=1})T.addEventListenerfunctio ... ing|=1}{g.loading|=1}g.loading|=1T.addEv ... ng|=2})functio ... ing|=2}{g.loading|=2}g.loading|=2g.loading|=4Gu(d,e,a)d={type ... et(s,d)d={type ... tate:g}{type:" ... tate:g}type:"stylesheet"instance:dcount:1state:gi.set(s,d)i.setfunctio ... i,s))}}{vn.X(t ... i,s))}}vn.X(t,e);vn.X(t,e)vn.Xif(n&&t ... (i,s))}{var a= ... (i,s))}var a=G ... get(i);a=Ga(n) ... ScriptsGa(n).h ... ScriptsGa(n)i=El(t)s=a.get(i)a.get(i)s||(s=n ... t(i,s))(s=n.qu ... t(i,s))s=n.que ... et(i,s)s=n.que ... (mi(i))n.query ... (mi(i))mi(i)s||(t=S ... ild(s))(t=S({s ... ild(s))t=S({sr ... hild(s)t=S({sr ... :!0},e)S({src: ... :!0},e){src:t,async:!0}src:tasync:!0(e=Ge.g ... xf(t,e)(e=Ge.get(i))e=Ge.get(i)Ge.get(i)xf(t,e)s=n.cre ... cript")n.creat ... cript")le(s,"link",t)n.head. ... hild(s)s={type ... e:null}{type:" ... e:null}type:"script"instance:sstate:nulla.set(i,s){vn.M(t ... i,s))}}vn.M(t,e);vn.M(t,e)vn.Mt=S({sr ... le"},e)S({src: ... le"},e){src:t, ... odule"}functio ... 4,t))}}{var i= ... 4,t))}}var i=( ... ):null;i=(i=ot ... i):null(i=ot.c ... i):null(i=ot.current)i=ot.currentLu(i)if(!i)t ... (446));throw Error(f(446));Error(f(446))f(446)switch( ... 44,t))}case"ti ... n null;case"st ... :null};return ... :null};typeof ... e:null}typeof n.precedencen.precedencetypeof n.href(e=yl(n ... ,a)),a)e=yl(n. ... e,a)),ae=yl(n.href)yl(n.href)n=Ga(i) ... eStylesGa(i).h ... eStylesGa(i)a=n.get(e)n.get(e)n.geta||(a={ ... t(e,a))(a={typ ... t(e,a))a={type ... et(e,a)a={type ... e:null}type:"style"n.set(e,a)n.settype:"void"case"li ... n null;if(n.re ... turn d}n.rel== ... string"n.rel==="stylesheet"{t=yl(n ... turn d}t=yl(n.href);t=yl(n.href)var s=G ... get(t);s=Ga(i) ... eStylesd=s.get(t)s.get(t)if(d||( ... 8,""));d||(i=i ... ===nulld||(i=i ... tate)))(i=i.ow ... tate)))i=i.own ... state))d={type ... :null}}{type:" ... :null}}state:{ ... d:null}s.set(t,d)s.set(s=i.qu ... ding=5)(s=i.qu ... &&!s._p(s=i.qu ... hi(t)))s=i.que ... (hi(t))i.query ... (hi(t))hi(t)!s._ps._p(d.inst ... ding=5)d.insta ... ading=5d.instance=sd.instanced.state.loading=5d.state.loadingd.stateGe.has( ... state))Ge.has(t)(n={rel ... state))n={rel: ... .state)n={rel: ... Policy}{rel:"p ... Policy}as:"style"href:n.hrefcrossOr ... sOriginintegri ... tegrityn.integritymedia:n.median.mediahrefLang:n.hrefLangn.hrefLangreferre ... rPolicyn.referrerPolicyGe.set(t,n)s||pA(i,t,n,d.state)pA(i,t,n,d.state)e&&a===nullthrow E ... 8,""));Error(f(528,""))f(528,"")return dif(e&&a ... 9,""));e&&a!==nullthrow E ... 9,""));Error(f(529,""))f(529,"")case"sc ... :null};e=n.asy ... e:null}e=n.asyncn.asyncn=n.srctypeof ... ing"&&etypeof e!="function"typeof e!="symbol"(e=El(n ... ,a)),a)e=El(n) ... e,a)),ae=El(n)El(n)n=Ga(i) ... ScriptsGa(i).h ... Scriptsdefault ... 444,t))throw E ... 444,t))Error(f(444,t))f(444,t)functio ... t)+'"'}{return ... t)+'"'}return' ... (t)+'"''href="'+He(t)+'"''href="'+He(t)href="functio ... +t+"]"}{return ... +t+"]"}return' ... '+t+"]"'link[r ... '+t+"]"'link[r ... t"]['+t'link[r ... eet"]['link[rel="stylesheet"][{return ... null})}return ... :null})S({},t, ... :null}){"data- ... e:null}"data-p ... cedencet.precedenceprecedence:nullfunctio ... ld(e))}{t.quer ... ld(e))}t.query ... ild(e))t.query ... +e+"]")t.querySelector'link[r ... '+e+"]"'link[r ... e"]['+e'link[r ... yle"]['link[rel="preload"][as="style"][a.loading=1a.loading(e=t.cr ... ild(e))e=t.cre ... hild(e)e=t.cre ... "link")t.creat ... "link")t.createElementa.preload=ea.preloade.addEv ... ng|=1})e.addEventListener{return ... ing|=1}return a.loading|=1a.loading|=1e.addEv ... ng|=2}){return ... ing|=2}return a.loading|=2a.loading|=2le(e,"link",n)t.head. ... hild(e)t.head.appendChildt.headfunctio ... )+'"]'}{return ... )+'"]'}return' ... t)+'"]''[src="'+He(t)+'"]''[src="'+He(t)[src="functio ... nc]"+t}{return ... nc]"+t}return" ... ync]"+t"script[async]"+tscript[async]functio ... stance}{if(e.c ... stance}if(e.co ... ce,t));e.count ... ===nulle.count++e.counte.instance===nulle.instanceswitch( ... type))}case"st ... ance=a;var a=t ... +'"]');a=t.que ... )+'"]')t.query ... )+'"]')'style[ ... f)+'"]''style[ ... n.href)style[data-href~="He(n.href)if(a)re ... t(a),a;return ... t(a),a;e.instance=a,Wt(a),ae.instance=avar i=S ... null});i=S({}, ... :null})S({},n, ... :null})"data-href":n.hrefdata-hrefhref:nullreturn ... ance=a;a=(t.ow ... tance=aa=(t.ow ... style")(t.owne ... style")(t.owne ... Element(t.ownerDocument||t)t.ownerDocument||tle(a,"style",i)Gu(a,n.precedence,t)case"st ... ance=s;i=yl(n.href);i=yl(n.href)var s=t ... hi(i));s=t.que ... (hi(i))t.query ... (hi(i))hi(i)if(s)re ... t(s),s;return ... t(s),s;e.state ... Wt(s),se.state.loading|=4e.instance=sa=o1(n) ... ,Wt(s);a=o1(n) ... ),Wt(s)a=o1(n)o1(n)(i=Ge.g ... bf(a,i)(i=Ge.get(i))i=Ge.get(i)bf(a,i)s=(t.ow ... "link")(t.owne ... "link")var d=s;return ... ance=s;d._p=ne ... tance=sd._p=ne ... ror=T})d._pnew Pro ... ror=T})functio ... rror=T}{d.onlo ... rror=T}d.onloa ... error=Td.onload=gd.onloadd.onerror=Td.onerrorle(s,"link",a)Gu(s,n.precedence,t)case"sc ... nce=i);return ... nce=i);s=El(n. ... ance=i)s=El(n.src)El(n.src)(i=t.qu ... ance=i)(i=t.qu ... mi(s)))i=t.que ... (mi(s))t.query ... (mi(s))(e.inst ... t(i),i)e.instance=i,Wt(i),ie.instance=iWt(i)(a=n,(i ... ance=i)a=n,(i= ... tance=i(i=Ge.g ... f(a,i))(i=Ge.get(s))i=Ge.get(s)(a=S({},n),xf(a,i))a=S({},n),xf(a,i)a=S({},n)xf(a,i)t=t.ownerDocument||ti=t.cre ... cript")t.creat ... cript")le(i,"link",a)t.head. ... hild(i)case"vo ... n null;default ... .type))throw E ... .type))Error(f(443,e.type))f(443,e.type)e.type= ... ce,t));e.type= ... nce,t))e.type= ... &4)===0e.type= ... esheet"(e.stat ... &4)===0(a=e.in ... nce,t))a=e.ins ... ence,t)a=e.instancereturn e.instancefunctio ... hild))}{for(va ... hild))}for(var ... )break}var a=n ... s=i,d=0a=n.que ... ence]')n.query ... ence]')'link[r ... dence]'link[rel="stylesheet"][data-precedence],style[data-precedence][rel="stylesheet"][data-precedence]a-p,stylei=a.len ... 1]:nulla.lengt ... 1]:nulla[a.length-1]{var g= ... )break}if(g.da ... i)breakg.datas ... nce===eg.dataset.precedenceg.datasetif(s!==i)breaks?s.par ... Child))s.paren ... ibling)s.paren ... tBefores.parentNode(e=n.no ... Child))e=n.nod ... tChild)e=n.nod ... .head:nn.nodeT ... .head:ne.inser ... tChild)e.insertBeforee.firstChildfunctio ... title)}{t.cros ... title)}t.cross ... .title)t.cross ... Origin)t.crossOrigin==nullt.crossOrigin(t.cros ... Origin)t.cross ... sOrigine.crossOrigint.refer ... Policy)t.refer ... y==nullt.referrerPolicy(t.refe ... Policy)t.refer ... rPolicye.referrerPolicyt.title ... .title)t.title==nullt.title(t.title=e.title)t.title=e.titlefunctio ... grity)}{t.cros ... grity)}t.cross ... egrity)t.integ ... egrity)t.integrity==nullt.integrity(t.inte ... egrity)t.integ ... tegritye.integrityvar Xu=null;functio ... turn a}{if(Xu= ... turn a}if(Xu== ... (n,a));Xu===null{var a= ... t(n,a)}var a=n ... ew Map;a=new Mapi=Xu=new MapXu=new Mapi.set(n,a)i=Xu,a= ... (n,a));i=Xu,a= ... t(n,a))i=Xua=i.get(n)i.get(n)a||(a=n ... t(n,a))(a=new ... t(n,a))a=new Map,i.set(n,a)if(a.ha ... turn a;a.has(t)a.hasfor(a.s ... ,[s])}}a.set(t ... (t),i=0a.set(t,null)n=n.get ... Name(t)n.getEl ... Name(t)n.getEl ... TagName{var s= ... ,[s])}}var s=n[i];s=n[i]if(!(s[ ... d,[s])}!(s[Ml] ... 00/svg"!(s[Ml] ... sheet")(s[Ml]| ... sheet")s[Ml]||s[te]t==="li ... esheet"t==="link"s.getAt ... esheet"{var d= ... d,[s])}var d=s ... e)||"";d=s.get ... (e)||""s.getAt ... (e)||""s.getAttribute(e)d=t+d;d=t+dt+dvar g=a.get(d);g=a.get(d)a.get(d)g?g.pus ... (d,[s])g.push(s)g.pusha.set(d,[s]){t=t.ow ... :null)}t=t.own ... ):null)t.head. ... ):null)t.head.insertBeforee==="ti ... "):nulle==="title"t.query ... title"){if(n== ... turn!1}if(n=== ... turn!1;n===1|| ... p!=nulle.itemProp!=nulle.itemPropcase"ti ... turn!0;case"st ... turn!0;if(type ... )break;typeof ... ef===""typeof e.precedencee.precedencetypeof e.hrefe.hrefe.href===""case"li ... turn!0}typeof ... onErrortypeof ... .onLoadtypeof e.rele.rele.onLoade.onErrorcase"st ... ==null;return ... ==null;t=e.dis ... t==nullt=e.disablede.disabledtypeof ... t==nullcase"sc ... eturn!0if(e.as ... eturn!0e.async ... string"e.async ... &&e.srce.async ... onErrore.async ... .onLoade.async ... symbol"e.async ... nction"e.asynctypeof e.async!e.onLoad!e.onErrore.srctypeof e.srcfunctio ... )===0)}{return ... )===0)}return! ... 3)===0)!(t.typ ... 3)===0)(t.type ... 3)===0)t.type= ... &3)===0t.type= ... esheet"(t.stat ... &3)===0(t.state.loading&3)t.state.loading&3t.state.loadingfunctio ... ",n))}}{if(n.t ... ",n))}}if(n.ty ... r",n))}n.type= ... &4)===0n.type= ... s!==!1)n.type= ... esheet"(typeof ... s!==!1)typeof ... es!==!1typeof a.mediaa.mediamatchMe ... es!==!1matchMe ... matchesmatchMedia(a.media)(n.stat ... &4)===0(n.state.loading&4)n.state.loading&4n.state.loading{if(n.i ... r",n))}if(n.in ... ance=s}n.instance===nulln.instance{var i= ... ance=s}var i=y ... hi(i));i=yl(a.href)yl(a.href)s=e.que ... (hi(i))e.query ... (hi(i))e.querySelectorif(s){e ... return}{e=s._p ... return}e=s._p, ... ,Wt(s);e=s._p, ... s,Wt(s)e=s._pe!==nul ... n(t,t))(t.coun ... n(t,t))t.count ... en(t,t)t.count++t.countt=Vu.bind(t)Vu.bind(t)Vu.bindn.state.loading|=4n.instance=ss=e.own ... ,Wt(s);s=e.own ... ),Wt(s)s=e.ownerDocument||ee.ownerDocument||ea=o1(a)o1(a)s=s.cre ... "link")s.creat ... "link")s.createElementt.style ... or",n))t.style ... ew Map)t.stylesheets===nullt.stylesheets(t.styl ... ew Map)t.style ... new Mapt.style ... et(n,e)t.stylesheets.set(e=n.st ... or",n))(e=n.st ... &3)===0(e=n.state.preload)e=n.state.preloadn.state.preload(n.stat ... &3)===0(n.state.loading&3)n.state.loading&3(t.coun ... or",n))t.count ... ror",n)n=Vu.bind(t)e.addEv ... oad",n)e.addEv ... ror",n)var Sf=0;Sf=0functio ... }:null}{return ... }:null}return ... }}:nullt.style ... }}:nullt.style ... sheets)t.style ... unt===0t.count===0qu(t,t.stylesheets)0Sf?50:800t.imgBytes>Sfreturn ... out(i)}t.unsus ... out(i)}t.unsuspend=nfunctio ... out(i)}{t.unsu ... out(i)}t.unsus ... eout(i)clearTimeout(a)clearTimeout(i)functio ... ,t()}}}{if(thi ... ,t()}}}if(this ... l,t()}}this.co ... Images)this.count--this.countthis.count===0(this.i ... Images)this.im ... rImagesthis.imgCount===0this.imgCount!this.w ... rImagesthis.wa ... rImages{if(thi ... l,t()}}if(this ... ll,t()}this.stylesheetsqu(this ... heets);qu(this ... sheets)this.unsuspend{var t= ... ll,t()}var t=t ... uspend;t=this.unsuspendthis.un ... ull,t()this.unsuspend=nullvar Zu=null;Zu=nullfunctio ... ll(t))}{t.styl ... ll(t))}t.style ... all(t))t.stylesheets=nullt.unsus ... all(t))t.unsuspend!==null(t.coun ... all(t))t.count ... call(t)Zu=new Mape.forEach(TA,t)Vu.call(t)Vu.callfunctio ... ng|=4}}{if(!(e ... ng|=4}}if(!(e. ... ing|=4}!(e.state.loading&4){var n= ... ing|=4}var n=Zu.get(t);n=Zu.get(t)Zu.get(t)Zu.getif(n)va ... ull,a)}var a=n.get(null);a=n.get(null)n.get(null){n=new ... ull,a)}n=new M ... t(t,n);n=new M ... et(t,n)n=new MapZu.set(t,n)Zu.setfor(var ... ),a=d)}s{con ... t?!o:o}{const ... t?!o:o}const o ... .name);o=c.pro ... r.name)c.proje ... r.name)c.project.includesc.projectr.namereturn r.not?!o:or.not?!o:or.not{if(!!! ... turn!1}if(!!!t ... eturn!1!this.s ... ?!o:o})this.st ... ?!o:o})this.status.findo=c.sta ... r.name)c.statu ... r.name)c.status.includesc.statusif(c.st ... turn!1;c.status==="skipped"return! ... !o:o}))!(this. ... !o:o}))(this.t ... !o:o}))this.te ... ?!o:o})this.te ... r.not})!this.t ... r.not})this.text.everyr=>{if( ... !r.not}{if(c.t ... !r.not}if(c.te ... !r.not;c.text. ... r.name)c.text.includesc.textreturn!r.not;!r.notconst[o ... t(":");[o,h,v] ... it(":")[o,h,v]r.name.split(":")r.name.splitreturn ... !!r.notc.file. ... !!r.notc.file. ... mn===v)c.file. ... ine===hc.file.includes(o)c.file.includesc.filec.line===hc.line(v===vo ... mn===v)v===voi ... umn===vv===void 0c.column===vc.column!!r.notthis.la ... ?!o:o})!this.l ... ?!o:o})this.labels.everyo=c.lab ... r.name)c.label ... r.name)c.labels.includesc.labelsthis.an ... ?!o:o})!this.a ... ?!o:o})this.an ... s.everyconst o ... name));o=c.ann ... .name))c.annot ... .name))c.annotations.somec.annotationsh=>h.in ... r.name)h.includes(r.name)h.includesconst H ... lues");H2=Symb ... alues")Symbol( ... alues")searchValuesfunctio ... 2]=f,f}{const ... 2]=f,f}const u=l[H2];u=l[H2]l[H2]if(u)return u;return u;let c="passed";c="passed"passedl.outco ... pped");l.outco ... ipped")l.outco ... ailed")l.outco ... pected"l.outcome(c="failed")c="failed"failedl.outco ... flaky")l.outcome==="flaky"(c="flaky")c="flaky"l.outco ... kipped"(c="skipped")c="skipped"const f ... ())})};f={text ... e())})}{text:( ... e())})}text:(c ... rCase()(c+" "+ ... rCase()(c+" "+ ... werCase(c+" "+ ... .title)c+" "+l ... l.titlec+" "+l ... ")+" "c+" "+l ... in(" ")c+" "+l ... ile+" "c+" "+l ... on.filec+" "+l ... ame+" "c+" "+l.projectNamec+" "l.projectNamel.tags.join(" ")l.tags.joinl.tagsl.location.filel.locationl.path.join(" ")l.path.joinl.pathl.titleproject ... rCase()l.proje ... rCase()l.proje ... werCasestatus:cfile:l.location.fileline:St ... n.line)String( ... n.line)l.location.linecolumn: ... column)String( ... column)l.location.columnlabels: ... Case())l.tags. ... Case())l.tags.mapr=>r.toLowerCase()r.toLowerCase()r.toLowerCaseannotat ... se())})l.annot ... se())})l.annotations.mapl.annotationsr=>{var ... ase())}{var o; ... ase())}var o;return ... Case())r.type. ... Case())r.type. ... e()+"="r.type.toLowerCase()r.type.toLowerCaser.type((o=r.d ... Case())(o=r.de ... rCase()(o=r.de ... )==null(o=r.description)o=r.descriptionr.descriptiono.toLoc ... rCase()o.toLocaleLowerCasereturn l[H2]=f,fl[H2]=f,fl[H2]=fconst Z ... \S+)/g;Z5=/("[ ... |\S+)/g/("[^"] ... |\S+)/g("[^"]*"|"[^"]*$|\S+)"[^"]*"|"[^"]*$|\S+"[^"]*"[^"]*[^"]"[^"]*$\S+\Sfunctio ... "#?"+f}{const ... "#?"+f}const f ... 1):A});f=new U ... rams(l)new URL ... rams(l)o=[...( ... -1):A})[...(l. ... -1):A})[...(l. ... 5)].map[...(l. ... ll(Z5)]...(l.g ... All(Z5)(l.get( ... All(Z5)(l.get( ... atchAll(l.get("q")??"")l.get("q")??""l.get("q")l.gety=>{con ... h-1):A}{const ... h-1):A}const A=y[0];A=y[0]return ... th-1):AA.start ... th-1):AA.start ... ength>1A.start ... th('"')A.startsWith('"')A.endsWith('"')A.endsWithA.slice ... ngth-1)A.length-1if(c)re ... "#?"+f;return ... "#?"+f;f.set(" ... ,"#?"+ff.set(" ... .o,u]))f.setN2(o.in ... ..o,u])o.inclu ... ...o,u]o.includes(u)o.includeso.filter(y=>y!==u)o.filtery=>y!==uy!==u[...o,u]...o"#?"+f#?let h;u.start ... h="@");u.start ... (h="@")u.start ... h="s:")u.startsWith("s:")u.startsWith(h="s:")h="s:"u.start ... h="p:")u.startsWith("p:")(h="p:")h="p:"u.startsWith("@")(h="@")h="@"const v ... th(h));v=o.fil ... ith(h))o.filte ... ith(h))y=>!y.startsWith(h)!y.startsWith(h)y.startsWith(h)y.startsWithreturn ... ,"#?"+fv.push( ... ,"#?"+fv.push(u)v.pushf.set("q",N2(v))N2(v)functio ... trim()}{return ... trim()}return ... .trim()l.map(u ... .trim()l.map(u ... ").triml.map(u ... in(" ")l.map(u ... u).joinl.map(u ... u}"`:u)l.mapu=>/\s/ ... {u}"`:u/\s/.te ... {u}"`:u/\s/.test(u)/\s/.test`"${u}"`const q ... )})]});q5=()=> ... t:16}})()=>m.j ... t:16}})m.jsx(" ... t:16}})m.jsx{classN ... ht:16}}className:"octicon"octiconstyle:{ ... ght:16}{width:16,height:16}width:16height:16I5=()=> ... 4z"})})()=>m.j ... 4z"})})m.jsx(" ... 4z"})}){"aria- ... 04z"})}"aria-hidden":"true"aria-hiddenheight:"16"viewBox:"0 0 16 16"0 0 16 16version:"1.1"width:"16""data-v ... :"true""data-v ... ponent"data-view-componentclassNa ... h-icon""octico ... h-icon"octicon subnav-search-iconchildre ... .04z"})m.jsx(" ... .04z"}){fillRu ... 3.04z"}fillRule:"evenodd"evenoddd:"M11. ... -3.04z""M11.5 ... -3.04z"M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04zM115 7a4499 4499 0 11-8998 0A4499 0 01115 7zm-82 474a6 6 0 11106-106l304 304a75 0 11-106 106l-304-304zNi=()=> ... 0z"})})()=>m.j ... 0z"})})m.jsx(" ... 0z"})}){"aria- ... 0z"})}classNa ... -muted""octico ... -muted"octicon color-fg-mutedchildre ... 6 0z"})m.jsx(" ... 6 0z"}){fillRu ... 06 0z"}d:"M12. ... .06 0z""M12.78 ... .06 0z"M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0zM1278 622a75 0 010 106l-425 425a75 0 01-106 0L322 728a75 0 01106L8 994l372-372a06 0zCl=()=> ... 6z"})})()=>m.j ... 6z"})})m.jsx(" ... 6z"})}){"aria- ... 06z"})}childre ... .06z"})m.jsx(" ... .06z"}){fillRu ... 1.06z"}d:"M6.2 ... -1.06z""M6.22 ... -1.06z"M6.22 3.22a.75.75 0 011.06 0l4.25 4.25a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06-1.06L9.94 8 6.22 4.28a.75.75 0 010-1.06zM622 306 0l406L994 8 622 475 0 010-106zqh=()=> ... 5z"})})()=>m.j ... 5z"})})m.jsx(" ... 5z"})}){"aria- ... .5z"})}classNa ... arning""octico ... arning"octicon color-text-warningchildre ... 2.5z"})m.jsx(" ... 2.5z"}){fillRu ... -2.5z"}d:"M8.2 ... v-2.5z""M8.22 ... v-2.5z"M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z22 1754a25 0 00-44 0L1698 13132a25 0 00368h12164a22-368L8754zm-1763-707c659-1234 2427-1234 3086 0l6082 11378A175 175 0 0114082 15H1918a1543-2575L6457 1047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-25-575 0 00-15 0v25a75 0 0015 0v-25zIh=()=> ... 5z"})}){"aria- ... 25z"})}childre ... .25z"})m.jsx(" ... .25z"}){fillRu ... 2.25z"}d:"M3.5 ... -2.25z""M3.5 1 ... -2.25z"M3.5 1.75a.25.25 0 01.25-.25h3a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h2.086a.25.25 0 01.177.073l2.914 2.914a.25.25 0 01.073.177v8.586a.25.25 0 01-.25.25h-.5a.75.75 0 000 1.5h.5A1.75 1.75 0 0014 13.25V4.664c0-.464-.184-.909-.513-1.237L10.573.513A1.75 1.75 0 009.336 0H3.75A1.75 1.75 0 002 1.75v11.5c0 .649.353 1.214.874 1.515a.75.75 0 10.752-1.298.25.25 0 01-.126-.217V1.75zM8.75 3a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM6 5.25a.75.75 0 01.75-.75h.5a.75.75 0 010 1.5h-.5A.75.75 0 016 5.25zm2 1.5A.75.75 0 018.75 6h.5a.75.75 0 010 1.5h-.5A.75.75 0 018 6.75zm-1.25.75a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM8 9.75A.75.75 0 018.75 9h.5a.75.75 0 010 1.5h-.5A.75.75 0 018 9.75zm-.75.75a1.75 1.75 0 00-1.75 1.75v3c0 .414.336.75.75.75h2.5a.75.75 0 00.75-.75v-3a1.75 1.75 0 00-1.75-1.75h-.5zM7 12.25a.25.25 0 01.25-.25h.5a.25.25 0 01.25.25v2.25H7v-2.25z5 175a25 0 0125-25h3a75 0 000 15h75 0 000-15h2086a073l2914 2914a073177v8586a25 0 01-25h-5A175 0 0014 1325V4664c0-464-184-909-513-1237L10573513A175 0 009336 0H375A175 0 002 175v115c0 649353 1874 1515a75 0 10752-1298126-217V175zM875 3a5h-5zM6 575 0 0175-75h5A75 0 016 525zm2 175 0 01875 6h75 0 018 675zm-15zM8 975A75 9h75 0 018 975zm-75a175v3c0 41433675h275 0 0075v-3a175-175h-5zM7 1225h25v225H7v-225zKh=()=> ... 6z"})}){classN ... 06z"})}classNa ... danger""octico ... danger"octicon color-text-dangerd:"M3.7 ... -1.06z""M3.72 ... -1.06z"M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z72 306 0L8 622-375 0 11106 8l306L694 8 372 478akh=()=> ... 0z"})})classNa ... uccess""octico ... uccess"octicon color-icon-successd:"M13. ... .06 0z""M13.78 ... .06 0z"M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0zM1378 406l-725 706 0L222 906L6 1094l672-6Jh=()=> ... 5z"})}){"aria- ... 95z"})}octicon octicon-clock color-text-dangerchildre ... .95z"})m.jsx(" ... .95z"}){fillRu ... 2.95z"}d:"M5.7 ... -2.95z""M5.75. ... -2.95z"M5.75.75A.75.75 0 016.5 0h3a.75.75 0 010 1.5h-.75v1l-.001.041a6.718 6.718 0 013.464 1.435l.007-.006.75-.75a.75.75 0 111.06 1.06l-.75.75-.006.007a6.75 6.75 0 11-10.548 0L2.72 5.03l-.75-.75a.75.75 0 011.06-1.06l.75.75.007.006A6.718 6.718 0 017.25 2.541a.756.756 0 010-.041v-1H6.5a.75.75 0 01-.75-.75zM8 14.5A5.25 5.25 0 108 4a5.25 5.25 0 000 10.5zm.389-6.7l1.33-1.33a.75.75 0 111.061 1.06L9.45 8.861A1.502 1.502 0 018 10.75a1.5 1.5 0 11.389-2.95z75 0 0165 0h3a75v1l-001041a6718 6718 0 013464 1435l007-00606l-007a675 675 0 11-10548 0L272 503l-06l007006A6718 0 01725 2541a756756 0 010-041v-1H675 0 01-75zM8 145A525 525 0 108 4a525 0 000 105zm389-67l133-133a061 145 8861A1502 1502 0 018 105 0 11389-295zK5=()=> ... 2Z"})})()=>m.j ... 2Z"})})m.jsx(" ... 2Z"})}){"aria- ... 42Z"})}childre ... 042Z"})m.jsx(" ... 042Z"}){d:"M8 ... .042Z"}d:"M8 0 ... 1.042Z""M8 0a8 ... 1.042Z"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm9.78-2.22-5.5 5.5a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l5.5-5.5a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042ZM8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM15 8a65 65 0 1 0 13 0 65 0 0 0-13 0Zm978-222-55 5749749 0 0 1-1275-326749 0 0 1 215-734l55-5751751 0 0 1 1042018751 0 0 1 018 1042Zk5=()=> ... 6Z"})})()=>m.j ... 6Z"})})m.jsx(" ... 6Z"})}){classN ... 26Z"})}viewBox:"0 0 48 48"0 0 48 48width:"20"height:"20"childre ... v26Z"})m.jsx(" ... v26Z"}){xmlns: ... 7v26Z"}xmlns:" ... 00/svg"d:"M11. ... H7v26Z""M11.85 ... H7v26Z"M11.85 32H36.2l-7.35-9.95-6.55 8.7-4.6-6.45ZM7 40q-1.2 0-2.1-.9Q4 38.2 4 37V11q0-1.2.9-2.1Q5.8 8 7 8h34q1.2 0 2.1.9.9.9.9 2.1v26q0 1.2-.9 2.1-.9.9-2.1.9Zm0-29v26-26Zm34 26V11H7v26Z85 32H362l-735-995-655 87-46-645ZM7 40q-12 0-21-9Q4 382 4 37V11q0-19-21Q58 8 7 8h34q12 0 29 21v26q0 12-9Zm0-29v26-26Zm34 26V11H7v26ZJ5=()=> ... 6Z"})}){xmlns: ... 1v26Z"}d:"m19. ... 11v26Z""m19.6 ... 11v26Z"m19.6 32.35 13-8.45-13-8.45ZM7 40q-1.2 0-2.1-.9Q4 38.2 4 37V11q0-1.2.9-2.1Q5.8 8 7 8h34q1.2 0 2.1.9.9.9.9 2.1v26q0 1.2-.9 2.1-.9.9-2.1.9Zm0-3h34V11H7v26Zm0 0V11v26Zm196 3235 13-845-13-89Zm0-3h34V11H7v26Zm0 0V11v26ZF5=()=> ... 9Z"})})()=>m.j ... 9Z"})})m.jsx(" ... 9Z"})}){classN ... .9Z"})}childre ... 1.9Z"})m.jsx(" ... 1.9Z"}){xmlns: ... .1.9Z"}d:"M7 3 ... 2.1.9Z""M7 37h ... 2.1.9Z"M7 37h9.35V11H7v26Zm12.35 0h9.3V11h-9.3v26Zm12.3 0H41V11h-9.35v26ZM7 40q-1.2 0-2.1-.9Q4 38.2 4 37V11q0-1.2.9-2.1Q5.8 8 7 8h34q1.2 0 2.1.9.9.9.9 2.1v26q0 1.2-.9 2.1-.9.9-2.1.9ZM7 37h935V11H7v26Zm1235 0h93V11h-93v26Zm123 0H41V11h-935v26ZM7 40q-19ZW5=()=> ... Z"})]})()=>m.j ... Z"})]})m.jsxs( ... Z"})]})m.jsxs{classN ... 5Z"})]}childre ... 25Z"})][m.jsx( ... 25Z"})]m.jsx(" ... .25Z"}){d:"M0 ... 4.25Z"}d:"M0 6 ... 14.25Z""M0 6.7 ... 14.25Z"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25ZM0 675C0 5784784 5 175 5h175 0 0 1 0 15h-125 0 0 0-25v725h725 0 0 0 25v-175 0 0 1 15 0v175 0 0 1 925 16h-775 0 0 1 0 1425Z{d:"M5 ... -.25Z"}d:"M5 1 ... 5-.25Z""M5 1.7 ... 5-.25Z"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25ZM5 175C5 784 5784 0 675 0h75C15216 0 16 784 16 175v775 0 0 1 1425 11h-775 0 0 1 5 925Zm125v-7_5=()=> ... 8Z"})})()=>m.j ... 8Z"})})m.jsx(" ... 8Z"})}){classN ... 8Z"})}classNa ... ttings""octico ... ttings"octicon octicon-settingschildre ... 5 8Z"})m.jsx(" ... 5 8Z"}){d:"M8 ... .5 8Z"}d:"M8 0 ... 9.5 8Z""M8 0a8 ... 9.5 8Z"M8 0a8.2 8.2 0 0 1 .701.031C9.444.095 9.99.645 10.16 1.29l.288 1.107c.018.066.079.158.212.224.231.114.454.243.668.386.123.082.233.09.299.071l1.103-.303c.644-.176 1.392.021 1.82.63.27.385.506.792.704 1.218.315.675.111 1.422-.364 1.891l-.814.806c-.049.048-.098.147-.088.294.016.257.016.515 0 .772-.01.147.038.246.088.294l.814.806c.475.469.679 1.216.364 1.891a7.977 7.977 0 0 1-.704 1.217c-.428.61-1.176.807-1.82.63l-1.102-.302c-.067-.019-.177-.011-.3.071a5.909 5.909 0 0 1-.668.386c-.133.066-.194.158-.211.224l-.29 1.106c-.168.646-.715 1.196-1.458 1.26a8.006 8.006 0 0 1-1.402 0c-.743-.064-1.289-.614-1.458-1.26l-.289-1.106c-.018-.066-.079-.158-.212-.224a5.738 5.738 0 0 1-.668-.386c-.123-.082-.233-.09-.299-.071l-1.103.303c-.644.176-1.392-.021-1.82-.63a8.12 8.12 0 0 1-.704-1.218c-.315-.675-.111-1.422.363-1.891l.815-.806c.05-.048.098-.147.088-.294a6.214 6.214 0 0 1 0-.772c.01-.147-.038-.246-.088-.294l-.815-.806C.635 6.045.431 5.298.746 4.623a7.92 7.92 0 0 1 .704-1.217c.428-.61 1.176-.807 1.82-.63l1.102.302c.067.019.177.011.3-.071.214-.143.437-.272.668-.386.133-.066.194-.158.211-.224l.29-1.106C6.009.645 6.556.095 7.299.03 7.53.01 7.764 0 8 0Zm-.571 1.525c-.036.003-.108.036-.137.146l-.289 1.105c-.147.561-.549.967-.998 1.189-.173.086-.34.183-.5.29-.417.278-.97.423-1.529.27l-1.103-.303c-.109-.03-.175.016-.195.045-.22.312-.412.644-.573.99-.014.031-.021.11.059.19l.815.806c.411.406.562.957.53 1.456a4.709 4.709 0 0 0 0 .582c.032.499-.119 1.05-.53 1.456l-.815.806c-.081.08-.073.159-.059.19.162.346.353.677.573.989.02.03.085.076.195.046l1.102-.303c.56-.153 1.113-.008 1.53.27.161.107.328.204.501.29.447.222.85.629.997 1.189l.289 1.105c.029.109.101.143.137.146a6.6 6.6 0 0 0 1.142 0c.036-.003.108-.036.137-.146l.289-1.105c.147-.561.549-.967.998-1.189.173-.086.34-.183.5-.29.417-.278.97-.423 1.529-.27l1.103.303c.109.029.175-.016.195-.045.22-.313.411-.644.573-.99.014-.031.021-.11-.059-.19l-.815-.806c-.411-.406-.562-.957-.53-1.456a4.709 4.709 0 0 0 0-.582c-.032-.499.119-1.05.53-1.456l.815-.806c.081-.08.073-.159.059-.19a6.464 6.464 0 0 0-.573-.989c-.02-.03-.085-.076-.195-.046l-1.102.303c-.56.153-1.113.008-1.53-.27a4.44 4.44 0 0 0-.501-.29c-.447-.222-.85-.629-.997-1.189l-.289-1.105c-.029-.11-.101-.143-.137-.146a6.6 6.6 0 0 0-1.142 0ZM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM9.5 8a1.5 1.5 0 1 0-3.001.001A1.5 1.5 0 0 0 9.5 8ZFh=({va ... en:r})}({value ... en:r})}{value:l}value:l{const[ ... en:r})}const[u ... ):W5();[u,c]=c ... "copy")[u,c]ct.useState("copy")ct.useStatef=ct.us ... )},[l])ct.useC ... )},[l])ct.useCallback()=>{na ... ss")})}{naviga ... ss")})}navigat ... oss")})navigat ... l).thennavigat ... Text(l)navigat ... iteTextnavigator.clipboard()=>{c( ... },3e3)}{c("che ... },3e3)}c("chec ... )},3e3)c("check")checksetTime ... )},3e3)()=>{c("copy")}{c("copy")}c("copy")3000()=>{c("cross")}{c("cross")}c("cross")cross[l]r=u===" ... ():W5()u==="ch ... ():W5()u==="check"kh()u==="cr ... ():W5()u==="cross"Kh()W5()return ... ren:r})m.jsx(" ... ren:r}){classN ... dren:r}classNa ... y-icon"copy-icontitle:" ... pboard"Copy to clipboard"aria-l ... pboard"aria-labelonClick:fchildren:rSr=({ch ... })})]})({child ... })})]}){children:l,value:u}children:lvalue:um.jsxs( ... })})]}){classN ... u})})]}classNa ... tainer""copy-v ... tainer"copy-value-containerchildre ... :u})})][l,m.js ... :u})})]m.jsx(" ... e:u})}){classN ... ue:u})}"copy-b ... tainer"copy-button-containerchildre ... lue:u})m.jsx(Fh,{value:u}){value:u}functio ... },u),r}{const[ ... },u),r}const[r ... ate(c);[r,o]=ue.useState(c)ue.useState(c)ue.useStatereturn ... }},u),rue.useE ... }},u),rue.useE ... !0}},u)ue.useEffect()=>{le ... {h=!0}}{let h= ... {h=!0}}return ... >{h=!0}l().the ... >{h=!0}l().the ... |o(v)})l().thenv=>{h||o(v)}{h||o(v)}h||o(v)o(v)()=>{h=!0}{h=!0}functio ... n[u,l]}{const ... n[u,l]}const l ... =ur(l);l=ue.useRef(null)ue.useRef(null)ue.useRef[u]=ur(l)ur(l)return[u,l][u,l]functio ... ,[u,f]}{const[ ... ,[u,f]}const[u ... },[l]);[u,c]=u ... 10,10))ue.useS ... 10,10))new DOM ... ,10,10)f=ue.us ... )},[l])ue.useC ... )},[l])ue.useCallback()=>{co ... ect())}{const ... ect())}const r ... urrent;r=l==nu ... currentl==null ... currentl==nulll.currentr&&c(r. ... Rect())c(r.get ... Rect())r.getBo ... tRect()r.getBo ... entRectreturn ... ),[u,f]ue.useL ... ),[u,f]ue.useL ... ,[f,l])ue.useLayoutEffect()=>{co ... e",f)}}{const ... e",f)}}if(!r)return;f();const o ... ver(f);o=new R ... rver(f)new Res ... rver(f)return ... ze",f)}o.obser ... ze",f)}o.observe(r)o.observewindow. ... ize",f)()=>{o. ... ze",f)}{o.disc ... ze",f)}o.disco ... ize",f)o.disconnect()o.disconnect[f,l][u,f]functio ... ,[c,r]}{u=Ma.g ... ,[c,r]}u=Ma.getObject(l,u);u=Ma.getObject(l,u)Ma.getObject(l,u)Ma.getObjectconst[c ... [l,f]);[c,f]=ue.useState(u)[c,f]ue.useState(u)r=ue.us ... ,[l,f])ue.useC ... ,[l,f])o=>{Ma. ... t(l,o)}{Ma.setObject(l,o)}Ma.setObject(l,o)Ma.setObject[l,f]return ... ),[c,r]ue.useE ... ),[c,r]ue.useE ... ,[u,l])()=>{{c ... (l,o)}}{{const ... (l,o)}}{const ... r(l,o)}const o ... (l,u));o=()=>f ... t(l,u))()=>f(M ... t(l,u))f(Ma.getObject(l,u))return ... er(l,o)Ma.onCh ... er(l,o)Ma.onCh ... istenerMa.onChangeEmitter()=>Ma. ... er(l,o)[c,r]class $ ... ndow)}}constru ... Target}(){this ... Target}{this.o ... Target}this.on ... tTargetthis.onChangeEmitternew EventTargetgetStri ... [u]||c}(u,c){r ... [u]||c}{return ... [u]||c}return ... e[u]||clocalStorage[u]||clocalStorage[u]setStri ... indow)}(u,c){v ... indow)}{var f; ... indow)}var f;localSt ... window)localStorage[u]=cthis.on ... ent(u))this.on ... chEventnew Event(u)(f=wind ... window)(f=wind ... )==null(f=wind ... ttings)f=windo ... ettingswindow.saveSettingsf.call(window)f.callgetObje ... urn c}}(u,c){i ... urn c}}{if(!lo ... urn c}}if(!loc ... turn c;!localStorage[u]return c;try{ret ... turn c}{return ... ge[u])}return ... age[u])JSON.pa ... age[u])catch{return c}setObje ... indow)}localSt ... gify(c)JSON.stringify(c)const Ma=new $5;Ma=new $5new $5functio ... n(" ")}{return ... n(" ")}return ... in(" ")l.filte ... in(" ")l.filte ... n).joinl.filter(Boolean)l.filterconst B ... ,"ug");B2="\\u ... \u009f""\\u000 ... \u009f"\u0000-\u0020\u007f-\u009f\u0020\u007f\u009fŸtv=new ... `,"ug")new Reg ... `,"ug")"(?:[a- ... :;.!?]`"(?:[a- ... \\s'+B2"(?:[a- ... }[^\\s'"(?:[a- ... \\s"+B2"(?:[a- ... )[^\\s"(?:[a-zA-Z][a-zA-Z0-9+.-]{2,}:\/\/|www\.)[^\s"]{2,}[^\s`"')}\\],:;.!?]`"')}\],:;.!?]functio ... n[l,c]}{const[ ... n[l,c]}const[l ... },[u]);[l,u]=u ... ate(!1)[l,u]ue.useState(!1)c=ue.us ... )},[u])ue.useC ... )},[u])()=>{co ... meout)}{const ... meout)}const f=[];return ... imeout)u(r=>(f ... imeout)u(r=>(f ... 1):!0))r=>(f.p ... !1):!0)(f.push ... !1):!0)f.push( ... ,!1):!0f.push( ... ),1e3))setTime ... 1),1e3)()=>u(!1)u(!1)r?(f.pu ... ,!1):!0(f.push ... 0)),!1)f.push( ... 50)),!1f.push( ... 0),50))setTime ... !0),50)()=>u(!0)u(!0)()=>f.f ... imeout)f.forEa ... imeout)f.forEachreturn[l,c][l,c]functio ... h(r),u}{const ... h(r),u}let c=0,f;for(;(f ... length}(f=tv.e ... !==null(f=tv.exec(l))f=tv.exec(l)tv.exec(l)tv.execconst o ... index);o=l.sub ... .index)l.subst ... .index)l.substringf.indexo&&u.push(o);o&&u.push(o)u.push(o)const h=f[0];h=f[0]u.push( ... .lengthu.push(nv(h))nv(h)c=f.index+h.lengthf.index+h.lengthconst r ... ing(c);r=l.substring(c)l.substring(c)return ... sh(r),ur&&u.push(r),ur&&u.push(r)u.push(r)functio ... en:l})}{let u= ... en:l})}return ... ren:l})u.start ... ren:l})u.start ... ://"+u)u.startsWith("www.")www.www(u="https://"+u)u="https://"+u"https://"+uhttps://m.jsx(" ... ren:l}){href:u ... dren:l}href:utarget:"_blank"_blankrel:"no ... ferrer""noopen ... ferrer"noopener noreferrerconst a ... ,u]})};av=({su ... ),u]})}({summa ... ),u]})}{summar ... tyle:f}summary:lchildren:uclassName:cstyle:f{const[ ... ),u]})}const[r ... open)};[r,o]=u ... ate(!1)h=v=>{o ... .open)}v=>{o(v ... .open)}{o(v.cu ... .open)}o(v.cur ... t.open)v.currentTarget.openv.currentTargetreturn ... }),u]})m.jsxs( ... }),u]}){style: ... ]}),u]}onToggle:hchildre ... l]}),u][m.jsxs ... l]}),u]m.jsxs( ... (),l]}){classN ... l(),l]}classNa ... ummary"expandable-summarychildre ... Cl(),l][r?Ni():Cl(),l]r?Ni():Cl()Ni()Cl()functio ... 1)+"d"}{if(!is ... 1)+"d"}if(!isF ... urn"-";!isFinite(l)isFinite(l)return"-";if(l=== ... n"0ms";l===0return"0ms";0msif(l<1e ... )+"ms";l<1e3return ... )+"ms";l.toFixed(0)+"ms"l.toFixed(0)l.toFixedconst u=l/1e3;u=l/1e3l/1e3if(u<60 ... 1)+"s";u<60return ... 1)+"s";u.toFixed(1)+"s"u.toFixed(1)u.toFixedconst c=u/60;c=u/60u/60if(c<60 ... 1)+"m";c<60return ... 1)+"m";c.toFixed(1)+"m"c.toFixed(1)c.toFixedconst f=c/60;f=c/60c/60return ... (1)+"d"f<24?f. ... (1)+"d"f<24f.toFixed(1)+"h"f.toFixed(1)f.toFixed(f/24). ... (1)+"d"(f/24).toFixed(1)(f/24).toFixed(f/24)f/24functio ... s(u%6)}{let u= ... s(u%6)}let u=0;for(let ... <8)-u);u=l.cha ... <8)-u);u=l.cha ... <<8)-u)l.charC ... <<8)-u)((u<<8)-u)(u<<8)-u(u<<8)u<<8return Math.abs(u%6)Math.abs(u%6)u%6functio ... urn l}}{if(!l) ... urn l}}if(!l)return l;!ltry{con ... turn l}const u ... .href);u=new U ... n.href)new URL ... n.href)if(u.or ... ring()}u.origi ... .originu.originwindow. ... .origin{for(co ... ring()}for(con ... d(c,f);const[c,f]u.searc ... d(c,f);u.searc ... nd(c,f)u.searc ... .appendu.searchParamsreturn u.toString()u.toString()u.toStringcatch{return l}{return l}const P ... f))})};Ph=({la ... :o}):o}({label ... :o}):o}{label: ... efix:r}label:lonClick:ccolorIndex:ftrimAtSymbolPrefix:r{const ... :o}):o}const o ... 1):l});o=m.jsx ... (1):l})m.jsx(" ... (1):l}){classN ... e(1):l}classNa ... lv(l)))Ze("lab ... lv(l)))"label- ... :lv(l))label-color-(f!==void 0?f:lv(l))f!==void 0?f:lv(l)f!==void 0lv(l)onClick ... :void 0c?h=>c(h,l):void 0h=>c(h,l)c(h,l)childre ... ce(1):lr&&l.st ... ce(1):lr&&l.startsWith("@")l.startsWith("@")l.startsWithl.slice(1)return ... n:o}):ou?m.jsx ... n:o}):om.jsx(" ... ren:o}){classN ... dren:o}classNa ... anchor"label-anchorhref:Ve(u)Ve(u)children:o$h=({pr ... :c})]})({proje ... :c})]}){projec ... tyle:f}projectNames:lactiveProjectName:uotherLabels:c(l.leng ... :c})]})(l.leng ... ngth>0)l.lengt ... ength>0l.length>0&&!!ul.length>0!!uc.length>0m.jsxs( ... :c})]}){classN ... s:c})]}classNa ... el-row"label-rowstyle:f??{}f??{}childre ... ls:c})][m.jsx( ... ls:c})]m.jsx(u ... ame:u}){projec ... Name:u}projectName:um.jsx(iv,{labels:c}){labels:c}labels:civ=({la ... ,f))})}({label ... ,f))})}{labels:l}labels:l{const ... ,f))})}const u ... },[u]);u=se()se()c=ct.us ... )},[u])ct.useC ... )},[u])(f,r)=> ... lKey))}{const ... lKey))}const o ... ams(u);o=new U ... rams(u)new URL ... rams(u)f.preve ... rlKey))f.preventDefault()f.preventDefaulto.has(" ... board")o.has("testId")o.haso.delet ... board")o.deletespeedboardo.delete("testId")ca(Na(o ... rlKey))Na(o,r, ... trlKey)f.metaKey||f.ctrlKeyf.metaKeyf.ctrlKeyreturn ... },f))})m.jsx(m ... },f))})m.Fragment{childr ... c},f))}childre ... :c},f))l.map(f ... :c},f))f=>m.js ... k:c},f)m.jsx(P ... k:c},f){label: ... lick:c}label:ftrimAtS ... efix:!0functio ... ent(u)}{window ... ent(u)}window. ... ,"",l);window. ... },"",l)window. ... shStatewindow.historyconst u ... tate");u=new P ... state")new Pop ... state")window. ... vent(u)const K ... e(1)));Kf=({pr ... ?u:null({predi ... ?u:null{predic ... dren:u}predicate:ll(se())?u:nulll(se())Tn=({cl ... ren:c})({click ... ren:c}){click: ... c,...f}click:lctrlClick:uchildren:cm.jsx(" ... ren:c}){...f,s ... dren:c}style:{ ... inter"}{textDe ... inter"}textDec ... :"none"color:" ... fault)""var(-- ... fault)"var(--color-fg-default)(--color-fg-default)--color-fg-defaultcursor:"pointer"onClick ... ||l)))}r=>{l&& ... ||l)))}{l&&(r. ... ||l)))}l&&(r.p ... u||l)))(r.prev ... u||l)))r.preve ... &u||l))r.preventDefault()r.preventDefaultca(Ve(( ... &u||l))Ve((r.m ... &&u||l)(r.meta ... )&&u||l(r.meta ... Key)&&u(r.meta ... trlKey)r.metaKey||r.ctrlKeyr.metaKeyr.ctrlKeyTr=({cl ... m",l)})({class ... m",l)}){className:l,...u}className:lm.jsx(T ... m",l)}){...u,c ... im",l)}classNa ... dim",l)Ze("lin ... dim",l)link-badgeu.dim&& ... ge-dim"u.dimlink-badge-dimuv=({pr ... %6})})}({proje ... %6})})}{const ... %6})})}const c ... (se());c=new U ... s(se())new URL ... s(se())return ... )%6})})c.has(" ... )%6})})c.has(" ... board")c.has("testId")c.hasc.delet ... board")c.deletec.delete("testId")m.jsx(T ... )%6})}){click: ... u)%6})}click:N ... u}`,!1)Na(c,`p:${u}`,!1)`p:${u}`ctrlCli ... u}`,!0)Na(c,`p:${u}`,!0)childre ... (u)%6})m.jsx(P ... (u)%6}){label: ... f(u)%6}label:ucolorIn ... Of(u)%6l.indexOf(u)%6l.indexOf(u)l.indexOfnc=({at ... ),v]})}({attac ... ),v]})}{attach ... wTab:r}attachment:lresult:uhref:clinkName:fopenInNewTab:r{const[ ... ),v]})}const[o,h]=ev();[o,h]=ev()[o,h]ev()Cr("att ... (l),h);Cr("att ... f(l),h)"attach ... exOf(l)u.attac ... exOf(l)u.attac ... indexOfu.attachmentsconst v ... }))]});v=m.jsx ... )}))]})m.jsxs( ... )}))]}){childr ... e)}))]}childre ... me)}))][l.cont ... me)}))]l.conte ... ():Ih()l.contentType===fvl.contentTypeqh()Ih()l.path& ... name}))(r?m.js ... name}))r?m.jsx ... .name})m.jsx(" ... .name}){href:V ... l.name}href:Ve(c||l.path)Ve(c||l.path)c||l.pathrel:"noreferrer"noreferrerchildren:f||l.namef||l.namel.namedownload:sv(l)sv(l)!l.path ... ame)}))!l.path(r?m.js ... ame)}))r?m.jsx ... name)}){href:U ... l.name}href:UR ... Type}))URL.cre ... Type}))new Blo ... tType})[l.body]l.body{type:l.contentType}type:l.contentTypeonClick ... ation()y=>y.st ... ation()y.stopPropagation()y.stopPropagationchildren:l.namem.jsx(" ... name)}){childr ... .name)}children:Di(l.name)Di(l.name)return ... }),v]})l.body? ... }),v]})m.jsx(a ... y)]})}){style: ... dy)]})}style:{ ... "32px"}{lineHeight:"32px"}lineHeight:"32px"32pxclassNa ... flash")Ze(o&&" ... flash")o&&"att ... -flash"attachment-flashsummary:vchildre ... ody)]})m.jsxs( ... ody)]}){classN ... body)]}classNa ... t-body"attachment-bodychildre ... .body)][m.jsx( ... .body)]m.jsx(F ... .body}){value:l.body}value:l.bodyDi(l.body)m.jsxs( ... }),v]}){style: ... )}),v]}style:{ ... Left:4}{lineHe ... Left:4}whiteSpace:"nowrap"nowrappaddingLeft:4childre ... ()}),v][m.jsx( ... ()}),v]m.jsx(" ... :Cl()}){style: ... n:Cl()}style:{ ... idden"}{visibi ... idden"}visibility:"hidden"children:Cl()tm=({te ... "})]})}({test: ... "})]})}{test:l ... ,dim:c}test:ltrailingSeparator:udim:c{const ... "})]})}const f ... >0)[0];f=l.res ... h>0)[0]l.resul ... h>0)[0]l.resul ... ngth>0)l.resul ... .filterl.resul ... race"))l.results.mapl.resultsr=>r.at ... trace")r.attac ... trace")r.attachments.filterr.attachmentso=>o.name==="trace"o.name==="trace"o.nametracer=>r.length>0r.length>0if(f)re ... |"})]})return ... |"})]})m.jsxs( ... |"})]}){childr ... "|"})]}childre ... :"|"})][m.jsxs ... :"|"})]m.jsxs( ... e"})]}){href:V ... ce"})]}href:Ve(nm(f))Ve(nm(f))nm(f)title:"View Trace"View TraceclassNa ... e-link"button trace-linkchildre ... ace"})][F5(),m ... ace"})]F5()m.jsx(" ... race"}){childr ... Trace"}childre ... Trace"u&&m.js ... n:"|"})m.jsx(" ... n:"|"}){classN ... en:"|"}classNa ... arator""trace- ... arator"trace-link-separatorchildren:"|"em=ct.c ... ce(1)))ct.crea ... ce(1)))ct.createContextnew URL ... ice(1))window. ... lice(1)window. ... h.slicewindow.location.hashfunctio ... xt(em)}{return ... xt(em)}return ... ext(em)ct.useContext(em)ct.useContextconst c ... n:l})};cv=({ch ... en:l})}({child ... en:l})}{children:l}{const[ ... en:l})}const[u ... e(1)));[u,c]=c ... ce(1)))ct.useS ... ce(1)))ct.useE ... ren:l})ct.useE ... f)},[])ct.useEffect()=>{co ... te",f)}{const ... te",f)}const f ... e(1)));f=()=>c ... ce(1)))()=>c(n ... ce(1)))c(new U ... ce(1)))return ... ate",f)window. ... ate",f)()=>win ... ate",f)m.jsx(e ... ren:l})em.Provider{value:u,children:l}functio ... ength)}{if(l.n ... ength)}if(l.na ... l.name;l.name. ... !l.pathl.name.includes(".")l.name.includesreturn l.name;const u ... f(".");u=l.pat ... Of(".")l.path.indexOf(".")l.path.indexOfreturn ... length)u===-1? ... length)u===-1l.name+ ... length)l.path. ... length)l.path.slicel.path.lengthfunctio ... "&")}`}{return ... "&")}`}return` ... ("&")}``trace/ ... ("&")}`l.map(( ... in("&")l.map(( ... `).joinl.map(( ... ref)}`)(u,c)=> ... href)}``trace= ... href)}`u.pathconst f ... ssing";fv="x-p ... issing""x-play ... issing"x-playwright/missingfunctio ... ,u,c])}{const ... ,u,c])}const c ... =rv(l);c=se()f=rv(l)rv(l)ct.useE ... f,u,c])()=>{if ... rn u()}{if(f)return u()}if(f)return u()return u()[f,u,c]functio ... ):l(u)}{const ... ):l(u)}const u ... chor");u=se().get("anchor")se().get("anchor")se().getreturn ... u):l(u)u===nul ... u):l(u)u===nul ... f l>"u"u===nulltypeof l>"u"typeof ... u):l(u)l===uArray.i ... u):l(u)Array.isArray(l)l.includes(u)l.includesl(u)functio ... en:u})}{id:l,children:u}id:l{const ... en:u})}const c ... )},[]);c=ct.useRef(null)ct.useRef(null)ct.useReff=ct.us ... })},[])ct.useC ... })},[])()=>{va ... art"})}{var r; ... art"})}var r;(r=c.cu ... tart"})(r=c.current)==null(r=c.current)r=c.currentc.currentr.scrol ... tart"})r.scrollIntoView{block: ... start"}block:"start"inline:"start"return ... ren:u})Cr(l,f) ... ren:u})Cr(l,f)m.jsx(" ... ren:u}){ref:c,children:u}ref:cfunctio ... "#?"+r}{test:l ... chor:c}anchor:c{const ... "#?"+r}const r ... ams(f);r=new U ... rams(f)new URL ... rams(f)return ... ,"#?"+rl&&r.se ... ,"#?"+rl&&r.se ... testId)r.set(" ... testId)r.setl.testIdl&&u&&r ... xOf(u))l&&ur.set(" ... xOf(u))""+l.re ... exOf(u)l.results.indexOf(u)l.results.indexOfc&&r.set("anchor",c)r.set("anchor",c)"#?"+rfunctio ... K5()}}{switch ... K5()}}switch( ... n K5()}case"failed":case"un ... n Kh();return Kh();case"passed":case"ex ... n kh();return kh();case"ti ... n Jh();timedOutreturn Jh();Jh()case"fl ... n qh();return qh();case"skipped":case"in ... rn K5()interruptedreturn K5()K5()const o ... n:A})};ov=({cl ... en:A})}({class ... en:A})}{classN ... dren:A}style:uopen:cisModal:fminWidth:rverticalOffset:orequestClose:hanchor:vdataTestId:ychildren:A{const ... en:A})}const E ... void 0;E=ct.useRef(null)[S,O]=ct.useState(0)[S,O]ct.useState(0)[X]=ur(E)[X]ur(E)[B,b]=ur(v)[B,b]ur(v)p=v?dv(X,B,o):void 0v?dv(X,B,o):void 0dv(X,B,o)return ... ren:A})ct.useE ... ren:A})ct.useE ... ,[c,h])()=>{co ... ()=>{}}{const ... ()=>{}}const x ... |h())};x=U=>{! ... l||h()}U=>{!E. ... l||h()}{!E.cur ... l||h()}!E.curr ... ll||h()!E.curr ... h==null!E.curr ... target)!E.curr ... f Node)!E.currentE.current!(U.tar ... f Node)(U.targ ... f Node)U.targe ... of NodeU.targetE.curre ... target)E.current.containsh==nullh()R=U=>{U ... ||h())}U=>{U.k ... ||h())}{U.key= ... ||h())}U.key== ... l||h())U.key==="Escape"U.key(h==null||h())h==null||h()return ... :()=>{}c?(docu ... :()=>{}(docume ... n",R)})documen ... wn",R)}documen ... own",x)documen ... own",R)()=>{do ... wn",R)}{docume ... wn",R)}()=>{}[c,h]ct.useL ... ,[c,b])ct.useLayoutEffect()=>b()b()[c,b]ct.useE ... )}},[])()=>{co ... e",x)}}{const ... e",x)}}const x ... =>R+1);x=()=>O(R=>R+1)()=>O(R=>R+1)O(R=>R+1)R=>R+1R+1return ... ze",x)}window. ... ze",x)}window. ... ize",x)()=>{wi ... ze",x)}{window ... ze",x)}ct.useL ... ,[c,f])()=>{E. ... ose())}{E.curr ... ose())}E.curre ... lose())(c?f?E. ... lose())c?f?E.c ... close()f?E.cur ... .show()E.curre ... Modal()E.current.showModalE.current.show()E.current.showE.current.close()E.current.closem.jsx(" ... ren:A}){ref:E, ... dren:A}ref:Estyle:{ ... 0,...u}{positi ... 0,...u}position:"fixed"fixedmargin:p?0:void 0p?0:void 0zIndex:110top:p== ... 0:p.topp==null?void 0:p.topp==nullp.topleft:p= ... :p.leftp==null ... :p.leftp.leftminWidth:r||0r||0"data-testid":ydata-testidfunctio ... top:o}}{let r= ... top:o}}let r=M ... .left);r=Math.max(f,u.left)Math.max(f,u.left)u.leftr+l.wid ... dth-f);r+l.wid ... idth-f)r+l.wid ... Width-fr+l.widthl.widthwindow.innerWidth-f(r=wind ... idth-f)r=windo ... width-fwindow. ... width-fwindow. ... l.widthlet o=M ... tom)+c;o=Math. ... ttom)+cMath.ma ... ttom)+cMath.max(0,u.bottom)u.bottomreturn ... ,top:o}o+l.hei ... ,top:o}o+l.hei ... height)o+l.hei ... eight-co+l.heightl.heightwindow.innerHeight-c(Math.m ... height)Math.ma ... .heightMath.ma ... eight+cMath.max(0,u.top)u.topl.height+co=Math. ... eight-cMath.ma ... eight-co=windo ... .heightwindow. ... .height{left:r,top:o}left:rtop:oconst h ... ark)");hv="system"systemam="theme"mv=[{la ... stem"}][{label ... stem"}]{label: ... -mode"}label:"Dark mode"Dark modevalue:"dark-mode"dark-modelabel:"Light mode"Light modevalue:"light-mode"light-mode{label: ... ystem"}label:"System"Systemvalue:"system"lm=wind ... dark)")window. ... dark)")window.matchMedia"(prefe ... dark)"(prefers-color-scheme: dark)prefers-color-scheme: darkfunctio ... ())}))}{docume ... ())}))}documen ... r())}))documen ... ializedplaywri ... ialized(docume ... r())}))documen ... sr())})documen ... ized=!0documen ... ")},!1)document.defaultViewl=>{l.t ... tive")}{l.targ ... tive")}l.targe ... ctive")l.targe ... NT_NODEl.targe ... odeTypel.target.documentl.targetNode.DOCUMENT_NODEdocumen ... ctive")inactivel=>{doc ... tive")}{docume ... tive")}cr(sr())sr()lm.addE ... sr())})lm.addEventListener()=>{cr(sr())}{cr(sr())}const Av=new Set;Av=new Setfunctio ... )f(c)}}{const ... )f(c)}}const u ... ode":l;u=vv()vv()c=l===" ... mode":ll==="sy ... mode":ll==="system"lm.matc ... t-mode"lm.matchesif(u!== ... v)f(c)}u!==c{u&&doc ... v)f(c)}u&&docu ... add(c);u&&docu ... .add(c)u&&docu ... move(u)documen ... move(u)documen ... .add(c)for(con ... Av)f(c)f(c)functio ... am,hv)}{return ... am,hv)}return ... (am,hv)Ma.getString(am,hv)Ma.getStringfunctio ... ":null}{return ... ":null}return ... e":nulldocumen ... e":nulldocumen ... -mode")functio ... ,[l,u]}{const[ ... ,[l,u]}const[l ... (sr());[l,u]=u ... e(sr())ue.useState(sr())return ... ),[l,u]ue.useE ... ),[l,u]ue.useE ... )},[l])()=>{Ma ... ,cr(l)}{Ma.set ... ,cr(l)}Ma.setS ... ),cr(l)Ma.setString(am,l)Ma.setStringcr(l)const O ... ))]})};Or=({ti ... l)})]})({title ... l)})]}){title: ... ader:c}title:lleftSuperHeader:urightSuperHeader:cm.jsxs( ... l)})]}){classN ... (l)})]}classNa ... r-view"header-viewchildre ... i(l)})][m.jsxs ... i(l)})]m.jsxs( ... }),c]}){classN ... }}),c]}classNa ... header""hbox h ... header"hbox header-superheaderchildre ... "}}),c][u,m.js ... "}}),c]m.jsx(" ... uto"}}){style: ... auto"}}style:{flex:"auto"}{flex:"auto"}flex:"auto"l&&m.js ... Di(l)})m.jsx(" ... Di(l)}){classN ... :Di(l)}classNa ... -title"header-titlechildren:Di(l)Di(l)Ev=({st ... )]})})}({stats ... )]})})}{stats: ... Text:c}stats:lfilterText:usetFilterText:c{const ... )]})})}const f ... t("q");f=se().get("q")se().get("q")return ... })]})})ct.useE ... })]})})ct.useE ... ,[f,c])()=>{c( ... `:"")}{c(f?`$ ... `:"")}c(f?`${ ... } `:"")f?`${f.trim()} `:""`${f.trim()} `f.trim()f.trim[f,c]m.jsx(m ... })]})}){childr ... ]})]})}childre ... )]})]})m.jsxs( ... )]})]}){classN ... })]})]}className:"pt-3"pt-3childre ... }})]})][m.jsx( ... }})]})]m.jsx(" ... s:l})}){classN ... ts:l})}classNa ... d-flex""header ... d-flex"header-view-status-container ml-2 pl-2 d-flexchildre ... ats:l})m.jsx(pv,{stats:l}){stats:l}m.jsxs( ... )}})]}){classN ... e)}})]}classNa ... search"subnav-searchonSubmi ... ,ca(o)}r=>{r.p ... ,ca(o)}{r.prev ... ,ca(o)}r.preventDefault();const o ... {q:v});o=new U ... n.href)h=new U ... ice(1))o.hash.slice(1)o.hash.sliceo.hashv=new F ... et("q")new For ... et("q")new For ... et).getnew For ... target)r.targety=new U ... ({q:v})new URL ... ({q:v}){q:v}q:vh.has(" ... ),ca(o)h.has(" ... rd","")h.has("speedboard")h.hasy.set(" ... rd","")y.sety.toStr ... ring())y.toString()y.toString(o.hash ... ring())o.hash= ... tring()"?"+y.toString()ca(o)childre ... ue)}})][I5(),m ... ue)}})]I5()m.jsx(" ... lue)}}){name:" ... alue)}}name:"q"spellCheck:!1classNa ... h-full""form-c ... h-full"form-control subnav-search-input input-contrast width-full"aria-l ... tests"Search testsplaceho ... tests"onChang ... value)}r=>{c(r ... value)}{c(r.target.value)}c(r.target.value)r.target.valuepv=({st ... {})]})}({stats ... {})]})}{const ... {})]})}const u ... oard");u=se(). ... board")se().ha ... board")se().hasreturn ... ,{})]})m.jsxs( ... ,{})]}){childr ... v,{})]}childre ... bv,{})][m.jsxs ... bv,{})]m.jsxs( ... ed})]}){classN ... ped})]}classNa ... v-item"subnav-itemhref:"#?"childre ... pped})][m.jsx( ... pped})]m.jsx(" ... "All"}){classN ... :"All"}classNa ... -label"subnav-item-labelchildren:"All"Allm.jsx(" ... ipped}){classN ... kipped}classNa ... ounter"d-inline counterchildre ... skippedl.total-l.skippedl.totall.skippedm.jsx(a ... ected}){token: ... pected}token:"passed"count:l.expectedl.expectedtoken:"failed"count:l.unexpectedl.unexpectedm.jsx(a ... flaky}){token: ... .flaky}token:"flaky"count:l.flakyl.flakym.jsx(a ... ipped}){token: ... kipped}token:"skipped"count:l.skippedm.jsx(T ... :Jh()}){classN ... n:Jh()}href:"#?speedboard"#?speedboardtitle:"Speedboard"Speedboard"aria-selected":uaria-selectedchildren:Jh()m.jsx(bv,{})ac=({to ... u})]})}({token ... u})]})}{token:l,count:u}token:lcount:u{const ... u})]})}c.delet ... stId");c.delet ... estId")const f ... ice(1);f=`s:${l}``s:${l}`r=Na(c,f,!1)Na(c,f,!1)o=Na(c,f,!0)Na(c,f,!0)h=l.cha ... lice(1)l.charA ... lice(1)l.charA ... rCase()l.charA ... perCasel.charAt(0)l.charAtreturn ... :u})]})m.jsxs( ... :u})]}){classN ... n:u})]}href:rclick:rctrlClick:ochildre ... en:u})][u>0&&h ... en:u})]u>0&&hc(l)u>0hc(l)m.jsx(" ... ren:h}){classN ... dren:h}children:h{classN ... dren:u}bv=()=> ... ]})]})}()=>{co ... ]})]})}{const ... ]})]})}const l ... s",!1);l=ct.useRef(null)[u,c]=c ... ate(!1)ct.useState(!1)[f,r]=yv()[f,r]yv()[o,h]=_ ... es",!1)_h("mergeFiles",!1)mergeFilesreturn ... )]})]}){childr ... })]})]}childre ... ]})]})][m.jsx( ... ]})]})]m.jsx(" ... :_5()}){role:" ... n:_5()}role:"button"ref:l{cursor:"pointer"}title:"Settings"SettingsonClick ... ault()}v=>{c(! ... ault()}{c(!u), ... ault()}c(!u),v ... fault()c(!u)v.preventDefault()v.preventDefaultonMouseDown:xvchildren:_5()_5()m.jsxs( ... "]})]}){open:u ... s"]})]}open:uminWidth:150verticalOffset:4request ... =>c(!1)()=>c(!1)c(!1)anchor:ldataTes ... dialog"settings-dialogchildre ... es"]})][m.jsxs ... es"]})]m.jsxs( ... ))})]}){classN ... e))})]}classNa ... -theme""header ... -theme"header-setting-themechildre ... ue))})]["Theme ... ue))})]Theme:m.jsx(" ... lue))}){value: ... alue))}onChang ... .value)v=>r(v.target.value)r(v.target.value)v.target.valuev.targetchildre ... value))mv.map( ... value))mv.mapv=>m.js ... .value)m.jsx(" ... .value){value: ... .label}value:v.valuev.valuechildren:v.labelv.labelm.jsxs( ... les"]}){style: ... iles"]}style:{ ... ,gap:4}{cursor ... ,gap:4}display:"flex"alignItems:"center"centergap:4childre ... files"][m.jsx( ... files"]m.jsx(" ... h(!o)}){type:" ... >h(!o)}type:"checkbox"checked:oonChange:()=>h(!o)()=>h(!o)h(!o)Merge filesxv=l=>{ ... ault()}l=>{l.s ... ault()}{l.stop ... ault()}l.stopP ... fault()l.stopPropagation()l.stopPropagationl.preventDefault()l.preventDefaultSv=({ta ... )]})})}({tabs: ... )]})})}{tabs:l ... dTab:c}tabs:lselectedTab:usetSelectedTab:cconst f=ct.useId();f=ct.useId()ct.useId()ct.useIdm.jsx(" ... })]})}){classN ... )})]})}classNa ... d-pane"tabbed-panechildre ... d)})]})m.jsxs( ... d)})]}){classN ... id)})]}className:"vbox"vboxchildre ... .id)})][m.jsx( ... .id)})]m.jsx(" ... d))})}){classN ... id))})}className:"hbox"hboxstyle:{flex:"none"}{flex:"none"}flex:"none"childre ... .id))})m.jsx(" ... .id))}){classN ... r.id))}classNa ... -strip""tabbed ... -strip"tabbed-pane-tab-striprole:"tablist"tablistchildre ... ,r.id))l.map(r ... ,r.id))r=>m.js ... },r.id)m.jsx(" ... },r.id){classN ... itle})}classNa ... ected")Ze("tab ... ected")"tabbed ... lement"tabbed-pane-tab-elementu===r.id&&"selected"u===r.idr.idonClick:()=>c(r.id)()=>c(r.id)c(r.id)id:`${f}-${r.id}``${f}-${r.id}`role:"tab"tab"aria-s ... ===r.idchildre ... title})m.jsx(" ... title}){classN ... .title}"tabbed ... -label"tabbed-pane-tab-labelchildren:r.titler.titlel.map(r ... r.id)})r=>{if( ... ,r.id)}{if(u== ... ,r.id)}if(u=== ... },r.id)return ... },r.id){classN ... nder()}classNa ... ontent"tab-contentrole:"tabpanel"tabpanel"aria-l ... {r.id}`aria-labelledbychildren:r.render()r.render()r.renderim=({he ... ]})]})}({heade ... ]})]})}{header ... stId:h}header:lfooter:uexpanded:csetExpanded:fnoInsets:odataTestId:hconst v=ct.useId();v=ct.useId()className:"chip"chip"data-testid":hchildre ... u})]})][m.jsxs ... u})]})]m.jsxs( ... }),l]}){role:" ... {}),l]}"aria-expanded":!!caria-expanded!!c"aria-controls":varia-controlsclassNa ... ed-"+c)Ze("chi ... ed-"+c)chip-headerf&&" expanded-"+c" expanded-"+c expanded-onClick ... 0:f(!c)()=>f== ... 0:f(!c)f==null?void 0:f(!c)f==nullf(!c)title:t ... :void 0childre ... ,{}),l][f?c?m. ... ,{}),l]f?c?m.j ... (q5,{})c?m.jsx ... (Cl,{})m.jsx(Ni,{})m.jsx(Cl,{})m.jsx(q5,{})(!f||c) ... :u})]})(!f||c)!f||c!f{id:v,r ... n:u})]}id:vrole:"region"regionclassNa ... nsets")Ze("chi ... nsets")chip-bodyo&&"chi ... insets""chip-b ... insets"chip-body-no-insets[r,u&&m ... en:u})]u&&m.js ... ren:u})classNa ... footer"chip-footerke=({he ... en:f})}({heade ... en:f})}{header ... orId:o}initialExpanded:unoInsets:cchildren:fdataTestId:rrevealOnAnchorId:o{const[ ... en:f})}const[h ... 0),[]);[h,v]=c ... (u??!0)ct.useState(u??!0)u??!0y=ct.us ... !0),[])ct.useC ... !0),[])()=>v(!0)v(!0)return ... ren:f})Cr(o,y) ... ren:f})Cr(o,y)m.jsx(i ... ren:f}){header ... dren:f}expanded:hsetExpanded:vTv=({ti ... ())]})}({title ... ())]})}{title: ... lash:h}loadChildren:uexpandByDefault:fdepth:rstyle:oflash:h{const[ ... ())]})}const[v ... f||!1);[v,y]=c ... (f||!1)[v,y]ct.useState(f||!1)f||!1return ... u())]})m.jsxs( ... u())]}){role:" ... :u())]}role:"treeitem"treeitemZe("tre ... flash")tree-itemh&&"yellow-flash"yellow-flashchildre ... 0:u())][m.jsxs ... 0:u())]{classN ... )}),l]}tree-item-titlestyle:{ ... r*22+4}{paddingLeft:r*22+4}paddingLeft:r*22+4r*22+4r*22onClick ... ,y(!v)}()=>{c= ... ,y(!v)}{c==null||c(),y(!v)}c==null||c(),y(!v)c==null||c()c==nully(!v)childre ... ()}),l][u&&!!v ... ()}),l]u&&!!v&&Ni()u&&!!v!!vu&&!v&&Cl()u&&!v!u&&m.j ... :Cl()})v&&(u== ... 0:u())(u==null?void 0:u())u==null?void 0:u()u==nullCv="dat ... 5CYII=""data:i ... 5CYII="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYgAAADqCAYAAAC4CNLDAAAMa2lDQ1BJQ0MgUHJvZmlsZQAASImVVwdYU8kWnluSkJDQAqFICb0J0quUEFoEAamCjZAEEkqMCUHFhqio4NpFFCu6KqLoWgBZVMReFsXeFwsqK+tiQVFU3oQEdN1Xvne+b+7898yZ/5Q7c+8dADR7uRJJLqoFQJ44XxofEcIcm5rGJHUAMjABVOAMSFyeTMKKi4sGUAb7v8v7mwBR9NecFFz/HP+vosMXyHgAIOMhzuDLeHkQNwOAb+BJpPkAEBV6y6n5EgUuglhXCgOEeLUCZynxLgXOUOKmAZvEeDbEVwBQo3K50iwANO5DPbOAlwV5ND5D7CLmi8QAaA6HOJAn5PIhVsQ+PC9vsgJXQGwH7SUQw3iAT8Z3nFl/488Y4udys4awMq8BUQsVySS53On/Z2n+t+Tlygd92MBGFUoj4xX5wxrezpkcpcBUiLvEGTGxilpD3CviK+sOAEoRyiOTlPaoMU/GhvUDDIhd+NzQKIiNIQ4X58ZEq/QZmaJwDsRwtaDTRPmcRIgNIF4kkIUlqGy2SCfHq3yhdZlSNkulP8eVDvhV+Hooz0liqfjfCAUcFT+mUShMTIGYArFVgSg5BmINiJ1lOQlRKpuRhUJ2zKCNVB6viN8K4niBOCJEyY8VZErD41X2pXmywXyxLUIRJ0aFD+QLEyOV9cFO8bgD8cNcsCsCMStpkEcgGxs9mAtfEBqmzB17IRAnJah4eiX5IfHKuThFkhunssctBLkRCr0FxB6yggTVXDw5Hy5OJT+eKcmPS1TGiRdmc0fFKePBl4NowAahgAnksGWAySAbiFq76rvgnXIkHHCBFGQBAXBSaQZnpAyMiOE1ARSCPyESANnQvJCBUQEogPovQ1rl1QlkDowWDMzIAc8gzgNRIBfeywdmiYe8JYOnUCP6h3cubDwYby5sivF/rx/UftOwoCZapZEPemRqDloSw4ihxEhiONEeN8IDcX88Gl6DYXPDfXDfwTy+2ROeEdoIjwk3CO2EO5NExdIfohwN2iF/uKoWGd/XAreBnJ54CB4A2SEzzsCNgBPuAf2w8CDo2RNq2aq4FVVh/sD9twy+exoqO7ILGSXrk4PJdj/O1HDQ8BxiUdT6+/ooY80Yqjd7aORH/+zvqs+HfdSPltgi7CB2FjuBnceasHrAxI5jDdgl7KgCD62upwOra9Bb/EA8OZBH9A9/XJVPRSVlLjUunS6flWP5gmn5io3HniyZLhVlCfOZLPh1EDA5Yp7zcKabi5srAIpvjfL19ZYx8A1BGBe+6YrfARDA7+/vb/qmi4Z7/dACuP2ffdPZHoOvCX0AzpXx5NICpQ5XXAjwLaEJd5ohMAWWwA7m4wa8gD8IBmFgFIgFiSAVTIRVFsJ1LgVTwUwwF5SAMrAcrAHrwWawDewCe8EBUA+awAlwBlwEV8ANcA+ung7wEnSD96APQRASQkPoiCFihlgjjogb4oMEImFINBKPpCLpSBYiRuTITGQeUoasRNYjW5Fq5BfkCHICOY+0IXeQR0gn8gb5hGIoFdVFTVAbdATqg7LQKDQRnYBmoVPQQnQ+uhStQKvQPWgdegK9iN5A29GXaA8GMHWMgZljTpgPxsZisTQsE5Nis7FSrByrwmqxRvicr2HtWBf2ESfidJyJO8EVHIkn4Tx8Cj4bX4Kvx3fhdfgp/Br+CO/GvxJoBGOCI8GPwCGMJWQRphJKCOWEHYTDhNNwL3UQ3hOJRAbRlugN92IqMZs4g7iEuJG4j9hMbCM+IfaQSCRDkiMpgBRL4pLySSWkdaQ9pOOkq6QOUq+aupqZmptauFqamlitWK1cbbfaMbWras/V+shaZGuyHzmWzCdPJy8jbyc3ki+TO8h9FG2KLSWAkkjJpsylVFBqKacp9ylv1dXVLdR91ceoi9SL1CvU96ufU3+k/pGqQ3WgsqnjqXLqUupOajP1DvUtjUazoQXT0mj5tKW0atpJ2kNarwZdw1mDo8HXmKNRqVGncVXjlSZZ01qTpTlRs1CzXPOg5mXNLi2ylo0WW4urNVurUuuI1i2tHm26tqt2rHae9hLt3drntV/okHRsdMJ0+DrzdbbpnNR5QsfolnQ2nUefR99OP03v0CXq2upydLN1y3T36rbqduvp6HnoJetN06vUO6rXzsAYNgwOI5exjHGAcZPxSd9En6Uv0F+sX6t/Vf+DwTCDYAOBQanBPoMbBp8MmYZhhjmGKwzrDR8Y4UYORmOMphptMjpt1DVMd5j/MN6w0mEHht01Ro0djOONZxhvM75k3GNiahJhIjFZZ3LSpMuUYRpsmm262vSYaacZ3SzQTGS22uy42R9MPSaLmcusYJ5idpsbm0eay823mrea91nYWiRZFFvss3hgSbH0scy0XG3ZYtltZWY12mqmVY3VXWuytY+10Hqt9VnrDza2Nik2C23qbV7YGthybAtta2zv29Hsguym2FXZXbcn2vvY59hvtL/igDp4OggdKh0uO6KOXo4ix42ObcMJw32Hi4dXDb/lRHViORU41Tg9cmY4RzsXO9c7vxphNSJtxIoRZ0d8dfF0yXXZ7nLPVcd1lGuxa6PrGzcHN55bpdt1d5p7uPsc9wb31x6OHgKPTR63Pemeoz0XerZ4fvHy9pJ61Xp1elt5p3tv8L7lo+sT57PE55wvwTfEd45vk+9HPy+/fL8Dfn/5O/nn+O/2fzHSdqRg5PaRTwIsArgBWwPaA5mB6YFbAtuDzIO4QVVBj4Mtg/nBO4Kfs+xZ2aw9rFchLiHSkMMhH9h+7Fns5lAsNCK0NLQ1TCcsKWx92MNwi/Cs8Jrw7gjPiBkRzZGEyKjIFZG3OCYcHqea0z3Ke9SsUaeiqFEJUeujHkc7REujG0ejo0eNXjX6fox1jDimPhbEcmJXxT6Is42bEvfrGOKYuDGVY57Fu8bPjD+bQE+YlLA74X1iSOKyxHtJdknypJZkzeTxydXJH1JCU1amtI8dMXbW2IupRqmi1IY0Ulpy2o60nnFh49aM6xjvOb5k/M0JthOmTTg/0Whi7sSjkzQncScdTCekp6TvTv/MjeVWcXsyOBkbMrp5bN5a3kt+MH81v1MQIFgpeJ4ZkLky80VWQNaqrE5hkLBc2CVii9aLXmdHZm/O/pATm7Mzpz83JXdfnlpeet4RsY44R3xqsunkaZPbJI6SEkn7FL8pa6Z0S6OkO2SIbIKsIV8X/tRfktvJF8gfFQQWVBb0Tk2eenCa9jTxtEvTHaYvnv68MLzw5xn4DN6MlpnmM+fOfDSLNWvrbGR2xuyWOZZz5s/pKIoo2jWXMjdn7m/FLsUri9/NS5nXON9kftH8JwsiFtSUaJRIS24t9F+4eRG+SLSodbH74nWLv5bySy+UuZSVl31ewlty4SfXnyp+6l+aubR1mdeyTcuJy8XLb64IWrFrpfbKwpVPVo1eVbeaubp09bs1k9acL/co37yWsla+tr0iuqJhndW65es+rxeuv1EZUrlvg/GGxRs+bORvvLopeFPtZpPNZZs/bRFtub01YmtdlU1V+TbitoJtz7Ynbz/7s8/P1TuMdpTt+LJTvLN9V/yuU9Xe1dW7jXcvq0Fr5DWde8bvubI3dG9DrVPt1n2MfWX7wX75/j9+Sf/l5oGoAy0HfQ7WHrI+tOEw/XBpHVI3va67Xljf3pDa0HZk1JGWRv/Gw786/7qzybyp8qje0WXHKMfmH+s/Xni8p1nS3HUi68STlkkt906OPXn91JhTraejTp87E37m5FnW2ePnAs41nfc7f+SCz4X6i14X6y55Xjr8m+dvh1u9Wusue19uuOJ7pbFtZNuxq0FXT1wLvXbmOuf6xRsxN9puJt28fWv8rfbb/Nsv7uTeeX234G7fvaL7hPulD7QelD80flj1u/3v+9q92o8+Cn106XHC43tPeE9ePpU9/dwx/xntWflzs+fVL9xeNHWGd175Y9wfHS8lL/u6Sv7U/nPDK7tXh/4K/utS99jujtfS1/1vlrw1fLvznce7lp64nofv8973fSjtNezd9dHn49lPKZ+e9039TPpc8cX+S+PXqK/3+/P6+yVcKXfgVwCDDc3MBODNTgBoqQDQ4bmNMk55FhwQRHl+HUDgP2HleXFAvACohZ3iN57dDMB+2GyKIHcwAIpf+MRggLq7DzWVyDLd3ZRcVHgSIvT29781AYDUCMAXaX9/38b+/i/bYbB3AGieojyDKoQIzwxbghXohgG/CPwgyvPpdzn+2ANFBB7gx/5fCGaPbNiir/8AAACKZVhJZk1NACoAAAAIAAQBGgAFAAAAAQAAAD4BGwAFAAAAAQAAAEYBKAADAAAAAQACAACHaQAEAAAAAQAAAE4AAAAAAAAAkAAAAAEAAACQAAAAAQADkoYABwAAABIAAAB4oAIABAAAAAEAAAGIoAMABAAAAAEAAADqAAAAAEFTQ0lJAAAAU2NyZWVuc2hvdHGOMr4AAAAJcEhZcwAAFiUAABYlAUlSJPAAAAHWaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA2LjAuMCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjIzNDwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zOTI8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpVc2VyQ29tbWVudD5TY3JlZW5zaG90PC9leGlmOlVzZXJDb21tZW50PgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KmnXOOwAAABxpRE9UAAAAAgAAAAAAAAB1AAAAKAAAAHUAAAB1AABxIC1bFLAAAEAASURBVHgB7L13tF/HcedZL+eInAECIAmQIMAkikESRSUqi6Ngj23ZK8u2rLFlr3c8Zz27Pp7dtXfOnOM/PDNOs+u8li3ZEiVKJCVKlJgpBpAERQIkkXPGw8s57fdT99XDxQ+/38PDCwBI3gZ+797bt7uqu7q6qro63KKXXnxp9LFHH7OtW7daX2+fjY6O6memvzZxiPdFShb36Rz54okj5EufvMn+ZhTIKJBRIKNAPgrkk6mkyxefK2vj+Vy4ReTX/+KiIquoqLAVK1fY+97/Plu9ZrUV/ec/+s+jzzz9jLWePq2co1ailIjvYf0d4WYMbrGuJcU8F9nwcCgRPROATwL9HyUT+fhlIaPANChQJF4rLi52oyXAJAbM5JiL/PxGRkY8ezwHDJ65Bwf3BNISN5kQeeIa+SeTN0uTUeCSUaAAe9MD4OXqmmrbdP0m+4XP/4IVffbffHb0xPETNjo0ZHWlxba0stwG1UEO9Q1Y9/CI0bVQDLVVxbZsHurD7OCpYevsGTG9dqVQonfl80qtqKzIBk4O2XCXOpmUSBYyCkyHAmVlZTZ//nzr6+uz/v5+47mjo0MGyvB5wcLodXV1nranp8eFfnl5udXU1DgM3peUlNjAwICnq62tdeXQ2trquM6HgPxYW6Wl4nvdA5vraRlaoZDOByN7n1FgRimQFrmJvZMffDpdKkVkoV/Qd37rd37Lij7+kY+Ptp5utSZpgc8uarINdVU2oFHAM21d9t0T7dYri6q2ssg+9+5qe+dVdAKzzTsH7OuP91hHj6yv8iJrur3G6jZW+X3PngFreaTTBk+fvxOnypbdZhQ4hwJVVVX23ve+13p7e62rq8sFb0tLiwtlhD4COQQ0SoNnrP/KykobksGD0Edgw+wIbRTNVVddZQcPHvRRA/EvvfSSzZ07166++mprb2+37u5uVyoopMiPIkAB8H7OnDkG7uPHj1tzc7MtWLDA8fKe+FOnTll9fb3jpRz8KDujlIaGBk8zODjo8ceOHXN851Q8i8gocKEUyCf0Q+LnwsqXVmkiOf2IvveLX/hFK/ro3R8dbW9rt5WVZfaHaxdbtRQFA4OWgSH799sPWcfQsM2pK7Y//XeN1lzrPiYphhH7zb9stRNtI8boYcVvzbWyphLGJzbSP2KH/u609e4dyC1W9pxR4IIogLX/kY98xBUEwhdrH4UA8yJcly1b5sIXwb1kyRJ/19nZ6aOEvXv3umKA2RHYCPkdO3bY2rVr/Z78WEpPPfWUj0w2btxoR48etdWrVzsehHpTU5PDRLmgmHhGESDgN2/ePJ4P+IcOHfJyVVdXuzKgvOAkD7gY/aAgUEC8Q6G9/PLLRnmzkFFg2hQoIPTHpX4aQYG0aQWBYfO5f/u5MwpiRUWp/cGaxdZYVuIK4kDvgP3BriPjCuKPv9hgi+dICQjj8bZh+w9/0zauIJb+arNVLi5zBTHcPWyH/6HVevdnCiLdJtn9hVMgFMSWLVvc7YPw5oeAfe2119zq379/vx04cMDuuusuF9yMEvg988wzPlpAoCPAGQ28/vrrLqQZBTCyoBM8+eSTriiuu+46VxBXXHGFjwJQOAj0gMfIgPLg8iLviy++6KOVW2+91ZXGrl27bPHixQ4TxXPy5El/xmWFkjh8+LABm7zAZBRDuVE2WcgoMG0KFBD6DjckPw8TpItkGFX0jc/8zGfOKIhqvb29qdbeM6fO5x5+eKrDXu6U1SZ3U6XcSLfIvfShGys102328EvqgG8MWE//qBWValJjTbk1vrPGSmqKrXNLr3X8tNeGu5OJwWlXPAPwtqUAowWENFZ2DHthXNxIWPU333yzbdu2zS100hHPD/cSIwBGGo2NjbZRwn9Y6Z977jm33BHgWPBY9QjsgB2uH2CjWMAPLGCShnvwc2XUQsBNxXvykod0wEUJcCU+nlFS4GUkhAuLK7iykFFg2hSYQPBPFnZaQVRUVtg9n77njIIoGlWnkJ+0Vi4mZg+6YGQpB/CiFMo1AV1b5QuirLN31AaG6KR6qXfFeldcqZUgGmAMy/00Oqh8Gd9Ptl2ydFOgAEIX4c+kNcI2X0BYI+RJhzBm5JFZ7PkolcW96SkwCwrik/d80oo+8qGP+BxEriUzGurkTU+5rAIZBTIKZBR4i1NgFhTExz75MSu68113juInzRTEW5yBsuplFMgo8NalwDQVRHo8wIq7cRfTsqXLRlmhMTySLUt963JPVrOMAhkFMgpMjgLFRcU+f/cbv/kbVqRVGaOs0MgdQUwOVJYqo0BGgYwCGQXeShRg7o7l2l/5ylcyBfFWatisLhkFMgpkFJguBUJB/MZvZCOI6dIyy59RIKNARoG3FAVCQXz5y1/OP4IoLimz0opKK6/SrlDd93V32GBPp2k7hB/gx1lNWcgokFEgo0BGgbceBUJBfOlLX8qvIGqaF9ui6+60q265SbuqS+31R79nB1/8kd1YW2I7uwetdWh2NznERqa3HumzGmUUyCiQUeDypkAoiF/7tV+zonnz5vkqpvQkddOCK2zZpvfb+g992BrnNtuL3/66bbn/r+2m6mLb2ztoxwfPVRDr1q2zz3zmM75x6bHHHvMjCdra2mz79u2+kYkdpASQ84vALlRCxKMcPv3pT9sDDzzgZ/DwbuHChX5o29e+9jXficqRBRzgxvk36XKTNgsZBTIKZBTIKDB1CoSC+NVf/dUCCqK2ya689n3WeNsHrbF+xJqOPmf7tj5ldac7bMuxTtvV2nMOdk7d/Nmf/Vl79tln/bwcDkZDQYAMJcDhaQh6DkTjzBoOLUMZcKAZyoOVVEuXLvUza6688ko/AkHKy/Nz3g5K45FHHrEjR47Yhz/8YYfzj//4j37swTmFySIyCmQUyCiQUWBKFAgF8Su/8iv5FcS8snJb1TDHiq661ZYtn2u3zztsi5fV2f6t+2zza0ftG5v3n4P4/e9/v+Gz4hA1Nt5xBAJn6HB65sqVK/3wtPXr1/s7TrfkADPecWYNowFOtuR0zu9///vG0IZzazhw7V3vepd94xvfsA9+8IP29NNP+wFsnLHz05/+1O69997s6IRzWiKLyCiQUSCjwNQpEArii1/8Yn4FsUgnuy6uKLPXdcTNtSub7T9+5mpbfMVCe/EnO+wbTx2wR7cfPwc7I4iPf/zj9id/8id+7g3Pa9as8VEBB6Lt3r3bhT5xf/u3f2u33367Kw7ecdomp2Nyvg4K4vd///d9He4rr7xi7373u+2f/umf7KabbnKF8KlPfcqPU37jjTfsW9/6VqYgzmmJLCKjQEaBjAJTp8B5FUSTvix3ZU2ZvdgxoCO+a+0Ld66yxuY6e33HMbvvpcN2oqPvHOwrVqwwfj/5yU/cdbRq1So/iZMrh6kxX3D99de7cP/2t7/tiiMmo9mUgYuJgCK54447bNGiRX6cM26pv/iLv3CFgVLgwy4cvMb7Bx980N1T5xQmi8gokFEgo0BGgSlRIBTEL//yL+cfQZQVaSddSZF16puiFWWltmJuna1b2mzP7zpmx9t7bci/NTo53CBjDoJjkj/5yU/6kcucg3++yWXO/b/tttv8Qy2c2Z99WGVy9M5SZRTIKJBRYDoUCAXxhS98Ib+CADjrjFhfJPmuez4ez8ffdcT3FPdAgJQRA4rhfMoB/BwYxY/AJHasdvKI7E9GgYwCGQUyCswKBSalIGYFcwY0o0BGgYwCGQUuawpkCuKybp6scBkFMgpkFLh0FDhLQSxYsOCcjXKXrmgZ5owCGQUyCmQUuJQUwLXPVoJf+qVfsiLtMxhlAjjXx88zP7QJv4sVMrwXi9KaY8ra+KIQ+1LRmcpdKtwZ3ovCWo5kNmjNoiL2thXt2rVrFAUAktzAJjZ2Ol9MBUEZWBYbH4DPLdNsPVN/vlfMN4xjcny2cKXhgpdluxe7vlGGS0XrS1HnaGP221xMno42pi9dinCp2pj+dClofanwwtNvlTZGBj7++ONWpEqN0ogRhoaG/JYEMBYVnqrApGOkz2DiOUK6g3Ifz+nOFHGRZ7LXwBv5WTUVOHiXrg/xxPGj7tAi/X6yOElXCG+8YxVXbgi801EQwKCOXCNEvXgOOsQ1HRfCY6p1DnzpK+WIMgE37ql/lCs6U7pMaRhTvY9VcuAKvOAIvLTxdGhdqFxpvKQJGkR6hNZsGFuBh2s6RJ2Ji348k7QOvNQ72niU+1QbU+eZpjV4g9cvdhvHasrAm0vz2WrjqC9tGbSmLNGfZquNOcHiLAVBQV7YvNkLcbUO36MwDDW4XmgAFuctbXnpJWue06weY378xiKdw3To0EGbN2++H7cBXOBztEYIDeKm05kQAuy1YARUV1dn27XB7iptsDtx4gSgbZU271E+fjU1NY6XkQPMPB0FAYNwBlWfjg5ZonOlXn/9NVuyZKk6aJ9vBLzhhhs0ShlyYQUeykmnZaPgdDoSeA8ePKDzqY6Z5pR0nMlpwU1oevjwYd/RDo4QGuCiM1er7sHUU2ljJ2aeP9SLHfLQm82TnL91ROW44cYbXXCGlTWdNs6D1qM45mXXzp22cdMmPwtMI2Sd/bVI7VxrlTJ2yvmp/jMpLEEM3q2vvmq3au8OnZfjZHp7e2zOnLnOU/Sj2agvwp/zyeDlOXPm2D6deQYvLxfdCfiSaQ/wz2SdgXlS7dve3j5+hhp1po1HVP8K4SPMdJ3p02ym7dd1w3XXic5Hbafa+8orr3Jcs9XG0Jcz4fhxqgPPyJUaya15c9XG4qnZamP68AHhXbFyhc2dO8/7FnHsFaPf0sbw3EzT+iwFgTbkTKTnn3/empubrbGx0a8IlqkIDwiIgjh+/Lg3IvdLly6zffv2SmCtdcZq0e7puvo6pevxyh6TIFmn85rAOVWGph4w0Q9/+EOrl3Lo0PzKMglrLBsYuKqq0mEjqFEOHChYLmGN4lqyZMm0FAR4f/DQQy6AVkoJcR7V3r17XGiXlyeCCeXBXpKGhgYJziO2dMlSW63jR2jkqXZg8KKI2zva1SWLXCB2dXZZj3CtWrXSOLIExdHV1eVKGeVRJiFCGVFU0HoqbSxkeQNtj9Bi9zxMjNJEITVLgKE42A0P7afaxnmRjkUiqDdvft7e8547fXMl/Nfe3uYGygLtyudAyNlQEJwE8MwzP7G77/6wnTx50tj1T4elPCt1FhlGSSjpicp/oe8Q1KGAFy9ZbE8+8aSfMtCos84InHxMG0+Hv/KViTbGCGtpOeV127Z1m/P67bff4YbBWh24idE300ILIxLeOnjwoN1yyy0ywl5PjMDtb3gdl0nGLNWZbjPdxsgVeOlVGQEoCPpLq3iZ9kWuoJCXL1/udZ5qP85HZ+KAf/p0i2hZ6UbAT3VuHX1+rg4zLZVcu0J9DKNgpvvTOQoC4rNrGWHSJAUBk01VQUBQ4D388MM6YmOTE3bFipUuFNGCAwP9duL4CVuoIzPoUBydgfCAyByvMVWGBi/wHpKgpmNwKOBcCabaulrX/ggmtG11dY208VzbtnWr4ybPe++6a9oK4qmnnvLGQsFinXOKLXXDqqqXUiCup6fHGUnmtHemO3QgISOdqTIWSuenUgLUZ+vWV23F8hWuLPj4OAJx8wubbc3qNXZKnbmpqdnPvmppaXHBRTlnWkHA1Cx8wNLDqsXagaFpWzo2p/lSrplmaPD29fXali1bbMOG61z579+/T0pqjdOZctylNp5p4QFe2vS55561W2+9zQ+sRDnSngsWzPdy3HzzO9womElFDF4C/eyll14Uny32foYRhDEGT3P2GWedTbU/JRjy/21ra1V7HvI23r17lw0PDbvM6JRhBC+uknKaaQVB/9kpg4P6zJec2rlzh4zZJhkh29XP53qd79Q5cDPdxsgVDB0UI6NiZMhLOj8Ogxa+QlFs3LjR5c1Mt/GBA/vdCFi//hrr0IgNGYNhcKMUFaM4yjAbBtdZCiJYAIsXK5TODOPRwFOpMIRESOzZs9sa6hvcnUHlaFQ0IqMUiF5ZWeE+Uvxpra1trhy4n47wAC5Db5iJsu+RoELDU55EOVS7IkCBMEQOgY0yIW4q9YV+wMatwkiM+h0+fEgn1C63XgmPUxLI0JQ0w8ND8h+WOjOj+VEg0+lIwIRBwc0R6V2qZwkWhdruqIbgCAvw0J5lOjplYGDQR3fghVZTbePgmXxXGLhbI5Zu1R1BSfkYoTFqhAcoz3TqnA8ncdAijplnBAfe5uYmrzMWLe0y08IDvNQXXCGIqRsjNkYWpaUlUhQLp8XT4CgUgu8YCXdppE7fw7CDrzG2CNPpT4XwhrETqyChOycynxavz58/30pVnpluY/o1Rhe4MTR4RhGu1CiNK4JyNtoYmuLGpT1RxPA0+OApykJfm6c6R/sXotlU4hmpMYJAEVI3aNrT0y28Q2e18UzTOq+CoLJUHiGN1QfSqQhMBA+/NDyITAA+v3QgbQQ623QrG/DACTzqA06eqU/g5zmddjoKAjh01gjARhBy5RdliPekJQ+/6Qgt8gcOYAd9ieMdeCMEDXiGDigNcE+ljQNmvmvUK122qD9xM9HGk8Wbrhs0mQ6t8+EkLl3fwEdc8APX6fL0RLiBT9tGOUjLM2WhD852nYP/vI2hh36Uaabxgge4XMFFfQncE8cz15nGC1x4FtzgSgfeQWvezUYbB17a0unr7YxMSepOfBjzlGOmQl4FkQaOgoDQwfDpd7N1D7GxCmaD0BOVGbyJhT31EcRE8Au9C7wzzdCF8KXjg9aXoo1DMc0kQ6frlu/+UtE66DxVniY/QgJBD4zojzxzjxGSL5AHYcl76FyI1iFYcwUfMHnHj3cBLwR/4KUcBIyrCBPRmnfkIX/UhT4PDuJCAZCOHyHeBfxC14nwFsozE/HgvRRyi7LPFu5MQaQ4IxhrOiOIFLhJ3wbeTEFMmmRTTnipaB0dOARorqDmfTqkhXkIaNyy/NauXSO3Rp0LBVwcvMfVgqAFTsACBi6RMn38i/mAtPAnTRoHypq5oVWaSI8QZeQdk7O4I5kcrpDBuF2++GuuucbdHaTHxUTZrrrqKi8PecGRNgKiXKTnft++fT4PBU1I/4IWFqxbpwUqchHt2bPH501w/2KklqhuK1U23EfnC7l4z5d+pt6D962mIL75zW+evcw1l1jZCCKXIjP/fKkYmpoEU2cjiJlv1zRE6Mwqvvvv/65Wj5XZO7T6hqWZQ7Kir5RQ5WNZo6MjErBX+9JofNw33MC3U0rsR1rkUasFDKx6YwXgdddt9MUWzHMh0Jn34KTl22673f3jTz/9lBTGEl/0wEIEVsrhF1+zZq1WVr1uixYu8rmRPi29vummm32ugqWi37nvPnufds4e2H9AvinTyr9l1qS5m23bWJ201+68870+gmBxwdOaJGXZ+KuvvuKK6frrb/AyVVdXSYkc9YlaVqodP87qm1at1FviOI+oLJVaiVM5tiwTujDJuljvWR3U0FBvV6690n748A/1Jcl3ex1YIt7R3uHLlplfO1+4VP0p+tJUR4nnq9dE72cLdzaCSFE9GCsbQaSIMku3QeuLPWq6lHiZsP7bv/0b26T9GXL2+Iq94xKOWOJY2qzMWaT9GkwsM6F86623+jLpXbt2+wiBPRVbteIOYcyyVgT1gNwyz8vy/sQnPuGLIbZt2+pLi1nifNPNN7vFz3JmYDJ5zUQqS6FH9D2XBq1eY0IZIxC3Dp/33bDhWs/DqISFDc8//5yvysKi52Nf3d1dvt8AVxPW/UMPfV8jmivFJaMqa6cvK29TPKMZFp/Qvu1tyXMixLQ0UysYUYpPPPGEKwCW4e7atdNHINdvul7fmhk2lnF+Qt+OYQUcYbP2ZqFkWBV1vnAp2/itNoLIFESK24KxMgWRIsos3Qat3y4KAoHLCOLP/vS/+34bhPyjjz7qI4gPfuhDbomzOuaaa671UQLLNVnxxmqvx5QOy3rxkqVaPrtNCuZ627F9uw2PDGs/yTpfYokCuOeee/xrjq/rm/C4Yq5YfYVGJebuJdbrs+S4V8qA1U0IdJZAr1u/zlfk4PNn/87KVSvt4IGDPrJk1R/upFYtZWWUsuHaDT6CYOSAAjsht9NXv/qPWq20wG7U5jhGRKxiGhwa9L0XJ0+clEBnn025vbzlJXcdbdy4yVfYse/n8ccf8/kUYFPevt5k4xurc9joeP0NN7rLChZEmVypfRWxIou4QuFS8lamIAq1ygzG08CXgtDBWJmCmMHGLAAqaP12URDUFyH+7LPP+iYrhDT7YuR8d/89AhTh/a53vUtCs9Ine/HLExDe3PND0UQ877gHNhZ7TCKzhJqNkDHnwPv4kT8dT7703AXpRqR4In/kAxf3LLdk+Sp7dlhC/Kr23tz8jnc4jEhDujYJ/RfkNuPTwelln1EProxC2MDJCKamptqVHX0v4ESdqD+uMfZQsaT0fAH86bmP86WfqffgvRRyi/LPFu5sBJHijmCsTEGkiDJLt0HrqSoIhAZCgA4JrMkG0rJ6hjZOC9rJ5p9qOvBSVoQiPuq0ICQOYVtRUe7KAXdPumzkTT+nywCcNLz0u/R9KJZCcNJpC90H7YABXujILxmRnJ0LoR90nsgnj9LkxwiCdCiFCNAFGMy10Na8C7pFmnzXKCdpp1PffLAnigNvKCbaEPyzsfckXxnAPRnlBB9A1+DFfLAwIOiXtEc2SZ2iUDQwDZtm1FSSWbkNvFMVltMpVDAWuN9MdUYAcSQMvnGYfrKB+ka42MJjpvFSfjZ2YqWzSmmigEC42Pw1Xb6mjZkX4eyjN1sbI1yZs1k3dp7dRG0zE++iH0+kjMGDcmC12nPPPeeKOR9uYOAyZEVapiBSFAqGzhREiiizdBu0nqrQwuLmKBWYHaZ/OwYUOsekfOADH7CVK1cWJMFkhUdBAFN8Md02ZhL8wQcf9ElzRoxvpsDIYcOGDToP7D3jLr3ZLP9k2xhD4TXNUT399NM+J5avTJSdhRS4O++9995smWsQKRg6UxBBkdm7Bq2nqiCY8H3kkUdcQbzZhMdMUTUUxJ133ulHmBSCO1nhUSj/VONnoo05cJMVW2+2NsYKR0FwmODFGJlPto1x2bGYgJEZrr18AQVxnU7JvVmr4CZUEEPDo7bzcLsNjrJLM5kwywdw5uPkTxvQ0QAX2YfIyo4BnW1SpnNzmKS7aAHfpVZ+UN+LS2dqCK111IZWmkzW5eKcoD9Lmiusvlo7X7UGfzJheFTnVHXqCOyhXs0bjIz7qFnyOdlAuyyo1dlCA8N2fM8uO7LzDR0Qd/YIgnoUl1da9ZKVVuQ0PRs6wiYmas9+M7tPjHTwTc9c0DEeRcPWVywf/chAYbDir5gPUCMXTjfNN0CuEN2vWbHBaiprfJVU+OQny1vpInT3ddueg7tsz+HdvmIr/e5898NaxltSchH78FiBgrcwMtlvMker0RbWLbLK0kobHBmy411HtcprgrY6X8XyvVebVpZUWENRnVl7qw33dOZLZcXaf1NS12hdct3t3/aK9fjJz+cmRRZwsnWz9pw8+PRzhUcQvQMj9nv/vNtOdXFe0LmAZjNmRAIEproQ4THd8lBFrfdwcXVx8SarTBB+s9d9C1NnSrRWQX/m1nn2wQ1NVlU+uY7YP9Rvf/38n1l7b6uOO9fxDWKq4gsUWKXFpfbBKz9uV9UstxPf/bq1b33JRnI6HHQsrau3db/7X3RtOKvi07VqzwJ2AQ+TtfAuAKQvJ3394Db78/v+qx04sf9Css5KWvprfXWD/c5n/oNtWn2jlZeWj0/aTkVBdPZ32Pdev8/2nNYpsRKuFxKmwlsXAr9Q2jReZEipDuT8zHW/YCuaVtmRjkN236v/Yh39HMk/c4Hlyg3lDfYzyz5hLfd/zbr37BDwcwV2qXbfz3nHnVYxb5Ed/cE3bbDtdMFC0IdKamrtpfoVhRVEd9+wfe6/v26nuy6scQpizV68pSjwS+9eYD93+zyrr5qcVdw72Gv/18P/q9HxCbDwhSrEEimIT6z/jN1Yd7Ud/pv/Zu3bpCAGz7bIgFlcWW03/um/WnljstEKfIS3koIYGOy3LbtfcgVxsj35EFZSy0v3t1ojh1//6G/aHRvebZXlVdNSEK29Lfb/vfBXU1IQU+GtmaDauXiL7Ndv/W27ct56292yw7764l9be5++TTLDobakxn57zRfs+Ff/0rp2vpYXemlNnc297S6rXrbaDt379zbQPpGC0Chcy61fW3trYQXBCOIrf7/TTnYM5dFHecswc5EMWS7QupwJ5AiQqVg708V9qfB6uadAa4Tw59813z6yqdmqK84+2bIQLQY0gvizp//YTveedhfTmc40eTXBCOLj6z9t62pW2dFv/J21vbLZRuWeOyuIb8o0crj2P/2plda+xUcQB7bZ//PAn9mJ1uMXv4+eRXS6q76MWFFtX/r4b9qNa2+ekRHEt7f+i+06lWwKzEE3wSN+gDA+Js9bEwCc5KvAm+BEfJUWl9kv3PBFW9ksodx+wP7l5X+wjr7EQJok0PMmg+7NFY32+RWftZPqE9173sibp0Tfv5n/ng/7COLwd75qg3JHFQyCWVpday8vXFdYQQwOaoPKLn3KsFSfqpRv8eKF/HMQDN8GNS8yrCNuS0uKrHzGfYyXZg4C5YCPuLz88piDGO7tduVcIiu8UID5F1QOWUONvukwiQPUgMPOX3yw/UN97mIKv/iFuPMYTs+tmW8VozraubPdBjRMHhXcs4IKV1xeYdWLV/g1/e6tNILgSIpjrS22efszdqTloPpEuqape0lLfOPJt6JT8TN8SzvWVzfabdd+yObq+y9V5cn3R6a6EGFgeMBHmx197W5QFCouLsZRze8UsX9ELh0My0K8NaJNhPB3SWWVfPLlhUBOKR71wHdW6Mecwj04pC90anC7as5ia5RwHhoetBPdxzXf2H8W/CElxltTVVE8JZmGgqjQHER9Ua0VdbTZcHeBOQj1CUYRJZLlA20tNtzfe1Y54gH5qikcG5Ex9sNnJpiDGNYhWa/+0f9sS//N/2SN190S+Wf9CqF904cqlLbmGdG8uLfTHtnaZl/+wGKbV3/maOGZKFQIaiYSL8bKgyjzpRJa4Hda92mNvFZdxHzAkYe+aT37d9qaL/3HKGLe69Hvfd0GTx2zK77wO3nf54tk7oH6emcaX5s/uTmMgIeSwEYDjrQDlTg7uAEnccWmKzRZKlwqWoPXeVp0TvN0qmgXfNs/qO/H7+mwVw502qffMccaqtlglweM6MOBd7TxTOHOg8XbpHdg1P63fz1gX3zPItu0MvnW+1QVhHMJvEI7TxD6xYN7/v6/2sIP3GP1V290o6DQ5Pig3Cq7/vqPbdmnPm+1q9dPAPXCX7HwggUfrGDq6R+x7//0tP3lj47a//0zV9jtaxuc50mTW53W7iH74wcO2ufvWGDrlhQ2ys5XokEWm2gi2nkgH8l44T9BQoPlFmQMQVf/sD36WpsdaR20kiNPFB5BDOvTjVv/z9+wZZ/9FWu+4bbzlW/G3hfqTD0q+LO7Ou3Hr7bZb9292BY0zrAFIILBWG/3Za6HvvtVKYhdduVX/o8J2/Tgt/7O+k8dtzW/9nsTpsv38lIK6kLCI185ZyquEE9PBz4K4tndnfbq/m6fC2qqGRMOOUBnA3cOivHHbvXR3/qH3fbrdy2ym1bXTmsOYhzoeW76Thyx3X/1x7bo7k9bwzU3uu+8UBsPaMS188//0JZ/7les7sprzwP5wl6n6dzVN2LffbHF/vzhI/Zf/u0qe/fVZ7s605BbOgftD791wH7lvQvt2uXnP848nTfu07inawR09A7bw6+22pHT+ibPsQkUxIi+Gf3Gf/tPtuRjP2sN6zZFWWb9WqiyfeoQW/Z12U92dNgX3rPQmmsnNzk62QKDN1MQZscffcB6Du21VZ//yoSkO/aj+6y/5YSt+JlfmzBdvpdB66lal/lgTibuUuKd6REELoxXD3bbtkPd9smb5lhdZf4RRKH+NBl6XWga+ugfSdj97G3z7Jql1RdFQQy0nrL9X/sf8q9/xOrWXqOlzYVXTw3JLbnvn//SlUnNirUXWr0J06fp3Cs6YMh+7ZmT9rsfXWo3rCp8hlRHz7D9hRTJZ26Za2sWVk2Io9DLNO7pKggM8ae2d9jx9gEb2vdo4RHEqI4waNuz3WoXLrGy2vpCZZvx+EKVZQ6iW0O39p4hW9BQbmWah5jJAN5MQWiLgfz6I3JJVC5YPCF58WOOagURy+YuNAStMwVxoZQ7kx4vAb5rhBHGUqH9KIX60xlIM3fHJzAPtPS7+7day58LWfIzh1HeEvEgbqbyhmZfvYYbpRBe5ir6Th6x8qZ5Pg8xk+VI05m2QU4dbR2w5XMrra6q0ASRjr/QvOqRtgGbV1c26SXjueVO456ugmAOolOjCEaoj/7gOxMoCAnMPu1Yraiq1ATXzFrruRVMPxeqLG41Fcl9kvjLcafNZABvpiBEX441wF2pj9VMFCabLh+MoHWmIPJRZ/JxdObErVy4PxTqT5PHMvmU9FHK5P1TXvdCgnryECeRcmxeywWjiIGMKIhXL+HbIha4aC5rJkOazjQKypLJ3lKh4YNOhQLldZopzQTJCmX3+DTu6SoIykM7AvPe7ItyZ+gOQTIFcYYes3kXtM4UxGxSOYE9k8LjQkr7dmtjDhREfpzvwLwLoeFk085WG0/6uO/paqXJVpR0l5KxxpfHzfTwZAICRH1hrIsdgrFYucVSyPTBd7Q5loSbZOMFy7WESBFxnjrJ4/mSV/E2SZekcQtL5lWVRqdeBnUsMkL28+MdwwlgBzcGMx7BrXAGb/LMX1JSz1otzY26YzGN482BdwZK4KCAAIpnoKaKMfY6iT2TFvconxfls6EIEvhs/IRSkJ8FLh4cUQLKh3RpREm0p+QPSccvZ/DyCmueuqKMwZm/jcmdAsRj3uAYzy6u0o2hH7tL0kBU3NQcB87OXMrgONzil2lNvT1ncvVHxUw3gAVas2qLY1gQ2l6is9osaAQ23sazpzxTv+RxvIKUlBDR3I/HKXJIe3Lq6+u9rrQxR36cCZGLHKl7f4xnvTlzO541aOOv+KM8gZc7RijQt0xtDM1p4/G0aVzjENM3CcKz8I7Bv//++wu7mADBkbsze35MumCF7+NME1K4wDir9IXzTfcNHYglrqEQE6aeLtTz50/jvVg4o1TQms9Efv1fvqHPPh53zkNZ8aF4ysVvGLqwvHSMERE6UWYvr56BAy+y38HjEr6z0rJSh1WsYf3w0LCE45CvFd9w7bX6nOUttmXLy/bU08+oOBJiwssqMserzjWkdeucmwRuAnCBX6o4hA4ft6ETIoAJPCehyM/iSfImim5Qa9QpwxKdM/PZT99je/fts3u/9R0lT4Qnh5QxkUzbU1+C84KnEGzhIT9x1JWO6C4e0YR6ec9Wx+I9eIHD5z75EBDp6Uf//nd+W1+AO2IPfu/7/slO0vFBnQEJE2gKXupI52eZ7qjcFJQveBK3Bf/8Y0NKlQh70iQ9Ojm/DPzFqsuA4+XTnx+++0P6GtsCu+++++2ovhMNPBQGbZzQNGlnb2OVAxyUP93G7HOgPQhe//E+ST3VRoLFXgvKNKQ25vsWmzZttDvf/S5BM33XoS/J26WvznW1WJ987qXF9aaSKK++QaB296XJnmp6f0pV/2Ydhf6yPkj0w4d/7AoZWlJueJh6q4JO36ij86fe80x7siT1TIC+COKEXvEOGoV8BGap6vCVf/dlO3jokD3+5JN2Ql/Voy2hMTxKen6K8GenmfLRnqQZRLCP8d4Z3OIp398hHoTPCF6WBDcw+ODS++680z/m9L2HfmDH9LU/4Hg/Ur1BSTovg0pE+9LW4CTQZmedaaYMZdrPUadvjBdJw47SKfMFPtYB4GB4r1y+hDMY58Qcq1y6AWYQRV5QgZcrv0I0yZt5GpHgImBxBMOMM9I04E4mK7hhDj4V+Wd/+f9aiz5NCfNWlomZdKjeiDYTiZXEwOY8gGCGyWAuF3oS/jA3who4dL4hOleKycuUBsFBBxqSkB3Q6jhoe4OOFP7A++5SR3rKnnjqaS8um7KLRsWsvgCBjVYjrkzA61wu3KFgoBGbxRDcTkG9o0wevAPpAzPsaZGwQDgg/KHvihXL7Rd//uds+46d9s//8q+eXNXV0RDF1jXQow5fpbormk7i68oT/z6wEWQuSOjIwgd+YA5pUymCnMB7Fxp6pJ496kMoLmD9wf/+e7Zfn/T8xje/ZR2dnarriEYzlfpedJs6ZK0NjyI8EnzAoIMjYKBvCDDqHbzCNQICvFxCOXgX4462QFB/+p5P6hOmy+wv/sdf2amWFodZWa621Kat0ZKypI0lD+nntJO38VhbUocoP8oZGtDW423sdEr2DpEfJYLVzqFvt7zjJrv7gx9QudhoS03MWvbtssOvPWXFa3s1uf5exTQ4vZIvz2GcJZREyCfCl5rlBEVAByiezHecnQIBjtJ6fvML9t0Hv++HfyIU3UhQ+cvKMDoSuN6uwlVCvVR2eAW6Jq15Bi8YaANomryU4BWt4G+eS4QPWv3e7/4vbnz88MeP2pGjx7ztUPwodyz9Mk1KeGnFP9CEfMG3KPWQB2cwax5DdIUX4DfyUndvK/hbMKtlZHzsox+2pYuX2Fe/9nU7cbLF0zte9Q+Cb8QVXeBXYHFOlBtUggVdQvmT1nlJBsSihfPOryAoDA0F4IsRIBAEoxIELJ2LES4V3qgbHRoaX0xag5vOjCHQ26erysDO5N5DO+zIgaeteNVynbW0QXFlbuHhmoEfPPgl1XkjPnk79jfpBEnSsXx6gxCqlOCCaTlBt7sn2dXZe3S/te141lpX6lvKNfqUpU6opHPU6OAw8owH4RqHlhdvkjLwcqUkCAU6eaO+8Uxn7OzSrnEFzqXp2PyQnVoxrBM4b9NEZp23RWNDo+fxRPxJ4x179ndJNcduJTj4N5aWVwTatrGhzq1T6ktnH9Jqsc6tT9qRkZ22aO0HbHiwXvlK3AWGu2C8lmOVTS5jDwlYerMH+Jf6RRkdr/4gSGpr9YlTtSunI6CwEO49B97QiPEFK9W3pxuq1ikfKwP1FTS5/cbbeAwHKBCGjgocZ4Wk8rnvGMVUarNrTU2VhKBOEh1b6LL1UKtt3rXdPjX3CRuZ/0kbsibnecrPD9xcE4MiGXm5UEM4jtWP5+IyCTZp8oaqehfuUSQUQWK0mL7U12nHTp627kFGC9rIphVD0BQ6LWxUmcbgRV4hdvqd/cxTUiYUR7/6SInkIXSlnFjafdpsijHCaK25scFHAqdb261VS1gZZWIYDY1IOcjwadTpA6zwohxJG/nfPHjH6Cwc8Ap9k3IzSqF+9J1BKSugoFwb6sVbiu/r1+qpUzrVVYYGo2tsF5QIZ6bVV2kgQJ0JSbON3acfkijyPPHEY5evgqCyMESmIJIGm42/MDgKwq0bMTwdAabavXuH7dj2HVu/TmctNb5XzF3l7eAWnfJER3UrBsGBhSuG0qvxAB+OFCUWS0WpdvHqXzrEERnkYYRB2LfvoL5T/LRdveINq5v3KRu2eS48sMwc5xgfozTAjaAgnnpQdgJ4R6VLRnS8eFWZjlRQ2dIBQami6j0dJ8F7QkLk6ScetzXLXrC5Sz6l/EscUKVcXgnA5AK+BG/iQjqDm/eqoQTAwHC/4+XcqNwwouMWgIcSIH13T5+9uPknNtj9Pdtw/edsaHSR6lLiQhphkNRK6VVgBBB5KEMSxurs8DQCHR30Y6WxDHMDR0wgEZLViLTxsO3avs327njQrrx6oVXW3yEhVCGlXZUIa6WGRpQ16OxCOU8bD6uNEeaF2lggVCcs5aRcPVLMXfoWQflot5VV1MnqrnQBCPOAK3FRJoqN72uXSrlQFNwvXCvkCvR2132+kFYQjC6lE8Tjyeh8SG0PfYAD/0FPLHiMUWDiGqMM7koVg4SRipsUGPB/qdKnA3w91hIOL9qYOvfKAEAxMiLz+im/u4lkyePGZSQGXtqDQpE2RmbgpmykoUzj7UrhFSi7I/YH3QKDCPE7Cos+BY8D2+effHTEiLw8wafU4GZETr3ARz2ZvwEffep7Dz4wOQVBBn4XI1AwKsUPImQKYvaoHgqCK8LD/fq6P9nRZa2n99lSbX8prlomr4f81WI8Op8HtcsYnzojJQoCYQ2fxxsJYf3jEcs0HQ+cYGiYGCFAaOnq1Q7OFltZcdBKatdIUGvEwr8xkPADZR2HpfhEWESaJOFokXhICqK8RP7tlIIYFx7CBRwsW0KnDs3ZdbLdlpfttMraK3SuD5Z8goUaK2lSt8DPO/0ITjvhcAtbcUMS1NS3RErg7CBLUGv2SYdigmaMnvafbrfy3h02t3m58DZ6fOQbr+8YPlwnodRCqHk5Ha/cWGpDXCW5gclTxFi6jY+1dVpn215bUq/yqI01VvdKJtVS3cYq7c/UX+VWpNcXnNCVq3qqX89pY+VHGYf4RMkTsMIHJTipC0KvRPGjCVKHQ71wjXjdsfildPnn7aUyoGi8zg7t3D+kQ7EQEp97MmldrHxwjo+y9M7bzduCulL1ZM4F5eD4xupKOsl6jQbaRHt9e0HfduDsI4wU8ignqMaCDK4xVyavML6cx3gQDniV42a4xzWFYeb1JE4BmsKjBPDiPG3v7dBfCXa5e2vKalwZn8GbpCU9gj2pU4lcRrhTxQfCR1wi8JNjPsLII4+Qu0KibXGtUT8UMWXkLKyH5J477xwEhckUhJNzVv9cChcTzAMTO2O5gkiYfUCCjE8+lohhqnSwGVYYViKdB6sMnqATw2wDsgixdJhkpPNGBzwfsRgm01Ng8XA/MFnb1d0l5TGgYTPHDiTWMnARcggUzrtB2GDtESo0rKcck8WbGB5JBwy8g6oTnzEdGtSZRWU6l0rwUFp+vo0sPYQatPAOLqFHKJOPHevO75V+MoZMWkEgDIZEwy7tNert6VLd5MaTr95pOlZHaOTCwa0+CU4JPkY1bkDJvYAbqkI/OnqEM3dJDPQd9hNvERQSri40zHpkZba1dwgvfnThljsIXsCKpFFG5b7BTeRGg8rpLj4Bp86UEbzQY6KQtDFySiMg4SAgyHBzEaiLKx7KL14kINR75IJj7iQWFoAPxVHpcxlJOngwEZSezf/wDC9TRq78MEBwJ7piGYNPecDHogiv1xkQ59yBjaPqf7zzMRfg6xdcbQ3FdVZTVe10IIPTXLiBS39wuog21CNkJyNzcDFCgnZRnnMQpiIY8Tyz/3k/AbapqtE2zFnnfIly8fqPpYWGTDJ7P5ZiAC90hOaJEkoS0p60c0K7FCLdJvTSwiQpuF4ds3S874Q9/+gzmYIIMkEgOh6MSJhMh4+8M3G91AoCZooOh0ChPCKJ+zz9oLexSkInhttunalT9PT2uA+U1wg9mF/RBUN04qA1z+PCQ3gHhNetY4SQBEKUCYAopW7cExLOPuksK47JSMpShethAsRpvElnSFYvAbdvYMjaO7u9k/Dsq7jGRhc8q/voxNA+LyeKiY4LPgRRlcpIxysUovzgjIlyBB6Cl/q0dnQ7rcEJz/kGxTH6YdWVaNIeIU4dWQlUW1sj+iRfxZvoK4RBCmWTgkuMAOicWLHyz3fLCOhK/NooWdoujGHQlxWFUixKyqc0iZWpNpbwLtTE6fqGAiUu2hgjgDkvgrez8PoHpEQL2g/XCKuIcOWwRBZmQuiCkIn+np5u76esOuMX+IDHfbofU/dhwR8cSvo0MBgdpAP0oC2UNW/wdpNFfrKjxd18zfrwDjuysW9QCKXAdBiJtwNB7TTWCHJgArwYW9A8Xf50AVBMGAQnWk963WtlqNXA92OGUZnyo3BI531XV8pK4tNtHRpzJLTEqEri/ZVeo9zLvN9EpWkHjCHMNQxAeA1X6eM/ejhTECKbhzRjEfF2UxDUF8aGDjAIjJL0pcRSEz+eE0jLD2b3AH8qwHDceocXzAh0hujECA/S8Ry05hmhmQTSJjAiP1fwnRPG0FPmpDy4cdT5xhKm8YZi4lXgBSdHyStzkkOIXdkIADCS3xm8dCQXNLxQtNcXOihf2hUbeAFKudIKwoWIFAATmOCPtNTZYQdeucucEMrvdUsSOF6esRB58NEB5RkLwCeQJkaJ422sePI5Xmo3ni+54W+gCRg8BwXGk/MyJ0Q9wBuWPHGhIBitIbD12o8HwXOdhkfa8XoKdjxDc+I7uyX8hqCQXCIa7VVoRZLPFaXSRhtDGo2DfDREHEhRKml65hTfH13gp144X0pYUxaMgZ7efk1465htWfINmvwlnh8hDL1RWfKcTcWSON6EcvYHlYP654Y0HN5R51Cy8COKs1sr+3Bv1VezTDjBC1185ZWuuBF7NFHtc3zQWGUsZTu3ENM/fC6H8jpyURH+0kgdfikbM3Sc1iLeA/fflykIp5P+QORgLOJCeMT72b4GY2FdRueebZzUOVd4oBy65JPv6k3W5lMGOjGHwUWAucjrHc15TwJKHYI4rEwsXYbUdFwEF9ZgDOXpBKTLpyC6+wfdsqXzJ/2nyI+xdlEnpAlTJx3HH/QCvC4uKLfcNcMSPoxicAFheYfADrz52rhPVllbV2Jle91Uv9pKrShDyQTSqDzXYgQyCshLpvr2qIPiiy/2kQV1DRdCCA6y5bYxyqFN8y5DCEy9B1elBB5Cz9F6RxYt/CUJ9H+sztBwWOXuYX+B3mNtwze4+xAmgZd0uW1MWWhnnxAdr+C5FeVVOpZyRDmBMdZIfht/PI/+RBtzpSyhILrFW21d/VJQKrO+gZB8cCoZzUWZIQR4gQVO5pMIxPWJ1sh6zY1bmVZcJQsWknYgv9NlzBOAgugf0TuN/rBhaDO+m+1wBctdeNAB4KkAz7iBoDjeATNxl6lcAsQqNOhXzShGo6kIpMMI8HqoLdp7tHCgJBHo4wpCid2gEAFy8Xr7KV8E3vseG6WEt3D99mk0Rb9ik+l4GYU32hgFQd/V9LbThlVW3gcEDCUS7j1lERHlcpIC8WXoog2jcWjMO1ZOfee+TEFEW5zFWES+XRUEVmWr3C09Pcm+AbpIuZRWaYm4RpwTygsGYoiNa6RMH4eBgUnLKo6ubgk9WU/lYtYSMSguiQoJ7BAWXPMpiA51PFwuvvxQ0ICPwAQvnRrc4xaVGLqyutInZuFqhF1HZ5vwMuzXTytyKlQulAUhV3gQF23cJYsQFxOdHlwotHJNjoKfydQQXMmoSvMy1cmGPuIxwDp7WuUakwDSbGax11XLRXF/jOEFFyFXQQzIIjyl5ZDAxaKng6LUigU06AwOXA1cfc5B9A4ZMqCPvnRpJVSxhCAKqbxCtFZ9EQhRZmgdwmN8BDEWF6t7ijSZj7BgTgSpxQe5+JBNuSxP6IALiPL0DWhKWu9ZrqnLuDDxyukPopYPeVGHaONo81AQ/QO9ErDiLbk6mNdRtTwfrpCkzEAWDuohnOQfF+F6xcQ+ARWCdUx+6EwgP+nDCEBB9A4LxmC38zD7BdJ0IR3pI8R9rpFG/Bm+Y2URCitpIxRUlICy4MN3wa2yt3b2u4Kok1sw2hNcUT7uI4CDdnNhHpG6ItQJUTfvd0JEGcdeOC2YowNGkVbPseiiSC4i8AbdeQcfdI0t7YY2lIll30Wa/6qpYpkzdVHNlJbVTd/5TqYgnCBBlHTDhfAYTzDLN7nCY5bROfhgGq5p4YGgwLqlE8KYflKoD0VTpRrrV7yPTkenwTryzXKCSUdxSzqVZpzR87iYwJus7U46RCJAkCAJssgbpUjjdqbm62KScQgM1otHuSIdafK1ceJiGnNPKbdPSKvMLv0DGdc8dUZ4MWczzIobJWGCOz1aijKQPbeNUUjQapj66T+C2ecCAhGZKEeq/mfgURfNh9BOKCbv7CgGMiWdn2u+No54rklIMoUgpt2TyurqtyjoRPhCgtRbzx5xASspciJUwU/eEFS9UjI9OoUW5VujEQR1PicofZ5YJ8PJNo0gUGRKgRKu0oa/Su2JoLxRxmhjhGDfmIKokmLFmImQywsRz3VCBYHgb+90pUmfqdHX4sBLnSlFsoqJB6XTHE9tpeZSMBZIoDAR3lwFQdpQTOTt1EKK1tbTqneVVWtPEnxXpFVVlSpDaVHiQgsFUVo0ZHVKE4oJWCgbRj/Qh0CZtObOGmsFQ8ZUBNIysX///d/NXExpogRjEfd2VhDtPQNu/bDJp0YM3lzHRCyW/Bi14HXdw/PsN0CwJOyvaOXpkoWI4GO1BZ0Y3yZClxCdON8Iokub9U62Jy6TMs3+NdeymU7W7ZgEcrRjeIVZVm4yISh+9mW47VqeS5mFxSdzsWTjGOzAm6+NmaQ+2d7r8xDgmFtfrslnrOqolYowhpeYoRF1TKxf3csG8xETli2jACaRGba7cqMkKRi5CgLhfqq9Rz5jrD/TJqpyq9fO6nQe6kIokoJmcjoIDfYBlRsXEzVm5IAATEYgZ/DS2XNHEA5wlv+EcONKfUJBdIq32jqTYzcQnpK3HryW+pPQOaGtj0zlzotK407s6mXOJjE+RqQYq7TprKo8aHTuCGJAo6tRnQpQKfqk+zTlghe45gZ4PQQr7yIt98xPdPcxooMtkzmJmAvgmlYQHbLka1Q+X601xgfAwojilxvAmTuCoJ+Qh5Hs6ZOHbceOXVI4Gh3X1NuQRgQVNXNs7uKlmgsRNKXDxdTdh4tpWMpL+4DGCAwMRgV9WmKcjIASHhnSSK5eI2LmUyKQFp757nczBRE0GWeCaLg0M40nmsWbXOExi6jGQQcjcKW+MBNWLXMQpzq0ckRCGMuiRvMPw3Q0YvQe4c0Ha5j7wlcvlvd/WLI6u8FOd7N1n3kJlsMW2Rydu1MtSw88IajzKQgY+0SHhIcEQLlcSwg73EQgxuWBa2MAuEKTxovVzb4DygxeJfWOVicBVKdJRDpO4M2nIFgZckKKiclTjhnB+quWu6ZEiDgXv1xxXBFD4C2WA5z1/8XCCe5unZ/fKasY3NWiFQqxkU+AKn1a2Oe2Me6CVvnjOyQ0yYNLp1J4VVz/+eS/7rGYeYcwHNKqJmCimGiDDn13oE/zHxWiL2WZW4drBosW7MC5vBREryZQ28QftCW8pOp5WRGu0A+ioQAq5G6rluAv9WVCiSLmHSuaEj6idskcESNVrH6EN++ijeGDQfGjDWv5Mi44jI2xQDr6OtcICVyE/hkXHe8CJjTl1yEFAU6ywqeVahs9el362aSmukhSiy80X6DRTa6CCNyBN3DkUxChxEZliLW0HLA9uw55XZvnzNFRGEt9ot73WshYAq5PUstwKBaf1MilllYQKAaWicN3BMqsxbfq31KeuQpCo437MwXhdPI/wQSZgtAks/yoWBveUUSdxBefKAd6RZxJA4Pht0yWPepBgU7P98Pp5AgqnsOXHR0MWudTEH1iyl51MFw0SQcUrjELiHaJ1VLJmvKkI1ekXEk9wosiQYHIOBdezZHol8YbwoOyhsDoF94+dRzsVmoROEmD/538KrILFOZHmOx0hQoBFFAe/RLWBL1S2WXRS6lQB/JGyFUQCH7mP4oArkC9SU98lAP81BdDm3ZgcjJgsiII3IxcoDVQUCLgjTpA68tpBMFIC1dHMr+QzG2oQi5dKSsV97ZXXZJdxaqLiJr4+s327HxDyaWcNZqqqGlU3eTn156E+fqwGXVO92MUxMCIhP1In4+wAoZAe4Cnor9HHNdx/34qEr4hgKNHS62hNQsDwp3oL/XnzCR1ieamBtzFlCxHjhQJH+XDC+xot0gdCoI2Z7ky/ZJRefBupIs2jklqFBPLWYNXKC9LtNnjkB5BjBRzKJ+WWEshR3CeuRAFkeuTC0CzcY0GhjBULpcQs4ETmIE3Gu5i4Y365AqPiJ/NqzM3vcy1AAAw4ElEQVSCBCNXF3hiUAQ6k6dY077WWtI2OmyUhXYhT4SkfzMMllWmfB2dHb6ahw7JMJz0pGFlUXTifAoCvP36IYSxKN0SCyS6IjQJgZmRC8Hh6+3pltPu1kpOBk2sQIR1aQpvPgUxKF4DN1VKu8McOPDHbs7g1Z0iiUelsMmOuicrWpLUg/IP19QkZ0kFnNw2xsU04HMxjI5ww52xRBMo/E2sbAoHfugYoV/KpU+z4+zJiDah/Zjwxd0UcSE8oo0j/2xeoUe4RyhHuJi6ZH23a8UYwlvV9ZEWI7TxRlWh4BFvU9VVYMbrDMwtzz6hlW7dduj112ze0mWu2Fevv8bWX7PJDRrSRBszIOnXHIQN9riwpP7AjRDCN565kt9HI6l0AdPLJHD9vSekWDQKknHiLiGl7R+QW7FEnxaVQnchr9Eco0NGnLi30oI/Fy/wCcBKpyMOGhIozvBQhxRiV7KYQbgJ/UNsIpTLSSMA4IzPQWgVEy4mL5/SgYFFCV1dXf5AXZyjdIXvhjUarpFbtVwjdvo7ZbzvQlYxpQlLwWYrUMnQ7FxziRbliOtMlSOYAHjgBX4Ql7jAF1fiZiqAO1Yr5IMZNJgN3OB1xlJ9CQgYLB/cHhUaOrPeGouZAH46xXgX0w2L9ZiH8M1OWNuDOqrj6CE7fvygziTS9x60qqJCQ9258xdaI596RGkIR3QSYNIhYVb3T3drVY4wcLgYE5gwNvj8ZFYkSgRFDqqTkg945bKE9sm6ZJVMb1ur1c1dqJVFvTZnwUJbuGi5d7zAGyDCUuR8oFb5xRl9NAovJ24SSE+aRNG5qnMacO4RdOKfxIKdPnHCWuQf1njJejp7rLqe7z4M2boNNzte6ggsaI0AgAbEoZiOnda6fum5Bh2kNm7FqW50WqeL8pGWICprdJH4zaFRn1aknDh2UH7lHvV+zYGIctV1tbZk+WqttDozQRlt7G03BssBzuKffLSmLbvEV6zugX4UhVVSFbJ2g0Zc2cVeU4n1qzqLt5KJe/GaFOozTz7uk7PHd++0hjkLtEppyNZcs97Wr99wFm9RNVwpveJHNjnCSUwoQ9PAFTyYS4bobxFPXRDU5JPclxXeqd3vcltJ8OM+oqAlHCcjf35slINr27Sar1g8WldbO64ggRXyLQ2fe/DyS4eQCxhLg6oHAh5+5IA+YJXoCA6UAnN/itB94toaUj/AcKiWkiCQlk2K3V3iFdGVZ444wfXmgbqpcsxl4TZzBfGd831ylBMExagUMjRZAm32/zKMwvKJzUU0TgRvqNRzxM/EFbzUNY46vxh4YRiGq1wZvubSGqYOoTITdQwYQUfgY92GIIE5+BEY3sf5P6T3DjYGAJ9vYvHQ9RXEdMBoP33K2rTaYlRWdJk6UIVcAHU6GbVG3zZPwwpaU18YFqsbJlZfVoBhgem3wot1xUR5IjAd7xmW8HSnjh3WpK0mfWXRV7IvQHnqG5ussXGuOs4ZoR+0pqzQnCWCWPLA1n/hTQBTJurrCoIXCqwZP4v1FN/Z3mYdUkr9mgDsF/5qCYRy8dGiJSu805Ev2ph7+JpnhD0+YUlLkCZ1JYFu0wrCo4LWwifKqJwjfkRHu45qZ+JxUEeUUN8aKac5UsZl2kQW7csV5UCb5vIWsGcrgDe3jZlnYFOiU1N/fCSh+kb1oTykRmnQZNBovD2U+MiBfV432qZcfKWPUjuP1dc3nUmnd7QxdHZ3EAAV4BnnX5ApuJAce+cRY38Snk7HJO3n5VBWXH60H5Y2cUCnvQjgBW7IruChNMxCeIEVdXVg+kPaCChV2pA0KE2MMngz6sSVjXBMlHPFqEornITX1dccILg4ZkX8HAhSV3D94KGHCq9iomAIDbQkgPldrAATM0SmDEGQ2cYduGIYGgLyYuBFUAVjgTfNFIE/l3EifrrXoHVuG6fLUAh3vnjysdoG/7FunZlJx/yBW4K6JwRe7oPWaZzEnxPIK6D58JLWaed4xavg1A+cCHUC8EkTyx2pM3HnwwscTwNMh3T2H4cjWHRYJXTcCIQ464m86TYex0tXTXrr2QDzPOWrcwJHdZDgTMonIThW33T6oDVpyHOxArSmPxHG25iHydRZhIbWqJKgOvfJ5rbkHW1M4BKGB3WkvmFhO0/QJmMhTZeIu9Cr0zqdiQKk2phX4E3TekbwAni8Lgl1Am7QmrIFrUke77kn5JY9932SKvn7HUYQ8p+OonlyA4BgaiyPixnASwNfCrwQdjYs9YnoN5n6RqNO1JgT4Sj0LnCHBVIo3UzHB95L0cbw1tulvrRb0PpS1Jn+lE+2UK6Z5mVgEqgveIO3eL4YIegcCvFi4Y26pWXmTOH2Za6nTp0axXrNF0A0Ww2ZD1/EZXiDEskVS4TRXKF2Ojv1hT1ltL4wek019aWiM+W9VLjz4UWQIVMKKY6p0jedLx/e9PvZur9UeKnPbOD2EQQKolY+07SPbLYImMGdGgUYyXVr5UZdXfKls0uhtKdW8ixXRoGzKRDLQLHwMz4+mzaX29O3v/1tK8oUxOXWLOeWJxREfT2TvMlk2LmpspiMApc/BTIFcfm3UZRwQgXBkIUVAPjU0PbJhNiZSS7exzAxbQlwzztCOj6QZtcLp8D5FAT0Jg1tRFuFEsEXG+1GW0V8ugTTaaNYJQJOJn5jxQTx/BiZ5gbKCs7p4A2Y1A08wAJu+J6pJ7/AMZM4A3d2nRoFJqsgaEt4Or2fI42RNs3Hz+k0k7kHDjxEucAV/SR4KmAED8Vz+hp8lo4rdA/P4mYLeFxj3oJ31JsyTAQzTZuZoEGhsk6oIGicJ554wq655hqbP3++uzgAdOTIEWtoaPAKIACoFCsGSE/FiUOxUMlYLVKoAFn85CgAbXExFRpB8J520WjQrr76aqc9bcG8xeHDh739aJcQ4FzJQxvBnBMx40QlBPauXbu8ndeuXetLGoG5f/9+O336tF1//fXe+VjqCFPDK3QImJq4qeKlTMBhKfKrr75qy5cv9y/gUSfmaXDFhXKifnT+MHQmqk/2bvYpMFkFQdu+8cYbtnHjRi8UQhz+QaYAg/anrafDQwCmn+zdu9f3FwB7xYoVzqs1OuiOd/QVcIE/LYwximKVJ/eTLQdwDh48aG1anrx06VLtFzpuV111leOij9CPly1b5oYeeMFPvcGFnKVMyIKjR48afY734J+NUFBBUIlDhw55R0cZUEAKRqdDKCxevNg7J/F0SghLg1JYOmLE3XDDDWcRdTYq8XaACT0nUhDQfuvWrS6U16xZ48xDW5EPhrviiiu8bbinfZqamuyENnfBWLfddpsriqnQkY712muveX6MiNbWVscDXhQFDA2PENjgQxoUB3V5//vf73wz2Y6VWz74ER6FH+lIdF7qHHTauXOnP9PZKOc73/lO7YdozAWTPV9kCkxWQcAvmzdvtve85z06g6jFXn75ZecXhOru3budnz72sY9NWzgilOk7COCVK1favn37nJeQZZSBON698sor3o/4FC/9h3rwHkWCEoPXJxPIh+Jj9z38evLkSYeBUY2spQ/RX7miRLiHz4FPmVAozc3NrsToOxjws8XXBRUEAufFF1/0Tk5HpKCbNm3y+lNYCkQF6PxLlixxKw5CQjg6I/FUCAWBoMjC9ChwPgXR2dnp7YWQJC0MtGjRIheWMPzChQu9vbCsgzFRFAjrW2+9dcptxEiB9oZxKQNtDlzKQcehM8ybN08nUO7wMlGu7du3Oz7wkmY6CmLbtm1eH+oBH6IM4Et4lg69YMECN2bofOvXr590J55ea2W5J6LAhSiIZ5991m655Ra3uMmHXGLkiQGLoLz77rtdaUyE73zv4BWENDwETIwmRqTE8UNAh8GMYYw8g49RKhjG8Pt111036RWG1IP+QD3AR3+kD+AdINCXkKXwNvekC+WFhwDDDqWAkmEEhXKKvOer64W+L6ggYggDQY4dO+YEQknQAakgPwiFMKKCCAEKS4fHSkVY8MzQiUpOVQhcaIXequnPpyAQgAw5sUBgIKwiGB8BeeDAAW8fGJl3CG8YnI6ABcSIg7ipBHiDEQR4gYmlB7PSceAP4COw586d68+kY3gNT+AK4zrVQB2xJOfoVEusOoQHHRvehSfBDXx4mA6GkpytofhU6/B2zIfsQB7QFhPJBdoTJQ9vYngif7iHp+F1fh/84AdnREEgsxiJYviCA2WBgQUfwU+MfOlj4MZApi+F9Y/sY1QzWUOYvoxioJ/QN1BCwAI+OOmjGDvUF4OLNFyJBxe8DE8TT1mRs5RrNkJBBcGQnVEABeDKj8aMBuV9biAtgbQE0hIXeTwy+zMlCpxPQUR7BXCeg+6596SJd9FGke9Cr7Q1gjrgpWFzn+aTdBreTUc5BOzgtXjOx4OBl2vckz4Ll4YCk1UQtG26faO0CMjXX3/dFQOjwskK5sife4VH+YEL/gieTd+TJ3iH9+l33F+InAt85Is6cs+PEPD9YexPukzpeO4Df278TDwXVBAzATyDMXMUQEFgJTPcDCE4c9DzQ4LxGAlcLHz5S5HFvtUogEWOUTFVwc7IGMGK0MSSD8FaiE68Z7SCQXK+tIVgvF3jXUFoiJNtlLvMOQAFgauIYfDFYnIUw8033+yd8DInT1a8NxEFcEviGgxLeraLjmJgHgH3zHRHrbNd1ssNvh/3rQYbxTK9WILnciPCm6E8WFx79uzxiasYbs52uVEQ+Hjxf2Yho8BMUAAZg5HDiiQmfi8GLzNSYRIZv/5URy0zUfc3Gwz6/wMPPJDspM4UxOXdfAypmcQiXIxOBR46M8ohs7qgRhZmggLwFJPPjIgvVkDQ4YpCOWRG8OSpDt38LCb5tkens9wwH8oQYukGIW5Ec9vikbHje2OiO5mcIb5Q4POVyu55+UIYgWcgRD6eeZfGOUI+peFjGxOAB9xZwT8GkwMP+MQT+LzjhQTKz48P4Pi/C8vuPlssrsyavxCqZ2kvRwqEcsgE9uXYOmeX6d57702O+w4FgRAPAZu+j2zpONLxnI6Le4QZDIAWioBobekc0sfgtYtWnxjkoyH+zWIJTj63GBIc2UnacRmqm0On+vWFKb6hVaTvpyYfuOjSR+L59jEfhx9WOXr6R6ypRh/ISAnvkx36mlOVvpksfEQDFxkfOPSYuk+w8m5AHwRp7RrSB+A5tiJJRb6jrf02R3HAS2L94nDjOYFydnxLpza6qbzz6susSvXnQyMXEnAxZQriQiiWpb1cKQAfIzsmqyCQKbkhZFRuPCNtQlru5KbJfQ74+WBO5l3AS+efKF+k5zpROt7xC7jp+3QccOKZ+0IhcPGe9OnndJ6IJ803v/nNREEwBGOVDG4M1hwjkHhmjXmsOiAN2p93rLsFAGvNec8qAQBzz1piNtmxBI0Gw33l64tLyu3FvVqbLtm4oLHcth7qtsW6Hmjpt43La9zCBiZCHsHeIMHP91xLlOHHW7UHo1krapQXBVCmuAp9nP3oaX0aU4J3cVO57TvZZ9curXEFVK5PRvb0D9u2wz1WX1lqS+eUW3NtmT5BOGoHpWyaavUdV5UXhbWwscy6pVzae/SREcGs1k86S8pgwJULwpy0c5S/Vx+ILyvlU4JD1qxyDvChepUJuErmyiopuz4dqHKeaB+0uVIKrx/p8TLvONprH9nU7Ioi3Sjnu88UxPkolL1/s1AgV0EgN+IXdeBZ3cn7HUepxAY19gbEngNcn6xoQmaEQmBugy/tXXfdxvE4ZFC4SYFLiCv3zz/3nG3QHAVyCqVFX+M9MNmYxj4D3vFMPD/gIfvYKMrmU+RhrJRCRh7UgpJmyU72/bjSIo9gU17gRHn4GiBffkPmRpmoD4G9ZMAiP7jYk4EcBReymPh92gTLfgrkNHAjL3VIP5MW3OwdYTDQqHLxOVb2dICbfRghY1hE0NPTbfPmzrPHHn88URAAhrgUIDZkxLEMuDUAygYnAvcrV670tBxnwFJIdtOySgBkKBY2f3CmCQqDdc/r1q2zxuZ59uwufX9XbXRMlnh1RYktbaqw/S19fj0uK5vPDBL30r4uu2pRtYSyPvcoQbvzRK/VKf2prkEJ8RIX0Asayu1Y24A+tF3sima3FES7BPe1S6utWVb+a1IOfRphYLXj3tm0otZOa1Rw4HS/C2vGACiaI4KBMJ8rXMelmPqkBK5ZUmNdUjDbJdhRWPPqy62zV2cbSSFUSEGgvMqUh/IsUXl3q3wol1VzK+35vZ22VMoM91aNynxI+EiP4qFMH72+2Sj7hYRovMzFdCFUy9JejhTIVRAIwcOHD2luos8/lVklgcwnM3v1PXGUATvvTxw/Yddpx3CnhCT7IEgzZ06zbzijn7HpslpyilU3a3Q+ESIWgVgvQdgjGXT1uqslhwZst84Nq2+o93dtbRjAzbb5+c22cdNG62jvsDoJWwzCYQlUhPsTTzxuN954k+NE8VRV6sw5wb36as5OGrZXfvpTmyu51yvDmjxsxuyWMD+kiXi+VT1HG0STOZcBycsmLy8bSpGfhJdeekmf5tXRGquv8I1xtbV1rox69dnalpbTrrBIj3w+JZm6QPCpz5C+w11WVu7ydVx5CX+laMCmVN8cqyub6UplvJeVlfo9ZRgcHLDBAZ2bJxjHjx23puYml+nQv7MzUUKUGZr++Mc/ThQE2uunqiw7UWNnLBoIbUIBKQQKAgVAo6EUKDRKBG24T5qMvFQcrYqm5x4FgeZjR/WceQvs1f3d7ip69WC3C0kE6V4Jdj4U3yJhWy4h2qT7do0K+O7rmgVVdlQCHAF7vGPAhXJbj0Y3svaXzKmQ0B6W1V5iCyVwserfONpjq+ZV+gfvXxEOhPk1S6rtkEYDKyS8qSf5+4dkVRQV2QIpj80S6OQH195Tfe5GWq17FAjKAwXB+53Hex0fH1lfLyXUImXTL4WxZkGlvby/y91mC6RIWnq0U7JtUGUocZib93R6mZqlgF450G13XdPo9XEOmeSfTEFMklBZssueArkKAoH/8stbJLx3+3fDkRvsyD8gOXL7Hbf7prhyCcMrr7zSlQVjgPkSyi0tp2Q9N7iMYQSwVKuUfvCDH9hC7UY+deqky6ijR4/ZmtWrXbkwGnjooe/bqlWr/JiKClnhTZJtCNE6CeZTgsfnWpdJjiGvsKoffvhhWy3hTZmRHYcPH7FNUlQoHORjUpdi+/GPfmTHjh+zDRuuk6E81w3mBQsW+nLeYSmUtvY2F9ws7123br2nQS6Sn4Blj6JEzjZJiCNfS0pLvAy8R+4uWbzEP537vQcf9FHEEeWZO3eOf24Wox54KEToh4Bv0zfSkcPIDo7j6Ozo9FHO0WNHXVb3dPd4+VC8fEudduAb1XGuFKMUX+YqwD7uYijH6ABBT2IIxzNDHSrCEIpMaGaO3ED4844RAwHNRSFpSArMcI33WL0MEUtKy+TX1yFuErCtEua4gdD+zEUca9fHxWWxI2BXSMBvO9RjS5oTK3v3iT67QnEoiisXVtmWA136sP2IrVusoZ9GE/j35zdorkBlaJfCYH4Dt9V8CX/CMbl5lsvFNChh3iBhv/d4n1xc2jijEQDKCZiMMGorNWyUYsLt1DswbCvnV1pv/4iVCx6jgw6NIKSkhbPYdh3rNZQIkw+NNSW2RzAh4lIprddVdlxowNsul9K6xVVirsQ1hhJEcTCPcSEhUxAXQq0s7eVMgUSonpmD4Hn37l1u9SJfGhsa/YiNRglFLPX9+/arvw9I8K2yw3KJIJMQ7F2SLQjcPgm39773vZJbK+wnP/mJH4uxb99et5IR8suWL5M3Y6Ufn3Hw4AEJzXaNFtpdJiFQX9dRMfN0lAYGb2VlhadDltXX1dtLW7a4POzu7rL+Pp0IXFHu3pCFCxe5gkBpINgfuP9+H33gRSmVwTygOGTe5s3PuwFdXS0Xuiz2igoZqRIiCGXKhgcGRYjlX6NREfAQ7i066oPRSJEaslzKAjfSaik6wn36iA+ymJfgw1vT3DzHRycNGh2xHP7nf/4XfIlqfX2du6c2XrfRejQqQUidlPJkNIXyQDDddvvtPrXAyOe0ZD6HWlI25PsDD9yfjCDQWPi5EOY0EgVFKEE0FABuIkYSjBaIQ/jj10IhAIh3MelE4ckLDH5oWn5F+qEQIuiVV5I4Jpjx8+OSQYEgzBHgJEEwI/Tx8+OWOiyXDc9Y9swHAId0Su4BIc6kNa4pYPIeWBCUe/Axr6ERo79PVhYlMACAwqI89WOT4QnUM3+pAmUhXzK3XqS5CI4l0RS6cAyp7LwjAKtcZYRm0IKyiQxJec6APO9dpiDOS6IswZuEArkKAjmCUIx4qoFMQaAmLhE+IzCoPqNjt/UufP3IpGeeeUZ9uVgH+r3TrWwMUmQUvn3kTU1NteSSFoZIrmHYIkwR4BWy1JFduJHAi+xql5UPPvoaygelATz6LrhIU6V85MXSJ55Avz4mq3xwUC4tCXLwIEMpJzKVvCStlHsKeK7gpPwoZ5/caMflPiMfdUYwAzdkL3PCITvYx8H9T55+2uc3muUaYmTFXAJwmSvBe4OL7MabbvK6ggNY465plbW9o922bd3m5b5KbiTmNKiD11vlZT6DsicjrocSBREF8xpnfy47CtB4MPJ4Q192JcwKlFFgchQIRRAG5eRynZuKPoGQBw4CG6H2VgshuFEM/M64tZLjQ3Lri+eHPIXkBO9QYLGnCsUE3NwQk9p+1IaI7Edt5EuYmzF7vjQUyBTEpaF7hnXmKTBTCmLmS5ZBzKXAN77xjWwEkUuUy/E5UxCXY6tkZZoKBTIFMRWqXZo8M6YgEGAMXxiF4Pci8MxQxecfGMboeVR+RSXSL5mTYMKG4KOXPEMdf6k/oyPDpHK/YsQ5PMUXyTdJII3fTwiHiYcEFsvWfFJA5SUfPsvxoHeU7XzwxtOf58brCT7wTFC+s8BAL/2YLGElxIB8nNXyUWYho8CbmQJTURDIEfpCyJZ0/b2PKGLS/Sqdeew+4I/LqjxpkHHgIA04J8IX8hD3F7ADPs/k5TcRrjzox6OATchHi/FEqRtwkSfwURbKHj9cTtwHPNKShvRn7aROwTzvbRAH5ADDp0XDM1nC/gcCkzPEMxHkyCXoBlpP2ZDW2lYtXm5FJSKWFMZgR6uV1Tf5s0o6hpvpqDP35BnRRFV505wz8RL0A+1aK1yliR35H/tPHbeKuZr5dwVFfsIZGDwNawPIQNtpK2tosp5De12pVM7TCqsqTWbVnBG+oyJa/8ljVrloqYqUMIRDGyufC3wHzZ/ARQpCOi7BP9St8ss/WCIcxeVaIuxKLScfjUbewKGGGuxo83oPqtwjolfD0hUJiuxvRoE3KQUmUhAhPKNqPCNr2NDFyqJYXs/7eAc8hFkIuMhLHCEEIukJIbuSfpssHkFWndBHfFjiGu8DPnmAwZJ+JoZZkcSkerosgStwsGwV/35MjrNFgMnjpVr9SeC9r+zEOFV8On+Ul3TAo15c4xdLV6FHpOEKnMCfvmeVFatKmWemTCw6YkFNg1aLgXe7vky3RFsXKCv5kk/4ssG5yh555JHExcQED8taEehslgMRBWFGm7iYmQcZFWAJFsBBRj4C8bHrkNl73qMwqAhKoqq8zHoOJkIZgT6ipWullTXWd/yQVUphIAzLG1EAWv3T3mrlzfNsuK/HRoVzuF+rHFpOWNXSVVZWq5UHbS0uaAfaTllZXaO/79m/y5o23WpDPV1WpJULqquE65CVVtfaqJRLsZaYDSpfx45XreGaG637wG6rXXWVFassQ1pBAMMwiiiprLZ+4eo5uNvmv/vDTov+k0d9+VGlFBDKAeVSWltvI1piR11QIkPdWkHhiqZO+Y8Lb53KqOW1ne2ufEYl8Fs2P2GNG96RKDHB4f2IGBzcFXO1mkBxpTWaOBJTjAz0q6xbnQbVK9a6Am5YshzyZCGjwJuWAhMpCCZZ+doaaeq1Q5n9EDUSbK+//po+s3mtZFKrrzRi49cxbfJi9eSrr77iJ7Uie9AB7Gwm37JlSyWDSnwvF7II2UVAHrFCp64Og1Ab0LTskw1qO3Zst2uFg1VGXZIHrCoCJoLzqJTD/gP79dnl6x3nt7/1LV8eilxEgLM1APgoDmQncg+BfOLEcYdNvVh6u1h7GZC1e/fssRtuvNFlbFVVpS/RRTgja/maHaugkpVcw35UuSswwerW3gVgDQkXG/QITNCThyWv4KVMi9iwJ1jARLY8//zz2r+2zMu+QxsPUQhshGNEs1972BCWyPGmpkZfOuzl1LuntWy4iElqALGTGoWApgQZWg4AVJTfPgApQMCVK5Od1KxDhogUmrSh6VEIxLHsio11bDypREFIiKMYuvZut9rV6/wZgVwswTogoYp1DYFrlq32dB3bX5HArrLqJSt9hIAbqWLeIhf4vYf3WfXyNS6AEbT9J45aldL1HT2gChdbxfxFrhyAOdTV4aOU8ua5LsilzQzYKAiUSM/BPa6QEMrDUjBljc3We+SALfrAPZ6+7dUXXFA333SHFbOf4+VnpSAalGa/lFGpVcyRcJcC6D91zKqXrXKF0acRTVl9g49aSmukLFSPrj1vWNXCZZ6WhiMwkqL8ZQ36ELlw1191nSsjRjEoHR+taDlbn+rQIEWahYwCb2YKTKQgEHBPPflk4hLR8lV2N2OpJ/sgVvrOZYQZx/gg3JFFyKuFCxe4fELQEwalYO5417tcBj311FMug/ZIViHA12qfFruSq5VXoHxj2nFZ2AhWlAd5kXcvvviCBHWFf/8Zg3efZNldd93lshEFsUA4EfbAvOOOBBeCn7S4aVatWmVPPf2UC//Tp1vcgF69eo21SDkdOXLY1q2/xvdBgO/nfv7nHQ47qxH4yMyt2pe2a9cu+/Uvf9k3BfJ9bvIjV9lRzvJW9oUs1vJXlsvOnTPXTpw84cuBoQ97KVA0wHKlovpxrAijiPla2lqr+qP8OBZp3vx5Xj4UJ/RmOW9XV7cdFm1dQSCU2UnNBjg+hg0QBD47qRH2IEJhoLFJA2HIA0DW0TKEIQ1DKZQMhSIvDY72e5caq0JaHwUxrA0b3ft2WKOs/Y7Xt7jgxP2CQMdSx+3UeN0tNnD6pAtuRhclsv4ZTTDKQJCiF7t2v2G1a9drVCA3k0YJfRLOuJhGNNpgtIDgrZQy6RPMwdYWK58zzxrWbfJ5AJRR94E9VrdmnfUe0zb/w/utds164TzlZahassJHCQvu/KhfKTPpGq+9yUo0xETQM9pgpMPzyIBGEqXlnrZmxRor0yiAOtasvNIVSOfObVIcV6gsR6y8YY7cTdLuUjS4zSgzv2MPf8tHNqRDOaBAGB2hgHAx9cg916ByZSGjwJuZAudTEBiiyI1du3baqpWr3ADF0Fy5aqU20x3UM0f/1Eou1fveg66uTn3LebFt3brVRwW4aRHwGzdtckGKXFukTWvILzbCkRerH8GIYlm16grbpQ1rCJUrrljtoxW+H/HC5hdctnH8BsqDUcz73/8Bj3v4hz9QOWr8fCUUxK233uow2aMwLCO2SgYv37E+rZEMRjMjGMINN9xgB7RZb9/evdqNvU717HK5SX5GD9SdzXzrtdv6NX1Wde/ePfalL/26jxCeeupJ5b/RvTYoRXZX8566s0fitde2uWx2mJLPrfIAoWzAidzGI8TGNzbcofhWaiqgSK6mRx951EdAHEGCwY9sxegnPzvRXUFQeAgMYVEACHUAkpArGoh7tAvEokCkQVOiJFAIBIZFpCGOUQgjE1xPFLRKuxBREMw59Mnar16+Wtb0UremRzRk6j9xxCoWLHYLHUu8atEyF8DDcuNUzFvoBvfIkNxSUgYIdOYRiivkNxPxezVqwK9ftWi5BPlBH3VgtZdUqRHZvShl5sMtai/DHZgoktI6HVolBhvu7fYRASOIgOcjFwlr0nbv2ynXj85Jmb/YBTsjEt7HCIJ5DdxN1UtXOszeQ/t8RIKJ4nMjKj8jGfBQTvLDkV4HjQ4o1KnnHrOmjbeo/nI7SXGo0IIxVy6wcuvVfEifytm0aq3SnhuoXxYyClxuFPA+l1OoiRQE79hZjHsEHz2H3rHbGflRW1sjAbZHBmiz7uv8OIuVK1f6Ao4OKRRwcYYTfn5cMOzERlYhv3Cb79mTjCBQCFj6c+ayIUxGrXBg7ZO2Vu4p5BqyjhEHsozzlBDoCFBcL5TlgNxNWN8nTpz0K+UAf7iHcDdhMGNs444vkYxCruA+q5OMZfSCEb5PCgFjGw8LfZgfMhVlwXlK3G/YsEHxyRxIu0ZUwINOJzVaSGRypRvoy7Vj/NSpFq/Htdde6+WhTPGjTChJlAtKAqXBO0YznDHFmU3Ib8pQqmM+BnRe02OPPZYoCAiBJuRKgQkUDgAMmSgQFUIT8kMDExD+pGO0kQ4hsEjLvRdSCXChIHARiMwlYOXrpQtDX6mk9D4prFEEBNVLn0j2iWfSEZCFIpjDlbAlwvGpLJ5ujNAIYocR+cg7FnDbeLT+uAsnXnDVVmlf4aRb3Em897IprcMkj/An5VBaWQzDGuJh6SPMKYPDpN7UX/ASXNBCeB1XAiPqiNuNeZZSKTSniafRH8epM180j8EqplptqY8QNI7n7JpR4HKlAP0/wkQKIuRJkpaOPtZbyK/+hFsFWQPvkzZ9Tx7wMBlMvwmrnXTcIyC5R74hswjIsZBzkR4YwEdh8D5w8Z5n3vMuAu8pB/HA50oYEQ7SFStPwA5cuXBQJhECH2m55106LmBFvXjHjzJEuZDjuYE0wCQNaaMMwOFdhPT9t+RK8xEEI4eoWCTMrpcPBWhYOhZWCyHdiLmlnOhdbtrsOaPATFJgIhkS7yZSEDNZlgzW9CkwY/sgpl+UDMJEFAgFwfA2HXKVQe5zOm12n1HgYlAgFEHgyn3GkicurO5Il10vPwpkCuLya5O8JUJB4BvNN4JIK4X0fV5AWWRGgYtAgbRSiPu4MoLATZIpiIvQENNEMW0FgeDiR4ABwk8nH4j75ln6yT4DOePdh5j48pMJm3xld98+PnsxkACOJ4l5gmCyEISJD3882Zkbx695grH5CVYFeV78gTHvMZY65hMcG3inE8Cr+ZPxHdOpOpwPLPnG64XvVcv8mI8h4DcMF1Ok4Zq+J108c5+FjAKXggLRR9PXuKc8MYJgLiDig5fDEEKO8Iv50HQ6YPDML3z+5GcOlcldJqTxr5M/4EZ68pKHQPoOnWzKCa747IknjrxM/pIn8nuGsT+kY9EOgT4JvtyQxpf77s30PK4gWE9MgCBULn1PXG6A+BAqNrXQ6MCggZgh10vfEzCk5ZnV7JrWpAiTuqw2qtRKpaISlIbwMNlL8HsJPAnCPq3YqWiepxVKTLSQJhG67JpmiSvPQ51tWi2knYDA9fIqHcUeL+qoNqudTOIU3aNVRWVahcR+Cza7jSstvWPSfLhHH9PQ8lPguTICnCa5XaEFTOgAjkDkZeaZeL3QhfQsqWWZLRPWxbiExunnmZO0ZFNwWo/VvefwPs/HKq+Sch0prFVcPkmu/HQcmBEXU7RHMG9cgRfvcu95zkJGgdmkQMiN9JX73OdQEIwgQogzOmYFUJnitujjQaw0atXzOq3nZ5EMApt+RDq+nYCApi8ELGTRK69oOauWfLK8dECrEVnpBHxOfCU/8omy8AU3Pv/JKiA+AMSeAcqCEcZHiEpkQAIDwQ98NgMzUUwa5Bt4n3vuWVu5cpUrE5abxson0nPPUv9QbrNJ89mGPa4gqAxLU0MDg5iddWwcYekTxCMNBEAILdJXm4jbtm2bE5M0EAYYd999t+9+doGnVUCx67liznxrf22L1azQJjg1YHmzGlI7mxGbbEzjaIsiCdUeLWGt0JEa7KRGQLKruUzLUdnPwH6BQe2eHtK+BDbPJbuvtcFM8Eq0jNRXDGltb7EEbNfeHRLyQNdPjFK1YEmypFZLZX0XNyuGVKe+Iwddr9RfucGTosTYzVyp9MDvbzmW7N7Wvoyyeu3aFnOy3La8aa7DYzc35WKvBPsb2GHNkR7t2uMx5+b3WL/2L7A6ySuqEQHKiaNFWOpaLprESqkTjz3gSqFGm//aXnnemja905fpQu+wrGIOgg4RiiGutFn6nucsZBS4mBTIVQY85/6QIQjuUBAYPqzh37tnr+9/YB8BX13jyAeW02/RR3tYQcnmLfLyKVKsfjaHqWu425WdzMgiFMyqK67wJap8/AbhT7pD2p91zz3/P3tn19vEEYXhUUiK62ClaYIDFTRulBCoA6rSkPYGIYEUVY0EqOIP9Nf0X/QX5A4JLir1hnDBh7jgM6SuIz6S1CU4QrYLrjHp+5z1bNaWWyIRRw3akezdnZ2vnd0975yz8575wRbfuXLlsvIkbRotoEJduNlQQzX1s78xDXTUTWlNhSVNb71x47q1lSmxH+ndZfr+3Xt3tTDauE0bhdVt750sHxD6MAOPjx+1hdN2su87UVcIENxEmNQgJ/Nv2TJfFnULohw3iNWPSMeMp0wmY/Ew/Tifz+ctDaOA2dlZAYRWiNOoHc1h7dovRkKDN/C6sGx8AhjCgASCFUEL76EmDQHTDMGY0wIGuAq9YjtDNOvWiACyXO+hEfdK5TDS7urZK+GbNN7AJyemxcaW1iBxjwCGucyIHsY1gh7/T9U1MSaVL5mR6wqN9P9eF6NSQAOHITU2YWWWcg+MqZ0+/b25zCjnH1k73mpeMFoNbUiNZY2oB48CjaTyJGcaAxpTQoQ/OA8AFDwPCHrV5wVxP5bdwNQpaVHPBH6DRq7blxk3kOJJhxgIrwPto3jrqgBC5BuRcQjexIQqzMMIQAAavDDNYEHqTdMTR3GIe2AnegDZQGgGBMxETKnkh8k0mCLKlgEnW7QBZA8L9iBz8BHEspeQbgEPRvAMjBD+DEyxWiCPFhcX5W5iUAsAdbsj4hHAQsZcPDo6ZqaiBRHNPocMpmblfsu58xcuWFvm568Zb4v3htXkyAuhDcJvVfXhimLy60k3MXFcZLmbtvAOpDEcZk6dnOIKjVMBTyMvXgbcCVxbsCIna0sjD0mTzWbpjl0dQoBA6MA4hPBGx+PPBLUKYgX7oD3aAeQK0Brg4MfNAzBYWJyOASBmZmYaALFknIDCr5fEjJ42YQeBbI+IbpiKyhL6kOESEqIVXF2I+Aa7+LUIc6R/ef+28Sb6spO2jzO9WqVsbGhcdbwRNyA1ckzzjWsmXAe+PeNeiGzGd4/k4Yzbp3P4YCr9/tBG6Qjlcu5hUKbKx70Gv74vJ83pX0qs7L/kn4k2sN0vP0xoOFWBEeatxOBBE+r4YeoTo5r24TwwKf9QaAtJARfOCOEzoAWUVS/gh+sNrq9aWHEHv7tobkaKt+bdgbPnAm1DmgdaBKQ5DYgMONsBhKnXelE8OBSL6w4XAcy3thEMj6LuI2VwHIbIbhgX78Q9sB09EGCClSRdAbkYAAQxksxwEjC3pOXKwWsMXoPwAAEIMNCEIJceSiudlgOWbMFMxNKedySXcCfByBxgwOREuQ8k3Bk44TaCZY4hpQFGaB2sGokfpJSWDV1dXZFrjTVzk/GxTE3X5W4C/0dD6cADBPkBHRjZYwIXykTWsSob3iAAHiwpgMDCowUT/Ph6op28ZwBcQemyE1m7dpYVBfgAnN0eQoDgQlDRAANAgpsGAxG7XdT0BGgwcgXJ6RhuMnFQ49knHx2DCQdneGgJJTmcS8mNBW4nYBLjTM+0B5lXvIkp8dmwq0joY56B/YxJCS2DhwxQScostVEXCUWqKQIawYwbCtxZADA6Yd8tmm6I8qJBUB8fphH8mHUADTQMBDllvvrjiXwpockMWBz1cT5xQA+argdWM98TytIsuvXAVaQZYH4CGDiPSar3iyMNT7Ua7ag9pKcuAzy56OiRE0IY3ZjZ6Be0i/6vYE3jKLBk6UlDe2Fe4yiwLyu3HtKOeAijGgQAUdNDDBivrBaawcA6IEaEpucgPtjBHoggRqPW/WIsD0nwY57xGgQmJuQFW0J0QEOaaPDnovGM5vE1hEbNABVAaZeOpUBxHwEYDGcyVifpfFl+v11e0hDvz9Gm1nzE+fP+HHGE1uMgdnf9z83NBUQ5VDhGqNw0kJ4AEHCRfNkH9T2Zjjh/Q3wnRDuJm86HXsxDCFe8se7hA7HKJiCU9R8wjht1qEBLh6CHiUy5VqbKYXaPfeS2GT18sKZderBIo/KNPe1Z01ZD5E83OAzcbA6IU14LxFG+6qRugh3rPIxmawNpSce1SIV9q37CXIbw14UG7WFfwp3rDtjhVlSQT+2lPuIBOAM+ncZJYTRwjvrMg63yAA6+DQAE94cXwmsQXEbk6qJFxftxD/xveoDXh7cNucAPucI2ChA01suSrTSc9ySYTLL5jaNdPt4bZBcyDZlFvXHYeg+EGoQX/lvPGqfsZA8YMDUqYN8DBNoaAMEPQOHD2bYFaX31P5/a9xiALwxyjlZNyU9LXZ5l3WZ8d5dGb4m0S/T0h0njnbgHWnvgjQZWmEE9QPAsI6zfByBa64iPO9MDMUB0pl/fu1QPEDZS+heA6JLW1CPA2K6wUSq69Z9/crXlJX0VD3znW9n6iPd4esAtVG66+samD5revZ+6b0Z+dMODpyyZb+u72hNqh5GE8cgu0hkf2C6O8+po6VIlAAYPEAx2iPOag9/+1+XzjPl00f12eThP8Onbpel03Lva6OtvTbedbW8t29e5lS0A8Q8AAAD//8ED5cAAAEAASURBVOy9V3CdSZbfmfDeewIgLwy9d+V9l7paquqe0UgTI21opYfd7X3QRmyEnrT7KIUepQiNNvSwD7uzMbuKlaZH1d3V3VVtq6rLsByr6D0BkCAI74ELD+j/O3nz4hIFkgAJy0KSF9+9+aU355/n5DmZSUNDQ3O5ubkuKSnJbbmN0QJzc3NWEJ58pqen3cTEhEtPT3czMzNudnbWJScnu/SMzBUr8Nxgj+v9D/+bm7x9w81NT86nu3+/a3q+3F0YPeWm56bi/rmZpe6lXf/cNZR/z/z6+wfcr3/zG3fw4EHX0dHhKisqXHFJsZWTANQjOSnZfs/Ozri2u3fd8PCwKy0pdfv27Y2nu/XlyWqBqalJN6PxC31JSUmx8cuTsYxfoDvhuVjtGe+Mez6pqak2lvALaSwWZ2RkxMJmZj54jjCvKA/pLseFOUq5E7+HNCjf5OSkS0tLs/SD/8In4cbHx11GRobNDerIb8qDH79t7mi+U87lOOJOTU3F0+H3wjajjNSBci50f/M3f+OSVgMgKAgOIkYBcRSCSicOBBoHRzi+8y7xPQ1DWjRMor9F0h/eJ6axWJgQdjM9w4DjyQeAYNDQudSXNklWm2SsJEAMdLuev/yXbur2dTenSR13Bw64my+Uu/Ojn94DEHmZZQKI/8U1VrxuQfv6+tz/95/+f5efn6/yTrnCoiLzHx2NCgRKXFd3l8vNyVV9Zl1WVpZrvXPHQISB+dabfy+e3daXJ6sFpkSAGA/MceZxmM/0O35hzvKEVkCwGO+8w+HHu9HRUTcw0G+LjJycHJek91lZmaIpaTYvonoPfcnU2GKO/PrX77mjR4+57Owsl6NxRzqAVVlZuS22SI/w58+fd42NjZZfdna2hZuYGFdZU628lHNsbEzpZMfnIaBz61aLq6ra5srLy92VK5etDKWlZRa2sLDQynzlyhWLV1paau9Fa11BQYEjPvlTx0kBVF9/n/wLrdzJyUlK+5blVVtT61JSU1x3d4/btm2b2mbCFRYWWVqhbUiH+kIboBG0MXUeGho22nHzxg0Xqauz999884179tlnrYyUgXj9/f369LkjR45au0SjUWsX+undd9/1AEHlcRCj0GGLfccPRyH4Hn6bZ8Kf5uZmNV6V+bS1tVnBK1hRFs+vKCkcg8FWkWrA7u5ue0/aOBqPQrIaLSsrs0KTXxg4xKfT8evq6nLV1dXxd5ZALI0QPvhthmdoV558qOe3OQgBxENWR8up69xjAgQD9dKly65XQMHKhw+DjQmWl5fn7rbfdRm2akx2UU24HI05+oxJ89TJE8sp6lbYTdQCELXpKQj+tzkI5magNzwhVrdFHO+2t2sxkePytNi4e7fN6ABj5VbLLdGSMVdf3+B6e3vduAg5i44S0Q/iTYievP7660ZvfvGLd0T4d9rcobkAndzcHPfyy6+4a9euuatXrxix7enpcSVawHjimmxPgIOyOJG7/eKgW++0GjHNzc3TPBy3tKBXhw4ddidOnHD/5T//Z5uL6Rrr0K/tO3a4Hfr87ne/dVOTfoFcUVlphLmgIN8dO3Zcc+WiLfAg4KVlparnXVck4o8053brbTcsAl8kepmenubSBIKUjzl27Phxt337dqN1LMq++uortUWP2717j+tQu40oDGXu6ek2kOgU/aypqXHZak9Azd4JcCgni8zBwQH7/tZbP3RtWrRdvXrVTQpIAciWlhYPEExiCDFIGdCPzEE+CkXjEgZChQPNIN4Qd+JA+HlCEEB3nvzmfbsKfVyVKtKKks6AsJMH+ZHmuXPn3AsvvOAuXLigSu62uBAXVqIMms7OTlepxiUuRJLvpAu4DA4O2mqURiVfBk1YBVBmgIXOD4PQCr8J/iQCBO1FXb4NEMkxgFgZ0eDjAgRlpqwz+oQShXZnWWF10hd1adzxHiKxGUE8XomtLw9sAQ8Q3+Yggqgj9D1jgXl96tSnNudJ9PjxE+7SxYuORebBQwfd+JgXxWRphcwiFA6hre2OvYfoXlTYV199RQuSfK1+f2XiS2jA9RvXrYxPP/2M0Y+f/vRtm09wshDwWXG10CtojkaoOyCuGWI6Fh0z2kH+LHLKystcbe1213TzhghxVHTredHCavfRR3+0sjHGK6sqRRtn3Z49e9zHH39kNPTq1WtuZGTYlRSXiOgXueeff8EADe6lobFBC9xuy39a9BVaevv2baOXR44ede+9967Fg3DD6dTU1qh8B20B1tLS7N5//30DEECAuABNjughdLNfNBy6e/TYMXfnTqu7ITCC9iLqNVqqRTy0nPq9+uqrBpqXLl6ysAcPHnItAl0TMdE5Z86csVV/U1OTY7VPJDqPDPhcvnzZGgtiHIlErMEg6iAb6E6GyP2MSAg8yBhwoSMh/KAeecBikR/v4DJ4HwCDOBB9CCLhgnyMcAANnVhbW2vgArqBhgACaE5nMxjgJgC3OrFVABBP0HIzuYcBBOAM+nv5agLFfYxKTkdHXefvf+4me7vcrNIPLrO63EUb013n2AUtqKaDt7iBQtdQ+YYrKThsfqzeevv6JW+esXZPSRGApYuLGIvGQYBy4wCMTC0CJjU5ETkxoVLFSrMAoa8QHUxp1cmYMlGaOA/iTur93OychQWIFNlliYtisrKo0LCy8UcapDmh1Svvp1UmykOA8XHt5WhclJWWWDpWoK0/q9YCywEI+huxDH0FXUGEc+7sWStbXX29LTLaRQBZjQ+JTuDH6plxxAKyW2LMN954wwDirOJBQwgPwWQlXhepc7ki9NCOZtG5MomHoCnQDhasFRXlGj9zRs+6RUcY04yrO62txqXA9bKqJyzEPDsn2+3du8/Sg9NJ1aob7hhCDg29dOmSaFGv5kO6cQYsYCOindAk6NzNmzfFDdXbyp94iMmKtaCFq4YGQn/hepJiBJ06E35IQMpeH2kAiuzpVQuo0lVW8mCuDAwMKJ4X69OAiHmhk0Yj1U6IwxD/Acr5aqdDhw65pqabAoc2AWPU7VA5T58+7QECgkSDQqAh2KzGQXgaAuRkwtEBIBRIBeEFCFrU0IBHQDyAAj8KSEMAArx77rnnjJh9/vnn1lCkDzFAfndHbA2/AQ8qT6dC5KkcAAEXAxcAGFGZvXv32pPGhTOhLIAH5aVspEe+hCM+flsA8fD5H52ccX/9db/rHNKmoiZJcI0ls+7vFn/qModOaW3lOUjepaQVuPSaf+iSC49ZUAZ4e2eXWPNB+52ZkW5EuO1uh/o+I75iY6yNaSVYUV7qBgaH1H+pmhCjmoiSSWsiJEkUwaQY1CSxTW2NA8bHoFhuACJP75CvMnFhpyvEntO/U5pQw8MjGj8ar8kprn9g0CZYQX6uG9VKkAk3LdDIFmAQt6a6yvK2wm79WbUWQMY+Pb00DiIsLpn7OOgIQIHIhw8Ek35kDPGduW/EUOKgDz78wAjvvn1+0Yg/NIbwfvGQFCeY0AXekw5jJ+RLeiHv0CCEY5Pd3inP4PAnLIs0xE4AS7J+Mw6hRZSX/PkQDj8AEP8g/ydfysCHMuEIhz/l5knYUG/AjLCA1y4tuvlO+wBWiJsJhx/xQr7kR9o8+eAIzwy3eaPv1I02onzUC4ff22+/7QECD9AOFguCSoKgE6tzWBUILoSaREgAMY+t7lQgKgTnQGagFyCCIywEHX/8aCRAhoKTFnkQl99wJYAClaMRjA2KdQbx+MDBwBkg8yM//EgHtKXilBX2KuTFb9KjgQm7mRzlxoXOZrDQ3rRXGDjJIoLUTZVbkar1jc+6f/XHYXdrQIN6noFwT5VH3f9Y9o4r7nvXJc9OxPNKyihxabt+7FzZa3E/ykv56HMGK87qQhn1LvSDDxdb1SvMtMZUquKE9+Fp8fWHGlo6sScTgD4PfonhiZPoCMP7+FMvV6bFEnPZ+n6/FgAgmONwBYwL6AdPxjL9EsbJg/rwfmkn+of+TfTb+v54LRDXYoLQ0IkBZWhsJiGdBmFi0sOG8TuxUxOzJzwuhCENPgwA/HABdcNv/EJ44vMhDgMo0eEPUhKf1SQuhOOJI51QhsRBl5iXBdwEf0KdeFKntQSIloFpAcQ8B/F0AIjeX7nkuQSASAcg/mfnyj1AMH7YXJzVKr20FPGNX/Eh6qH76RPqE/qGOvGdcPQ344wNbtj4sJLjfSAqdDMbnaQRxgxdGdoKrZY5xo/3tDCWscIzbhBVscLz4dkw9XsfiMVYuCCCQDUXdp70ySukTx/wIY0UqwfjzeeNqAtxGe/hYFi85OXlar5k+zBKhJT8OOSb+pTK8E1xQr0IRZrB+SAxcJMnZTdQVPzRqagbmRzRNz8+SDMlmdWhnkkpriiryKWlaDW8AaBwrQAitNvWc+VawACirbN/LkOD2Q/jlUt8K6VHb4FA9HhCTOYkY3Qzk64gF3m6Zz1Xi4N4VICAwF/RRhqEkgUH5UzXHsSY9iBYXIh2SUbKqlFyVYE8YILn7l27bDV5S6JIOMTIjohrkZgSlhnCXiwRJkoPiJcQRwFApIMYifeQWoAEgo4MGA7UyqB9DMoAkUQrIzOmEowIANAplY0Gi40vvjwt8cSH7odvvWnp8Y70oNXJAhHmxYQWJ8i52RwFwEiXviEcYq59e/dYP6FGODU1bWJZAAdNkDQBINwyHDXlAvxQt5xQepSVtgB4QAoDQ/U1T7j2bdp7GxAnr1e2b1KuTdIUtUH/uFQTR/rd2KTfRI1ORF1uZq5EgzOuKEd7hrnShklTumrr9XZbALHePfDo+RtA/N+/a5q7OyTZnmcAHj21rZir0gIQorTkOfdcfbp7enfxqgFE//ic+9cfDUnEJA4iYQ/iqbIx9z9IxFTU+94iHMT/JBHTq1ZviCbEDKLNJjAbfBBECDnEG8LJXgQEFz3tAe0RsKouKio0oonhHCtxxIu8g9gBOjnZOUZI0QcnbQMaiSfQPMEBAHADcCoACMSUsmQIRCDqRpRFrCGWpMk7Nq4h2BDrdu2zIU5l/wwgslW66o8KJe/5mAxXxJ4VPnr3lIMPAEL92Ddjs71Lm4CjI6MGPNRtZmbapSo+3/lHGNKn1GNS1wQsTfU3xq0ASnBicEOAHXmz0U6lAF0TKYrm940JIKL9BnyknaoyjE+NK9kkV5BV4Mrzylx2WvamBgjair60tlO9cGHhhN9Cxzv8eYbviWEWxglpEYbUWGjggn9ICz8WAg9yi8UhfGI5wvdQDn6HeCH9ECY8QxqLhUsME8LxDOn7Gvl2mvcjxNKdAcS/+L/Oz51rl8bHdGiipSewFXINWkDdkiu6+t89XeD+wTMVqwYQw1Nz7j+eHnVtg9MipPP1OlAy4f686Pcuf+AjAcT8JnVSWr5Lifxj54pOWmAGbBjI+iq3+HgKgzUMcH7zgeCG74lp4TefricC86W795sP6/NOjMd376u/Khy/g5+BjrzDbwtowRbPi3ChPIRNTAsw8u9I/14CEdINT9ooViz7YkTKN5wFCeWx9ChvLC9eSuAlMeCUtZm9kB/hiJOeog1SiZtCfMKvp1sOB0EdaEP6BNBGSQYNyNDGvMOF33wnDgQ2jB/AHMMvtIiiUk5Ay6m62iuqwJlZeyoe4TFIK5fmIxwunDp7mGwARyIRM/QMCjso08Q5S7Uxjvh8AHwWHTjjAOWHQxMIBZ2GxkZbYFAXNDDZeyEOCwHUTlEMYoFBGpQtpEcdfbhJd01qsrXSAiUc8fggymTBEPaFh7UXC0daqvqQzi2p6UYiXpMz7PdYwZbxxwDin/+f5+bOtElbQATiURzNlZLiBzApTMfk1yyKWDmiEaPyLupSYiunRK2ZxQJanyiNxZLx3eXfkV4Ae8pBvsTFHy2DhIXxYtnE/SgWcaZjZV+YBr+RCSc6OmWp6SfGW8r3/Mwk90+fLXB/8XzlqgHEpOZe27BW7VooJNYjP33alacNuLTJXtGiBORITncuq0JL6sKlVGErzAq3gEb3ohMCwrKR3HIAArEayjKI9OC8IHqoYEL4UHWH2MPloYCSn19g3xFhokLfervVNOCwSL4mUeffe/NNiwfRHxoaNE4UzR+IOuqwNB96/qikogWJkgRW2DdkMwHXWlBYICI8alwvatK4w4cPx2wlUOq5qL2rXlMbvX37lpWHMmKshkNd9QtpbQIK28SdAhZoc+XJ2K5S4dplOHr3brvZgKFsg5amiWMzs4x7hVNFaQhbhjap0GI7wW+0TSl8v/bOsMugrJ0CNbh2FHbQKs2UeJX2wACPttu3b5/2Bb2xsRVuiX/iAHHurnTM1QYQxkAcwneGG2MuEFuefoUJcsPeJrm8LDVuWrIryU91F29HLfusjGSXL/+uQamaxYg14cP4JZ3tpRluaGzGDUWFngmFDvkFop6htNMEQuNT2iikLApLfBz5p6Uluai0cOorMt2w0ivKTXU3O6QSpvcQ+rL8NDcwOi2Zrd8wtbh6GUvCykQ9+U36+VmpLj01yfWOeFRn0tWVZ7hb3RPWPhnKj3YqzUtzg2PTkvumutYeaWusEhe2FgChqm+5rRZY8RZYDkBgS/DLX/5SczDZrKjZn7kk7cV8qdpDcAEGQAMCywr67Nkzpt8Ph4C9DTr+UdnEMI9fefll40KuXrtqAAAhffHFF82i+Pe/+52J8aKy/dm1a7cZ6xbLgA1tylbZPDQ0NFhcxKKs1rHSZv/ptde+5+rqvF3VX/3VX9kxGWh0QsAPHjgoOpQqM4EW0+Y8+dRTsXjZpraN+j22Zfky4sPyG5EmmpsnThyXGn+prK5/Z6DB8TmAFko5cDDPPPOMgdbJk0/Z3tbf/u1PXLb2jOEmagQ+pHFVtiNwE6RZJY6kqanJbCrQQEWcu0e2Gk+pPCaiXEYPxwHiSvecqyrMcNki6n0iiqzoIardQ1JBzdRBViLOkyJ+GSKaNH5L14R+z7ptxemuXOFYafMBOEbHZwwwKEeWCPugCPZtEc9xEefSvFRXViCki864MRH7w7WyhxB4dCof4hWI0ELIC7JTDFSIB1HfUZbpju7Icd/cGlG50gUC0ktO1QZhLK9DSufDy4MuIsAZlN9OAcUXNwmb5rIUjj3AW0orMz3ZgGx0YjYWlzOgZLSlcpIvdQXUxlW3frVDRWG6BmuSQGzaHYvkuuaucavPoe057vMbQ66+TBadPeNud1WW++z6sBsU0K2G2wKI1WjVrTTXogWWAxAc+3D69NeuUMQPjpzV78joiK2KscfiXC+MyVhxYyfTJ7V6viMCgviyfzU0PGScBStuQARRCxwARmbHpSKPGvypU58aAJSXVwhUSkWYOxxWycZNaFUP98K+FgQVsRHEmtU7XAsgRD6ffPKJrdo5kBIr57q6euMAbly/YfHq6usFPGcNEHZKEaOrq1Pl7TOiDtC1SBGDY0MoJ3lcFAcBGI2KQ8KSG04JwzaMVmmDF14QuCne5cuXJEIbMFEVS1qOMaGtgro/NmOIHQFKXI7shigbbYTIajkuDhBNfc4d2ZFnxO6giG1b34RW97IfUAE6xQFAwJ9qyDMQgLjf6BxzfcNTbpcIY/vApCsUYYc7qCvLMI7hdu+EEdtnGvNEqIfdtfYxA5jGyky3rzrHwOKT60PuqAgtxJgVe5cMtHZWZrmeYW0waoUO13FV8WqLM7QhN61D4TiESzI6gRWgcXdgwtK6eEdGcdXZ7uKdqAEboAbBB2SKs6UxosbbpXS/ahp2EQFNtdL75OqQqy5KdwMi/GW5nHWS5AYFEDzTNDDaB3UWiepDnt36DmdQofA9SntG6eUJSD5XvQAXwPRoJEdtMu7a+xMOuVtOTzwk7FoCBDJcHIMpbJ49pHj3vGawJrqFIo/wfqF/Ypz7fSfuUuKFPCgJnGFiHONK1XFwqWgP8f5BLqRFmMR0HhTnYe9CmiuV3sPyW8/3ywEI5PDYTkGQ0TBDDRg1YsYkBNrk9PqdorGJqIh2JCyracIwXtmnQLkBIOA77xHtoMQAJ4J2HHkQPuwH8JtxwDv8yQd6xkkAKAwE5QWIMOmSH35YK4d9AbgHxhagRL8at6N0yYPvGNuNq1zkwxlTwdKZeqGMwNlPlBewgJMJexykx/sQDlsz6k2avGOekjZjGX/KTljABoe4jn0Jwi13vMUBokXnUh2J5LlbIuwN5Tq6QOIarE6rtIIe0oocYl1RIAIpUID4ww1AqOEI+mzFn+omxBHUiwB3iYh2iKjCWWRq9Q6h/t2FQcm2Z93J+lxbkRdkp7pTWoE3inADNBDrfPnBvcAZILYpk5jo3G2dA6W8yetATY4R534BFHkV56S4QgHAdYHVThHyK+06ByojxV0XqEC0GwVepSL+NBqcSXP3uNtRkuFyMlPdl8r7oMDpQquO+xDnBBLXChAvt+nIBoEEdQJkjoprIK/2PiwRZeg3IlXHdB2Sp/J83TJiQAWQvLA7311SXMBpNdxaAgRyWVZuNWJXw7lKDFpvH+CPsmCyscIKjomJzBStHrR4gp4/x2dkS65LfBwrOSYsv4nPIGbQhoFr0KL+4jdhEkGKuExeNKHCJPbl8pvGTChWfExSVpqkgaYTExeWnPwYC2M6aoOjCph0eSJClIdyBuKiiFZWZNLkjzYWx3Ng/4CYAbVVq4vyY/VGcMpBXUifdPTwyGRfgujS14kInP9DeCY55XuS3XIAYqO3A2MMIv4oxHaj122x8sUBAg6ClX23CPRtiUwyRKThCqITM7ZPwAr/jrgKgEHj393tnzIZfboIZYnk8HAcbF9mi6hOiqAXi7gHURUEFCLL5idEHTHOhDbEETEBp5N62h6DwuXoHWIjiDNEhv0LRFCkUaS4whi3TWDSLwIOIYiqPHq4HImOyHe/OIkzt0YNjGok/kJE1CuOpFOARfhSgRZ7FoQFwOBscJAEysB+CHsPiMsId3RHronLLt+NmviIcrMhnycg4kgKOAvA62R9njsrMKO9VsOtJUB8pfNXIPZFYqMvasMQYoyWBys6JgcrFI7KSJPqaKZWR6yKeL9jB1oWhe66WGxWM6yw2JDbubPe1EppF9jnzu5eUUyJKxU/WOnn64RLDmKjH6CtEFpkwhGdiImWBr/ZMOzSpmDNtkrXLPa8S8d6cMYOaSESYGV1/PgxI77nLlyUdkq5VFjbXW1NjduuA84434l0hpUOx4JA8HEcFsnGnm3yCThQtcXGpFCblGw6divPTuXFirKxoV6rszyLRzoAESCUqzN5bt5sspUrMl9k1xARVq60JecRpes8HspbJpFId7fu3tDm4549u2xVGwDSEn7C/jxJAPGEdc1DqxMHiAsdcAx+gxriyERl/mg+2eYwBJo9BxwEGWKLQz6PLY7ohk0+88TPvsT89JuJycwPm9Sxnz4DwipCXCuIpPWbMGYkpqeSsDRtZUl+9i5kEnsqDBvZcBzE47utIhXYtKQsDWk56Uk5KBN7JjiyJEN76quCWFxEXfwDpGgXK5QKQxqkSRkpG2Ipfls+pLXCbi0BoqmpWYR81NVFIkaU+T4yLOtgEUaIHOw7NgZjWnlz1DK/IYacn5QpDYw+yUcBFcQDrNIrKsrsSXtjpNYn7QtbOccIaJeIJcSbvkJuOiiNE069ZLWOkRxpW1wRXVZwGMmx6icseWNPQHrIajl8jTC9vf123gzGdbyr1CFsYaXOuUzEZ6UfzoiCE0CDxjpefUrevAckh4d1D4Fk43BQ1AUbChz5RAVqjCW4DWwgOKIZK3ISmhI4MEDYdARYAUzApEqbmiMjUQHVsH1H40RD6Il1WwCxebvWAOJ//+uLcxc7dViUVsNbbmO2gCRp7s9P5rkfnSi3FTwEh1UuMtMVWX2KkGGYJKoXF5WwKofAIWaC2JOPz4snr8J4gbx50Qrv4TBMxAR4ingikkkSAWUlQYwQL4h0wm9annqx+EAcxHvLEzQOWREo5nzYGMLLj7DEISgy2SAeww+gCo78KB+l9vXxZfKLHp9R8A9lBAyoNMZrQbRGOqHslibtJD/iJDrSCmF9ur69KB/AQviQX2K8J+X7agBEYt/TtrQfC4nFHO/pP9o59E2Is1h40uY97kF9Q5p8CM8+Q0h7sTQT/ULZg3g0vLMxph/4bxRnAPHJhY45bddIvr9RirVVDpgV7/RFg1XnTbqK3DlXXyVFAQiwBiUAwfG+K+KUx1xUN1ANcxJrPPMVSZpEksR5JBVoZS1xy5b7brWAv1GO403mz9WCCAbjrUBYA5AytoMLhDwQ7BAGzhH1ThYCvOP4b8ScIS1b7GgJQHj2erBBwFaCfAnPHGLRwPvET3iHxlG21GLZLF4IEoTHjzRZ/HBkDHYGiEITy064hY704a7RuIpEIgnlnTNuGGM6VGw3ijOA6O0fnMtSYyxWoY1S0O9UOcAEiLRhg1/tzs5IH1ty7OysjDhAsGJCfKKOe/zm0cA1F56Pn+K3UwjlDM9vh9jyeQJbYFz7PRBFiCoEmpXy/QAC0R+2EByRglor+0qcfYU/J/6yD4YmEeO+tfW2NHSkbal9Kg5H7JUKKdo7xMMIjfwgtpwHhuEcLKNdOCSuGwtm7j/AgI59M2wZKBfAMyw1Wc77ShNXgBptlvKC+HtxpL+/GbChnJwdduH8BffmW29ZfIzyAB80nbAEJx7AhYYSZQMgMKRrkeot9g3sq7H/hfiRMBjs/cmf/MmGGQUGEGrwOZByJQGCxqYx6CQQHMd3iFpiPoTjN+9AX74nvsePMAvjhRYkj4DapJEYN4TZjE/qhQv1Y9AxeFl1BQ4iAMRK1Zkc7XRRy3nj/zFYZOzo49sJWI0B3X2KTxzGCY6QYeyYxxL/3JMG4y/WV/eLrhGtPO8d1/cL+yT6oxG3VIBA3fTjjz4SGHBuV5apkEJYr8hYDmtkiCh6/rdEYFnhMycQ0+GHXcSIiDs3vKE4cfHiBfcXf/GPlE6m7jX4r9o/qrTTepubm228kB7A0yVjspdfecUI+YcffGCGdCgwdMhfAW28sCeFgRv7RhjxvfGDH7gvv/xCQJcqbuCOrjn9O3YiMNeHwplwvS4gw/4Se1uIJrEIR7V1u4zbmlQG5i/jgtvvGJPQYE4V/rM/+7MNMwziAAEiB2IUJhCTh+/484EQhWdg1RLfJdbq+vXrdq8EfrBiDBKs/OjIQNBIn4FDo4HgoCfGHCH/sNqAHeM9DUqckDffg2ohcbkDNqQdykpYPpvN0a44ntRztQGC3GDX1YCWJ3lDCP1ewr1El19hHNBXob+Is+YuNi7ZP2CFGcYj5QhlTBwTfNd/IyqozVIX2jcxntWBQFZtP+7DPPDxpa4aI/hsurN5Tf8k5hfCWd4qI+IVxu930S0XIKAXAAWGa/v27dcqPF1XfDbZ7ZFYRdfU1NpxHBirARCMU1bsAAFnK1VUVpg19OVLl92Pf/xj4wAACG5+g6P45OOPTcuuRtptAARGbm/pJF/um/7ZT39qdAS60nqnVVprjWYHMSPA4ggQ7oyGzhzSkRtfffWlOJpc40KOHTtuIi84HrThzspAbnvtdru97vLlS8q30biJ89KY47iPpps3bTxEIhHbKxsY6JdxYKEdmfGjH/1owwyTOEAweDExpzMx/AAFQTMIOgjIBMAvrARoXCYEiI6xBgScTqXDYKmIQyPDDiJX4+Y30oLYMyHDd8JyZR7sFhcCNcrEHHaL8tDpOIg/+fGkfLB3sG+E4zdp8AGBKQ9sHeUkHwCHQ7tsom6YZn94QWhbHM81AQjlYwRTG9Wob0IQsQ2gH2H3TfdfM5HrRNlcpX1RB0X7CEvW9XKBuBsnqj0Z1Fdh8zmiAZVaxgLjCDk4Y4QxjHyaVSeAAnFHNAEaoLIKIccfTSVUVRn31JE54bW2ciwNsVoeP6ziSe5mU5MBCqq/LEiwBCYuq18DC4Um7++iWw5AMK44koIziaApnFVEG8I50wfQGGgI5xupI20s0qa0LTSDePTb11+fNvHT93X9KGIpxgSiJ2gEC1LON+LqUSyVoQ9YRzPmERmFBSXA09TcpPwLLD/CogkHKJDmgGgN6tz0cwAr6B/xeUL3UHn2N27qXCTNE8YjdIz41IvvLJyZZ9DRAvlVi9ZtFBcHCAqEPjjEF6Skc+gICBQNSOU4657K08igKB1GHICAMExWGp8nHzqRit8UWu7cudOBllwrCjjQgDQs+cDy0WBsOtFYEHni48eAoVHpQAALxEc3nQ4n3pEjR0weSWdAADgZkUYHycmTTiff0OkbpeEfVo71AQiJsQQGHLVtR10LILjaE6MyylMgNVdYZSYF99ZWVVWaDn9NTfXDqrNq7xknlC0ABOMFQz/GV2vrHY21Ylt5IjpjHHFHA9xGagwIAIimpmZdTzpgqryo6nKBEE/SABQwGNypi+UhdBACG0sLAOLS5StuUO1G+hyQhq0D4RnrOPFlWwChuUjb0Vc8F9ukDrQjjH9ru6R7xXOEwTG3Ex1ATDzGQFgoQoQBDhsfek+cxDwIz/uQVkg7LCi5mhNNPGxZCBvKRfkJG34vjJ8YNrGM9l3paNVgnI9fBvoQxCEdyrNRXBwgKBynBELoMV6CXaORaGjETzQIRJcJwqocPxodQg1QwH2AlHyIT+MBEKAiYZ5++mkbEFyCTdrEoSMBHgg6oAPYEMfQWROWxgJ8SJNVIMAFR8Jd03AQsKIABOUEPCAAhKOccBe7du2yPAANyr+ZXBh4PGlLwBSCtVp7EORjK2o1EqtwVmEYsjGQsS9AphssoinPoO6SxrgNu4hgX7Ae7QuxVxFtLOqbPRlXcD1cysOigTZjLPEhLA4OAvEQpJvwjDPGM+2sprBJCqcxrPFbojHF2GKc+TSY3H6Skz+OviE+jtVsyI8nCRJ3PdvJCrZOf5bDQaxTEbeyvU8LxAGCAXxFJwJCjFnVM1Fg5yDmsHx8R8zDRIFAsDJiUjEBmBAQZNKAgAe2GiRkcECcgx+Aw0QCIMgjoDsTOXAOTDbYQdKGcIUnoig4lJMnTxonQX4AFlwKeVBW2EDyIg6/iR9WKvdpgw3pTblxPNcCIMgLYhfy5fdmccHoEYBLkPssXnwBBBuQjA9EZbTtQ+MsSEnDzi849AWR28PajHGK6Io8v4tuCyA2b6//5Cc/cUloMUGgw0APq20mD4ObJ5/gj18g2lSd38QN8fkdHH78Dn4hzfCeZ3jPu5DOwsmEP8BCmERZ7sJy8B6XGD/kbS82yZ/Qljyp02pzEDSLsuIvfzalW0rxE4am1dHXeXnVXW4aC8MvL7f1CM18Xbl8twBi5dpyrVOKcxCIeDYjIV3rBlur/NYLILyB0VrVciufjdgCYcG2UmVbLkCwIEIqwKIICQG/A21iXoRFYfgeyhnmTOLvxHhIJticxr4BsSKicha9iemFuod4Ia3v6nMLIDZoz4fBznOtOIgN2hQbrlihb0LBlktMFsYP6WyU53Lr87ByLwcgkBIgpkZdFYDAQhnNIoCCdHiPCJnvvGcPk/ZkrxOiz0IXcTjGdSgYUBfEe3a6rwr65VdfWRzSY78V0Ajib/Y12f/E6I5N6S3n3BZAbNBREIgIzy2A2FidRJ+w34FmVKIGzFJLaX2qNDaiQ7IEUV1JkFgOQLAP+cEH75sxGgCANl2xDm5EKQYtSjTndu7cZVd5Ykz3T/7Jf297ob/4xTtuW9U26xf2mNB6PC1V10ikzqyhAQHOLUOZhXdYQdfpHQo07Fvu3LXTuuOOlG3+5E//1PLciP2z1mVaEYBgwIPsPBlYQU0LwsYHNi4+4JgYJt9cRMgZJo3SwDEBkYknSb/9u+ZoS5wRE7UDk4XVzmpqMaHeek0GjkwgjH3oU+53sImqU0s5/hrbAlRD0fPnlFfC0KF+z2fOtJt4R7+jJYR/qRQaBrQ6oz85XZXxEOqCZg/2FxhDcaS2aUpJvZZzpsiXVSFjByLD6pAjwGkTtKy4CIXyeU2mJCkloMaqO0t0PLcC2aUy2HLgNyh13VGtMlkdEpc0M+SPSiontvryW5M/9A8aUheuXNN1k5MiShWK7y9noV6MfWxGRmInzWKPkao6Bn+6lbZhDqALtREdYkbaIz5nH7OQywEICDgWypzme0cWysTFyIwnavc7ZSdFe54/d94UZV7StaKMwTNnvjGFgY7ODrs3muM1PvvsM13necJhcFemo985QgMuge9YP++WwRr3mnAXNKra9F+z7FkACO5v3nIJHETYpKaxaShc+M6E5MOACc8AAoRhIgcWjxUA6qWEw2YBf9hAwnMkwvTIkJ3smawOnNMKwIi//JnQMzJy4dTPZB2PjCHSLESxp8NlVtZqKkEwYxOK8HzngbfCEl+jmtknf0095cdNUPE4+raZHO2H4wlBWQuAiOoY7N+//4H0/rcZgeBYbojdpNRF0QhDOQAizQXpHBfAGTvNEgXAlkNsIf5chJOjuxE44prjBohz6OAB2bh02zHfaL5xq1e2wnBtIh1IHUn3yrXruj8ixzTiWDHa/QkKx3HgdpxCaYne66atWY1RAQj2GYgTOBIcA7Wx6Lirq9uhO4yv2NWOHKsNgHB3BXYOtCH5YDTHuMTm5sCBfa4iJou2Bl/CHy4c+uSzL22clQqwKspKrL1uNDVbX1XJkhfC06k658hQCgDca/c+5NowpT+D5lXIbjnEeDlhQ/rLeTKn1wsgoBnXrl0zGyfAgP2CGzeuu/379htxN7sSze8O3fPBJU5oNFJeVPQZW5FIxK7krJUVM+MTuy60MOEU9u3fZ8exc7YS46ZU44nFDgfzQf9Qt0d9+5VXXjEty+W02ZMaNs5BQMBbdAkLSI0KKqsuWC86BBVWGp/JzooOAMFeAaIBqoP6xOd3mIRMQCY+nYdqLB2XJeTv/eqPLiVDN4zphq9p3bOaWVljoJEiwBhpue7ScqVbX1TiZlgdym+09abLbdjrZnXmf7LSmdWBdYBKsvTv04vL3NSg1GbHddWo3qcXlrjJvi6lneuyq3e4lJy8GEhsvu5ba4AILRTsCsLv+z3DYoH+5TgOs7S+X2D5h/ALg0xoFc75NoAMltkQVsYbK33iQEy5WAeuJGivLZYW7RW4EogbvwmH4zvjmvG5kFMIYRaW60G/mQs3mmSMp7lQpXsmAAH8EDvxAeRIF8BF/g2nwCVDzBsVxepE0SgvIAeXwXzD4cd8CY7yGseBhyL5Gnk120cpe0j3Qc/1BAjKFcb+wjIm1jeEWcyPeHF/NbhfavnUgn/i+OANAMLhfxW6oxpL5jDWfKzv7t84QNAEGKrV1dXZE2tlkJfByXc2dL744gsDAlZhWFJjM9EiUAEsME5jkhAHUOE9mginTp0yIzmzoRC7P3T1nHEO/Wc+dxlFpS6nfo+bGuh1afmFbkbyxtScXJdRWilAGNdAmbXwWVW1bqytxWVV17mJ3k6XrA2kZE2o7Jp6F5X/yM3LLi1PoFZSIbAZNA6kYN9RAU2p51A2Yf+GCcCTPlhtDuJxmmjhZFtOWoH4MXH5kBafQMhD/fkdJvf90n9QOXiHe1ga90s70R8QtcuA5OltKvwR0nBDuJBHLEv99n6+fvMAYUBz46ZdsITo46mTx437ASRyNA94FsgYEe7Lc0hjIlypNh/37d0TBxXLdAX/rDdArGBVlpwU84uPSTo01sL4W3ICT2jAOEAwgWDTkD8jJmJFgx8aBbBfNBjaBHAXiIyMVRcghPdwFqAuSAxw8D5wHgDFsWPHXJbkzNE7zcY5jHfcERBUiAsod9HbN1xqfpE4Cxm2SXwwp46aFVik6PCsyd5ul7Wt1jiHie4Ol1FW5aaGdZyHxB4ZRWVusr/bTUs0lSFwACQm+3tMTJUpUMHPi5k2X+8FgsZzrQAi5Ln5WmvjlzgRNOhPREw8EX1x3hCc1M7Gerve1AiVuI0+zUPmFJwHc4gjH/I1J7jZD/HZaq1yv4sAsfFH0PqUMA4QDGBkf6z+AQkGKYMSoOAYDVY4kUgkzv6iJsZAYhWEOIkjLkiD3wxo/JAjg8iEYzAjp0YcBHHXmspNDUknWZfIMPDZwExK0dWSoLjETBB29ihmtBGq2aSwAyaWmpvW0eHKBxET+xkp2RJFsKEZHTHxFOmzkEsrLDZOw5Zv69O2j5VrINZrDRBh1ftYhd+K/K0W0JC1+UH7BoAIoPGtwDEP+j6ESfx+v/Ar5b+RAOJh9U58n/j9QW2x1HCkQVhc6Af7sUp/Hjevx42/WLXiAAGXEFxgr0JDMmD47mWoftAmhvEDfl4EEApKejRsSMd/Z0M5lpNAQTvXRvCDHxNJFN8HiHWOSRFjZ954IawCxd4pA4UNCcb89WDzyb+L5bXJHqENedK+ADYiBwCb7/gBvoDwWgzeTdZ8G7a4DNulAsR6VWKjAASLTcoSzsFa2B7MDfaWmBPQIyQW7DMxLxZztDsfpB2kCT0LjrT4BLoW/Nk0x488luPIB7cwvQelQV2Yy9RhuS7Ui/xYjAe6u1idlpN2HCAQCW0RmuU03eqGpWNxPOn8LYBY3fZeq9TpVk88ZC08OeIGRntdfmaRS5rVpFYhUkTcmOAtnd2uUBpcKdqH47hxNADZ+8D4Cy0xGxfa0IcgQBBZP7V09LvS/Cxp/03axjnElTmNWqg9xaGzaf4wt54AwTiH0PNB04gP2mYshNA+w6HZNIEIWvU5q9OhDxw4YHs07e0dJt5GGpEXM6bjHgcuFoLoXr9+zb5zyGejNKQ47w2woA3ZQyVvToDmiQSENuOuCDShaGMW0bQNZWMviIuDsK0IwETZiEc4RO2ohXN5EXUIInjCQmtxfKde5EeZORgS4KJc5MM4CUpDLA4Jh4QH4ES6wxP7DkCM9tCK2A7W5Bri0PdoZnEHBnlRB+rEB6UQXF+fbsyTwlAAlqgkNmjdsQBH2+udd97xZzFtAYS114b5swUQG6YrVrQgASBm56bd9Y5L7ldnfuJe3fuWK8/Yrjslml1dZIdLE0H7j7/4g3v98B63vTBHxmKcTjupSc+qdC6u6ouaZ4Y0/Sory11qepb7N//vh+7vP6cj7icGDEQsjiZ7jrSqAJjamm1GkB5WofUECAgsN8pB5LBb4MpP7psuKSk162oIIkepc5kPN7F16pj/cinQ7N2zx2whOJ6+pLTELt+5eOmiEUIuCqqvr3e//c1vXJFE4VxmBhHGD0LbLmIOoHD675tvvmXqrl988bmOty+QPcuoKej09vZYHyBahyB3dnjVWO65wY4Co726ujoTx/M+TSJwjPqee+559+GHH1ocCDMADbBFlS631AFcbTo6n71dgCVTH57YYxQoL8CFOyWwuYHjOab8SOfX771nYLIjEhG49Vi4oqJiS+ec9pJzpQXIhUUA3FHt/17SQafkgSo67ceFR6T9yScfG5hga8LR+Jy2jYr6UGxL4bzqZof1bQHEw6bN2r7fAoi1be+1yi0AhPgI1zfa467cPed2Vux3ydMZWsUl2YUxU2IHPjp/xe2prXJFIg5sVrPCYw+PVSTiDlaXECJWoNxdkZSc6v54ptkdaqhw2ele3MIqF66DsBgRQngwgHyYW0+A4KoAuAKIGnufI1KBztYKl5OmMbxEq4t7qHkPkf/p22+bVtczzz7rPnj/fds/rdWK/7KuBpgV98UtcSjVHDx40Azn0MjErqJS149iiAfRvXb1mqvXKhtNS8KdOvWpa2m55fMSYSafVnEdHG9fqBvlIiLKEF6MOuH20P4skj0MgMM1qS3NTUbo9+/fLw3P7e4Pf/iDcUGndcxHgbgKuAKA7sSJk7rP+rzuI2lyxSLOadLOBBRYxY8MezMB+ipVedD3aM4dP37C+vPLL790x9UGv/3tb3Un93YZ/e1xP//5z+xoEriGgwcPKY1hu2OHBQJ3laCOPilO5Ie6sY5xc/XqFdMyJW0AgkuvADXMGwAJHGk9NkBAzBhUPEG3IANkYOIfWBvYFtugVhg2ljGKQ2vJthA0OWzfwIr17T9sXiuAxYm/JT01GpvbODa1k8VGxfcw4gFjXxQeVi4Y6JnGlMqXok4l7Qc6y0uGfSrztzSjSFd5h/onqaOtvKoY35fjKJ/4RBsE1jYIHpQGhGE19yBmREgGolOua4ib+CSvULasOuNO5UqekIyUeoq1nspEJEmz8QexCX2vokLkstNcWV66XcsZj7/1xVpAQ8X6lraancOGxMuqU5Lm2X8FsYubWG2mChjgHAgfd/wgITnaH/Bg8o9PCjykSs51qGGBQRiCoghCf1p/4fkAt54AAfG8KjBAlIaFO8SRS5hY6Yfb5RCz3JX9Far3EDNWxtwOx6VhEF7ed3d3+dW8jCQbd+40q2lW5YAqYjziAEaslKlvpYADjUzurcGu67wIN9wC7QVA3JI6f6G0M7FnYaXeLiNQDDnhdLgQjfQqVR4u0+qWISmiJziSQ4cOG7ih+EP5+CAyG5fdFkalxSorIi9EPnzIi3JhJsDBgoBknYCHaw5Y8XP/DaK2D3R3dtW2KhNhcbMdnA4Go3Ag/f19Arta43jgLmgTAK+oqFD0b864B4ANbdXTp7+ydsRynPu09+7bp/rcMJEU4rFPP/3UAwSri0SCHog+xB1/PgzEMPDCRgiEK8jEYGnRdkK+Rzg6g0rROIRH+jne2eYmZfeQG+HsEwbyrPPqq5WMdjUwBF7+SjdJgx3wgGhODWEQJ2Onim0GLkY8VdkJGcah9YRtBDYROdsbmA33DH/TiFI+ANDUsG5LUxkwpBu9fdPSz9t1QOH9hCMdD2JKQ+Ww2cVbARFlgOCnSSUXIz7iUE5ACkO+8R7ZaKieuZFdbqT5qsssp6zavFccazcRfgMz0o05r5WlMIAlIKu0JjH+G9NVn4N9Lru2waUVe62y1QSIyelZ19w15i60jbj+YR2Ili3ilEL/+GZIUt9WXPnMlZz9yPXvPu4u73tdEzfFZWeo7KpLe9+UKymQnFar1x0lmW5XleS+aff2Q6jzk/SkX6dmtTBRnxrxVXsxT/Rr0WrSnn4usSk6qT6PCnAztACQtp/GOY40mchYgduwVNpwF+laVLmxCY01gXi25Myp9BHH2Hi9fQBlJdx6AgRtE2gK7Uj9aErahEVIKFtoJ/9+HhCJgyOdD0VEAcZDhw6JiyizuNy7DkDQO7Q3tCssaImHyIf8+ZBnUMzhNxwZbR16Foph5SUN6Jv1uzzVX5QTx54CF27Z3e76DY1knJAnABL6jvDkRRrkC72kbISnTDzxB0TgDAAlOJZs/SYcoAE4BJfYDqRNfPKE++RJGYgHICcqAfAOuk19yfenuqPbOAhekCkvQRwigc6or7LBQQTCkBEVAeFIAIRjg4d3gAzvEVeB+L5T/f0NbJSYHcStGxr8Uo8VEQQcUrJyTJU1raBI9hHDRuw5cmNOjZdRVinDuC7rkCSh9djdW2YMlyXr6/HOu5YO6q7J6WpA2UOMd8pI7+QrbrxbbBGNrXfkBdGfFtuWlqczd7QaGWkSeyggGRURz9q2w6UXFFuc2Umx7DK+43gP4jFJU8XeAgDTAhY6HiKekp3n8ncfMGIPyEwqPyzCo3dvixvJdsXHnzfjPVRwx2T3kV5SbnYcM1FdwFS1ndFuthypSmdS9dOocKkKO6sOg5uZnRIR0HfyxVo8szpi7b+aADE6Mes+ujTo3j8/4EYnZBEsWpWRKr377BRtpM643KlR9/3f/ju3s+OM6y6qdf/Pn/5bbQymuooire7GZl1rr+xgBCileanu6V157pUDhS43U5P7CXdT4qg6Rzq1atc91FmFbmBs0JVmF4uwQYRihEsUJQCGut6ISlKSFlZjzW586CPn0k+61k5k7iMGBGwScoMfK0Jk24AEc6tOK9TpL6+46DfX3NTrR91wLvcwp5kFekV5qc3HlWjuQIQN8FYgQYgQdAGiBe0IxBBiRR6BmK1UfitQ5K0kYi0QvzCI38jSWP1//fXXJtfDKprORDaH7A52AyAAAIIlNcfyRiIRAxMGAYCBzA90Y8Ppj3/8o3vxxRctfoYQOCqAwGIa47iSp1913Z/8RvYLBS5VRm7R202yghbC6XfhgRNuTMZ0A+e/tKM5cut1sJZsHAARCHS67ByGLp9xOVqtj3fpkno9OZYjOS1Dx210W/Wyt9d7AzqstLUi5wgOM8YTMMElTGrFP3jpG9liFFsczm/KEmcx3n5Hxnc6BkQcAOlifJclIg2HAqAhxoITANSGLp+VtfdZAdNLArNuew9A9H7xocsUwA1e/Nrl7txn6WPLkVu32/Ie72gz7gL7DfLFqA+jwIJDJxSvysB1+MYlA8y1AIjxyVn32fUh19QVFeusw/Em5lzv4LTbs11aGgKPjDndO35TdfnmY3ej4pCbful1rcQQf3CyKathNbkIIRzEbnEPu6p0HtMTwEFMazMZ4p6SdC/YqcYuOj3mBieHbCExNjPuMlMz3Pi0rKDTtEjIkGaSmqRnos/GYnFGoctM4YbDBA5iVhvP0zqbLDlHbej3Cyyw/iB6AnRwiFvYqEzT6nUuqqtNR3RmWaEWFOKwPYFl89OvPi3CY/7ZAojHbMAnKHpczZXVPpbUEHfEQrA4DBSIPJwCKI/MCu4CS2lkbgAC7wkLqwV4IGNDdhfYItgYOBDYvMBBwCGMtFzTKvyQOAlNIA1uO2tJnAAiFlbvEGdW7GNalUOIAQ3OYZoeHTKCPi1iC8GFoJvxHWyRwIPfcBOsyOE6sLbG8npam11p0krIrq3XhNR9xDqSY1RnPxngkK8mJJyG+Hov5hEosHpHZAVQwZEAKhwDwqRkzwFQG7xw2rihvN0H9ZQxn9qKeg1c+Mriw42Qd4a4CDgbf4xI1EAta1tElEBiJ+XL2VTUjzLkNu5TG+je5ytnVY88l1mz+hwEIqb+4XHXM8RZV5A2qcyJmKUk+b0FdbBLCZwNwkKxtrDH5mgPvWcMIQrJy0rV5qpWtxJ5QOhshah3nFOEKIbfYbVIHP+h6f0Kk+Mr1tPNaG+AD5g3PoNuuvTgk7Xa9ZW1vxJ4uNFpqTsmefFhRoo2ESVqIt6UQAVBRFqyzi6b1XhWHYsEEKkCGX21uUI7eUcu4TtD3n8nTnB8D/7mF48i6JqPGoI/9nMLIB67CZ+YBOIAwaTFkpr9AjZ5GCQQdog/XAKbJIiJIPw4gAJQAAAQJ4UNHURRpAVbSVhWNgE80uTPURsQSkAC2T9nMDH4ObnVREwQdgENVtLsLcwhahHhtIP3FM4IuVbvdiqsygbHgJuW+IbZB5DALTBzED2lwMZC+Bc4k/UP9JkYJ1NHfgA2lIHjOvjOWU/JEvek6mDBKZWFsiGKSlKe5pjAqs+0VPEQTSG+YlXJngNiJkDL9k4kSgPgABdAEG4FkKOs1J39BkCBPY0ZcROADocZzij8wLkvTXSVIfEV7bqaIib6u1O69xPKF/1u5BpZqn+PNsrQfAl9CJGfUH9wwByEy+SXInCUDbGIHRMu0JvVxqppQoiAQcNStNrlpEz6Gr1+QAC5LGkQloPvcA11EY0b36fmsQ5/IPJwDtBhSfet/DMCOhXd/CgSdYKzSNXmsm8vfL0jPm/ZhOYdnyBiIgRtjbuH6JvPxviDrJ/9jJUq36OImBgX4RMWFPy+n6Osie8Zr4nx+E0Y/AgX6jb/nfzm+yQxLfJMTD98D2FIExd+h7SDX/gd3t/PP4QL6RNu4Xf8cCGtxPcL/UN6FuER/8QBArWn4EIjUggyoXH5HhoCv5A5/onvQhr44UI4+64/thELIfUvFcAPRAtPnFjaEFe+m0vw9x4LGohpS3axcLFIiq6O8xmFaPNPhQVsiOc3sUnDE3jzV0gf36+O/TtPFixN8pNbWG7zpNyWvk9TFMLymU+fyLQtg1VlkPPffXvrh/lbW2myzmkArjpAqL17dbz36IjAVQ4ggAOwjVMV11QMpWHRLyUE+hQijnZNgbQ6IACAA8252csoAABAAElEQVQPQPAdgkgYRCOcaooqJo6jt7kbgnhRxePmr2HlaSCkBHZsrzGZugVexz9q9SXlnkj4lxRBgRgzpimmPGizjeLCdGOeJ87bxy3fcgDCtw0b1VO2oEDNcu/evVYEypUIrpSRMntA8/eH4IdkA02kbdu22QKXxQvpEB8NIuYSC1/yIj0kH7Nw8pqPYY8kAEp4T7rE4z3x+GAMx94QUpfgR5iwiCYuv0k/lIt80VJiYeWN1eZsgc17DPp4sjfDwpvyEpc0SJ+8cYl5BZVnwvOe/WDSJX3yCnEs4iP8iQPElh3EI7TeKkZhEOB4MlgZJKvJQfh80N5gJe81Yzy6zhMxxCJMRv6xKkZ8lLh48GqxgGhwfiJ5ggPR8eIVLuwhDZxNOKXJxEC0xT/ywZhoXgzj0wttQthEF/zxW/guMdxG+U55qf29tdgopfPlWMl2XA5AILJGxRR9fTSDkE5A8EijWgS/u6c77ldQUKjvI7oHZMxhMIakgzGIMdy1a1fdW2/90ObNGdlVDEr8W6jwLHzQRkKFs6mpycYk+66trXdM3ZO900uyoUDMniqul6tKWTx7Yp1itgpdUmPldF2M4YLkpEtEP0d7s1gmV+lmO/Ztb91qkQhee58i9FxM1SFLbxy0ljtVeAIAPaoTEhkObGQ+IMXhkqPDh4/Yvdmcos3lWNhqoB7Loamc9ss9FrQBi0zIBX3GkeXcnQEgYmDI3TyAyKO6LYB41JZb5XiB6PFcC4CQPEz5SDd7rEUiroiIvz/PBTGQraJEsHkiKmLAM5ABrdY7dzVoJ1x93XZ7z6RhAlJmNle5FKi8HDVdTUzFZUJExUW06QRTDHRKZGAEp4E/YqaWFnTCs2XtWWJ54I9jVRi4GQ84fkLgRxuh7sh3e6fw8wTYk2HAjDA+7vqSZspJ+6xvKaxZF/0DoVnJdloOQHAV6C9/+UtbgGDdDBG9GLMCRqsLe4dh2StgA4DdAteQQlDhFlhAlevyp2FZUyMVeOmll2xPlDtrGLM8sTNIlyIMXC32FnTCD37wA3f6q9NmH4ChHJbPlSKuX8uqGK1ORKr7RHQhtlhhE480AK66OpRxho34c7EWdS0tKXUvKu9vvvlaHEuNGe2Rb5XK+MXnn7tIXZ3DruLFl140GwhuT+Q+FZSDsK7esSNiqqzfe/11A6e//Mt/b+DW0Nhg/dXTLatu5UX9ibtr506BR73VAa6hQYD3kZSDjp84rmNIDlo5F+3oJXhuAcQSGmk9gqw1QMxJo2Yiqms0Rz53M2kvu7ZOqVfKYYCTow30DBFxVkMQ7MqKMleuFREiprtSSiBMqVZtgAHnz0DcAY1LslCFKHNDHVeVFkmxAavO3t4+7WkNCgDgKpJN/FQqS1LC3GlrN/Ya4MAQqbS02MrR1HzLbpaDcAEonqXmsELddMcejvwpB0QXcABQADFEABAOjmBAfFWhC35Md95SXfs/lA1wiNtNrH0RHpojC4H1AgjsqCD6EF+IOgSaq20BCpRjWNGzN8o+KUZu/QP9pjBTVVllIh8slQEIxsLzzz9vHAaEd0YLFEQ/Qalmm0RN7TJ24zgNwAXwYJxA2NHmxAiP+6npL/oKTgabA9pmTPunRbKo5r5sLKvhFBobdxrXAdEmvVLNgc9OfWZtzTjkOBC4DOrDyp4VPuUjD8AMjmVQ+7x2Ba4M8XpkYoC1OAQfS+wCgSUAc/3aNVe7Xbc5an4hTgomCXAsHLExJg5j+3YZ2UmhiPS4khVwelT3WAABEWMVySewpDQGlYLnYdOXzWCuEKURvB+WzxJhCPkWc2gwafnqw6tjjAdUQOTx5vDDKX0caS3qyF+aRogsYMFMQ0gbwWyAQ5Qe5kwrR/FNsynkSSTYOZWFumFnYV5MKOqcGM7ePOCPymd15Ul6yovN6VCftQYI4yDmxlUvWZbO5YkVp7/8XkTYsLRVr9qO/QKsWykjZ7vQ/+j9G6ch7oH+5zuTAVsSCDq9xYSH8LCfwSRHjROOBAIP10E6DHyuFOV2OVtZyR/Hio949H7QsqK5AyHDn/LprT3DxGZcUk64E25+C7r3CrguTkUx0RzlDX0cVuyJv0Ph8Ev0D/XhfZhzIexKPdcTIBgDEGMAHnCn7vQrexLI6CkbfvQ7/nwnLAAS5Pb444f4h+8Qbd6RHr/5DgARRgmYPyDEPdakw7jFkRccAcCCsRtjPSw4yJ/FEmJQ7ihHDGVll4gsXwshygXnw7lHHJ/h7ynX+UsqA46wEG4rg36HJ/VEfEQ5yZd8AA/Cs1/H/p6VR+/xpx6EYc5RVus7jXnmCmOd/IweW67L/xMHCBIicQpCglQwfF/YKWTDJgjvMRPH0aikwQqAy4HUoqai6q2fqz0oiIiMNF2JWTuLjZUGEidP4iDEaPpAmKN3WqTmWuVVVRkIYvEgvqiMpkvjCM0m1GO5Qc4IhuKag2Lg9AAYMFwDmFJ19ejIzUsWPrumzoOWBoPJ7lQHs25Wff3GuOIqDppMaBVlSN0W2wl5mhaSDUhZb493tbu8nQdMrXVUth2ozzLYIPB2/IfSsONEKL+IP++wug53cQMKZteh1Qj+E7LlKDr2vAcaVYF8cDwZLLT1au5BWGZr+MfXT70U67I1zHpds6Jb6U/1rJ3eyaSGu+EYBAg+75j0yNX5Tjv5z6xNeER+xOEcIBY6nE0EoVpJsDAiw/hdoc6hvBBACBkLSNLnGcAaf9xK5WeJrfMf6kj/UU/qtVnrFgcIBhlqrhAhUBRiz2YMltR0MASKytLRAAhH4FJpNpSQ+6E1QBo833zzTbOEhtCjYjpw/guzA8iujjiMvzKKyzToJROWSipEHw4jXcdXjMkSmlX0pNRPIcppumOalTkGbalSI4Wgon7KJUIzOhfIbpdTWGwMUEXlTmostFUw2SCUmgqq+EOWAmaRzdWlZpCncln6Uj+d7O81rmJO9UrV6ZAAAwCDqirlxyCv6MgzBiID57/SvNbk1so3Kgvq0udeN7VYwCdZYhisrTPLtgmYtFlGnaTSCjiN3rquZ75UWrlatcjNCfAwFqS8TH4AiSNDio8+ZwDC2PYE9MkFiHWev+uWfQAIxn93d4+7Jpk2ezVwWnBGnD/ECa1dEjEw7+CwSjQHIThwQYj5wFRECxxlfejgAZujzM2VclsAsVItufnTuceSGmLPeeicFIgcDUtq2DHAgN8ff/yxgQMAgiU16l3I7vzJgFdNFsgO+70Aker6Tn/s8vccMsKOlTNEmiMmIMYQX7iCIVk02xEbiJg02IsOPW0WylMCgIrXfuQ6fvu2GZ4BEkVHnrWzjiDMmaXbjKAj7il9/nWzj2CypSCikB4/4io4E6yt+8+cchzTgfEdIJK366B9n9YZS7niBrJrtDmk+63z9xy286KwcQDAKGOyAKP3sz8IxNrEATXq/Kh2Awju0KZ+GPZx7AZGcsPXL9hNd9hxAHx9X39iwAdRgIMAnAAIrK+xzEYMN3Dx9LoDRHy1uvnH9YaqAdyshpstqAJA8JsVZlhphgKzmubj/QUaCscBcNY3Cg9I2MpbaSLe8GKOlVvtU44tgAi9sfWMcxAMQCyp4RjgIhikcA2sYhAn8ZuND+RmWFGzYcR7AASAQMUM4EDex4mInKUUbW1GSOy6P/6Ny5dRHOcVcVAeox6CblbM4hgADOTxiHRSkDNiRCdrYs5MMotlGc8BDN7KWZyMuBvOVsJRrhQR4hlpEhQcPKHzla6ZqCi9qMTEVExIOyBQwMQhgZzvZCClFT1sPuIdfmfvkBGgiPzQ1Qta7efa6h5REWdBURY4h8EL2uwSYUf8BaeSv/+oEf4hWTynF5Va+naWkiYx1tvZVdvdpMCHc6OyKqtN1IRxHG2DdTXHhGCtTd0Gznzuik+8sK4cxBZA2JBa8T+s+IOYIQCEqfBqHojmyyb7Xkd4GF+c1jdxbpLf+mkcBE/S0mknceDxfhrTBJQLwERaIT3/5sF/NzpAIMWgPR8mW4c+EW4p3FUAa+ZAENnhF/qN5/0ccWizpeZ1v3Q2on8cICC0N27cMHERxJ/GARxorKamJrOk3r17t4EFDQEY0AFGoGOiJ77TWAAGxDXa2iQQGDH5esG+o0YMIfgzAiD2KDjMbkZnHiHf5zymyYEeA45kgQYAQhqER3SDNTLhcNMivhZG4iY4DMQ4dlyFNnWYFgsdHAQcC2c4IbLi/COOtqAMM2LvEQelaGUPmAFa7En401qVktoBsRbOxFGKb9bb8geoNCrcrEADrgXCn6Sw/tgQbYgrnWkd6YH4iTYD+BCV8Z66ASp+v6Nf3M1nrvSZ1+L50o44nvQFbf0k7UFY5b6Df+hW+hOAEH/gxqb8WVYAAQ46xAhO10GJuCmdczU57Yk+R6njCDoxpTGhd8W5UgrQtNBPbUxqrOjlmM7V4iTeNKUBgHDoIp+luvUECNqG/HHMGdrDGxX63/hzqQ0SDVRRCcMc4cN3nP/uZJCmOS/ahKQj1D7WzHHQID8cB5MCOGgXYRcBLeP0CNKEHkIHw1xMzAsDOxQrcBwz1NBQf095ST9weRZok/2JAwREPTgaB0dDhCffgz9+oTMswII/9i7Waay8lZAisGl7b7qEC3kgf7VNYnWlxaezSYPpoFEf4pKVxdFrVkiIbewb4fks5kiHgaA8fBw/mCxtK5v3Jyppf6tuli5p+PaIv7fs9Ic0bNrG/lLdWFkoH98tiEL577F04u2hskll1DSY4vF8GMrDINsCCHpn8zvGAf0JQIi+uyGdhHuuJarLg9AEE2et/q/WCbn1ldL8U3VbeybdtfYxC49HusKMjrN57Vxhboo72ShuV35jQojPro24cT31094DFId3SFe/UpcF6QBG0luKW0+AQA21ubnJNumxb8BmBCO3EtkWIL5mYfr73//OPfvscya9QJqBFAPJBRv9KMlgi8M847dpv+k985+wPVINBTQAAQh3S3OzGc+hEQSQTKIQo5bi0h5UY7nvAZVaAIk5yGGkLNQoGxbR5HP9+jW7bwItKKQtgA1xkLjQ1+SFZGYzujhA0PBUdsttjBYIwLlWAGGES3+EU7YyZbFq90HQHCJG+m/+DBFGCStbLqbhiG9WqltuaS2QCBBaithqH5CY0mGJvEvTkh/NXo5Kp1WjIvJjOk2XtYm1vTynxSkAMHAZeVlSE9b+9IT8+oZ1N4nC0S/B5WTKzkSfNPktdXqvJ0D0SskFQzX2OCHALbIxYEMe4zHsFl599TX3q1/90vZFIchciAMh51Y1bGsyZMB2+9ZtAwOuHu3q6o6Lw7EtiEQi7q64hKeeOqn2TXKXL1+2k6YBDmx4PvvsMwuDNTThubb0qZNPucNHjhhHcerUKcW5JBuGF0xSgup2s6yeGxt3StJy08CnUjYZABXW3BwTQl0o/2akr1sAEWbSBnuuNUAgroDAdAxMuba+SVck0UWZ7nbgqG8uBWI1OjyOnNU3VK/CcrR3o1a628vW93C9DdZ1DyxOIkDQmAAtoiGA2RBBBJ6+tz2KWErECY6vdIFsDA0g4DhIg/4jCUNyBSCMxdMXOIoMAQ9xQv8R9H5uPQECovzer99zR48cNSUZQALr5lShJiKc733vdfeLX7xjx1lQl1u6KQ17B8TfrVKqQeMLUTkLXqySe3p6XUQEmlV/i6yXkRpw/eb33/i+2e4YQMgqu0N3THMjHNeNVsvorL6+wcLTD3AXb7zxAzNM49gO7nd+TkZuABdAQNq1tbXGScDNcH0n2pxtd1plnX1EYJVvFtWJEpj7tf1G898CiI3WI7HyrDVAAARfXB92V+6Mm5iCVSsr1f07pIDQNe5ytVLNz051t7snDEgQgeTpMqEjkWy3p8Yb/2zQptxQxUoECNF0Xc4059r7J92wuAj2C9Tk1v7poubsG0yLJeA6WIABbg0w4JknDmNbMde6OgdY941ob08IAdhIgmL3Ug+N+ePVcwXwNaU6ODFdG7YK/zC3ngDBNZunZfnMaj4SqTPRULuAgUP2mBOIbsJ+AVqWqNizd5Cl/UdssfhuRpgSHyFKCjetIerhGtJLly4LfJPdM888Y1wGR3sQDxEWaWCkxyGS7D+w8icN2iPYbHA3NbYoNTXVArA2SwOxEvEIw4fzkKp11hNgwflMlAnjts3IQcTVXFdaxIS8jg6lgdE68KsiWeGqARMbisbHhY7gXSLS0rGkdb+NHtJNTCMx7YdNhI38nnrheIY2WM1NaghPhzgHHKIlfneKm2gQEPAdwsJq9WbnuIk89goUCMelQHAYT6KzsaXxxzlOLM3TUvz5VIvVlbCxHlM7+fbAz26Es1V8uE5yfg9idk77CeLM2nRdKwSe8CbWU0KIiXLUrmpy168b/aZF/YtydB3kJJyCrvNVvBMNugBLWXHj3w31CyCPOCkdpFEaiJvGJmfECaa5HeV+H2KjAwRzHeUY6AQ0gfkcAAu6wIf5ED4hjBpvsW65xw9LaAg5aaCNyQkBHBeDIx81tblwvlc87Zg//UO+PHnH/iLZkh5+OL5TBzgPGwekG/vEktlUjzgHgWEciEfl6BwqzO9gMc3v0Dl8D5bXoaMg4HwnPoiJhTWsH53Ld9JB6wAgwtHAAAefoDmAqixnipAO6YU0ec9KAcc7ykc+lCN0eDgDhTITD0fe5Ev4zeaoG45naNfVBAgmCmb8yHMxziLPyakZrap0L4ZmDu8x39coUKkk/9amJ2caoWES+ouy8s9PEE8kqYM/qE9aILF39H18Uqma+JMWNWZSMSa4PIj0uNidc6CQ9Ya0mMmmNSYPjkCAijIhrcn0B3EEiVFe/Dm2g7FAenagn8KbZoye6Qo7KqtlHMchcFCglVPaKaMTOvJBmmmjUkPOlh1MflaeAFEq3yoAYTxw+DJPzciWJTrkMnUHSbY+HBcCyRmUX3Qi6mqKq1VHNGHmAYJ2nBT4oqXEFa/BBUJFlfkeo2HhtYmTABKAWQ/dYkff+D0iAACCRPnIS1/FmXgtJjgPfj/MBYJMOivhIPjWp6oQfU/6PJmX5MFYwK1UfitR5q00fAvEAYIOu3LlinUkpv5oNWFJjYoXHUyn0oEQYDoW9ouO5Ux02LH6+nqTuzEJScvYPD2R3yFH5PgNdv7JgzBoBaA+C8t49epVd/ToUbPkxigPlo/8ODALhzEelxVxZzaAgLwRjQY+lAWwomyUm/d8J3+AijSC1bev8ub4SxvheK4FQHAE9522u7oTos/ak36G1d5eU21PSBXtTVtzFhMGW9z1gNUvclgOwevRIXy0Ob8htAADRBoizwVDubmyTo+dqRTYcp7cEVEkkQKH9VVVVuhIZ1mci1j3aVwxxjhDiTEFm86lQ4QvKSkyq2LKiAMECMORyT6NHvsNEDTU7XB3dHosIGRnPbHyY3mttq2t2eauXL9pdSqUrHjXzkY3plvkeqN90gzSYWwZ+cY50BujU1FXpvumGV/TAoCJmQk3Ni3xW1qO6472uixdKcrFQnbuzsSIy8vIE/el+aLb6IqyCiQy4niXeYAgnY3otgBiI/bK+pQpDhBkzymGwZKaO6jZFIJYQ2D5/cknn9iKnM0ZVvpwCGza4PCDOKDaBXFh8NfV1RnB5ggP0gVUMMaDaENECA9otGjziO8AEps9AA6DFOJB/oAUeZE2q2jiAEwABkZ5gBnySAgIQAUnwkmH+/fvt9VsJBIxYmEF3SR/1hogACHalvPyOXyM9sfRlxBfjjeGuEKEKRsrc8JB+Dk5M0+cIU9W79MCG4CbMMQJK0QIJ/JbfnOLHMtjiDbgBK1kzJA2N87BsUTV98QJXC3kFMAxjkXxGDOUDz/KC2BBgEmLJw71xmyBFecdhfzgkro1Pjh1ljEGiBCHwwEBIwNlEXo4hCAmIMGe8T43oVNvuTo0LVkANt7vSrJ0N/rUiKvN3mZhWbn3jAlIUzNd93iPq87ZJoCQ7Qxq3lY/DxDkZwWyJ983gIu1GfWGY6O8K+G2OIiVaMX1SSMOEEwKiDfEmMnG4IAtDGINJjWEGxERH1b+vMcPcGCVj54x6TBpmcSACkAAYedOaojGhQsXLG2IPGmTH5tOpMFFHfiTN/HJE+KAvJD3nMXOKhbVMQCAdPft22fpwDmwuiUeZQBYACTKgngKwraZHHXA8aROtEPoC77jhygNcFypiQzxNpGRnrHsjdKSPh+In2i+6Cw6/IECK4jKGegdP/iNDB0/S1Nh+eXTkKcc70gL5xfzpC5/5cNeh0+Ft5TJ+9svyqYvIZyVSn5IaPCzlwSUI6SVAm8rA2H4DpEmFf22cnoRldXN8rZX9/whLbgGUvU1E1jpWtIUEX7SAwR8/Xx/+VKqHQQmVq6E1PwYlQfV3GhOdaEJsDtaqeItFyDCmGdO26JF4x0bBVtYaDCgIYRdAQuE4Eec8B36RTzeI0mAftAH4RPCWn8pHjQC+wsWmMQJtIJ+Cgui8H1hX2607lvp8sQBgoZgRc7qHkJPg9DI+KM2BmFmRc6Ki46AMBEGx+9AtHgCBKEh+U0awY8O4x0dETqKNCB2YTDQweQTOpAnfnArDDa4BvImPqBAB4c0SZ+0+FAu/Mmf52Zy1A3Hk7rSjrQP7RjaeuUBQpuasuz1FrmsqufbjG9qRpchOTa0Fb17ikj5KOk9YRUYeTd6+mxwI2OPE2TIjv5DjLOkVUMavCdccAAEeWEARuITehfk8PLx+emp7nWZyoNRaHJ8heO9CmOBApH2Xt5mA80g0pqQ3B7tIBzyfNLBnsPim+/Wn5VqgeUABPMcYEA0zZMFKOAATYKI8/z0008ksj5ui0vmALQJGsBik0Ujm8+XL1123PnAYhbRM8Z2eTqMk0UtY5Z0oEHMJYzfiIfYm3fEoRxT2n8K3xFtsodKHOjKd8XFAYJGDC5MdhqL70YEYt8Jg1/wD3Ee9kxMc2HYB71LDBvKcb8OWqxMIe3EdDbDd+qK47kWAEFuEFk0Zq7eHZcG06QryBGVlqYN7yD2Edk7lOZL5CMCe7N9PK55QzwMsngSGPuIfbXZplGD3xfXddyKnlYXvSetOmnV1Er1Eg7jjqyFr9zVXgIZiUJj/LVD7yoLdQS8vDr7p0xLB+LNxixaO3nKr64i05UVoByhfareSdfcxbHwHnzwAyew38iRSmi6qrJrW5bZd4ALF1ujph46KtuO/Srr9tJ0hzoocVbbAZb+BIDVzunR0mfO3G+OPUqKywEIiP3HH33kKiV9ACS4dwRjN9qrokJKLqJTH338kaurq3OvvfY9U2P9VMZr586ddSdOnLRyTwsskFxEFIZLhbqk3sqFQqTX3Nzs9kgCgciafU0uJ+K+kjaprOKQNgwITCgzwNSnfTU00QArrvI8fvy47CvmT514lPbYTHHiAAFSblZiupkafKllXWuAoFysqEekl98vlcsJcRKsqBEVQcR5Zovwo0bJYr93SGdkKfyMfuhhYeEKiJclQlsocMmUppMUoVz34JSBB2mwqodDKZTKZrGOiiDuqNQzh6ISC+iYCFQ0SQe7C/LCjehoiegEqp6s9r22Dvsb2ALkZWk/Q2kMKj5pUGZ+ExOuBIJPvqRJngAM9eyR7QCqouAwQFio/NDMUrBVdeQH4FOujTrfKF/gvleiMZYDEFhSc5o013ti+AbHzE1sUzq77MCBg7bix5gN8fULsmZGSeGixNYoukDwSyWiZu7AMbB3CuFvk63D4cOHzcIamwquGGUPkyMwvpHNRa3CYTAHmBxSuOamJltonJQFNWBFe8A9cNc1UhTK9F1xWwCxQXt6PQBCtMsIJkSM74kuEE4ILQ6QeJAjHEHjaSYEpm6884ARyzPhPV95H/KC4OMSs+Q9zrh9vSBM4nv/9t6/9ytTyGstuIcAEAAc7WBtoYwTwQK/lVzBJ7YCaUPwaCtrQ/Lmn/9hT8Qr6wUQiFE5H4k9zUhdnUQ6qaa1RvE40mKfVvEDEgexr4ARGuJj04xUnWqk4ELcvHzd/ywAuXnjpnEiEHT2NyORiBsXoDRKYQYOg31NRNJff33auJMKcQ+EQwGH+pMeHAfxUdU/efKkiavI87vitgBig/Y0ExkHa41Iwu9B6JIhqZWu1h6Ez8+LFS3zJf6JE5slhv8uB6NbIdDAGSq/wyPDupDey8NplyAjR+SbCBor1WYQ/34dNQEB5PKhfBFTbqdjhY4lMf7rCRArVc+tdFamBVbNkvphxbNjv3X8NfcncFQ3S1eOwDbtCRkU3c+htsjdERZOaonBmT/xY2kR5lv3SYfAepI/eUKIucJUy1kZZ0kTRZteD3OJeVGORGfvtLllSzGWZUo/fg+2X6YlBr/vd9KhPfxH1xcqnwmpg2ZoEq8GQExJfjMwEnVnm25JJl8lK94MqaxKpVXgBMGIr5pUJVRTUSKgHB2d3fp0uYb6HWZLENoDNVaM3VinciSyV/PUJrfKj3Fby21/GVVpiW7dU5tDDCFOqJnyHZXZ4eFRyYrzTSXWDOdUFgzXMDhDFZZ4XGLfrvxTJXuqkHiBzUr8kV3zJJ32ji4RvwwjxKRD+dlshFCjqkt+qPeySsURBlC2MsmTcHzXH/WnAuhBe5i/fvCd/C2MpXD/PxoOFo+EuiVOaWm5berdyMGx4cjNldqwCPeJ48e0qi23Nrl/ast/g0rxjaZmAwPsTTjxtKZa8vmhEbU1QOXvFqcvllKfpZRgOSKmpaS3FWbtWiDOQaDixeTiw3c/eSbteyBITASIBQ7tIRzhYQuJwzvCEo7BxZMVESwa6fGOlRGDjzsRBi985XLqdtsdCBAWbnrjop9w1wNyg9kp6dHrfog5GRxxjzMTdKT5qi7b2WnXgnIXQxKTXc/J/h67Y4E7IrhNLlX3TXCEdpKAhDshCMc9viTCPdfRtlsus6LabpHjTghuirO7H2JEfVZ1SxaRAWxmVQ/CACxcMjTe0aYLkGQdq8uKACIuEuJmOPIavnHR7oLI0SVEU5KF+rssRFVETMKx5txLAQgYtVF+Vj7lRbvNqGzJssYdu9uiOun6VV2i5FSXufxil8nVpsqf9oQArpSa65Ta9tzNVvfBucvuz549ateiIt8lDxx68WZhLcLPiZm1NdVWjpvNt6Sm3KMD0WrN0C2sQCHiEGGcJ8ZebFEpogcos4pta2uXbLdcBLzTNh9ZyVZUeDVngKdL6WLIhpU8dhGMMTYQ7SJ4rXzhpliBd3XpRE+Vn43HMS06sJaukjYedhEBIAAFxiHh8vJzXaHEC4zbnt5+Xfk5ZkCIJTllzVT9CGvjVGlFZZgH4aTcE7Lr4B1pD0izhTAV5WWuQOVZCkFVEjGA0H4NY1bjqpeNUPUphoK2F6g2q9IBcrQH6a+k8/NaCyI59oMoM30F9vE99B/PpdRnKWXbAoiltNLGDBMHCIg58jcIPsQfQo7hGpMOmwIGMAOG96wesTGAOLE5xCCHkAQAQK5HONTGsFfgHenjv2fPHpP9zer4gqFLZ3R5jy7oEVE14itCzHWcRjT13VbjmlHcwgZ4cD0n909zxWdW9Q6Xp2tCh3WbW5LOf8+uqdMFRTftWlOaOrOq1m6S4zIhborjnmjuiOYmN0Ajt2GPG2u/YzfMdf/xPbtmNENXn461tbhp3XedJeAgrN16p3xnxkatHNN6Ut6JLlnm5uZZGQCZoatn7Za5nB2NblBl4lKhgr1HdCNdp8pc4YZ1lSngk5wqIqW652xv0D3U3ZaWKmqXJc3CIZToDHwROW7ZA6C4cCi9tFIbwlrFFpa7TMldVwMg2Ige0wq2q3/IVRTptj0Io/qLYy6QUZvRmIgGHAXEEmINwYSoQgDQLmEc+JW4XxwAKKisYlFtxEcr8wy1Ad8hVBBYiKAtOkSgeMc4wZEuxBhOgVUveakYeiocBDwGPuGeZgCMMqFxkqL+gYMgLd4jysH5caizihSX7wAJeXBGD+WEYOJPfdkjUEEtHmXFj7Qpuz/2Q0aAKiMOq3HS5N3DHOUnPdJfGJ46LuZnqyJKsCB9axNluND/QWUgjs///gBAf2xEgAj1Tazfg+pu/aY2e1CYxLT4HvJYLM7Cdwt/h7Tu5x/eh+fDwj3sfUjnYU/S4UOdQr0Wpr3wd0gzDhAESLyTml17AILJj3Uz9hGclQ44ABoQf4xV0CFGNQx1McKwwcN57oTBH/1iVkU4NoY4cgMdZDc5bgDBXdF5uo507E6LVv068VCTelrqaFNDrJy10tM1oqzYubaUlXh2Tb1xCna3s4gLVIPrPdN09/OIVu4FB04YgZ3SVZ9R3RGdqpvquDIUMU96YYkRXbWSgKHCVv6IcLgSdPjaBeNkxjtalZaMcARKnstoMW4luzqiO6dvGJDAKURV3vTiUgvDPdR935yyG/Ty6ve68Z524wDw51Y9wGzo8hkDwTRxHOO65zqvYZ8A6rYRnhlxSeMCK8Asg+tMxQFl1URcdm29qifOquOOGWmtJkDQP4wBO6uI1WPsN/60l1FmfP3/ewYa8e438Cx+wp8QDq8wgRNe35OOaKmVg/fKgr/6MMgpkv7goxd8cMHPfsR+J75PDENYn+R8fIsnf59ySGX+afkkvE/Md2He87Hu/UZRFwIE6YS2IJ2QFvtP0xob0zryIzU9W+A1b18EYAO8MxqLaQJWuIDgQnqAXhD58Q7RHvN5aIgN2gJT11yMQ9mIAEH7sOhkcRQ4QeoJPVqsDrxDZZbFLgvZpTjiYGtBHBYKiY53qLqSX+CMWUARjvIE96A0QhiehKMvKDsLm4WO+lJXuFzKvxTAThxDIT36knwoK+mEvS0Wc6TNZj+O34SlLGH84X8PQGBJDfFm5UUFAudAg1BAjFbIgAaE+JMpIEID0VC8Q3eYozWIg1U0HATpABjEr6urM2CZ1Up88MJpv8LWCpkrQOEi/HWcWjFqtcZvpiuEeEziIH7DDUD8uc4T8Q7+TALuu54Q4Z1lVafVGdd5jrWL2GslTvwkHY0ASLA6JzxEO4ieIN6IeEjPOAy9ZwXPFagzalzuoIYL4NpSC8e90pqYKSLocxIHZW3b4fq+/sTKnFW13cqH2ClLoDLR3e7SxfVE4UzEkZAWV5fCrVDeOXVMmsRqgAKipDRdSWr1E1eU27DXuKhRAR0S8qRicRA5q8NBMBi23Oq3gKZVHCAAOyZpb0+3u6E5k5uXK5XLHaZOOSOR6u1b59zVS6dc1myay9ZibHvDEVe5rVEiyHHXKxGn7V+Icz3w6t91tfW7pSKcaiK4GzpxgKNnWLA1NDZq7nFlZoq7fOGsuyqx7o0bN12x7mb/Oz/4odseqY8R2HlYXE+AAAQC3THCrwYzDk9zGn+sqClfSXEJKwKjPSYWFGEbligyVXQHOkSYd9/9ldlGwE0CiIEosrglLewioGUQYt5BHDlO6IguB4JwBrCgHCxur1y5LDXXA0YjSf/ChfN2URBlJjw0kzTx50IhwIRTIvxRNRKH6h15kJ69E+1MFq2FcI8KmPJFeyHyjAnSRL2Xdxj8QWupJ3SW79Bc0qCMGAhCsy/qngq+UxbqBy0mrc9kJ8LlSUVFxZ7TV9qUA9oNI0D9aVfy5oQMFv4B9OIAQQZNTU2mHhYqS6OBJhB80JjjMkIFeVIIzmsKhaLiNBKVs87VfCNzKkaD8qHzeDejK/36vv5YnZxsq/JUEUeIvsn4YeW1WmIFpT/+fmoRYgaE3RUtP5xt5Jq8XqIb4rJnIfGQMvDcgVZfpMnGNXsPiVd6WgKWhsqlO6opB2GViH+lPFhxsVcAkJC3WlCvtQ8S0lJIW6FZfaL6of/kR9jwCWVVO9jGuNLiFX/gjELatvEey5+9liTJ10kLQBoUgKUUlLg5fTI1YGhTOpPBwgBKRHxf+Ef7S9/FivtoCWzFum8L+OGAaus8QNCHHe0d7puvPne/ffs/uZ0Nda7h8LPu6RdfETHpcr/6xf/hBntuuRxXJe5y2m0XCJx4/s/deF+bu33+G3fhm8uu6+IZ98qP/1e34/BzrkQE5sqlC+6XulCnp6PdgKFxz173/Msv217P2//lr13m9IDr6+5w/dEp9+Ibf98df+olzWk0pub3OpinzNGVGlesYKElpAmdIX2eECHyCLSC79AZ7BBa77TqfK88W1i23vEKDYi1b9++5SYlCo1EIkbgxrWPg4SitLRMgHpL+0VR99ZbPzTa9M477+hstjqjR4gpUZYoKCh0r732miQeX7tuGeBVCSw4oQEaxhE+b7/9ttqqwr300stmsQ2biX9Tc7OA9boZyu3evcfUaTHAq6urMzVbiPW2bdWuU/QQOvpP/9k/s3q9/fZ/FUBkuhNSkQVgaIvy8grVq0ALg14j5hB2xLGHDh7Sfly7FtKDdqYcKrvQ2Z27dkrdtsWIOBIarkUlHSzD0TxDpReV3J//7Gcm2WnW2XaU5/XXX7e2/vnPfur2CdggO9S1XPuAnFnX1NRsihsAMAuIHu350ScvvPiiLS4YzHGAgHCHAcETYpHo+B3e478wTOK7hXETw8bDKb0QTtmRov33fD+/ExwBQnl8YP8y+PEr+Ac/0gxVCO98rG//DXG+/cb7hPIlhluY5j3viGaR5lNMfD/ve99voegGgiIkgAIybzp+dQEi5Hzfom29eIQWYNz7eeABguHDAgsi8Id3/tYNt5x19Q07XVpJjTv4wvfd55//2l04/75GUYo72viUa+0WN5yd7k6eeN5Fh++49o919aUUCvoHR9wLP/qHbsdLP3JJU6OuTbYCty6ec4VOezgyeR/RSbPbGne5l1991X38wXtuvL/DTeoI8hHtUz/z6g/cnn3HXHGJDhpkcRJz6wkQrLI5SoPVLfTh+LHjtjfarutGWb2zIuaeaPaumpqbRLBPmJi7Q4R137792hO9IgD4nu1zvvvuu7aKLtWq+Oq1qyaG45ieCq2aCccRQqyqL/239s49tqsju+PH+IXBNoRHINiAf2AMBAMJEN4km2xIQ7ZJ2iS72+5qq0jblaqqVfNX1apqpVatKvXv/pXu/lFtqyYbQrJJSoAqgU2gCa9sMOZlsHkZm4fBGNv4gY37/cz1wPUvDmAw+FJmrJ/vvXPnzsw9M/d8Z86cc0bbiq5evdox688++0xMUh4DNOLGYC9fIFVSUiJvw6PdNbOPlJhrldZem5vZB3uMY9zUlW1Pi4sn25bNm+2VV14R088SQ/6tuz9l8hRnnIcj0dnyH1etspctW+Y02XjXQo36MfJjs6GTJ07a9373e3ZMu+Uxs5ggwOK7xzYEZY255eXunQFZlDAwEOS3c+cORzMG7Wx7ytLAKCljbNmyxfmsw6u2pxkzD1wrAbosAzDL4pk2zU6wYk+lUq43DJmaq++M4dg/BTx4cmSkCSi4j0MIf7cAov+ahNjBpADjBNoTgGDx/LgA4vOP3raGKrmK0D7Jk0rnWN7kR23zb35tu3ZuV+I8WzJvoSzFmy1//Gi3J/P29//LDm3eIDcQDdbWk2lFM2faI6tWS7trjMSgjdZaf8ryO1tkSd5tLcOkPps/xn7vtdds17ZPrf7YYa1bSOkkI9eekogppTWzseMna0SfDIBgpgHj9gZyqPqyvkn9YFoimx3XLII9o1kTwFq6UZp+zBDOnj3jgGX16uccsz9wYL8bZWPs9rA0zVingWliYHdae8wAGuSDaAr1aRx/nhBzZjSNSJyRPaIpRHXMCpjpIFqvlxV2vhg6Pp8Qo2OFzeyB2TxrsmjMLVy0UDXNsDox9ZbWFgc0zIwYobOlKeJ2wAZAPHWq1m2JgCsPZiV4QF68eLHzSt0taQqgw37X2RI7A1SIjthDGyBnxjKjrMzNIo5p5tChQQflMcMAPJHesDc278naE7OEKQIFeAkirOECWpYBMBJ8aMxDiu90tEPURLg2g3DqdfTaEBJBgQAQiWiGQa9EHCBghrViKJU7ttru9W/bs9990h559Amtp5XZMa0/bNrw31ax57hN1wfNQnTJjOn2gz/4gb35j39v+7Z+ao2SG6MZVzRNI8XUZFvz/Z9aR3OTHav8WkoPJ+WqJNvatA9FYcks+501a2z7ts12pGKHGGKTTZK4ClHW1NRsyb7Hi/lF2mO88FDOIABPyveSBq5RBwYgEKmi/QUYEGDYxJGGNYLt2790AFBaOsOtLRCPuJsBFSNwAvnyDAyS++TBfZ+XS6R/iKN4FqbMtxidR7YzPBfVBXsZbGmi9QtfXmSDE2m1IaZmTs47kQ6AoCzyjDT8urTF6m4BRYsTXyHepz6kI5AnTJ7yOffacuTJNWm5T31IQ0A0D41YX6Esyo4HaMCzfvAJ10dUTloCMxN/HgDCkSR5/4YCIGBedDxftv9IHXV08yo3FRhHkJYO7oZ0iuvzDDe5R1p+0am7ftD/QRo+TqdGK2I0Nl60wxIJbfqPf7UlC+ZY0aOLbdKcpfpIuyVT/pV98P5GLbyOsOJJE2xaL0CcqDpsG//z5/bJx5tcg80pL7MFa16x1/7ojyWHr7Zf/uJNqz2430bm5VjZ40/YK3/4Exs/cZJ9tfNz+2zj+3ZUsvTFTz9nT313jU0VeMS1o2ifoQSIB71/JO39A0AkrUV66+MZLkc/UvAiJj5gfowaBmuRGsd25y9dsTrtj3yiocPGaB/jhwuyrEneTvPlpO+yHOm1ymle7yDDzjbJ6FGO7/CCirfUY/Kk2tzWbbOK8uy0PMHm50aL8Y88lG1jCzXCwXV3CA5YPUAAwLTjWcnXd3/+P9pUq9QeLplphdLAg/Mj+jgoWffp+jPuXvHkYrcg2y45ce3RGtu6aYOTH696drXNKJ9no8eOc0aFhw4esg0fb5Rl+Tj7zjPf0drGdLeR02mVc/hghe3bs9tSUsFesGiJRCYT3ag63jSDDRCstdB3GZXebJE6Xo9wPvQUCAAx9G3Qbw1uBhAwGQCCaWSfkX6/ud08Ek+qXx9ttePnOp2XUzydMmMoE8M/ca7DeVbFS2ud3GpfbO2yorFaKNT1BAFApzy4HpH771EjIgv60xc6bfaUPDt6WrLUGSNtltxpsz9ECNHMKw4QyNEP7N9v/7tNxp+SYa9YuVJb6s5yg4ImiR3OX2i0OnkkZW+CUmk5FRUVW82RKtv0wTrLaJKluTRiUP+etWSlFc8qt4rffm2bP/3STpyUiqRAev6CcntuzTOyb+m2tWvfUTlSx5YIoqRkmr362qu2dOmybzRLAIhvkOSBjQgAkdCmv9cAwb4NtZo5dElLAmbOdf1FuVieMsK559Z6nBMpHTjVpplEtz2ektab5MHss4C4pEl7NJAGUOnEbXf2MDfLmDYxV+CS6e7djNQAnX9vn7a/OH/vhkfllURIShcxoVmCtg1rgDBmZM/Pa70AH1MntRiKbH3vrp3WKYv6PBl6vvrDH9o//d3fWIPczaxZsshKtPh68UKDNXRl2MynX7KdMlKdWjRJC7FjnQuRai2Szn6s3C61Ntmbb77pFjOxdXpGqp54J2WRNz0MNUCk9wFfP9pT3etaH+lvYAT4Epit+L5DfhEoR3Hp70c67vtnXQb6x2yHOF8frn3weXPtnlfb4Y2A4MvmnGf9L36PZwjUhfvk7eOI92XGyyE+PVA/0vhn/XPUwZ+nPxPP05/H39/Xn7h16zQQka+bnrBInU7Gob32jcuRHwtQcRETjTeYMwgV4TprsxhTFKJOlzecxTIYd++iltKhM5+tfRtYCKNeAAR10Q1t4KL9oTVaZeGM/aT5DtyzQg7qTFo+I7/nMYtsQhqJoK7r3WPNTSLf8ckD9T7P8XH8x4dFIgyNCCwA4mIDR3tAA+XQ0fklKUBnTweOqCRu3brV2QdFuu0FtmTpUquXf6mz8tHU2nLJPt203lovnrMn5j9u85Y9aX/7F39qi1PF9vismdYmdyXQ52Sr/DqNK7FuuXZZ/Nh8zSwLNdOT/YG0YLplY1QtY8t6ae7AiGpqauyNN97Q7GGpm4HGGR+0Smegd0o/REy0D+1JWeTP0S/YEk/wzIo+Qb/iPn3f0UtpaGvOK/futTJpbl3rd2pv0tPnamtPOvsPZtaUQZ7QFfVSNJDwnHtcrruLpEGEGir3eQ5/XxgXdkoURl5o+qDJg2YQKrWomBfJYM3Xk2d4J/o9P8SBqJCy2I/WE/yUumPXcUXp2DcdjaUZM6IFdMqlb6JuukvqtMuWL3cL6dSZ56gzZXAN/Tj3tODIsxyxa8B9Ee8LbaAt6qvlUoX19SOd/1F/6Mo98iB/+ArXX2lvDAYP0Am7EPoJcQEgXLMn6x8NSvANy0dDR6Fx6QR0hsEFiMhi9VDVEffRjJHKG07rcKoHc4ah85HQoehYzveSxB7duHtQXVD5Azj4uNT3naoeHwHpsSTlA2HbRry38jzpeAe3GZHSdOs+VrBogNBZUQEdqzogYkGXG31vPJ4CSrw3aagTTKNAHlDPyLlfxBS0XqKPCzfWhbJMRi2Q8m43QH/cWhDI53bmJb4toQfNynvD3DjClNjPgPfhPkwJw6xT0uuvl7pqi5jKNunVVx86aE/On2tLl6+0f/iXf7bFpVNtwbRpdvlSs7WrHS7IFce4mY9bYbfWf6Bjdp58a8mJpiyO65ov2wG5oYFJwrhQ+1wuhvT66687RgDd4jS6WwBBGfQHDxAwPUdTOowC7w+j3r17t+sH+fIagAPDiDYm5lrmVFrZmwG1zZaWZrcGM1k2BtgL0BcOH65y9hJsPIRfsClTJssO4byAuN6J06DvBx984DYQApwxNHtCKqWUgUYZzBLGOEr9BtuwCnmXmCkGzAZD5XPmaPOhOvdNlpZOl5roWbcGOFZqp7xLRUWFe7dUqsRtVIR9AxsQoRbLTHGE8kPdFhCh7WfIyr1O60KI/ebNf0y73k208WLOvJ8HCECFAMPG0M4bxxE3Ru+CDQN9BDVdVHJJh/oqNhXQmb5HHqjGYrfBd1WkGSbGeHyzfEv4I+MbRh129qzZLv1i2YtgV3HqVF0ACIidtOCZCkd+AER/MwgsLfmw7jRQBowV0QY+fnCI57yhtrS6zgzzb5fXU7g/HxV66u3tnS5dBApieMqDeJgoHzr5waCJa1Y+dM7x48b2go1GVW7UJ0eOWThybHOggoUp2lE42UOlr02gCMC4zq6XJM656BaD5a15d2iANSgqhTAgvK/CgCl7pOT6fAi3G7quyg+YZP35w/P1u25MOpD8mtvl30feebPk7kUkugYQ0BxmgI8zPlSYJfr3ixYt0jtctkMH9tpp6eJ/8unn1ijaLywush/9+Ef2y40fW1bLBRul2UGu8rwikeDZ3JH245/+mZ2uOWot8vElh+bOPXyPwLVgwiTNRuqdTjtlAEjYA7z44ovuhy4/8T4MNkD4ESptFQcIBjvE+f7LEZcPO3bskHfgqc6auk39AtuAkqklDqgZ4eIgtEh2BzBBdoRDTMbsKEd9lrqnSlJuVobrEtJhaHZO+v/YOWBX8cknn7jvaaryxDL7+efXOEeRPAujZBe5ItEa8OY3f958N9NjgyE8/14SKE90thHVskGY6UbwDXKpcey47BAEMBjaMYDavmO7M4ajb1+82OhmCGVKzwgfAFuodj6l/PfJUI861Ch+vgDlK9l9zJ1b7r4HDO0AxjNnTtsxzWZK9G4ACZsnQcvp00udBTnAxXaojZqxVFcfEU2mulkWMxQACuM37EQAJwCD8pkpZGtABsCyDgbIUD7gMUX9o2JvhYCxPgCE/zCSdIR5EDjyiwOEG3mrI9NBBgsg/LtTFusI6cGptCqSW75u/aXRNx4xwd76p6fx16SDwYs79L6jv3P9KB5PAhfh5bvX7/Y9ixiNp1faPV36+33v3PyqXUZltU11NnbEGCvMlWt31Ze8bjUw+9h35qCVPDTFCnIRO1wHCPLBCAyDLD+a5rhKrg7Qhz8mtxl73nnbNladsAlFxfbsqmW28oU1YkJtVvXlZ1b5xVbr0D4OhbKUnr38KSuXCOrwwSrbrxH4RPkV68mW51ox1MllZQ7I33rrLVu/fr1jUIDQyy+/bC+88IJjXPF3uhsA4QcRABH503f7AwgGFocEYDA0fEoxa6ZuAFqdQKBUo+5Dmk3hi+lcg3xYyahuRqnENhoIkC8jb/wLYfwFQ2d2BGOESfPOzCC2bdvqXG5cuHBezZhhT8kVCd8RgW8Lp6WMuAEdDN0QLVHWCInqAAwGTzgdrZebFEbwiHMOHjjgwJ3nC1QultKV+yrtpZdednliIT1abj4QjTEoAAjpSwwMyBOXH+zNkSefdDBw6IXtBgZ1BAY7zEjwyzROg6yaGg0ElK587lyX1wW9LxbaABVl4XqEb4aBEu/G9eGqKmdEVyp6UW9mGoAEs3uM+/BWzOwVLTjicOHBbC6ImFwTJOtfnAlz7kVMdBo+BOI8QAxWzRHzX5b2UocWqNlrmsC2oKiostdzjpYZ2HOaBewu3fegQTrS5Lg0cqqmNNxn72d+gAAslR+5wvgzlT4vO2K2aFBRpl7JBSV3achvuJgcKriXOyRfVf0Y6F5L15ufq5/yy1X92mUr5PbKVrnUgZClAtHAYo9sJbtp6OqRkdRVycCHZdvZy+ckx5evmkyJQ1Sxbt0ryNZsQi4sVGOXl387QasbgTrRl0Uj8uYr8vOlZCNky5CdNoOA8TGC/VwLywf2fqWF5Tx7TK40li5bIVHQSLnUkFz8aJWdOY+TzHxLTSu1cdJagnlgWbthw8d2oeGsLVvxpKywF2t2Nl6uEjTCFVO5rJEjM7NCMZZ8MSzq3tBQJ6ZW7frPsJ4r8t8zy8Y+PEX3VFeI3hsGGyAQ3/ADHDxAcOwPICgba2DERfR53pVAWgIASl6Ih/ZI/o5IhpkB74cLDhg0AUO3zEzWB6LZKd8KKuEc0RzjiGYYI2pESVz7wCyA74u8qAOBesFUASxENLnSHOMcBs8PRjpJDJV6k9cuKRZQ3ooVKx3A8R7MZDG8Iy/3niqH9/Flwcg5p1+Qt6cP53z3/puHdgAps4CpJVNVu2iQRV7Ulx91gE4+D67JhzwoByAljrx4Xw+QiHgx2tsrcdkCzUg++uijABCuByTwH41J4Eij05B0FDouPxqY68EIlATjP9/cbYfPqOOLqbbIrmHE8GE2Ki/TJo/LdQwW5r+/9rIDCuwgYN6ASKY6dVnRcDFpPSd7CewiYNReowkQgFFmaXEbXjQ2X24PZEMBWyJ9tcpslnbUCNlckB9h+oThVpg3TAzarKquTekk+hJgEPAzBGjpW7MxI6O8uAbAqurarU0PtQns3EKm8ls4faSNVN7Z1/mAy6e/f+3dHdbSJdfOmTnWIZl+QdZIAzQ6rmptpEueNAUcI7I0YlUcNR2WES2G0k6dSs9Hl5epTa40e+CZkZly1S1wINCkEROLXEv/4uf/Zht+/Y6VT8h3z53rHm7ff/1ntnLFCjH6s26Bs6dL9ijNjZYltdXUtFny5HrWdkokcFgO+3pUh6takF60aLE9s2K5Y35upCiAoD4smKZSJSq4w47s+cQ6Wxst9ehjWjyt1ztlW8nsZ6UOKw+jNEpvgHnxDvFZhb93O0cYFf2X/MjXMzAYGtc+DKQ8vgWYHIyNfPgW7maAljB56gsgpAfuRe0atS805H0Gy04pvTwPMrz7QOiWnk9/17QP74KSydp33w0A0R+RkhBHpyRw9ADBB0HjEUdn9R3Ep72TeovniklfdQZvgAU/8kWffmxBpuToWgDWSL7hkkYpYv4w8mgmEZU6cbR2Y9Movbld22k2XRGz7HGzCpjPFQ3/WevN0X3eCiAYVyi5u+61Ks+zSu/ESLpJHPljZFco2wrsLBqaVabyI16vrzQa1UGfngwrEIiMGilxm8CDvCgb0AGsKCtXZU58SGsqOt7qcoQg2AFAVka0ppJO164ejdIEDASAIgoApdwv6EUBFFguaXw60rgqoWlwmgAACU9JREFU6z4MpbKy0v76r/7SRl+9ZD9ZPt8xnvWVki0Xz7Q//5OfidOwEK/yu/OsoVFg0XNZ/nLG21ebNluO/PNktGq/AzH3mktav5HPpVefX201EiOwpoBohXBMcuspMrDr7jxju9b/u+WIcaUWPm05E1N2/OJliRSW2rRxowRg1xk1cnja4E4Zj3+ed00HCN93PUD4tK7S4V9iKBDsIBLTFN+siGf6HP2U1E81iYvf96OXeFw8Rx8fj0s/h5nCwGDALv/eBDBjRuLiGb33r69TwAQJ3HNpdE4+iKjEy108913ghtLxDFINZh1cUJ4TRUWprv0HgBzf0nOIl+J1upZIJ+n1Iy/yJPQWoRGm8qLgAQRESJH46OYPpaflmvBtz9NeyJdZmBye2WOTtIsf79ckGVmHQGlKcZGrM1vddmukrx6gHzMiqUY2Nmk7XYm4ujpdKZ0CyR4RdLQ0txAt0UfoLzDliBFrIbujRXutSCVWf90SkXVkoOmUrbWOUbJ6j8RnN3/Lb6aIM3Z/Hj96AOBJzrl3vV7XR7/+mW+WEGKGkgIBIIaS+rdQtmfsfFRM1dMBws8m/JEsHSOF08eCzycWFU6HmAK0GYwcSPUjeEAVcMGmI0JXF9Gnpg58aN5ewHNNLcbrmGxvu8fbG5DkOppPSdvM5RalRzttoMDpK5PO1P01R//zoOCPxPvZhJ/9kp9/1ud9oyPPE/oT9fCenq7cjwNUep6khf7xuqWnSb+mbJ7h2bhoK71OPk1/daR+fo1kIO+dXpd7cR0A4l5Q+Q7KoCMS6HB+MYm49B+djuDj3UXsn88nFhVOAwXuiAL9MTfifLw/jzNg4uKyfJ/GV8Qzd/qrv+fPfZqvpfmFxo5TqWYqquDTsNsazJpFXLSZYNDkw/fj86MM1ix4BvsGtJ1YqKae/juKAwvpCOTFAjdeY4uKip3NAXYHBLSdciX+RcNIFLBaXaOyTL5APgEwJn/ck3NkfYhF8iSHABBJbp3eutFB6eDMIFiD4Nr/SOLPOfprdxL+BQrcYwrAhAn+6BmtZ84cAQiO/Y3w0dtHvZW+jkoquvnYvaCG+bAYKvcvSpsIVdIGqZ6SzxipvOKSBCPAL7/8wh6T0RlM/7zUWCkfZn5Aaqjcx2YCQzj2YoC5sw7EngvsNIdqK1plnKPhxGZAhHOyw0BrqUzqwtXVR9y2pKtWPemsrp02kICjQHkzs8OOCA20muoaZ/hJeQzs2rWgjiorm/6ck7oqu7rNVz29dpYrKIH/AkAksFH6qxKjIj4aFh89IJAu/dw/68HCX4djoMC9oAAMmxA/pp/Tj4mLi5h83XBN8YX2UC6Wvj+2DGx+A/OHeWMpzMgfLS023UFDaN++SjkxLHU7szmFB21lPHt2ZA/AbAJQwVUGQMCGOOXlc+03W7bYnPI5lkpFO8Nh4UwZ1Ono0Ro38kcllK1BW1W+t5j+fe0SV1d3Siqsu21aKuWM1/x+EbyLJg7axOmC29MZUKBsAIetTUeMlKW73oEZCO8BiCxYsDAAhG/4cLwzCsQBgpw8AKQffSk+3l+HY6DAvaCABwPK8ufpxxsBRJMW7jFUwxdSZeVeWe3jB6ndudZg5M8oni1C2R6zqUl7aVQddpbMGJBhIMZsY5aM0TBEw70FBnaFMhY8LitnXHdM1ogeGwqM5JYvX+H2vwZsGNlXVOyRId4MGdW1OvEUFs8RSLQ6pj9PRmmNqh871WF4hnUzsxBcVSAywgYCtzDMVhBvlaRKHDAh7sLAD3A7eOCgA45RowodWDlguRcNc5tlhBnEbRLuXj8WFzHFy44DQfycNOnX8efCeaDAYFLAg4DPM34dP+d+XMTU3z3ESPjdQlyDcRqiKHyD4YcL0RHaX87L7d4KJ/qZJaeFbsSuET9H8sTFCmmwCMYSmjxh0DBkVH9h4KwRMMtAbItxHr7G8Nk0fnzkrI7nEUsBNNQBy2IWl1vkNoZ8cMKXJTcyV1Hh1nvhT+y8ZkC4A8E9zPC84S7/Tm3jCbAAVgAXdSQv8vYiOE+3pB0DQCStRb6lPh4gvIipv2QBEPqjSogbKgqkM3/qQZyfQcB009PQh30/9uccYaSk5cc1ecBoyYMfKtYs+PpnETdhz0H6OBPmPt8SYEE81z5PZgH8uOfjqLPPk/j4tbuI/evh+Vhd/S1ABfkT5VE2gXOfn4tI6L8AEAltmPRqxQHC3/Md11+HY6BAkikA0yXcCCCSXP8HsW4BIO6TVu8PIOJVD2ARp0Y4TwIFPCCk1yUARDpFknsdACK5bdOnZjcDiD6Jw0WgQIIpEAAiwY2TVrUAEGkESeplAIiktkyo10ApEABioBQbuvQBIIaO9gMqOQDEgMgVEieYAgEgEtw4aVULAJFGkKReBoBIasuEeg2UAgEgBkqxoUu/du3a4O576Mh/6yUHgLh1WoWUyaZAAIhkt0+8dmEGEadGgs8DQCS4cULVBkSBABADIteQJg4ziCEl/60XHgDi1mkVUiabAgEgkt0+8doFgIhTI8HnASAS3DihagOiQACIAZFrSBMHgBhS8t964QEgbp1WIWWyKRAAItntE6/du2FP6jg5knseACK5bRNqNjAKBIAYGL2GMnUAiKGk/gDKDgAxAGKFpImmQACIRDdPn8qtW7fOMmpra3vy5Jp2WO/2fX1ShIshpQC7VAEOBQWFztMk3lxDCBS4nynQ3Nxs7MTmtgxll52Ehiy59GZTorg32IRW9a5V67333rMMbfHXM/qh0dooPdrf9a6VFjIeMAVwwodb41HyXY/L4AAQAyZheCBhFGCPh0716dzcnITVrG919Om5zYbuB7fcfWt+51fwHVyff/jhh5axa+fOnlSqJPHb3935a99/OdBIbGRSqBkEm5IEgLj/2jDUuC8F2PCHzXbYFOjbPL72feLeX8Egu7QREBsUPYgAgdQCIN+5c6dlCCV6nnhikduF6d43RSjxRhSgo7Zpt6sAEDeiUrh3P1HgfgIItgZlI6IHLSC1YOvUuro6y5Cuaw+bhI8bP85yc3Ki3ZSgCHMsDu5fdH7tmhMfogT+SkfkikT6o7/l5Y3X87qepr+0Sc/j7tcPgGBRj43OKY3tEUMIFLifKXDpUpMTm+bAa67xiIF8//fgu4PAKqZAM4j/T2sQ/c3YfBxH+E27BqRst1pZWekkFv8Hec4VhyV0on0AAAAASUVORK5CYII=Ov=({cu ... nt,{}))({curso ... nt,{})){cursor ... lick:f}cursor:lonPaneMouseMove:uonPaneMouseUp:conPaneDoubleClick:f(ue.use ... nt,{}))ue.useE ... ent,{})ue.useE ... u,c,f])()=>{co ... ld(r)}}{const ... ld(r)}}const r ... "div");r=docum ... ("div")return ... ild(r)}r.style ... ild(r)}r.style ... "fixed"r.style.positionr.styler.style.top="0"r.style.topr.style.right="0"r.style.rightr.style.bottom="0"r.style.bottomr.style.left="0"r.style.leftr.style ... ="9999"r.style.zIndex9999r.style.cursor=lr.style.cursordocumen ... hild(r)u&&r.ad ... ove",u)r.addEv ... ove",u)r.addEventListenerc&&r.ad ... eup",c)r.addEv ... eup",c)f&&docu ... ick",f)documen ... ick",f)()=>{u& ... ild(r)}{u&&r.r ... ild(r)}u&&r.re ... hild(r)u&&r.re ... ove",u)r.remov ... ove",u)r.remov ... istenerc&&r.re ... eup",c)r.remov ... eup",c)documen ... veChild[l,u,c,f]m.jsx(m.Fragment,{})wv={pos ... left:0}{positi ... left:0}position:"absolute"absolutetop:0right:0bottom:0left:0Rv=({or ... X))]})}({orien ... X))]})}{orient ... idth:o}orientation:loffsets:usetOffsets:cresizerColor:fresizerWidth:rminColumnWidth:o{const ... X))]})}const h ... size"};h=o||0o||0[v,y]=u ... e(null)ue.useState(null)[A,E]=Wh()[A,E]Wh()S={posi ... esize"}{positi ... esize"}right:l ... oid 0:0l==="ho ... oid 0:0l==="horizontal"horizontalbottom: ... :void 0l==="ho ... :void 0width:l ... :void 0height: ... oid 0:7l==="ho ... oid 0:7borderT ... (7-r)/2l==="ho ... (7-r)/2(7-r)/2(7-r)7-rborderR ... :void 0borderB ... (7-r)/2borderL ... :void 0borderC ... parent"borderStyle:"solid"solidcursor: ... resize"l==="ho ... resize"ew-resizens-resizereturn ... ,X))]})m.jsxs( ... ,X))]}){style: ... },X))]}style:{ ... "none"}{positi ... "none"}left:-(7-r)/2-(7-r)/2-(7-r)zIndex:100pointerEvents:"none"childre ... )},X))][!!v&&m ... )},X))]!!v&&m. ... u])}}})m.jsx(O ... u])}}}){cursor ... .u])}}}onPaneM ... y(null)()=>y(null)y(null)onPaneM ... ..u])}}O=>{if( ... ..u])}}{if(!O. ... ..u])}}if(!O.b ... ...u])}!O.buttonsO.buttonsy(null);if(v){c ... ...u])}{const ... ...u])}const X ... index];X=l===" ... clientYl==="ho ... clientYO.clientX-v.clientXO.clientXv.clientXO.clientY-v.clientYO.clientYv.clientYB=v.offset+Xv.offset+Xv.offsetb=v.ind ... ex-1]:0v.index ... ex-1]:0v.index>0v.indexu[v.index-1]v.index-1p=l===" ... .heightl==="ho ... .heightA.widthA.heightx=Math. ... .index]Math.mi ... .index]Math.mi ... B),p-h)Math.max(b+h,B)b+hp-hu[v.index]for(let ... u[R]+x;R ... }})},X)m.jsx(" ... }})},X){style: ... d:f}})}style:{ ... itial"}{...S,t ... itial"}...Stop:l== ... al"?0:Ol==="horizontal"?0:Oleft:l= ... al"?O:0l==="horizontal"?O:0pointer ... nitial"initialonMouse ... dex:X})B=>y({c ... dex:X})y({clie ... dex:X}){client ... ndex:X}clientX:B.clientXB.clientXclientY:B.clientYB.clientYoffset:Oindex:Xchildre ... nd:f}})m.jsx(" ... nd:f}}){style: ... und:f}}style:{ ... ound:f}{...wv,background:f}...wvbackground:fasync f ... c})),u}{const ... c})),u}const u=new Image;u=new Imagenew Imagereturn ... =c})),ul&&(u.s ... =c})),ul&&(u.s ... or=c}))(u.src= ... or=c}))u.src=l ... ror=c})u.src=lu.srcawait n ... ror=c})new Pro ... ror=c})(c,f)=> ... rror=c}{u.onlo ... rror=c}u.onloa ... error=cu.onload=cu.onloadu.onerror=cu.onerrorconst f ... )})]});fr={bac ... 12px`}{backgr ... 12px`}backgro ... 0 75%)``linear ... 0 75%)`linear- ... 20 75%)backgro ... x 20px"20px 20pxbackgro ... px 0px""0 0, 0 ... px 0px"0 0, 0 10px, 10px -10px, -10px 0pxboxShad ... x 12px``rgb(0 ... x 12px`rgb(0 0 ... px 12pxum=({di ... )]})})}({diff: ... )]})})}{diff:l ... ails:c}diff:lnoTargetBlank:uhideDetails:c{const[ ... )]})})}const[f ... ]=Wh();[f,r]=c ... ctual")ct.useS ... ctual")l.diff? ... actual"l.diff[o,h]=c ... ate(!1)[v,y]=c ... e(null)ct.useState(null)[A,E]=c ... ected")ct.useS ... ected")Expected[S,O]=c ... e(null)[X,B]=c ... e(null)[X,B][b,p]=Wh()[b,p]ct.useE ... },[l]);ct.useE ... )},[l])()=>{(a ... ))})()}{(async ... ))})()}(async( ... h))})()(async( ... ath))})async() ... path))}{var K, ... path))}var K,J,k,nt;y(await ... .path))await k ... t.path)kf((K=l ... t.path)(K=l.ex ... nt.path(K=l.expected)==null(K=l.expected)K=l.expectedK.attachment.pathK.attachmentE(((J=l ... ected")((J=l.e ... pected"((J=l.e ... .title)(J=l.ex ... J.title(J=l.expected)==null(J=l.expected)J=l.expectedJ.titleO(await ... .path))kf((k=l ... t.path)(k=l.ac ... nt.path(k=l.actual)==null(k=l.actual)k=l.actuall.actualk.attachment.pathk.attachmentB(await ... .path))kf((nt= ... t.path)(nt=l.d ... nt.path(nt=l.diff)==null(nt=l.diff)nt=l.diffnt.attachment.pathnt.attachmentconst x ... none"};x=v&&S&&Xv&&S&&Xv&&SR=x?Mat ... 00):500x?Math. ... 00):500Math.ma ... th,200)v.naturalWidthS.naturalWidthU=x?Mat ... 00):500Math.ma ... ht,200)v.naturalHeightS.naturalHeightZ=Math. ... -30)/R)Math.mi ... -30)/R)(b.width-30)/R(b.width-30)b.width-30b.widthF=Math. ... 0)/R/2)Math.mi ... 0)/R/2)(b.width-50)/R/2(b.width-50)/R(b.width-50)b.width-50j=R*ZR*ZD=U*ZU*ZN={flex ... "none"}{flex:" ... "none"}margin:"0 10px"0 10pxuserSelect:"none"{"data- ... ]})]})}"data-t ... smatch""test-r ... smatch"test-result-image-mismatchstyle:{ ... "auto"}{displa ... "auto"}flexDir ... column"ref:px&&m.js ... )]})]})childre ... )})]})][m.jsxs ... )})]})]m.jsxs( ... r"})]}){"data- ... er"})]}"data-t ... h-tabs""test-r ... h-tabs"test-result-image-mismatch-tabsstyle:{ ... 20px"}{displa ... 20px"}margin:"10px 0 20px"10px 0 20pxchildre ... der"})][l.diff ... der"})]l.diff& ... Diff"})m.jsx(" ... Diff"}){style: ... "Diff"}{...N,f ... itial"}...NfontWei ... nitial"f==="di ... nitial"f==="diff"onClick ... "diff")()=>r("diff")r("diff")children:"Diff"Diffm.jsx(" ... tual"}){style: ... ctual"}f==="ac ... nitial"f==="actual"onClick ... ctual")()=>r("actual")r("actual")children:"Actual"Actual{style: ... dren:A}f==="ex ... nitial"f==="expected"onClick ... ected")()=>r("expected")r("expected")m.jsx(" ... side"}){style: ... side"}f==="sx ... nitial"f==="sxs"sxsonClick:()=>r("sxs")()=>r("sxs")r("sxs")childre ... y side"Side by sidem.jsx(" ... ider"}){style: ... lider"}f==="sl ... nitial"f==="slider"slideronClick ... lider")()=>r("slider")r("slider")children:"Slider"Slider{style: ... })]})]}style:{ ... t:D+60}{displa ... t:D+60}justify ... center"minHeight:D+60D+60childre ... F})]})][l.diff ... F})]})]l.diff& ... ale:Z})l.diff&&f==="diff"m.jsx(E ... ale:Z}){image: ... cale:Z}image:Xalt:"Diff"hideSize:ccanvasWidth:jcanvasHeight:Dscale:Zl.diff&&f==="actual"image:Salt:"Actual"l.diff& ... pected"image:valt:Al.diff& ... tle:A})l.diff&&f==="slider"m.jsx(D ... tle:A}){expect ... itle:A}expectedImage:vactualImage:SexpectedTitle:Al.diff& ... :F})]})l.diff&&f==="sxs"m.jsxs( ... :F})]}){style: ... e:F})]}style:{ ... "flex"}{display:"flex"}childre ... le:F})][m.jsx( ... le:F})]m.jsx(E ... ale:F}){image: ... cale:F}title:AcanvasWidth:F*RF*RcanvasHeight:F*UF*Uscale:Fimage:o?X:So?X:Stitle:o ... Actual"o?"Diff":"Actual"onClick:()=>h(!o)!l.diff ... ale:Z})!l.diff ... actual"!l.difftitle:"Actual"!l.diff ... pected"!l.diff ... :F})]})!l.diff&&f==="sxs"!c&&m.j ... })})]}){style: ... e})})]}style:{ ... "15px"}{alignS ... "15px"}alignSelf:"start"lineHeight:"18px"18pxmarginLeft:"15px"15pxchildre ... me})})][m.jsx( ... me})})]m.jsx(" ... ame})}){childr ... name})}childre ... .name})l.diff& ... .name}){target ... t.name}href:l. ... nt.pathl.diff. ... nt.pathl.diff.attachmentchildre ... nt.namel.diff. ... nt.nametarget:u?"":"_blank"u?"":"_blank"l.actua ... nt.pathl.actual.attachmentl.actua ... nt.namel.expec ... nt.pathl.expec ... achmentl.expec ... nt.nameDv=({ex ... ]})]})}({expec ... ]})]})}{expect ... Size:h}expectedImage:lactualImage:ucanvasWidth:ccanvasHeight:fscale:rexpectedTitle:ohideSize:hv={posi ... left:0}[y,A]=c ... te(c/2)[y,A]ct.useState(c/2)c/2E=l.nat ... lHeightl.natur ... lHeightl.natur ... alWidthl.naturalWidthu.naturalWidthl.naturalHeightu.naturalHeight[!h&&m. ... )})]})]!h&&m.j ... ht})]})m.jsxs( ... ht})]}){style: ... ght})]}style:{margin:5}{margin:5}margin:5childre ... ight})][!E&&m. ... ight})]!E&&m.j ... ted "})m.jsx(" ... ted "}){style: ... cted "}style:{ ... 0 5px"}{flex:" ... 0 5px"}margin:"0 5px"0 5pxchildren:"Expected "Expected m.jsx(" ... Width}){childr ... lWidth}childre ... alWidthm.jsx(" ... n:"x"}){style: ... en:"x"}children:"x"m.jsx(" ... eight}){childr ... Height}childre ... lHeight!E&&m.j ... ual "})m.jsx(" ... ual "}){style: ... tual "}style:{ ... 15px"}{flex:" ... 15px"}margin: ... 0 15px"0 5px 0 15pxchildren:"Actual "Actual !E&&m.j ... Width})!E&&m.j ... n:"x"})!E&&m.j ... eight}){style: ... c})})]}style:{ ... ,...fr}{positi ... ,...fr}position:"relative"width:cheight:fmargin:15...frchildre ... rc})})][m.jsx( ... rc})})]m.jsx(R ... dth:6}){orient ... idth:6}orienta ... zontal"offsets:[y][y]setOffs ... A(S[0])S=>A(S[0])A(S[0])S[0]resizer ... 606a80"#57606a80resizerWidth:6m.jsx(" ... l.src}){alt:o, ... :l.src}alt:ostyle:{ ... ight*r}{width: ... ight*r}width:l ... Width*rl.naturalWidth*rheight: ... eight*rl.naturalHeight*rdraggable:"false"src:l.srcl.srcm.jsx(" ... src})}){style: ... .src})}{...v,b ... ,...fr}overflow:"hidden"width:ychildre ... u.src})m.jsx(" ... u.src}){alt:"A ... :u.src}width:u ... Width*ru.naturalWidth*ru.naturalHeight*rsrc:u.srcEn=({im ... })})]})({image ... })})]}){image: ... lick:v}image:ltitle:ualt:chideSize:fcanvasWidth:rcanvasHeight:oscale:honClick:v{style: ... v})})]}style:{ ... olumn"}{flex:" ... olumn"}childre ... :v})})][!f&&m. ... :v})})]!f&&m.j ... ht})]})[u&&m.j ... ight})]{style: ... dren:u}m.jsx(" ... k:v})}){style: ... ck:v})}{displa ... ,...fr}width:rheight:ochildre ... ick:v})m.jsx(" ... ick:v}){width: ... lick:v}width:l ... Width*hl.naturalWidth*hheight: ... eight*hl.naturalHeight*halt:u||cu||c{cursor ... itial"}cursor: ... nitial"v?"poin ... nitial"const c ... g,f=[];c=/(\x1 ... 1b]+)/g/(\x1b\ ... 1b]+)/g(\x1b\[(\d+(;\d+)*)m)|([^\x1b]+)(\x1b\[(\d+(;\d+)*)m)\x1b\[(\d+(;\d+)*)m\x1b\[(\d+(;\d+)*)\d+(;\d+)*\d+\d(;\d+)*(;\d+);\d+([^\x1b]+)[^\x1b]+[^\x1b]let r,o ... 0:u.bg;v=u==nu ... 0:u.fgu==null?void 0:u.fgu.fgy=u==nu ... 0:u.bgu==null?void 0:u.bgu.bgfor(;(r ... an>`)}}(r=c.exec(l))!==null(r=c.exec(l))r=c.exec(l)c.exec(l)c.exec{const[ ... an>`)}}const[,,A,,E]=r;[,,A,,E]=r[,,A,,E]if(A){c ... pan>`)}const S=+A;S=+A+Aswitch( ... ;break}case 0:o={};break;o["font ... "bold";o["font ... ="bold"o["font-weight"]boldo.opacity="0.8";o.opacity="0.8"o.opacityo["font ... talic";o["font ... italic"o["font-style"]o["text ... rline";o["text ... erline"o["text-decoration"]underlinecase 7:h=!0;break;h=!0;case 8: ... ;break;o.display="none";o.display="none"o.displayo["text ... rough";o["text ... hrough"line-throughdelete ... tion"];delete ... ation"]delete ... eight"]delete ... style"]delete o.opacitydelete ... pacity;delete ... opacitycase 27:h=!1;break;h=!1;case 30:case 33:case 34:case 35:case 36:case 37 ... ;break;v=U2[S-30];v=U2[S-30]U2[S-30]S-30case 39 ... ;break;v=u==nu ... 0:u.fg;case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47 ... ;break;y=U2[S-40];y=U2[S-40]U2[S-40]S-40case 49 ... ;break;y=u==nu ... 0:u.bg;case 53 ... ;break;overlinecase 90:case 91:case 92:case 93:case 94:case 95:case 96:case 97 ... ;break;v=Q2[S-90];v=Q2[S-90]Q2[S-90]S-90case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 10 ... ];breaky=Q2[S-100];y=Q2[S-100]Q2[S-100]S-100if(E){c ... pan>`)}{const ... pan>`)}const S ... =h?y:v;S={...o}{...o}O=h?y:vh?y:vO!==voi ... lor=O);O!==voi ... olor=O)O!==void 0(S.color=O)S.color=OS.colorconst X=h?v:y;X=h?v:yh?v:yX!==voi ... span>`)X!==voi ... or"]=X)X!==void 0(S["bac ... or"]=X)S["back ... lor"]=XS["back ... color"]background-colorf.push( ... span>`)``Hv(S)jv(E)return f.join("")f.join("")f.joinconst U ... ite)"};U2={0:" ... hite)"}{0:"var ... hite)"}0:"var( ... Black)""var(-- ... Black)"var(--vscode-terminal-ansiBlack)(--vscode-terminal-ansiBlack)--vscode-terminal-ansiBlack1:"var( ... siRed)""var(-- ... siRed)"var(--vscode-terminal-ansiRed)(--vscode-terminal-ansiRed)--vscode-terminal-ansiRed2:"var( ... Green)""var(-- ... Green)"var(--vscode-terminal-ansiGreen)(--vscode-terminal-ansiGreen)--vscode-terminal-ansiGreen3:"var( ... ellow)""var(-- ... ellow)"var(--vscode-terminal-ansiYellow)(--vscode-terminal-ansiYellow)--vscode-terminal-ansiYellow4:"var( ... iBlue)""var(-- ... iBlue)"var(--vscode-terminal-ansiBlue)(--vscode-terminal-ansiBlue)--vscode-terminal-ansiBlue5:"var( ... genta)""var(-- ... genta)"var(--vscode-terminal-ansiMagenta)(--vscode-terminal-ansiMagenta)--vscode-terminal-ansiMagenta6:"var( ... iCyan)""var(-- ... iCyan)"var(--vscode-terminal-ansiCyan)(--vscode-terminal-ansiCyan)--vscode-terminal-ansiCyan7:"var( ... White)""var(-- ... White)"var(--vscode-terminal-ansiWhite)(--vscode-terminal-ansiWhite)--vscode-terminal-ansiWhiteQ2={0:" ... hite)"}var(--vscode-terminal-ansiBrightBlack)(--vscode-terminal-ansiBrightBlack)--vscode-terminal-ansiBrightBlack1:"var( ... htRed)""var(-- ... htRed)"var(--vscode-terminal-ansiBrightRed)(--vscode-terminal-ansiBrightRed)--vscode-terminal-ansiBrightRedvar(--vscode-terminal-ansiBrightGreen)(--vscode-terminal-ansiBrightGreen)--vscode-terminal-ansiBrightGreenvar(--vscode-terminal-ansiBrightYellow)(--vscode-terminal-ansiBrightYellow)--vscode-terminal-ansiBrightYellow4:"var( ... tBlue)""var(-- ... tBlue)"var(--vscode-terminal-ansiBrightBlue)(--vscode-terminal-ansiBrightBlue)--vscode-terminal-ansiBrightBluevar(--vscode-terminal-ansiBrightMagenta)(--vscode-terminal-ansiBrightMagenta)--vscode-terminal-ansiBrightMagenta6:"var( ... tCyan)""var(-- ... tCyan)"var(--vscode-terminal-ansiBrightCyan)(--vscode-terminal-ansiBrightCyan)--vscode-terminal-ansiBrightCyanvar(--vscode-terminal-ansiBrightWhite)(--vscode-terminal-ansiBrightWhite)--vscode-terminal-ansiBrightWhitefunctio ... })[u])}{return ... })[u])}return ... "})[u])l.repla ... "})[u])l.replace[&"<>]u=>({"& ... ;"})[u]({"&":" ... ;"})[u]({"&":" ... >"}){"&":"& ... ">"}"&":"&"&'"':"""""<":"<"<">":">">functio ... ("; ")}{return ... ("; ")}return ... n("; ")Object. ... n("; ")Object. ... `).joinObject. ... ${c}`)Object. ... (l).mapObject.entries(l)([u,c]) ... : ${c}``${u}: ${c}`; const w ... ff")});wr=({co ... }})]})}({code: ... }})]})}{code:l ... stId:c}code:ltestId:c{const ... }})]})}const f ... ),[l]);f=ct.us ... l),[l])ct.useM ... l),[l])ct.useMemo()=>Uv(l)Uv(l)return ... "}})]})m.jsxs( ... "}})]}){classN ... ""}})]}classNa ... r-text""test-e ... r-text"test-error-container test-error-text"data-testid":cchildre ... |""}})][u,m.js ... |""}})]m.jsx(" ... ||""}}){classN ... f||""}}test-error-viewdangero ... :f||""}{__html:f||""}__html:f||""f||""Nv=({pr ... mpt"})}({promp ... mpt"})}{prompt:l}prompt:l{const[ ... mpt"})}const[u ... te(!1);return ... ompt"})m.jsx(" ... ompt"}){classN ... rompt"}className:"button"style:{minWidth:100}{minWidth:100}minWidth:100onClick ... },3e3)}async() ... },3e3)}{await ... },3e3)}await n ... )},3e3)await n ... Text(l)c(!0)()=>{c(!1)}{c(!1)}childre ... prompt"u?"Copi ... prompt"CopiedCopy promptBv=({di ... iff")})({diff: ... iff")}){diff:l}m.jsx(" ... iff")}){"data- ... diff")}"data-t ... r-view""test-s ... r-view"test-screenshot-error-viewchildre ... -diff")m.jsx(u ... -diff"){diff:l ... ils:!0}hideDetails:!0image-difffunctio ... lt)"})}{return ... lt)"})}return ... ult)"})Mv(l||" ... ult)"})l||""{bg:"va ... ault)"}bg:"var ... ubtle)""var(-- ... ubtle)"var(--color-canvas-subtle)(--color-canvas-subtle)--color-canvas-subtlefg:"var ... fault)"const Q ... tart();Qv=`\n# ... Start()`\n# Ins ... Start()`\n# Ins ... imStart`\n# Ins ... ible.\n`\n# Inst ... sible.\nasync f ... n(`\n`)}{testIn ... derr:h}testInfo:lmetadata:uerrorContext:cerrors:fbuildCodeFrame:rstdout:ostderr:h{var S; ... n(`\n`)}var S;const v ... sage));v=new S ... ssage))new Set ... ssage))f.filte ... essage)f.filte ... `)).mapf.filte ... s(`\n`))f.filterO=>O.me ... es(`\n`)O.messa ... es(`\n`)O.message!O.mess ... es(`\n`)O.message.includesO=>O.messagefor(con ... ete(X);const Ov.keys()v.keysconst X(S=O.me ... ete(X);(S=O.me ... lete(X)(S=O.me ... udes(X)(S=O.message)!=null(S=O.message)S=O.messageS.includes(X)S.includesv.delete(X)v.deleteconst y ... age)));y=f.fil ... sage)))f.filte ... sage)))O=>!(!O ... ssage))!(!O.me ... ssage))(!O.mes ... ssage))!O.mess ... essage)!O.message!v.has(O.message)v.has(O.message)v.hasif(!y.length)return;!y.lengthconst A ... ,"",l];A=[Qv," ... ","",l][Qv,"# ... ","",l]# Test infoo&&A.pu ... ails");o&&A.pu ... tails")o&&A.pu ... ,"```")A.push( ... ,"```")# Stdout```Jf(o)h&&A.pu ... ,"```")# StderrJf(h)A.push( ... tails")# Error detailsfor(con ... "```");A.push( ... "```");Jf(O.message||"")O.message||""c&&A.push(c);c&&A.push(c)A.push(c)const E ... th-1]);E=await ... gth-1])await r ... gth-1])r(y[y.length-1])y[y.length-1]y.length-1return ... in(`\n`)E&&A.pu ... in(`\n`)E&&A.pu ... ,"```")# Test source```tsu!=null ... ,"```")u!=null&&u.gitDiffu!=nullu.gitDiff# Local changes```diffA.join(`\n`)A.joinconst Y ... ","g");Yv=new ... )","g")new Reg ... )","g")"([\\u0 ... <~])))"([\u001B\u009B][[\]()#;?]*(?:(?:(?:[a-zA-Z\d]*(?:;[-a-zA-Z\d\/#&.:=?%@~_]*)*)?\u0007)|(?:(?:\d{1,4}(?:;\d{0,4})*)?[\dA-PR-TZcf-ntqry=><~])))[\u001B\u009B][[\]()#;?]*(?:(?:(?:[a-zA-Z\d]*(?:;[-a-zA-Z\d\/#&.:=?%@~_]*)*)?\u0007)|(?:(?:\d{1,4}(?:;\d{0,4})*)?[\dA-PR-TZcf-ntqry=><~]))[\u001B\u009B]\u001B\u009B›[[\]()#;?]*[[\]()#;?]\](?:(?:(?:[a-zA-Z\d]*(?:;[-a-zA-Z\d\/#&.:=?%@~_]*)*)?\u0007)|(?:(?:\d{1,4}(?:;\d{0,4})*)?[\dA-PR-TZcf-ntqry=><~]))(?:(?:[a-zA-Z\d]*(?:;[-a-zA-Z\d\/#&.:=?%@~_]*)*)?\u0007)|(?:(?:\d{1,4}(?:;\d{0,4})*)?[\dA-PR-TZcf-ntqry=><~])(?:(?:[a-zA-Z\d]*(?:;[-a-zA-Z\d\/#&.:=?%@~_]*)*)?\u0007)(?:[a-zA-Z\d]*(?:;[-a-zA-Z\d\/#&.:=?%@~_]*)*)?\u0007(?:[a-zA-Z\d]*(?:;[-a-zA-Z\d\/#&.:=?%@~_]*)*)?(?:[a-zA-Z\d]*(?:;[-a-zA-Z\d\/#&.:=?%@~_]*)*)[a-zA-Z\d]*(?:;[-a-zA-Z\d\/#&.:=?%@~_]*)*[a-zA-Z\d]*[a-zA-Z\d](?:;[-a-zA-Z\d\/#&.:=?%@~_]*)*(?:;[-a-zA-Z\d\/#&.:=?%@~_]*);[-a-zA-Z\d\/#&.:=?%@~_]*[-a-zA-Z\d\/#&.:=?%@~_]*[-a-zA-Z\d\/#&.:=?%@~_]\u0007(?:(?:\d{1,4}(?:;\d{0,4})*)?[\dA-PR-TZcf-ntqry=><~])(?:\d{1,4}(?:;\d{0,4})*)?[\dA-PR-TZcf-ntqry=><~](?:\d{1,4}(?:;\d{0,4})*)?(?:\d{1,4}(?:;\d{0,4})*)\d{1,4}(?:;\d{0,4})*\d{1,4}(?:;\d{0,4})*(?:;\d{0,4});\d{0,4}\d{0,4}[\dA-PR-TZcf-ntqry=><~]A-PR-Tf-nfunctio ... Yv,"")}{return ... Yv,"")}return ... (Yv,"")l.replace(Yv,"")functio ... ues()]}{var f; ... ues()]}const c=new Map;c=new Mapfor(con ... nt:r})}{const ... nt:r})}const o ... +)?$/);o=r.nam ... ]+)?$/)r.name. ... ]+)?$/)r.name.match/^(.*)- ... .]+)?$/^(.*)-(expected|actual|diff|previous)(\.[^.]+)?$(.*).*(expected|actual|diff|previous)expected|actual|diff|previousprevious(\.[^.]+)?(\.[^.]+)\.[^.]+\.[^.]+[^.]if(!o)continue;const[, ... ,A=h+y;[,h,v,y=""]=o[,h,v,y=""]A=h+yh+ylet E=c.get(A);E=c.get(A)c.get(A)E||(E={ ... ent:r})E||(E={ ... t(A,E))(E={nam ... t(A,E))E={name ... et(A,E)E={name ... ${h}`]}{name:A ... ${h}`]}anchors ... -${h}`][`attachment-${h}`]`attachment-${h}`c.set(A,E)E.ancho ... f(r)}`)E.anchors.pushE.anchors`attach ... Of(r)}`u.attac ... exOf(r)v==="ac ... ent:r})v==="actual"(E.actu ... ent:r})E.actua ... ment:r}E.actual{attachment:r}attachment:rv==="ex ... cted"})v==="expected"(E.expe ... cted"})E.expec ... ected"}E.expected{attach ... ected"}title:"Expected"v==="pr ... ious"})v==="previous"(E.expe ... ious"})E.expec ... vious"}{attach ... vious"}title:"Previous"Previousv==="di ... ent:r})v==="diff"(E.diff ... ent:r})E.diff= ... ment:r}E.difffor(con ... ment));const[r,o]!o.actu ... ment));!o.actu ... hment))!o.actu ... xpected!o.actualo.actual!o.expectedo.expectedc.delete(r)(l.dele ... hment))l.delet ... chment)l.deleteo.actual.attachmento.expec ... achment(f=o.di ... achment(f=o.diff)==null(f=o.diff)f=o.diffo.difff.attachmentreturn[ ... lues()][...c.values()]...c.values()c.values()c.valuesconst G ... })]})};Gv=({te ... )})]})}({test: ... )})]})}{test:l ... ions:f}testRunMetadata:c{const{ ... )})]})}const{s ... oid 0);{screen ... }},[u]){screen ... text:O}screenshots:rvideos:otraces:hotherAttachments:vdiffs:yerrors:AotherAt ... chors:EotherAt ... AnchorsscreenshotAnchors:SerrorContext:Oct.useM ... }},[u])()=>{co ... ext:U}}{const ... ext:U}}const B ... Set(B);B=u.att ... h("_"))u.attac ... h("_"))u.attachments.filterN=>!N.n ... th("_")!N.name ... th("_")N.name. ... th("_")N.name.startsWithN.nameb=new S ... ge/")))new Set ... ge/")))B.filte ... age/"))B.filterN=>N.co ... mage/")N.conte ... mage/")N.conte ... rtsWithN.contentTypeimage/p=[...b ... f(N)}`)[...b]. ... f(N)}`)[...b].map[...b]...bN=>`att ... Of(N)}``attach ... Of(N)}`B.indexOf(N)B.indexOfx=B.fil ... deo/"))B.filte ... deo/"))N=>N.co ... ideo/")N.conte ... ideo/")video/R=B.fil ... trace")B.filte ... trace")N=>N.name==="trace"N.name==="trace"U=B.fin ... ntext")B.find( ... ntext")B.findN=>N.na ... ontext"N.name= ... ontext"error-contextZ=new Set(B)new Set(B)[...b,. ... te(N));[...b,. ... ete(N))[...b,. ... forEach[...b,...x,...R]...x...RN=>Z.delete(N)Z.delete(N)Z.deleteconst F ... ssage);F=[...Z ... f(N)}`)[...Z]. ... f(N)}`)[...Z].map[...Z]...Zj=Lv(b,u)Lv(b,u)D=u.err ... essage)u.error ... essage)u.errors.mapu.errorsN=>N.messageN.messagereturn{ ... text:U}{screen ... text:U}screenshots:[...b]videos:xtraces:RotherAttachments:Zdiffs:jerrors:DotherAt ... chors:FscreenshotAnchors:perrorContext:UX=P5(as ... void 0)P5(asyn ... void 0)async() ... rr:x})}{if(f!= ... rr:x})}if(f!=n ... return;f!=null ... yPromptf!=nullf.noCopyPromptconst B ... void 0;B=u.att ... tdout")u.attac ... tdout")u.attachments.findR=>R.name==="stdout"R.name==="stdout"R.nameb=u.att ... tderr")u.attac ... tderr")R=>R.name==="stderr"R.name==="stderr"p=B!=nu ... :void 0B!=null ... :void 0B!=null ... /plain"B!=null&&B.bodyB!=nullB.bodyB.conte ... /plain"B.contentTypex=b!=nu ... :void 0b!=null ... :void 0b!=null ... /plain"b!=null&&b.bodyb!=nullb.bodyb.conte ... /plain"b.contentTypereturn ... err:x})await z ... err:x})zv({tes ... err:x}){testIn ... derr:x}testInf ... in(`\n`)[`- Nam ... in(`\n`)[`- Nam ... `].join[`- Nam ... lumn}`]`- Name ... title}`l.path.join(" >> ")`- Loca ... olumn}`metadata:cerrorCo ... :O.bodyO!=null ... :O.bodyO!=null&&O.pathO!=nullO.pathawait f ... text())fetch(O ... text())fetch(O.path).thenfetch(O.path)R=>R.text()R.text()R.textO==null ... :O.bodyO==nullO.bodyerrors:u.errorsbuildCo ... deframeasync R=>R.codeframeR.codeframestdout:pstderr:x[l,O,c,u]return ... ))})]}){classN ... `))})]}classNa ... result"test-resultchildre ... }`))})][!!A.le ... }`))})]!!A.len ... })})]})!!A.length!A.length{header ... ]})})]}header:"Errors"Errorschildre ... )]})})][X&&m.j ... )]})})]X&&m.js ... t:X})})m.jsx(" ... t:X})}){style: ... pt:X})}style:{ ... ndex:1}{positi ... ndex:1}right:"16px"16pxpadding:"10px"10pxzIndex:1childre ... mpt:X})m.jsx(Nv,{prompt:X}){prompt:X}prompt:XA.map(( ... })]})})A.map(B,b)=> ... p})]})}{const ... p})]})}const p=Xv(B,y);p=Xv(B,y)Xv(B,y)return ... :p})]})m.jsxs( ... :p})]}){childr ... f:p})]}childre ... ff:p})][m.jsx( ... ff:p})]m.jsx(w ... ge-"+b){code:B}code:B"test-r ... age-"+b"test-r ... ssage-"test-result-error-message-p&&m.js ... iff:p})m.jsx(Bv,{diff:p}){diff:p}diff:p!!u.ste ... b}`))})!!u.steps.length!u.steps.lengthu.steps.lengthu.stepsm.jsx(k ... b}`))}){header ... {b}`))}header:"Test Steps"Test Stepschildre ... ${b}`))u.steps ... ${b}`))u.steps.map(B,b)=> ... -${b}`)m.jsx(c ... -${b}`){step:B ... epth:0}step:Bdepth:0`step-${b}`y.map(( ... ${b}`))y.mapm.jsx(S ... -${b}`){id:B.a ... :B})})}id:B.anchorsB.anchorschildre ... f:B})})m.jsx(k ... f:B})}){dataTe ... ff:B})}dataTes ... e-diff""test-r ... e-diff"test-results-image-diffheader: ... .name}``Image ... .name}`B.namerevealO ... anchorschildre ... iff:B})m.jsx(um,{diff:B}){diff:B}diff:B`diff-${b}`!!r.len ... b}`))})!!r.length!r.lengthheader:"Screenshots"ScreenshotsrevealOnAnchorId:Sr.map(( ... ${b}`))r.mapm.jsxs( ... -${b}`){id:`at ... t:u})]}id:`att ... Of(B)}``attach ... Of(B)}`u.attac ... exOf(B)childre ... lt:u})][m.jsx( ... lt:u})]m.jsx(" ... th)})}){href:V ... ath)})}href:Ve(B.path)Ve(B.path)B.pathchildre ... path)})m.jsx(" ... path)}){classN ... .path)}classNa ... enshot"screenshotsrc:Ve(B.path)m.jsx(n ... ult:u}){attach ... sult:u}attachment:B`screenshot-${b}`!!h.len ... ]})})})!!h.length!h.lengthm.jsx(S ... ]})})}){id:"at ... )]})})}id:"att ... -trace"attachment-tracechildre ... ))]})})m.jsx(k ... ))]})}){header ... `))]})}header:"Traces"TracesrevealO ... -trace"childre ... }`))]})m.jsxs( ... }`))]}){childr ... b}`))]}childre ... {b}`))][m.jsx( ... {b}`))]m.jsx(" ... 20}})}){href:V ... :20}})}href:Ve(nm(h))Ve(nm(h))nm(h)childre ... t:20}})m.jsx(" ... t:20}}){classN ... ft:20}}src:Cvstyle:{ ... eft:20}{width: ... eft:20}width:192height:117marginLeft:20h.map(( ... ${b}`))h.mapm.jsx(n ... -${b}`){attach ... {b+1}`}linkNam ... ${b+1}`h.lengt ... ${b+1}`h.length===1`trace-${b+1}``trace-${b}`!!o.len ... h))})})!!o.length!o.lengthm.jsx(S ... h))})}){id:"at ... th))})}id:"att ... -video"attachment-videochildre ... ath))})m.jsx(k ... ath))}){header ... path))}header:"Videos"VideosrevealO ... -video"childre ... .path))o.map(B ... .path))o.mapB=>m.js ... B.path)m.jsxs( ... B.path){childr ... t:u})]}m.jsx(" ... ype})}){contro ... Type})}controls:!0childre ... tType})m.jsx(" ... tType}){src:Ve ... ntType}type:B.contentType!!v.siz ... b}`))})!!v.size!v.sizev.sizeheader:"Attachments"AttachmentsrevealOnAnchorId:EdataTes ... hments"[...v]. ... ${b}`))[...v].map{id:`at ... ml")})}childre ... tml")})m.jsx(n ... tml")}){attach ... html")}openInN ... /html")B.conte ... /html")B.conte ... rtsWithtext/html`attach ... k-${b}`functio ... name))}{const ... name))}const c ... \n`)[0];c=l.split(`\n`)[0]l.split(`\n`)[0]l.split(`\n`)l.splitif(!(!c ... .name))!(!c.in ... shot"))(!c.inc ... shot"))!c.incl ... pshot")!c.incl ... nshot")c.inclu ... nshot")c.includestoHaveScreenshotc.inclu ... pshot")toMatchSnapshotreturn ... .name))u.find( ... .name))u.findf=>l.in ... f.name)l.includes(f.name)f.nameconst c ... })]})};cm=({te ... th:f})}({test: ... th:f})}{test:l ... epth:f}step:uresult:cdepth:f{const ... th:f})}const r=se();r=se()return ... pth:f})m.jsx(T ... pth:f}){title: ... epth:f}title:m ... n)})]})m.jsxs( ... n)})]}){"aria- ... on)})]}"aria-label":u.titleu.title"step-t ... tainer"step-title-containerchildre ... ion)})][hc(u.e ... ion)})]hc(u.er ... assed")u.error ... passed"u.error ... on===-1u.erroru.duration===-1u.durationu.skipp ... passed"u.skippedm.jsxs( ... e]})]}){classN ... ne]})]}classNa ... e-text"step-title-textchildre ... ine]})][m.jsx( ... ine]})]{children:u.title}children:u.titleu.count ... nt})]})u.count>1u.countm.jsxs( ... nt})]}){childr ... unt})]}childre ... ount})][" \u2715 ", ... ount})]" \u2715 " ✕ m.jsx(" ... count}){classN ... .count}"test-r ... ounter"test-result-counterchildren:u.countu.locat ... line]})u.locationm.jsxs( ... line]}){classN ... .line]}classNa ... t-path"test-result-pathchildre ... n.line]["\u2014 ",u ... n.line]"\u2014 "— u.location.fileu.location.linem.jsx(" ... acer"}){classN ... pacer"}classNa ... spacer"step-spaceru.attac ... :Ih()})u.attac ... ength>0u.attachments.lengthm.jsx(" ... :Ih()}){classN ... n:Ih()}classNa ... t-link""step-a ... t-link"step-attachment-linktitle:" ... chment"reveal attachmenthref:Ve ... }`},r))Ve(Cn({ ... }`},r))Cn({tes ... ]}`},r){test:l ... s[0]}`}anchor: ... ts[0]}``attach ... ts[0]}`u.attachments[0]onClick ... tion()}o=>{o.s ... tion()}{o.stop ... tion()}o.stopPropagation()o.stopPropagationchildren:Ih()m.jsx(" ... tion)}){classN ... ation)}classNa ... ration"step-durationchildre ... ration)Ol(u.duration)loadChi ... :void 0u.steps ... :void 0u.steps ... snippetu.snippet()=>{co ... cat(h)}{const ... cat(h)}const o ... l},y));o=u.sni ... e")]:[]u.snipp ... e")]:[][m.jsx( ... line")]m.jsx(w ... "line"){testId ... nippet}testId: ... nippet"test-snippetcode:u.snippeth=u.ste ... :l},y))u.steps ... :l},y))(v,y)=> ... t:l},y)m.jsx(c ... t:l},y){step:v ... test:l}step:vdepth:f+1f+1return o.concat(h)o.concat(h)o.concatVv=({pr ... )})]})}({proje ... )})]})}{projec ... ions:h}test:urun:fnext:rprev:o{const[ ... )})]})}const[v ... ))??[];[v,y]=ct.useState(f)ct.useState(f)A=se()E=u.ann ... "))??[]u.annot ... "))??[]u.annot ... h("_"))u.annotations.filteru.annotationsS=>!S.t ... th("_")!S.type ... th("_")S.type. ... th("_")S.type.startsWithS.typereturn ... S)})]})m.jsxs( ... S)})]}){childr ... +S)})]}childre ... (+S)})][m.jsx( ... (+S)})]m.jsx(O ... })]})}){title: ... )})]})}title:u.titleleftSup ... \u203a ")})m.jsx(" ... \u203a ")}){classN ... " \u203a ")}classNa ... e-path"test-case-pathchildre ... (" \u203a ")u.path.join(" \u203a ")u.path.join" \u203a " › rightSu ... })})]}){childr ... "})})]}childre ... \u00bb"})})][m.jsx( ... \u00bb"})})]m.jsx(" ... us"})}){classN ... ous"})}classNa ... idden")Ze(!o&&"hidden")!o&&"hidden"childre ... ious"})m.jsx(T ... ious"}){href:C ... vious"}href:Cn({test:o},A)Cn({test:o},A){test:o}test:ochildre ... evious""\u00ab previous"« previousm.jsx(" ... h:10}}){style:{width:10}}style:{width:10}{width:10}width:10m.jsx(" ... \u00bb"})}){classN ... t \u00bb"})}Ze(!r&&"hidden")!r&&"hidden"childre ... xt \u00bb"})m.jsx(T ... xt \u00bb"}){href:C ... ext \u00bb"}href:Cn({test:r},A)Cn({test:r},A){test:r}test:rchildren:"next \u00bb""next \u00bb"next »{classN ... on)})]}style:{ ... "24px"}{lineHeight:"24px"}lineHeight:"24px"24px[m.jsx( ... ion)})]m.jsx(" ... ne]})}){classN ... ine]})}classNa ... cation"test-case-locationchildre ... line]}){value: ... .line]}value:` ... .line}``${u.lo ... .line}`[u.loca ... n.line]m.jsx(t ... or:!0}){test:u ... tor:!0}trailingSeparator:!0test-case-durationm.jsx($ ... .tags}){style: ... u.tags}style:{ ... :"6px"}{marginLeft:"6px"}marginLeft:"6px"6pxactiveP ... ectNameu.projectNameotherLabels:u.tagsu.tagsu.resul ... },O))})u.resul ... gth!==0u.results.length===0u.results.lengthu.resultsE.length!==0m.jsx(k ... },O))}){header ... S},O))}header:"Annotations"AnnotationsdataTes ... ations""test-c ... ations"test-case-annotationschildre ... :S},O))E.map(( ... :S},O))E.map(S,O)=> ... n:S},O)m.jsx(z ... n:S},O){annotation:S}annotation:Sm.jsx(S ... y(+S)}){tabs:u ... >y(+S)}tabs:u. ... }))||[]u.resul ... }))||[]u.resul ... ]})}}))u.results.map(S,O)=> ... )]})}})({id:St ... )]})}}){id:Str ... })]})}}id:String(O)String(O){style: ... on)})]}style:{ ... enter"}{displa ... enter"}[hc(S.s ... ion)})]hc(S.status)S.statusZv(O)u.resul ... tion)})u.results.length>1"test-c ... ration"test-case-run-durationOl(S.duration)S.durationrender: ... h})]})}()=>{co ... h})]})}{const ... h})]})}const X ... ("_"));X=S.ann ... h("_"))S.annot ... h("_"))S.annotations.filterS.annotationsB=>!B.t ... th("_")!B.type ... th("_")B.type. ... th("_")B.type.startsWithB.typereturn ... :h})]})m.jsxs( ... :h})]}){childr ... s:h})]}childre ... ns:h})][!!X.le ... ns:h})]!!X.len ... },b))})!!X.length!X.lengthm.jsx(k ... },b))}){header ... B},b))}childre ... :B},b))X.map(( ... :B},b))X.map(B,b)=> ... n:B},b)m.jsx(z ... n:B},b){annotation:B}annotation:Bm.jsx(G ... ons:h}){test:u ... ions:h}result:Sselecte ... ring(v)String(v)setSele ... =>y(+S)S=>y(+S)y(+S)+Sfunctio ... ]})]})}{annota ... ion:u}}annotat ... tion:u}{type:l ... tion:u}type:ldescription:u{return ... ]})]})}{classN ... u)]})]}classNa ... tation""test-c ... tation"test-case-annotationchildre ... (u)]})][m.jsx( ... (u)]})]{style: ... dren:l}style:{ ... "bold"}{fontWeight:"bold"}fontWeight:"bold"u&&m.js ... i(u)]})m.jsxs( ... i(u)]}){value: ... Di(u)]}childre ... ,Di(u)][": ",Di(u)]Di(u)functio ... :"Run"}{return ... :"Run"}return ... `:"Run"l?`Retr ... `:"Run"`Retry #${l}`Runconst s ... `))})};sm=({fi ... }`))})}({file: ... }`))})}{file:l ... oter:r}file:lprojectNames:uisFileExpanded:csetFileExpanded:ffooter:r{const ... }`))})}const o=se();o=se()return ... d}`))})m.jsx(i ... d}`))}){expand ... Id}`))}expande ... :void 0c?c(l.fileId):void 0c(l.fileId)l.fileIdnoInsets:!0setExpa ... :void 0f?(h=>f ... :void 0(h=>f(l.fileId,h))h=>f(l.fileId,h)f(l.fileId,h)header: ... eName})m.jsx(" ... eName}){classN ... leName}classNa ... ection""chip-h ... ection"chip-header-allow-selectionchildren:l.fileNamel.fileNamechildre ... tId}`))l.tests ... tId}`))l.tests.mapl.testsh=>m.js ... stId}`)m.jsxs( ... stId}`){classN ... ]})})]}classNa ... utcome)Ze("tes ... utcome)test-file-test"test-f ... outcome"test-f ... tcome-"test-file-test-outcome-h.outcome[m.jsxs ... )]})})]style:{ ... start"}{alignI ... start"}alignIt ... -start"flex-start[m.jsxs ... ion)})]childre ... s})]})][m.jsx( ... s})]})]m.jsx(" ... come)}){classN ... tcome)}classNa ... s-icon""test-f ... s-icon"test-file-test-status-iconchildre ... utcome)hc(h.outcome)m.jsxs( ... gs})]}){childr ... ags})]}childre ... tags})][m.jsx( ... tags})]m.jsx(T ... ")})}){href:C ... \u203a ")})}href:Cn({test:h},o)Cn({test:h},o){test:h}test:htitle:[ ... (" \u203a ")[...h.p ... (" \u203a ")[...h.p ... e].join[...h.path,h.title]...h.pathh.pathh.titlechildre ... \u203a ")})test-file-title{style: ... h.tags}h.projectNameotherLabels:h.tagsh.tags{"data- ... ation)}"data-t ... ration"test-durationstyle:{ ... right"}{minWid ... right"}minWidth:"50px"textAlign:"right"Ol(h.duration)h.duration{classN ... 0})]})}classNa ... ls-row""test-f ... ls-row"test-file-details-rowchildre ... !0})]})m.jsxs( ... !0})]}){classN ... :!0})]}classNa ... -items""test-f ... -items"test-file-details-row-itemschildre ... m:!0})][m.jsx( ... m:!0})]m.jsx(T ... ne]})}){href:C ... ine]})}classNa ... h-link""test-f ... h-link"test-file-path-linktest-file-path[h.loca ... n.line]h.location.fileh.locationh.location.linem.jsx(qv,{test:h})m.jsx(Iv,{test:h})m.jsx(t ... im:!0}){test:h,dim:!0}dim:!0`test-${h.testId}`h.testIdfunctio ... k5()})}{test:l}{const ... k5()})}const u=se();for(con ... :k5()})const cc.attachmentsif(f.co ... :k5()})f.conte ... diff)/)f.conte ... mage/")f.conte ... rtsWithf.contentTypef.name. ... diff)/)f.name.match/-(expe ... |diff)/-(expected|actual|diff)(expected|actual|diff)expected|actual|diffreturn ... :k5()})m.jsx(T ... :k5()}){href:C ... n:k5()}href:Cn ... )}`},u)Cn({tes ... )}`},u){test:l ... f(f)}`}anchor: ... Of(f)}``attach ... Of(f)}`c.attac ... exOf(f)c.attac ... indexOftitle:"View images"View imageschildren:k5()k5()functio ... void 0}{const ... void 0}const u ... deo"));c=l.res ... ideo"))l.resul ... ideo"))l.results.findf=>f.at ... video")f.attac ... video")f.attachments.somef.attachmentsr=>r.name==="video"r.name==="video"return ... :void 0c?m.jsx ... :void 0m.jsx(T ... :J5()}){href:C ... n:J5()}href:Cn ... eo"},u)Cn({tes ... eo"},u){test:l ... video"}anchor: ... -video"title:"View video"View videochildren:J5()J5()class K ... ldren}}ct.Componentconstru ... null})}(){supe ... null})}{super( ... null})}super(...arguments);super(...arguments)...argumentsyn(this ... :null}){error: ... o:null}error:nullerrorInfo:nullcompone ... fo:f})}(c,f){t ... fo:f})}{this.s ... fo:f})}this.se ... nfo:f})this.setState{error: ... Info:f}error:cerrorInfo:frender( ... ildren}(){var ... ildren}{var c, ... ildren}var c,f,r;return ... hildrenthis.st ... hildrenthis.st ... rorInfothis.state.errorthis.statethis.state.errorInfoclassNa ... ew p-3"metadata-view p-3childre ... k]})})][m.jsx( ... k]})})]m.jsx(" ... ata."}){childr ... data."}childre ... adata.""An err ... adata."An error was encountered when trying to render metadata.An error was encountered when trying to render metadatam.jsx(" ... ck]})}){childr ... ack]})}childre ... tack]})m.jsxs( ... tack]})pre{style: ... Stack]}style:{ ... croll"}{overflow:"scroll"}overflow:"scroll"childre ... tStack][(c=thi ... tStack](c=this ... message(c=this ... )==null(c=this.state.error)c=this.state.errorc.messagem.jsx("br",{})(f=this ... f.stack(f=this ... )==null(f=this.state.error)f=this.state.errorf.stack(r=this ... ntStack(r=this ... )==null(r=this ... orInfo)r=this. ... rorInfor.componentStackthis.props.childrenconst k ... ]})})};kv=l=>m ... ata})})l=>m.js ... ata})})m.jsx(K ... ata})}){childr ... data})}childre ... adata})m.jsx(J ... adata}){metada ... tadata}metadata:l.metadatal.metadataJv=l=>{ ... ]})]})}l=>{con ... ]})]})}const u ... r)):[];u=l.metadatac=se(). ... (r)):[]se().ha ... (r)):[]se().ha ... other")"show-m ... -other"show-metadata-otherObject. ... has(r))Object. ... .filterObject. ... tadata)([r])=>!fm.has(r)[r]!fm.has(r)fm.has(r)fm.hasif(u.ci ... )]})]})u.ci||u ... ength>0u.ci||u.gitCommitu.ciu.gitCommitclassNa ... a-view"metadata-view[u.ci&& ... )})]})]u.ci&&! ... :u.ci})u.ci&&!u.gitCommit!u.gitCommitm.jsx(F ... :u.ci}){info:u.ci}info:u.ciu.gitCo ... ommit})m.jsx(W ... ommit}){ci:u.c ... Commit}ci:u.cicommit:u.gitCommitc.lengt ... })})]}){childr ... )})})]}childre ... r)})})][(u.git ... r)})})](u.gitC ... ator"})(u.gitCommit||u.ci)u.gitCommit||u.cim.jsx(" ... ator"}){classN ... rator"}metadata-separatorm.jsx(" ... ,r)})}){classN ... },r)})}classNa ... erties""metada ... erties"metadata-section metadata-propertiesrole:"list"childre ... )},r)})c.map(( ... )},r)})([r,o]) ... })},r)}{const ... })},r)}const h ... +"\u2026":h;h=typeo ... gify(o)typeof ... gify(o)typeof o!="object"typeof oo===nullo===void 0String(o)JSON.stringify(o)v=h.len ... )+"\u2026":hh.lengt ... )+"\u2026":hh.length>1e3h.slice(0,1e3)+"\u2026"h.slice(0,1e3)"\u2026"…return ... ]})},r)m.jsx(" ... ]})},r)classNa ... operty"copyable-propertyrole:"listitem"listitemchildre ... v)})]})m.jsxs( ... v)})]}){value: ... (v)})]}value:hchildre ... i(v)})][m.jsx( ... i(v)})]{style: ... dren:r}title:rm.jsx(" ... Di(v)}){title: ... :Di(v)}title:vchildren:Di(v)Di(v)Fv=({in ... })})})}({info: ... })})})}{info:l}info:l{const ... })})})}const u ... itHref;u=l.prT ... tHash}`l.prTit ... tHash}`l.prTitle`Commit ... tHash}`l.commitHashc=l.prH ... mitHrefl.prHre ... mitHrefl.prHrefl.commitHrefreturn ... u})})})m.jsx(" ... u})})}){classN ... :u})})}metadata-sectionchildre ... n:u})})m.jsx(" ... n:u})}){role:" ... en:u})}childre ... ren:u}){href:V ... dren:u}href:Ve(c)Ve(c)Wv=({ci ... ]})]})}({ci:l, ... ]})]})}{ci:l,commit:u}ci:lcommit:uconst c ... .time);c=(l==n ... subject(l==nul ... subject(l==nul ... rTitle)l==null ... prTitleu.subjectf=(l==n ... itHref)(l==nul ... itHref)(l==nul ... prHref)l==null ... .prHrefl==null ... mitHrefr=` <${ ... mail}>`` <${u. ... mail}>`u.author.emailu.authoro=`${u. ... e}${r}``${u.au ... e}${r}`u.author.nameh=Intl. ... r.time)Intl.Da ... r.time)Intl.Da ... .formatIntl.Da ... dium"}){dateStyle:"medium"}dateStyle:"medium"mediumu.committer.timeu.committerv=Intl. ... r.time)Intl.Da ... long"}){dateSt ... "long"}dateStyle:"full"fulltimeStyle:"long"[m.jsxs ... ]})]})]{role:" ... n:c})]}childre ... en:c})][f&&m.j ... en:c})]f&&m.js ... ren:c}){href:V ... dren:c}href:Ve(f)Ve(f)title:c!f&&m.j ... ren:c}){title:c,children:c}m.jsxs( ... h]})]}){role:" ... ,h]})]}childre ... ",h]})][m.jsx( ... ",h]})]className:"mr-1"mr-1m.jsxs( ... ",h]}){title: ... n ",h]}children:[" on ",h][" on ",h] on fm=new ... kers"])new Set ... kers"])["ci"," ... rkers"]actualWorkers_v=l=>{ ... length}l=>{con ... length}const u ... as(c));u=Objec ... has(c))Object. ... has(c))([c])=>!fm.has(c)[c]!fm.has(c)fm.has(c)return! ... .length!l.ci&& ... .length!l.ci&&!l.gitCommit!l.cil.ci!l.gitCommitl.gitCommit!u.lengthPv=({fi ... d"})})}({files ... d"})})}{files: ... ames:f}files:lexpandedFiles:usetExpandedFiles:cprojectNames:f{const ... d"})})}const r ... },[l]);r=ct.us ... o},[l])ct.useM ... o},[l])()=>{co ... turn o}{const ... turn o}const o=[];for(con ... <200});const vh+=v.te ... <200});h+=v.te ... h<200})h+=v.tests.lengthv.tests.lengthv.testso.push( ... h<200}){file:v ... :h<200}file:vdefault ... d:h<200h<200return oreturn ... nd"})})m.jsx(m ... nd"})}){childr ... und"})}childre ... ound"})r.lengt ... ound"})r.map(( ... eId}`))({file: ... leId}`){file:o ... nded:h}file:odefaultExpanded:hm.jsx(s ... leId}`){file:o ... ,c(A)}}isFileE ... ?h:!!y}v=>{con ... ?h:!!y}{const ... ?h:!!y}const y=u.get(v);y=u.get(v)u.get(v)u.getreturn ... 0?h:!!yy===void 0?h:!!yy===void 0!!ysetFile ... ),c(A)}(v,y)=> ... ),c(A)}{const ... ),c(A)}const A=new Map(u);A=new Map(u)new Map(u)A.set(v,y),c(A)A.set(v,y)A.set`file-${o.fileId}`o.fileIdm.jsx(" ... ound"}){classN ... found"}classNa ... -files""chip-h ... -files"chip-header test-file-no-fileschildre ... found"No tests foundY2=({re ... )})]})}({repor ... )})]})}{report ... ible:f}report:lfilteredStats:umetadataVisible:ctoggleM ... sible:ftoggleM ... Visible{if(!l) ... )})]})}if(!l)return null;const r ... ]})]});r=l.pro ... ames[0]l.proje ... ames[0]l.proje ... gth===1l.proje ... .lengthl.projectNames!!l.projectNames[0]!l.projectNames[0]l.projectNames[0]o=!r&&!u!r&&!uh=!_v(l ... ata"]})!_v(l.m ... ata"]})!_v(l.metadata)_v(l.metadata)m.jsxs( ... ata"]}){classN ... data"]}classNa ... -line")Ze("met ... -line")metadata-toggle!o&&"me ... d-line""metada ... d-line"metadata-toggle-second-linetitle:c ... tadata"c?"Hide ... tadata"Hide metadataShow metadatachildre ... adata"][c?Ni() ... adata"]c?Ni():Cl()Metadatav=m.jsx ... o&&h]})m.jsxs( ... o&&h]}){classN ... ,o&&h]}classNa ... r-info""test-f ... r-info"test-file-header-infochildre ... ),o&&h][r&&m.j ... ),o&&h]r&&m.js ... s[0]]})m.jsxs( ... s[0]]}){"data- ... es[0]]}"data-t ... t-name"project-namechildre ... mes[0]]["Proje ... mes[0]]Project: u&&m.js ... +")"]})m.jsxs( ... +")"]}){"data- ... )+")"]}"data-t ... -count""filter ... -count"filtered-tests-countchildre ... n)+")"]["Filte ... n)+")"]Filtered: u.total!!u.tot ... on)+")"!!u.total!u.total"("+Ol( ... on)+")""("+Ol(u.duration)o&&hy=m.jsx ... )]})]}){childr ... 0)]})]}childre ... ?0)]})][m.jsx( ... ?0)]})]m.jsx(" ... ():""}){"data- ... g():""}"data-t ... l-time"overall-timestyle:{ ... "10px"}{marginRight:"10px"}marginRight:"10px"childre ... ng():""l?new D ... ng():""new Dat ... rtTime)l.startTimem.jsxs( ... ??0)]}){"data- ... n??0)]}overall-durationchildre ... on??0)]["Total ... on??0)]Total time: Ol(l.duration??0)l.duration??0l.duration{childr ... E))})]}childre ... +E))})][m.jsx( ... +E))})]m.jsx(O ... der:y}){title: ... ader:y}title:l ... s.titlel.options.titleleftSuperHeader:vrightSuperHeader:y!o&&hc&&m.js ... adata})m.jsx(k ... adata})!!l.err ... "+E))})!!l.errors.length!l.errors.lengthl.errors.lengthl.errorsm.jsx(k ... "+E))}){header ... -"+E))}dataTes ... errors"report-errorschildre ... e-"+E))l.error ... e-"+E))l.errors.map(A,E)=> ... ge-"+E)m.jsx(w ... ge-"+E){code:A}code:A"test-r ... age-"+Etest-report-error-message-rm=l=>{ ... ${f}s`}l=>{con ... ${f}s`}{const ... ${f}s`}const u ... f=u%60;u=Math.round(l/1e3)Math.round(l/1e3)c=Math.floor(u/60)Math.floor(u/60)f=u%60u%60return ... ${f}s`c===0?` ... ${f}s`c===0`${f}s``${c}m ${f}s`$v=({en ... )]})})}({entri ... )]})})}{entries:l}entries:lconst f ... tion));f=Math. ... th))*10Math.ma ... th))*10Math.ma ... ength))...l.ma ... length)l.map(D ... length)D=>D.label.lengthD.label.lengthD.labelo={top: ... 50,f))}{top:20 ... 50,f))}top:20right:20bottom:40left:Ma ... (50,f))Math.mi ... (50,f))800*.5Math.max(50,f)h=800-o.left-o.right800-o.left-o.right800-o.lefto.lefto.rightv=Math. ... tTime))Math.mi ... tTime))...l.ma ... rtTime)l.map(D ... rtTime)D=>D.startTimeD.startTimey=Math. ... ation))Math.ma ... ation))...l.ma ... ration)l.map(D ... ration)D=>D.st ... urationD.start ... urationD.durationlet A,E;const S=y-v;S=y-vy-vS<60*1e ... ,E=!1);S<60*1e ... 3,E=!1)S<60*1e360*1e3(A=10*1e3,E=!0)A=10*1e3,E=!0A=10*1e310*1e3E=!0S<300*1 ... 3,E=!1)S<300*1e3300*1e3(A=30*1e3,E=!0)A=30*1e3,E=!0A=30*1e330*1e3S<1800* ... 3,E=!1)S<1800*1e31800*1e3(A=300*1e3,E=!1)A=300*1e3,E=!1A=300*1e3E=!1(A=600*1e3,E=!1)A=600*1e3,E=!1A=600*1e3600*1e3const O ... ),F=[];O=Math.ceil(v/A)*AMath.ceil(v/A)*AMath.ceil(v/A)v/AX=(D,N) ... (0,-3)}(D,N)=> ... (0,-3)}{const ... (0,-3)}const K ... id 0});K=new D ... oid 0})new Dat ... oid 0})new Date(D){hour:" ... void 0}second: ... :void 0E?"2-digit":void 0if(N)return K;return K;if(K.en ... e(0,-3)K.endsW ... (" PM")K.endsWith(" AM")K.endsWith AMK.endsWith(" PM") PMreturn K.slice(0,-3)K.slice(0,-3)K.sliceb=(y-v)*1.1(y-v)*1.1(y-v)p=Math.ceil(b/A)*AMath.ceil(b/A)*AMath.ceil(b/A)b/Ax=h/ph/pR=20U=8Z=l.length*(R+U)l.length*(R+U)(R+U)R+UF=[]for(let ... ==O)})}D<=v+pv+pD+=Alet D=OD=O{const ... ==O)})}const N=D-v;N=D-vD-vF.push( ... ===O)})F.push{x:N*x, ... D===O)}x:N*xN*xlabel:X(D,D===O)X(D,D===O)D===Oconst j ... bottom;j=Z+o.top+o.bottomZ+o.top+o.bottomZ+o.topo.topo.bottom{viewBo ... "})]})}viewBox ... 0 ${j}``0 0 800 ${j}`preserv ... d meet"xMidYMid meet{width: ... "auto"}width:"100%"100%height:"auto"role:"img"childre ... e"})]}){transf ... ue"})]}transfo ... .top})``transl ... .top})`role:"presentation"presentationchildre ... rue"})][F.map( ... rue"})]F.map(( ... )]},K))F.map({x:D,l ... })]},K){x:D,label:N}x:Dlabel:Nm.jsxs( ... })]},K){"aria- ... n:N})]}childre ... en:N})][m.jsx( ... en:N})]m.jsx(" ... h:"1"}){x1:D,y ... th:"1"}x1:Dy1:0x2:Dy2:Zstroke: ... muted)""var(-- ... muted)"var(--color-border-muted)(--color-border-muted)--color-border-mutedstrokeWidth:"1"m.jsx(" ... ren:N}){x:D,y: ... dren:N}y:Z+20Z+20textAnchor:"middle"middledominan ... middle"fontSize:"12"fill:"v ... muted)"var(--color-fg-muted)(--color-fg-muted)--color-fg-mutedchildren:Nl.map(( ... ]},N)})(D,N)=> ... )]},N)}{const ... )]},N)}const K ... ength];K=D.startTime-vD.startTime-vJ=D.duration*xD.duration*xk=K*xK*xnt=N*(R+U)N*(R+U)P=["var ... ue-4)"]["var(- ... ue-4)"]"var(-- ... lue-2)"var(--color-scale-blue-2)(--color-scale-blue-2)--color-scale-blue-2"var(-- ... lue-3)"var(--color-scale-blue-3)(--color-scale-blue-3)--color-scale-blue-3"var(-- ... lue-4)"var(--color-scale-blue-4)(--color-scale-blue-4)--color-scale-blue-4st=P[N%P.length]P[N%P.length]N%P.lengthP.lengthreturn ... })]},N)m.jsxs( ... })]},N){role:" ... bel})]}"aria-l ... tooltipD.tooltipchildre ... abel})][m.jsx( ... abel})]m.jsx(" ... tip})}){classN ... ltip})}classNa ... tt-bar"gantt-barx:ky:ntwidth:Jheight:Rfill:strx:"2"tabIndex:0childre ... oltip})m.jsx(" ... oltip}){children:D.tooltip}children:D.tooltip{x:k+J+ ... ation)}x:k+J+6k+J+6k+Jy:nt+R/2nt+R/2R/2rm(D.duration)m.jsx(" ... label}){x:-10, ... .label}x:-10-10textAnchor:"end"children:D.labelm.jsx(" ... true"}){x1:0,y ... "true"}x1:0x2:0y1:Zx2:hfunctio ... u})]})}{report:l,tests:u}tests:u{return ... u})]})}{childr ... s:u})]}childre ... ts:u})][m.jsx( ... ts:u})]m.jsx(ny,{report:l}){report:l}m.jsx(e ... sts:u})functio ... id 0})}{const[ ... id 0})}const[c ... te(50);[c,f]=u ... ate(50)ue.useState(50)return ... oid 0})m.jsx(s ... oid 0}){file:{ ... void 0}file:{f ... s:null}{fileId ... s:null}fileId:"slowest"slowestfileNam ... Tests"Slowest Teststests:u.slice(0,c)u.slice(0,c)u.slicestats:nullproject ... ctNamesl.json( ... ctNamesl.json()l.jsonfooter: ... :void 0cr+50)()=>f(r=>r+50)f(r=>r+50)r=>r+50r+50childre ... more"][Ni()," ... more"]Show 50 morefunctio ... :c})})}{const ... :c})})}const u ... chines;u=l.json().machinesl.json().machinesif(u.le ... n null;const c ... Index);c=u.map ... dIndex)u.map(f ... dIndex)u.map(f ... }).sortu.map(f ... x??1}})f=>{con ... ex??1}}{const ... ex??1}}const r ... ort"});r=f.tag.join(" ")f.tag.join(" ")f.tag.joinf.tago=new D ... hort"})f.startTime{hour:" ... short"}timeZoneName:"short"let h=` ... ion)}`;h=`${r} ... tion)}``${r} s ... tion)}`rm(f.duration)f.durationreturn ... dex??1}f.shard ... dex??1}f.shard ... dex})`)f.shardIndex(h+=` ( ... dex})`)h+=` (s ... ndex})`` (shar ... ndex})`{label: ... dex??1}label:rtooltip:hstartTi ... artTimeduration:f.durationshardIn ... ndex??1f.shardIndex??1(f,r)=> ... rdIndexf.label ... rdIndexf.label ... .label)f.label ... Comparef.labelr.labelf.shard ... rdIndexr.shardIndexreturn ... s:c})})m.jsx(k ... s:c})}){header ... es:c})}header:"Timeline"Timelinechildre ... ies:c})m.jsx($ ... ies:c}){entries:c}entries:cconst a ... v})})};ay=l=>! ... board")l=>!l.h ... board")!l.has( ... board")!l.has("testId")l.has("testId")l.has!l.has("speedboard")l.has("speedboard")ly=l=>l ... estId")l=>l.has("testId")iy=l=>l ... estId")l=>l.ha ... estId")l.has(" ... estId")uy=({re ... )]})})}({repor ... )]})})}{var Z, ... )]})})}var Z,F;const u ... [E,x]);[c,f]=c ... ew Map)ct.useState(new Map)[r,o]=c ... ")||"")ct.useS ... ")||"")u.get("q")||""u.get("q")[h,v]=c ... ate(!1)y=u.has ... board")u.has("speedboard")u.has[A]=_h( ... es",!1)E=u.get("testId")u.get("testId")S=((Z=u ... ())||""((Z=u.g ... ())||""((Z=u.g ... ring())(Z=u.ge ... tring()(Z=u.get("q"))==null(Z=u.get("q"))Z=u.get("q")Z.toString()Z.toStringO=S?"&q="+S:""S?"&q="+S:"""&q="+S&q=X=(F=l= ... s.title(F=l==n ... s.title(F=l==n ... )==null(F=l==n ... json())F=l==nu ... .json()l==null ... .json()F.options.titleF.optionsB=ct.us ... j},[l])ct.useM ... j},[l])()=>{co ... turn j}{const ... turn j}const j=new Map;j=new Mapfor(con ... ileId);(l==nul ... es)||[](l==nul ... .files)l==null ... ).filesl.json().filesconst DD.testsconst Nj.set(N ... ileId);j.set(N ... fileId)j.setN.testIdD.fileIdreturn jb=ct.us ... r),[r])ct.useM ... r),[r])()=>rc.parse(r)rc.parse(r)rc.parsep=ct.us ... ,[l,b])ct.useM ... ,[l,b])()=>b.e ... ||[],b)b.empty ... ||[],b)b.empty()b.emptysy((l== ... ||[],b)[l,b]x=ct.us ... b,A,y])ct.useM ... b,A,y])()=>y?o ... fy(l,b)y?oy(l, ... fy(l,b)oy(l,b)A?ry(l,b):fy(l,b)ry(l,b)fy(l,b)[l,b,A,y]{prev:R ... ,[E,x]){prev:R,next:U}prev:Rnext:Uct.useM ... ,[E,x])()=>{co ... ext:N}}{const ... ext:N}}const j ... void 0;j=x.tes ... Id===E)x.tests ... Id===E)x.tests.findIndexx.testsK=>K.testId===EK.testId===EK.testIdD=j>0?x ... :void 0j>0?x.t ... :void 0j>0x.tests[j-1]j-1N=j{co ... wn",j)}{const ... wn",j)}const j ... reak}};j=D=>{i ... break}}D=>{if( ... break}}{if(D.t ... break}}if(D.ta ... return;D.targe ... .altKeyD.targe ... metaKeyD.targe ... ctrlKeyD.targe ... hiftKeyD.targe ... ElementD.targetD.shiftKeyD.ctrlKeyD.metaKeyD.altKeyconst N ... ams(u);N=new U ... rams(u)D.keycase"a" ... ;break;D.preve ... ("#?");D.preve ... a("#?")D.preventDefault()D.preventDefaultca("#?")case"p" ... ;break;D.preve ... ",!1));D.preve ... d",!1))N.delete("testId")N.deleteN.delet ... board")ca(Na(N ... d",!1))Na(N,"s:passed",!1)s:passedcase"f" ... ;break;Na(N,"s:failed",!1)s:failedcase"Ar ... ;break;R&&(D.p ... N)+O));R&&(D.p ... ,N)+O))(D.prev ... ,N)+O))D.preve ... },N)+O)ca(Cn({test:R},N)+O)Cn({test:R},N)+OCn({test:R},N){test:R}test:Rcase"Ar ... );breakU&&(D.p ... N)+O));U&&(D.p ... ,N)+O))ca(Cn({test:U},N)+O)Cn({test:U},N)+OCn({test:U},N){test:U}test:Ureturn ... own",j)documen ... own",j)()=>doc ... own",j)[R,U,O,S,u]ct.useE ... "},[X])()=>{X? ... eport"}{X?docu ... eport"}X?docum ... Report"document.title=Xdocument.titledocumen ... Report""Playwr ... Report"Playwright Test ReportclassNa ... 4 pb-4""htmlre ... 4 pb-4"htmlreport vbox px-4 pb-4childre ... })})]}){childr ... B})})]}childre ... :B})})][l&&m.j ... :B})})]l&&m.js ... ext:o})m.jsx(E ... ext:o}){stats: ... Text:o}stats:l.json().statsl.json().statsfilterText:rsetFilterText:om.jsxs( ... []})]}){predic ... |[]})]}predicate:aychildre ... ||[]})][m.jsx( ... ||[]})]m.jsx(Y ... =>!j)}){report ... j=>!j)}report: ... .json()filteredStats:pmetadataVisible:htoggleM ... (j=>!j)()=>v(j=>!j)v(j=>!j)j=>!jm.jsx(P ... )||[]}){files: ... s)||[]}files:x.filesx.filesexpandedFiles:csetExpandedFiles:fproject ... es)||[](l==nul ... tNames)l==null ... ctNamesm.jsxs( ... ts})]}){predic ... sts})]}predicate:iychildre ... ests})][m.jsx( ... ests})]l&&m.js ... tests})m.jsx(t ... tests}){report ... .tests}tests:x.testsm.jsx(K ... p:B})}){predic ... ap:B})}predicate:lychildre ... Map:B})l&&m.js ... Map:B})m.jsx(c ... Map:B}){report ... dMap:B}testId:EtestIdToFileIdMap:Bcy=({re ... :v})})}({repor ... :v})})}{report ... stId:r}testIdToFileIdMap:unext:cprev:ftestId:r{const[ ... :v})})}const[o ... ||"0");[o,h]=c ... ading")ct.useS ... ading")v=+(se( ... )||"0")+(se(). ... )||"0")(se().g ... )||"0")se().get("run")||"0"se().get("run")if(ct.u ... umn"});ct.useE ... oading"ct.useE ... l,r,u])()=>{(a ... ")})()}{(async ... ")})()}(async( ... d")})()(async( ... und")})async() ... ound")}{if(!r| ... ound")}if(!r|| ... return;!r||typ ... .testIdtypeof ... .testIdtypeof o=="object"r===o.testIdo.testIdconst S=u.get(r);S=u.get(r)u.get(r)if(!S){ ... return}!S{h("not ... return}h("not-found");h("not-found")not-foundconst O ... json`);O=await ... .json`)await l ... .json`)l.entry(`${S}.json`)l.entry`${S}.json`h((O==n ... found")(O==nul ... -found"(O==nul ... d===r))O==null ... Id===r)O.tests ... Id===r)O.tests.findO.testsX=>X.testId===rX.testId===rX.testId[o,l,r,u]o==="loading"return ... umn"});m.jsx(" ... lumn"}){classN ... olumn"}classNa ... column"test-case-columnif(o=== ... ]})]});o==="not-found"return ... ]})]});m.jsxs( ... r]})]}){classN ... ,r]})]}childre ... ",r]})][m.jsx( ... ",r]})]m.jsx(O ... ound"}){title: ... found"}title:" ... found"Test not foundm.jsxs( ... ",r]}){classN ... : ",r]}childre ... D: ",r]["Test ID: ",r]Test ID: const{p ... json();{projec ... .json(){projec ... ions:E}projectNames:ymetadata:Aoptions:Ereturn ... n:v})})m.jsx(" ... n:v})}){classN ... un:v})}childre ... run:v})m.jsx(V ... run:v}){projec ... ,run:v}testRunMetadata:Arun:vconst c ... ion:0};c={tota ... tion:0}{total:0,duration:0}total:0duration:0for(con ... ration}{const ... ration}const r ... es(o));r=f.tes ... hes(o))f.tests ... hes(o))f.tests.filterf.testso=>u.matches(o)u.matches(o)u.matchesc.total+=r.length;c.total+=r.lengthc.totalfor(con ... urationc.durat ... urationc.durationo.durationconst c ... ts:[]};c={file ... sts:[]}{files:[],tests:[]}files:[]tests:[]for(con ... (...r)}{const ... (...r)}r.lengt ... h(...r)r.lengt ... sts:r})c.files ... sts:r})c.files.pushc.files{...f,tests:r}tests:rc.tests.push(...r)c.tests.pushc.testsfunctio ... turn r}{const ... turn r}const c ... ew Map;f=new Mapfor(con ... sh(E)}}{const ... sh(E)}}const h ... es(v));h=o.tes ... hes(v))o.tests ... hes(v))o.tests.filtero.testsv=>u.matches(v)u.matches(v)for(con ... ush(E)}{const ... ush(E)}const y ... mous>";y=v.pat ... ymous>"v.path[ ... ymous>"v.path[0]v.pathlet A=f.get(y);A=f.get(y)f.get(y)f.getA||(A={ ... sh(A));A||(A={ ... ush(A))(A={fil ... ush(A))A={file ... push(A)A={file ... ok:!0}}{fileId ... ok:!0}}fileId:yfileName:ystats:{ ... ,ok:!0}{total: ... ,ok:!0}expected:0unexpected:0flaky:0skipped:0ok:!0f.set(y,A)c.push(A)const E ... ce(1)};E={...v ... ice(1)}{...v,p ... ice(1)}path:v.path.slice(1)v.path.slice(1)v.path.sliceA.tests.push(E)A.tests.pushA.testsc.sort( ... Name));c.sort( ... eName))c.sort(o,h)=> ... leName)o.fileN ... leName)o.fileN ... Compareo.fileNameh.fileNameconst r ... ts:[]};r={files:c,tests:[]}{files:c,tests:[]}files:cfor(con ... tests);r.tests ... tests);r.tests ... .tests)r.tests.pushr.tests...o.testsfunctio ... sts:f}}{const ... sts:f}}const f ... es(r));f=((l== ... hes(r))((l==nu ... hes(r))((l==nu ... .filter((l==nu ... .tests)((l==nu ... flatMap((l==nu ... s)||[])r=>r.testsr=>u.matches(r)u.matches(r)return ... ests:f}f.sort( ... ests:f}f.sort( ... ration)f.sort(r,o)=> ... urationo.durat ... urationr.duration{files:[],tests:f}tests:fconst d ... link");dy="dat ... svg%3e""data:i ... svg%3e"data:image/svg+xml,%3csvg%20width='400'%20height='400'%20viewBox='0%200%20400%20400'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M136.444%20221.556C123.558%20225.213%20115.104%20231.625%20109.535%20238.032C114.869%20233.364%20122.014%20229.08%20131.652%20226.348C141.51%20223.554%20149.92%20223.574%20156.869%20224.915V219.481C150.941%20218.939%20144.145%20219.371%20136.444%20221.556ZM108.946%20175.876L61.0895%20188.484C61.0895%20188.484%2061.9617%20189.716%2063.5767%20191.36L104.153%20180.668C104.153%20180.668%20103.578%20188.077%2098.5847%20194.705C108.03%20187.559%20108.946%20175.876%20108.946%20175.876ZM149.005%20288.347C81.6582%20306.486%2046.0272%20228.438%2035.2396%20187.928C30.2556%20169.229%2028.0799%20155.067%2027.5%20145.928C27.4377%20144.979%2027.4665%20144.179%2027.5336%20143.446C24.04%20143.657%2022.3674%20145.473%2022.7077%20150.721C23.2876%20159.855%2025.4633%20174.016%2030.4473%20192.721C41.2301%20233.225%2076.8659%20311.273%20144.213%20293.134C158.872%20289.185%20169.885%20281.992%20178.152%20272.81C170.532%20279.692%20160.995%20285.112%20149.005%20288.347ZM161.661%20128.11V132.903H188.077C187.535%20131.206%20186.989%20129.677%20186.447%20128.11H161.661Z'%20fill='%232D4552'/%3e%3cpath%20d='M193.981%20167.584C205.861%20170.958%20212.144%20179.287%20215.465%20186.658L228.711%20190.42C228.711%20190.42%20226.904%20164.623%20203.57%20157.995C181.741%20151.793%20168.308%20170.124%20166.674%20172.496C173.024%20167.972%20182.297%20164.268%20193.981%20167.584ZM299.422%20186.777C277.573%20180.547%20264.145%20198.916%20262.535%20201.255C268.89%20196.736%20278.158%20193.031%20289.837%20196.362C301.698%20199.741%20307.976%20208.06%20311.307%20215.436L324.572%20219.212C324.572%20219.212%20322.736%20193.41%20299.422%20186.777ZM286.262%20254.795L176.072%20223.99C176.072%20223.99%20177.265%20230.038%20181.842%20237.869L274.617%20263.805C282.255%20259.386%20286.262%20254.795%20286.262%20254.795ZM209.867%20321.102C122.618%20297.71%20133.166%20186.543%20147.284%20133.865C153.097%20112.156%20159.073%2096.0203%20164.029%2085.204C161.072%2084.5953%20158.623%2086.1529%20156.203%2091.0746C150.941%20101.747%20144.212%20119.124%20137.7%20143.45C123.586%20196.127%20113.038%20307.29%20200.283%20330.682C241.406%20341.699%20273.442%20324.955%20297.323%20298.659C274.655%20319.19%20245.714%20330.701%20209.867%20321.102Z'%20fill='%232D4552'/%3e%3cpath%20d='M161.661%20262.296V239.863L99.3324%20257.537C99.3324%20257.537%20103.938%20230.777%20136.444%20221.556C146.302%20218.762%20154.713%20218.781%20161.661%20220.123V128.11H192.869C189.471%20117.61%20186.184%20109.526%20183.423%20103.909C178.856%2094.612%20174.174%20100.775%20163.545%20109.665C156.059%20115.919%20137.139%20129.261%20108.668%20136.933C80.1966%20144.61%2057.179%20142.574%2047.5752%20140.911C33.9601%20138.562%2026.8387%20135.572%2027.5049%20145.928C28.0847%20155.062%2030.2605%20169.224%2035.2445%20187.928C46.0272%20228.433%2081.663%20306.481%20149.01%20288.342C166.602%20283.602%20179.019%20274.233%20187.626%20262.291H161.661V262.296ZM61.0848%20188.484L108.946%20175.876C108.946%20175.876%20107.551%20194.288%2089.6087%20199.018C71.6614%20203.743%2061.0848%20188.484%2061.0848%20188.484Z'%20fill='%23E2574C'/%3e%3cpath%20d='M341.786%20129.174C329.345%20131.355%20299.498%20134.072%20262.612%20124.185C225.716%20114.304%20201.236%2097.0224%20191.537%2088.8994C177.788%2077.3834%20171.74%2069.3802%20165.788%2081.4857C160.526%2092.163%20153.797%20109.54%20147.284%20133.866C133.171%20186.543%20122.623%20297.706%20209.867%20321.098C297.093%20344.47%20343.53%20242.92%20357.644%20190.238C364.157%20165.917%20367.013%20147.5%20367.799%20135.625C368.695%20122.173%20359.455%20126.078%20341.786%20129.174ZM166.497%20172.756C166.497%20172.756%20180.246%20151.372%20203.565%20158C226.899%20164.628%20228.706%20190.425%20228.706%20190.425L166.497%20172.756ZM223.42%20268.713C182.403%20256.698%20176.077%20223.99%20176.077%20223.99L286.262%20254.796C286.262%20254.791%20264.021%20280.578%20223.42%20268.713ZM262.377%20201.495C262.377%20201.495%20276.107%20180.126%20299.422%20186.773C322.736%20193.411%20324.572%20219.208%20324.572%20219.208L262.377%20201.495Z'%20fill='%232EAD33'/%3e%3cpath%20d='M139.88%20246.04L99.3324%20257.532C99.3324%20257.532%20103.737%20232.44%20133.607%20222.496L110.647%20136.33L108.663%20136.933C80.1918%20144.611%2057.1742%20142.574%2047.5704%20140.911C33.9554%20138.563%2026.834%20135.572%2027.5001%20145.929C28.08%20155.063%2030.2557%20169.224%2035.2397%20187.929C46.0225%20228.433%2081.6583%20306.481%20149.005%20288.342L150.989%20287.719L139.88%20246.04ZM61.0848%20188.485L108.946%20175.876C108.946%20175.876%20107.551%20194.288%2089.6087%20199.018C71.6615%20203.743%2061.0848%20188.485%2061.0848%20188.485Z'%20fill='%23D65348'/%3e%3cpath%20d='M225.27%20269.163L223.415%20268.712C182.398%20256.698%20176.072%20223.99%20176.072%20223.99L232.89%20239.872L262.971%20124.281L262.607%20124.185C225.711%20114.304%20201.232%2097.0224%20191.532%2088.8994C177.783%2077.3834%20171.735%2069.3802%20165.783%2081.4857C160.526%2092.163%20153.797%20109.54%20147.284%20133.866C133.171%20186.543%20122.623%20297.706%20209.867%20321.097L211.655%20321.5L225.27%20269.163ZM166.497%20172.756C166.497%20172.756%20180.246%20151.372%20203.565%20158C226.899%20164.628%20228.706%20190.425%20228.706%20190.425L166.497%20172.756Z'%20fill='%231D8D22'/%3e%3cpath%20d='M141.946%20245.451L131.072%20248.537C133.641%20263.019%20138.169%20276.917%20145.276%20289.195C146.513%20288.922%20147.74%20288.687%20149%20288.342C152.302%20287.451%20155.364%20286.348%20158.312%20285.145C150.371%20273.361%20145.118%20259.789%20141.946%20245.451ZM137.7%20143.451C132.112%20164.307%20127.113%20194.326%20128.489%20224.436C130.952%20223.367%20133.554%20222.371%20136.444%20221.551L138.457%20221.101C136.003%20188.939%20141.308%20156.165%20147.284%20133.866C148.799%20128.225%20150.318%20122.978%20151.832%20118.085C149.393%20119.637%20146.767%20121.228%20143.776%20122.867C141.759%20129.093%20139.722%20135.898%20137.7%20143.451Z'%20fill='%23C04B41'/%3e%3c/svg%3eFf=N5Rr=docu ... "link")Rr.rel= ... icon";Rr.rel= ... t icon"Rr.relshortcut iconRr.href=dy;Rr.href=dyRr.hrefdocumen ... ld(Rr);documen ... ild(Rr)document.headconst h ... l})})};hy=()=> ... :l})})}()=>{co ... :l})})}{const[ ... :l})})}const[l ... tate();[l,u]=ct.useState()ct.useState()return ... t:l})})ct.useE ... t:l})})ct.useE ... })},[])()=>{co ... u(c)})}{const ... u(c)})}const c=new my;c=new mynew myc.load( ... ,u(c)})c.load().thenc.load()c.load()=>{va ... ),u(c)}{var f; ... ),u(c)}(f=docu ... (),u(c)(f=docu ... emove()(f=docu ... )==null(f=docu ... se64"))f=docum ... ase64")documen ... ase64")"playwr ... Base64"playwrightReportBase64f.remove()f.removem.jsx(c ... t:l})}){childr ... rt:l})}childre ... ort:l})m.jsx(uy,{report:l})window. ... ,{}))};window. ... y,{}))}window.onload()=>{gv ... y,{}))}{gv(),X ... y,{}))}gv(),X5 ... hy,{}))gv()X5.crea ... hy,{}))X5.crea ... .renderX5.crea ... root"))X5.createRootdocumen ... #root")#rootm.jsx(hy,{})class m ... ta())}}constru ... json")}(){yn(t ... json")}{yn(thi ... json")}yn(this ... w Map);yn(this ... ew Map)yn(this,"_json")async l ... json")}(){cons ... json")}{const ... json")}const u ... s:!1});u=docum ... Contentdocumen ... Contentc=new F ... rs:!1})new Ff. ... rs:!1})Ff.ZipReadernew Ff. ... ader(u)Ff.Data64URIReader{useWebWorkers:!1}useWebWorkers:!1for(con ... ame,f);await c.getEntries()c.getEntries()c.getEntriesthis._e ... ame,f);this._e ... name,f)this._entries.setthis._entriesf.filenamethis._j ... .json")this._jsonawait t ... .json")this.en ... .json")this.entryreport.jsonjson(){ ... ._json}(){retu ... ._json}{return this._json}return this._jsonasync e ... ata())}(u){con ... ata())}{const ... ata())}const c ... Writer;c=this. ... .get(u)this._entries.get(u)this._entries.getf=new Ff.TextWriternew Ff.TextWriterFf.TextWriterreturn ... Data())await c ... Data())await c.getData(f)c.getData(f)c.getDataJSON.pa ... Data())await f.getData()f.getData()f.getDataapplication/zipscrollbar-gutter: stable both-edges;roottext/css{{const o=()=>f(Ma.getObject(l,u));return Ma.onChangeEmitter.addEventListener(l,o),()=>Ma.onChangeEmitter.removeEventListener(l,o)}}width=device-width, initial-scale=1.0color-schemedark lightUTF-8/home/matt/Development/themes/uksf-mod-theme/playwright.config.jsdefineConfigdevices'@playwright/test'testDir'./tests'fullyParallelreporter'html''http://localhost:1313''on-first-retry'projects'chromium''Desktop Chrome'webServer'npm run start'reuseExistingServer'npm run service:registry'port3002'npm run service:rcon'3001import ... /test';export ... ],\n});defineC ... ],\n}){\n tes ... \n ],\n}testDir: './tests'./tests/testsfullyParallel: truereporter: 'html'use: {\n ... y',\n }{\n b ... y',\n }baseURL ... t:1313''http:/ ... t:1313'http://localhost:1313trace: ... -retry'on-first-retryproject ... },\n ][\n { ... },\n ]{ name: ... e'] } }name: 'chromium'chromiumuse: { ... ome'] }{ ...de ... ome'] }...devi ... hrome']devices ... hrome']Desktop ChromewebServ ... e }\n ][\n { ... e }\n ]{ comma ... true }command ... start'npm run starturl: 'h ... t:1313'reuseEx ... r: truecommand ... gistry''npm ru ... gistry'npm run service:registryport: 3002command ... e:rcon''npm ru ... e:rcon'npm run service:rconport: 3001/home/matt/Development/themes/uksf-mod-theme/postcss.config.cjspluginsrequire'autoprefixer'globalBuffer__filename__dirnamemodule. ... ,\n ]\n}module.exports{\n plu ... ,\n ]\n}plugins ... '),\n ][\n r ... '),\n ]require ... fixer')/home/matt/Development/themes/uksf-mod-theme/scripts/check-runners.js/home/matt/Development/themes/uksf-mod-theme/scriptsexecSync'node:child_process'GREEN'\x1b[32m'YELLOW'\x1b[33m'RESET'\x1b[0m'checkRunnerHealth'--- CHECKING CI/CD PIPELINE HEALTH ---'rawRuns'gh run list --limit 5 --json name,status,conclusion,createdAt''utf8'runsfailureCountconclusion'PENDING''FAILURE'] exit'✓ All recent executions successful.'import ... ocess';node:child_processconst G ... b[32m';GREEN = '\x1b[32m'const Y ... b[33m';YELLOW = '\x1b[33m'const R ... 1b[0m';RESET = '\x1b[0m'functio ... T}`); }{ conso ... T}`); }console ... SET}`);console ... ESET}`)`${colo ... RESET}`async f ... 1); }\n}{\n l ... 1); }\n}log('-- ... GREEN);log('-- ... GREEN)'--- CH ... TH ---'--- CHECKING CI/CD PIPELINE HEALTH ---try {\n ... t(1); }const r ... f8' });rawRuns ... tf8' })execSyn ... tf8' })'gh run ... atedAt'gh run list --limit 5 --json name,status,conclusion,createdAt{ encoding: 'utf8' }encoding: 'utf8'const r ... wRuns);runs = ... awRuns)JSON.parse(rawRuns)let fai ... nt = 0;failureCount = 0runs.fo ... });runs.fo ... })runs.forEachrun => ... }conclus ... rCase()(run.co ... rCase()(run.co ... perCase(run.co ... NDING')run.con ... ENDING'run.conclusionPENDINGif (con ... ount++;conclus ... AILURE'FAILUREfailureCount++;failureCount++log(`[$ ... ame}`);log(`[$ ... name}`)`[${con ... .name}`run.nameif (fai ... GREEN);failureCount > 0process.exit(1);process.exit(1)process.exitlog('\u2713 ... GREEN);log('\u2713 ... GREEN)'\u2713 All ... ssful.'✓ All recent executions successful.✓ All recent executions successfulcatch ( ... t(1); }{ process.exit(1); }checkRunnerHealth();checkRunnerHealth()/home/matt/Development/themes/uksf-mod-theme/scripts/fetch-intel.js + * UKSFTA Intelligence Bridge v2.5 + * Sharding Edition: intel.json (Live) | archives.json (Logs) | telemetry.json (History) + /**\n * ... ry)\n */ ... CRC32 and RCON functions remain same ...// ... ... ame ... Keep point if:// Keep point if: 1. It's the first or last point// 1. I ... t point 2. The value changed from the previous or next point// 2. T ... t point 3. More than 30 minutes have passed since the last kept point (to prevent gaps)// 3. M ... t gaps) 1. Live State (Small)// 1. L ... (Small) 2. Unit Commander (Full for archives, small for state)// 2. U ... state) Full shard for archives// Full ... rchives DYNAMIC PAGE GENERATION - DISABLED (MANUAL CAMPAIGNS REQUESTED)// DYNA ... UESTED) + if (!fs.existsSync(contentDir)) fs.mkdirSync(contentDir, { recursive: true }); + + uc.campaigns.forEach(op => { + const slug = op.campaignName.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/(^-|-$)/g, ''); + const filePath = path.join(contentDir, `${slug}.md`); + + const mdContent = `--- +title: "${op.campaignName}" +date: "${op.created_at}" +layout: "campaign" +op_id: "TF-${op.id}" +map: "${op.map || 'CLASSIFIED'}" +status: "${op.status}" +image: "${op.image ? op.image.path : ''}" +--- + +${op.brief || 'No tactical briefing recovered for this operation.'} +`; + // Only write if changed or doesn't exist to avoid triggering Hugo loops unnecessarily + if (!fs.existsSync(filePath) || fs.readFileSync(filePath, 'utf8') !== mdContent) { + fs.writeFileSync(filePath, mdContent); + console.log(`[UC_INTEL] Page generated: /campaigns/${slug}`); + } + }); + /*\n ... */ Lean summary for main HUD (only latest 2 campaigns)// Lean ... paigns) 3. Telemetry Shard (History)// 3. T ... istory) 4. Final Live State Write// 4. F ... e Write'node:fs'https'node:https''node:path'dgram'node:dgram'envPathcwd'.env'existsSyncreadFileSync'\n''='/^["']|["']$/gbmKeyBATTLEMETRICS_API_KEY/^getEnv\s+["']|["']$/gbmIdBATTLEMETRICS_SERVER_ID"35392879"ucIdUNIT_COMMANDER_COMMUNITY_ID"722"ucTokenUNIT_COMMANDER_BOT_TOKENserverIpARMA_SERVER_IP"127.0.0.1"serverPortparseIntARMA_QUERY_PORT"2303"rconPortARMA_RCON_PORT"2302"rconPassARMA_RCON_PASSWORDcrc32buf0xEDB88320createBePacket0x420x45crcBufallocwriteUInt32LEfetchRconPlayerscreateSocket'udp4'timeout'message'0x000x010xFF'players'/^\d+\s+[\d.:]+\s+(\d+)\s+[a-f0-9]+\(\d+\)\s+(.+)$/ipingloginqueryArmaServerrejectA2S_INFO'FFFFFFFF54536f7572636520456e67696e6520517565727900''hex'"Timeout"0x410x49readUInt8request'User-Agent''UKSFTA-Intel''Accept''data'chunk'end'statusCode"JSON Error"HTTP fetchBM[BM_INTEL] Skipping : BATTLEMETRICS_API_KEY missing.setMonthgetMonthsetDategetDatesetHoursgetHourshttps://api.battlemetrics.com/servers//player-count-history?start=&stop=[BM_INTEL] Fetching for server (Key Length: 'Authorization'Bearer [BM_INTEL] Successfully retrieved data points for [BM_INTEL] No data returned for . Raw response:[BM_INTEL] Request failed for fetchUCBot https://api.unitcommander.co.uk/community//campaigns/eventscompressisS"[JSFC_INTEL] Starting sharded synchronization..."staticDir'static'contentDir'content''campaigns'"STABLE"telemetrymanifest"[ARMA_UPLINK] Node offline."writeFileSync'archives.json'"[BM_INTEL] Generating telemetry shard..."'telemetry.json''intel.json'"✓ Shards synchronized. intel.json size reduced by 95%.""X Sync failed:"UKSFTA Intelligence Bridge v2.5 +Sharding Edition: intel.json (Live) | archives.json (Logs) | telemetry.json (History)import ... de:fs';node:fsimport ... https';node:httpsimport ... :path';node:pathimport ... dgram';node:dgramconst e ... .env');envPath ... '.env')path.re ... '.env')path.resolveprocess.cwd()process.cwd.envconst env = {};env = {}if (fs. ... });\n}fs.exis ... nvPath)fs.existsSync{\n f ... });\n}fs.read ... });fs.read ... \n })fs.read ... forEachfs.read ... t('\n')fs.read ... ).splitfs.read ... 'utf8')fs.readFileSyncline => ... ;\n }const [ ... t('=');[key, . ... it('=')[key, ...value]line.split('=')line.splitif (key ... trim();key && valueenv[key ... trim();env[key ... .trim()env[key.trim()]key.trim()key.trimvalue.j ... .trim()value.j ... ').trimvalue.j ... /g, '')value.j ... replacevalue.join('=')value.join^["']|["']$^["']["']["']$const c ... | ""\n};config ... || ""\n}{\n b ... || ""\n}bmKey: ... .trim()(proces ... .trim()(proces ... ').trim(proces ... /g, '')(proces ... replace(proces ... || "")process ... Y || ""process ... API_KEYprocess.envBATTLEM ... API_KEYenv.BAT ... API_KEY/^getEn ... ["']$/g^getEnv\s+["']|["']$^getEnv\s+["']getEnv\s+bmId: p ... 392879"process ... 392879"process ... RVER_IDBATTLEM ... RVER_IDenv.BAT ... RVER_ID35392879ucId: p ... | "722"process ... | "722"process ... NITY_IDUNIT_CO ... NITY_IDenv.UNI ... NITY_ID722ucToken ... .trim()process ... N || ""process ... T_TOKENUNIT_CO ... T_TOKENenv.UNI ... T_TOKENserverI ... .0.0.1"process ... .0.0.1"process ... RVER_IPenv.ARMA_SERVER_IP127.0.0.1serverP ... "2303")parseIn ... "2303")process ... "2303"process ... RY_PORTenv.ARMA_QUERY_PORT2303rconPor ... "2302")parseIn ... "2302")process ... "2302"process ... ON_PORTenv.ARMA_RCON_PORT2302rconPas ... D || ""process ... D || ""process ... ASSWORDenv.ARM ... ASSWORDfunctio ... >> 0;\n}{\n l ... >> 0;\n}let crc = -1;crc = -1for (le ... ;\n }i < buf.lengthbuf.lengthcrc ^= buf[i];crc ^= buf[i]buf[i]for (le ... 0 : 0);j < 8j++let j = 0j = 0crc = ( ... 0 : 0);crc = ( ... 20 : 0)(crc >> ... 20 : 0)(crc >>> 1)crc >>> 1(crc & ... 20 : 0)crc & 1 ... 320 : 0crc & 1return ... >>> 0;(crc ^ -1) >>> 0(crc ^ -1)crc ^ -1functio ... ad]);\n}{\n c ... ad]);\n}const h ... 0x45]);header ... 0x45])Buffer. ... 0x45])Buffer.from[0x42, 0x45]const c ... loc(4);crcBuf ... lloc(4)Buffer.alloc(4)Buffer.alloccrcBuf. ... d), 0);crcBuf. ... ad), 0)crcBuf.writeUInt32LEcrc32(payload)return ... load]);Buffer. ... yload])Buffer.concat[header ... ayload]async f ... });\n}{\n i ... });\n}if (!co ... n null;!config.rconPassconfig.rconPassreturn ... });new Pro ... \n })(resolv ... ;\n }const c ... udp4');client ... 'udp4')dgram.c ... 'udp4')dgram.createSocketudp4const t ... 4000);timeout ... , 4000)() => { ... ull); }{ clien ... ull); }client.close();client.close()client.closeresolve(null);resolve(null)client. ... });client. ... })client.on(msg) = ... }if (msg ... return;msg.length < 7msg.lengthif (msg ... }msg[6] ... == 0x01msg[6] === 0x00msg[6]msg[7] === 0x01msg[7]const p ... rs')]);p = Buf ... ers')])Buffer. ... ers')])[Buffer ... yers')]Buffer. ... 0x00])[0xFF, 0x01, 0x00]Buffer. ... ayers')client. ... verIp);client. ... rverIp)client.sendcreateBePacket(p)createB ... .lengthconfig.rconPortconfig.serverIpmsg[6] === 0x01clearTi ... meout);clearTi ... imeout)const t ... 8', 8);text = ... f8', 8)msg.toS ... f8', 8)msg.toStringconst players = [];players = []text.sp ... });text.sp ... })text.sp ... forEachtext.split('\n')text.splitline => ... }const m ... +)$/i);m = lin ... .+)$/i)line.ma ... .+)$/i)line.match/^\d+\s ... (.+)$/i^\d+\s+[\d.:]+\s+(\d+)\s+[a-f0-9]+\(\d+\)\s+(.+)$[\d.:]+[\d.:](\d+)[a-f0-9]+[a-f0-9]a-f\(\)(.+).+if (m) ... [1] });players ... [1] });players ... m[1] })players.push{ name: ... m[1] }name: m[2].trim()m[2].trim()m[2].trimm[2]ping: m[1]m[1]resolve(players);resolve(players)const l ... ass)]);login = ... Pass)])Buffer. ... Pass)])[Buffer ... nPass)][0xFF, 0x00]Buffer. ... onPass)createB ... (login){\n r ... });\n}const A ... 'hex');A2S_INF ... 'hex')Buffer. ... 'hex')'FFFFFF ... 727900'FFFFFFFF54536f7572636520456e67696e6520517565727900hexconst s ... verIp);send = ... rverIp)(c = nu ... rverIp)c ? Buf ... 2S_INFOBuffer. ... FO, c])[A2S_INFO, c](c ? A2 ... length)c ? A2S ... .lengthA2S_INFO.length + 4A2S_INFO.lengthconfig.serverPort() => { ... t")); }{ clien ... t")); }reject( ... out"));reject( ... eout"))new Error("Timeout")Timeoutif (msg ... 5, 9));msg[4] === 0x41msg[4]return ... 5, 9));send(ms ... (5, 9))msg.slice(5, 9)msg.slicemsg[4] === 0x49try {\n ... t(e); }let offset = 6;offset = 6const r ... n s; };read = ... rn s; }() => { ... rn s; }{ let e ... rn s; }let end ... ffset);end = m ... offset)msg.ind ... offset)msg.indexOfif (end ... length;end === -1end = msg.length;end = msg.lengthlet s = ... , end);s = msg ... t, end)msg.toS ... t, end)offset = end + 1;offset = end + 1end + 1return s;const name = read();name = read()read()const map = read();map = read()read();offset += 2;offset += 2const p ... ffset);players ... offset)msg.rea ... offset)msg.readUInt8const m ... t + 1);maxPlay ... et + 1)msg.rea ... et + 1)offset + 1resolve ... ne' });resolve ... ine' }){ name, ... line' }players ... layers)(player ... layers)players ... playersplayers === 255status: 'online'catch ( ... t(e); }{ reject(e); }reject(e);reject(e)send();send()const o ... rs } };options ... ers } }{ heade ... ers } }headers ... aders }{ 'User ... aders }'User-A ... -Intel'User-AgentUKSFTA-Intel'Accept ... n/json'Accept...headershttps.g ... eject);https.g ... reject)https.g ... }).onhttps.g ... })https.get(res) = ... }let data = '';data = ''res.on( ... chunk);res.on( ... chunk)res.onchunk = ... = chunkdata += chunkres.on( ... });res.on( ... })if (res ... de}`));res.sta ... e < 300res.sta ... >= 200res.statusCoderes.statusCode < 300{ try { ... )); } }try { r ... r")); }{ resol ... ta)); }resolve ... data));resolve ... (data))JSON.parse(data)catch ( ... r")); }{ rejec ... r")); }reject( ... ror"));reject( ... rror"))new Err ... Error")JSON Errorreject( ... de}`));reject( ... ode}`))new Err ... Code}`)`HTTP $ ... sCode}`async f ... }\n}if (!co ... ;\n }!config.bmKeyconfig.bmKeyconsole ... ing.`);console ... sing.`)`[BM_IN ... ssing.`: BATTL ... issing.return [];const d ... Date();d = new Date()if (ran ... - 24);d.setMo ... ) - 1);d.setMo ... () - 1)d.setMonthd.getMonth() - 1d.getMonth()d.getMonthd.setDa ... ) - 7);d.setDa ... () - 7)d.setDated.getDate() - 7d.getDate()d.getDated.setHo ... - 24);d.setHo ... ) - 24)d.setHoursd.getHours() - 24d.getHours()d.getHoursconst u ... ng()}`;url = ` ... ing()}``https: ... ing()}`https:/ ... ervers/config.bmId/player ... ?start=d.toISOString()d.toISOStringconsole ... th})`);console ... gth})`)`[BM_IN ... ngth})`config.bmKey.lengthtry { \n ... \n }const r ... )}` });res = a ... ()}` })await r ... ()}` })request ... ()}` }){ 'Auth ... m()}` }'Author ... rim()}`Authorization`Bearer ... rim()}`config.bmKey.trim()config.bmKey.trimres && res.datares.dataconsole ... ge}.`);console ... nge}.`)`[BM_IN ... ange}.`[BM_INT ... rieved res.data.lengthreturn res.data;console ... 100));console ... , 100))`[BM_IN ... ponse:`[BM_INT ... ed for JSON.st ... 0, 100)JSON.st ... bstringJSON.stringify(res)catch ( ... \n }console ... ssage);console ... essage)`[BM_IN ... ange}:`e.messageasync f ... ll; }\n}{\n i ... ll; }\n}!config.ucTokenconfig.ucTokenconst h ... en}` };h = { ' ... ken}` }{ 'Auth ... ken}` }'Author ... Token}``Bot ${ ... Token}`try {\n ... null; }const c ... s`, h);c = awa ... ns`, h)await r ... ns`, h)request ... ns`, h)`https: ... paigns`https:/ ... munity/config.ucIdconst s ... s`, h);s = awa ... ts`, h)await r ... ts`, h)request ... ts`, h)`https: ... events`return ... e: s };{ campa ... ne: s }campaigns: cstandalone: scatch ( ... null; }{ return null; }functio ... sult;\n}{\n i ... sult;\n}if (!da ... urn [];!data | ... h === 0!data | ... y(data)!data!Array.isArray(data)Array.isArray(data)data.length === 0const i ... es.min;isS = ( ... tes.min(a, b) ... tes.mina && b ... tes.mina && b ... tes.maxa && b ... s.valuea && ba.attri ... s.valuea.attributes.valuea.attributesb.attributes.valueb.attributesa.attri ... tes.maxa.attributes.maxb.attributes.maxa.attri ... tes.mina.attributes.minb.attributes.minconst result = [];result = []for (le ... }\n }i < data.lengthconst p ... h - 1];prev = ... th - 1]result[ ... th - 1]result.length - 1result.lengthconst t ... )) : 0;timeDif ... p)) : 0prev ? ... p)) : 0(new Da ... stamp))new Dat ... estamp)data[i] ... mestampdata[i].attributesdata[i]prev.at ... mestampprev.attributesi === 0 ... * 60000i === 0 ... i + 1])i === 0 ... i - 1])i === 0 ... gth - 1i === d ... gth - 1data.length - 1!isS(da ... i - 1])isS(dat ... i - 1])data[i - 1]i - 1!isS(da ... i + 1])isS(dat ... i + 1])data[i + 1]i + 1timeDif ... * 6000030 * 60000result. ... ta[i]);result.push(data[i])result.pushreturn result;async f ... e); }\n}{\n c ... e); }\n}[JSFC_INTEL] Starting sharded synchronization... Starting sharded synchronizationconst s ... atic');staticD ... tatic')path.jo ... tatic')path.joinconst c ... igns');content ... aigns')path.jo ... aigns')const s ... BLE" };state = ... ABLE" }{ times ... ABLE" }timesta ... e.now()arma: nullunitcommander: nullstatus: "STABLE"STABLEconst t ... : [] };telemet ... h: [] }{ times ... h: [] }today: []week: []month: []try {\n ... age); }try {\n ... e."); }state.a ... rver();state.a ... erver()state.armaawait q ... erver()queryArmaServer()const m ... yers();manifes ... ayers()await f ... ayers()fetchRconPlayers()if (man ... nifest;state.a ... nifest;state.a ... anifeststate.arma.manifestcatch ( ... e."); }{ conso ... e."); }console ... ine.");console ... line.")"[ARMA_ ... fline."[ARMA_UPLINK] Node offline.[ARMA_UPLINK] Node offlineconst u ... chUC();uc = await fetchUC()await fetchUC()fetchUC()if (uc) ... }fs.writ ... l, 2));fs.writ ... ll, 2))fs.writeFileSyncpath.jo ... .json')archives.jsonarchivesstate.u ... };state.u ... }state.unitcommandercampaig ... e(0, 2)uc.camp ... e(0, 2)uc.camp ... ).sliceuc.camp ... ed_at))uc.campaigns.sort(a,b) = ... ted_at)standal ... e(0, 3)uc.stan ... e(0, 3)uc.standalone.slice"[BM_IN ... ard..."[BM_INTEL] Generating telemetry shard...[BM_INTEL] Generating telemetry shardconst [ ... th')]);[t, w, ... nth')])[t, w, m]await P ... nth')])Promise ... nth')])[fetchB ... onth')]fetchBM('today')fetchBM('week')fetchBM('month')telemet ... ess(t);telemet ... ress(t)telemetry.todaycompress(t)telemet ... ess(w);telemet ... ress(w)telemetry.weekcompress(w)telemet ... ess(m);telemet ... ress(m)telemetry.monthcompress(m)telemetry.jsonintel.jsonconsole ... 95%.");console ... 95%.")"\u2713 Shar ... y 95%."✓ Shards synchronized. intel.json size reduced by 95%.✓ Shards synchronized inteljson size reduced by 95%catch ( ... age); }{ conso ... age); }X Sync failed:main();main()/home/matt/Development/themes/uksf-mod-theme/scripts/generate-stats.js Helper to recursively get files// Help ... t files Calculate total size in bytes// Calc ... n bytes Get last git commit hash (short)// Get ... (short) Convert size to readable format// Conv ... format Could be dynamic based on campaigns?// Coul ... paigns? Placeholder, handled by Hugo counting campaigns// Plac ... mpaigns'fs''child_process'fileURLToPath'url'dirname'../content'dataFile'../data/system_stats.json'getFilesdirentsreaddirSyncwithFileTypesdirentisDirectoryfileCounttotalSizereduceaccstatSync'UNKNOWN''git rev-parse --short HEAD'"Git not available or not a repo."sizeKBsizeMBrecord_countdb_size_bytesdb_size_fmt MB KBlast_syncnode_idUK_LON_HQ_threat_level"SUBSTANTIAL"active_ops'System stats generated:''Error generating stats:'import fs from 'fs';import ... 'path';child_processimport ... 'url';const _ ... a.url);__filen ... ta.url)fileURL ... ta.url)import.meta.urlimport.metaconst _ ... ename);__dirna ... lename)path.di ... lename)path.dirnamepath.jo ... ntent')../content/contentconst d ... json');dataFil ... .json')'../dat ... s.json'../data/system_stats.json/data/system_statsfunctio ... les);\n}{\n c ... les);\n}const d ... rue });dirents ... true })fs.read ... true })fs.readdirSync{ withF ... true }withFileTypes: trueconst f ... });files = ... \n })dirents ... \n })dirents.map(dirent ... ;\n }const r ... .name);res = p ... t.name)path.re ... t.name)dirent.namereturn ... : res;dirent. ... ) : resdirent.isDirectory()dirent.isDirectorygetFiles(res)return ... files);Array.p ... .files)Array.p ... .concatArray.prototype...filestry {\n ... ror);\n}{\n c ... ts);\n\n}const f ... ntDir);files = ... entDir)getFiles(contentDir)const f ... length;fileCou ... .lengthfiles.lengthconst t ... }, 0);totalSi ... }, 0)files.r ... }, 0)files.reduce(acc, f ... ;\n }const s ... (file);stats = ... c(file)fs.statSync(file)fs.statSyncreturn ... s.size;acc + stats.sizestats.sizelet com ... KNOWN';commitH ... NKNOWN'UNKNOWNtry {\n ... ;\n }commitH ... trim();commitH ... .trim()execSyn ... .trim()execSyn ... ().trimexecSyn ... tring()execSyn ... oStringexecSyn ... HEAD')'git re ... t HEAD'git rev-parse --short HEADcatch ( ... ;\n }console ... epo.");console ... repo.")"Git no ... repo."Git not available or not a repo.Git not available or not a repoconst s ... xed(2);sizeKB ... ixed(2)(totalS ... ixed(2)(totalS ... toFixed(totalSize / 1024)totalSize / 1024sizeMB ... ixed(2)(totalS ... 1024))totalSi ... * 1024)(1024 * 1024)1024 * 1024const s ... \n };stats = ... s\n }{\n ... s\n }record_ ... leCountdb_size ... talSizedb_size ... KB} KB`sizeMB ... KB} KB`sizeMB > 1`${sizeMB} MB``${sizeKB} KB`last_sy ... tring()node_id ... ase()}``UK_LON ... ase()}`commitH ... rCase()commitH ... perCasethreat_ ... ANTIAL"SUBSTANTIALactive_ops: 0console ... stats);console ... stats)'System ... rated:'System stats generated:catch ( ... ror);\n}{\n c ... ror);\n}'Error ... stats:'Error generating stats:/home/matt/Development/themes/uksf-mod-theme/scripts/gh-issue-sync.js Ignore branch creation failures// Igno ... ailuresparseCodeQLfilePathfindingsruleId[SECURITY] severity'critical''high'**Vulnerability:** \n**File:** locationsphysicalLocationartifactLocationuri\n\nsyncIssues'--- SYNCING ISSUES WITH GITHUB ---'rawIssues'gh issue list --json title,number --state open --label "automated-audit"'existingIssuesissue✓ Resolving Issue #gh issue close --comment "Verification complete. Issue cleared."finding! Creating New Issue: 'temp_body.md'createOutputgh issue create --title "" --body-file temp_body.md --label "automated-audit" --label "security" --label "issueNumberunlinkSyncbranchNamefix/issue-/\//g! Creating Fix Branch: git branch master && git push origin stdio'ignore'gh issue comment --body "Automated fix branch created: +'codeql-results.sarif'functio ... ings;\n}{\n i ... ings;\n}if (!fs ... urn [];!fs.exi ... lePath)fs.exis ... lePath)const d ... tf8'));data = ... utf8'))JSON.pa ... utf8'))const findings = [];findings = [](data.r ... });(data.r ... \n })(data.r ... forEach(data.runs || [])data.runs || []data.runsrun => ... ;\n }(run.re ... });(run.re ... })(run.re ... forEach(run.results || [])run.results || []run.resultsresult ... }finding ... });finding ... })findings.pushid: result.ruleIdresult.ruleIdtitle: ... uleId}``[SECUR ... uleId}`severit ... 'high'result. ... 'high'result. ... 'error'result.levelcriticalhighbody: ` ... .text}``**Vuln ... .text}` +**File:** result. ... on?.uriresult. ... ocationresult. ... ns?.[0]result.locations + +result.message?.textresult.messagereturn findings;{\n l ... }\n}'--- SY ... UB ---'--- SYNCING ISSUES WITH GITHUB ---rawIssu ... tf8' })'gh iss ... audit"'gh issue list --json title,number --state open --label "automated-audit"const e ... ssues);existin ... Issues)JSON.pa ... Issues)for (co ... }\n }const issueif (!fi ... }!findin ... (f.id))finding ... (f.id))findings.findf => is ... s(f.id)issue.t ... s(f.id)issue.title.includesissue.titlef.idlog(`\u2713 ... GREEN);log(`\u2713 ... GREEN)`\u2713 Reso ... umber}`\u2713 Resolving Issue #issue.numberexecSyn ... ed."`);execSyn ... red."`)`gh iss ... ared."` --comm ... eared."const findingif (!ex ... }!existi ... ng.id))existin ... ng.id))existingIssues.findi => i. ... ing.id)i.title ... ing.id)i.title.includesfinding.idlog(`! ... ELLOW);log(`! ... YELLOW)`! Crea ... title}`! Creat ... Issue: finding.titlefs.writ ... .body);fs.writ ... g.body)temp_body.mdtemp_bodyfinding.bodyconst c ... f8' });createO ... tf8' })`gh iss ... rity}"`gh issu ... title "" --bod ... label "finding.severityconst i ... .pop();issueNu ... ).pop()createO ... ).pop()createO ... /').popcreateO ... it('/')createO ... ).splitcreateOutput.trim()createOutput.trimfs.unli ... y.md');fs.unli ... dy.md')fs.unlinkSyncconst b ... '-')}`;branchN ... '-')}``fix/is ... '-')}`finding ... g, '-')finding.id.replace`! Crea ... hName}`! Creat ... ranch: execSyn ... re' });execSyn ... ore' })`git br ... hName}` master ... origin { stdio: 'ignore' }stdio: 'ignore'ignoreexecSyn ... me}"`);execSyn ... ame}"`)`gh iss ... Name}"` --body ... ated: \nasync f ... ngs);\n}{\n c ... ngs);\n}const f ... arif');finding ... sarif')parseCo ... sarif')'codeql ... .sarif'codeql-results.sarifcodeql-resultssarifawait s ... dings);await s ... ndings)syncIssues(findings)/home/matt/Development/themes/uksf-mod-theme/scripts/security-history-check.js Secret string not found in history, ignore error// Secr ... e errorRED'\x1b[31m'runHistoryAudit'--- STARTING CRYPTOGRAPHIC HISTORY AUDIT ---'envContentsecretsleaksFoundsecretgit log -p --all -S"" --oneline\n[!] LEAK DETECTED in history commits.'✓ No active secrets detected in historical logs.'const R ... b[31m';RED = '\x1b[31m'async f ... EEN);\n}{\n l ... EEN);\n}'--- ST ... IT ---'--- STARTING CRYPTOGRAPHIC HISTORY AUDIT ---if (!fs ... return;!fs.exi ... nvPath)const e ... utf8');envCont ... 'utf8')const s ... h > 8);secrets ... th > 8)envCont ... th > 8)envCont ... .filterenvCont ... g, ''))envCont ... .mapenvCont ... t('\n')envContent.splitline => ... /g, '')line.sp ... /g, '')line.sp ... replaceline.sp ... .trim()line.sp ... ]?.trimline.split('=')[1]val => ... gth > 8val && ... gth > 8val.length > 8val.lengthlet lea ... false;leaksFound = falsesecrets ... });secrets ... \n })secrets.forEachsecret ... }\n }const r ... trim();result ... .trim()execSyn ... }).trim`git lo ... neline`log(`\n ... , RED);log(`\n ... `, RED)`\n[!] ... mmits.`\n[!] L ... ommits. +[!] LEAK DETECTED in history commits.leaksFound = true;leaksFound = trueif (lea ... GREEN);'\u2713 No a ... logs.'✓ No active secrets detected in historical logs.✓ No active secrets detected in historical logsrunHistoryAudit();runHistoryAudit()/home/matt/Development/themes/uksf-mod-theme/scripts/security-scan.jsrunSecurityAudit'--- STARTING SECURITY AUDIT SUITE ---''npm audit --audit-level=high''inherit''✓ No high-level vulnerabilities found.''! Dependency vulnerabilities detected.''codeql-db''codeql database create codeql-db --language=javascript --overwrite''codeql database analyze codeql-db --format=sarif-latest --output=codeql-results.sarif''✓ Static analysis complete. Results saved to codeql-results.sarif''X CodeQL analysis failed.''--- SECURITY AUDIT COMPLETE ---''--- ST ... TE ---'--- STARTING SECURITY AUDIT SUITE ---try {\n ... LOW); }execSyn ... it' });execSyn ... rit' })'npm au ... l=high'{ stdio: 'inherit' }stdio: 'inherit'inherit'\u2713 No h ... found.'✓ No high-level vulnerabilities found.✓ No high-level vulnerabilities foundcatch ( ... LOW); }{ log(' ... LOW); }log('! ... ELLOW);log('! ... YELLOW)'! Depe ... ected.'! Dependency vulnerabilities detected.! Dependency vulnerabilities detectedtry {\n ... RED); }if (!fs ... }!fs.exi ... ql-db')fs.exis ... ql-db')codeql-db'codeql ... rwrite'codeql database create codeql-db --language=javascript --overwritecodeql database analyze codeql-db --format=sarif-latest --output=codeql-results.sarifcodeql database analyze codeql-db --format=sarif-latest --output=codeql-results'\u2713 Stat ... .sarif'✓ Static analysis complete. Results saved to codeql-results.sarif✓ Static analysis complete Results saved to codeql-resultscatch ( ... RED); }{ log(' ... RED); }log('X ... , RED);log('X ... ', RED)'X Code ... ailed.'X CodeQL analysis failed.X CodeQL analysis failed'--- SE ... TE ---'--- SECURITY AUDIT COMPLETE ---runSecurityAudit();runSecurityAudit()/home/matt/Development/themes/uksf-mod-theme/scripts/sync-orbat.js + * Institutional ORBAT - Discord Sync Script v1.0 + * Pulls server members and roles to generate personnel data. + * + * Requirements: + * - DISCORD_BOT_TOKEN environment variable + * - DISCORD_GUILD_ID environment variable + * - 'Server Members Intent' enabled in Discord Developer Portal + /**\n * ... tal\n */ 1. Fetch Roles (to map ranks and unit weights)// 1. F ... eights) 2. Fetch Members (paged, up to 1000)// 2. F ... o 1000) 3. Process and Map Personnel// 3. P ... rsonnel Get all role objects for this member// Get ... member Highest role first// High ... e first Attempt to determine unit from roles// Atte ... m roles Logic: Look for roles matching SAS, SBS, SRR, etc.// Logi ... R, etc. 4. Sort Personnel: Leadership first, then by Discord Role Position// 4. S ... osition 5. Save Data// 5. Save DataBOT_TOKENDISCORD_BOT_TOKENGUILD_IDDISCORD_GUILD_IDdiscordRequesthostname'discord.com'/api/v10reqDiscord API Error "--- Initializing Institutional ORBAT Sync (Discord) ---""X Error: DISCORD_BOT_TOKEN not found in environment."" Please ensure you have set up a bot token in the Discord Developer Portal.""> Fetching server roles..."roles/guilds//roles"> Fetching server personnel..."members/members?limit=1000personnelmemberRolestopRole"Operator"isIC"IC""2IC"is2ICunitMatch"Unassigned"unitKeywords"SAS""SBS""SRR""ASOB""JSFAW""MEDIC""INTEL""SFSG""RAC"upperRolenickuserglobal_nameusernamerankrank_weightis_leadershipleadership_type'data/personnel.json'✓ Successfully synced personnel to data/personnel.jsonX Sync Failed: Institutional ORBAT - Discord Sync Script v1.0 +Pulls server members and roles to generate personnel data. + +Requirements: +- DISCORD_BOT_TOKEN environment variable +- DISCORD_GUILD_ID environment variable +- 'Server Members Intent' enabled in Discord Developer Portalconst B ... _TOKEN;BOT_TOK ... T_TOKENconst G ... 73928";GUILD_I ... 573928"process ... 573928"process ... UILD_IDconst o ... };options ... }hostnam ... rd.com'discord.comcompath: ` ... {path}``/api/v10${path}`headers ... }'Author ... TOKEN}``Bot ${BOT_TOKEN}`req = h ... })https.r ... })https.request(chunk) ... = chunkres.sta ... === 200reject( ... ta}`));reject( ... ata}`))new Err ... data}`)`Discor ... {data}`req.on( ... (err));req.on( ... t(err))req.on(err) => reject(err)reject(err)req.end();req.end()req.endconsole ... ---");console ... ) ---")"--- In ... d) ---"--- Initializing Institutional ORBAT Sync (Discord) ------ Initializing Institutional ORBAT Sync (Discord)Discord ---if (!BO ... ;\n }!BOT_TOKENconsole ... ent.");console ... ment.")"X Erro ... nment."X Error: DISCORD_BOT_TOKEN not found in environment.X Error: DISCORD_BOT_TOKEN not found in environmentconsole ... tal.");console ... rtal.")" Plea ... ortal." Please ensure you have set up a bot token in the Discord Developer Portal. Please ensure you have set up a bot token in the Discord Developer Portal{\n ... \n\n }console ... s...");console ... es...")"> Fetc ... les..."> Fetching server roles...> Fetching server rolesconst r ... oles`);roles = ... roles`)await d ... roles`)discord ... roles`)`/guild ... /roles`console ... el...")"> Fetc ... nel..."> Fetching server personnel...> Fetching server personnelconst m ... 1000`);members ... =1000`)await d ... =1000`)discord ... =1000`)`/guild ... t=1000`const p ... });personn ... })members ... })members.mapm => {\n ... }const m ... ition);memberR ... sition)roles\n ... sition)roles\n ... .sortroles\n ... (r.id))roles\n ... .filterr => m. ... s(r.id)m.roles ... s(r.id)m.roles.includesm.roles(a, b) ... ositionb.posit ... ositionb.positiona.positionconst t ... n: 0 };topRole ... on: 0 }memberR ... on: 0 }memberRoles[0]{ name: ... on: 0 }name: "Operator"Operatorposition: 0const i ... 2IC"));isIC = ... "2IC"))memberR ... "2IC"))memberRoles.somer => r. ... ("2IC")r.name. ... ("2IC")r.name. ... s("IC")r.name.includesIC!r.name ... ("2IC")2ICis2IC = ... "2IC"))let uni ... igned";unitMat ... signed"Unassignedconst u ... "RAC"];unitKey ... "RAC"]["SAS", ... "RAC"]SASSBSJSFAWMEDICINTELSFSGRACfor (co ... }const u ... Case();upperRo ... rCase()r.name.toUpperCase()r.name.toUpperCaseconst m ... es(k));match = ... des(k))unitKey ... des(k))unitKeywords.findk => up ... udes(k)upperRo ... udes(k)upperRole.includesif (mat ... }unitMatch = match;unitMatch = matchname: m ... sernamem.nick ... sernamem.nick ... al_namem.nickm.user.global_namem.userm.user.usernamerank: topRole.nametopRole.namerank_we ... ositiontopRole.positionunit: unitMatchis_lead ... | is2ICisIC || is2ICleaders ... : null)isIC ? ... : null)(is2IC ... : null)is2IC ? "2IC" : nullpersonn ... });personnel.sort(a, b) ... }if (a.i ... urn -1;a.is_le ... dershipa.is_leadership!b.is_leadershipb.is_leadershipreturn -1;if (!a. ... turn 1;!a.is_l ... dership!a.is_leadershipif (a.l ... urn -1;a.leade ... = "2IC"a.leade ... == "IC"a.leadership_typeb.leade ... = "2IC"b.leadership_typeif (a.l ... turn 1;b.leade ... == "IC"return ... weight;b.rank_ ... _weightb.rank_weighta.rank_weight'data/p ... l.json'data/personnel.jsondata/personnelconsole ... json`);console ... .json`)`\u2713 Succ ... l.json`\u2713 Succe ... synced personnel.length person ... el.jsonconsole ... age}`);console ... sage}`)`X Sync ... ssage}`/home/matt/Development/themes/uksf-mod-theme/scripts/test.js 1. LINTING// 1. LINTING 2. UPLINK CHECKS// 2. UPLINK CHECKS 3. BUILD// 3. BUILD 4. RUNTIME (Server)// 4. R ... Server) Ignore// Ignorespawnhttp'node:http'runCommand> Running: X Command failed: checkUrl'https'Status: 'timeout''Timeout'checkServer15000attempt'Server start timeout'Server returned status: getHugoParamregex\\[params\\.\\][^]*?\\s*=\\s*["']([^"']+)["']'i''--- STARTING UKSF THEME TEST SUITE ---''\n[1/4] Testing Linting Standards...''npm run lint''✓ Linting Passed''\n[2/4] Testing External Uplinks...''hugo.toml''unitcommander''community_id''bot_token'Checking Unit Commander Uplink (ID: )...'✓ Unit Commander Uplink Stable'! Unit Commander Uplink Warning: discordId'discord''server_id'Ch��tb�a�H \ No newline at end of file diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/0/pageDump/page-000000001 b/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/0/pageDump/page-000000001 new file mode 100644 index 0000000..7f73e1d --- /dev/null +++ b/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/0/pageDump/page-000000001 @@ -0,0 +1,19005 @@ +Checking Discord API Uplink (ID: '✓ Discord Uplink Stable'! Discord Uplink Warning: '\n[3/4] Testing Production Build...''npm run build''✓ Build Passed''\n[4/4] Testing Runtime Server...'serverProcess'npm''start'detachedintentionalKill'exit'\nX Server process exited prematurely with code 'Waiting for server at http://localhost:1313...''✓ Server responded with 200 OK'X Runtime Test Failed: pidkill'\n--- ALL TESTS PASSED ---'import ... :http';node:httpfunctio ... T}`);\n}{\n c ... T}`);\n}{\n t ... }\n}log(`> ... GREEN);log(`> ... GREEN)`> Runn ... mmand}`return true;catch { ... ;\n }log(`X ... , RED);log(`X ... `, RED)`X Comm ... mmand}`const c ... : http;client ... : httpurl.sta ... : httpurl.sta ... https')url.startsWithreq = c ... })client.getres.sta ... e < 400res.statusCode < 400resolve(true);resolve(true)`Status ... sCode}`req.on( ... });req.on( ... })req.destroy();req.destroy()req.destroyreject( ... out'));reject( ... eout'))new Error('Timeout')req.set ... (5000);req.setTimeout(5000)req.setTimeoutstart = Date.now()const a ... };attempt ... }if (Dat ... }Date.no ... timeoutDate.now() - startnew Err ... meout')'Server ... imeout'Server start timeouthttp.ge ... })http.get`Server ... sCode}`Server ... tatus: setTime ... t, 500)attempt();attempt()functio ... null;\n}{\n c ... null;\n}const r ... , 'i');regex = ... `, 'i')new Reg ... `, 'i')`\\[par ... +)["']`\[params\.\][^]*?\\s*=\\ ... ]+)["']\s*=\s*["']([^"']+)["']const m ... regex);match = ... (regex)content.match(regex)content.matchmatch ? ... : nullmatch[1]async f ... t(0);\n}{\n l ... t(0);\n}--- STARTING UKSF THEME TEST SUITE ---log('\n ... GREEN);log('\n ... GREEN)'\n[1/4 ... rds...' +[1/4] Testing Linting Standards...[1/4] Testing Linting Standardsif (!ru ... ;\n }!runCom ... lint')runComm ... lint')npm run lint'\u2713 Linting Passed'✓ Linting Passed'\n[2/4 ... nks...' +[2/4] Testing External Uplinks...[2/4] Testing External Uplinksconst c ... utf8');config ... 'utf8')hugo.tomltomlconst u ... y_id');ucId = ... ty_id')getHugo ... ty_id')community_idconst u ... oken');ucToken ... token')getHugo ... token')bot_tokenif (ucI ... }\n }ucId && ucTokenlog(`Ch ... ELLOW);log(`Ch ... YELLOW)`Checki ... d})...`Checkin ... k (ID: await c ... });await c ... })checkUr ... })headers ... ken}` }`Bot ${ucToken}`'\u2713 Unit ... Stable'✓ Unit Commander Uplink Stable`! Unit ... ssage}`! Unit ... rning: const d ... r_id');discord ... er_id')getHugo ... er_id')if (dis ... }\n }await c ... json`);await c ... .json`)checkUr ... .json`)'\u2713 Disc ... Stable'✓ Discord Uplink Stable`! Disc ... ssage}`! Disco ... rning: '\n[3/4 ... ild...' +[3/4] Testing Production Build...[3/4] Testing Production Build!runCom ... build')runComm ... build')npm run build'\u2713 Build Passed'✓ Build Passed'\n[4/4 ... ver...' +[4/4] Testing Runtime Server...[4/4] Testing Runtime Serverconst s ... });serverP ... \n })spawn(' ... \n })['start']{ \n ... '\n }detached: truelet int ... false;intenti ... = falseserverP ... });serverProcess.on(code) ... }\n }if (!in ... }!intentionalKill`\nX Se ... code}.`\nX Ser ... h code +X Server process exited prematurely with code try {\n ... }\n }log('Wa ... GREEN);log('Wa ... GREEN)'Waitin ... 313...'Waiting for server at http://localhost:1313...Waiting for server at http://localhost:1313await c ... 1313');await c ... :1313')checkSe ... :1313')'\u2713 Serv ... 200 OK'✓ Server responded with 200 OK`X Runt ... ssage}`X Runti ... ailed: error.messageintenti ... = true;intenti ... = trueif (ser ... s.pid);serverProcess.pidprocess ... s.pid);process ... ss.pid)process.kill-serverProcess.pidif (ser ... }catch { ... }'\n--- ... ED ---' +--- ALL TESTS PASSED ---process.exit(0);process.exit(0)/home/matt/Development/themes/uksf-mod-theme/services/rcon-bridge.js/home/matt/Development/themes/uksf-mod-theme/services'express''cors'appPORTRCON_BRIDGE_PORTippasspost'/api/rcon/command'504outputlisten'0.0.0.0'[RCON_BRIDGE] Active on import ... press';import ... 'cors';const a ... ress();app = express()express()const P ... | 3001;PORT = ... || 3001process ... || 3001process ... GE_PORTapp.use(cors());app.use(cors())app.usecors()app.use ... son());app.use ... json())express.json()express.json{\n i ... || ""\n}ip: pro ... .0.0.1"port: p ... "2302")pass: p ... D || ""app.pos ... p);\n});app.pos ... ip);\n})app.post/api/rcon/commandasync ( ... .ip);\n}{\n c ... .ip);\n}const { ... q.body;{ comma ... eq.body{ command }req.bodyconst t ... 5000);timeout ... , 5000)setTime ... , 5000)() => { ... " }); }{ clien ... " }); }res.sta ... ut" });res.sta ... out" })res.status(504).jsonres.status(504){ error: "Timeout" }error: "Timeout"client. ... \n })(msg) = ... }\n }const p ... and)]);p = Buf ... mand)])Buffer. ... mand)])[Buffer ... mmand)]Buffer.from(command)client. ... ig.ip);client. ... fig.ip)config.portconfig.ipres.jso ... 8) });res.jso ... , 8) }){ outpu ... ', 8) }output: ... f8', 8)login = ... pass)])Buffer. ... pass)])[Buffer ... .pass)]Buffer. ... g.pass)config.passapp.lis ... `); });app.lis ... }`); })app.listen0.0.0.0() => { ... T}`); }console ... ORT}`);console ... PORT}`)`[RCON_ ... {PORT}`[RCON_B ... ive on /home/matt/Development/themes/uksf-mod-theme/services/registry-service.jsREGISTRY_SERVICE_PORTCONTENT_DIR'exampleSite/content/campaigns''/api/file'"Missing data.".mdmdContent--- +title: "" +date: "" +layout: "campaign" +type: "fragment" +--- + +mkdirSync[REGISTRY_SERVICE] Active on const P ... | 3002;PORT = ... || 3002process ... || 3002process ... CE_PORTREGISTR ... CE_PORTconst C ... igns');CONTENT ... aigns')path.re ... aigns')'exampl ... paigns'exampleSite/content/campaignsapp.pos ... ; }\n});app.pos ... ); }\n})/api/file(req, r ... }); }\n}{\n c ... }); }\n}{ slug, ... eq.body{ slug, ... adata }if (!sl ... a." });!slug || !content!slug!contentreturn ... a." });res.sta ... ta." })res.status(400).jsonres.status(400){ error ... ata." }error: ... data."Missing data.Missing dataconst f ... }.md`);filePat ... g}.md`)path.jo ... g}.md`)`${slug}.md`const m ... tent}`;mdConte ... ntent}``---\nti ... ntent}`---\ntitle: ""\ndate: ""\nlayou ... "\n---\n\ntry {\n ... e }); }if (!fs ... rue });!fs.exi ... NT_DIR)fs.exis ... NT_DIR)fs.mkdi ... rue });fs.mkdi ... true })fs.mkdirSync{ recursive: true }recursive: truefs.writ ... ntent);fs.writ ... ontent)res.jso ... rue });res.jso ... true }){ success: true }success: truecatch ( ... e }); }{ res.s ... e }); }res.sta ... age });res.sta ... sage })res.status(500).jsonres.status(500){ error: e.message }error: e.message`[REGIS ... {PORT}`[REGIST ... ive on /home/matt/Development/themes/uksf-mod-theme/static/js/orbat-canvas.js/home/matt/Development/themes/uksf-mod-theme/static/js/home/matt/Development/themes/uksf-mod-theme/static/home/matt/Development/themes/uksf-mod-theme/tailwind.config.cjs @type {import('tailwindcss').Config} /** @ty ... fig} */'./layouts/**/*.html''./content/**/*.md''./data/labels.json''./static/js/**/*.js'colors'tactical-black''#050505''tactical-dark''#0a0a0a''tactical-grey''#121212''uksf-gold''#b3995d''uksf-blue''#002366''uksf-green''#153e35''uksf-red''#800000'industrial'Bebas Neue''Impact''sans-serif'tactical'JetBrains Mono''monospace''Inter''Arial''carbon-pattern'"url('https://www.transparenttextures.com/patterns/carbon-fibre.png')"'noise-pattern'"url('https://www.transparenttextures.com/patterns/stardust.png')"'pulse-fast''pulse 1.5s cubic-bezier(0.4, 0, 0.6, 1) infinite''flicker''flicker 0.15s infinite'keyframesflicker'0%, 100%''50%''@tailwindcss/typography'@typeMissing or invalid tag typeMissing ... ag typemodule. ... ],\n};module. ... \n ],\n}{\n con ... \n ],\n}content ... s',\n ][\n ' ... s',\n ]'./layo ... *.html'./layouts/**/*.html./content/**/*.md./data/labels.json/data/labels'./stat ... */*.js'./static/js/**/*.jstheme: ... },\n }{\n e ... },\n }extend: ... }\n }colors: ... }'tactic ... 050505'tactical-black#050505'tactic ... 0a0a0a'tactical-dark#0a0a0a'tactic ... 121212'tactical-grey#121212'uksf-g ... b3995d'uksf-gold#b3995d'uksf-b ... 002366'uksf-blue'uksf-g ... 153e35'uksf-green'uksf-r ... 800000'uksf-redfontFam ... }industr ... serif']['Bebas ... serif']Bebas NeueImpactsans-seriftactica ... space']['JetBr ... space']JetBrains Monomonospacebody: [ ... serif']['Inter ... serif']InterArialbackgro ... }'carbon ... .png')"carbon-pattern"url('h ... .png')"url('https://www.transparenttextures.com/patterns/carbon-fibre.png')('https://www.transparenttextures.com/patterns/carbon-fibre.png')'https://www.transparenttextures.com/patterns/carbon-fibre.png''https://wwwtransparenttexturescom/patterns/carbon-fibrepng''noise- ... .png')"noise-patternurl('https://www.transparenttextures.com/patterns/stardust.png')('https://www.transparenttextures.com/patterns/stardust.png')'https://www.transparenttextures.com/patterns/stardust.png'com/patterns/stardustanimati ... }'pulse- ... finite'pulse-fast'pulse ... finite'pulse 1.5s cubic-bezier(0.4, 0, 0.6, 1) infinitepulse 15s cubic-bezier(0.4, 0, 0.6, 1)0.4, 0, 0.6, 14, 0, 06, 1 infinite'flicke ... finite'flicker 0.15s infiniteflicker 015s infinitekeyfram ... }flicker ... }'0%, 10 ... ty: 1 }0%, 100%{ opacity: 1 }opacity: 1'50%': ... : 0.8 }50%{ opacity: 0.8 }opacity: 0.8require ... raphy')'@tailw ... graphy'/home/matt/Development/themes/uksf-mod-theme/tests/console.spec.js/home/matt/Development/themes/uksf-mod-theme/testsexpectdescribe'C2 Console''should display uplink status'pagegoto'/console'locator'#connection-status'toContainText'UPLINK_ACTIVE'test.de ... });\n});test.de ... });\n})test.describeC2 Console() => { ... });\n}{\n t ... });\n}test('s ... });test('s ... \n })'should ... status'should display uplink statusasync ( ... ;\n }{ page }await p ... sole');await p ... nsole')page.go ... nsole')page.goto/consoleawait e ... TIVE');await e ... CTIVE')expect( ... CTIVE')expect( ... ainTextexpect( ... atus'))page.lo ... tatus')page.locator#connection-statusUPLINK_ACTIVE/home/matt/Development/themes/uksf-mod-theme/tests/filing.spec.js'Filing Terminal'beforeEachaddInitScript'should show induction briefing for new users'removeItem'uksfta_vault_onboarded'onboarding'#vault-onboarding'toHaveAttribute'#onboarding-content''Welcome to the RSIS Vault'Filing Terminaltest.be ... });test.be ... \n })test.beforeEachawait p ... });await p ... })page.ad ... })page.addInitScriptwindow. ... ized');window. ... rized')window. ... setItemwindow.localStoragewindow. ... true');window. ... 'true')'should ... users'should show induction briefing for new userswindow. ... rded');window. ... arded')window. ... oveItem'uksfta ... oarded'uksfta_vault_onboardedawait p ... ling');await p ... iling')page.goto('/filing')const o ... ding');onboard ... rding')page.lo ... rding')#vault-onboardingawait e ... true');await e ... 'true')expect( ... 'true')expect( ... tributeexpect(onboarding)await e ... ault');await e ... Vault')expect( ... Vault')expect( ... tent'))page.lo ... ntent')'#onboa ... ontent'#onboarding-content'Welcom ... Vault'Welcome to the RSIS Vault/home/matt/Development/themes/uksf-mod-theme/tests/lighthouse.spec.jsplayAudit'playwright-lighthouse''playwright''Lighthouse Audit''Homepage performance'launch'--remote-debugging-port=9222'newPagethresholdsaccessibility'best-practices'seo9222import ... house';'playwr ... thouse'import ... right';playwrightLighthouse Audit{\n tes ... });\n}test('H ... ;\n });test('H ... );\n })'Homepa ... rmance'Homepage performanceasync ( ... ();\n }{\n c ... ();\n }const b ... 2'] });browser ... 22'] })await c ... 22'] })chromiu ... 22'] })chromiu ... .launchchromium.chromium{ args: ... 222'] }args: [ ... =9222']['--rem ... =9222']'--remo ... t=9222'--remote-debugging-port=9222const p ... Page();page = ... wPage()await b ... wPage()browser.newPage()browser.newPageawait p ... 1313');await p ... :1313')page.go ... :1313')await p ... \n })playAud ... \n })page: pagethresho ... o: 90 }{ perfo ... o: 90 }performance: 75accessibility: 80'best-practices': 90best-practicesseo: 90port: 9222await b ... lose();await b ... close()browser.close()browser.close/home/matt/Development/themes/uksf-mod-theme/tests/orbat.spec.js'ORBAT Canvas''/registry/orbat''should load the canvas and admin bar''#orbat-canvas'toBeAttached'#hq-admin-bar'ORBAT Canvasawait p ... rbat');await p ... orbat')page.go ... orbat')/registry/orbat'should ... in bar'should load the canvas and admin barawait e ... ched();await e ... ached()expect( ... ached()expect( ... ttachedexpect( ... nvas'))page.lo ... anvas')#orbat-canvasexpect( ... -bar'))page.lo ... n-bar')#hq-admin-bar/opt/codeql/javascript/tools/data/externs/es/es2016.js/opt/codeql/javascript/tools/data/externs/es/opt/codeql/javascript/tools/data/externs/opt/codeql/javascript/tools/data/opt/codeql/javascript/tools/opt/codeql/javascript/opt/codeql/opt + * Copyright 2016 Semmle + /*\n * C ... mle\n */ + * @fileoverview Definitions for ECMAScript 2016. + * @see https://262.ecma-international.org/7.0/ + * @externs + /**\n * ... rns\n */ + * @param {*} searchElement + * @param {number=} fromIndex + * @return {boolean} + * @nosideeffects + /**\n * ... cts\n */searchElementfromIndexfileoverview@fileoverviewDefinitions for ECMAScript 2016. +see@seehttps://262.ecma-international.org/7.0/ +externs@externs@paramnumber=@returnnosideeffects@nosideeffectsArray.p ... ex) {};Array.p ... dex) {}Array.p ... ncludesfunctio ... dex) {}/opt/codeql/javascript/tools/data/externs/es/es2017.js + * @fileoverview Definitions approved for inclusion in ECMAScript 2017. + * @see https://github.com/tc39/proposals/blob/master/finished-proposals.md + * @externs + + * @param {*} obj + * @return {!Array} + * @nosideeffects + + * @param {*} obj + * @return {!Array.} + * @nosideeffects + + * @param {number} maxLength + * @param {string=} fillString + * @return {string} + * @nosideeffects + + * @param {!Object} obj + * @return {!Array.} + * @nosideeffects + objmaxLengthfillStringpadEndgetOwnPropertyDescriptorsDefinitions approved for inclusion in ECMAScript 2017. +https://github.com/tc39/proposals/blob/master/finished-proposals.md +!Array!Array.Array.string=!Object!Array.Array.!ObjectPropertyDescriptorObjectPropertyDescriptorObject. ... bj) {};Object. ... obj) {}Object.valuesfunction(obj) {}String. ... ng) {};String. ... ing) {}String. ... adStartString.prototypefunctio ... ing) {}String. ... .padEndObject. ... riptorsgetOwnP ... riptors/opt/codeql/javascript/tools/data/externs/es/es3.js + * Copyright 2008 The Closure Compiler Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + /*\n * C ... se.\n */ + * @fileoverview ECMAScript 3 Built-Ins. This include common extensions so this + * is actually ES3+Reality. + * @externs + * @author stevey@google.com (Steve Yegge) + * @author nicksantos@google.com (Nick Santos) + * @author arv@google.com (Erik Arvidsson) + * @author johnlenz@google.com (John Lenz) + /**\n * ... nz)\n */ START ES6 RETROFIT CODE// STAR ... IT CODE symbol, Symbol and Symbol.iterator are actually ES6 types but some// symb ... ut some Some types require them to be part of their definition (such as Array).// Some ... Array). TODO(johnlenz): symbol should be a primitive type.// TODO ... e type. @typedef {?} /** @typedef {?} */ + * @param {string=} opt_description + * @return {symbol} + /**\n * ... ol}\n */ + * @param {string} sym + * @return {symbol|undefined} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/for + /**\n * ... for\n */ + * @param {symbol} sym + * @return {string|undefined} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/keyFor + /**\n * ... For\n */ Well known symbols// Well ... symbols @const {symbol} /** @co ... bol} */ + * @record + * @template VALUE + /**\n * ... LUE\n */ @type {boolean} /** @ty ... ean} */ @type {VALUE} /** @type {VALUE} */ + * @interface + * @template VALUE + TODO(johnlenz): remove this when the compiler understands "symbol" natively// TODO ... atively + * @return {Iterator} + * @suppress {externsValidation} + /**\n * ... on}\n */ + * @interface + * @template VALUE + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/The_Iterator_protocol + /**\n * ... col\n */ + * @param {VALUE=} value + * @return {!IIterableResult} + /**\n * ... E>}\n */ + * Use this to indicate a type is both an Iterator and an Iterable. + * @interface + * @extends {Iterator} + * @extends {Iterable} + * @template T + /**\n * ... e T\n */ END ES6 RETROFIT CODE// END ... IT CODE + * @interface + * @template KEY1, VALUE1 + /**\n * ... UE1\n */ + * @record + * @extends {IObject} + * @template VALUE2 + /**\n * ... UE2\n */ @type {number} /** @ty ... ber} */ + * @constructor + * @implements {IArrayLike} + * @template T + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/arguments + /**\n * ... nts\n */ + * @type {Function} + * @see http://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Functions_and_function_scope/arguments/callee + /**\n * ... lee\n */ + * Use the non-standard {@see Function.prototype.caller} property of a function + * object instead. + * @type {Function} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments/caller + * @deprecated + /**\n * ... ted\n */ + * @type {number} + * @see http://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Functions_and_function_scope/arguments/length + /**\n * ... gth\n */ + * Not actually a global variable, but we need it in order for the current type + * checker to typecheck the "arguments" variable in a function correctly. + * TODO(tbreisacher): When the old type checker is gone, delete this and add + * an 'arguments' variable of type Array in the d8 externs. + * + * @type {!Arguments} + * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Functions_and_function_scope/arguments + + * @type {number} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Infinity + * @const + /**\n * ... nst\n */ + * @type {number} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN + * @const + + * @type {undefined} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined + * @const + + * @param {string} uri + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURI + /**\n * ... URI\n */ + * @param {string} uri + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent + /**\n * ... ent\n */ + * @param {string} uri + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURI + + * @param {string} uri + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent + + * Should only be used in browsers where encode/decodeURIComponent + * are not present, as the latter handle fancy Unicode characters. + * @param {string} str + * @return {string} + * @nosideeffects + * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Predefined_Functions/escape_and_unescape_Functions + /**\n * ... ons\n */ + * @param {*} num + * @return {boolean} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isFinite + /**\n * ... ite\n */ + * @param {*} num + * @return {boolean} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isNaN + /**\n * ... NaN\n */ + * @param {*} num + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseFloat + /**\n * ... oat\n */ + * Parse an integer. Use of {@code parseInt} without {@code base} is strictly + * banned in Google. If you really want to parse octal or hex based on the + * leader, then pass {@code undefined} as the base. + * + * @param {*} num + * @param {number|undefined} base + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt + /**\n * ... Int\n */ + * @param {string} code + * @return {*} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval + /**\n * ... val\n */ + * @constructor + * @param {*=} opt_value + * @return {!Object} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object + /**\n * ... ect\n */ + * The constructor of the current object. + * @type {Function} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor + /**\n * ... tor\n */ + * Binds an object's property to a function to be called when that property is + * looked up. + * Mozilla-only. + * + * @param {string} sprop + * @param {Function} fun + * @modifies {this} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineGetter + * @return {undefined} + /**\n * ... ed}\n */ + * Binds an object's property to a function to be called when an attempt is made + * to set that property. + * Mozilla-only. + * + * @param {string} sprop + * @param {Function} fun + * @modifies {this} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineSetter + * @return {undefined} + + * Returns whether the object has a property with the specified name. + * + * @param {*} propertyName Implicitly cast to a string. + * @return {boolean} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty + /**\n * ... rty\n */ + * Returns whether an object exists in another object's prototype chain. + * + * @param {Object} other + * @return {boolean} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isPrototypeOf + /**\n * ... eOf\n */ + * Return the function bound as a getter to the specified property. + * Mozilla-only. + * + * @param {string} sprop a string containing the name of the property whose + * getter should be returned + * @return {Function} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/lookupGetter + /**\n * ... ter\n */ + * Return the function bound as a setter to the specified property. + * Mozilla-only. + * + * @param {string} sprop a string containing the name of the property whose + * setter should be returned. + * @return {Function} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/lookupSetter + + * Executes a function when a non-existent method is called on an object. + * Mozilla-only. + * + * @param {Function} fun + * @return {*} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/noSuchMethod + /**\n * ... hod\n */ + * Points to an object's context. For top-level objects, this is the e.g. window. + * Mozilla-only. + * + * @type {Object} + * @deprecated + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/parent + + * Points to the object which was used as prototype when the object was instantiated. + * Mozilla-only. + * + * Will be null on Object.prototype. + * + * @type {Object} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/proto + /**\n * ... oto\n */ + * Determine whether the specified property in an object can be enumerated by a + * for..in loop, with the exception of properties inherited through the + * prototype chain. + * + * @param {string} propertyName + * @return {boolean} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/propertyIsEnumerable + /**\n * ... ble\n */ + * Returns a localized string representing the object. + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toLocaleString + /**\n * ... ing\n */ + * Returns a string representing the source code of the object. + * Mozilla-only. + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toSource + /**\n * ... rce\n */ + * Returns a string representing the object. + * @this {*} + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString + + * Removes a watchpoint set with the {@see Object.prototype.watch} method. + * Mozilla-only. + * @param {string} prop The name of a property of the object. + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/unwatch + * @return {undefined} + + * Returns the object's {@code this} value. + * @return {*} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/valueOf + + * Sets a watchpoint method. + * Mozilla-only. + * @param {string} prop The name of a property of the object. + * @param {Function} handler A function to call. + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/watch + * @return {undefined} + + * @constructor + * @param {...*} var_args + * @throws {Error} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function + /**\n * ... ion\n */ + * @param {...*} var_args + * @return {*} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call + /**\n * ... all\n */ + * @param {...*} var_args + * @return {*} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply + /**\n * ... ply\n */ + * @type {number} + * @deprecated + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/arity + /**\n * ... ity\n */ + * Nonstandard; Mozilla and JScript only. + * @type {Function} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/caller + /**\n * ... ler\n */ + * Nonstandard. + * @type {?} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/displayName + /**\n * ... ame\n */ + * Expected number of arguments. + * @type {number} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/length + + * @type {string} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name + + * @this {Function} + * @return {string} + * @nosideeffects + * @override + /**\n * ... ide\n */ + * @constructor + * @implements {IArrayLike} + * @implements {Iterable} + * @param {...*} var_args + * @return {!Array} + * @nosideeffects + * @template T + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array + /**\n * ... ray\n */ + * @return {Iterator} + * @suppress {externsValidation} + Functions:// Functions: + * Returns a new array comprised of this array joined with other array(s) + * and/or value(s). + * + * @param {...*} var_args + * @return {!Array} + * @this {*} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat + /**\n * ... cat\n */ + * Joins all elements of an array into a string. + * + * @param {*=} opt_separator Specifies a string to separate each element of the + * array. The separator is converted to a string if necessary. If omitted, + * the array elements are separated with a comma. + * @return {string} + * @this {IArrayLike|string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join + /**\n * ... oin\n */ + * Removes the last element from an array and returns that element. + * + * @return {T} + * @this {IArrayLike} + * @modifies {this} + * @template T + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop + /**\n * ... pop\n */ + * Mutates an array by appending the given elements and returning the new + * length of the array. + * + * @param {...T} var_args + * @return {number} The new length of the array. + * @this {IArrayLike} + * @template T + * @modifies {this} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push + /**\n * ... ush\n */ + * Transposes the elements of an array in place: the first array element becomes the + * last and the last becomes the first. The mutated array is also returned. + * + * @return {THIS} A reference to the original modified array. + * @this {THIS} + * @template THIS + * @modifies {this} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse + /**\n * ... rse\n */ + * Removes the first element from an array and returns that element. This + * method changes the length of the array. + * + * @this {IArrayLike} + * @modifies {this} + * @return {T} + * @template T + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/shift + /**\n * ... ift\n */ + * Extracts a section of an array and returns a new array. + * + * @param {*=} opt_begin Zero-based index at which to begin extraction. A + * non-number type will be auto-cast by the browser to a number. + * @param {*=} opt_end Zero-based index at which to end extraction. slice + * extracts up to but not including end. + * @return {!Array} + * @this {IArrayLike|string} + * @template T + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice + /**\n * ... ice\n */ + * Sorts the elements of an array in place. + * + * @param {function(T,T):number=} opt_compareFunction Specifies a function that + * defines the sort order. + * @this {IArrayLike} + * @template T + * @modifies {this} + * @return {!Array} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort + /**\n * ... ort\n */ + * Changes the content of an array, adding new elements while removing old + * elements. + * + * @param {*=} opt_index Index at which to start changing the array. If negative, + * will begin that many elements from the end. A non-number type will be + * auto-cast by the browser to a number. + * @param {*=} opt_howMany An integer indicating the number of old array elements + * to remove. + * @param {...T} var_args + * @return {!Array} + * @this {IArrayLike} + * @modifies {this} + * @template T + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice + + * @return {string} + * @this {Object} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toSource + + * @this {Array} + * @return {string} + * @nosideeffects + * @override + + * Adds one or more elements to the beginning of an array and returns the new + * length of the array. + * + * @param {...*} var_args + * @return {number} The new length of the array + * @this {IArrayLike} + * @modifies {this} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/unshift + + * Apply a function simultaneously against two values of the array (from + * left-to-right) as to reduce it to a single value. + * + * @param {?function(?, T, number, !Array) : R} callback + * @param {*=} opt_initialValue + * @return {R} + * @this {IArrayLike|string} + * @template T,R + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce + /**\n * ... uce\n */ + * Apply a function simultaneously against two values of the array (from + * right-to-left) as to reduce it to a single value. + * + * @param {?function(?, T, number, !Array) : R} callback + * @param {*=} opt_initialValue + * @return {R} + * @this {IArrayLike|string} + * @template T,R + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight + /**\n * ... ght\n */ + * Available in ECMAScript 5, Mozilla 1.6+. + * @param {?function(this:S, T, number, !Array): ?} callback + * @param {S=} opt_thisobj + * @return {boolean} + * @this {IArrayLike|string} + * @template T,S + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every + /**\n * ... ery\n */ + * Available in ECMAScript 5, Mozilla 1.6+. + * @param {?function(this:S, T, number, !Array): ?} callback + * @param {S=} opt_thisobj + * @return {!Array} + * @this {IArrayLike|string} + * @template T,S + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter + + * Available in ECMAScript 5, Mozilla 1.6+. + * @param {?function(this:S, T, number, !Array): ?} callback + * @param {S=} opt_thisobj + * @this {IArrayLike|string} + * @template T,S + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach + * @return {undefined} + + * Available in ECMAScript 5, Mozilla 1.6+. + * @param {T} obj + * @param {number=} opt_fromIndex + * @return {number} + * @this {IArrayLike|string} + * @nosideeffects + * @template T + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf + /**\n * ... xOf\n */ + * Available in ECMAScript 5, Mozilla 1.6+. + * @param {T} obj + * @param {number=} opt_fromIndex + * @return {number} + * @this {IArrayLike|string} + * @nosideeffects + * @template T + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf + + * Available in ECMAScript 5, Mozilla 1.6+. + * @param {?function(this:S, T, number, !Array): R} callback + * @param {S=} opt_thisobj + * @return {!Array} + * @this {IArrayLike|string} + * @template T,S,R + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map + /**\n * ... map\n */ + * Available in ECMAScript 5, Mozilla 1.6+. + * @param {?function(this:S, T, number, !Array): ?} callback + * @param {S=} opt_thisobj + * @return {boolean} + * @this {IArrayLike|string} + * @template T,S + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some + /**\n * ... ome\n */ + * @type {number} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/index + /**\n * ... dex\n */ + * @type {?string} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/input + /**\n * ... put\n */ + * @type {number} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/length + + * @param {IArrayLike} arr + * @param {?function(this:S, T, number, ?) : ?} callback + * @param {S=} opt_context + * @return {boolean} + * @template T,S + /**\n * ... T,S\n */ + * @param {IArrayLike} arr + * @param {?function(this:S, T, number, ?) : ?} callback + * @param {S=} opt_context + * @return {!Array} + * @template T,S + + * @param {IArrayLike} arr + * @param {?function(this:S, T, number, ?) : ?} callback + * @param {S=} opt_context + * @template T,S + * @return {undefined} + + * Mozilla 1.6+ only. + * @param {IArrayLike} arr + * @param {T} obj + * @param {number=} opt_fromIndex + * @return {number} + * @template T + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf + + * Mozilla 1.6+ only. + * @param {IArrayLike} arr + * @param {T} obj + * @param {number=} opt_fromIndex + * @return {number} + * @template T + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf + + * @param {IArrayLike} arr + * @param {?function(this:S, T, number, !Array): R} callback + * @param {S=} opt_context + * @return {!Array} + * @template T,S,R + /**\n * ... S,R\n */ + * Introduced in 1.8.5. + * @param {*} arr + * @return {boolean} + * @nosideeffects + * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/isArray + + * @constructor + * @param {*=} opt_value + * @return {boolean} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean + /**\n * ... ean\n */ + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean/toSource + * @override + + * @this {boolean|Boolean} + * @return {string} + * @nosideeffects + * @override + + * @return {boolean} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean/valueOf + * @override + + * @constructor + * @param {*=} opt_value + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number + /**\n * ... ber\n */ + * @this {Number|number} + * @param {number=} opt_fractionDigits + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toExponential + /**\n * ... ial\n */ + * @this {Number|number} + * @param {*=} opt_digits + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed + /**\n * ... xed\n */ + * @this {Number|number} + * @param {number=} opt_precision + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toPrecision + + * Returns a string representing the number. + * @this {Number|number} + * @param {(number|Number)=} opt_radix An optional radix. + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toString + * @override + Properties.// Properties. + * @type {number} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_VALUE + + * @type {number} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MIN_VALUE + + * @type {number} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/NaN + + * @type {number} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/NEGATIVE_INFINITY + /**\n * ... ITY\n */ + * @type {number} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/POSITIVE_INFINITY + + * @const + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math + /**\n * ... ath\n */ + * @param {?} x + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/abs + /**\n * ... abs\n */ + * @param {?} x + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/acos + /**\n * ... cos\n */ + * @param {?} x + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/asin + /**\n * ... sin\n */ + * @param {?} x + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atan + /**\n * ... tan\n */ + * @param {?} y + * @param {?} x + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atan2 + /**\n * ... an2\n */ + * @param {?} x + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/ceil + /**\n * ... eil\n */ + * @param {?} x + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/cos + + * @param {?} x + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/exp + /**\n * ... exp\n */ + * @param {?} x + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/floor + /**\n * ... oor\n */ + * @param {?} x + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log + /**\n * ... log\n */ + * @param {...?} var_args + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/max + /**\n * ... max\n */ + * @param {...?} var_args + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/min + /**\n * ... min\n */ + * @param {?} x + * @param {?} y + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/pow + /**\n * ... pow\n */ + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random + /**\n * ... dom\n */ + * @param {?} x + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/round + /**\n * ... und\n */ + * @param {?} x + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sin + + * @param {?} x + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sqrt + /**\n * ... qrt\n */ + * @param {?} x + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/tan + + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/toSource + Properties:// Properties: + * @type {number} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/E + /**\n * ... h/E\n */ + * @type {number} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LN2 + /**\n * ... LN2\n */ + * @type {number} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LN10 + /**\n * ... N10\n */ + * @type {number} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LOG2E + /**\n * ... G2E\n */ + * @type {number} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LOG10E + /**\n * ... 10E\n */ + * @type {number} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/PI + /**\n * ... /PI\n */ + * @type {number} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/SQRT1_2 + /**\n * ... 1_2\n */ + * @type {number} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/SQRT2 + /**\n * ... RT2\n */ + * @param {?=} opt_yr_num + * @param {?=} opt_mo_num + * @param {?=} opt_day_num + * @param {?=} opt_hr_num + * @param {?=} opt_min_num + * @param {?=} opt_sec_num + * @param {?=} opt_ms_num + * @constructor + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date + /**\n * ... ate\n */ + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/now + /**\n * ... now\n */ + * Parses a string representation of a date, and returns the number + * of milliseconds since January 1, 1970, 00:00:00, local time. + * @param {*} date + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse + + * @param {number} year + * @param {number} month + * @param {number=} opt_date + * @param {number=} opt_hours + * @param {number=} opt_minute + * @param {number=} opt_second + * @param {number=} opt_ms + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/UTC + /**\n * ... UTC\n */ + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getDate + + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getDay + /**\n * ... Day\n */ + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMonth + /**\n * ... nth\n */ + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getFullYear + /**\n * ... ear\n */ + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getYear + + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getHours + /**\n * ... urs\n */ + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMinutes + /**\n * ... tes\n */ + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getSeconds + /**\n * ... nds\n */ + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMilliseconds + + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTime + /**\n * ... ime\n */ + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset + /**\n * ... set\n */ + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCDate + + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCDay + + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMonth + + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCFullYear + + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCHours + + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMinutes + + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCSeconds + + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMilliseconds + + * Sets the day of the month for a specified date according to local time. + * + * @param {number} dayValue + * @modifies {this} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setDate + * @return {number} + /**\n * ... er}\n */ + * Set the month for a specified date according to local time. + * + * @param {number} monthValue + * @param {number=} opt_dayValue + * @modifies {this} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMonth + * @return {number} + + * Sets the full year for a specified date according to local time. + * + * @param {number} yearValue + * @param {number=} opt_monthValue + * @param {number=} opt_dayValue + * @modifies {this} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setFullYear + * @return {number} + + * Sets the year for a specified date according to local time. + * + * @param {number} yearValue + * @deprecated + * @modifies {this} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setYear + * @return {number} + + * Sets the hours for a specified date according to local time. + * + * @param {number} hoursValue + * @param {number=} opt_minutesValue + * @param {number=} opt_secondsValue + * @param {number=} opt_msValue + * @modifies {this} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setHours + * @return {number} + + * Sets the minutes for a specified date according to local time. + * + * @param {number} minutesValue + * @param {number=} opt_secondsValue + * @param {number=} opt_msValue + * @modifies {this} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMinutes + * @return {number} + + * Sets the seconds for a specified date according to local time. + * + * @param {number} secondsValue + * @param {number=} opt_msValue + * @modifies {this} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setSeconds + * @return {number} + + * Sets the milliseconds for a specified date according to local time. + * + * @param {number} millisecondsValue + * @modifies {this} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMilliseconds + * @return {number} + + * Sets the Date object to the time represented by a number of milliseconds + * since January 1, 1970, 00:00:00 UTC. + * + * @param {number} timeValue + * @modifies {this} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setTime + * @return {number} + + * Sets the day of the month for a specified date according to universal time. + * + * @param {number} dayValue + * @modifies {this} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCDate + * @return {number} + + * Sets the month for a specified date according to universal time. + * + * @param {number} monthValue + * @param {number=} opt_dayValue + * @modifies {this} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMonth + * @return {number} + + * Sets the full year for a specified date according to universal time. + * + * @param {number} yearValue + * @param {number=} opt_monthValue + * @param {number=} opt_dayValue + * @modifies {this} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCFullYear + * @return {number} + + * Sets the hour for a specified date according to universal time. + * + * @param {number} hoursValue + * @param {number=} opt_minutesValue + * @param {number=} opt_secondsValue + * @param {number=} opt_msValue + * @modifies {this} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCHours + * @return {number} + + * Sets the minutes for a specified date according to universal time. + * + * @param {number} minutesValue + * @param {number=} opt_secondsValue + * @param {number=} opt_msValue + * @modifies {this} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMinutes + * @return {number} + + * Sets the seconds for a specified date according to universal time. + * + * @param {number} secondsValue + * @param {number=} opt_msValue + * @modifies {this} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCSeconds + * @return {number} + + * Sets the milliseconds for a specified date according to universal time. + * + * @param {number} millisecondsValue + * @modifies {this} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMilliseconds + * @return {number} + + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toSource + * @override + + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/toDateString + + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toGMTString + + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toTimeString + + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toUTCString + + * @param {(string|Array)=} opt_locales + * @param {Object=} opt_options + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString + + * @param {string} formatString + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleFormat + /**\n * ... mat\n */ + * @param {string|Array=} opt_locales + * @param {Object=} opt_options + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString + * @see http://www.ecma-international.org/ecma-402/1.0/#sec-13.3.1 + * @override + + * @param {(string|Array)=} opt_locales + * @param {Object=} opt_options + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleTimeString + + * @this {Date} + * @return {string} + * @nosideeffects + * @override + + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/valueOf + + * @constructor + * @param {*=} opt_str + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String + + * @param {...number} var_args + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode + /**\n * ... ode\n */ + * @this {String|string} + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/anchor + /**\n * ... hor\n */ + * @this {String|string} + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/big + /**\n * ... big\n */ + * @this {String|string} + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/blink + /**\n * ... ink\n */ + * @this {String|string} + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/bold + /**\n * ... old\n */ + * Returns the specified character from a string. + * + * @this {String|string} + * @param {number} index + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charAt + /**\n * ... rAt\n */ + * Returns a number indicating the Unicode value of the character at the given + * index. + * + * @this {String|string} + * @param {number=} opt_index + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt + /**\n * ... eAt\n */ + * Combines the text of two or more strings and returns a new string. + * + * @this {String|string} + * @param {...*} var_args + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/concat + + * @this {String|string} + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fixed + + * @this {String|string} + * @param {string} color + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fontcolor + /**\n * ... lor\n */ + * @this {String|string} + * @param {number} size + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fontsize + /**\n * ... ize\n */ + * Returns the index within the calling String object of the first occurrence + * of the specified value, starting the search at fromIndex, returns -1 if the + * value is not found. + * + * @this {String|string} + * @param {string|null} searchValue + * @param {(number|null)=} opt_fromIndex + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf + + * @this {String|string} + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/italics + /**\n * ... ics\n */ + * Returns the index within the calling String object of the last occurrence of + * the specified value, or -1 if not found. The calling string is searched + * backward, starting at fromIndex. + * + * @this {String|string} + * @param {string|null} searchValue + * @param {(number|null)=} opt_fromIndex + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf + + * @this {String|string} + * @param {string} hrefAttribute + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/link + + * Returns a number indicating whether a reference string comes before or after + * or is the same as the given string in sort order. + * + * @this {*} + * @param {?string} compareString + * @param {string|Array=} locales + * @param {Object=} options + * @return {number} + * @nosideeffects + * @see http://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Objects/String/localeCompare + * @see http://www.ecma-international.org/ecma-402/1.0/#sec-13.1.1 + /**\n * ... 1.1\n */ + * Used to retrieve the matches when matching a string against a regular + * expression. + * + * @this {String|string} + * @param {*} regexp + * @return {Array} This should really return an Array with a few + * special properties, but we do not have a good way to model this in + * our type system. Also see Regexp.prototype.exec. + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match + /**\n * ... tch\n */ + * @this {String|string} + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/quote + /**\n * ... ote\n */ + * Finds a match between a regular expression and a string, and replaces the + * matched substring with a new substring. + * + * This may have side-effects if the replacement function has side-effects. + * + * @this {String|string} + * @param {RegExp|string} regex + * @param {string|Function} str + * @param {string=} opt_flags + * @return {string} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace + /**\n * ... ace\n */ + * Executes the search for a match between a regular expression and this String + * object. + * + * @this {String|string} + * @param {RegExp|string} regexp + * @return {number} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/search + /**\n * ... rch\n */ + * @this {String|string} + * @param {number} begin + * @param {number=} opt_end + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice + + * @this {String|string} + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/small + + * @this {String|string} + * @param {*=} opt_separator + * @param {number=} opt_limit + * @return {!Array} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split + /**\n * ... lit\n */ + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/strike + /**\n * ... ike\n */ + * @this {String|string} + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/sub + /**\n * ... sub\n */ + * @this {String|string} + * @param {number} start + * @param {number=} opt_length + * @return {string} The specified substring. + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr + /**\n * ... str\n */ + * @this {String|string} + * @param {number} start + * @param {number=} opt_end + * @return {string} The specified substring. + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring + + * @this {String|string} + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/sup + /**\n * ... sup\n */ + * @this {String|string} + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLocaleUpperCase + /**\n * ... ase\n */ + * @this {String|string} + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLocaleLowerCase + + * @this {String|string} + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLowerCase + + * @this {String|string} + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase + + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toSource + * @override + + * @this {string|String} + * @return {string} + * @nosideeffects + * @override + + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/valueOf + + * @type {number} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length + + * @constructor + * @param {*=} opt_pattern + * @param {*=} opt_flags + * @return {!RegExp} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp + /**\n * ... Exp\n */ + * @param {*} pattern + * @param {*=} opt_flags + * @return {void} + * @modifies {this} + * @deprecated + * @see http://msdn.microsoft.com/en-us/library/x9cswe0z(v=VS.85).aspx + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/compile + /**\n * ... ile\n */ + * @param {*} str The string to search. + * @return {Array} This should really return an Array with a few + * special properties, but we do not have a good way to model this in + * our type system. Also see String.prototype.match. + * @see http://msdn.microsoft.com/en-us/library/z908hy33(VS.85).aspx + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec + /**\n * ... xec\n */ + * @param {*} str The string to search. + * @return {boolean} Whether the string was matched. + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test + /**\n * ... est\n */ + * @this {RegExp} + * @return {string} + * @nosideeffects + * @override + Constructor properties:// Cons ... erties: + * The string against which the last regexp was matched. + * @type {string} + * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_input.html + /**\n * ... tml\n */ + * The last matched characters. + * @type {string} + * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_lastMatch.html + + * The last matched parenthesized substring, if any. + * @type {string} + * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_lastParen.html + + * The substring of the input up to the characters most recently matched. + * @type {string} + * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_leftContext.html + + * The substring of the input after the characters most recently matched. + * @type {string} + * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_rightContext.html + + * @type {string} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp + Prototype properties:// Prot ... erties: + * Whether to test the regular expression against all possible matches + * in a string, or only against the first. + * @type {boolean} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/global + /**\n * ... bal\n */ + * Whether to ignore case while attempting a match in a string. + * @type {boolean} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/ignoreCase + + * The index at which to start the next match. + * @type {number} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/lastIndex + + * Whether or not to search in strings across multiple lines. + * @type {boolean} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/multiline + /**\n * ... ine\n */ + * The text of the pattern. + * @type {string} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/source + + * @constructor + * @param {*=} opt_message + * @param {*=} opt_file + * @param {*=} opt_line + * @return {!Error} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error + /**\n * ... ror\n */ + * Chrome/v8 specific, altering the maximum depth of the stack trace + * (10 by default). + * @type {number} + * @see http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi + /**\n * ... Api\n */ + * Chrome/v8 specific, adds a stack trace to the error object. The optional + * constructorOpt parameter allows you to pass in a function value. When + * collecting the stack trace all frames above the topmost call to this + * function, including that call, will be left out of the stack trace. + * @param {Object} error The object to add the stack trace to. + * @param {Function=} opt_constructor A function in the stack trace + * @see http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi + * @return {undefined} + + * IE-only. + * @type {string} + * @see http://msdn.microsoft.com/en-us/library/2w6a45b5.aspx + /**\n * ... spx\n */ + * Mozilla-only. + * @type {number} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/lineNumber + + * Mozilla-only + * @type {string} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/fileName + + * @type {string} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/name + + * @type {string} + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/message + /**\n * ... age\n */ + * Doesn't seem to exist, but closure/debug.js references it. + /**\n * ... it.\n */ @type {string} /** @ty ... ing} */ + * @constructor + * @extends {Error} + * @param {*=} opt_message + * @param {*=} opt_file + * @param {*=} opt_line + * @return {!EvalError} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError + + * @constructor + * @extends {Error} + * @param {*=} opt_message + * @param {*=} opt_file + * @param {*=} opt_line + * @return {!RangeError} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError + + * @constructor + * @extends {Error} + * @param {*=} opt_message + * @param {*=} opt_file + * @param {*=} opt_line + * @return {!ReferenceError} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError + + * @constructor + * @extends {Error} + * @param {*=} opt_message + * @param {*=} opt_file + * @param {*=} opt_line + * @return {!SyntaxError} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError + + * @constructor + * @extends {Error} + * @param {*=} opt_message + * @param {*=} opt_file + * @param {*=} opt_line + * @return {!TypeError} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError + + * @constructor + * @extends {Error} + * @param {*=} opt_message + * @param {*=} opt_file + * @param {*=} opt_line + * @return {!URIError} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError + JScript extensions.// JScr ... nsions. @see http://msdn.microsoft.com/en-us/library/894hfyb4(VS.80).aspx// @see ... 0).aspx + * @see http://msdn.microsoft.com/en-us/library/7sw4ddf8.aspx + * @type {function(new:?, string, string=)} + /**\n * ... =)}\n */ + * @return {string} + * @nosideeffects + * @see http://msdn.microsoft.com/en-us/library/9k34bww2(VS.80).aspx + + * @return {number} + * @nosideeffects + * @see http://msdn.microsoft.com/en-us/library/yf25ky07(VS.80).aspx + + * @return {number} + * @nosideeffects + * @see http://msdn.microsoft.com/en-us/library/wx3812cz(VS.80).aspx + + * @return {number} + * @nosideeffects + * @see http://msdn.microsoft.com/en-us/library/e98hsk2f(VS.80).aspx + opt_descriptionkeyForunscopablesIIterableResultIterableIteratorIteratorIterableIObjectIArrayLikeArgumentscalleecallerNaNdecodeURIdecodeURIComponentencodeURIescapestrnumevalopt_value__defineGetter__spropfun__defineSetter__isPrototypeOfother__lookupGetter____lookupSetter____noSuchMethod____parent__propertyIsEnumerabletoSourceunwatchpropvalueOfwatchFunctionvar_argsarityopt_separatoropt_beginopt_endopt_compareFunctionopt_indexopt_howManyopt_initialValuereduceRightopt_thisobjopt_fromIndexlastIndexOfarropt_contexttoExponentialopt_fractionDigitsopt_digitstoPrecisionopt_precisionopt_radixMAX_VALUEMIN_VALUENEGATIVE_INFINITYPOSITIVE_INFINITYacosasinatanatan2cosexppowsinsqrttanLN10LOG2ELOG10EPISQRT1_2SQRT2opt_yr_numopt_mo_numopt_day_numopt_hr_numopt_min_numopt_sec_numopt_ms_numopt_dateopt_hoursopt_minuteopt_secondopt_msgetDaygetFullYeargetYeargetMinutesgetSecondsgetMillisecondsgetTimezoneOffsetgetUTCDategetUTCDaygetUTCMonthgetUTCFullYeargetUTCMillisecondsdayValuemonthValueopt_dayValuesetFullYearyearValueopt_monthValuesetYearhoursValueopt_minutesValueopt_secondsValueopt_msValuesetMinutesminutesValuesetSecondssecondsValuesetMillisecondsmillisecondsValuesetTimetimeValuesetUTCDatesetUTCMonthsetUTCFullYearsetUTCHourssetUTCMinutessetUTCSecondssetUTCMillisecondstoDateStringtoGMTStringtoTimeStringtoUTCStringopt_localesopt_optionstoLocaleFormatformatStringopt_strbigblinkfontcolorfontsizesearchValueitalicshrefAttributecompareStringlocalesregexpquoteopt_flagsbeginsmallopt_limitstrikesubopt_lengthsuptoLocaleUpperCaseopt_patterncompilepatternlastMatchlastParenleftContextrightContext$4$6$7$9ignoreCaselastIndexmultilineopt_messageopt_fileopt_linestackTraceLimitcaptureStackTraceopt_constructorlineNumbersourceURLEvalErrorRangeErrorReferenceErrorSyntaxErrorTypeErrorURIErrorActiveXObjectprogIdopt_locationScriptEngineScriptEngineMajorVersionScriptEngineMinorVersionScriptEngineBuildVersionECMAScript 3 Built-Ins. This include common extensions so this +is actually ES3+Reality. +@authorstevey@google.com (Steve Yegge) +nicksantos@google.com (Nick Santos) +arv@google.com (Erik Arvidsson) +johnlenz@google.com (John Lenz)typedef@typedefsym(symbol|undefined)https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/for(string|undefined)https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/keyFor@constrecord@recordtemplate@templateVALUE@interfaceIterator.suppress@suppress{externsValidation}VALUE +https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/The_Iterator_protocolVALUE=!IIterableResult.IIterableResult.Use this to indicate a type is both an Iterator and an Iterable.@extendsIterator.Iterable.KEY1, VALUE1IObject.VALUE2@constructorimplements@implementsIArrayLike.T +http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/argumentshttp://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Functions_and_function_scope/arguments/calleeUse the non-standard {@see Function.prototype.caller} property of a function +object instead.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments/caller +deprecated@deprecatedhttp://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Functions_and_function_scope/arguments/lengthNot actually a global variable, but we need it in order for the current type +checker to typecheck the "arguments" variable in a function correctly. +TODO(tbreisacher): When the old type checker is gone, delete this and add +an 'arguments' variable of type Array in the d8 externs.!Argumentshttp://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Functions_and_function_scope/argumentshttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Infinity +http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN +http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined +http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponenthttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponentShould only be used in browsers where encode/decodeURIComponent +are not present, as the latter handle fancy Unicode characters.https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Predefined_Functions/escape_and_unescape_Functionshttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isFinitehttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isNaNhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseFloatParse an integer. Use of {@code parseInt} without {@code base} is strictly +banned in Google. If you really want to parse octal or hex based on the +leader, then pass {@code undefined} as the base.(number|undefined)http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInthttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval*=http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ObjectThe constructor of the current object.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructorBinds an object's property to a function to be called when that property is +looked up. +Mozilla-only.modifies@modifies{this} +http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineGetter +Binds an object's property to a function to be called when an attempt is made +to set that property. +Mozilla-only.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineSetter +Returns whether the object has a property with the specified name.Implicitly cast to a string. +http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnPropertyReturns whether an object exists in another object's prototype chain.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isPrototypeOfReturn the function bound as a getter to the specified property. +Mozilla-only.a string containing the name of the property whose +getter should be returned +http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/lookupGetterReturn the function bound as a setter to the specified property. +Mozilla-only.a string containing the name of the property whose +setter should be returned. +http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/lookupSetterExecutes a function when a non-existent method is called on an object. +Mozilla-only.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/noSuchMethodPoints to an object's context. For top-level objects, this is the e.g. window. +Mozilla-only.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/parentPoints to the object which was used as prototype when the object was instantiated. +Mozilla-only. + +Will be null on Object.prototype.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/protoDetermine whether the specified property in an object can be enumerated by a +for..in loop, with the exception of properties inherited through the +prototype chain.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/propertyIsEnumerableReturns a localized string representing the object.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toLocaleStringReturns a string representing the source code of the object. +Mozilla-only.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toSourceReturns a string representing the object.@thisMissing or invalid tag nameMissing ... ag nameUnknown content '{*} + *'Unknown ... {*}\n *'http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toStringRemoves a watchpoint set with the {@see Object.prototype.watch} method. +Mozilla-only.The name of a property of the object. +http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/unwatch +Returns the object's {@code this} value.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/valueOfSets a watchpoint method. +Mozilla-only.A function to call. +http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/watch +...*throws@throwshttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Functionhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/callhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/applyhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/arityNonstandard; Mozilla and JScript only.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/callerNonstandard.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/displayNameExpected number of arguments.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/lengthhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/nameUnknown content '{Function} + *'Unknown ... on}\n *'override@overridehttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayReturns a new array comprised of this array joined with other array(s) +and/or value(s).http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concatJoins all elements of an array into a string.Specifies a string to separate each element of the +array. The separator is converted to a string if necessary. If omitted, +the array elements are separated with a comma. +Unknown content '{IArrayLike|string} + *'Unknown ... ng}\n *'http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/joinRemoves the last element from an array and returns that element.Unknown content '{IArrayLike} + *'Unknown ... T>}\n *'http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/popMutates an array by appending the given elements and returning the new +length of the array....TThe new length of the array. +http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pushTransposes the elements of an array in place: the first array element becomes the +last and the last becomes the first. The mutated array is also returned.A reference to the original modified array. +THISUnknown content '{THIS} + *'Unknown ... IS}\n *'THIS +http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverseRemoves the first element from an array and returns that element. This +method changes the length of the array.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/shiftExtracts a section of an array and returns a new array.Zero-based index at which to begin extraction. A +non-number type will be auto-cast by the browser to a number. +Zero-based index at which to end extraction. slice +extracts up to but not including end. +!Array.Array.Unknown content '{IArrayLike|string} + *'http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sliceSorts the elements of an array in place.Specifies a function that +defines the sort order. +function (T, T): number=function (T, T): numberhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sortChanges the content of an array, adding new elements while removing old +elements.Index at which to start changing the array. If negative, +will begin that many elements from the end. A non-number type will be +auto-cast by the browser to a number. +An integer indicating the number of old array elements +to remove. +http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/spliceUnknown content '{Object} + *'Unknown ... ct}\n *'http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toSourceUnknown content '{Array} + *'Unknown ... ?>}\n *'Adds one or more elements to the beginning of an array and returns the new +length of the array.The new length of the array +Unknown content '{IArrayLike} + *'http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/unshiftApply a function simultaneously against two values of the array (from +left-to-right) as to reduce it to a single value.?function (?, T, number, !Array.): Rfunction (?, T, number, !Array.): RT,R +http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceApply a function simultaneously against two values of the array (from +right-to-left) as to reduce it to a single value.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRightAvailable in ECMAScript 5, Mozilla 1.6+.?function (this: S, T, number, !Array.): ?function (this: S, T, number, !Array.): ?S=T,S +http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/everyhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filterhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach +http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOfhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf?function (this: S, T, number, !Array.): Rfunction (this: S, T, number, !Array.): R!Array.Array.T,S,R +http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/maphttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/somehttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/index?stringhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/inputhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/length?function (this: S, T, number, ?): ?function (this: S, T, number, ?): ?T,SMozilla 1.6+ only.T,S,RIntroduced in 1.8.5.http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/isArrayhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Booleanhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean/toSource +Unknown content '{boolean|Boolean} + *'Unknown ... an}\n *'https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean/valueOf +http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NumberUnknown content '{Number|number} + *'Unknown ... er}\n *'http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toExponentialhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixedhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toPrecisionReturns a string representing the number.An optional radix. +(number|Number)=(number|Number)http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toString +http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_VALUEhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MIN_VALUEhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/NaNhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/NEGATIVE_INFINITYhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/POSITIVE_INFINITYhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Mathhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/abshttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/acoshttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/asinhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atanhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atan2http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/ceilhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/coshttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/exphttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/floorhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log...?http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/maxhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/minhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/powhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/randomhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/roundhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sinhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sqrthttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/tanhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/toSourcehttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/Ehttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LN2http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LN10http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LOG2Ehttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LOG10Ehttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/PIhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/SQRT1_2http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/SQRT2?=http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Datehttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/nowParses a string representation of a date, and returns the number +of milliseconds since January 1, 1970, 00:00:00, local time.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parsehttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/UTChttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getDatehttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getDayhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMonthhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getFullYearhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getYearhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getHourshttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMinuteshttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getSecondshttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMillisecondshttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimehttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffsethttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCDatehttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCDayhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMonthhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCFullYearhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCHourshttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMinuteshttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCSecondshttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMillisecondsSets the day of the month for a specified date according to local time.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setDate +Set the month for a specified date according to local time.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMonth +Sets the full year for a specified date according to local time.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setFullYear +Sets the year for a specified date according to local time.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setYear +Sets the hours for a specified date according to local time.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setHours +Sets the minutes for a specified date according to local time.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMinutes +Sets the seconds for a specified date according to local time.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setSeconds +Sets the milliseconds for a specified date according to local time.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMilliseconds +Sets the Date object to the time represented by a number of milliseconds +since January 1, 1970, 00:00:00 UTC.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setTime +Sets the day of the month for a specified date according to universal time.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCDate +Sets the month for a specified date according to universal time.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMonth +Sets the full year for a specified date according to universal time.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCFullYear +Sets the hour for a specified date according to universal time.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCHours +Sets the minutes for a specified date according to universal time.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMinutes +Sets the seconds for a specified date according to universal time.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCSeconds +Sets the milliseconds for a specified date according to universal time.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMilliseconds +http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toSource +http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/toDateStringhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toGMTStringhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toTimeStringhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toUTCString(string|Array.)=(string|Array.)Array.Object=http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateStringhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleFormathttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString +http://www.ecma-international.org/ecma-402/1.0/#sec-13.3.1 +http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleTimeStringUnknown content '{Date} + *'Unknown ... te}\n *'http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/valueOfhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String...numberhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCodeUnknown content '{String|string} + *'http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/anchorhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/bighttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/blinkhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/boldReturns the specified character from a string.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charAtReturns a number indicating the Unicode value of the character at the given +index.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAtCombines the text of two or more strings and returns a new string.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/concathttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fixedhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fontcolorhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fontsizeReturns the index within the calling String object of the first occurrence +of the specified value, starting the search at fromIndex, returns -1 if the +value is not found.(string|null)(number|null)=(number|null)http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOfhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/italicsReturns the index within the calling String object of the last occurrence of +the specified value, or -1 if not found. The calling string is searched +backward, starting at fromIndex.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOfhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/linkReturns a number indicating whether a reference string comes before or after +or is the same as the given string in sort order.http://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Objects/String/localeCompare +http://www.ecma-international.org/ecma-402/1.0/#sec-13.1.1Used to retrieve the matches when matching a string against a regular +expression.This should really return an Array with a few +special properties, but we do not have a good way to model this in +our type system. Also see Regexp.prototype.exec. +http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/matchhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/quoteFinds a match between a regular expression and a string, and replaces the +matched substring with a new substring. + +This may have side-effects if the replacement function has side-effects.(RegExp|string)(string|Function)http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replaceExecutes the search for a match between a regular expression and this String +object.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/searchhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slicehttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/small!Array.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/splithttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/strikehttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/subThe specified substring. +http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substrhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substringhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/suphttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLocaleUpperCasehttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLocaleLowerCasehttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLowerCasehttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCasehttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toSource +Unknown content '{string|String} + *'http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/valueOfhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length!RegExphttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExphttp://msdn.microsoft.com/en-us/library/x9cswe0z(v=VS.85).aspx +http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/compileThe string to search. +This should really return an Array with a few +special properties, but we do not have a good way to model this in +our type system. Also see String.prototype.match. +http://msdn.microsoft.com/en-us/library/z908hy33(VS.85).aspx +http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/execWhether the string was matched. +http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/testUnknown content '{RegExp} + *'Unknown ... xp}\n *'The string against which the last regexp was matched.http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_input.htmlThe last matched characters.http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_lastMatch.htmlThe last matched parenthesized substring, if any.http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_lastParen.htmlThe substring of the input up to the characters most recently matched.http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_leftContext.htmlThe substring of the input after the characters most recently matched.http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_rightContext.htmlWhether to test the regular expression against all possible matches +in a string, or only against the first.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/globalWhether to ignore case while attempting a match in a string.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/ignoreCaseThe index at which to start the next match.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/lastIndexWhether or not to search in strings across multiple lines.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/multilineThe text of the pattern.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/source!Errorhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ErrorChrome/v8 specific, altering the maximum depth of the stack trace +(10 by default).http://code.google.com/p/v8/wiki/JavaScriptStackTraceApiChrome/v8 specific, adds a stack trace to the error object. The optional +constructorOpt parameter allows you to pass in a function value. When +collecting the stack trace all frames above the topmost call to this +function, including that call, will be left out of the stack trace.The object to add the stack trace to. +A function in the stack trace +Function=http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi +IE-only.http://msdn.microsoft.com/en-us/library/2w6a45b5.aspxMozilla-only.http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/lineNumberMozilla-onlyhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/fileNamehttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/namehttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/messageDoesn't seem to exist, but closure/debug.js references it.!EvalErrorhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError!RangeErrorhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError!ReferenceErrorhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError!SyntaxErrorhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError!TypeErrorhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError!URIErrorhttp://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIErrorhttp://msdn.microsoft.com/en-us/library/7sw4ddf8.aspx +http://msdn.microsoft.com/en-us/library/9k34bww2(VS.80).aspxhttp://msdn.microsoft.com/en-us/library/yf25ky07(VS.80).aspxhttp://msdn.microsoft.com/en-us/library/wx3812cz(VS.80).aspxhttp://msdn.microsoft.com/en-us/library/e98hsk2f(VS.80).aspxvar symbol;functio ... ion) {}Symbol.for;Symbol.keyFor;Symbol.keyForSymbol.iterator;Symbol.toStringTag;Symbol.unscopables;Symbol.unscopablesfunctio ... lt() {}IIterab ... e.done;IIterab ... pe.doneIIterab ... ototypeIIterab ... .value;IIterab ... e.valuefunctio ... le() {}Iterabl ... n() {};Iterabl ... on() {}Iterabl ... erator]Iterable.prototypefunction() {}functio ... or() {}Iterato ... e.next;Iterato ... pe.nextIterator.prototypefunctio ... ct() {}functio ... ke() {}IArrayL ... length;IArrayL ... .lengthIArrayLike.prototypefunctio ... ts() {}Argumen ... callee;Argumen ... .calleeArguments.prototypeArgumen ... caller;Argumen ... .callerArgumen ... length;Argumen ... .lengthvar arguments;var Infinity;var NaN;var undefined;functio ... uri) {}functio ... str) {}functio ... num) {}functio ... ase) {}functio ... ode) {}functio ... lue) {}Object. ... n() {};Object. ... on() {}Object. ... tructorObject. ... un) {};Object. ... fun) {}Object. ... etter__functio ... fun) {}Object. ... me) {};Object. ... ame) {}functio ... ame) {}Object. ... er) {};Object. ... her) {}Object. ... otypeOffunction(other) {}Object. ... op) {};Object. ... rop) {}function(sprop) {}Object. ... ethod__function(fun) {}Object. ... rent__;Object. ... arent__Object. ... roto__;Object. ... proto__Object. ... merableObject. ... eStringObject. ... oSourceObject. ... unwatchfunction(prop) {}Object. ... valueOfObject. ... ler) {}Object. ... e.watchfunctio ... ler) {}functio ... rgs) {}Functio ... gs) {};Functio ... rgs) {}Functio ... pe.callFunction.prototypeFunctio ... e.applyFunctio ... uments;Functio ... gumentsFunctio ... .arity;Functio ... e.arityFunctio ... caller;Functio ... .callerFunctio ... ayName;Functio ... layNameFunctio ... length;Functio ... .lengthFunctio ... e.name;Functio ... pe.nameFunctio ... n() {};Functio ... on() {}Functio ... oStringArray.p ... n() {};Array.p ... on() {}Array.p ... erator]Array.p ... gs) {};Array.p ... rgs) {}Array.p ... or) {};Array.p ... tor) {}Array.prototype.joinfunctio ... tor) {}Array.prototype.popArray.prototype.pushArray.p ... reverseArray.p ... e.shiftArray.p ... nd) {};Array.p ... end) {}Array.p ... e.slicefunctio ... end) {}Array.p ... on) {};Array.p ... ion) {}Array.prototype.sortArray.p ... .spliceArray.p ... Source;Array.p ... oSourceArray.p ... oStringArray.p ... unshiftArray.p ... ue) {};Array.p ... lue) {}Array.p ... .reduceArray.p ... ceRightArray.p ... bj) {};Array.p ... obj) {}Array.p ... e.everyfunctio ... obj) {}Array.p ... .filterArray.p ... forEachArray.p ... indexOfArray.p ... IndexOfArray.prototype.mapArray.prototype.someArray.p ... .index;Array.p ... e.indexArray.p ... .input;Array.p ... e.inputArray.p ... length;Array.p ... .lengthArray.e ... xt) {};Array.e ... ext) {}Array.everyfunctio ... ext) {}Array.f ... xt) {};Array.f ... ext) {}Array.filterArray.forEachArray.i ... ex) {};Array.i ... dex) {}Array.indexOfArray.l ... ex) {};Array.l ... dex) {}Array.lastIndexOfArray.m ... xt) {};Array.m ... ext) {}Array.mapArray.s ... xt) {};Array.s ... ext) {}Array.someArray.i ... rr) {};Array.i ... arr) {}function(arr) {}Boolean ... n() {};Boolean ... on() {}Boolean ... oSourceBoolean.prototypeBoolean ... oStringBoolean ... valueOfNumber. ... ts) {};Number. ... its) {}Number. ... nentialNumber.prototypefunctio ... its) {}Number. ... toFixedNumber. ... on) {};Number. ... ion) {}Number. ... ecisionNumber. ... ix) {};Number. ... dix) {}Number. ... oStringfunctio ... dix) {}Number.MAX_VALUE;Number.MAX_VALUENumber.MIN_VALUE;Number.MIN_VALUENumber.NaN;Number.NaNNumber. ... FINITY;Number. ... NFINITYvar Math = {};Math = {}Math.ab ... (x) {};Math.ab ... n(x) {}function(x) {}Math.ac ... (x) {};Math.ac ... n(x) {}Math.acosMath.as ... (x) {};Math.as ... n(x) {}Math.asinMath.at ... (x) {};Math.at ... n(x) {}Math.atanMath.at ... x) {};Math.at ... , x) {}Math.atan2function(y, x) {}Math.ce ... (x) {};Math.ce ... n(x) {}Math.co ... (x) {};Math.co ... n(x) {}Math.cosMath.ex ... (x) {};Math.ex ... n(x) {}Math.expMath.fl ... (x) {};Math.fl ... n(x) {}Math.lo ... (x) {};Math.lo ... n(x) {}Math.ma ... gs) {};Math.ma ... rgs) {}Math.mi ... gs) {};Math.mi ... rgs) {}Math.po ... y) {};Math.po ... , y) {}Math.powfunction(x, y) {}Math.ra ... n() {};Math.ra ... on() {}Math.ro ... (x) {};Math.ro ... n(x) {}Math.si ... (x) {};Math.si ... n(x) {}Math.sinMath.sq ... (x) {};Math.sq ... n(x) {}Math.sqrtMath.ta ... (x) {};Math.ta ... n(x) {}Math.tanMath.to ... n() {};Math.to ... on() {}Math.toSourceMath.E;Math.EMath.LN2;Math.LN10;Math.LN10Math.LOG2E;Math.LOG2EMath.LOG10E;Math.LOG10EMath.PI;Math.PIMath.SQRT1_2;Math.SQRT1_2Math.SQRT2;Math.SQRT2Date.no ... n() {};Date.no ... on() {}Date.pa ... te) {};Date.pa ... ate) {}Date.parsefunction(date) {}Date.UT ... ms) {};Date.UT ... _ms) {}Date.UTCfunctio ... _ms) {}Date.pr ... n() {};Date.pr ... on() {}Date.pr ... getDateDate.prototypeDate.pr ... .getDayDate.pr ... etMonthDate.pr ... ullYearDate.pr ... getYearDate.pr ... etHoursDate.pr ... MinutesDate.pr ... SecondsDate.pr ... secondsDate.pr ... getTimeDate.pr ... eOffsetDate.pr ... UTCDateDate.pr ... tUTCDayDate.pr ... TCMonthDate.pr ... TCHoursDate.pr ... ue) {};Date.pr ... lue) {}Date.pr ... setDateDate.pr ... setYearDate.pr ... setTimeDate.pr ... oSourceDate.pr ... eStringDate.pr ... TStringDate.pr ... CStringDate.pr ... ns) {};Date.pr ... ons) {}functio ... ons) {}Date.pr ... ng) {};Date.pr ... ing) {}Date.pr ... eFormatDate.pr ... oStringDate.pr ... alueOf;Date.pr ... valueOfString. ... gs) {};String. ... rgs) {}String. ... n() {};String. ... on() {}String. ... .anchorString.prototype.bigString. ... e.blinkString. ... pe.boldString. ... ex) {};String. ... dex) {}String. ... .charAtfunction(index) {}String. ... rCodeAtString. ... .concatString. ... e.fixedString. ... or) {};String. ... lor) {}String. ... ntcolorfunction(color) {}String. ... ze) {};String. ... ize) {}String. ... ontsizefunction(size) {}String. ... indexOfString. ... italicsString. ... IndexOfString. ... te) {};String. ... ute) {}String. ... pe.linkfunctio ... ute) {}String. ... ns) {};String. ... ons) {}String. ... CompareString. ... xp) {};String. ... exp) {}String. ... e.matchfunction(regexp) {}String. ... e.quoteString. ... ags) {}String. ... replacefunctio ... ags) {}String. ... .searchString. ... nd) {};String. ... end) {}String. ... e.sliceString. ... e.smallString. ... it) {};String. ... mit) {}String. ... e.splitfunctio ... mit) {}String. ... .strikeString.prototype.subString. ... th) {};String. ... gth) {}String. ... .substrfunctio ... gth) {}String. ... bstringString.prototype.supString. ... perCaseString. ... werCaseString. ... oSourceString. ... oStringString. ... alueOf;String. ... valueOfString. ... length;String. ... .lengthRegExp. ... gs) {};RegExp. ... ags) {}RegExp. ... compileRegExp.prototypeRegExp. ... tr) {};RegExp. ... str) {}RegExp. ... pe.execfunction(str) {}RegExp. ... pe.testRegExp. ... n() {};RegExp. ... on() {}RegExp. ... oStringRegExp.input;RegExp.inputRegExp.lastMatch;RegExp.lastMatchRegExp.lastParen;RegExp.lastParenRegExp.leftContext;RegExp.leftContextRegExp.rightContext;RegExp.rightContextRegExp.$1;RegExp.$1RegExp.$2;RegExp.$2RegExp.$3;RegExp.$3RegExp.$4;RegExp.$4RegExp.$5;RegExp.$5RegExp.$6;RegExp.$6RegExp.$7;RegExp.$7RegExp.$8;RegExp.$8RegExp.$9;RegExp.$9RegExp. ... global;RegExp. ... .globalRegExp. ... reCase;RegExp. ... oreCaseRegExp. ... tIndex;RegExp. ... stIndexRegExp. ... tiline;RegExp. ... ltilineRegExp. ... source;RegExp. ... .sourcefunctio ... ine) {}Error.s ... eLimit;Error.s ... ceLimitError.c ... tor){};Error.c ... ctor){}Error.c ... ckTracefunctio ... ctor){}Error.p ... iption;Error.p ... riptionError.prototypeError.p ... Number;Error.p ... eNumberError.p ... leName;Error.p ... ileNameError.p ... e.name;Error.prototype.nameError.p ... essage;Error.p ... messageError.p ... rceURL;Error.p ... urceURLError.p ... .stack;Error.p ... e.stackfunctio ... ne() {}functio ... on() {}ScriptE ... Version/opt/codeql/javascript/tools/data/externs/es/es5.js + * Copyright 2009 The Closure Compiler Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + + * @fileoverview Definitions for ECMAScript 5. + * @see https://es5.github.io/ + * @externs + + * @param {Object|undefined} selfObj Specifies the object to which |this| should + * point when the function is run. If the value is null or undefined, it + * will default to the global object. + * @param {...*} var_args Additional arguments that are partially + * applied to fn. + * @return {!Function} A partially-applied form of the Function on which + * bind() was invoked as a method. + * @nosideeffects + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/bind + /**\n * ... ind\n */ + * @this {String|string} + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/Trim + /**\n * ... rim\n */ + * @this {String|string} + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/TrimLeft + /**\n * ... eft\n */ + * @this {String|string} + * @return {string} + * @nosideeffects + * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/TrimRight + + * A object property descriptor used by Object.create, Object.defineProperty, + * Object.defineProperties, Object.getOwnPropertyDescriptor. + * + * Note: not a real constructor. + * @constructor + * @template THIS + /**\n * ... HIS\n */ @type {*} /** @type {*} */ @type {(function(this: THIS):?)|undefined} /** @ty ... ned} */ @type {(function(this: THIS, ?):void)|undefined} @type {boolean|undefined} + * @param {Object} proto + * @param {Object=} opt_properties A map of ObjectPropertyDescriptors. + * @return {!Object} + * @nosideeffects + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/create + + * @param {!Object} obj + * @param {string} prop + * @param {!Object} descriptor A ObjectPropertyDescriptor. + * @return {!Object} + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/defineProperty + + * @param {!Object} obj + * @param {!Object} props A map of ObjectPropertyDescriptors. + * @return {!Object} + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/defineProperties + /**\n * ... ies\n */ + * @param {T} obj + * @param {string} prop + * @return {!ObjectPropertyDescriptor|undefined} + * @nosideeffects + * @template T + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptor + + * @param {!Object} obj + * @return {!Array} + * @nosideeffects + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/keys + /**\n * ... eys\n */ + * @param {!Object} obj + * @return {!Array} + * @nosideeffects + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/getOwnPropertyNames + /**\n * ... mes\n */ + * @param {!Object} obj + * @return {Object} + * @nosideeffects + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/GetPrototypeOf + + * @param {T} obj + * @return {T} + * @template T + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/preventExtensions + + * @param {T} obj + * @return {T} + * @template T + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/seal + /**\n * ... eal\n */ + * @param {T} obj + * @return {T} + * @template T + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/freeze + /**\n * ... eze\n */ + * @param {!Object} obj + * @return {boolean} + * @nosideeffects + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/isExtensible + + * @param {!Object} obj + * @return {boolean} + * @nosideeffects + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/isSealed + /**\n * ... led\n */ + * @param {!Object} obj + * @return {boolean} + * @nosideeffects + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/isFrozen + /**\n * ... zen\n */ + * @param {string=} opt_key The JSON key for this object. + * @return {*} The serializable representation of this object. Note that this + * need not be a string. See http://goo.gl/PEUvs. + * @see https://es5.github.io/#x15.12.3 + /**\n * ... 2.3\n */ + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/toISOString + * @return {string} + /**\n * ... ng}\n */ + * @param {*=} opt_ignoredKey + * @return {string} + * @override + + * @param {string} jsonStr The string to parse. + * @param {(function(string, *) : *)=} opt_reviver + * @return {*} The JSON object. + * @throws {Error} + /**\n * ... or}\n */ + * @param {*} jsonObj Input object. + * @param {(Array|(function(string, *) : *)|null)=} opt_replacer + * @param {(number|string)=} opt_space + * @return {string} JSON string which represents jsonObj. + * @throws {Error} + selfObjtrimLefttrimRightprotoopt_propertiesdescriptordefinePropertiesgetOwnPropertyNamesgetPrototypeOfpreventExtensionssealisExtensibleisSealedisFrozentoJSONopt_keyopt_ignoredKeyjsonStropt_reviverjsonObjopt_replaceropt_spaceDefinitions for ECMAScript 5. +https://es5.github.io/ +Specifies the object to which |this| should +point when the function is run. If the value is null or undefined, it +will default to the global object. +(Object|undefined)Additional arguments that are partially +applied to fn. +A partially-applied form of the Function on which +bind() was invoked as a method. +!Functionhttps://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/bindhttp://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/Trimhttp://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/TrimLefthttp://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/TrimRightA object property descriptor used by Object.create, Object.defineProperty, +Object.defineProperties, Object.getOwnPropertyDescriptor. + +Note: not a real constructor.((function (this: THIS): ?)|undefined)(function (this: THIS): ?)function (this: THIS): ?((function (this: THIS, ?): void)|undefined)(function (this: THIS, ?): void)function (this: THIS, ?): void(boolean|undefined)A map of ObjectPropertyDescriptors. +https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/createA ObjectPropertyDescriptor. +https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/definePropertyhttps://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/defineProperties(!ObjectPropertyDescriptor.|undefined)!ObjectPropertyDescriptor.ObjectPropertyDescriptor.https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptorhttps://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/keyshttps://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/getOwnPropertyNameshttps://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/GetPrototypeOfhttps://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/preventExtensionshttps://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/sealhttps://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/freezehttps://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/isExtensiblehttps://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/isSealedhttps://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/isFrozenThe JSON key for this object. +The serializable representation of this object. Note that this +need not be a string. See http://goo.gl/PEUvs. +https://es5.github.io/#x15.12.3https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/toISOString +The string to parse. +(function (string, *): *)=(function (string, *): *)function (string, *): *The JSON object. +Input object. +(Array.|(function (string, *): *)|null)=(Array.|(function (string, *): *)|null)(number|string)=(number|string)JSON string which represents jsonObj. +Functio ... pe.bindString. ... pe.trimString. ... rimLeftString. ... imRightObjectP ... criptorObjectP ... .value;ObjectP ... e.valueObjectP ... ototypeObjectP ... pe.get;ObjectP ... ype.getObjectP ... pe.set;ObjectP ... ype.setObjectP ... itable;ObjectP ... ritableObjectP ... erable;ObjectP ... merableObjectP ... urable;ObjectP ... gurableObject. ... es) {};Object. ... ies) {}Object.createfunctio ... ies) {}Object. ... or) {};Object. ... tor) {}Object. ... ps) {};Object. ... ops) {}Object. ... pertiesfunctio ... ops) {}functio ... rop) {}Object. ... tyNamesObject. ... ensionsObject.sealObject.isExtensibleObject.isSealedObject.isFrozenObject. ... ey) {};Object. ... key) {}Object. ... .toJSONfunction(opt_key) {}Date.pr ... OStringDate.pr ... ey) {};Date.pr ... Key) {}Date.pr ... .toJSONfunctio ... Key) {}JSON.pa ... er) {};JSON.pa ... ver) {}functio ... ver) {}JSON.st ... ce) {};JSON.st ... ace) {}functio ... ace) {}/opt/codeql/javascript/tools/data/externs/es/es6.js + * Copyright 2014 The Closure Compiler Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + + * @fileoverview Definitions for ECMAScript 6 and later. + * @see https://tc39.github.io/ecma262/ + * @see https://www.khronos.org/registry/typedarray/specs/latest/ + * @externs + + * @constructor + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator + * @implements {IteratorIterable} + * @template VALUE + + * @param {?=} opt_value + * @return {!IIterableResult} + * @override + + * @param {VALUE} value + * @return {!IIterableResult} + + * @param {?} exception + * @return {!IIterableResult} + TODO(johnlenz): Array and Arguments should be Iterable.// TODO ... erable. + * @param {number} value + * @return {number} + * @nosideeffects + + * @param {number} value1 + * @param {...number} var_args + * @return {number} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/hypot + /**\n * ... pot\n */ + * @param {number} value1 + * @param {number} value2 + * @return {number} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul + /**\n * ... mul\n */ + * @param {number} value + * @return {number} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32 + /**\n * ... z32\n */ + * @param {*} a + * @param {*} b + * @return {boolean} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is + /**\n * ... /is\n */ + * Returns a language-sensitive string representation of this number. + * @param {(string|!Array)=} opt_locales + * @param {Object=} opt_options + * @return {string} + * @nosideeffects + * @see https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString + * @see http://www.ecma-international.org/ecma-402/1.0/#sec-13.2.1 + * @override + + * Repeats the string the given number of times. + * + * @param {number} count The number of times the string is repeated. + * @this {String|string} + * @return {string} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat + /**\n * ... eat\n */ + * @constructor + * @extends {Array} + * @see https://262.ecma-international.org/6.0/#sec-gettemplateobject + + * @type {!Array} + /**\n * ... g>}\n */ + * @param {!ITemplateArray} template + * @param {...*} var_args Substitution values. + * @return {string} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/raw + /**\n * ... raw\n */ + * @param {number} codePoint + * @param {...number} var_args Additional codepoints + * @return {string} + + * @param {number} index + * @return {number} + * @nosideeffects + + * @param {string=} opt_form + * @return {string} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize + + * @param {string} searchString + * @param {number=} opt_position + * @return {boolean} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith + /**\n * ... ith\n */ + * @param {string} searchString + * @param {number=} opt_position + * @return {boolean} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith + + * @param {string} searchString + * @param {number=} opt_position + * @return {boolean} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes + /**\n * ... des\n */ + * @see http://dev.w3.org/html5/postmsg/ + * @interface + + * @param {number} length The length in bytes + * @constructor + * @noalias + * @throws {Error} + * @implements {Transferable} + /**\n * ... le}\n */ + * @param {number} begin + * @param {number=} opt_end + * @return {!ArrayBuffer} + * @nosideeffects + + * @param {*} arg + * @return {boolean} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/isView + /**\n * ... iew\n */ + * @constructor + * @noalias + /**\n * ... ias\n */ @type {!ArrayBuffer} /** @ty ... fer} */ + * @typedef {!ArrayBuffer|!ArrayBufferView} + /**\n * ... ew}\n */ + * @constructor + * @implements {IArrayLike} + * @implements {Iterable} + * @extends {ArrayBufferView} + @const {number} /** @co ... ber} */ + * @param {number} target + * @param {number} start + * @param {number=} opt_end + * @return {THIS} + * @this {THIS} + * @template THIS + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/copyWithin + /**\n * ... hin\n */ + * @return {!IteratorIterable>} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/entries + + * @param {function(this:S, number, number, !TypedArray) : ?} callback + * @param {S=} opt_thisArg + * @return {boolean} + * @template S + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/every + + * @param {number} value + * @param {number=} opt_begin + * @param {number=} opt_end + * @return {THIS} + * @this {THIS} + * @template THIS + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/fill + /**\n * ... ill\n */ + * @param {function(this:S, number, number, !TypedArray) : boolean} callback + * @param {S=} opt_thisArg + * @return {THIS} + * @this {THIS} + * @template THIS,S + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/filter + + * @param {function(this:S, number, number, !TypedArray) : boolean} callback + * @param {S=} opt_thisArg + * @return {(number|undefined)} + * @template S + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/find + + * @param {function(this:S, number, number, !TypedArray) : boolean} callback + * @param {S=} opt_thisArg + * @return {number} + * @template S + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findIndex + + * @param {function(this:S, number, number, !TypedArray) : ?} callback + * @param {S=} opt_thisArg + * @return {undefined} + * @template S + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/forEach + /**\n * ... ach\n */ + * @param {number} searchElement + * @param {number=} opt_fromIndex + * @return {boolean} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/includes + + * @param {number} searchElement + * @param {number=} opt_fromIndex + * @return {number} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/indexOf + + * @param {string=} opt_separator + * @return {string} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/join + + * @return {!IteratorIterable} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/keys + + * @param {number} searchElement + * @param {number=} opt_fromIndex + * @return {number} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/lastIndexOf + + * @param {function(this:S, number, number, !TypedArray) : number} callback + * @param {S=} opt_thisArg + * @return {THIS} + * @this {THIS} + * @template THIS,S + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/map + + * @param {function((number|INIT|RET), number, number, !TypedArray) : RET} callback + * @param {INIT=} opt_initialValue + * @return {RET} + * @template INIT,RET + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduce + + * @param {function((number|INIT|RET), number, number, !TypedArray) : RET} callback + * @param {INIT=} opt_initialValue + * @return {RET} + * @template INIT,RET + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduceRight + + * @return {THIS} + * @this {THIS} + * @template THIS + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reverse + + * @param {!ArrayBufferView|!Array} array + * @param {number=} opt_offset + * @return {undefined} + * @throws {!RangeError} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set + + * @param {number=} opt_begin + * @param {number=} opt_end + * @return {THIS} + * @this {THIS} + * @template THIS + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/slice + + * @param {function(this:S, number, number, !TypedArray) : boolean} callback + * @param {S=} opt_thisArg + * @return {boolean} + * @template S + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/some + + * @param {(function(number, number) : number)=} opt_compareFunction + * @return {THIS} + * @this {THIS} + * @template THIS + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/sort + + * @param {number} begin + * @param {number=} opt_end + * @return {THIS} + * @this {THIS} + * @template THIS + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray + + * @return {!IteratorIterable} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/values + /**\n * ... ues\n */ + * @return {string} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toLocaleString + * @override + + * @return {string} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toString + * @override + @override /** @override */ + * @param {number|ArrayBufferView|Array|ArrayBuffer} length or array + * or buffer + * @param {number=} opt_byteOffset + * @param {number=} opt_length + * @constructor + * @extends {TypedArray} + * @noalias + * @throws {Error} + * @modifies {arguments} If the user passes a backing array, then indexed + * accesses will modify the backing array. JSCompiler does not model + * this well. In other words, if you have: + * + * var x = new ArrayBuffer(1); + * var y = new Int8Array(x); + * y[0] = 2; + * + * JSCompiler will not recognize that the last assignment modifies x. + * We workaround this by marking all these arrays as @modifies {arguments}, + * to introduce the possibility that x aliases y. + /**\n * ... y.\n */ + * @param {!Array} source + * @param {function(this:S, number): number=} opt_mapFn + * @param {S=} opt_this + * @template S + * @return {!Int8Array} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from + /**\n * ... rom\n */ + * @param {...number} var_args + * @return {!Int8Array} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of + /**\n * ... /of\n */ + * @param {number|ArrayBufferView|Array|ArrayBuffer} length or array + * or buffer + * @param {number=} opt_byteOffset + * @param {number=} opt_length + * @constructor + * @extends {TypedArray} + * @noalias + * @throws {Error} + * @modifies {arguments} + /**\n * ... ts}\n */ + * @param {!Array} source + * @param {function(this:S, number): number=} opt_mapFn + * @param {S=} opt_this + * @template S + * @return {!Uint8Array} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from + + * @param {...number} var_args + * @return {!Uint8Array} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of + + * @param {!Array} source + * @param {function(this:S, number): number=} opt_mapFn + * @param {S=} opt_this + * @template S + * @return {!Uint8ClampedArray} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from + + * @param {...number} var_args + * @return {!Uint8ClampedArray} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of + + * @typedef {Uint8ClampedArray} + * @deprecated CanvasPixelArray has been replaced by Uint8ClampedArray + * in the latest spec. + * @see http://www.w3.org/TR/2dcontext/#imagedata + /**\n * ... ata\n */ + * @param {!Array} source + * @param {function(this:S, number): number=} opt_mapFn + * @param {S=} opt_this + * @template S + * @return {!Int16Array} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from + + * @param {...number} var_args + * @return {!Int16Array} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of + + * @param {!Array} source + * @param {function(this:S, number): number=} opt_mapFn + * @param {S=} opt_this + * @template S + * @return {!Uint16Array} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from + + * @param {...number} var_args + * @return {!Uint16Array} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of + + * @param {!Array} source + * @param {function(this:S, number): number=} opt_mapFn + * @param {S=} opt_this + * @template S + * @return {!Int32Array} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from + + * @param {...number} var_args + * @return {!Int32Array} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of + + * @param {!Array} source + * @param {function(this:S, number): number=} opt_mapFn + * @param {S=} opt_this + * @template S + * @return {!Uint32Array} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from + + * @param {...number} var_args + * @return {!Uint32Array} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of + + * @param {!Array} source + * @param {function(this:S, number): number=} opt_mapFn + * @param {S=} opt_this + * @template S + * @return {!Float32Array} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from + + * @param {...number} var_args + * @return {!Float32Array} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of + + * @param {!Array} source + * @param {function(this:S, number): number=} opt_mapFn + * @param {S=} opt_this + * @template S + * @return {!Float64Array} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from + + * @param {...number} var_args + * @return {!Float64Array} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of + + * @param {ArrayBuffer} buffer + * @param {number=} opt_byteOffset + * @param {number=} opt_byteLength + * @constructor + * @extends {ArrayBufferView} + * @noalias + * @throws {Error} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays/DataView + + * @param {number} byteOffset + * @return {number} + * @throws {Error} + + * @param {number} byteOffset + * @param {boolean=} opt_littleEndian + * @return {number} + * @throws {Error} + + * @param {number} byteOffset + * @param {number} value + * @throws {Error} + * @return {undefined} + + * @param {number} byteOffset + * @param {number} value + * @param {boolean=} opt_littleEndian + * @throws {Error} + * @return {undefined} + + * @see https://github.com/promises-aplus/promises-spec + * @typedef {{then: ?}} + /**\n * ... ?}}\n */ + * This is not an official DOM interface. It is used to add generic typing + * and respective type inference where available. + * {@see goog.Thenable} inherits from this making all promises + * interoperate. + * @interface + * @template TYPE + /**\n * ... YPE\n */ + * @param {?(function(TYPE):VALUE)=} opt_onFulfilled + * @param {?(function(*): *)=} opt_onRejected + * @return {RESULT} + * @template VALUE + * + * When a Promise (or thenable) is returned from the fulfilled callback, + * the result is the payload of that promise, not the promise itself. + * + * @template RESULT := type('IThenable', + * cond(isUnknown(VALUE), unknown(), + * mapunion(VALUE, (V) => + * cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'), + * templateTypeOf(V, 0), + * cond(sub(V, 'Thenable'), + * unknown(), + * V))))) + * =: + /**\n * ... =:\n */ + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise + * @param {function( + * function((TYPE|IThenable|Thenable|null)=), + * function(*=))} resolver + * @constructor + * @implements {IThenable} + * @template TYPE + + * @param {VALUE=} opt_value + * @return {RESULT} + * @template VALUE + * @template RESULT := type('Promise', + * cond(isUnknown(VALUE), unknown(), + * mapunion(VALUE, (V) => + * cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'), + * templateTypeOf(V, 0), + * cond(sub(V, 'Thenable'), + * unknown(), + * V))))) + * =: + + * @param {*=} opt_error + * @return {!Promise} + /**\n * ... ?>}\n */ + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise + * @param {!Iterable} iterable + * @return {!Promise>} + * @template VALUE + * @template RESULT := mapunion(VALUE, (V) => + * cond(isUnknown(V), + * unknown(), + * cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'), + * templateTypeOf(V, 0), + * cond(sub(V, 'Thenable'), unknown(), V)))) + * =: + + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise + * @param {!Iterable} iterable + * @return {!Promise} + * @template VALUE + * @template RESULT := mapunion(VALUE, (V) => + * cond(isUnknown(V), + * unknown(), + * cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'), + * templateTypeOf(V, 0), + * cond(sub(V, 'Thenable'), unknown(), V)))) + * =: + + * @param {?(function(this:void, TYPE):VALUE)=} opt_onFulfilled + * @param {?(function(this:void, *): *)=} opt_onRejected + * @return {RESULT} + * @template VALUE + * + * When a Promise (or thenable) is returned from the fulfilled callback, + * the result is the payload of that promise, not the promise itself. + * + * @template RESULT := type('Promise', + * cond(isUnknown(VALUE), unknown(), + * mapunion(VALUE, (V) => + * cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'), + * templateTypeOf(V, 0), + * cond(sub(V, 'Thenable'), + * unknown(), + * V))))) + * =: + * @override + + * @param {function(*): RESULT} onRejected + * @return {!Promise} + * @template RESULT + /**\n * ... ULT\n */ + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/of + * @param {...T} var_args + * @return {!Array} + * @template T + + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from + * @param {string|!IArrayLike|!Iterable} arrayLike + * @param {function(this:S, (string|T), number): R=} opt_mapFn + * @param {S=} opt_this + * @return {!Array} + * @template T,S,R + @return {!IteratorIterable} /** @re ... er>} */ + * @return {!IteratorIterable>} Iterator of [key, value] pairs. + /**\n * ... rs.\n */ + * @param {!function(this:S, T, number, !Array): boolean} predicate + * @param {S=} opt_this + * @return {T|undefined} + * @this {IArrayLike|string} + * @template T,S + * @see https://262.ecma-international.org/6.0/#sec-array.prototype.find + + * @param {!function(this:S, T, number, !Array): boolean} predicate + * @param {S=} opt_this + * @return {number} + * @this {IArrayLike|string} + * @template T,S + * @see https://262.ecma-international.org/6.0/#sec-array.prototype.findindex + + * @param {T} value + * @param {number=} opt_begin + * @param {number=} opt_end + * @return {!IArrayLike} + * @this {!IArrayLike|string} + * @template T + * @see https://262.ecma-international.org/6.0/#sec-array.prototype.fill + + * @param {number} target + * @param {number} start + * @param {number=} opt_end + * @see https://262.ecma-international.org/6.0/#sec-array.prototype.copywithin + * @template T + * @return {!IArrayLike} + /**\n * ... T>}\n */ + * @param {T} searchElement + * @param {number=} opt_fromIndex + * @return {boolean} + * @this {!IArrayLike|string} + * @template T + * @see https://tc39.github.io/ecma262/#sec-array.prototype.includes + + * @param {!Object} obj + * @return {!Array} + * @see https://262.ecma-international.org/6.0/#sec-object.getownpropertysymbols + /**\n * ... ols\n */ + * @param {!Object} obj + * @param {?} proto + * @return {!Object} + * @see https://262.ecma-international.org/6.0/#sec-object.setprototypeof + /**\n * ... eof\n */ + * @const {number} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/EPSILON + /**\n * ... LON\n */ + * @const {number} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MIN_SAFE_INTEGER + /**\n * ... GER\n */ + * @const {number} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER + + * Parse an integer. Use of {@code parseInt} without {@code base} is strictly + * banned in Google. If you really want to parse octal or hex based on the + * leader, then pass {@code undefined} as the base. + * + * @param {string} string + * @param {number|undefined} radix + * @return {number} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/parseInt + + * @param {string} string + * @return {number} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/parseFloat + + * @param {number} value + * @return {boolean} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN + + * @param {number} value + * @return {boolean} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isFinite + + * @param {number} value + * @return {boolean} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger + /**\n * ... ger\n */ + * @param {number} value + * @return {boolean} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger + + * @param {!Object} target + * @param {...Object} var_args + * @return {!Object} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign + /**\n * ... ign\n */ + * TODO(dbeam): find a better place for ES2017 externs like this one. + * @param {!Object} obj + * @return {!Array} values + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values + * @throws {Error} + * @template T + + * @param {!Object} obj + * @return {!Array>} entries + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries + * @throws {Error} + * @template T + + * @const + * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect + + * @param {function(this: THIS, ...?): RESULT} target + * @param {THIS} thisArg + * @param {!Array} argList + * @return {RESULT} + * @template THIS, RESULT + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/apply + + * @param {function(new: ?, ...?)} target + * @param {!Array} argList + * @param {function(new: TARGET, ...?)=} opt_newTarget + * @return {TARGET} + * @template TARGET + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/construct + /**\n * ... uct\n */ + * @param {!Object} target + * @param {string} propertyKey + * @param {!Object} attributes + * @return {boolean} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/defineProperty + + * @param {!Object} target + * @param {string} propertyKey + * @return {boolean} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/deleteProperty + + * @param {!Object} target + * @param {string} propertyKey + * @param {!Object=} opt_receiver + * @return {*} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/get + /**\n * ... get\n */ + * @param {!Object} target + * @param {string} propertyKey + * @return {?ObjectPropertyDescriptor} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/getOwnPropertyDescriptor + + * @param {!Object} target + * @return {?Object} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/getPrototypeOf + + * @param {!Object} target + * @param {string} propertyKey + * @return {boolean} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/has + /**\n * ... has\n */ + * @param {!Object} target + * @return {boolean} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/isExtensible + + * @param {!Object} target + * @return {!Array<(string|symbol)>} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/ownKeys + + * @param {!Object} target + * @return {boolean} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/preventExtensions + + * @param {!Object} target + * @param {string} propertyKey + * @param {*} value + * @param {!Object=} opt_receiver + * @return {boolean} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/set + + * @param {!Object} target + * @param {?Object} proto + * @return {boolean} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/setPrototypeOf + Generatorexceptionlog10log2log1pexpm1coshsinhtanhacoshasinhatanhtruncsigncbrtvalue1value2ITemplateArrayfromCodePointcodePointcodePointAtnormalizeopt_formsearchStringopt_positionTransferableisViewargArrayBufferViewBufferSourceTypedArrayBYTES_PER_ELEMENTcopyWithinopt_thisArgopt_offsetInt8Arrayopt_byteOffsetopt_mapFnopt_thisUint8ClampedArrayCanvasPixelArrayInt16ArrayUint16ArrayFloat32ArrayFloat64Arrayopt_byteLengthgetInt8getInt16opt_littleEndiangetInt32getFloat32getFloat64setInt8setUint8setInt16setUint16setFloat32setFloat64ThenableIThenableopt_onFulfilledopt_onRejectedresolveropt_erroriterableraceonRejectedarrayLikegetOwnPropertySymbolssetPrototypeOfEPSILONMIN_SAFE_INTEGERMAX_SAFE_INTEGERradixisIntegerisSafeIntegerthisArgargListopt_newTargetpropertyKeydeletePropertyopt_receiverownKeysDefinitions for ECMAScript 6 and later. +https://tc39.github.io/ecma262/ +https://www.khronos.org/registry/typedarray/specs/latest/ +https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator +IteratorIterable.https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/hypothttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imulhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isReturns a language-sensitive string representation of this number.(string|!Array.)=(string|!Array.)https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString +http://www.ecma-international.org/ecma-402/1.0/#sec-13.2.1 +Repeats the string the given number of times.The number of times the string is repeated. +https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeathttps://262.ecma-international.org/6.0/#sec-gettemplateobject!ITemplateArraySubstitution values. +https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/rawAdditional codepoints +https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalizehttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWithhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWithhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includeshttp://dev.w3.org/html5/postmsg/ +The length in bytes +noalias@noalias!ArrayBufferhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/isView(!ArrayBuffer|!ArrayBufferView)!ArrayBufferViewIArrayLike.Iterable.https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/copyWithin!IteratorIterable.>IteratorIterable.>!Array.Array.https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/entriesfunction (this: S, number, number, !TypedArray): ?!TypedArrayS +https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/everyhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/fillfunction (this: S, number, number, !TypedArray): booleanTHIS,S +https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/filterhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findIndexhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/forEachhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/includeshttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/indexOfhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/join!IteratorIterable.IteratorIterable.https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/keyshttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/lastIndexOffunction (this: S, number, number, !TypedArray): numberhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/mapfunction ((number|INIT|RET), number, number, !TypedArray): RET(number|INIT|RET)INITRETINIT=INIT,RET +https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reducehttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduceRighthttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reverse(!ArrayBufferView|!Array.)https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/sethttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/slicehttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/some(function (number, number): number)=(function (number, number): number)function (number, number): numberhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/sorthttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarrayhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/valueshttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toLocaleString +https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toString +or array +or buffer +(number|ArrayBufferView|Array.|ArrayBuffer){arguments} If the user passes a backing array, then indexed +accesses will modify the backing array. JSCompiler does not model +this well. In other words, if you have: + +var x = new ArrayBuffer(1); +var y = new Int8Array(x); +y[0] = 2; + +JSCompiler will not recognize that the last assignment modifies x. +We workaround this by marking all these arrays as @modifies {arguments}, +to introduce the possibility that x aliases y.function (this: S, number): number=function (this: S, number): number!Int8Arrayhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/fromhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of{arguments}!Uint8Array!Uint8ClampedArrayCanvasPixelArray has been replaced by Uint8ClampedArray +in the latest spec. +http://www.w3.org/TR/2dcontext/#imagedata!Int16Array!Uint16Array!Int32Array!Uint32Array!Float32Array!Float64Arrayhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays/DataViewboolean=https://github.com/promises-aplus/promises-spec +{then: ?}This is not an official DOM interface. It is used to add generic typing +and respective type inference where available. +{@see goog.Thenable} inherits from this making all promises +interoperate.TYPE?(function (TYPE): VALUE)=?(function (TYPE): VALUE)(function (TYPE): VALUE)function (TYPE): VALUE?(function (*): *)=?(function (*): *)(function (*): *)function (*): *RESULTVALUE +* When a Promise (or thenable) is returned from the fulfilled callback, +the result is the payload of that promise, not the promise itself. +*RESULT := type('IThenable', +cond(isUnknown(VALUE), unknown(), +mapunion(VALUE, (V) => +cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'), +templateTypeOf(V, 0), +cond(sub(V, 'Thenable'), +unknown(), +V))))) +=:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise +function (function ((TYPE|IThenable.|Thenable|null)=), function (*=))function ((TYPE|IThenable.|Thenable|null)=)(TYPE|IThenable.|Thenable|null)=(TYPE|IThenable.|Thenable|null)IThenable.function (*=)RESULT := type('Promise', +cond(isUnknown(VALUE), unknown(), +mapunion(VALUE, (V) => +cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'), +templateTypeOf(V, 0), +cond(sub(V, 'Thenable'), +unknown(), +V))))) +=:!Iterable.Iterable.!Promise.>Promise.>!Array.Array.RESULT := mapunion(VALUE, (V) => +cond(isUnknown(V), +unknown(), +cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'), +templateTypeOf(V, 0), +cond(sub(V, 'Thenable'), unknown(), V)))) +=:!Promise.Promise.?(function (this: void, TYPE): VALUE)=?(function (this: void, TYPE): VALUE)(function (this: void, TYPE): VALUE)function (this: void, TYPE): VALUE?(function (this: void, *): *)=?(function (this: void, *): *)(function (this: void, *): *)function (this: void, *): *RESULT := type('Promise', +cond(isUnknown(VALUE), unknown(), +mapunion(VALUE, (V) => +cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'), +templateTypeOf(V, 0), +cond(sub(V, 'Thenable'), +unknown(), +V))))) +=: +function (*): RESULThttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/of +https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from +(string|!IArrayLike.|!Iterable.)!IArrayLike.!Iterable.function (this: S, (string|T), number): R=function (this: S, (string|T), number): R(string|T)Iterator of [key, value] pairs.!IteratorIterable.>IteratorIterable.>!Array.<(number|T)>Array.<(number|T)>(number|T)!function (this: S, T, number, !Array.): booleanfunction (this: S, T, number, !Array.): boolean(T|undefined)https://262.ecma-international.org/6.0/#sec-array.prototype.findhttps://262.ecma-international.org/6.0/#sec-array.prototype.findindexUnknown content '{!IArrayLike|string} + *'https://262.ecma-international.org/6.0/#sec-array.prototype.fillhttps://262.ecma-international.org/6.0/#sec-array.prototype.copywithin +https://tc39.github.io/ecma262/#sec-array.prototype.includes!Array.Array.https://262.ecma-international.org/6.0/#sec-object.getownpropertysymbolshttps://262.ecma-international.org/6.0/#sec-object.setprototypeofhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/EPSILONhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MIN_SAFE_INTEGERhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGERhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/parseInthttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/parseFloathttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaNhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isFinitehttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isIntegerhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger...Objecthttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assignTODO(dbeam): find a better place for ES2017 externs like this one.!Object.Object.values +https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values +entries +!Array.>Array.>!Array.<(string|T)>Array.<(string|T)>https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries +http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflectfunction (this: THIS, ...?): RESULTTHIS, RESULT +https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/applyfunction (new: TARGET, ...?)=function (new: TARGET, ...?)TARGETTARGET +https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/constructhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/definePropertyhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/deleteProperty!Object=https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/get?ObjectPropertyDescriptorhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/getOwnPropertyDescriptor?Objecthttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/getPrototypeOfhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/hashttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/isExtensible!Array.<(string|symbol)>Array.<(string|symbol)>(string|symbol)https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/ownKeyshttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/preventExtensionshttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/sethttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/setPrototypeOfGenerat ... ue) {};Generat ... lue) {}Generat ... pe.nextGenerator.prototypeGenerat ... .returnfunction(value) {}Generat ... on) {};Generat ... ion) {}Generat ... e.throwMath.lo ... ue) {};Math.lo ... lue) {}Math.log10Math.log2Math.log1pMath.ex ... ue) {};Math.ex ... lue) {}Math.expm1Math.co ... ue) {};Math.co ... lue) {}Math.coshMath.si ... ue) {};Math.si ... lue) {}Math.sinhMath.ta ... ue) {};Math.ta ... lue) {}Math.tanhMath.ac ... ue) {};Math.ac ... lue) {}Math.acoshMath.as ... ue) {};Math.as ... lue) {}Math.asinhMath.at ... ue) {};Math.at ... lue) {}Math.atanhMath.tr ... ue) {};Math.tr ... lue) {}Math.truncMath.signMath.cb ... ue) {};Math.cb ... lue) {}Math.cbrtMath.hy ... gs) {};Math.hy ... rgs) {}Math.im ... e2) {};Math.im ... ue2) {}functio ... ue2) {}Math.cl ... ue) {};Math.cl ... lue) {}Object.is;Number. ... ns) {};Number. ... ons) {}Number. ... eStringString. ... nt) {};String. ... unt) {}String. ... .repeatfunction(count) {}var ITe ... n() {};ITempla ... on() {}ITempla ... pe.raw;ITempla ... ype.rawITempla ... ototypeString.rawString.fromCodePointString. ... PointAtString. ... rm) {};String. ... orm) {}String. ... rmalizefunctio ... orm) {}String. ... on) {};String. ... ion) {}String. ... rtsWithString. ... ndsWithString. ... ncludesArrayBu ... Length;ArrayBu ... eLengthArrayBu ... ototypeArrayBu ... nd) {};ArrayBu ... end) {}ArrayBu ... e.sliceArrayBu ... rg) {};ArrayBu ... arg) {}ArrayBuffer.isViewfunction(arg) {}functio ... ew() {}ArrayBu ... buffer;ArrayBu ... .bufferArrayBu ... Offset;ArrayBu ... eOffsetvar BufferSource;functio ... ay() {}TypedAr ... LEMENT;TypedAr ... ELEMENTTypedArray.prototypeTypedAr ... nd) {};TypedAr ... end) {}TypedAr ... yWithinTypedAr ... n() {};TypedAr ... on() {}TypedAr ... entriesTypedAr ... rg) {};TypedAr ... Arg) {}TypedAr ... e.everyfunctio ... Arg) {}TypedAr ... pe.fillTypedAr ... .filterTypedAr ... pe.findTypedAr ... ndIndexTypedAr ... forEachTypedAr ... ex) {};TypedAr ... dex) {}TypedAr ... ncludesTypedAr ... indexOfTypedAr ... or) {};TypedAr ... tor) {}TypedAr ... pe.joinTypedAr ... pe.keysTypedAr ... IndexOfTypedAr ... length;TypedAr ... .lengthTypedAr ... ype.mapTypedAr ... ue) {};TypedAr ... lue) {}TypedAr ... .reduceTypedAr ... ceRightTypedAr ... reverseTypedAr ... et) {};TypedAr ... set) {}TypedAr ... ype.setfunctio ... set) {}TypedAr ... e.sliceTypedAr ... pe.someTypedAr ... on) {};TypedAr ... ion) {}TypedAr ... pe.sortTypedAr ... ubarrayTypedAr ... .valuesTypedAr ... eStringTypedAr ... oStringTypedAr ... erator]Int8Arr ... LEMENT;Int8Arr ... ELEMENTInt8Arr ... is) {};Int8Arr ... his) {}Int8Array.fromfunctio ... his) {}Int8Arr ... gs) {};Int8Arr ... rgs) {}Int8Array.ofUint8Ar ... LEMENT;Uint8Ar ... ELEMENTUint8Ar ... is) {};Uint8Ar ... his) {}Uint8Array.fromUint8Ar ... gs) {};Uint8Ar ... rgs) {}Uint8Array.ofUint8Cl ... LEMENT;Uint8Cl ... ELEMENTUint8Cl ... is) {};Uint8Cl ... his) {}Uint8Cl ... ay.fromUint8Cl ... gs) {};Uint8Cl ... rgs) {}Uint8ClampedArray.ofvar Can ... lArray;Int16Ar ... LEMENT;Int16Ar ... ELEMENTInt16Ar ... is) {};Int16Ar ... his) {}Int16Array.fromInt16Ar ... gs) {};Int16Ar ... rgs) {}Int16Array.ofUint16A ... LEMENT;Uint16A ... ELEMENTUint16A ... is) {};Uint16A ... his) {}Uint16Array.fromUint16A ... gs) {};Uint16A ... rgs) {}Uint16Array.ofInt32Ar ... LEMENT;Int32Ar ... ELEMENTInt32Ar ... is) {};Int32Ar ... his) {}Int32Array.fromInt32Ar ... gs) {};Int32Ar ... rgs) {}Int32Array.ofUint32A ... LEMENT;Uint32A ... ELEMENTUint32A ... is) {};Uint32A ... his) {}Uint32Array.fromUint32A ... gs) {};Uint32A ... rgs) {}Uint32Array.ofFloat32 ... LEMENT;Float32 ... ELEMENTFloat32 ... is) {};Float32 ... his) {}Float32Array.fromFloat32 ... gs) {};Float32 ... rgs) {}Float32Array.ofFloat64 ... LEMENT;Float64 ... ELEMENTFloat64 ... is) {};Float64 ... his) {}Float64Array.fromFloat64 ... gs) {};Float64 ... rgs) {}Float64Array.ofDataVie ... et) {};DataVie ... set) {}DataVie ... getInt8DataView.prototypeDataVie ... etUint8DataVie ... an) {};DataVie ... ian) {}DataVie ... etInt16functio ... ian) {}DataVie ... tUint16DataVie ... etInt32DataVie ... tUint32DataVie ... Float32DataVie ... Float64DataVie ... ue) {};DataVie ... lue) {}DataVie ... setInt8var Thenable;IThenab ... ed) {};IThenab ... ted) {}IThenab ... pe.thenIThenable.prototypefunctio ... ted) {}Promise ... ue) {};Promise ... lue) {}Promise ... or) {};Promise ... ror) {}Promise.rejectfunctio ... ror) {}Promise ... le) {};Promise ... ble) {}functio ... ble) {}Promise.racePromise ... ed) {};Promise ... ted) {}Promise ... pe.thenPromise.prototypePromise ... e.catchArray.o ... gs) {};Array.o ... rgs) {}Array.ofArray.f ... is) {};Array.f ... his) {}Array.p ... e.keys;Array.prototype.keysArray.p ... ntries;Array.p ... entriesArray.p ... is) {};Array.p ... his) {}Array.prototype.findArray.p ... ndIndexArray.prototype.fillArray.p ... yWithinObject. ... SymbolsgetOwnP ... SymbolsObject. ... to) {};Object. ... oto) {}functio ... oto) {}Number.EPSILON;Number.EPSILONNumber. ... NTEGER;Number. ... INTEGERNumber.parseIntNumber. ... ng) {};Number. ... ing) {}Number.parseFloatfunction(string) {}Number. ... ue) {};Number. ... lue) {}Number.isNaNNumber.isIntegerNumber.isSafeIntegerObject. ... gs) {};Object. ... rgs) {}var Reflect = {};Reflect = {}Reflect ... st) {};Reflect ... ist) {}Reflect.applyfunctio ... ist) {}Reflect ... et) {};Reflect ... get) {}functio ... get) {}Reflect ... es) {};Reflect ... tes) {}Reflect ... ropertyfunctio ... tes) {}Reflect ... ey) {};Reflect ... Key) {}Reflect ... er) {};Reflect ... ver) {}Reflect.getReflect ... criptorReflect ... otypeOffunction(target) {}Reflect.hasReflect.isExtensibleReflect.ownKeysReflect ... ensionsReflect.setReflect ... to) {};Reflect ... oto) {}/opt/codeql/javascript/tools/data/externs/es/es6_collections.js + * @fileoverview Definitions for ECMAScript 6. + * @see http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts + * @externs + TODO(johnlenz): Use Tuples for the Map and Set iterators where appropriate.// TODO ... priate. + * @constructor @struct + * @param {Iterable>|!Array>=} opt_iterable + * @implements {Iterable>} + * @template KEY, VALUE + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map + /**\n * ... Map\n */ @return {void} /** @re ... oid} */ + * @param {KEY} key + * @return {boolean} + /**\n * ... an}\n */ + * @return {!IteratorIterable>} + * @nosideeffects + + * @param {function(this:THIS, VALUE, KEY, MAP)} callback + * @param {THIS=} opt_thisArg + * @this {MAP} + * @template MAP,THIS + + * @param {KEY} key + * @return {VALUE} + * @nosideeffects + + * @param {KEY} key + * @return {boolean} + * @nosideeffects + + * @return {!IteratorIterable} + /**\n * ... Y>}\n */ + * @param {KEY} key + * @param {VALUE} value + * @return {THIS} + * @this {THIS} + * @template THIS + + * @type {number} + * (readonly) + /**\n * ... ly)\n */ + * @return {!IteratorIterable} + * @nosideeffects + + * @return {!Iterator>} + /**\n * ... >>}\n */ + * @constructor @struct + * @param {Iterable>|!Array>=} opt_iterable + * @template KEY, VALUE + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap + + * @constructor @struct + * @param {Iterable|Array=} opt_iterable + * @implements {Iterable} + * @template VALUE + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set + /**\n * ... Set\n */ + * @param {VALUE} value + * @return {THIS} + * @this {THIS} + * @template THIS + + * @return {void} + /**\n * ... id}\n */ + * @param {VALUE} value + * @return {boolean} + + * @return {!IteratorIterable>} Where each array has two entries: + * [value, value] + * @nosideeffects + + * @param {function(this: THIS, VALUE, VALUE, SET)} callback + * @param {THIS=} opt_thisArg + * @this {SET} + * @template SET,THIS + + * @param {VALUE} value + * @return {boolean} + * @nosideeffects + + * @type {number} (readonly) + + * @return {!Iterator} + + * @constructor @struct + * @param {Iterable|Array=} opt_iterable + * @template VALUE + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set + opt_iterableDefinitions for ECMAScript 6. +http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts +Unknown content '@struct + *'Unknown ... uct\n *'(Iterable.>|!Array.>)=(Iterable.>|!Array.>)Iterable.>!Array.<(KEY|VALUE)>Array.<(KEY|VALUE)>(KEY|VALUE)KEY!Array.>Array.>KEY, VALUE +https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map!IteratorIterable.>IteratorIterable.>function (this: THIS, VALUE, KEY, MAP)MAPTHIS=Unknown content '{MAP} + *'Unknown ... AP}\n *'MAP,THIS!IteratorIterable.IteratorIterable.(readonly)!IteratorIterable.!Iterator.>Iterator.>https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap(Iterable.|Array.)=(Iterable.|Array.)Array.https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SetWhere each array has two entries: +[value, value] +!IteratorIterable.>IteratorIterable.>!Array.function (this: THIS, VALUE, VALUE, SET)SETUnknown content '{SET} + *'Unknown ... ET}\n *'SET,THIS!Iterator.Map.prototype.clear;Map.prototype.clearMap.prototypeMap.pro ... delete;Map.prototype.deleteMap.pro ... ntries;Map.pro ... entriesMap.pro ... orEach;Map.pro ... forEachMap.prototype.get;Map.prototype.getMap.prototype.has;Map.prototype.hasMap.prototype.keys;Map.prototype.keysMap.prototype.set;Map.prototype.setMap.prototype.size;Map.prototype.sizeMap.pro ... values;Map.prototype.valuesMap.pro ... n() {};Map.pro ... on() {}Map.pro ... erator]WeakMap ... .clear;WeakMap ... e.clearWeakMap.prototypeWeakMap ... delete;WeakMap ... .deleteWeakMap ... pe.get;WeakMap ... ype.getWeakMap ... pe.has;WeakMap ... ype.hasWeakMap ... pe.set;WeakMap ... ype.setSet.prototype.add;Set.prototype.addSet.prototypeSet.prototype.clear;Set.prototype.clearSet.pro ... delete;Set.prototype.deleteSet.pro ... ntries;Set.pro ... entriesSet.pro ... orEach;Set.pro ... forEachSet.prototype.has;Set.prototype.hasSet.prototype.size;Set.prototype.sizeSet.prototype.keys;Set.prototype.keysSet.pro ... values;Set.prototype.valuesSet.pro ... n() {};Set.pro ... on() {}Set.pro ... erator]WeakSet ... pe.add;WeakSet ... ype.addWeakSet.prototypeWeakSet ... .clear;WeakSet ... e.clearWeakSet ... delete;WeakSet ... .deleteWeakSet ... pe.has;WeakSet ... ype.has/opt/codeql/javascript/tools/data/externs/es/intl.js + * Copyright 2013 The Closure Compiler Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + + * @fileoverview Definitions for the JS Internationalization API as defined in + * http://www.ecma-international.org/ecma-402/1.0/ + * + * @externs + @const /** @const */ + * NOTE: this API is not from ecma402 and is subject to change. + * @param {string|Array.=} opt_locales + * @param {{type: (string|undefined)}=} + * opt_options + * @constructor + + * @param {string} text + /**\n * ... ext\n */ + * @return {string} + + * @return {number} + + * @constructor + * @param {string|Array.=} opt_locales + * @param {{usage: (string|undefined), localeMatcher: (string|undefined), + * sensitivity: (string|undefined), ignorePunctuation: (boolean|undefined), + * numeric: (boolean|undefined), caseFirst: (string|undefined)}=} + * opt_options + + * @param {Array.} locales + * @param {{localeMatcher: (string|undefined)}=} opt_options + + * @param {string} arg1 + * @param {string} arg2 + * @return {number} + + * @return {{locale: string, usage: string, sensitivity: string, + * ignorePunctuation: boolean, collation: string, numeric: boolean, + * caseFirst: string}} + /**\n * ... g}}\n */ + * @constructor + * @param {string|Array.=} opt_locales + * @param {{localeMatcher: (string|undefined), useGrouping: (boolean|undefined), + * numberingSystem: (string|undefined), style: (string|undefined), + * currency: (string|undefined), currencyDisplay: (string|undefined), + * minimumIntegerDigits: (number|undefined), + * minimumFractionDigits: (number|undefined), + * maximumFractionDigits: (number|undefined), + * minimumSignificantDigits: (number|undefined), + * maximumSignificantDigits: (number|undefined)}=} + * opt_options + + * @param {number} num + * @return {string} + + * @return {{locale: string, numberingSystem: string, style: string, + * currency: (string|undefined), currencyDisplay: (string|undefined), + * minimumIntegerDigits: number, minimumFractionDigits: number, + * maximumFractionDigits: number, minimumSignificantDigits: number, + * maximumSignificantDigits: number, useGrouping: boolean}} + /**\n * ... n}}\n */ + * @constructor + * @param {string|Array.=} opt_locales + * @param {{localeMatcher: (string|undefined), + * formatMatcher: (string|undefined), calendar: (string|undefined), + * numberingSystem: (string|undefined), tz: (string|undefined), + * weekday: (string|undefined), era: (string|undefined), + * year: (string|undefined), month: (string|undefined), + * day: (string|undefined), hour: (string|undefined), + * minute: (string|undefined), second: (string|undefined), + * timeZoneName: (string|undefined), hour12: (boolean|undefined)}=} + * opt_options + + * @param {Array.} locales + * @param {{localeMatcher: string}=} opt_options + + * @param {number} date + * @return {string} + + * @return {{locale: string, calendar: string, numberingSystem: string, + * timeZone: (string|undefined), weekday: (string|undefined), + * era: (string|undefined), year: (string|undefined), + * month: (string|undefined), day: (string|undefined), + * hour: (string|undefined), minute: (string|undefined), + * second: (string|undefined), timeZoneName: (string|undefined), + * hour12: (boolean|undefined)}} + /**\n * ... )}}\n */v8BreakIteratoradoptTextbreakTypefirstCollatorsupportedLocalesOfarg1arg2resolvedOptionsNumberFormatDefinitions for the JS Internationalization API as defined in +http://www.ecma-international.org/ecma-402/1.0/ +*NOTE: this API is not from ecma402 and is subject to change.{type: (string|undefined)}={type: (string|undefined)}{usage: (string|undefined), localeMatcher: (string|undefined), sensitivity: (string|undefined), ignorePunctuation: (boolean|undefined), numeric: (boolean|undefined), caseFirst: (string|undefined)}={usage: (string|undefined), localeMatcher: (string|undefined), sensitivity: (string|undefined), ignorePunctuation: (boolean|undefined), numeric: (boolean|undefined), caseFirst: (string|undefined)}usagelocaleMatchersensitivityignorePunctuationcaseFirst{localeMatcher: (string|undefined)}={localeMatcher: (string|undefined)}{locale: string, usage: string, sensitivity: string, ignorePunctuation: boolean, collation: string, numeric: boolean, caseFirst: string}collation{localeMatcher: (string|undefined), useGrouping: (boolean|undefined), numberingSystem: (string|undefined), style: (string|undefined), currency: (string|undefined), currencyDisplay: (string|undefined), minimumIntegerDigits: (number|undefined), minimumFractionDigits: (number|undefined), maximumFractionDigits: (number|undefined), minimumSignificantDigits: (number|undefined), maximumSignificantDigits: (number|undefined)}={localeMatcher: (string|undefined), useGrouping: (boolean|undefined), numberingSystem: (string|undefined), style: (string|undefined), currency: (string|undefined), currencyDisplay: (string|undefined), minimumIntegerDigits: (number|undefined), minimumFractionDigits: (number|undefined), maximumFractionDigits: (number|undefined), minimumSignificantDigits: (number|undefined), maximumSignificantDigits: (number|undefined)}useGroupingnumberingSystemcurrencycurrencyDisplayminimumIntegerDigitsminimumFractionDigitsmaximumFractionDigitsminimumSignificantDigitsmaximumSignificantDigits{locale: string, numberingSystem: string, style: string, currency: (string|undefined), currencyDisplay: (string|undefined), minimumIntegerDigits: number, minimumFractionDigits: number, maximumFractionDigits: number, minimumSignificantDigits: number, maximumSignificantDigits: number, useGrouping: boolean}{localeMatcher: (string|undefined), formatMatcher: (string|undefined), calendar: (string|undefined), numberingSystem: (string|undefined), tz: (string|undefined), weekday: (string|undefined), era: (string|undefined), year: (string|undefined), month: (string|undefined), day: (string|undefined), hour: (string|undefined), minute: (string|undefined), second: (string|undefined), timeZoneName: (string|undefined), hour12: (boolean|undefined)}={localeMatcher: (string|undefined), formatMatcher: (string|undefined), calendar: (string|undefined), numberingSystem: (string|undefined), tz: (string|undefined), weekday: (string|undefined), era: (string|undefined), year: (string|undefined), month: (string|undefined), day: (string|undefined), hour: (string|undefined), minute: (string|undefined), second: (string|undefined), timeZoneName: (string|undefined), hour12: (boolean|undefined)}formatMatchercalendartzweekdayera{localeMatcher: string}={localeMatcher: string}{locale: string, calendar: string, numberingSystem: string, timeZone: (string|undefined), weekday: (string|undefined), era: (string|undefined), year: (string|undefined), month: (string|undefined), day: (string|undefined), hour: (string|undefined), minute: (string|undefined), second: (string|undefined), timeZoneName: (string|undefined), hour12: (boolean|undefined)}var Intl = {};Intl = {}Intl.v8 ... ns) {};Intl.v8 ... ons) {}Intl.v8BreakIteratorIntl.v8 ... xt) {};Intl.v8 ... ext) {}Intl.v8 ... optTextIntl.v8 ... ototypefunction(text) {}Intl.v8 ... n() {};Intl.v8 ... on() {}Intl.v8 ... eakTypeIntl.v8 ... currentIntl.v8 ... e.firstIntl.v8 ... pe.nextIntl.Co ... ns) {};Intl.Co ... ons) {}Intl.CollatorIntl.Co ... calesOfIntl.Co ... g2) {};Intl.Co ... rg2) {}Intl.Co ... compareIntl.Co ... ototypefunctio ... rg2) {}Intl.Co ... n() {};Intl.Co ... on() {}Intl.Co ... OptionsIntl.Nu ... ns) {};Intl.Nu ... ons) {}Intl.NumberFormatIntl.Nu ... calesOfIntl.Nu ... um) {};Intl.Nu ... num) {}Intl.Nu ... .formatIntl.Nu ... ototypefunction(num) {}Intl.Nu ... n() {};Intl.Nu ... on() {}Intl.Nu ... OptionsIntl.Da ... ns) {};Intl.Da ... ons) {}Intl.Da ... calesOfIntl.Da ... te) {};Intl.Da ... ate) {}Intl.Da ... ototypeIntl.Da ... n() {};Intl.Da ... on() {}Intl.Da ... Options/opt/codeql/javascript/tools/data/externs/es/proxy.js + * Copyright 2017 Semmle Ltd. + /*\n * C ... td.\n */ + * @fileoverview A model of the builtin Proxy object. + * @externs + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy + /**\n * ... oxy\n */ + * @param {*} target + * @param {Object} handler + * @constructor + + * @returns {Proxy} + /**\n * ... xy}\n */ProxyrevocableA model of the builtin Proxy object. +https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxyreturns@returnsfunctio ... er) {\n}{\n}Proxy.p ... n() {};Proxy.p ... on() {}Proxy.p ... vocableProxy.prototype/opt/codeql/javascript/tools/data/externs/lib/bdd.js/opt/codeql/javascript/tools/data/externs/lib + * Copyright 2018 Semmle + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + + * @fileoverview Simple externs definitions for various BDD and TDD APIs. + * + * The goal is to declare global functions provided by frameworks like Chai, + * Mocha and Jasmine. No type information is included at the moment. + * + * @externs + @param {...*} args /** @pa ... args */afterafterAllafterEachassertbeforebeforeAllfdescribefitsetupspecifyspyOnsuitesuiteSetupsuiteTeardownteardownxdescribexitSimple externs definitions for various BDD and TDD APIs. +* The goal is to declare global functions provided by frameworks like Chai, +Mocha and Jasmine. No type information is included at the moment. +*function it(args) {}/opt/codeql/javascript/tools/data/externs/lib/jquery-3.2.js + * Copyright 2017 The Closure Compiler Authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + + * @fileoverview Externs for jQuery 3.1 + * + * Note that some functions use different return types depending on the number + * of parameters passed in. In these cases, you may need to annotate the type + * of the result in your code, so the JSCompiler understands which type you're + * expecting. For example: + * var elt = /** @type {Element} * / (foo.get(0)); + * + * @see http://api.jquery.com/ + * @externs + + * @typedef {(Window|Document|Element|Array|string|jQuery| + * NodeList)} + /**\n * ... t)}\n */ @typedef {function(...)|Array} /** @ty ... .)>} */ + * @record + /**\n * @record\n */ @type {(Object|undefined)} /** @ty ... ed)} */ @type {(?boolean|undefined)} @type {(function(jQuery.jqXHR, (jQueryAjaxSettings|Object))|undefined)} @type {(function(jQuery.jqXHR, string)|undefined)} @type {(Object|undefined)} @type {(?string|boolean|undefined)} @type {(Object|jQueryAjaxSettings|undefined)} @type {(Object|undefined)} @type {(Object|?string|Array|undefined)} @type {(function(string, string):?|undefined)} @type {(?string|undefined)} @type {(function(jQuery.jqXHR, string, string)|undefined)} @type {(Object|undefined)} @type {(?string|function()|undefined)} @type {(Object|undefined)} @type {(function(?, string, jQuery.jqXHR)|undefined)} @type {(?number|undefined)} @type {(function():(ActiveXObject|XMLHttpRequest)|undefined)} + * @record + * @extends {jQueryAjaxSettings} + /**\n * ... gs}\n */ @type {Object} /** @ty ... an>} */ @type {Object} /** @ty ... ng>} */ @return {undefined} /** @re ... ned} */ + * @param {!IObject} headers + * @param {function(number, string, !IObject=, string=):undefined} completeCallback + * @return {undefined} + + * @constructor + * @param {(jQuerySelector|Object|function())=} arg1 + * @param {(Element|jQuery|Document| + * Object)=} arg2 + * @throws {Error} on invalid selector + * @return {!jQuery} + * @implements {Iterable} + + * @const + /**\n * @const\n */ + * @param {jQuerySelector} arg1 + * @param {Element=} context + * @return {!jQuery} + * @nosideeffects + + * @param {jQuerySelector=} arg1 + * @return {!jQuery} + * @nosideeffects + + * @param {(string|function(number,String))} arg1 + * @return {!jQuery} + /**\n * ... ry}\n */ + * @param {(string|Element|Array|jQuery|function(this:Element,number,string):(string|!Element|!jQuery))} arg1 + * @param {...(string|Element|Array|jQuery)} content + * @return {!jQuery} + + * @param {(string|jQueryAjaxSettings|Object)} arg1 + * @param {(jQueryAjaxSettings|Object)=} settings + * @return {!jQuery.jqXHR} + /**\n * ... HR}\n */ + * @param {function(!jQuery.Event,XMLHttpRequest,(jQueryAjaxSettings|Object))} handler + * @return {!jQuery} + + * @param {function(!jQuery.Event,jQuery.jqXHR,(jQueryAjaxSettings|Object),*)} handler + * @return {!jQuery} + + * @param {(string|function((jQueryAjaxSettings|Object),(jQueryAjaxSettings|Object),jQuery.jqXHR))} dataTypes + * @param {function((jQueryAjaxSettings|Object),(jQueryAjaxSettings|Object),jQuery.jqXHR)=} handler + * @return {undefined} + + * @param {function(!jQuery.Event,jQuery.jqXHR,(jQueryAjaxSettings|Object))} handler + * @return {!jQuery} + @const {jQueryAjaxSettingsExtra|Object} /** @co ... *>} */ @param {jQueryAjaxSettings|Object} options /** @pa ... ions */ + * @param {function()} handler + * @return {!jQuery} + + * @param {function(!jQuery.Event,XMLHttpRequest,(jQueryAjaxSettings|Object), ?)} handler + * @return {!jQuery} + + * @param {string} dataType + * @param {function(!jQueryAjaxSettingsExtra, !jQueryAjaxSettings, !jQuery.jqXHR):(!jQueryAjaxTransport|undefined)} handler + * @return {undefined} + + * @deprecated Please use .addBack(selector) instead. + * @return {!jQuery} + * @nosideeffects + + * @param {Object} properties + * @param {(string|number|function()|Object)=} arg2 + * @param {(string|function())=} easing + * @param {function()=} complete + * @return {!jQuery} + + * @param {(string|Element|Array|jQuery|function(number,string))} arg1 + * @param {...(string|Element|Array|jQuery)} content + * @return {!jQuery} + + * @param {jQuerySelector} target + * @return {!jQuery} + + * @param {(string|Object)} arg1 + * @param {(string|number|boolean|function(number,string))=} arg2 + * @return {(string|!jQuery)} + /**\n * ... y)}\n */ + * @param {(string|Element|Array|jQuery|function(this:Element,number,string=):(string|!Element|!jQuery))} arg1 + * @param {...(string|Element|Array|jQuery)} content + * @return {!jQuery} + + * @param {(string|Object)} arg1 + * @param {(Object|function(!jQuery.Event)|boolean)=} eventData + * @param {(function(!jQuery.Event)|boolean)=} arg3 + * @return {!jQuery} + * @deprecated Please use .on instead. + /**\n * ... ad.\n */ + * @param {(function(!jQuery.Event)|Object)=} arg1 + * @param {function(!jQuery.Event)=} handler + * @return {!jQuery} + + * @constructor + * @private + + * @param {string=} flags + * @return {!jQuery.callbacks} + /**\n * ... ks}\n */ + * @param {jQueryCallback} callbacks + * @return {!jQuery.callbacks} + @return {!jQuery.callbacks} /** @re ... cks} */ + * @return {boolean} + * @nosideeffects + + * @param {...*} var_args + * @return {!jQuery.callbacks} + + * @param {function()=} callback + * @return {boolean} + * @nosideeffects + + * @param {(function()|Array)} callbacks + * @return {!jQuery.callbacks} + + * @param {jQuerySelector=} selector + * @return {!jQuery} + * @nosideeffects + + * @param {string=} queueName + * @return {!jQuery} + + * @param {boolean=} withDataAndEvents + * @param {boolean=} deepWithDataAndEvents + * @return {!jQuery} + * @suppress {checkTypes} see https://code.google.com/p/closure-compiler/issues/detail?id=583 + /**\n * ... 583\n */ + * @param {Element} container + * @param {Element} contained + * @return {boolean} + * @nosideeffects + + * @return {!jQuery} + * @nosideeffects + + * @param {(string|Object)} arg1 + * @param {(string|number|function(number,*))=} arg2 + * @return {(string|!jQuery)} + * @throws {Error} + @type {Object} /** @ty ... *>} */ + * @param {Element} elem + * @param {string=} key + * @param {*=} value + * @return {*} + /**\n * ... {*}\n */ + * @param {(string|Object)=} arg1 + * @param {*=} value + * @return {*} + + * @constructor + * @implements {jQuery.Promise} + * @param {function()=} opt_fn + * @see http://api.jquery.com/category/deferred-object/ + /**\n * ... ct/\n */ + * @constructor + * @extends {jQuery.deferred} + * @param {function()=} opt_fn + * @return {!jQuery.Deferred} + + * @override + * @param {jQueryCallback} alwaysCallbacks + * @param {...jQueryCallback} alwaysCallbacks2 + * @return {!jQuery.deferred} + + * @override + * @param {function()} failCallback + * @return {!jQuery.Promise} + /**\n * ... se}\n */ + * @override + * @param {jQueryCallback} doneCallbacks + * @param {...jQueryCallback} doneCallbacks2 + * @return {!jQuery.deferred} + + * @override + * @param {jQueryCallback} failCallbacks + * @param {...jQueryCallback} failCallbacks2 + * @return {!jQuery.deferred} + + * @param {...*} var_args + * @return {!jQuery.deferred} + + * @param {Object} context + * @param {...*} var_args + * @return {!jQuery.deferred} + + * @deprecated Please use deferred.then() instead. + * @override + * @param {function()=} doneFilter + * @param {function()=} failFilter + * @param {function()=} progressFilter + * @return {!jQuery.Promise} + + * @override + * @param {jQueryCallback} progressCallbacks + * @param {...jQueryCallback} progressCallbacks2 + * @return {!jQuery.deferred} + + * @override + * @param {Object=} target + * @return {!jQuery.Promise} + + * @param {Object} context + * @param {Array<*>=} args + * @return {!jQuery.deferred} + + * @override + * @return {string} + * @nosideeffects + + * @override + * @param {function()} doneCallbacks + * @param {function()=} failCallbacks + * @param {function()=} progressFilter + * @return {!jQuery.deferred} + + * @param {number} duration + * @param {string=} queueName + * @return {!jQuery} + + * @param {string} selector + * @param {(string|Object)} arg2 + * @param {(function(!jQuery.Event)|Object)=} arg3 + * @param {function(!jQuery.Event)=} handler + * @return {!jQuery} + * @deprecated Please use .on instead. + + * @param {Element} elem + * @param {string=} queueName + * @return {undefined} + + * @param {jQuerySelector=} selector + * @return {!jQuery} + + * @param {Object} collection + * @param {function((number|string),?)} callback + * @return {Object} + /**\n * ... ct}\n */ + * @param {function(number,Element)} fnc + * @return {!jQuery} + @return {!jQuery} /** @re ... ery} */ + * @param {number} arg1 + * @return {!jQuery} + * @nosideeffects + + * @param {string} message + * @throws {Error} + + * @param {string} arg1 + * @return {string} + @type {Object} /** @ty ... ct>} */ + * @constructor + * @param {string} eventType + * @param {Object=} properties + * @return {!jQuery.Event} + /**\n * ... nt}\n */ @type {Element} /** @ty ... ent} */ @type {Event} /** @type {Event} */ @type {Window} /** @ty ... dow} */ + * @param {(Object|boolean)} arg1 + * @param {...*} var_args + * @return {Object} + + * @param {(string|number|function())=} duration + * @param {(function()|string)=} arg2 + * @param {function()=} callback + * @return {!jQuery} + + * @param {(string|number)} duration + * @param {number} opacity + * @param {(function()|string)=} arg3 + * @param {function()=} callback + * @return {!jQuery} + + * @param {(string|number|function())=} duration + * @param {(string|function())=} easing + * @param {function()=} callback + * @return {!jQuery} + + * @param {(jQuerySelector|function(number,Element))} arg1 + * @return {!jQuery} + * @see http://api.jquery.com/filter/ + /**\n * ... er/\n */ + * @param {jQuerySelector} arg1 + * @return {!jQuery} + * @nosideeffects + @see http://docs.jquery.com/Plugins/Authoring /** @se ... ring */ + * @param {(function(!jQuery.Event)|Object)} arg1 + * @param {function(!jQuery.Event)=} handler + * @return {!jQuery} + + * @param {(string|jQueryAjaxSettings|Object)} url + * @param {(Object|string| + * function(string,string,jQuery.jqXHR))=} data + * @param {(function(string,string,jQuery.jqXHR)|string|null)=} success + * @param {string=} dataType + * @return {!jQuery.jqXHR} + + * @param {number=} index + * @return {(Element|Array)} + * @nosideeffects + + * @param {string} url + * @param {(Object| + * function(Object,string,jQuery.jqXHR))=} data + * @param {function(Object,string,jQuery.jqXHR)=} success + * @return {!jQuery.jqXHR} + * @see http://api.jquery.com/jquery.getjson/#jQuery-getJSON-url-data-success + /**\n * ... ess\n */ + * @param {string} url + * @param {function(Node,string,jQuery.jqXHR)=} success + * @return {!jQuery.jqXHR} + @param {string} code /** @pa ... code */ + * @template T + * @param {!Array} arr + * @param {function(*,number)} fnc + * @param {boolean=} invert + * @return {!Array} + + * @param {(string|Element)} arg1 + * @return {!jQuery} + * @nosideeffects + + * @param {string} className + * @return {boolean} + * @nosideeffects + + * @param {!Element} elem + * @return {boolean} + * @nosideeffects + + * @param {(string|number|function(number,number))=} arg1 + * @return {(number|undefined|!jQuery)} + + * @param {boolean} hold + * @return {undefined} + * @deprecated + + * @param {function(!jQuery.Event)} arg1 + * @param {function(!jQuery.Event)=} handlerOut + * @return {!jQuery} + + * @param {(string|function(number,string))=} arg1 + * @return {(string|!jQuery)} + + * @param {string} html + * @nosideeffects + * @return {string} + + * @param {*} value + * @param {Array<*>} arr + * @param {number=} fromIndex + * @return {number} + * @nosideeffects + + * @param {jQuerySelector=} arg1 + * @return {number} + * @nosideeffects + + * @param {(number|string|function(number,number):(number|string))=} value + * @return {(number|undefined|jQuery)} + + * @param {jQuerySelector|function(number,Element):boolean} arg1 + * @return {boolean} + + * @param {*} obj + * @return {boolean} + * @nosideeffects + * @deprecated Please use Array.isArray(obj) instead. + + * @param {Object} obj + * @return {boolean} + * @nosideeffects + + * @param {*} obj + * @return {boolean} + * @nosideeffects + + * @param {*} value + * @return {boolean} + * @nosideeffects + + * @param {Element} node + * @return {boolean} + * @nosideeffects + + * @constructor + * @extends {XMLHttpRequest} + * @implements {jQuery.Promise} + * @private + * @see http://api.jquery.com/jQuery.ajax/#jqXHR + /**\n * ... XHR\n */ + * @override + * @param {string=} statusText + * @return {!jQuery.jqXHR} + * @suppress {checkTypes} to avoid warning about XMLHttpRequest abort method missmatch + + * @override + * @param {jQueryCallback} alwaysCallbacks + * @param {...jQueryCallback} alwaysCallbacks2 + * @return {!jQuery.jqXHR} + + * @override + * @param {function()} failCallback + * @return {!jQuery.jqXHR} + + * @override + * @param {jQueryCallback} doneCallbacks + * @param {...jQueryCallback} doneCallbacks2 + * @return {!jQuery.jqXHR} + + * @override + * @param {jQueryCallback} failCallbacks + * @param {...jQueryCallback} failCallbacks2 + * @return {!jQuery.jqXHR} + + * @deprecated + * @override + + * @override + * @param {function()=} doneFilter + * @param {function()=} failFilter + * @param {function()=} progressFilter + * @return {!jQuery.jqXHR} + + * @override + * @param {jQueryCallback} progressCallbacks + * @param {...jQueryCallback} progressCallbacks2 + * @return {!jQuery.jqXHR} + + * @param {Object} map + * @return {!jQuery.jqXHR} + + * @override + * @param {function()} doneCallback + * @param {function()=} failCallback + * @param {function()=} progressCallback + * @return {!jQuery.jqXHR} + + * @param {*} obj + * @return {Array<*>} + * @nosideeffects + + * @template T + * @param {(Array|Object)} arg1 + * @param {(function(T,number)|function(T,(string|number)))} callback + * @return {Array} + + * @param {function(number,Element)} callback + * @return {!jQuery} + + * @param {Array<*>} first + * @param {Array<*>} second + * @return {Array<*>} + /**\n * ... *>}\n */ + * @param {string=} selector + * @return {!jQuery} + * @nosideeffects + + * @param {jQuerySelector=} arg1 + * @param {jQuerySelector=} filter + * @return {!jQuery} + * @nosideeffects + + * @param {boolean=} removeAll + * @return {Object} + + * @return {undefined} + * @nosideeffects + + * @param {(jQuerySelector|function(this:Element,number,Element=):boolean)} arg1 + * @return {!jQuery} + + * @return {number} + * @nosideeffects + + * @param {(string|Object)=} arg1 + * @param {(string|function(!jQuery.Event))=} selector + * @param {function(!jQuery.Event)=} handler + * @return {!jQuery} + + * @param {({left:number,top:number}| + * function(number,{top:number,left:number}))=} arg1 + * @return {({left:number,top:number}|undefined|!jQuery)} + * @throws {Error} + + * @param {(string|Object)} events + * @param {*=} selector or data or handler + * @param {*=} data or handler + * @param {function(!jQuery.Event)=} handler + * @throws {Error} + * @return {!jQuery} + + * @param {boolean|number|string|function(number,number):(number|string)=} includeMargin + * @return {number|undefined|jQuery} + + * @param {(Object|Array>)} obj + * @param {boolean=} traditional + * @return {string} + + * @param {string} data + * @param {(Element|boolean)=} context + * @param {boolean=} keepScripts + * @return {Array} + /**\n * ... t>}\n */ + * @param {string} json + * @return {string|number|Object|Array|boolean} + * @deprecated Please use JSON.parse() instead. + + * @param {string} data + * @return {Document} + + * @return {{left:number,top:number}} + * @nosideeffects + + * @param {(string|Element|jQuery|function(number,string))} arg1 + * @param {(string|Element|jQuery)=} content + * @return {!jQuery} + + * @param {(string|Object)=} type + * @param {Object=} target + * @return {!jQuery.Promise} + + * @interface + * @private + * @see http://api.jquery.com/Types/#Promise + /**\n * ... ise\n */ + * @param {jQueryCallback} alwaysCallbacks + * @param {...jQueryCallback} alwaysCallbacks2 + * @return {!jQuery.Promise} + + * @param {jQueryCallback} doneCallbacks + * @param {...jQueryCallback} doneCallbacks2 + * @return {!jQuery.Promise} + + * @param {function()} failCallback + * @return {!jQuery.Promise} + + * @param {jQueryCallback} failCallbacks + * @param {...jQueryCallback} failCallbacks2 + * @return {!jQuery.Promise} + + * @deprecated Please use deferred.then() instead. + * @param {function()=} doneFilter + * @param {function()=} failFilter + * @param {function()=} progressFilter + * @return {!jQuery.Promise} + + * @param {jQueryCallback} progressCallbacks + * @param {...jQueryCallback} progressCallbacks2 + * @return {!jQuery.Promise} + + * @param {Object=} target + * @return {!jQuery.Promise} + + * @return {string} + * @nosideeffects + + * @param {function()} doneCallbacks + * @param {function()=} failCallbacks + * @param {function()=} progressCallbacks + * @return {!jQuery.Promise} + + * @param {(string|Object)} arg1 + * @param {(string|number|boolean|function(number,String))=} arg2 + * @return {(string|boolean|!jQuery)} + + * @param {...*} var_args + * @return {function()} + /**\n * ... ()}\n */ + * @param {Array} elements + * @param {string=} name + * @param {Array<*>=} args + * @return {!jQuery} + + * @param {(string|Array|function(function()))=} queueName + * @param {(Array|function(function()))=} arg2 + * @return {(Array|!jQuery)} + + * @param {Element} elem + * @param {string=} queueName + * @param {(Array|function())=} arg3 + * @return {(Array|!jQuery)} + + * @param {function()} handler + * @return {!jQuery} + * @deprecated Please use the $(handler) instead. + + * Handles errors thrown synchronously in functions wrapped in jQuery(). + * @param {Error} handler + * @since 3.1 + * @see https://api.jquery.com/jQuery.readyException/ + /**\n * ... on/\n */ + * @param {string=} selector + * @return {!jQuery} + + * @param {string} attributeName + * @return {!jQuery} + + * @param {(string|function(number,string))=} arg1 + * @return {!jQuery} + + * @param {(string|Array)=} arg1 + * @return {!jQuery} + + * @param {Element} elem + * @param {string=} name + * @return {!jQuery} + + * @param {string} propertyName + * @return {!jQuery} + + * @param {(string|Element|jQuery|function())} arg1 + * @return {!jQuery} + + * @param {number=} value + * @return {(number|!jQuery)} + + * @return {Array>} + * @nosideeffects + + * @deprecated Please use the .length property instead. + * @return {number} + * @nosideeffects + + * @param {number} start + * @param {number=} end + * @return {!jQuery} + * @nosideeffects + + * @param {(Object|string|number)=} optionsOrDuration + * @param {(function()|string)=} completeOrEasing + * @param {function()=} complete + * @return {!jQuery} + + * @param {(boolean|string)=} arg1 + * @param {boolean=} arg2 + * @param {boolean=} jumpToEnd + * @return {!jQuery} + + * @type {!jQuerySupport} + * @deprecated Please try to use feature detection instead. + + * @param {(string|number|boolean|function(number,string))=} arg1 + * @return {(string|!jQuery)} + + * @return {Array} + * @nosideeffects + + * Refers to the method from the Effects category. There used to be a toggle + * method on the Events category which was removed starting version 1.9. + * @param {(number|string|Object|boolean)=} arg1 + * @param {(function()|string)=} arg2 + * @param {function()=} arg3 + * @return {!jQuery} + + * @param {(string|function(number,string,boolean))} arg1 + * @param {boolean=} flag + * @return {!jQuery} + + * @param {(string|jQuery.Event)} arg1 + * @param {...*} var_args + * @return {!jQuery} + + * @param {string|jQuery.Event} eventType + * @param {Array<*>=} extraParameters + * @return {*} + + * @param {string} str + * @return {string} + * @nosideeffects + + * @param {*} obj + * @return {string} + * @nosideeffects + + * @param {(string|function(!jQuery.Event)|jQuery.Event)=} arg1 + * @param {(function(!jQuery.Event)|boolean)=} arg2 + * @return {!jQuery} + * @deprecated Please use .off instead. + + * @param {string=} arg1 + * @param {(string|Object)=} arg2 + * @param {function(!jQuery.Event)=} handler + * @return {!jQuery} + * @deprecated Please use .off instead. + + * @param {Array} arr + * @return {Array} + * @deprecated Please use .uniqueSort instead. + + * @param {Array} arr + * @return {Array} + + * @param {jQuerySelector=} arg1 + * @return {!jQuery} + + * @param {(string|Array|function(number,*))=} arg1 + * @return {(string|number|Array|!jQuery)} + + * Note: The official documentation (https://api.jquery.com/jQuery.when/) says + * jQuery.when accepts deferreds, but it actually accepts any type, e.g.: + * + * jQuery.when(jQuery.ready, jQuery.ajax(''), jQuery('#my-element'), 1) + * + * If an argument is not an "observable" (a promise-like object) it is wrapped + * into a promise. + * @param {*} deferred + * @param {...*} deferreds + * @return {!jQuery.Promise} + + * @param {(jQuerySelector|function(number))} arg1 + * @return {!jQuery} + + * @param {jQuerySelector} wrappingElement + * @return {!jQuery} + jQuerySelectorjQueryCallbackjQueryAjaxSettingsacceptsbeforeSendconverterscrossDomaindataFilterdataTypeifModifiedisLocaljsonpjsonpCallbackmimeTypeprocessDatascriptCharsettraditionalxhrxhrFieldsjQueryAjaxSettingsExtraflatOptionsresponseFieldsjQueryAjaxTransportcompleteCallbackjQueryaddBackaddClassajaxsettingsajaxCompleteajaxErrorajaxPrefilterdataTypesajaxSendajaxSettingsajaxSetupajaxStartajaxStopajaxSuccessajaxTransportandSelfanimatepropertieseasingappendToattreventDataarg3CallbacksdisablefirefiredfireWithlockclearQueuequeueNameclonewithDataAndEventsdeepWithDataAndEventscontainedcssHookselemdeferredopt_fnDeferredalwaysalwaysCallbacksalwaysCallbacks2failCallbackdoneCallbacksdoneCallbacks2failfailCallbacksfailCallbacks2notifynotifyWithpipedoneFilterfailFilterprogressFilterprogressprogressCallbacksprogressCallbacks2promiserejectWithresolveWithdelegatedequeuedetacheachcollectionfnceqescapeSelectorspecialeventTypedelegateTargetisImmediatePropagationStoppednamespaceoffsetXoffsetYoriginalEventoriginalTargetstopImmediatePropagationfadeInfadeOutfadeTofadeTogglefxgetJSONgetScriptglobalEvalgrepinverthasClasshasDatahideholdReadyholdhoverhandlerOuthtmlPrefilterinArrayinsertAfterisEmptyObjectisFunctionisNumericisPlainObjectisWindowisXMLDocjqueryjqXHRonreadystatechangedoneCallbackprogressCallbackmakeArraymergenextAllnextUntilnoConflictremoveAllnoopoffsetParentoneouterHeightincludeMarginouterWidthparentsparentsUntilparseHTMLkeepScriptsparseJSONparseXMLprependprependToprevAllprevUntilproxypushStackelementsreadyExceptionremoveAttrattributeNameremoveClassremoveDataremovePropreplaceAllreplaceWithserializeserializeArraysiblingsslideDownoptionsOrDurationcompleteOrEasingslideToggleslideUpstopjumpToEndjQuerySupportboxModelchangeBubbleshrefNormalizedhtmlSerializeleadingWhitespacenoCloneEventsubmitBubblessupporttoggleClassflagtriggertriggerHandlerextraParametersunbindundelegateuniqueuniqueSortunwrapwhendeferredswrapwrapAllwrappingElementwrapInnerExterns for jQuery 3.1 +* Note that some functions use different return types depending on the number +of parameters passed in. In these cases, you may need to annotate the type +of the result in your code, so the JSCompiler understands which type you're +expecting. For example: +var elt = /** @type {Element} * / (foo.get(0)); +*http://api.jquery.com/ +(Window|Document|Element|Array.|string|jQuery|NodeList)WindowDocumentElementArray.NodeList(Object.|undefined)Object.(?boolean|undefined)?boolean(function (jQuery.jqXHR, (jQueryAjaxSettings|Object.))|undefined)function (jQuery.jqXHR, (jQueryAjaxSettings|Object.))jQuery.jqXHR(jQueryAjaxSettings|Object.)Object.(function (jQuery.jqXHR, string)|undefined)function (jQuery.jqXHR, string)(Object.|undefined)Object.(?string|boolean|undefined)(Object.|undefined)Object.(function (string, string): ?|undefined)function (string, string): ?(?string|undefined)(function (jQuery.jqXHR, string, string)|undefined)function (jQuery.jqXHR, string, string)(?string|function ()|undefined)function ()(Object.|undefined)Object.(function (?, string, jQuery.jqXHR)|undefined)function (?, string, jQuery.jqXHR)(?number|undefined)?number(function (): (ActiveXObject|XMLHttpRequest)|undefined)function (): (ActiveXObject|XMLHttpRequest)(ActiveXObject|XMLHttpRequest)Object.!IObject.IObject.function (number, string, !IObject.=, string=): undefined!IObject.=(jQuerySelector|Object|function ())=(jQuerySelector|Object|function ())(Element|jQuery|Document|Object.)=(Element|jQuery|Document|Object.)Object.(string|function (!jQuery.Event))function (!jQuery.Event)!jQuery.EventjQuery.Eventon invalid selector +!jQueryElement=jQuerySelector=(string|function (number, String))function (number, String)(string|Element|Array.|jQuery|function (this: Element, number, string): (string|!Element|!jQuery))function (this: Element, number, string): (string|!Element|!jQuery)(string|!Element|!jQuery)!Element...(string|Element|Array.|jQuery)(string|Element|Array.|jQuery)(string|jQueryAjaxSettings|Object.)(jQueryAjaxSettings|Object.)=!jQuery.jqXHRfunction (!jQuery.Event, XMLHttpRequest, (jQueryAjaxSettings|Object.))function (!jQuery.Event, jQuery.jqXHR, (jQueryAjaxSettings|Object.), *)(string|function ((jQueryAjaxSettings|Object.), (jQueryAjaxSettings|Object.), jQuery.jqXHR))function ((jQueryAjaxSettings|Object.), (jQueryAjaxSettings|Object.), jQuery.jqXHR)function ((jQueryAjaxSettings|Object.), (jQueryAjaxSettings|Object.), jQuery.jqXHR)=function (!jQuery.Event, jQuery.jqXHR, (jQueryAjaxSettings|Object.))(jQueryAjaxSettingsExtra|Object.)function (!jQuery.Event, XMLHttpRequest, (jQueryAjaxSettings|Object.), ?)function (!jQueryAjaxSettingsExtra, !jQueryAjaxSettings, !jQuery.jqXHR): (!jQueryAjaxTransport|undefined)!jQueryAjaxSettingsExtra!jQueryAjaxSettings(!jQueryAjaxTransport|undefined)!jQueryAjaxTransportPlease use .addBack(selector) instead. +(string|number|function ()|Object.)=(string|number|function ()|Object.)(string|function ())=(string|function ())function ()=(string|Element|Array.|jQuery|function (number, string))function (number, string)(string|Object.)(string|number|boolean|function (number, string))=(string|number|boolean|function (number, string))(string|!jQuery)(string|Element|Array.|jQuery|function (this: Element, number, string=): (string|!Element|!jQuery))function (this: Element, number, string=): (string|!Element|!jQuery)(string|Object.)Object.(Object.|function (!jQuery.Event)|boolean)=(Object.|function (!jQuery.Event)|boolean)(function (!jQuery.Event)|boolean)=(function (!jQuery.Event)|boolean)Please use .on instead.(function (!jQuery.Event)|Object.)=(function (!jQuery.Event)|Object.)function (!jQuery.Event)=private@private!jQuery.callbacksjQuery.callbacks(function ()|Array.)Array.{checkTypes} see https://code.google.com/p/closure-compiler/issues/detail?id=583(string|number|function (number, *))=(string|number|function (number, *))function (number, *)(string|Object.)=jQuery.Promisehttp://api.jquery.com/category/deferred-object/jQuery.deferred!jQuery.DeferredjQuery.Deferred...jQueryCallback!jQuery.deferred!jQuery.PromisePlease use deferred.then() instead. +Array.<*>=Array.<*>function ((number|string), ?)function (number, Element)Object.(Object|boolean)(string|number|function ())=(string|number|function ())(function ()|string)=(function ()|string)(string|number)(jQuerySelector|function (number, Element))http://api.jquery.com/filter/http://docs.jquery.com/Plugins/Authoring(Object.|string|function (string, string, jQuery.jqXHR))=(Object.|string|function (string, string, jQuery.jqXHR))function (string, string, jQuery.jqXHR)(function (string, string, jQuery.jqXHR)|string|null)=(function (string, string, jQuery.jqXHR)|string|null)(Element|Array.)(Object.|function (Object., string, jQuery.jqXHR))=(Object.|function (Object., string, jQuery.jqXHR))function (Object., string, jQuery.jqXHR)function (Object., string, jQuery.jqXHR)=http://api.jquery.com/jquery.getjson/#jQuery-getJSON-url-data-successfunction (Node, string, jQuery.jqXHR)=function (Node, string, jQuery.jqXHR)function (*, number)(string|Element)(string|number|function (number, number))=(string|number|function (number, number))function (number, number)(number|undefined|!jQuery)(string|function (number, string))=(string|function (number, string))(number|string|function (number, number): (number|string))=(number|string|function (number, number): (number|string))function (number, number): (number|string)(number|undefined|jQuery)(jQuerySelector|function (number, Element): boolean)function (number, Element): booleanPlease use Array.isArray(obj) instead.http://api.jquery.com/jQuery.ajax/#jqXHR{checkTypes} to avoid warning about XMLHttpRequest abort method missmatch(Array.|Object.)Object.(function (T, number)|function (T, (string|number)))function (T, number)function (T, (string|number))(jQuerySelector|function (this: Element, number, Element=): boolean)function (this: Element, number, Element=): boolean(string|function (!jQuery.Event))=({left: number, top: number}|function (number, {top: number, left: number}))=({left: number, top: number}|function (number, {top: number, left: number})){left: number, top: number}function (number, {top: number, left: number}){top: number, left: number}({left: number, top: number}|undefined|!jQuery)or data or handler +or handler +(boolean|number|string|function (number, number): (number|string))=(boolean|number|string|function (number, number): (number|string))(Object.|Array.>)Array.>(Element|boolean)=(Element|boolean)Please use JSON.parse() instead.(string|Element|jQuery|function (number, string))(string|Element|jQuery)=(string|Element|jQuery)(string|Object)=(string|Object)http://api.jquery.com/Types/#Promise(string|number|boolean|function (number, String))=(string|number|boolean|function (number, String))(string|boolean|!jQuery)(string|Array.|function (function ()))=(string|Array.|function (function ()))function (function ())(Array.|function (function ()))=(Array.|function (function ()))(Array.|!jQuery)(Array.|function ())=(Array.|function ())Please use the $(handler) instead.Handles errors thrown synchronously in functions wrapped in jQuery().since@since3.1 +https://api.jquery.com/jQuery.readyException/(string|Element|jQuery|function ())(number|!jQuery)Please use the .length property instead. +(Object.|string|number)=(Object.|string|number)(boolean|string)=(boolean|string)!jQuerySupportPlease try to use feature detection instead.Refers to the method from the Effects category. There used to be a toggle +method on the Events category which was removed starting version 1.9.(number|string|Object.|boolean)=(number|string|Object.|boolean)(string|function (number, string, boolean))function (number, string, boolean)(string|jQuery.Event)(string|function (!jQuery.Event)|jQuery.Event)=(string|function (!jQuery.Event)|jQuery.Event)Please use .off instead.Please use .uniqueSort instead.(string|Array.|function (number, *))=(string|Array.|function (number, *))(string|number|Array.|!jQuery)Note: The official documentation (https://api.jquery.com/jQuery.when/) says +jQuery.when accepts deferreds, but it actually accepts any type, e.g.: + +jQuery.when(jQuery.ready, jQuery.ajax(''), jQuery('#my-element'), 1) + +If an argument is not an "observable" (a promise-like object) it is wrapped +into a promise.(jQuerySelector|function (number))function (number)var jQuerySelector;var jQueryCallback;functio ... gs() {}jQueryA ... ccepts;jQueryA ... acceptsjQueryA ... ototypejQueryA ... .async;jQueryA ... e.asyncjQueryA ... reSend;jQueryA ... oreSendjQueryA ... .cache;jQueryA ... e.cachejQueryA ... mplete;jQueryA ... ompletejQueryA ... ntents;jQueryA ... ontentsjQueryA ... ntType;jQueryA ... entTypejQueryA ... ontext;jQueryA ... contextjQueryA ... erters;jQueryA ... vertersjQueryA ... Domain;jQueryA ... sDomainjQueryA ... e.data;jQueryA ... pe.datajQueryA ... Filter;jQueryA ... aFilterjQueryA ... taType;jQueryA ... ataTypejQueryA ... .error;jQueryA ... e.errorjQueryA ... global;jQueryA ... .globaljQueryA ... eaders;jQueryA ... headersjQueryA ... dified;jQueryA ... odifiedjQueryA ... sLocal;jQueryA ... isLocaljQueryA ... .jsonp;jQueryA ... e.jsonpjQueryA ... llback;jQueryA ... allbackjQueryA ... meType;jQueryA ... imeTypejQueryA ... ssword;jQueryA ... asswordjQueryA ... ssData;jQueryA ... essDatajQueryA ... harset;jQueryA ... CharsetjQueryA ... usCode;jQueryA ... tusCodejQueryA ... uccess;jQueryA ... successjQueryA ... imeout;jQueryA ... timeoutjQueryA ... tional;jQueryA ... itionaljQueryA ... e.type;jQueryA ... pe.typejQueryA ... pe.url;jQueryA ... ype.urljQueryA ... ername;jQueryA ... sernamejQueryA ... pe.xhr;jQueryA ... ype.xhrjQueryA ... Fields;jQueryA ... rFieldsfunctio ... ra() {}jQueryA ... gsExtrajQueryA ... ptions;jQueryA ... OptionsjQueryA ... eFieldsfunctio ... ort(){}jQueryA ... n() {};jQueryA ... on() {}jQueryA ... t.abortjQueryA ... ck) {};jQueryA ... ack) {}jQueryA ... rt.sendfunctio ... ack) {}var $ = jQuery;$ = jQueryjQuery. ... xt) {};jQuery. ... ext) {}jQuery.prototype.addjQuery.prototypejQuery. ... g1) {};jQuery. ... rg1) {}jQuery. ... addBackfunction(arg1) {}jQuery. ... ddClassjQuery. ... nt) {};jQuery. ... ent) {}jQuery. ... e.afterfunctio ... ent) {}jQuery. ... gs) {};jQuery. ... ngs) {}jQuery.ajaxfunctio ... ngs) {}jQuery. ... er) {};jQuery. ... ler) {}jQuery. ... ompletefunction(handler) {}jQuery. ... axErrorjQuery.ajaxPrefilterjQuery. ... jaxSendjQuery.ajaxSettings;jQuery.ajaxSettingsjQuery. ... ns) {};jQuery. ... ons) {}jQuery.ajaxSetupfunction(options) {}jQuery. ... axStartjQuery. ... jaxStopjQuery. ... SuccessjQuery.ajaxTransportjQuery. ... n() {};jQuery. ... on() {}jQuery. ... andSelfjQuery. ... te) {};jQuery. ... ete) {}jQuery. ... animatefunctio ... ete) {}jQuery. ... .appendjQuery. ... et) {};jQuery. ... get) {}jQuery. ... ppendTojQuery. ... g2) {};jQuery. ... rg2) {}jQuery. ... pe.attrjQuery. ... .beforejQuery. ... g3) {};jQuery. ... rg3) {}jQuery. ... pe.bindfunctio ... rg3) {}jQuery. ... pe.blurjQuery. ... () {};jQuery. ... n () {}function () {}jQuery. ... ags) {}jQuery.Callbacksfunction (flags) {}jQuery. ... ks) {};jQuery. ... cks) {}jQuery. ... ype.addjQuery. ... ototypefunctio ... cks) {}jQuery. ... disablejQuery. ... isabledjQuery. ... e.emptyjQuery. ... rgs) {}jQuery. ... pe.firejQuery. ... e.firedjQuery. ... ireWithjQuery. ... ck) {};jQuery. ... ack) {}jQuery. ... ype.hasjQuery. ... pe.lockjQuery. ... .lockedjQuery. ... .removejQuery. ... .changejQuery. ... or) {};jQuery. ... tor) {}jQuery. ... hildrenjQuery. ... me) {};jQuery. ... ame) {}jQuery. ... arQueuejQuery. ... e.clickjQuery. ... ts) {};jQuery. ... nts) {}jQuery. ... e.clonefunctio ... nts) {}deepWit ... dEventsjQuery. ... closestjQuery. ... ed) {};jQuery. ... ned) {}jQuery.containsfunctio ... ned) {}jQuery. ... ontentsjQuery.prototype.cssjQuery.cssHooks;jQuery.cssHooksjQuery. ... ue) {};jQuery. ... lue) {}jQuery.datajQuery. ... pe.datajQuery. ... blclickjQuery. ... fn) {};jQuery. ... _fn) {}function(opt_fn) {}jQuery. ... s2) {};jQuery. ... ks2) {}jQuery. ... .alwaysfunctio ... ks2) {}jQuery. ... e.catchjQuery. ... pe.donejQuery. ... pe.failjQuery. ... .notifyjQuery. ... ifyWithjQuery. ... ter) {}jQuery. ... pe.pipefunctio ... ter) {}jQuery. ... rogressjQuery. ... promisejQuery. ... .rejectjQuery. ... ectWithjQuery. ... resolvejQuery. ... lveWithjQuery. ... e.statejQuery. ... pe.thenjQuery. ... e.delayjQuery. ... elegatejQuery.dequeuejQuery. ... dequeuejQuery. ... .detachjQuery.eachjQuery. ... nc) {};jQuery. ... fnc) {}jQuery. ... pe.eachfunction(fnc) {}jQuery.prototype.endjQuery.prototype.eqjQuery. ... ge) {};jQuery. ... age) {}jQuery.errorfunction(message) {}jQuery. ... electorjQuery.event = {};jQuery.event = {}jQuery.eventjQuery. ... pecial;jQuery.event.specialjQuery. ... es) {};jQuery. ... ies) {}jQuery. ... altKey;jQuery. ... .altKeyjQuery. ... ubbles;jQuery. ... bubblesjQuery. ... button;jQuery. ... .buttonjQuery. ... uttons;jQuery. ... buttonsjQuery. ... elable;jQuery. ... celablejQuery. ... arCode;jQuery. ... harCodejQuery. ... lientX;jQuery. ... clientXjQuery. ... lientY;jQuery. ... clientYjQuery. ... trlKey;jQuery. ... ctrlKeyjQuery. ... Target;jQuery. ... tTargetjQuery. ... e.data;jQuery. ... eTargetjQuery. ... detail;jQuery. ... .detailjQuery. ... tPhase;jQuery. ... ntPhasejQuery. ... eventedjQuery. ... StoppedisImmed ... StoppedjQuery. ... eyCode;jQuery. ... keyCodejQuery. ... etaKey;jQuery. ... metaKeyjQuery. ... espace;jQuery. ... mespacejQuery. ... ffsetX;jQuery. ... offsetXjQuery. ... ffsetY;jQuery. ... offsetYjQuery. ... lEvent;jQuery. ... alEventjQuery. ... lTargetjQuery. ... .pageX;jQuery. ... e.pageXjQuery. ... .pageY;jQuery. ... e.pageYjQuery. ... DefaultjQuery. ... .props;jQuery. ... e.propsjQuery. ... dTargetjQuery. ... result;jQuery. ... .resultjQuery. ... creenX;jQuery. ... screenXjQuery. ... creenY;jQuery. ... screenYjQuery. ... iftKey;jQuery. ... hiftKeyjQuery. ... agationstopImm ... agationjQuery. ... target;jQuery. ... .targetjQuery. ... eStamp;jQuery. ... meStampjQuery. ... lement;jQuery. ... ElementjQuery. ... e.type;jQuery. ... pe.typejQuery. ... e.view;jQuery. ... pe.viewjQuery. ... .which;jQuery. ... e.whichjQuery.extendjQuery. ... .extendjQuery. ... .fadeInjQuery. ... fadeOutjQuery. ... .fadeTojQuery. ... eTogglejQuery. ... .filterjQuery. ... pe.findjQuery. ... e.firstjQuery. ... totype;jQuery.fnjQuery. ... e.focusjQuery. ... focusinjQuery. ... ocusoutjQuery.fx = {};jQuery.fx = {}jQuery.fxjQuery.fx.interval;jQuery.fx.intervaljQuery.fx.off;jQuery.fx.offjQuery. ... pe) {};jQuery. ... ype) {}jQuery.getfunctio ... ype) {}jQuery. ... ex) {};jQuery. ... dex) {}jQuery.prototype.getjQuery. ... ss) {};jQuery. ... ess) {}jQuery.getJSONfunctio ... ess) {}jQuery.getScriptjQuery. ... de) {};jQuery. ... ode) {}jQuery.globalEvalfunction(code) {}jQuery. ... rt) {};jQuery. ... ert) {}jQuery.grepfunctio ... ert) {}jQuery.prototype.hasjQuery. ... asClassjQuery. ... em) {};jQuery. ... lem) {}jQuery.hasDatafunction(elem) {}jQuery. ... .heightjQuery. ... pe.hidejQuery. ... ld) {};jQuery. ... old) {}jQuery.holdReadyfunction(hold) {}jQuery. ... ut) {};jQuery. ... Out) {}jQuery. ... e.hoverfunctio ... Out) {}jQuery. ... pe.htmljQuery. ... ml) {};jQuery. ... tml) {}jQuery.htmlPrefilterfunction(html) {}jQuery.inArrayjQuery. ... e.indexjQuery. ... rHeightjQuery. ... erWidthjQuery. ... rtAfterjQuery. ... tBeforejQuery.prototype.isjQuery. ... bj) {};jQuery. ... obj) {}jQuery.isArrayjQuery.isEmptyObjectjQuery.isFunctionjQuery.isNumericjQuery.isPlainObjectjQuery.isWindowjQuery.isXMLDocfunction(node) {}jQuery. ... jquery;jQuery. ... .jqueryjQuery. ... e.abortjQuery. ... echangejQuery. ... ap) {};jQuery. ... map) {}jQuery. ... tusCodefunction(map) {}jQuery. ... keydownjQuery. ... eypressjQuery. ... e.keyupjQuery. ... pe.lastjQuery. ... length;jQuery. ... .lengthjQuery.makeArrayjQuery.mapjQuery.prototype.mapjQuery. ... nd) {};jQuery. ... ond) {}jQuery.mergefunctio ... ond) {}jQuery. ... usedownjQuery. ... seenterjQuery. ... seleavejQuery. ... usemovejQuery. ... ouseoutjQuery. ... useoverjQuery. ... mouseupjQuery. ... pe.nextjQuery. ... nextAlljQuery. ... xtUntiljQuery. ... ll) {};jQuery. ... All) {}jQuery.noConflictfunctio ... All) {}jQuery.noopjQuery.prototype.notjQuery.nowjQuery.prototype.offjQuery. ... .offsetjQuery. ... tParentjQuery.prototype.onjQuery.prototype.onejQuery. ... in) {};jQuery. ... gin) {}functio ... gin) {}jQuery. ... al) {};jQuery. ... nal) {}jQuery.paramfunctio ... nal) {}jQuery. ... .parentjQuery. ... parentsjQuery. ... tsUntiljQuery. ... pts) {}jQuery.parseHTMLfunctio ... pts) {}jQuery. ... on) {};jQuery. ... son) {}jQuery.parseJSONfunction(json) {}jQuery. ... ta) {};jQuery. ... ata) {}jQuery.parseXMLfunction(data) {}jQuery. ... ositionjQuery.postjQuery. ... prependjQuery. ... ependTojQuery. ... pe.prevjQuery. ... prevAlljQuery. ... evUntiljQuery. ... pe.propjQuery.proxyjQuery. ... shStackjQuery. ... e.queuejQuery.queuejQuery. ... e.readyjQuery. ... ceptionjQuery. ... oveAttrjQuery. ... veClassjQuery. ... oveDatajQuery.removeDatajQuery. ... ovePropjQuery. ... laceAlljQuery. ... aceWithjQuery. ... .resizejQuery. ... .scrolljQuery. ... ollLeftjQuery. ... rollTopjQuery. ... .selectjQuery. ... rializejQuery. ... zeArrayjQuery. ... pe.showjQuery. ... iblingsjQuery. ... pe.sizejQuery. ... end) {}jQuery. ... e.slicejQuery. ... ideDownjQuery. ... slideUpjQuery. ... End) {}jQuery. ... pe.stopfunctio ... End) {}jQuery. ... .submitfunctio ... rt() {}jQueryS ... xModel;jQueryS ... oxModeljQueryS ... ototypejQueryS ... ubbles;jQueryS ... BubblesjQueryS ... e.cors;jQueryS ... pe.corsjQueryS ... sFloat;jQueryS ... ssFloatjQueryS ... alized;jQueryS ... malizedjQueryS ... ialize;jQueryS ... rializejQueryS ... espace;jQueryS ... tespacejQueryS ... eEvent;jQueryS ... neEventjQueryS ... pacity;jQueryS ... opacityjQueryS ... .style;jQueryS ... e.stylejQueryS ... .tbody;jQueryS ... e.tbodyjQuery.support;jQuery.supportjQuery. ... pe.textjQuery. ... toArrayjQuery. ... .togglejQuery. ... ag) {};jQuery. ... lag) {}jQuery. ... leClassfunctio ... lag) {}jQuery. ... triggerjQuery. ... rs) {};jQuery. ... ers) {}jQuery. ... Handlerfunctio ... ers) {}jQuery. ... tr) {};jQuery. ... str) {}jQuery.trimjQuery.typejQuery. ... .unbindjQuery. ... rr) {};jQuery. ... arr) {}jQuery.uniquejQuery.uniqueSortjQuery. ... .unwrapjQuery.prototype.valjQuery. ... ds) {};jQuery. ... eds) {}jQuery.whenfunctio ... eds) {}jQuery. ... e.widthjQuery. ... pe.wrapjQuery. ... wrapAlljQuery. ... apInner/opt/codeql/javascript/tools/data/externs/lib/should.js + * Copyright 2015 Semmle Ltd. + + * @fileoverview A (highly incomplete) model of the should.js library. + * @externs + * @see http://shouldjs.github.io/ + /**\n * ... io/\n */ + * @param {*} obj + * @returns {should.Assertion} + + * @constructor + shouldAssertionanyandhavetheTrueFalsewithinapproximatelyabovebelowgreaterThanlessThaneqlequalexactlyinstanceOfNullClassUndefinedstartWithendWithpropertyWithDescriptorenumerableslengthOfownPropertypropertyByPaththrowErrormatchEachmatchAnymatchSomematchEverycontainEqlcontainDeepOrderedcontainDeepAssertionError'should'A (highly incomplete) model of the should.js library. +http://shouldjs.github.io/should.Assertionshould. ... n() {};should. ... on() {}should. ... ) {}\n};should. ... () {}\n}should. ... ototype{\n ass ... () {}\n}assert: ... on() {}fail: function() {}get not() {}() {}get any() {}get an() {}get of() {}get a() {}get and() {}get be() {}get has() {}get have() {}get with() {}get is() {}get which() {}get the() {}get it() {}true: function() {}True: function() {}false: function() {}False: function() {}ok: function() {}NaN: function() {}Infinit ... on() {}within: ... on() {}approxi ... on() {}above: function() {}below: function() {}greater ... on() {}lessTha ... on() {}eql: function() {}equal: function() {}exactly ... on() {}Number: ... on() {}argumen ... on() {}Argumen ... on() {}type: function() {}instanc ... on() {}Object: ... on() {}String: ... on() {}Array: function() {}Error: function() {}null: function() {}Null: function() {}class: function() {}Class: function() {}undefin ... on() {}Undefin ... on() {}iterabl ... on() {}iterato ... on() {}generat ... on() {}startWi ... on() {}endWith ... on() {}propert ... on() {}propert ... criptorenumera ... on() {}length: ... on() {}lengthO ... on() {}ownProp ... on() {}hasOwnP ... on() {}empty: function() {}keys: function() {}key: function() {}throw: function() {}throwEr ... on() {}match: function() {}matchEa ... on() {}matchAn ... on() {}matchSo ... on() {}matchEv ... on() {}contain ... on() {}should. ... onErrorObject. ... rue\n});Object. ... true\n}){\n get ... true\n}get: fu ... his); }functio ... his); }{ retur ... his); }return ... this);should( ... | this)this.va ... || thisthis.valueOf()this.valueOfenumerable: falseconfigurable: true/opt/codeql/javascript/tools/data/externs/lib/vows.js + * Copyright 2016 Semmle Ltd. + + * @fileoverview An incomplete model of the Vows library. + * @externs + * @see vowsjs.org/#reference + /**\n * ... nce\n */ + * @param {number} eps + * @param {number} actual + * @param {number} expected + * @param {string=} message + * @return {void} + + * @param {string} actual + * @param {RegExp} expected + * @param {string=} message + * @return {void} + + * @param {*} actual + * @param {string=} message + * @return {void} + + * @param {number} actual + * @param {number} expected + * @param {string=} message + * @return {void} + + * @param {number} actual + * @param {number} expected + * @param {number} delta + * @param {string=} message + * @return {void} + + * @param {Array.<*>|Object|string} actual + * @param {*} expected + * @param {string=} message + * @return {void} + + * @param {Array.<*>|Object|Function|string} actual + * @param {string=} message + * @return {void} + + * @param {Array.<*>|Object|Function|string} actual + * @param {number} expected + * @param {string=} message + * @return {void} + + * @param {*} actual + * @param {string} expected + * @param {string=} message + * @return {void} + + * @param {*} actual + * @param {Object} expected + * @param {string=} message + * @return {void} + + * @type {Object} + + * @param {*} val + * @return {string} + + * @param {Object} obj + * @param {Array.} targets + * @return {Object} + + * @param {Object} batch + * @return {void} + + * @type {Array.} + + * @param {Object} subject + * @param {...*} args + * @return {Object} + + * @type {string} + 'assert'epsilonepsisTrueisFalseisZeroisNotZerogreaterlesserinDeltadeltanotIncludenotIncludesdeepIncludedeepIncludesisEmptyisNotEmptyisObjectisNumberisBooleanisNullisNotNullisUndefinedisDefinedisStringtypeOfinspectpreparetryEndbatchsuitesAn incomplete model of the Vows library. +vowsjs.org/#reference(Array.<*>|Object|string)(Array.<*>|Object|Function|string)Array.var ass ... sert');assert ... ssert')require('assert')functio ... age) {}assert. ... psilon;assert. ... epsilonassert.epsilonassert. ... match;assert.match = matchassert.matchassert. ... = matchassert.matchesassert. ... isTrue;assert. ... isTrueassert.isTrueassert. ... sFalse;assert. ... isFalseassert.isFalseassert. ... isZero;assert. ... isZeroassert.isZeroassert. ... otZero;assert. ... NotZeroassert.isNotZeroassert. ... reater;assert. ... greaterassert.greaterassert. ... lesser;assert. ... lesserassert.lesserassert. ... nDelta;assert. ... inDeltaassert.inDeltaassert. ... nclude;assert. ... includeassert.includeassert.includesassert. ... Includeassert.notIncludeassert.notIncludesassert.deepIncludeassert.deepIncludesassert. ... sEmpty;assert. ... isEmptyassert.isEmptyassert. ... tEmpty;assert. ... otEmptyassert.isNotEmptyassert. ... ngthOf;assert. ... engthOfassert.lengthOfassert. ... sArray;assert. ... isArrayassert.isArrayassert. ... Object;assert. ... sObjectassert.isObjectassert. ... Number;assert. ... sNumberassert.isNumberassert. ... oolean;assert. ... Booleanassert.isBooleanassert. ... isNaN;assert.isNaN = isNaNassert.isNaNassert. ... isNull;assert. ... isNullassert.isNullassert. ... otNull;assert. ... NotNullassert.isNotNullassert. ... efined;assert. ... definedassert.isUndefinedassert. ... Definedassert.isDefinedassert. ... String;assert. ... sStringassert.isStringassert. ... nction;assert. ... unctionassert.isFunctionassert. ... typeOf;assert. ... typeOfassert.typeOfassert. ... anceOf;assert. ... tanceOfassert.instanceOfexports.options;exports.optionsexports.reporter;exports.reporterexports.console;exports.consoleexports ... al) {};exports ... val) {}exports.inspectfunction (val) {}exports ... ts) {};exports ... ets) {}exports.preparefunctio ... ets) {}exports ... ch) {};exports ... tch) {}exports.tryEndfunction (batch) {}exports.suites;exports.suitesexports ... gs) {};exports ... rgs) {}exports.describeexports.version;exports.version/opt/codeql/javascript/tools/data/externs/nodejs/assert.js/opt/codeql/javascript/tools/data/externs/nodejs Automatically generated from TypeScript type definitions provided by// Auto ... ided by DefinitelyTyped (https://github.com/DefinitelyTyped/DefinitelyTyped),// Defi ... Typed), which is licensed under the MIT license; see file DefinitelyTyped-LICENSE// whic ... LICENSE in parent directory.// in p ... ectory. Type definitions for Node.js 10.5.x// Type ... 10.5.x Project: http://nodejs.org/// Proj ... js.org/ Definitions by: Microsoft TypeScript // Defi ... ng.org> DefinitelyTyped // ... yTyped> Parambir Singh // ... ambirs> Christian Vaagland Tellnes // ... ellnes> Wilco Bakker // ... Bakker> Nicolas Voigt // ... niffle> Chigozirim C. // ... smac89> Flarna // ... Flarna> Mariusz Wiktorczyk // ... orczyk> wwwy3y3 // ... wwy3y3> Deividas Bakanas // ... akanas> Kelvin Jin // ... m/kjin> Alvis HT Tang // ... /alvis> Sebastian Silbermann // ... ps1lon> Hannes Magnusson // ... son-CK> Alberto Schiabel // ... komyno> Klaus Meinhardt // ... ajafff> Huw // ... /hoo29> Nicolas Even // ... om/n-e> Bruno Scheufler // ... eufler> Mohsen Azimi // ... ohsen1> Hoàng Văn Khải // ... GitHub> Alexander T. // ... rasyuk> Lishude // ... ishude> Andrew Makarov // ... /r3nya> Zane Hannan AU // ... nnanAU> Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped// Defi ... lyTyped + * @externs + * @fileoverview Definitions for module "assert" + /**\n * ... rt"\n */ + * @param {*} value + * @param {string=} message + * @return {void} + + * @param {{message: string, actual: *, expected: *, operator: string, stackStartFunction: Function}=} options + * @return {internal.AssertionError} + * @constructor + + * @type {*} + /**\n * @type {*}\n */ + * @type {boolean} + + * @param {*} actual + * @param {*} expected + * @param {string} message + * @param {string} operator + * @return {void} + + * @param {*} actual + * @param {*} expected + * @param {string=} message + * @return {void} + + * @param {*} acutal + * @param {*} expected + * @param {string=} message + * @return {void} + + * @type {(function(Function, string=): void)|(function(Function, Function, string=): void)|(function(Function, RegExp, string=): void)|(function(Function, (function(*): boolean), string=): void)} + /**\n * ... d)}\n */ + * @param {*} value + * @return {void} + internaloperatorgeneratedMessagenotEqualdeepEqualnotDeepEqualacutalstrictEqualnotStrictEqualdeepStrictEqualnotDeepStrictEqualdoesNotThrowifErrorDefinitions for module "assert"{message: string, actual: *, expected: *, operator: string, stackStartFunction: Function}={message: string, actual: *, expected: *, operator: string, stackStartFunction: Function}stackStartFunctioninternal.AssertionError((function (Function, string=): void)|(function (Function, Function, string=): void)|(function (Function, RegExp, string=): void)|(function (Function, (function (*): boolean), string=): void))(function (Function, string=): void)function (Function, string=): void(function (Function, Function, string=): void)function (Function, Function, string=): void(function (Function, RegExp, string=): void)function (Function, RegExp, string=): void(function (Function, (function (*): boolean), string=): void)function (Function, (function (*): boolean), string=): void(function (*): boolean)function (*): booleanvar int ... ge) {};interna ... age) {}var int ... || {};interna ... l || {}internal || {}interna ... ns) {};interna ... ons) {}interna ... onErrorinterna ... e.name;interna ... pe.nameinterna ... ototypeinterna ... essage;interna ... messageinterna ... actual;interna ... .actualinterna ... pected;interna ... xpectedinterna ... erator;interna ... peratorinterna ... Messageinterna ... or) {};interna ... tor) {}internal.failinterna ... ge) {};internal.okinternal.equalinternal.notEqualinternal.deepEqualinterna ... epEqualinternal.strictEqualinterna ... ctEqualinternal.throws;internal.throwsinterna ... tThrow;interna ... otThrowinterna ... ue) {};interna ... lue) {}internal.ifErrormodule. ... ternal;module. ... nternal/opt/codeql/javascript/tools/data/externs/nodejs/assert_legacy.js + * @fileoverview An extension of the node's assert module declaring legacy members + * @externs + An extension of the node's assert module declaring legacy members +assert.eql = eql;assert.eql = eqlassert.eql/opt/codeql/javascript/tools/data/externs/nodejs/buffer.js + * @externs + * @fileoverview Definitions for module "buffer" + /**\n * ... er"\n */ + * @type {number} + + * @param {string} str + * @param {string=} encoding + * @return {Buffer} + * @constructor + + * @param {number} size + * @return {Buffer} + * @constructor + + * @param {Uint8Array} array + * @return {Buffer} + * @constructor + + * @param {ArrayBuffer} arrayBuffer + * @return {Buffer} + * @constructor + + * @param {Array<*>} array + * @return {Buffer} + * @constructor + + * @param {Buffer} buffer + * @return {Buffer} + * @constructor + + * @type {Buffer} + + * @type {(function(Array<*>): Buffer)|(function(ArrayBuffer, number=, number=): Buffer)|(function(Buffer): Buffer)|(function(string, string=): Buffer)} + /**\n * ... r)}\n */ + * @type {(function(*): boolean)} + /**\n * ... n)}\n */ + * @type {(function(string): boolean)} + + * @type {(function(string, string=): number)} + + * @type {(function(Array, number=): Buffer)} + + * @type {(function(Buffer, Buffer): number)} + + * @type {(function(number, (string|Buffer|number)=, string=): Buffer)} + + * @type {(function(number): Buffer)} + + * @param {Uint8Array} size + * @return {Buffer} + * @constructor + INSPECT_MAX_BYTESBuffTypeisBufferisEncodingallocUnsafeallocUnsafeSlowSlowBuffTypeSlowBufferDefinitions for module "buffer"((function (Array.<*>): Buffer)|(function (ArrayBuffer, number=, number=): Buffer)|(function (Buffer): Buffer)|(function (string, string=): Buffer))(function (Array.<*>): Buffer)function (Array.<*>): Buffer(function (ArrayBuffer, number=, number=): Buffer)function (ArrayBuffer, number=, number=): Buffer(function (Buffer): Buffer)function (Buffer): Buffer(function (string, string=): Buffer)function (string, string=): Buffer(function (string): boolean)function (string): boolean(function (string, string=): number)function (string, string=): number(function (Array., number=): Buffer)function (Array., number=): BufferArray.(function (Buffer, Buffer): number)function (Buffer, Buffer): number(function (number, (string|Buffer|number)=, string=): Buffer)function (number, (string|Buffer|number)=, string=): Buffer(string|Buffer|number)=(string|Buffer|number)(function (number): Buffer)function (number): Buffervar buffer = {};buffer = {}buffer. ... _BYTES;buffer. ... X_BYTESvar Buf ... ng) {};BuffTyp ... ing) {}var Buf ... ze) {};BuffTyp ... ize) {}var Buf ... ay) {};BuffTyp ... ray) {}function(array) {}var Buf ... er) {};BuffTyp ... fer) {}functio ... fer) {}function(buffer) {}BuffType.prototype;BuffType.prototypeBuffType.from;BuffType.fromBuffType.isBuffer;BuffType.isBufferBuffType.isEncoding;BuffType.isEncodingBuffType.byteLength;BuffType.byteLengthBuffType.concat;BuffType.concatBuffType.compare;BuffType.compareBuffType.alloc;BuffType.allocBuffTyp ... Unsafe;BuffType.allocUnsafeBuffTyp ... feSlow;BuffTyp ... afeSlowvar Slo ... ng) {};SlowBuf ... ing) {}var Slo ... ze) {};SlowBuf ... ize) {}var Slo ... ay) {};SlowBuf ... ray) {}SlowBuf ... totype;SlowBuf ... ototypeSlowBuf ... Buffer;SlowBuf ... sBufferSlowBuf ... Length;SlowBuf ... eLengthSlowBuffType.concat;SlowBuffType.concatmodule. ... ffType;module. ... uffTypemodule. ... .Buffermodule. ... wBuffermodule. ... _BYTES;module. ... X_BYTES/opt/codeql/javascript/tools/data/externs/nodejs/child_process.js + * @externs + * @fileoverview Definitions for module "child_process" + /**\n * ... ss"\n */ + * @interface + * @extends {events.EventEmitter} + + * @type {internal.Writable} + + * @type {internal.Readable} + + * @type {Array<*>} + + * @param {string=} signal + * @return {void} + + * @param {*} message + * @param {*=} sendHandle + * @return {boolean} + + * @interface + + * @type {(boolean|string)} + /**\n * ... g)}\n */ + * @param {string} command + * @param {Array=} args + * @param {child_process.SpawnOptions=} options + * @return {child_process.ChildProcess} + /**\n * ... ss}\n */ + * @interface + * @extends {child_process.ExecOptions} + /**\n * ... ns}\n */ + * @type {(string)} + + * @param {string} command + * @param {(function(Error, string, string): void)=} callback + * @return {child_process.ChildProcess} + + * @param {string} command + * @param {child_process.ExecOptionsWithStringEncoding} options + * @param {(function(Error, string, string): void)=} callback + * @return {child_process.ChildProcess} + + * @param {string} command + * @param {child_process.ExecOptionsWithBufferEncoding} options + * @param {(function(Error, Buffer, Buffer): void)=} callback + * @return {child_process.ChildProcess} + + * @param {string} command + * @param {child_process.ExecOptions} options + * @param {(function(Error, string, string): void)=} callback + * @return {child_process.ChildProcess} + + * @interface + * @extends {child_process.ExecFileOptions} + + * @param {string} file + * @param {(function(Error, string, string): void)=} callback + * @return {child_process.ChildProcess} + + * @param {string} file + * @param {child_process.ExecFileOptionsWithStringEncoding=} options + * @param {(function(Error, string, string): void)=} callback + * @return {child_process.ChildProcess} + + * @param {string} file + * @param {child_process.ExecFileOptionsWithBufferEncoding=} options + * @param {(function(Error, Buffer, Buffer): void)=} callback + * @return {child_process.ChildProcess} + + * @param {string} file + * @param {child_process.ExecFileOptions=} options + * @param {(function(Error, string, string): void)=} callback + * @return {child_process.ChildProcess} + + * @param {string} file + * @param {Array=} args + * @param {(function(Error, string, string): void)=} callback + * @return {child_process.ChildProcess} + + * @param {string} file + * @param {Array=} args + * @param {child_process.ExecFileOptionsWithStringEncoding=} options + * @param {(function(Error, string, string): void)=} callback + * @return {child_process.ChildProcess} + + * @param {string} file + * @param {Array=} args + * @param {child_process.ExecFileOptionsWithBufferEncoding=} options + * @param {(function(Error, Buffer, Buffer): void)=} callback + * @return {child_process.ChildProcess} + + * @param {string} file + * @param {Array=} args + * @param {child_process.ExecFileOptions=} options + * @param {(function(Error, string, string): void)=} callback + * @return {child_process.ChildProcess} + + * @type {Array} + + * @param {string} modulePath + * @param {Array=} args + * @param {child_process.ForkOptions=} options + * @return {child_process.ChildProcess} + + * @type {(string|Buffer)} + + * @interface + * @extends {child_process.SpawnSyncOptions} + + * @interface + * @template T + + * @type {T} + /**\n * @type {T}\n */ + * @type {Error} + + * @param {string} command + * @return {child_process.SpawnSyncReturns} + /**\n * ... r>}\n */ + * @param {string} command + * @param {child_process.SpawnSyncOptionsWithStringEncoding=} options + * @return {child_process.SpawnSyncReturns} + + * @param {string} command + * @param {child_process.SpawnSyncOptionsWithBufferEncoding=} options + * @return {child_process.SpawnSyncReturns} + + * @param {string} command + * @param {child_process.SpawnSyncOptions=} options + * @return {child_process.SpawnSyncReturns} + + * @param {string} command + * @param {Array=} args + * @param {child_process.SpawnSyncOptionsWithStringEncoding=} options + * @return {child_process.SpawnSyncReturns} + + * @param {string} command + * @param {Array=} args + * @param {child_process.SpawnSyncOptionsWithBufferEncoding=} options + * @return {child_process.SpawnSyncReturns} + + * @param {string} command + * @param {Array=} args + * @param {child_process.SpawnSyncOptions=} options + * @return {child_process.SpawnSyncReturns} + + * @interface + * @extends {child_process.ExecSyncOptions} + + * @param {string} command + * @return {Buffer} + + * @param {string} command + * @param {child_process.ExecSyncOptionsWithStringEncoding=} options + * @return {string} + + * @param {string} command + * @param {child_process.ExecSyncOptionsWithBufferEncoding=} options + * @return {Buffer} + + * @param {string} command + * @param {child_process.ExecSyncOptions=} options + * @return {Buffer} + + * @interface + * @extends {child_process.ExecFileSyncOptions} + + * @param {string} command + * @param {child_process.ExecFileSyncOptionsWithStringEncoding=} options + * @return {string} + + * @param {string} command + * @param {child_process.ExecFileSyncOptionsWithBufferEncoding=} options + * @return {Buffer} + + * @param {string} command + * @param {child_process.ExecFileSyncOptions=} options + * @return {Buffer} + + * @param {string} command + * @param {Array=} args + * @param {child_process.ExecFileSyncOptionsWithStringEncoding=} options + * @return {string} + + * @param {string} command + * @param {Array=} args + * @param {child_process.ExecFileSyncOptionsWithBufferEncoding=} options + * @return {Buffer} + + * @param {string} command + * @param {Array=} args + * @param {child_process.ExecFileSyncOptions=} options + * @return {Buffer} + "events"ChildProcessstdinsendHandleconnectedunrefSpawnOptionsuidgidExecOptionsmaxBufferkillSignalExecOptionsWithStringEncodingExecOptionsWithBufferEncodingExecFileOptionsExecFileOptionsWithStringEncodingExecFileOptionsWithBufferEncodingexecFileForkOptionsexecPathexecArgvsilentforkmodulePathSpawnSyncOptionsSpawnSyncOptionsWithStringEncodingSpawnSyncOptionsWithBufferEncodingSpawnSyncReturnsspawnSyncExecSyncOptionsExecSyncOptionsWithStringEncodingExecSyncOptionsWithBufferEncodingExecFileSyncOptionsExecFileSyncOptionsWithStringEncodingExecFileSyncOptionsWithBufferEncodingexecFileSyncDefinitions for module "child_process"events.EventEmitterEventEmitterinternal.WritableWritableinternal.ReadableReadableArray.=child_process.SpawnOptions=child_process.SpawnOptionschild_process.ChildProcesschild_process.ExecOptions(string)(function (Error, string, string): void)=(function (Error, string, string): void)function (Error, string, string): voidchild_process.ExecOptionsWithStringEncodingchild_process.ExecOptionsWithBufferEncoding(function (Error, Buffer, Buffer): void)=(function (Error, Buffer, Buffer): void)function (Error, Buffer, Buffer): voidchild_process.ExecFileOptionschild_process.ExecFileOptionsWithStringEncoding=child_process.ExecFileOptionsWithStringEncodingchild_process.ExecFileOptionsWithBufferEncoding=child_process.ExecFileOptionsWithBufferEncodingchild_process.ExecFileOptions=child_process.ForkOptions=child_process.ForkOptions(string|Buffer)child_process.SpawnSyncOptionschild_process.SpawnSyncReturns.child_process.SpawnSyncReturnschild_process.SpawnSyncOptionsWithStringEncoding=child_process.SpawnSyncOptionsWithStringEncodingchild_process.SpawnSyncReturns.child_process.SpawnSyncOptionsWithBufferEncoding=child_process.SpawnSyncOptionsWithBufferEncodingchild_process.SpawnSyncOptions=child_process.ExecSyncOptionschild_process.ExecSyncOptionsWithStringEncoding=child_process.ExecSyncOptionsWithStringEncodingchild_process.ExecSyncOptionsWithBufferEncoding=child_process.ExecSyncOptionsWithBufferEncodingchild_process.ExecSyncOptions=child_process.ExecFileSyncOptionschild_process.ExecFileSyncOptionsWithStringEncoding=child_process.ExecFileSyncOptionsWithStringEncodingchild_process.ExecFileSyncOptionsWithBufferEncoding=child_process.ExecFileSyncOptionsWithBufferEncodingchild_process.ExecFileSyncOptions=var chi ... s = {};child_process = {}var eve ... ents");events ... vents")require("events")child_p ... n() {};child_p ... on() {}child_p ... Processchild_p ... .stdin;child_p ... e.stdinchild_p ... ototypechild_p ... stdout;child_p ... .stdoutchild_p ... stderr;child_p ... .stderrchild_p ... .stdio;child_p ... e.stdiochild_p ... pe.pid;child_p ... ype.pidchild_p ... al) {};child_p ... nal) {}child_p ... pe.killfunction(signal) {}child_p ... le) {};child_p ... dle) {}child_p ... pe.sendfunctio ... dle) {}child_p ... nected;child_p ... nnectedchild_p ... connectchild_p ... e.unrefchild_p ... ype.refchild_p ... Optionschild_p ... pe.cwd;child_p ... ype.cwdchild_p ... pe.env;child_p ... ype.envchild_p ... tached;child_p ... etachedchild_p ... pe.uid;child_p ... ype.uidchild_p ... pe.gid;child_p ... ype.gidchild_p ... .shell;child_p ... e.shellchild_p ... ns) {};child_p ... ons) {}child_process.spawnchild_p ... imeout;child_p ... timeoutchild_p ... Buffer;child_p ... xBufferchild_p ... Signal;child_p ... lSignalchild_p ... ncodingExecOpt ... ncodingchild_p ... coding;child_p ... ck) {};child_p ... ack) {}child_process.execExecFil ... ncodingchild_p ... xecFilechild_p ... ecPath;child_p ... xecPathchild_p ... ecArgv;child_p ... xecArgvchild_p ... silent;child_p ... .silentchild_process.forkchild_p ... .input;child_p ... e.inputSpawnSy ... ncodingchild_p ... Returnschild_p ... output;child_p ... .outputchild_p ... status;child_p ... .statuschild_p ... signal;child_p ... .signalchild_p ... .error;child_p ... e.errorchild_p ... nd) {};child_p ... and) {}child_p ... awnSyncfunction(command) {}ExecSyn ... ncodingchild_p ... xecSyncchild_p ... ileSyncmodule. ... rocess;module. ... Processmodule. ... ptions;module. ... Optionsmodule. ... .spawn;module. ... s.spawnmodule.exports.spawnmodule. ... coding;module. ... ncodingmodule. ... s.exec;module. ... ss.execmodule.exports.execmodule. ... ecFile;module. ... xecFilemodule. ... s.fork;module. ... ss.forkmodule.exports.forkmodule. ... eturns;module. ... Returnsmodule. ... wnSync;module. ... awnSyncmodule. ... ecSync;module. ... xecSyncmodule. ... leSync;module. ... ileSync/opt/codeql/javascript/tools/data/externs/nodejs/cluster.js + * @externs + * @fileoverview Definitions for module "cluster" + + * @type {(number|string)} + + * @constructor + * @extends {events.EventEmitter} + + * @type {child_process.ChildProcess} + + * @return {boolean} + + * @param {string} event + * @param {Function} listener + * @return {*} + + * @param {string} event + * @param {(function(): void)} listener + * @return {*} + + * @param {string} event + * @param {(function(number, string): void)} listener + * @return {*} + + * @param {string} event + * @param {(function(cluster.Address): void)} listener + * @return {*} + + * @param {string} event + * @param {(function(*, (net.Socket|net.Server)): void)} listener + * @return {*} + + * @type {cluster.Worker} + + * @param {Function=} callback + * @return {void} + + * @param {*=} env + * @return {cluster.Worker} + + * @type {cluster.ClusterSettings} + + * @param {cluster.ClusterSetupMasterSettings=} settings + * @return {void} + + * @param {string} event + * @param {(function(cluster.Worker): void)} listener + * @return {*} + + * @param {string} event + * @param {(function(cluster.Worker, number, string): void)} listener + * @return {*} + + * @param {string} event + * @param {(function(cluster.Worker, cluster.Address): void)} listener + * @return {*} + + * @param {string} event + * @param {(function(cluster.Worker, *, (net.Socket|net.Server)): void)} listener + * @return {*} + + * @param {string} event + * @param {(function(*): void)} listener + * @return {*} + + * @param {string} event + * @param {Function} listener + * @return {cluster.Cluster} + + * @param {string} event + * @param {(function(cluster.Worker): void)} listener + * @return {cluster.Cluster} + + * @param {string} event + * @param {(function(cluster.Worker, number, string): void)} listener + * @return {cluster.Cluster} + + * @param {string} event + * @param {(function(cluster.Worker, cluster.Address): void)} listener + * @return {cluster.Cluster} + + * @param {string} event + * @param {(function(cluster.Worker, *, (net.Socket|net.Server)): void)} listener + * @return {cluster.Cluster} + + * @param {string} event + * @param {(function(*): void)} listener + * @return {cluster.Cluster} + + * @param {string=} event + * @return {cluster.Cluster} + + * @param {number} n + * @return {cluster.Cluster} + + * @param {string} event + * @return {Array} + /**\n * ... n>}\n */ + * @param {string} event + * @param {...*} args + * @return {boolean} + + * @param {string} type + * @return {number} + + * @return {Array} + cluster"child_process"net"net"ClusterSettingsClusterSetupMasterSettingsAddressaddressaddressTypesuicideisConnectedisDeadexitedAfterDisconnectaddListeneronceprependListenerprependOnceListenerClusterisMasterisWorkersetupMasterworkersremoveListenerremoveAllListenerssetMaxListenersgetMaxListenerslistenerCounteventNamesDefinitions for module "cluster"(function (): void)function (): void(function (number, string): void)function (number, string): void(function (cluster.Address): void)function (cluster.Address): voidcluster.Address(function (*, (net.Socket|net.Server)): void)function (*, (net.Socket|net.Server)): void(net.Socket|net.Server)net.SocketSocketnet.ServerServercluster.Workercluster.ClusterSettingscluster.ClusterSetupMasterSettings=cluster.ClusterSetupMasterSettings(function (cluster.Worker): void)function (cluster.Worker): void(function (cluster.Worker, number, string): void)function (cluster.Worker, number, string): void(function (cluster.Worker, cluster.Address): void)function (cluster.Worker, cluster.Address): void(function (cluster.Worker, *, (net.Socket|net.Server)): void)function (cluster.Worker, *, (net.Socket|net.Server)): void(function (*): void)function (*): voidcluster.ClusterArray.var cluster = {};cluster = {}var chi ... cess");child_p ... ocess")require ... ocess")var net ... "net");net = require("net")require("net")cluster ... n() {};cluster ... on() {}cluster ... ettingscluster ... ecArgv;cluster ... xecArgvcluster ... ototypecluster ... e.exec;cluster ... pe.execcluster ... e.args;cluster ... pe.argscluster ... silent;cluster ... .silentcluster ... .stdio;cluster ... e.stdiocluster ... pe.uid;cluster ... ype.uidcluster ... pe.gid;cluster ... ype.gidCluster ... ettingscluster ... ddress;cluster ... addresscluster ... e.port;cluster ... pe.portcluster ... ssType;cluster ... essTypecluster.Worker;cluster ... ype.id;cluster ... type.idcluster ... rocess;cluster ... processcluster ... uicide;cluster ... suicidecluster ... le) {};cluster ... dle) {}cluster ... pe.sendcluster ... al) {};cluster ... nal) {}cluster ... pe.killcluster ... destroycluster ... connectcluster ... nnectedcluster ... .isDeadcluster ... onnect;exitedA ... connectcluster ... er) {};cluster ... ner) {}cluster ... istenerfunctio ... ner) {}cluster ... type.oncluster ... pe.oncecluster ... Worker;cluster ... .Workercluster ... ck) {};cluster ... ack) {}cluster ... nv) {};cluster ... env) {}cluster ... pe.forkfunction(env) {}cluster ... Master;cluster ... sMastercluster ... sWorkercluster ... ttings;cluster ... gs) {};cluster ... ngs) {}cluster ... pMastercluster ... worker;cluster ... .workercluster ... orkers;cluster ... workerscluster.disconnectcluster.forkcluster.isMaster;cluster.isMastercluster.isWorker;cluster.isWorkercluster.settings;cluster.settingscluster.setupMastercluster.worker;cluster.workercluster.workers;cluster.workerscluster.addListenercluster.oncluster.oncecluster ... nt) {};cluster ... ent) {}cluster ... stenersfunction(event) {}cluster ... (n) {};cluster ... n(n) {}function(n) {}cluster.listenerscluster ... rgs) {}cluster.emitcluster ... pe) {};cluster ... ype) {}cluster ... erCountfunction(type) {}cluster.eventNamesmodule. ... ttings;module. ... ettingsmodule. ... ddress;module. ... Addressmodule. ... Worker;module. ... .Workermodule. ... luster;module. ... Clustermodule. ... onnect;module. ... connectmodule. ... r.fork;module. ... er.forkmodule. ... Master;module. ... sMastermodule. ... sWorkermodule. ... pMastermodule. ... worker;module. ... .workermodule. ... orkers;module. ... workersmodule. ... stener;module. ... istenermodule. ... ter.on;module. ... ster.onmodule.exports.onmodule. ... r.once;module. ... er.oncemodule.exports.oncemodule. ... teners;module. ... stenersmodule. ... r.emit;module. ... er.emitmodule.exports.emitmodule. ... rCount;module. ... erCountmodule. ... tNames;module. ... ntNames/opt/codeql/javascript/tools/data/externs/nodejs/console.js + * @externs + * @fileoverview Definitions for module "console" + /**\n * ... le"\n */Definitions for module "console"module. ... onsole;module. ... console/opt/codeql/javascript/tools/data/externs/nodejs/constants.js + * @externs + * @fileoverview Definitions for module "constants" + /**\n * ... ts"\n */constantsE2BIGEACCESEADDRINUSEEADDRNOTAVAILEAFNOSUPPORTEAGAINEALREADYEBADFEBADMSGEBUSYECANCELEDECHILDECONNABORTEDECONNREFUSEDECONNRESETEDEADLKEDESTADDRREQEDOMEEXISTEFAULTEFBIGEHOSTUNREACHEIDRMEILSEQEINPROGRESSEINTREINVALEIOEISCONNEISDIRELOOPEMFILEEMLINKEMSGSIZEENAMETOOLONGENETDOWNENETRESETENETUNREACHENFILEENOBUFSENODATAENODEVENOENTENOEXECENOLCKENOLINKENOMEMENOMSGENOPROTOOPTENOSPCENOSRENOSTRENOSYSENOTCONNENOTDIRENOTEMPTYENOTSOCKENOTSUPENOTTYENXIOEOPNOTSUPPEOVERFLOWEPERMEPIPEEPROTOEPROTONOSUPPORTEPROTOTYPEERANGEEROFSESPIPEESRCHETIMEETIMEDOUTETXTBSYEWOULDBLOCKEXDEVWSAEINTRWSAEBADFWSAEACCESWSAEFAULTWSAEINVALWSAEMFILEWSAEWOULDBLOCKWSAEINPROGRESSWSAEALREADYWSAENOTSOCKWSAEDESTADDRREQWSAEMSGSIZEWSAEPROTOTYPEWSAENOPROTOOPTWSAEPROTONOSUPPORTWSAESOCKTNOSUPPORTWSAEOPNOTSUPPWSAEPFNOSUPPORTWSAEAFNOSUPPORTWSAEADDRINUSEWSAEADDRNOTAVAILWSAENETDOWNWSAENETUNREACHWSAENETRESETWSAECONNABORTEDWSAECONNRESETWSAENOBUFSWSAEISCONNWSAENOTCONNWSAESHUTDOWNWSAETOOMANYREFSWSAETIMEDOUTWSAECONNREFUSEDWSAELOOPWSAENAMETOOLONGWSAEHOSTDOWNWSAEHOSTUNREACHWSAENOTEMPTYWSAEPROCLIMWSAEUSERSWSAEDQUOTWSAESTALEWSAEREMOTEWSASYSNOTREADYWSAVERNOTSUPPORTEDWSANOTINITIALISEDWSAEDISCONWSAENOMOREWSAECANCELLEDWSAEINVALIDPROCTABLEWSAEINVALIDPROVIDERWSAEPROVIDERFAILEDINITWSASYSCALLFAILUREWSASERVICE_NOT_FOUNDWSATYPE_NOT_FOUNDWSA_E_NO_MOREWSA_E_CANCELLEDWSAEREFUSEDSIGHUPSIGINTSIGILLSIGABRTSIGFPESIGKILLSIGSEGVSIGTERMSIGBREAKSIGWINCHSSL_OP_ALLSSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATIONSSL_OP_CIPHER_SERVER_PREFERENCESSL_OP_CISCO_ANYCONNECTSSL_OP_COOKIE_EXCHANGESSL_OP_CRYPTOPRO_TLSEXT_BUGSSL_OP_DONT_INSERT_EMPTY_FRAGMENTSSSL_OP_EPHEMERAL_RSASSL_OP_LEGACY_SERVER_CONNECTSSL_OP_MICROSOFT_BIG_SSLV3_BUFFERSSL_OP_MICROSOFT_SESS_ID_BUGSSL_OP_MSIE_SSLV2_RSA_PADDINGSSL_OP_NETSCAPE_CA_DN_BUGSSL_OP_NETSCAPE_CHALLENGE_BUGSSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUGSSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUGSSL_OP_NO_COMPRESSIONSSL_OP_NO_QUERY_MTUSSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATIONSSL_OP_NO_SSLv2SSL_OP_NO_SSLv3SSL_OP_NO_TICKETSSL_OP_NO_TLSv1SSL_OP_NO_TLSv1_1SSL_OP_NO_TLSv1_2SSL_OP_PKCS1_CHECK_1SSL_OP_PKCS1_CHECK_2SSL_OP_SINGLE_DH_USESSL_OP_SINGLE_ECDH_USESSL_OP_SSLEAY_080_CLIENT_DH_BUGSSL_OP_SSLREF2_REUSE_CERT_TYPE_BUGSSL_OP_TLS_BLOCK_PADDING_BUGSSL_OP_TLS_D5_BUGSSL_OP_TLS_ROLLBACK_BUGENGINE_METHOD_DSAENGINE_METHOD_DHENGINE_METHOD_RANDENGINE_METHOD_ECDHENGINE_METHOD_ECDSAENGINE_METHOD_CIPHERSENGINE_METHOD_DIGESTSENGINE_METHOD_STOREENGINE_METHOD_PKEY_METHSENGINE_METHOD_PKEY_ASN1_METHSENGINE_METHOD_ALLENGINE_METHOD_NONEDH_CHECK_P_NOT_SAFE_PRIMEDH_CHECK_P_NOT_PRIMEDH_UNABLE_TO_CHECK_GENERATORDH_NOT_SUITABLE_GENERATORNPN_ENABLEDRSA_PKCS1_PADDINGRSA_SSLV23_PADDINGRSA_NO_PADDINGRSA_PKCS1_OAEP_PADDINGRSA_X931_PADDINGRSA_PKCS1_PSS_PADDINGPOINT_CONVERSION_COMPRESSEDPOINT_CONVERSION_UNCOMPRESSEDPOINT_CONVERSION_HYBRIDO_RDONLYO_WRONLYO_RDWRS_IFMTS_IFREGS_IFDIRS_IFCHRS_IFBLKS_IFIFOS_IFSOCKS_IRWXUS_IRUSRS_IWUSRS_IXUSRS_IRWXGS_IRGRPS_IWGRPS_IXGRPS_IRWXOS_IROTHS_IWOTHS_IXOTHS_IFLNKO_CREATO_EXCLO_NOCTTYO_DIRECTORYO_NOATIMEO_NOFOLLOWO_SYNCO_SYMLINKO_DIRECTO_NONBLOCKO_TRUNCO_APPENDF_OKR_OKW_OKX_OKUV_UDP_REUSEADDRSIGQUITSIGTRAPSIGIOTSIGBUSSIGUSR1SIGUSR2SIGPIPESIGALRMSIGCHLDSIGSTKFLTSIGCONTSIGSTOPSIGTSTPSIGTTINSIGTTOUSIGURGSIGXCPUSIGXFSZSIGVTALRMSIGPROFSIGIOSIGPOLLSIGPWRSIGSYSSIGUNUSEDdefaultCoreCipherListdefaultCipherListENGINE_METHOD_RSAALPN_ENABLEDAT_SYMLINK_NOFOLLOWEDQUOTEMULTIHOPESTALES_WRGRPDefinitions for module "constants"var constants = {};constants = {}constants.E2BIG;constants.E2BIGconstants.EACCES;constants.EACCESconstan ... RINUSE;constants.EADDRINUSEconstan ... TAVAIL;constan ... OTAVAILconstan ... UPPORT;constan ... SUPPORTconstants.EAGAIN;constants.EAGAINconstants.EALREADY;constants.EALREADYconstants.EBADF;constants.EBADFconstants.EBADMSG;constants.EBADMSGconstants.EBUSY;constants.EBUSYconstants.ECANCELED;constants.ECANCELEDconstants.ECHILD;constants.ECHILDconstan ... BORTED;constan ... ABORTEDconstan ... EFUSED;constan ... REFUSEDconstan ... NRESET;constants.ECONNRESETconstants.EDEADLK;constants.EDEADLKconstan ... DDRREQ;constan ... ADDRREQconstants.EDOM;constants.EDOMconstants.EEXIST;constants.EEXISTconstants.EFAULT;constants.EFAULTconstants.EFBIG;constants.EFBIGconstan ... NREACH;constan ... UNREACHconstants.EIDRM;constants.EIDRMconstants.EILSEQ;constants.EILSEQconstan ... OGRESS;constan ... ROGRESSconstants.EINTR;constants.EINTRconstants.EINVAL;constants.EINVALconstants.EIO;constants.EIOconstants.EISCONN;constants.EISCONNconstants.EISDIR;constants.EISDIRconstants.ELOOP;constants.ELOOPconstants.EMFILE;constants.EMFILEconstants.EMLINK;constants.EMLINKconstants.EMSGSIZE;constants.EMSGSIZEconstan ... OOLONG;constan ... TOOLONGconstants.ENETDOWN;constants.ENETDOWNconstants.ENETRESET;constants.ENETRESETconstants.ENFILE;constants.ENFILEconstants.ENOBUFS;constants.ENOBUFSconstants.ENODATA;constants.ENODATAconstants.ENODEV;constants.ENODEVconstants.ENOENT;constants.ENOENTconstants.ENOEXEC;constants.ENOEXECconstants.ENOLCK;constants.ENOLCKconstants.ENOLINK;constants.ENOLINKconstants.ENOMEM;constants.ENOMEMconstants.ENOMSG;constants.ENOMSGconstan ... OTOOPT;constan ... ROTOOPTconstants.ENOSPC;constants.ENOSPCconstants.ENOSR;constants.ENOSRconstants.ENOSTR;constants.ENOSTRconstants.ENOSYS;constants.ENOSYSconstants.ENOTCONN;constants.ENOTCONNconstants.ENOTDIR;constants.ENOTDIRconstants.ENOTEMPTY;constants.ENOTEMPTYconstants.ENOTSOCK;constants.ENOTSOCKconstants.ENOTSUP;constants.ENOTSUPconstants.ENOTTY;constants.ENOTTYconstants.ENXIO;constants.ENXIOconstan ... OTSUPP;constants.EOPNOTSUPPconstants.EOVERFLOW;constants.EOVERFLOWconstants.EPERM;constants.EPERMconstants.EPIPE;constants.EPIPEconstants.EPROTO;constants.EPROTOconstan ... TOTYPE;constants.EPROTOTYPEconstants.ERANGE;constants.ERANGEconstants.EROFS;constants.EROFSconstants.ESPIPE;constants.ESPIPEconstants.ESRCH;constants.ESRCHconstants.ETIME;constants.ETIMEconstants.ETIMEDOUT;constants.ETIMEDOUTconstants.ETXTBSY;constants.ETXTBSYconstan ... DBLOCK;constan ... LDBLOCKconstants.EXDEV;constants.EXDEVconstants.WSAEINTR;constants.WSAEINTRconstants.WSAEBADF;constants.WSAEBADFconstants.WSAEACCES;constants.WSAEACCESconstants.WSAEFAULT;constants.WSAEFAULTconstants.WSAEINVAL;constants.WSAEINVALconstants.WSAEMFILE;constants.WSAEMFILEconstan ... LREADY;constan ... ALREADYconstan ... OTSOCK;constan ... NOTSOCKconstan ... SGSIZE;constan ... MSGSIZEconstan ... OTOTYPEconstan ... NOTSUPPconstan ... DRINUSEconstan ... ETDOWN;constan ... NETDOWNconstan ... TRESET;constan ... ETRESETconstan ... NNRESETconstan ... NOBUFS;constants.WSAENOBUFSconstan ... ISCONN;constants.WSAEISCONNconstan ... OTCONN;constan ... NOTCONNconstan ... UTDOWN;constan ... HUTDOWNconstan ... NYREFS;constan ... ANYREFSconstan ... MEDOUT;constan ... IMEDOUTconstants.WSAELOOP;constants.WSAELOOPconstan ... STDOWN;constan ... OSTDOWNconstan ... TEMPTY;constan ... OTEMPTYconstan ... ROCLIM;constan ... PROCLIMconstants.WSAEUSERS;constants.WSAEUSERSconstants.WSAEDQUOT;constants.WSAEDQUOTconstants.WSAESTALE;constants.WSAESTALEconstan ... REMOTE;constants.WSAEREMOTEconstan ... TREADY;constan ... OTREADYconstan ... PORTED;constan ... PPORTEDconstan ... ALISED;constan ... IALISEDconstan ... DISCON;constants.WSAEDISCONconstan ... NOMORE;constants.WSAENOMOREconstan ... CELLED;constan ... NCELLEDconstan ... CTABLE;constan ... OCTABLEconstan ... OVIDER;constan ... ROVIDERconstan ... EDINIT;constan ... LEDINITWSAEPRO ... LEDINITconstan ... AILURE;constan ... FAILUREconstan ... _FOUND;constan ... T_FOUNDconstan ... O_MORE;constan ... NO_MOREconstants.SIGHUP;constants.SIGHUPconstants.SIGINT;constants.SIGINTconstants.SIGILL;constants.SIGILLconstants.SIGABRT;constants.SIGABRTconstants.SIGFPE;constants.SIGFPEconstants.SIGKILL;constants.SIGKILLconstants.SIGSEGV;constants.SIGSEGVconstants.SIGTERM;constants.SIGTERMconstants.SIGBREAK;constants.SIGBREAKconstants.SIGWINCH;constants.SIGWINCHconstan ... OP_ALL;constants.SSL_OP_ALLconstan ... IATION;constan ... TIATIONSSL_OP_ ... TIATIONconstan ... ERENCE;constan ... FERENCESSL_OP_ ... FERENCEconstan ... ONNECT;constan ... CONNECTSSL_OP_ ... CONNECTconstan ... CHANGE;constan ... XCHANGESSL_OP_ ... XCHANGEconstan ... XT_BUG;constan ... EXT_BUGSSL_OP_ ... EXT_BUGconstan ... GMENTS;constan ... AGMENTSSSL_OP_ ... AGMENTSconstan ... AL_RSA;constan ... RAL_RSAconstan ... BUFFER;constan ... _BUFFERSSL_OP_ ... _BUFFERconstan ... ID_BUG;constan ... _ID_BUGSSL_OP_ ... _ID_BUGconstan ... ADDING;constan ... PADDINGSSL_OP_ ... PADDINGconstan ... DN_BUG;constan ... _DN_BUGSSL_OP_ ... _DN_BUGconstan ... GE_BUG;constan ... NGE_BUGSSL_OP_ ... NGE_BUGconstan ... ESSION;constan ... RESSIONSSL_OP_ ... RESSIONconstan ... RY_MTU;constan ... ERY_MTUconstan ... _SSLv2;constan ... O_SSLv2constan ... _SSLv3;constan ... O_SSLv3constan ... TICKET;constan ... _TICKETconstan ... _TLSv1;constan ... O_TLSv1constan ... LSv1_1;constan ... TLSv1_1constan ... LSv1_2;constan ... TLSv1_2constan ... HECK_1;constan ... CHECK_1constan ... HECK_2;constan ... CHECK_2constan ... DH_USE;constan ... _DH_USEconstan ... CDH_USESSL_OP_ ... CDH_USEconstan ... DH_BUG;constan ... _DH_BUGSSL_OP_ ... _DH_BUGconstan ... PE_BUG;constan ... YPE_BUGSSL_OP_ ... YPE_BUGconstan ... NG_BUG;constan ... ING_BUGSSL_OP_ ... ING_BUGconstan ... D5_BUG;constan ... _D5_BUGconstan ... CK_BUG;constan ... ACK_BUGSSL_OP_ ... ACK_BUGconstan ... OD_DSA;constan ... HOD_DSAconstan ... HOD_DH;constan ... THOD_DHconstan ... D_RAND;constan ... OD_RANDconstan ... D_ECDH;constan ... OD_ECDHconstan ... _ECDSA;constan ... D_ECDSAconstan ... IPHERS;constan ... CIPHERSENGINE_ ... CIPHERSconstan ... IGESTS;constan ... DIGESTSENGINE_ ... DIGESTSconstan ... _STORE;constan ... D_STOREconstan ... _METHS;constan ... Y_METHSENGINE_ ... Y_METHSconstan ... 1_METHSENGINE_ ... 1_METHSconstan ... OD_ALL;constan ... HOD_ALLconstan ... D_NONE;constan ... OD_NONEconstan ... _PRIME;constan ... E_PRIMEDH_CHEC ... E_PRIMEconstan ... T_PRIMEconstan ... ERATOR;constan ... NERATORDH_UNAB ... NERATORDH_NOT_ ... NERATORconstan ... NABLED;constan ... ENABLEDRSA_PKC ... PADDINGconstan ... RESSED;constan ... PRESSEDPOINT_C ... PRESSEDconstan ... HYBRID;constan ... _HYBRIDPOINT_C ... _HYBRIDconstants.O_RDONLY;constants.O_RDONLYconstants.O_WRONLY;constants.O_WRONLYconstants.O_RDWR;constants.O_RDWRconstants.S_IFMT;constants.S_IFMTconstants.S_IFREG;constants.S_IFREGconstants.S_IFDIR;constants.S_IFDIRconstants.S_IFCHR;constants.S_IFCHRconstants.S_IFBLK;constants.S_IFBLKconstants.S_IFIFO;constants.S_IFIFOconstants.S_IFSOCK;constants.S_IFSOCKconstants.S_IRWXU;constants.S_IRWXUconstants.S_IRUSR;constants.S_IRUSRconstants.S_IWUSR;constants.S_IWUSRconstants.S_IXUSR;constants.S_IXUSRconstants.S_IRWXG;constants.S_IRWXGconstants.S_IRGRP;constants.S_IRGRPconstants.S_IWGRP;constants.S_IWGRPconstants.S_IXGRP;constants.S_IXGRPconstants.S_IRWXO;constants.S_IRWXOconstants.S_IROTH;constants.S_IROTHconstants.S_IWOTH;constants.S_IWOTHconstants.S_IXOTH;constants.S_IXOTHconstants.S_IFLNK;constants.S_IFLNKconstants.O_CREAT;constants.O_CREATconstants.O_EXCL;constants.O_EXCLconstants.O_NOCTTY;constants.O_NOCTTYconstan ... ECTORY;constan ... RECTORYconstants.O_NOATIME;constants.O_NOATIMEconstan ... FOLLOW;constants.O_NOFOLLOWconstants.O_SYNC;constants.O_SYNCconstants.O_SYMLINK;constants.O_SYMLINKconstants.O_DIRECT;constants.O_DIRECTconstan ... NBLOCK;constants.O_NONBLOCKconstants.O_TRUNC;constants.O_TRUNCconstants.O_APPEND;constants.O_APPENDconstants.F_OK;constants.F_OKconstants.R_OK;constants.R_OKconstants.W_OK;constants.W_OKconstants.X_OK;constants.X_OKconstan ... SEADDR;constan ... USEADDRconstants.SIGQUIT;constants.SIGQUITconstants.SIGTRAP;constants.SIGTRAPconstants.SIGIOT;constants.SIGIOTconstants.SIGBUS;constants.SIGBUSconstants.SIGUSR1;constants.SIGUSR1constants.SIGUSR2;constants.SIGUSR2constants.SIGPIPE;constants.SIGPIPEconstants.SIGALRM;constants.SIGALRMconstants.SIGCHLD;constants.SIGCHLDconstants.SIGSTKFLT;constants.SIGSTKFLTconstants.SIGCONT;constants.SIGCONTconstants.SIGSTOP;constants.SIGSTOPconstants.SIGTSTP;constants.SIGTSTPconstants.SIGTTIN;constants.SIGTTINconstants.SIGTTOU;constants.SIGTTOUconstants.SIGURG;constants.SIGURGconstants.SIGXCPU;constants.SIGXCPUconstants.SIGXFSZ;constants.SIGXFSZconstants.SIGVTALRM;constants.SIGVTALRMconstants.SIGPROF;constants.SIGPROFconstants.SIGIO;constants.SIGIOconstants.SIGPOLL;constants.SIGPOLLconstants.SIGPWR;constants.SIGPWRconstants.SIGSYS;constants.SIGSYSconstants.SIGUNUSED;constants.SIGUNUSEDconstan ... erList;constan ... herListdefault ... herListconstan ... OD_RSA;constan ... HOD_RSAmodule. ... .E2BIG;module. ... s.E2BIGmodule.exports.E2BIGmodule. ... EACCES;module. ... .EACCESmodule. ... RINUSE;module. ... DRINUSEmodule. ... TAVAIL;module. ... OTAVAILmodule. ... UPPORT;module. ... SUPPORTmodule. ... EAGAIN;module. ... .EAGAINmodule. ... LREADY;module. ... ALREADYmodule. ... .EBADF;module. ... s.EBADFmodule.exports.EBADFmodule. ... BADMSG;module. ... EBADMSGmodule. ... .EBUSY;module. ... s.EBUSYmodule.exports.EBUSYmodule. ... NCELED;module. ... ANCELEDmodule. ... ECHILD;module. ... .ECHILDmodule. ... BORTED;module. ... ABORTEDmodule. ... EFUSED;module. ... REFUSEDmodule. ... NRESET;module. ... NNRESETmodule. ... DEADLK;module. ... EDEADLKmodule. ... DDRREQ;module. ... ADDRREQmodule. ... s.EDOM;module. ... ts.EDOMmodule.exports.EDOMmodule. ... EEXIST;module. ... .EEXISTmodule. ... EFAULT;module. ... .EFAULTmodule. ... .EFBIG;module. ... s.EFBIGmodule.exports.EFBIGmodule. ... NREACH;module. ... UNREACHmodule. ... .EIDRM;module. ... s.EIDRMmodule.exports.EIDRMmodule. ... EILSEQ;module. ... .EILSEQmodule. ... OGRESS;module. ... ROGRESSmodule. ... .EINTR;module. ... s.EINTRmodule.exports.EINTRmodule. ... EINVAL;module. ... .EINVALmodule. ... ts.EIO;module. ... nts.EIOmodule.exports.EIOmodule. ... ISCONN;module. ... EISCONNmodule. ... EISDIR;module. ... .EISDIRmodule. ... .ELOOP;module. ... s.ELOOPmodule.exports.ELOOPmodule. ... EMFILE;module. ... .EMFILEmodule. ... EMLINK;module. ... .EMLINKmodule. ... SGSIZE;module. ... MSGSIZEmodule. ... OOLONG;module. ... TOOLONGmodule. ... ETDOWN;module. ... NETDOWNmodule. ... TRESET;module. ... ETRESETmodule. ... ENFILE;module. ... .ENFILEmodule. ... NOBUFS;module. ... ENOBUFSmodule. ... NODATA;module. ... ENODATAmodule. ... ENODEV;module. ... .ENODEVmodule. ... ENOENT;module. ... .ENOENTmodule. ... NOEXEC;module. ... ENOEXECmodule. ... ENOLCK;module. ... .ENOLCKmodule. ... NOLINK;module. ... ENOLINKmodule. ... ENOMEM;module. ... .ENOMEMmodule. ... ENOMSG;module. ... .ENOMSGmodule. ... OTOOPT;module. ... ROTOOPTmodule. ... ENOSPC;module. ... .ENOSPCmodule. ... .ENOSR;module. ... s.ENOSRmodule.exports.ENOSRmodule. ... ENOSTR;module. ... .ENOSTRmodule. ... ENOSYS;module. ... .ENOSYSmodule. ... OTCONN;module. ... NOTCONNmodule. ... NOTDIR;module. ... ENOTDIRmodule. ... TEMPTY;module. ... OTEMPTYmodule. ... OTSOCK;module. ... NOTSOCKmodule. ... NOTSUP;module. ... ENOTSUPmodule. ... ENOTTY;module. ... .ENOTTYmodule. ... .ENXIO;module. ... s.ENXIOmodule.exports.ENXIOmodule. ... OTSUPP;module. ... NOTSUPPmodule. ... ERFLOW;module. ... VERFLOWmodule. ... .EPERM;module. ... s.EPERMmodule.exports.EPERMmodule. ... .EPIPE;module. ... s.EPIPEmodule.exports.EPIPEmodule. ... EPROTO;module. ... .EPROTOmodule. ... TOTYPE;module. ... OTOTYPEmodule. ... ERANGE;module. ... .ERANGEmodule. ... .EROFS;module. ... s.EROFSmodule.exports.EROFSmodule. ... ESPIPE;module. ... .ESPIPEmodule. ... .ESRCH;module. ... s.ESRCHmodule.exports.ESRCHmodule. ... .ETIME;module. ... s.ETIMEmodule.exports.ETIMEmodule. ... MEDOUT;module. ... IMEDOUTmodule. ... TXTBSY;module. ... ETXTBSYmodule. ... DBLOCK;module. ... LDBLOCKmodule. ... .EXDEV;module. ... s.EXDEVmodule.exports.EXDEVmodule. ... AEINTR;module. ... SAEINTRmodule. ... AEBADF;module. ... SAEBADFmodule. ... AEACCESmodule. ... AEFAULTmodule. ... AEINVALmodule. ... AEMFILEmodule. ... UTDOWN;module. ... HUTDOWNmodule. ... NYREFS;module. ... ANYREFSmodule. ... AELOOP;module. ... SAELOOPmodule. ... STDOWN;module. ... OSTDOWNmodule. ... ROCLIM;module. ... PROCLIMmodule. ... EUSERS;module. ... AEUSERSmodule. ... EDQUOT;module. ... AEDQUOTmodule. ... ESTALE;module. ... AESTALEmodule. ... REMOTE;module. ... EREMOTEmodule. ... TREADY;module. ... OTREADYmodule. ... PORTED;module. ... PPORTEDmodule. ... ALISED;module. ... IALISEDmodule. ... DISCON;module. ... EDISCONmodule. ... NOMORE;module. ... ENOMOREmodule. ... CELLED;module. ... NCELLEDmodule. ... CTABLE;module. ... OCTABLEmodule. ... OVIDER;module. ... ROVIDERmodule. ... EDINIT;module. ... LEDINITmodule. ... AILURE;module. ... FAILUREmodule. ... _FOUND;module. ... T_FOUNDmodule. ... O_MORE;module. ... NO_MOREmodule. ... SIGHUP;module. ... .SIGHUPmodule. ... SIGINT;module. ... .SIGINTmodule. ... SIGILL;module. ... .SIGILLmodule. ... IGABRT;module. ... SIGABRTmodule. ... SIGFPE;module. ... .SIGFPEmodule. ... IGKILL;module. ... SIGKILLmodule. ... IGSEGV;module. ... SIGSEGVmodule. ... IGTERM;module. ... SIGTERMmodule. ... GBREAK;module. ... IGBREAKmodule. ... GWINCH;module. ... IGWINCHmodule. ... OP_ALL;module. ... _OP_ALLmodule. ... IATION;module. ... TIATIONmodule. ... ERENCE;module. ... FERENCEmodule. ... ONNECT;module. ... CONNECTmodule. ... CHANGE;module. ... XCHANGEmodule. ... XT_BUG;module. ... EXT_BUGmodule. ... GMENTS;module. ... AGMENTSmodule. ... AL_RSA;module. ... RAL_RSAmodule. ... BUFFER;module. ... _BUFFERmodule. ... ID_BUG;module. ... _ID_BUGmodule. ... ADDING;module. ... PADDINGmodule. ... DN_BUG;module. ... _DN_BUGmodule. ... GE_BUG;module. ... NGE_BUGmodule. ... ESSION;module. ... RESSIONmodule. ... RY_MTU;module. ... ERY_MTUmodule. ... _SSLv2;module. ... O_SSLv2module. ... _SSLv3;module. ... O_SSLv3module. ... TICKET;module. ... _TICKETmodule. ... _TLSv1;module. ... O_TLSv1module. ... LSv1_1;module. ... TLSv1_1module. ... LSv1_2;module. ... TLSv1_2module. ... HECK_1;module. ... CHECK_1module. ... HECK_2;module. ... CHECK_2module. ... DH_USE;module. ... _DH_USEmodule. ... CDH_USEmodule. ... DH_BUG;module. ... _DH_BUGmodule. ... PE_BUG;module. ... YPE_BUGmodule. ... NG_BUG;module. ... ING_BUGmodule. ... D5_BUG;module. ... _D5_BUGmodule. ... CK_BUG;module. ... ACK_BUGmodule. ... OD_DSA;module. ... HOD_DSAmodule. ... HOD_DH;module. ... THOD_DHmodule. ... D_RAND;module. ... OD_RANDmodule. ... D_ECDH;module. ... OD_ECDHmodule. ... _ECDSA;module. ... D_ECDSAmodule. ... IPHERS;module. ... CIPHERSmodule. ... IGESTS;module. ... DIGESTSmodule. ... _STORE;module. ... D_STOREmodule. ... _METHS;module. ... Y_METHSmodule. ... 1_METHSmodule. ... OD_ALL;module. ... HOD_ALLmodule. ... D_NONE;module. ... OD_NONEmodule. ... _PRIME;module. ... E_PRIMEmodule. ... T_PRIMEmodule. ... ERATOR;module. ... NERATORmodule. ... NABLED;module. ... ENABLEDmodule. ... RESSED;module. ... PRESSEDmodule. ... HYBRID;module. ... _HYBRIDmodule. ... RDONLY;module. ... _RDONLYmodule. ... WRONLY;module. ... _WRONLYmodule. ... O_RDWR;module. ... .O_RDWRmodule. ... S_IFMT;module. ... .S_IFMTmodule. ... _IFREG;module. ... S_IFREGmodule. ... _IFDIR;module. ... S_IFDIRmodule. ... _IFCHR;module. ... S_IFCHRmodule. ... _IFBLK;module. ... S_IFBLKmodule. ... _IFIFO;module. ... S_IFIFOmodule. ... IFSOCK;module. ... _IFSOCKmodule. ... _IRWXU;module. ... S_IRWXUmodule. ... _IRUSR;module. ... S_IRUSRmodule. ... _IWUSR;module. ... S_IWUSRmodule. ... _IXUSR;module. ... S_IXUSRmodule. ... _IRWXG;module. ... S_IRWXGmodule. ... _IRGRP;module. ... S_IRGRPmodule. ... _IWGRP;module. ... S_IWGRPmodule. ... _IXGRP;module. ... S_IXGRPmodule. ... _IRWXO;module. ... S_IRWXOmodule. ... _IROTH;module. ... S_IROTHmodule. ... _IWOTH;module. ... S_IWOTHmodule. ... _IXOTH;module. ... S_IXOTHmodule. ... _IFLNK;module. ... S_IFLNKmodule. ... _CREAT;module. ... O_CREATmodule. ... O_EXCL;module. ... .O_EXCLmodule. ... NOCTTY;module. ... _NOCTTYmodule. ... ECTORY;module. ... RECTORYmodule. ... OATIME;module. ... NOATIMEmodule. ... FOLLOW;module. ... OFOLLOWmodule. ... O_SYNC;module. ... .O_SYNCmodule. ... YMLINK;module. ... SYMLINKmodule. ... DIRECT;module. ... _DIRECTmodule. ... NBLOCK;module. ... ONBLOCKmodule. ... _TRUNC;module. ... O_TRUNCmodule. ... APPEND;module. ... _APPENDmodule. ... s.F_OK;module. ... ts.F_OKmodule.exports.F_OKmodule. ... s.R_OK;module. ... ts.R_OKmodule.exports.R_OKmodule. ... s.W_OK;module. ... ts.W_OKmodule.exports.W_OKmodule. ... s.X_OK;module. ... ts.X_OKmodule.exports.X_OKmodule. ... SEADDR;module. ... USEADDRmodule. ... IGQUIT;module. ... SIGQUITmodule. ... IGTRAP;module. ... SIGTRAPmodule. ... SIGIOT;module. ... .SIGIOTmodule. ... SIGBUS;module. ... .SIGBUSmodule. ... IGUSR1;module. ... SIGUSR1module. ... IGUSR2;module. ... SIGUSR2module. ... IGPIPE;module. ... SIGPIPEmodule. ... IGALRM;module. ... SIGALRMmodule. ... IGCHLD;module. ... SIGCHLDmodule. ... STKFLT;module. ... GSTKFLTmodule. ... IGCONT;module. ... SIGCONTmodule. ... IGSTOP;module. ... SIGSTOPmodule. ... IGTSTP;module. ... SIGTSTPmodule. ... IGTTIN;module. ... SIGTTINmodule. ... IGTTOU;module. ... SIGTTOUmodule. ... SIGURG;module. ... .SIGURGmodule. ... IGXCPU;module. ... SIGXCPUmodule. ... IGXFSZ;module. ... SIGXFSZmodule. ... VTALRM;module. ... GVTALRMmodule. ... IGPROF;module. ... SIGPROFmodule. ... .SIGIO;module. ... s.SIGIOmodule.exports.SIGIOmodule. ... IGPOLL;module. ... SIGPOLLmodule. ... SIGPWR;module. ... .SIGPWRmodule. ... SIGSYS;module. ... .SIGSYSmodule. ... UNUSED;module. ... GUNUSEDmodule. ... erList;module. ... herListmodule. ... OD_RSA;module. ... HOD_RSAconstan ... OFOLLOWconstants.EDQUOT;constants.EDQUOTconstants.EMULTIHOP;constants.EMULTIHOPconstants.ESTALE;constants.ESTALEconstants.S_WRGRP;constants.S_WRGRPmodule. ... .EDQUOTmodule. ... LTIHOP;module. ... ULTIHOPmodule. ... .ESTALEmodule. ... _WRGRP;module. ... S_WRGRP/opt/codeql/javascript/tools/data/externs/nodejs/crypto.js + * @externs + * @fileoverview Definitions for module "crypto" + /**\n * ... to"\n */ + * @param {(string|Buffer)} spkac + * @return {Buffer} + + * @param {Buffer} spkac + * @return {boolean} + + * @return {crypto.Certificate} + /**\n * ... te}\n */ + * @return {crypto.Certificate} + * @constructor + + * @type {(string|Array)} + /**\n * ... >)}\n */ + * @param {crypto.CredentialDetails} details + * @return {crypto.Credentials} + /**\n * ... ls}\n */ + * @param {string} algorithm + * @return {crypto.Hash} + /**\n * ... sh}\n */ + * @param {string} algorithm + * @param {(string|Buffer)} key + * @return {crypto.Hmac} + /**\n * ... ac}\n */ + * @interface + * @extends {NodeJS.ReadWriteStream} + /**\n * ... am}\n */ + * @param {(string|Buffer)} data + * @return {crypto.Hash} + + * @param {(string|Buffer)} data + * @param {(string)} input_encoding + * @return {crypto.Hash} + + * @return {Buffer} + + * @param {(string)} encoding + * @return {string} + + * @param {(string|Buffer)} data + * @return {crypto.Hmac} + + * @param {(string|Buffer)} data + * @param {(string)} input_encoding + * @return {crypto.Hmac} + + * @param {string} algorithm + * @param {*} password + * @return {crypto.Cipher} + + * @param {string} algorithm + * @param {*} key + * @param {*} iv + * @return {crypto.Cipher} + + * @param {Buffer} data + * @return {Buffer} + + * @param {string} data + * @param {(string)} input_encoding + * @return {Buffer} + + * @param {Buffer} data + * @param {*} input_encoding + * @param {(string)} output_encoding + * @return {string} + + * @param {string} data + * @param {(string)} input_encoding + * @param {(string)} output_encoding + * @return {string} + + * @param {string} output_encoding + * @return {string} + + * @param {boolean=} auto_padding + * @return {void} + + * @param {Buffer} buffer + * @return {void} + + * @param {string} algorithm + * @param {*} password + * @return {crypto.Decipher} + + * @param {string} algorithm + * @param {*} key + * @param {*} iv + * @return {crypto.Decipher} + + * @param {Buffer} tag + * @return {void} + + * @param {string} algorithm + * @return {crypto.Signer} + + * @interface + * @extends {NodeJS.WritableStream} + + * @param {(string|Buffer)} data + * @return {crypto.Signer} + + * @param {(string|Buffer)} data + * @param {(string)} input_encoding + * @return {crypto.Signer} + + * @param {(string|{key: string, passphrase: string})} private_key + * @return {Buffer} + + * @param {(string|{key: string, passphrase: string})} private_key + * @param {(string)} output_format + * @return {string} + + * @param {string} algorith + * @return {crypto.Verify} + /**\n * ... fy}\n */ + * @param {(string|Buffer)} data + * @return {crypto.Verify} + + * @param {(string|Buffer)} data + * @param {(string)} input_encoding + * @return {crypto.Verify} + + * @param {string} object + * @param {Buffer} signature + * @return {boolean} + + * @param {string} object + * @param {string} signature + * @param {(string)} signature_format + * @return {boolean} + + * @param {number} prime_length + * @param {number=} generator + * @return {crypto.DiffieHellman} + + * @param {Buffer} prime + * @return {crypto.DiffieHellman} + + * @param {string} prime + * @param {(string)} prime_encoding + * @return {crypto.DiffieHellman} + + * @param {string} prime + * @param {(string)} prime_encoding + * @param {(number|Buffer)} generator + * @return {crypto.DiffieHellman} + + * @param {string} prime + * @param {(string)} prime_encoding + * @param {string} generator + * @param {(string)} generator_encoding + * @return {crypto.DiffieHellman} + + * @param {Buffer} other_public_key + * @return {Buffer} + + * @param {string} other_public_key + * @param {(string)} input_encoding + * @return {Buffer} + + * @param {string} other_public_key + * @param {(string)} input_encoding + * @param {(string)} output_encoding + * @return {string} + + * @param {Buffer} public_key + * @return {void} + + * @param {string} public_key + * @param {string} encoding + * @return {void} + + * @param {Buffer} private_key + * @return {void} + + * @param {string} private_key + * @param {string} encoding + * @return {void} + + * @param {string} group_name + * @return {crypto.DiffieHellman} + + * @param {(string|Buffer)} password + * @param {(string|Buffer)} salt + * @param {number} iterations + * @param {number} keylen + * @param {string} digest + * @param {(function(Error, Buffer): *)} callback + * @return {void} + + * @param {(string|Buffer)} password + * @param {(string|Buffer)} salt + * @param {number} iterations + * @param {number} keylen + * @param {string} digest + * @return {Buffer} + + * @param {number} size + * @return {Buffer} + + * @param {number} size + * @param {(function(Error, Buffer): void)} callback + * @return {void} + + * @param {(string|crypto.RsaPublicKey)} public_key + * @param {Buffer} buffer + * @return {Buffer} + + * @param {(string|crypto.RsaPrivateKey)} private_key + * @param {Buffer} buffer + * @return {Buffer} + + * @param {(string)} encoding + * @param {(string)} format + * @return {string} + + * @param {string} private_key + * @param {(string)} encoding + * @return {void} + + * @param {string} curve_name + * @return {crypto.ECDH} + /**\n * ... DH}\n */ + * @interface + * @extends {crypto.Signer} + + * @param {number} size + * @param {(function(Error, Buffer): *)=} callback + * @return {void} + + * @param {string} output_encoding + * @return {(string|Buffer)} + CertificateexportChallengespkacexportPublicKeyverifySpkacfipsCredentialDetailspfxpassphrasecertcrlciphersCredentialscreateCredentialscreateHashalgorithmcreateHmacHashinput_encodingHmaccreateCiphercreateCipherivCipheroutput_encodingfinalsetAutoPaddingauto_paddinggetAuthTagsetAADcreateDeciphercreateDecipherivDeciphersetAuthTagcreateSignSignerprivate_keyoutput_formatcreateVerifyalgorithVerifyverifysignature_formatcreateDiffieHellmanprime_lengthprimeprime_encodinggenerator_encodingDiffieHellmangenerateKeyscomputeSecretother_public_keygetPrimegetGeneratorgetPublicKeygetPrivateKeysetPublicKeypublic_keysetPrivateKeyverifyErrorgetDiffieHellmangroup_namekeylenpbkdf2SyncrandomBytespseudoRandomBytesRsaPublicKeyRsaPrivateKeypublicEncryptprivateDecryptprivateEncryptpublicDecryptgetCiphersgetCurvesgetHashesECDHcreateECDHcurve_nameDEFAULT_ENCODINGSignrngprngfinaltolDefinitions for module "crypto"crypto.Certificatecrypto.CredentialDetailscrypto.Credentialscrypto.Hashcrypto.HmacNodeJS.ReadWriteStreamNodeJSReadWriteStreamcrypto.Ciphercrypto.Deciphercrypto.SignerNodeJS.WritableStream(string|{key: string, passphrase: string}){key: string, passphrase: string}crypto.Verifycrypto.DiffieHellman(number|Buffer)(function (Error, Buffer): *)function (Error, Buffer): *(function (Error, Buffer): void)function (Error, Buffer): void(string|crypto.RsaPublicKey)crypto.RsaPublicKey(string|crypto.RsaPrivateKey)crypto.RsaPrivateKeycrypto.ECDH(function (Error, Buffer): *)=var crypto = {};crypto = {}crypto. ... n() {};crypto. ... on() {}crypto. ... ac) {};crypto. ... kac) {}crypto. ... allengecrypto. ... ototypefunction(spkac) {}crypto. ... blicKeycrypto. ... fySpkaccrypto.fips;crypto.fipscrypto. ... Detailscrypto. ... pe.pfx;crypto. ... ype.pfxcrypto. ... pe.key;crypto. ... ype.keycrypto. ... phrase;crypto. ... sphrasecrypto. ... e.cert;crypto. ... pe.certcrypto. ... ype.ca;crypto. ... type.cacrypto. ... pe.crl;crypto. ... ype.crlcrypto. ... iphers;crypto. ... cipherscrypto. ... ontext;crypto. ... contextcrypto. ... ls) {};crypto. ... ils) {}crypto. ... entialsfunction(details) {}crypto. ... hm) {};crypto. ... thm) {}crypto.createHashfunctio ... thm) {}crypto. ... ey) {};crypto. ... key) {}crypto.createHmacfunctio ... key) {}crypto. ... ta) {};crypto. ... ata) {}crypto. ... .updatecrypto. ... ng) {};crypto. ... ing) {}crypto. ... .digestcrypto. ... rd) {};crypto. ... ord) {}crypto.createCipherfunctio ... ord) {}crypto. ... iv) {};crypto. ... iv) {}crypto. ... ipherivfunctio ... iv) {}crypto. ... e.finalcrypto. ... Paddingcrypto. ... AuthTagcrypto. ... er) {};crypto. ... fer) {}crypto. ... .setAADcrypto. ... eciphercrypto. ... ag) {};crypto. ... tag) {}function(tag) {}crypto.createSigncrypto. ... pe.signcrypto. ... at) {};crypto. ... mat) {}functio ... mat) {}crypto. ... th) {};crypto. ... ith) {}crypto.createVerifyfunctio ... ith) {}crypto. ... re) {};crypto. ... ure) {}crypto. ... .verifyfunctio ... ure) {}crypto. ... or) {};crypto. ... tor) {}crypto. ... Hellmancrypto. ... me) {};crypto. ... ime) {}function(prime) {}crypto. ... ateKeyscrypto. ... eSecretcrypto. ... etPrimecrypto. ... neratorcrypto. ... vateKeycrypto. ... yError;crypto. ... fyErrorcrypto. ... ame) {}crypto. ... ck) {};crypto. ... ack) {}crypto.pbkdf2crypto. ... st) {};crypto. ... est) {}crypto.pbkdf2Syncfunctio ... est) {}crypto. ... ze) {};crypto. ... ize) {}crypto.randomBytescrypto. ... omBytescrypto. ... adding;crypto. ... paddingcrypto.publicEncryptcrypto. ... Decryptcrypto. ... Encryptcrypto.publicDecryptcrypto.getCipherscrypto.getCurvescrypto.getHashescrypto.createECDHcrypto. ... CODING;crypto. ... NCODINGmodule. ... ficate;module. ... ificatemodule. ... o.fips;module. ... to.fipsmodule.exports.fipsmodule. ... etails;module. ... Detailsmodule. ... ntials;module. ... entialsmodule. ... teHash;module. ... ateHashmodule. ... teHmac;module. ... ateHmacmodule. ... o.Hash;module. ... to.Hashmodule.exports.Hashmodule. ... o.Hmac;module. ... to.Hmacmodule.exports.Hmacmodule. ... Cipher;module. ... eCiphermodule. ... pheriv;module. ... ipherivmodule. ... .Ciphermodule. ... cipher;module. ... eciphermodule. ... teSign;module. ... ateSignmodule. ... Signer;module. ... .Signermodule. ... Verify;module. ... eVerifymodule. ... .Verifymodule. ... ellman;module. ... Hellmanmodule. ... pbkdf2;module. ... .pbkdf2module. ... f2Sync;module. ... df2Syncmodule. ... mBytes;module. ... omBytesmodule. ... licKey;module. ... blicKeymodule. ... ateKey;module. ... vateKeymodule. ... ncrypt;module. ... Encryptmodule. ... ecrypt;module. ... Decryptmodule. ... iphers;module. ... Ciphersmodule. ... Curves;module. ... tCurvesmodule. ... Hashes;module. ... tHashesmodule. ... o.ECDH;module. ... to.ECDHmodule.exports.ECDHmodule. ... teECDH;module. ... ateECDHmodule. ... CODING;module. ... NCODINGcrypto.Signcrypto.rngcrypto.prngcrypto. ... inaltolmodule. ... o.Sign;module. ... to.Signmodule.exports.Signmodule. ... to.rng;module. ... pto.rngmodule.exports.rngmodule. ... o.prng;module. ... to.prngmodule.exports.prng/opt/codeql/javascript/tools/data/externs/nodejs/dgram.js + * @externs + * @fileoverview Definitions for module "dgram" + /**\n * ... am"\n */ + * @param {string} type + * @param {(function(Buffer, dgram.RemoteInfo): void)=} callback + * @return {dgram.Socket} + /**\n * ... et}\n */ + * @param {dgram.SocketOptions} options + * @param {(function(Buffer, dgram.RemoteInfo): void)=} callback + * @return {dgram.Socket} + + * @param {(Buffer|String|Array<*>)} msg + * @param {number} port + * @param {string} address + * @param {(function(Error, number): void)=} callback + * @return {void} + + * @param {(Buffer|String|Array<*>)} msg + * @param {number} offset + * @param {number} length + * @param {number} port + * @param {string} address + * @param {(function(Error, number): void)=} callback + * @return {void} + + * @param {number=} port + * @param {string=} address + * @param {(function(): void)=} callback + * @return {void} + + * @param {dgram.BindOptions} options + * @param {Function=} callback + * @return {void} + + * @param {*=} callback + * @return {void} + + * @return {dgram.AddressInfo} + /**\n * ... fo}\n */ + * @param {boolean} flag + * @return {void} + + * @param {number} ttl + * @return {void} + + * @param {string} multicastAddress + * @param {string=} multicastInterface + * @return {void} + RemoteInfoAddressInfofamilyBindOptionsexclusiveSocketOptionsreuseAddrsetBroadcastsetTTLttlsetMulticastTTLsetMulticastLoopbackaddMembershipmulticastAddressmulticastInterfacedropMembershipDefinitions for module "dgram"(function (Buffer, dgram.RemoteInfo): void)=(function (Buffer, dgram.RemoteInfo): void)function (Buffer, dgram.RemoteInfo): voiddgram.RemoteInfodgram.Socketdgram.SocketOptions(Buffer|String|Array.<*>)(function (Error, number): void)=(function (Error, number): void)function (Error, number): void(function (): void)=dgram.BindOptionsdgram.AddressInfovar dgram = {};dgram = {}functio ... fo() {}RemoteI ... ddress;RemoteI ... addressRemoteInfo.prototypeRemoteI ... e.port;RemoteI ... pe.portRemoteI ... e.size;RemoteI ... pe.sizeAddress ... ddress;Address ... addressAddress ... ototypeAddress ... family;Address ... .familyAddress ... e.port;Address ... pe.portfunctio ... ns() {}BindOpt ... e.port;BindOpt ... pe.portBindOpt ... ototypeBindOpt ... ddress;BindOpt ... addressBindOpt ... lusive;BindOpt ... clusiveSocketO ... e.type;SocketO ... pe.typeSocketO ... ototypeSocketO ... seAddr;SocketO ... useAddrdgram.c ... ck) {};dgram.c ... ack) {}dgram.S ... n() {};dgram.S ... on() {}dgram.S ... ck) {};dgram.S ... ack) {}dgram.S ... pe.senddgram.S ... ototypedgram.S ... pe.binddgram.S ... e.closedgram.S ... addressdgram.S ... ag) {};dgram.S ... lag) {}dgram.S ... oadcastfunction(flag) {}dgram.S ... tl) {};dgram.S ... ttl) {}dgram.S ... .setTTLfunction(ttl) {}dgram.S ... castTTLdgram.S ... oopbackdgram.S ... ce) {};dgram.S ... ace) {}dgram.S ... bershipdgram.S ... ype.refdgram.S ... e.unrefmodule. ... Socket;module. ... eSocketmodule. ... .Socket/opt/codeql/javascript/tools/data/externs/nodejs/dns.js + * @externs + * @fileoverview Definitions for module "dns" + /**\n * ... ns"\n */ + * @param {string} domain + * @param {number} family + * @param {(function(Error, string, number): void)} callback + * @return {string} + + * @param {string} domain + * @param {(function(Error, string, number): void)} callback + * @return {string} + + * @param {string} domain + * @param {string} rrtype + * @param {(function(Error, Array): void)} callback + * @return {Array} + + * @param {string} domain + * @param {(function(Error, Array): void)} callback + * @return {Array} + + * @param {string} domain + * @param {(function(Error, Array): void)} callback + * @return {Array} + + * @param {string} ip + * @param {(function(Error, Array): void)} callback + * @return {Array} + + * @param {Array} servers + * @return {void} + dnsMxRecordexchangelookuprrtyperesolve4resolve6resolveMxresolveTxtresolveSrvresolveNsresolveCnamesetServersserversNODATAFORMERRSERVFAILNOTFOUNDNOTIMPREFUSEDBADQUERYBADNAMEBADFAMILYBADRESPCONNREFUSEDTIMEOUTEOFFILENOMEMDESTRUCTIONBADSTRBADFLAGSNONAMEBADHINTSNOTINITIALIZEDLOADIPHLPAPIADDRGETNETWORKPARAMSCANCELLEDDefinitions for module "dns"(function (Error, string, number): void)function (Error, string, number): void(function (Error, Array.): void)function (Error, Array.): void(function (Error, Array.): void)function (Error, Array.): voidArray.dns.MxRecordvar dns = {};dns = {}dns.MxR ... n() {};dns.MxR ... on() {}dns.MxR ... change;dns.MxR ... xchangedns.MxR ... ototypedns.MxR ... iority;dns.MxR ... rioritydns.loo ... ck) {};dns.loo ... ack) {}dns.lookupdns.res ... ck) {};dns.res ... ack) {}dns.resolvedns.resolve4dns.resolve6dns.resolveMxdns.resolveTxtdns.resolveSrvdns.resolveNsdns.resolveCnamedns.rev ... ck) {};dns.rev ... ack) {}dns.reversedns.set ... rs) {};dns.set ... ers) {}dns.setServersfunction(servers) {}dns.NODATA;dns.NODATAdns.FORMERR;dns.FORMERRdns.SERVFAIL;dns.SERVFAILdns.NOTFOUND;dns.NOTFOUNDdns.NOTIMP;dns.NOTIMPdns.REFUSED;dns.REFUSEDdns.BADQUERY;dns.BADQUERYdns.BADNAME;dns.BADNAMEdns.BADFAMILY;dns.BADFAMILYdns.BADRESP;dns.BADRESPdns.CONNREFUSED;dns.CONNREFUSEDdns.TIMEOUT;dns.TIMEOUTdns.EOF;dns.EOFdns.FILE;dns.FILEdns.NOMEM;dns.NOMEMdns.DESTRUCTION;dns.DESTRUCTIONdns.BADSTR;dns.BADSTRdns.BADFLAGS;dns.BADFLAGSdns.NONAME;dns.NONAMEdns.BADHINTS;dns.BADHINTSdns.NOTINITIALIZED;dns.NOTINITIALIZEDdns.LOADIPHLPAPI;dns.LOADIPHLPAPIdns.ADD ... PARAMS;dns.ADD ... KPARAMSdns.CANCELLED;dns.CANCELLEDmodule. ... Record;module. ... xRecordmodule. ... lookup;module. ... .lookupmodule. ... esolve;module. ... resolvemodule. ... solve4;module. ... esolve4module. ... solve6;module. ... esolve6module. ... olveMx;module. ... solveMxmodule. ... lveTxt;module. ... olveTxtmodule. ... lveSrv;module. ... olveSrvmodule. ... olveNs;module. ... solveNsmodule. ... eCname;module. ... veCnamemodule. ... everse;module. ... reversemodule. ... ervers;module. ... Serversmodule. ... .NODATAmodule. ... ORMERR;module. ... FORMERRmodule. ... RVFAIL;module. ... ERVFAILmodule. ... TFOUND;module. ... OTFOUNDmodule. ... NOTIMP;module. ... .NOTIMPmodule. ... DQUERY;module. ... ADQUERYmodule. ... ADNAME;module. ... BADNAMEmodule. ... FAMILY;module. ... DFAMILYmodule. ... ADRESP;module. ... BADRESPmodule. ... IMEOUT;module. ... TIMEOUTmodule. ... ns.EOF;module. ... dns.EOFmodule.exports.EOFmodule. ... s.FILE;module. ... ns.FILEmodule.exports.FILEmodule. ... .NOMEM;module. ... s.NOMEMmodule.exports.NOMEMmodule. ... UCTION;module. ... RUCTIONmodule. ... BADSTR;module. ... .BADSTRmodule. ... DFLAGS;module. ... ADFLAGSmodule. ... NONAME;module. ... .NONAMEmodule. ... DHINTS;module. ... ADHINTSmodule. ... ALIZED;module. ... IALIZEDmodule. ... HLPAPI;module. ... PHLPAPImodule. ... PARAMS;module. ... KPARAMS/opt/codeql/javascript/tools/data/externs/nodejs/domain.js + * @externs + * @fileoverview Definitions for module "domain" + /**\n * ... in"\n */ + * @constructor + * @extends {events.EventEmitter} + * @implements {NodeJS.Domain} + /**\n * ... in}\n */ + * @param {Function} fn + * @return {void} + + * @param {events.EventEmitter} emitter + * @return {void} + + * @param {(function(Error, *): *)} cb + * @return {*} + + * @param {(function(*): *)} cb + * @return {*} + + * @return {domain.Domain} + + * @type {domain.Domain} + DomainemittercbdisposeDefinitions for module "domain"NodeJS.Domain(function (Error, *): *)function (Error, *): *domain.Domainvar domain = {};domain = {}domain.Domain;domain. ... fn) {};domain. ... (fn) {}domain. ... ype.rundomain. ... ototypefunction(fn) {}domain. ... er) {};domain. ... ter) {}domain. ... ype.addfunction(emitter) {}domain. ... .removedomain. ... cb) {};domain. ... (cb) {}domain. ... pe.bindfunction(cb) {}domain. ... terceptdomain. ... n() {};domain. ... on() {}domain. ... disposedomain. ... embers;domain. ... membersdomain. ... e.enterdomain. ... pe.exitdomain.createmodule. ... Domain;module. ... .Domainmodule. ... create;module. ... .createdomain.active;domain.activemodule. ... active;module. ... .active/opt/codeql/javascript/tools/data/externs/nodejs/events.js + * @externs + * @fileoverview Definitions for module "events" + + * @constructor + * @extends {NodeJS.EventEmitter} + + * @type {events.EventEmitter} + + * @param {events.EventEmitter} emitter + * @param {string} event + * @return {number} + + * @param {string=} event + * @return {*} + + * @param {number} n + * @return {*} + defaultMaxListenersDefinitions for module "events"NodeJS.EventEmittervar eve ... n() {};events ... on() {}events.EventEmitter;events. ... mitter;events. ... Emitterevents. ... nt) {};events. ... ent) {}events. ... erCountevents. ... teners;events. ... stenersevents. ... er) {};events. ... ner) {}events. ... istenerevents. ... ototypeevents. ... type.onevents. ... pe.onceevents. ... (n) {};events. ... n(n) {}events. ... n() {};events. ... on() {}events. ... gs) {};events. ... rgs) {}events. ... pe.emitevents. ... ntNamesevents. ... pe) {};events. ... ype) {}module. ... events;module. ... events/opt/codeql/javascript/tools/data/externs/nodejs/fs.js + * @externs + * @fileoverview Definitions for module "fs" + /**\n * ... fs"\n */ + * @type {Date} + + * @param {string} event + * @param {(function(string, (string|Buffer)): void)} listener + * @return {*} + + * @interface + * @extends {internal.Readable} + + * @param {string} event + * @param {(function(number): void)} listener + * @return {*} + + * @interface + * @extends {internal.Writable} + + * @param {string} oldPath + * @param {string} newPath + * @param {(function(NodeJS.ErrnoException=): void)=} callback + * @return {void} + + * @param {string} oldPath + * @param {string} newPath + * @return {void} + + * @param {(string|Buffer)} path + * @param {(function(NodeJS.ErrnoException=): void)=} callback + * @return {void} + + * @param {(string|Buffer)} path + * @param {number} len + * @param {(function(NodeJS.ErrnoException=): void)=} callback + * @return {void} + + * @param {(string|Buffer)} path + * @param {number=} len + * @return {void} + + * @param {number} fd + * @param {(function(NodeJS.ErrnoException=): void)=} callback + * @return {void} + + * @param {number} fd + * @param {number} len + * @param {(function(NodeJS.ErrnoException=): void)=} callback + * @return {void} + + * @param {number} fd + * @param {number=} len + * @return {void} + + * @param {(string|Buffer)} path + * @param {number} uid + * @param {number} gid + * @param {(function(NodeJS.ErrnoException=): void)=} callback + * @return {void} + + * @param {(string|Buffer)} path + * @param {number} uid + * @param {number} gid + * @return {void} + + * @param {number} fd + * @param {number} uid + * @param {number} gid + * @param {(function(NodeJS.ErrnoException=): void)=} callback + * @return {void} + + * @param {number} fd + * @param {number} uid + * @param {number} gid + * @return {void} + + * @param {(string|Buffer)} path + * @param {number} mode + * @param {(function(NodeJS.ErrnoException=): void)=} callback + * @return {void} + + * @param {(string|Buffer)} path + * @param {string} mode + * @param {(function(NodeJS.ErrnoException=): void)=} callback + * @return {void} + + * @param {(string|Buffer)} path + * @param {number} mode + * @return {void} + + * @param {(string|Buffer)} path + * @param {string} mode + * @return {void} + + * @param {number} fd + * @param {number} mode + * @param {(function(NodeJS.ErrnoException=): void)=} callback + * @return {void} + + * @param {number} fd + * @param {string} mode + * @param {(function(NodeJS.ErrnoException=): void)=} callback + * @return {void} + + * @param {number} fd + * @param {number} mode + * @return {void} + + * @param {number} fd + * @param {string} mode + * @return {void} + + * @param {(string|Buffer)} path + * @param {(function(NodeJS.ErrnoException, fs.Stats): *)=} callback + * @return {void} + + * @param {number} fd + * @param {(function(NodeJS.ErrnoException, fs.Stats): *)=} callback + * @return {void} + + * @param {(string|Buffer)} path + * @return {fs.Stats} + + * @param {number} fd + * @return {fs.Stats} + + * @param {(string|Buffer)} srcpath + * @param {(string|Buffer)} dstpath + * @param {(function(NodeJS.ErrnoException=): void)=} callback + * @return {void} + + * @param {(string|Buffer)} srcpath + * @param {(string|Buffer)} dstpath + * @return {void} + + * @param {(string|Buffer)} srcpath + * @param {(string|Buffer)} dstpath + * @param {string=} type + * @param {(function(NodeJS.ErrnoException=): void)=} callback + * @return {void} + + * @param {(string|Buffer)} srcpath + * @param {(string|Buffer)} dstpath + * @param {string=} type + * @return {void} + + * @param {(string|Buffer)} path + * @param {(function(NodeJS.ErrnoException, string): *)=} callback + * @return {void} + + * @param {(string|Buffer)} path + * @return {string} + + * @param {(string|Buffer)} path + * @param {Object} cache + * @param {(function(NodeJS.ErrnoException, string): *)} callback + * @return {void} + + * @param {(string|Buffer)} path + * @param {Object=} cache + * @return {string} + + * @param {(string|Buffer)} path + * @return {void} + + * @param {(string|Buffer)} path + * @param {number=} mode + * @return {void} + + * @param {(string|Buffer)} path + * @param {string=} mode + * @return {void} + + * @param {string} prefix + * @param {(function(NodeJS.ErrnoException, string): void)=} callback + * @return {void} + + * @param {string} prefix + * @return {string} + + * @param {(string|Buffer)} path + * @param {(function(NodeJS.ErrnoException, Array): void)=} callback + * @return {void} + + * @param {(string|Buffer)} path + * @return {Array} + + * @param {number} fd + * @return {void} + + * @param {(string|Buffer)} path + * @param {(string|number)} flags + * @param {(function(NodeJS.ErrnoException, number): void)} callback + * @return {void} + + * @param {(string|Buffer)} path + * @param {(string|number)} flags + * @param {number} mode + * @param {(function(NodeJS.ErrnoException, number): void)} callback + * @return {void} + + * @param {(string|Buffer)} path + * @param {(string|number)} flags + * @param {number=} mode + * @return {number} + + * @param {(string|Buffer)} path + * @param {number} atime + * @param {number} mtime + * @param {(function(NodeJS.ErrnoException=): void)=} callback + * @return {void} + + * @param {(string|Buffer)} path + * @param {Date} atime + * @param {Date} mtime + * @param {(function(NodeJS.ErrnoException=): void)=} callback + * @return {void} + + * @param {(string|Buffer)} path + * @param {number} atime + * @param {number} mtime + * @return {void} + + * @param {(string|Buffer)} path + * @param {Date} atime + * @param {Date} mtime + * @return {void} + + * @param {number} fd + * @param {number} atime + * @param {number} mtime + * @param {(function(NodeJS.ErrnoException=): void)=} callback + * @return {void} + + * @param {number} fd + * @param {Date} atime + * @param {Date} mtime + * @param {(function(NodeJS.ErrnoException=): void)=} callback + * @return {void} + + * @param {number} fd + * @param {number} atime + * @param {number} mtime + * @return {void} + + * @param {number} fd + * @param {Date} atime + * @param {Date} mtime + * @return {void} + + * @param {number} fd + * @param {Buffer} buffer + * @param {number} offset + * @param {number} length + * @param {number} position + * @param {(function(NodeJS.ErrnoException, number, Buffer): void)=} callback + * @return {void} + + * @param {number} fd + * @param {Buffer} buffer + * @param {number} offset + * @param {number} length + * @param {(function(NodeJS.ErrnoException, number, Buffer): void)=} callback + * @return {void} + + * @param {number} fd + * @param {*} data + * @param {(function(NodeJS.ErrnoException, number, string): void)=} callback + * @return {void} + + * @param {number} fd + * @param {*} data + * @param {number} offset + * @param {(function(NodeJS.ErrnoException, number, string): void)=} callback + * @return {void} + + * @param {number} fd + * @param {*} data + * @param {number} offset + * @param {string} encoding + * @param {(function(NodeJS.ErrnoException, number, string): void)=} callback + * @return {void} + + * @param {number} fd + * @param {Buffer} buffer + * @param {number} offset + * @param {number} length + * @param {number=} position + * @return {number} + + * @param {number} fd + * @param {*} data + * @param {number=} position + * @param {string=} enconding + * @return {number} + + * @param {number} fd + * @param {Buffer} buffer + * @param {number} offset + * @param {number} length + * @param {number} position + * @return {number} + + * @param {string} filename + * @param {string} encoding + * @param {(function(NodeJS.ErrnoException, string): void)} callback + * @return {void} + + * @param {string} filename + * @param {{encoding: string, flag: string}} options + * @param {(function(NodeJS.ErrnoException, string): void)} callback + * @return {void} + + * @param {string} filename + * @param {{flag: string}} options + * @param {(function(NodeJS.ErrnoException, Buffer): void)} callback + * @return {void} + + * @param {string} filename + * @param {(function(NodeJS.ErrnoException, Buffer): void)} callback + * @return {void} + + * @param {string} filename + * @param {string} encoding + * @return {string} + + * @param {string} filename + * @param {{encoding: string, flag: string}} options + * @return {string} + + * @param {string} filename + * @param {{flag: string}=} options + * @return {Buffer} + + * @param {string} filename + * @param {*} data + * @param {(function(NodeJS.ErrnoException): void)=} callback + * @return {void} + + * @param {string} filename + * @param {*} data + * @param {{encoding: string, mode: number, flag: string}} options + * @param {(function(NodeJS.ErrnoException): void)=} callback + * @return {void} + + * @param {string} filename + * @param {*} data + * @param {{encoding: string, mode: string, flag: string}} options + * @param {(function(NodeJS.ErrnoException): void)=} callback + * @return {void} + + * @param {string} filename + * @param {*} data + * @param {{encoding: string, mode: number, flag: string}=} options + * @return {void} + + * @param {string} filename + * @param {*} data + * @param {{encoding: string, mode: string, flag: string}=} options + * @return {void} + + * @param {string} filename + * @param {(function(fs.Stats, fs.Stats): void)} listener + * @return {void} + + * @param {string} filename + * @param {{persistent: boolean, interval: number}} options + * @param {(function(fs.Stats, fs.Stats): void)} listener + * @return {void} + + * @param {string} filename + * @param {(function(fs.Stats, fs.Stats): void)=} listener + * @return {void} + + * @param {string} filename + * @param {(function(string, string): *)=} listener + * @return {fs.FSWatcher} + + * @param {string} filename + * @param {string} encoding + * @param {(function(string, (string|Buffer)): *)=} listener + * @return {fs.FSWatcher} + + * @param {string} filename + * @param {{persistent: boolean, recursive: boolean, encoding: string}} options + * @param {(function(string, (string|Buffer)): *)=} listener + * @return {fs.FSWatcher} + + * @param {(string|Buffer)} path + * @param {(function(boolean): void)=} callback + * @return {void} + + * @param {(string|Buffer)} path + * @return {boolean} + + * @type {fs.Constants} + + * @param {(string|Buffer)} path + * @param {(function(NodeJS.ErrnoException): void)} callback + * @return {void} + + * @param {(string|Buffer)} path + * @param {number} mode + * @param {(function(NodeJS.ErrnoException): void)} callback + * @return {void} + + * @param {(string|Buffer)} path + * @param {{flags: string, encoding: string, fd: number, mode: number, autoClose: boolean, start: number, end: number}=} options + * @return {fs.ReadStream} + + * @param {(string|Buffer)} path + * @param {{flags: string, encoding: string, fd: number, mode: number}=} options + * @return {fs.WriteStream} + + * @param {number} fd + * @param {Function} callback + * @return {void} + + * @param {string} path + * @param {(number|Date)} atime + * @param {(number|Date)} mtime + * @param {number=} flags + * @param {Function=} callback + * @return {void} + + * @param {string} path + * @param {(number|Date)} atime + * @param {(number|Date)} mtime + * @param {number=} flags + * @return {void} + + * @param {*} fd + * @param {(number|Date)} atime + * @param {(number|Date)} mtime + * @param {number=} flags + * @param {Function=} callback + * @return {void} + + * @param {*} fd + * @param {(number|Date)} atime + * @param {(number|Date)} mtime + * @param {number=} flags + * @return {void} + + * @constructor + * @extends {internal.Writable} + StatsisFileisBlockDeviceisCharacterDeviceisSymbolicLinkisFIFOisSocketinonlinkrdevblksizeatimemtimectimebirthtimeFSWatcherReadStreamWriteStreambytesWrittenrenameoldPathnewPathrenameSynctruncatetruncateSyncftruncateftruncateSyncchownchownSyncfchownfchownSynclchownlchownSyncchmodchmodSyncfchmodfchmodSynclchmodlchmodSyncstatlstatfstatlstatSyncfstatSyncsrcpathdstpathlinkSyncsymlinksymlinkSyncreadlinkreadlinkSyncrealpathrealpathSyncunlinkrmdirrmdirSyncmkdirmkdtempprefixmkdtempSyncreaddircloseSyncopenSyncutimesutimesSyncfutimesfutimesSyncfsyncfsyncSyncwriteSyncencondingreadSyncreadFilewriteFileappendFileappendFileSyncwatchFileunwatchFileexistsConstantsaccessaccessSynccreateReadStreamcreateWriteStreamfdatasyncfdatasyncSyncutimensatutimensatSyncfutimensatfutimensatSyncSyncWriteStreamDefinitions for module "fs"(function (string, (string|Buffer)): void)function (string, (string|Buffer)): void(function (number): void)function (number): void(function (NodeJS.ErrnoException=): void)=(function (NodeJS.ErrnoException=): void)function (NodeJS.ErrnoException=): voidNodeJS.ErrnoException=NodeJS.ErrnoExceptionErrnoException(function (NodeJS.ErrnoException, fs.Stats): *)=(function (NodeJS.ErrnoException, fs.Stats): *)function (NodeJS.ErrnoException, fs.Stats): *fs.Stats(function (NodeJS.ErrnoException, string): *)=(function (NodeJS.ErrnoException, string): *)function (NodeJS.ErrnoException, string): *Object.=(function (NodeJS.ErrnoException, string): void)=(function (NodeJS.ErrnoException, string): void)function (NodeJS.ErrnoException, string): void(function (NodeJS.ErrnoException, Array.): void)=(function (NodeJS.ErrnoException, Array.): void)function (NodeJS.ErrnoException, Array.): void(function (NodeJS.ErrnoException, number): void)function (NodeJS.ErrnoException, number): void(function (NodeJS.ErrnoException, number, Buffer): void)=(function (NodeJS.ErrnoException, number, Buffer): void)function (NodeJS.ErrnoException, number, Buffer): void(function (NodeJS.ErrnoException, number, string): void)=(function (NodeJS.ErrnoException, number, string): void)function (NodeJS.ErrnoException, number, string): void{encoding: string, flag: string}{flag: string}(function (NodeJS.ErrnoException, Buffer): void)function (NodeJS.ErrnoException, Buffer): void{flag: string}=(function (NodeJS.ErrnoException): void)=(function (NodeJS.ErrnoException): void)function (NodeJS.ErrnoException): void{encoding: string, mode: number, flag: string}{encoding: string, mode: string, flag: string}{encoding: string, mode: number, flag: string}={encoding: string, mode: string, flag: string}=(function (fs.Stats, fs.Stats): void)function (fs.Stats, fs.Stats): void{persistent: boolean, interval: number}persistent(function (fs.Stats, fs.Stats): void)=(function (string, string): *)=(function (string, string): *)function (string, string): *fs.FSWatcher(function (string, (string|Buffer)): *)=(function (string, (string|Buffer)): *)function (string, (string|Buffer)): *{persistent: boolean, recursive: boolean, encoding: string}(function (boolean): void)=(function (boolean): void)function (boolean): voidfs.Constants{flags: string, encoding: string, fd: number, mode: number, autoClose: boolean, start: number, end: number}={flags: string, encoding: string, fd: number, mode: number, autoClose: boolean, start: number, end: number}autoClosefs.ReadStream{flags: string, encoding: string, fd: number, mode: number}={flags: string, encoding: string, fd: number, mode: number}fs.WriteStream(number|Date)var fs = {};fs = {}function Stats() {}Stats.p ... n() {};Stats.p ... on() {}Stats.p ... .isFileStats.prototypeStats.p ... rectoryStats.p ... kDeviceStats.p ... rDeviceStats.p ... licLinkStats.p ... .isFIFOStats.p ... sSocketStats.prototype.dev;Stats.prototype.devStats.prototype.ino;Stats.prototype.inoStats.p ... e.mode;Stats.prototype.modeStats.p ... .nlink;Stats.p ... e.nlinkStats.prototype.uid;Stats.prototype.uidStats.prototype.gid;Stats.prototype.gidStats.p ... e.rdev;Stats.prototype.rdevStats.p ... e.size;Stats.prototype.sizeStats.p ... lksize;Stats.p ... blksizeStats.p ... blocks;Stats.p ... .blocksStats.p ... .atime;Stats.p ... e.atimeStats.p ... .mtime;Stats.p ... e.mtimeStats.p ... .ctime;Stats.p ... e.ctimeStats.p ... thtime;Stats.p ... rthtimefunctio ... er() {}FSWatch ... n() {};FSWatch ... on() {}FSWatch ... e.closeFSWatcher.prototypeFSWatch ... er) {};FSWatch ... ner) {}FSWatch ... istenerFSWatch ... type.onFSWatch ... pe.oncefs.Read ... n() {};fs.Read ... on() {}fs.Read ... e.closefs.Read ... ototypefs.Read ... destroyfs.Read ... er) {};fs.Read ... ner) {}fs.Read ... istenerfs.Read ... type.onfs.Read ... pe.oncefs.Writ ... n() {};fs.Writ ... on() {}fs.Writ ... e.closefs.Writ ... ototypefs.Writ ... ritten;fs.Writ ... Writtenfs.Writ ... e.path;fs.Writ ... pe.pathfs.Writ ... er) {};fs.Writ ... ner) {}fs.Writ ... istenerfs.Writ ... type.onfs.Writ ... pe.oncefs.rena ... ck) {};fs.rena ... ack) {}fs.renamefs.rena ... th) {};fs.rena ... ath) {}fs.renameSyncfunctio ... ath) {}fs.trun ... ck) {};fs.trun ... ack) {}fs.truncatefs.trun ... en) {};fs.trun ... len) {}fs.truncateSyncfunctio ... len) {}fs.ftru ... ck) {};fs.ftru ... ack) {}fs.ftruncatefs.ftru ... en) {};fs.ftru ... len) {}fs.ftruncateSyncfunction(fd, len) {}fs.chow ... ck) {};fs.chow ... ack) {}fs.chownfs.chow ... id) {};fs.chow ... gid) {}fs.chownSyncfunctio ... gid) {}fs.fcho ... ck) {};fs.fcho ... ack) {}fs.fchownfs.fcho ... id) {};fs.fcho ... gid) {}fs.fchownSyncfs.lcho ... ck) {};fs.lcho ... ack) {}fs.lchownfs.lcho ... id) {};fs.lcho ... gid) {}fs.lchownSyncfs.chmo ... ck) {};fs.chmo ... ack) {}fs.chmodfs.chmo ... de) {};fs.chmo ... ode) {}fs.chmodSyncfs.fchm ... ck) {};fs.fchm ... ack) {}fs.fchmodfs.fchm ... de) {};fs.fchm ... ode) {}fs.fchmodSyncfs.lchm ... ck) {};fs.lchm ... ack) {}fs.lchmodfs.lchm ... de) {};fs.lchm ... ode) {}fs.lchmodSyncfs.stat ... ck) {};fs.stat ... ack) {}fs.statfs.lsta ... ck) {};fs.lsta ... ack) {}fs.lstatfs.fsta ... ck) {};fs.fsta ... ack) {}fs.fstatfs.stat ... th) {};fs.stat ... ath) {}function(path) {}fs.lsta ... th) {};fs.lsta ... ath) {}fs.lstatSyncfs.fsta ... fd) {};fs.fsta ... (fd) {}fs.fstatSyncfunction(fd) {}fs.link ... ck) {};fs.link ... ack) {}fs.linkfs.link ... th) {};fs.link ... ath) {}fs.linkSyncfs.syml ... ck) {};fs.syml ... ack) {}fs.symlinkfs.syml ... pe) {};fs.syml ... ype) {}fs.symlinkSyncfs.read ... ck) {};fs.read ... ack) {}fs.readlinkfs.read ... th) {};fs.read ... ath) {}fs.readlinkSyncfs.real ... ck) {};fs.real ... ack) {}fs.realpathfs.real ... he) {};fs.real ... che) {}fs.realpathSyncfunctio ... che) {}fs.unli ... ck) {};fs.unli ... ack) {}fs.unlinkfs.unli ... th) {};fs.unli ... ath) {}fs.rmdi ... ck) {};fs.rmdi ... ack) {}fs.rmdirfs.rmdi ... th) {};fs.rmdi ... ath) {}fs.rmdirSyncfs.mkdi ... ck) {};fs.mkdi ... ack) {}fs.mkdirfs.mkdi ... de) {};fs.mkdi ... ode) {}fs.mkdt ... ck) {};fs.mkdt ... ack) {}fs.mkdtempfs.mkdt ... ix) {};fs.mkdt ... fix) {}fs.mkdtempSyncfunction(prefix) {}fs.readdirfs.clos ... ck) {};fs.clos ... ack) {}fs.closefs.clos ... fd) {};fs.clos ... (fd) {}fs.closeSyncfs.open ... ck) {};fs.open ... ack) {}fs.openfs.open ... de) {};fs.open ... ode) {}fs.openSyncfs.utim ... ck) {};fs.utim ... ack) {}fs.utimesfs.utim ... me) {};fs.utim ... ime) {}fs.utimesSyncfunctio ... ime) {}fs.futi ... ck) {};fs.futi ... ack) {}fs.futimesfs.futi ... me) {};fs.futi ... ime) {}fs.futimesSyncfs.fsyn ... ck) {};fs.fsyn ... ack) {}fs.fsyncfs.fsyn ... fd) {};fs.fsyn ... (fd) {}fs.fsyncSyncfs.writ ... ck) {};fs.writ ... ack) {}fs.writefs.writ ... on) {};fs.writ ... ion) {}fs.writeSyncfs.writ ... ng) {};fs.writ ... ing) {}fs.readfs.read ... on) {};fs.read ... ion) {}fs.readSyncfs.readFilefs.read ... ng) {};fs.read ... ing) {}fs.read ... ns) {};fs.read ... ons) {}fs.writeFilefs.writ ... ns) {};fs.writ ... ons) {}fs.appe ... ck) {};fs.appe ... ack) {}fs.appendFilefs.appe ... ns) {};fs.appe ... ons) {}fs.appendFileSyncfs.watc ... er) {};fs.watc ... ner) {}fs.watchFilefs.unwa ... er) {};fs.unwa ... ner) {}fs.unwatchFilefs.watchfs.exis ... ck) {};fs.exis ... ack) {}fs.existsfs.exis ... th) {};fs.exis ... ath) {}Constan ... e.F_OK;Constan ... pe.F_OKConstants.prototypeConstan ... e.R_OK;Constan ... pe.R_OKConstan ... e.W_OK;Constan ... pe.W_OKConstan ... e.X_OK;Constan ... pe.X_OKfs.constants;fs.constantsfs.acce ... ck) {};fs.acce ... ack) {}fs.accessfs.acce ... de) {};fs.acce ... ode) {}fs.accessSyncfs.crea ... ns) {};fs.crea ... ons) {}fs.createReadStreamfs.createWriteStreamfs.fdat ... ck) {};fs.fdat ... ack) {}fs.fdatasyncfs.fdat ... fd) {};fs.fdat ... (fd) {}fs.fdatasyncSyncmodule. ... Stream;module. ... dStreammodule. ... eStreammodule. ... rename;module. ... .renamemodule. ... meSync;module. ... ameSyncmodule. ... uncate;module. ... runcatemodule. ... teSync;module. ... ateSyncmodule. ... .chown;module. ... s.chownmodule.exports.chownmodule. ... ownSyncmodule. ... fchown;module. ... .fchownmodule. ... lchown;module. ... .lchownmodule. ... .chmod;module. ... s.chmodmodule.exports.chmodmodule. ... odSync;module. ... modSyncmodule. ... fchmod;module. ... .fchmodmodule. ... lchmod;module. ... .lchmodmodule. ... s.stat;module. ... fs.statmodule.exports.statmodule. ... .lstat;module. ... s.lstatmodule.exports.lstatmodule. ... .fstat;module. ... s.fstatmodule.exports.fstatmodule. ... atSync;module. ... tatSyncmodule. ... s.link;module. ... fs.linkmodule.exports.linkmodule. ... nkSync;module. ... inkSyncmodule. ... ymlink;module. ... symlinkmodule. ... adlink;module. ... eadlinkmodule. ... alpath;module. ... ealpathmodule. ... thSync;module. ... athSyncmodule. ... unlink;module. ... .unlinkmodule. ... .rmdir;module. ... s.rmdirmodule.exports.rmdirmodule. ... irSync;module. ... dirSyncmodule. ... .mkdir;module. ... s.mkdirmodule.exports.mkdirmodule. ... kdtemp;module. ... mkdtempmodule. ... mpSync;module. ... empSyncmodule. ... eaddir;module. ... readdirmodule. ... .close;module. ... s.closemodule.exports.closemodule. ... seSync;module. ... oseSyncmodule. ... s.open;module. ... fs.openmodule.exports.openmodule. ... enSync;module. ... penSyncmodule. ... utimes;module. ... .utimesmodule. ... esSync;module. ... mesSyncmodule. ... futimesmodule. ... .fsync;module. ... s.fsyncmodule.exports.fsyncmodule. ... ncSync;module. ... yncSyncmodule. ... .write;module. ... s.writemodule.exports.writemodule. ... iteSyncmodule. ... s.read;module. ... fs.readmodule.exports.readmodule. ... adSync;module. ... eadSyncmodule. ... adFile;module. ... eadFilemodule. ... teFile;module. ... iteFilemodule. ... ndFile;module. ... endFilemodule. ... chFile;module. ... tchFilemodule. ... .watch;module. ... s.watchmodule.exports.watchmodule. ... exists;module. ... .existsmodule. ... tsSync;module. ... stsSyncmodule. ... stants;module. ... nstantsmodule. ... access;module. ... .accessmodule. ... ssSync;module. ... essSyncmodule. ... tasync;module. ... atasyncfs.utimensatfs.utim ... gs) {};fs.utim ... ags) {}fs.utimensatSyncfs.futimensatfs.futi ... gs) {};fs.futi ... ags) {}fs.futimensatSyncfs.SyncWriteStream;fs.SyncWriteStreamfs.F_OK;fs.F_OKfs.R_OK;fs.R_OKfs.W_OK;fs.W_OKfs.X_OK;fs.X_OKmodule. ... mensat;module. ... imensatmodule. ... satSyncmodule. ... fs.F_OKmodule. ... fs.R_OKmodule. ... fs.W_OKmodule. ... fs.X_OK/opt/codeql/javascript/tools/data/externs/nodejs/globals.js +* Automatically generated from globals.d.ts +/* ... d.ts\n*/ + * @externs + /**\n * @externs\n */ + * @param {Object} targetObject + * @param {Function=} constructorOpt + * @return {void} + + * @type {NodeJS.Process} + + * @type {NodeJS.Global} + /**\n * ... al}\n */ + * @param {*} handler + * @param {*=} timeout + * @param {...*} args + * @return {number} + + * @param {(function(...*): void)} callback + * @param {number} ms + * @param {...*} args + * @return {NodeJS.Timer} + + * @param {number} handle + * @return {void} + + * @param {NodeJS.Timer} timeoutId + * @return {void} + + * @param {NodeJS.Timer} intervalId + * @return {void} + + * @param {*} expression + * @param {...*} args + * @return {number} + + * @param {(function(...*): void)} callback + * @param {...*} args + * @return {*} + + * @param {*} immediateId + * @return {void} + + * @interface + * @type {((function(string): *))} + /**\n * ... ))}\n */ + * @interface + * @extends {NodeRequireFunction} + + * @param {string} id + * @return {string} + + * @type {NodeRequire} + /**\n * ... re}\n */ + * @type {NodeRequireFunction} + + * @type {NodeModule} + + * @interface + * @extends {NodeBuffer} + + * @interface + * @extends {Error} + + * @interface + * @extends {NodeJS.EventEmitter} + + * @param {number=} size + * @return {(string|Buffer)} + + * @param {string} encoding + * @return {void} + + * @return {NodeJS.ReadableStream} + + * @template T + * @param {T} destination + * @param {{end: boolean}=} options + * @return {T} + /**\n * ... {T}\n */ + * @template T + * @param {T=} destination + * @return {void} + + * @param {string} chunk + * @return {void} + + * @param {Buffer} chunk + * @return {void} + + * @param {NodeJS.ReadableStream} oldStream + * @return {NodeJS.ReadableStream} + + * @param {(Buffer|string)} buffer + * @param {Function=} cb + * @return {boolean} + + * @param {string} str + * @param {string=} encoding + * @param {Function=} cb + * @return {boolean} + + * @param {Buffer} buffer + * @param {Function=} cb + * @return {void} + + * @param {string} str + * @param {Function=} cb + * @return {void} + + * @param {string} str + * @param {string=} encoding + * @param {Function=} cb + * @return {void} + + * @interface + * @extends {NodeJS.ReadableStream} + * @extends {NodeJS.WritableStream} + + * @return {NodeJS.ReadWriteStream} + + * @interface + * @extends {NodeJS.Events} + + * @param {NodeJS.Events} emitter + * @return {void} + + * @type {NodeJS.WritableStream} + + * @type {NodeJS.ReadableStream} + + * @param {string} directory + * @return {void} + + * @param {number=} code + * @return {void} + + * @param {number} id + * @return {void} + + * @param {string} id + * @return {void} + + * @type {NodeJS.ProcessVersions} + + * @type {{cflags: Array<*>, default_configuration: string, defines: Array, include_dirs: Array, libraries: Array}} + /**\n * ... >}}\n */ + * @type {{clang: number, host_arch: string, node_install_npm: boolean, node_install_waf: boolean, node_prefix: string, node_shared_openssl: boolean, node_shared_v8: boolean, node_shared_zlib: boolean, node_use_dtrace: boolean, node_use_etw: boolean, node_use_openssl: boolean, target_arch: string, v8_no_strict_aliasing: number, v8_use_snapshot: boolean, visibility: string}} + + * @param {number} pid + * @param {(string|number)=} signal + * @return {void} + + * @return {NodeJS.MemoryUsage} + /**\n * ... ge}\n */ + * @param {Function} callback + * @param {...*} args + * @return {void} + + * @param {number=} mask + * @return {number} + + * @param {Array=} time + * @return {Array} + + * @type {NodeJS.Domain} + + * @param {*} message + * @param {*=} sendHandle + * @return {void} + + * @type {ArrayConstructor} + + * @type {ArrayBufferConstructor} + + * @type {BooleanConstructor} + + * @type {DataViewConstructor} + + * @type {DateConstructor} + + * @type {ErrorConstructor} + + * @type {EvalErrorConstructor} + + * @type {Float32ArrayConstructor} + + * @type {Float64ArrayConstructor} + + * @type {FunctionConstructor} + + * @type {Int16ArrayConstructor} + + * @type {Int32ArrayConstructor} + + * @type {Int8ArrayConstructor} + + * @type {JSON} + /**\n * ... ON}\n */ + * @type {MapConstructor} + + * @type {Math} + /**\n * ... th}\n */ + * @type {NumberConstructor} + + * @type {ObjectConstructor} + + * @type {Function} + + * @type {RangeErrorConstructor} + + * @type {ReferenceErrorConstructor} + + * @type {RegExpConstructor} + + * @type {SetConstructor} + + * @type {StringConstructor} + + * @type {SyntaxErrorConstructor} + + * @type {TypeErrorConstructor} + + * @type {URIErrorConstructor} + + * @type {Uint16ArrayConstructor} + + * @type {Uint32ArrayConstructor} + + * @type {Uint8ArrayConstructor} + + * @type {WeakMapConstructor} + + * @type {WeakSetConstructor} + + * @type {(function(*): void)} + + * @type {(function(NodeJS.Timer): void)} + + * @type {Console} + + * @type {(function(string): string)} + + * @type {(function(string): *)} + /**\n * ... *)}\n */ + * @type {(function(number): boolean)} + + * @type {(function(string): number)} + + * @type {(function(string, number=): number)} + + * @type {(function((function(...*): void), ...*): *)} + + * @type {(function((function(...*): void), number, ...*): NodeJS.Timer)} + + * @type {(function(): void)} + + * @interface + * @extends {Uint8Array} + /**\n * ... ay}\n */ + * @param {string} string + * @param {number=} offset + * @param {number=} length + * @param {string=} encoding + * @return {number} + + * @param {string=} encoding + * @param {number=} start + * @param {number=} end + * @return {string} + + * @return {{type: string, data: Array<*>}} + + * @param {Buffer} otherBuffer + * @return {boolean} + + * @param {Buffer} otherBuffer + * @param {number=} targetStart + * @param {number=} targetEnd + * @param {number=} sourceStart + * @param {number=} sourceEnd + * @return {number} + + * @param {Buffer} targetBuffer + * @param {number=} targetStart + * @param {number=} sourceStart + * @param {number=} sourceEnd + * @return {number} + + * @param {number=} start + * @param {number=} end + * @return {Buffer} + + * @param {number} value + * @param {number} offset + * @param {number} byteLength + * @param {boolean=} noAssert + * @return {number} + + * @param {number} offset + * @param {number} byteLength + * @param {boolean=} noAssert + * @return {number} + + * @param {number} offset + * @param {boolean=} noAssert + * @return {number} + + * @param {number} value + * @param {number} offset + * @param {boolean=} noAssert + * @return {number} + + * @param {*} value + * @param {number=} offset + * @param {number=} end + * @return {*} + + * @param {(string|number|Buffer)} value + * @param {number=} byteOffset + * @param {string=} encoding + * @return {number} + + * @return {IterableIterator>} + + * @param {(string|number|Buffer)} value + * @param {number=} byteOffset + * @param {string=} encoding + * @return {boolean} + + * @return {IterableIterator} + + * @param {string} string + * @param {number=} offset + * @return {Buffer} + + * @param {boolean=} test + * @param {string=} message + * @param {...*} optionalParams + * @return {void} + + * @param {*} condition + * @param {...*} var_args + * @return {*} + + * @param {*=} message + * @param {...*} optionalParams + * @return {void} + + * @param {...*} var_args + * @return {*} + + * @param {string=} message + * @param {...*} optionalParams + * @return {void} + + * @param {*=} value + * @param {...*} optionalParams + * @return {void} + + * @param {*} value + * @return {*} + + * @param {Object} data + * @param {*=} opt_columns + * @return {*} + + * @return {*} + + * @param {string=} countTitle + * @return {void} + + * @param {string=} reportName + * @return {void} + + * @param {string=} opt_title + * @return {*} + + * @param {string=} timerName + * @return {void} + + * @param {string} name + * @return {*} + + * @param {string=} groupTitle + * @return {void} + ErrorConstructortargetObjectconstructorOptMapConstructorWeakMapConstructorSetConstructorWeakSetConstructorhandletimeoutIdclearIntervalintervalIdexpressionclearImmediateimmediateIdNodeRequireFunctionNodeRequireextensionsNodeModuleloadederrnosyscallsetEncodingresumedestinationunpipeoldStreamEventsMemoryUsagerssheapTotalheapUsedProcessVersionshttp_parserareszlibmodulesopensslProcessargvchdirexitCodegetgidsetgidgetuidsetuidversionstarget_defaultsvariablesarchplatformmemoryUsagenextTickumaskmaskuptimehrtimeGlobalGLOBALv8debugTimerIterableIteratorNodeBufferequalsotherBuffertargetStarttargetEndsourceStartsourceEndtargetBufferwriteUIntLEnoAssertwriteUIntBEwriteIntLEwriteIntBEreadUIntLEreadUIntBEreadIntLEreadIntBEreadUInt16LEreadUInt16BEreadUInt32LEreadUInt32BEreadInt8readInt16LEreadInt16BEreadInt32LEreadInt32BEreadFloatLEreadFloatBEreadDoubleLEreadDoubleBEswap16swap32swap64writeUInt8writeUInt16LEwriteUInt16BEwriteUInt32BEwriteInt8writeInt16LEwriteInt16BEwriteInt32LEwriteInt32BEwriteFloatLEwriteFloatBEwriteDoubleLEwriteDoubleBEutf8SlicebinarySliceasciiSliceutf8writebinaryWriteasciiWriteutf8WriteConsoleoptionalParamsconditiondebugdirxmlopt_columnscountTitlemarkTimelineprofilereportNameopt_titleprofileEndtimerNametimeEndgroupTitlegroupCollapsedgroupEndNodeJS.ProcessNodeJS.Global(function (...*): void)function (...*): voidNodeJS.Timer((function (string): *))(function (string): *)function (string): *NodeJS.ReadableStream{end: boolean}={end: boolean}T=(Buffer|string)NodeJS.EventsNodeJS.ProcessVersions{cflags: Array.<*>, default_configuration: string, defines: Array., include_dirs: Array., libraries: Array.}cflagsdefault_configurationdefinesinclude_dirslibraries{clang: number, host_arch: string, node_install_npm: boolean, node_install_waf: boolean, node_prefix: string, node_shared_openssl: boolean, node_shared_v8: boolean, node_shared_zlib: boolean, node_use_dtrace: boolean, node_use_etw: boolean, node_use_openssl: boolean, target_arch: string, v8_no_strict_aliasing: number, v8_use_snapshot: boolean, visibility: string}clanghost_archnode_install_npmnode_install_wafnode_prefixnode_shared_opensslnode_shared_v8node_shared_zlibnode_use_dtracenode_use_etwnode_use_openssltarget_archv8_no_strict_aliasingv8_use_snapshot(string|number)=NodeJS.MemoryUsageArray.=ArrayConstructorArrayBufferConstructorBooleanConstructorDataViewConstructorDateConstructorEvalErrorConstructorFloat32ArrayConstructorFloat64ArrayConstructorFunctionConstructorInt16ArrayConstructorInt32ArrayConstructorInt8ArrayConstructorNumberConstructorObjectConstructorRangeErrorConstructorReferenceErrorConstructorRegExpConstructorStringConstructorSyntaxErrorConstructorTypeErrorConstructorURIErrorConstructorUint16ArrayConstructorUint32ArrayConstructorUint8ArrayConstructor(function (NodeJS.Timer): void)function (NodeJS.Timer): void(function (string): string)function (string): string(function (number): boolean)function (number): boolean(function (string): number)function (string): number(function (string, number=): number)function (string, number=): number(function ((function (...*): void), ...*): *)function ((function (...*): void), ...*): *(function ((function (...*): void), number, ...*): NodeJS.Timer)function ((function (...*): void), number, ...*): NodeJS.Timer{type: string, data: Array.<*>}(string|number|Buffer)IterableIterator.>IterableIterator.function Error() {}ErrorCo ... pt) {};ErrorCo ... Opt) {}ErrorCo ... ckTraceErrorCo ... ototypefunctio ... Opt) {}ErrorCo ... eLimit;ErrorCo ... ceLimitvar process;var global;var __filename;var __dirname;var set ... gs) {};setTime ... rgs) {}var cle ... le) {};clearTi ... dle) {}function(handle) {}var cle ... Id) {};clearTi ... tId) {}functio ... tId) {}setInte ... rgs) {}clearIn ... dle) {}clearIn ... lId) {}functio ... lId) {}setImme ... rgs) {}clearIm ... dle) {}clearIm ... eId) {}functio ... eId) {}functio ... re() {}NodeReq ... id) {};NodeReq ... (id) {}NodeReq ... resolveNodeReq ... ototypefunction(id) {}NodeReq ... .cache;NodeReq ... e.cacheNodeReq ... nsions;NodeReq ... ensionsNodeReq ... e.main;NodeReq ... pe.mainvar require;NodeMod ... xports;NodeMod ... exportsNodeModule.prototypeNodeMod ... equire;NodeMod ... requireNodeMod ... ype.id;NodeMod ... type.idNodeMod ... lename;NodeMod ... ilenameNodeMod ... loaded;NodeMod ... .loadedNodeMod ... parent;NodeMod ... .parentNodeMod ... ildren;NodeMod ... hildrenvar module;var exports;SlowBuffer.prototypeSlowBuffer.isBuffer;SlowBuffer.isBufferSlowBuffer.concat;SlowBuffer.concatfunction Buffer() {}Buffer ... ing) {}Buffer ... ize) {}Buffer ... ray) {}Buffer ... fer) {}Buffer.from;Buffer.isBuffer;Buffer.isBufferBuffer.isEncoding;Buffer.isEncodingBuffer.byteLength;Buffer.byteLengthBuffer.concat;Buffer.compare;Buffer.compareBuffer.alloc;Buffer.allocUnsafe;Buffer.allocUnsafeBuffer. ... feSlow;Buffer. ... afeSlowvar Nod ... || {};NodeJS ... S || {}NodeJS || {}NodeJS. ... n() {};NodeJS. ... on() {}NodeJS. ... ceptionNodeJS. ... .errno;NodeJS. ... e.errnoNodeJS. ... ototypeNodeJS. ... e.code;NodeJS. ... pe.codeNodeJS. ... e.path;NodeJS. ... pe.pathNodeJS. ... yscall;NodeJS. ... syscallNodeJS. ... .stack;NodeJS. ... e.stackNodeJS.EventEmitter;NodeJS. ... er) {};NodeJS. ... ner) {}NodeJS. ... istenerNodeJS. ... type.onNodeJS. ... pe.onceNodeJS. ... nt) {};NodeJS. ... ent) {}NodeJS. ... stenersNodeJS. ... (n) {};NodeJS. ... n(n) {}NodeJS. ... gs) {};NodeJS. ... rgs) {}NodeJS. ... pe.emitNodeJS. ... pe) {};NodeJS. ... ype) {}NodeJS. ... erCountNodeJS. ... ntNamesNodeJS. ... eStreamNodeJS. ... adable;NodeJS. ... eadableNodeJS. ... ze) {};NodeJS. ... ize) {}NodeJS. ... pe.readNodeJS. ... ng) {};NodeJS. ... ing) {}NodeJS. ... ncodingNodeJS. ... e.pauseNodeJS. ... .resumeNodeJS. ... ns) {};NodeJS. ... ons) {}NodeJS. ... pe.pipeNodeJS. ... on) {};NodeJS. ... ion) {}NodeJS. ... .unpipeNodeJS. ... nk) {};NodeJS. ... unk) {}NodeJS. ... unshiftfunction(chunk) {}NodeJS. ... am) {};NodeJS. ... eam) {}NodeJS. ... pe.wrapfunctio ... eam) {}NodeJS. ... itable;NodeJS. ... ritableNodeJS. ... cb) {};NodeJS. ... cb) {}NodeJS. ... e.writefunctio ... cb) {}NodeJS. ... ype.endfunction(str, cb) {}NodeJS. ... fn) {};NodeJS. ... (fn) {}NodeJS. ... ype.runNodeJS. ... ter) {}NodeJS. ... ype.addNodeJS. ... .removeNodeJS. ... (cb) {}NodeJS. ... pe.bindNodeJS. ... terceptNodeJS. ... disposeNodeJS. ... pe.rss;NodeJS. ... ype.rssNodeJS. ... pTotal;NodeJS. ... apTotalNodeJS. ... apUsed;NodeJS. ... eapUsedNodeJS. ... ersionsNodeJS. ... parser;NodeJS. ... _parserNodeJS. ... e.node;NodeJS. ... pe.nodeNodeJS. ... ype.v8;NodeJS. ... type.v8NodeJS. ... e.ares;NodeJS. ... pe.aresNodeJS. ... ype.uv;NodeJS. ... type.uvNodeJS. ... e.zlib;NodeJS. ... pe.zlibNodeJS. ... odules;NodeJS. ... modulesNodeJS. ... penssl;NodeJS. ... opensslNodeJS. ... stdout;NodeJS. ... .stdoutNodeJS. ... stderr;NodeJS. ... .stderrNodeJS. ... .stdin;NodeJS. ... e.stdinNodeJS. ... e.argv;NodeJS. ... pe.argvNodeJS. ... ecArgv;NodeJS. ... xecArgvNodeJS. ... ecPath;NodeJS. ... xecPathNodeJS. ... e.abortNodeJS. ... ry) {};NodeJS. ... ory) {}NodeJS. ... e.chdirfunctio ... ory) {}NodeJS. ... ype.cwdNodeJS. ... pe.env;NodeJS. ... ype.envNodeJS. ... de) {};NodeJS. ... ode) {}NodeJS. ... pe.exitNodeJS. ... itCode;NodeJS. ... xitCodeNodeJS. ... .getgidNodeJS. ... id) {};NodeJS. ... (id) {}NodeJS. ... .setgidNodeJS. ... .getuidNodeJS. ... .setuidNodeJS. ... ersion;NodeJS. ... versionNodeJS. ... rsions;NodeJS. ... config;NodeJS. ... .configNodeJS. ... faults;NodeJS. ... efaultsNodeJS. ... iables;NodeJS. ... riablesNodeJS. ... al) {};NodeJS. ... nal) {}NodeJS. ... pe.killNodeJS. ... pe.pid;NodeJS. ... ype.pidNodeJS. ... .title;NodeJS. ... e.titleNodeJS. ... e.arch;NodeJS. ... pe.archNodeJS. ... atform;NodeJS. ... latformNodeJS. ... ryUsageNodeJS. ... extTickNodeJS. ... sk) {};NodeJS. ... ask) {}NodeJS. ... e.umaskfunction(mask) {}NodeJS. ... .uptimeNodeJS. ... me) {};NodeJS. ... ime) {}NodeJS. ... .hrtimefunction(time) {}NodeJS. ... domain;NodeJS. ... .domainNodeJS. ... le) {};NodeJS. ... dle) {}NodeJS. ... pe.sendNodeJS. ... connectNodeJS. ... nected;NodeJS. ... nnectedNodeJS. ... .Array;NodeJS. ... e.ArrayNodeJS. ... Buffer;NodeJS. ... yBufferNodeJS. ... oolean;NodeJS. ... BooleanNodeJS. ... .BufferNodeJS. ... ay) {};NodeJS. ... ray) {}NodeJS. ... fer) {}NodeJS. ... r.from;NodeJS. ... er.fromNodeJS. ... sBufferNodeJS. ... coding;NodeJS. ... Length;NodeJS. ... eLengthNodeJS. ... concat;NodeJS. ... .concatNodeJS. ... ompare;NodeJS. ... compareNodeJS. ... .alloc;NodeJS. ... r.allocNodeJS. ... Unsafe;NodeJS. ... cUnsafeNodeJS. ... feSlow;NodeJS. ... afeSlowNodeJS. ... taView;NodeJS. ... ataViewNodeJS. ... e.Date;NodeJS. ... pe.DateNodeJS. ... .Error;NodeJS. ... e.ErrorNodeJS. ... lError;NodeJS. ... alErrorNodeJS. ... 2Array;NodeJS. ... 32ArrayNodeJS. ... 4Array;NodeJS. ... 64ArrayNodeJS. ... nction;NodeJS. ... unctionNodeJS. ... GLOBAL;NodeJS. ... .GLOBALNodeJS. ... finity;NodeJS. ... nfinityNodeJS. ... 6Array;NodeJS. ... 16ArrayNodeJS. ... 8Array;NodeJS. ... t8ArrayNodeJS. ... e.Intl;NodeJS. ... pe.IntlNodeJS. ... e.JSON;NodeJS. ... pe.JSONNodeJS. ... pe.Map;NodeJS. ... ype.MapNodeJS. ... e.Math;NodeJS. ... pe.MathNodeJS. ... pe.NaN;NodeJS. ... ype.NaNNodeJS. ... Number;NodeJS. ... .NumberNodeJS. ... Object;NodeJS. ... .ObjectNodeJS. ... romise;NodeJS. ... PromiseNodeJS. ... eError;NodeJS. ... geErrorNodeJS. ... ceErrorNodeJS. ... RegExp;NodeJS. ... .RegExpNodeJS. ... pe.Set;NodeJS. ... ype.SetNodeJS. ... String;NodeJS. ... .StringNodeJS. ... Symbol;NodeJS. ... .SymbolNodeJS. ... xError;NodeJS. ... axErrorNodeJS. ... peErrorNodeJS. ... IError;NodeJS. ... RIErrorNodeJS. ... dArray;NodeJS. ... edArrayNodeJS. ... eakMap;NodeJS. ... WeakMapNodeJS. ... eakSet;NodeJS. ... WeakSetNodeJS. ... ediate;NodeJS. ... mediateNodeJS. ... terval;NodeJS. ... ntervalNodeJS. ... imeout;NodeJS. ... TimeoutNodeJS. ... onsole;NodeJS. ... consoleNodeJS. ... odeURI;NodeJS. ... codeURINodeJS. ... ponent;NodeJS. ... mponentNodeJS. ... escape;NodeJS. ... .escapeNodeJS. ... e.eval;NodeJS. ... pe.evalNodeJS. ... global;NodeJS. ... .globalNodeJS. ... Finite;NodeJS. ... sFiniteNodeJS. ... .isNaN;NodeJS. ... e.isNaNNodeJS. ... eFloat;NodeJS. ... seFloatNodeJS. ... rseInt;NodeJS. ... arseIntNodeJS. ... rocess;NodeJS. ... processNodeJS. ... e.root;NodeJS. ... pe.rootNodeJS. ... efined;NodeJS. ... definedNodeJS. ... nescapeNodeJS. ... ype.gc;NodeJS. ... type.gcNodeJS. ... 8debug;NodeJS. ... v8debugNodeJS. ... ype.refNodeJS. ... e.unrefNodeBuf ... ng) {};NodeBuf ... ing) {}NodeBuf ... e.writeNodeBuffer.prototypeNodeBuf ... nd) {};NodeBuf ... end) {}NodeBuf ... oStringNodeBuf ... n() {};NodeBuf ... on() {}NodeBuf ... .toJSONNodeBuf ... er) {};NodeBuf ... fer) {}NodeBuf ... .equalsNodeBuf ... End) {}NodeBuf ... compareNodeBuf ... pe.copyNodeBuf ... e.sliceNodeBuf ... rt) {};NodeBuf ... ert) {}NodeBuf ... eUIntLENodeBuf ... eUIntBENodeBuf ... teIntLENodeBuf ... teIntBENodeBuf ... dUIntLENodeBuf ... dUIntBENodeBuf ... adIntLENodeBuf ... adIntBENodeBuf ... adUInt8NodeBuf ... Int16LENodeBuf ... Int16BENodeBuf ... Int32LENodeBuf ... Int32BENodeBuf ... eadInt8NodeBuf ... FloatLENodeBuf ... FloatBENodeBuf ... oubleLENodeBuf ... oubleBENodeBuf ... .swap16NodeBuf ... .swap32NodeBuf ... .swap64NodeBuf ... teUInt8NodeBuf ... iteInt8NodeBuf ... pe.fillNodeBuf ... indexOfNodeBuf ... IndexOfNodeBuf ... entriesNodeBuf ... ncludesNodeBuf ... pe.keysNodeBuf ... .valuesNodeBuf ... f8SliceNodeBuf ... rySliceNodeBuf ... iiSliceNodeBuf ... et) {};NodeBuf ... set) {}NodeBuf ... f8writeNodeBuf ... ryWriteNodeBuf ... iiWriteNodeBuf ... f8WriteConsole ... ms) {};Console ... ams) {}Console ... .assertConsole.prototypefunctio ... ams) {}Console ... gs) {};Console ... rgs) {}Console ... e.errorConsole ... pe.infoConsole ... ype.logConsole ... pe.warnConsole ... e.debugConsole ... ype.dirConsole ... ue) {};Console ... lue) {}Console ... .dirxmlConsole ... ns) {};Console ... mns) {}Console ... e.tablefunctio ... mns) {}Console ... e.traceConsole ... n() {};Console ... on() {}Console ... le) {};Console ... tle) {}Console ... e.countfunctio ... tle) {}Console ... imelineConsole ... me) {};Console ... ame) {}Console ... profileConsole ... fileEndConsole ... pe.timefunction(name) {}Console ... timeEndConsole ... meStampConsole ... e.groupConsole ... llapsedConsole ... roupEndConsole ... e.clear/opt/codeql/javascript/tools/data/externs/nodejs/http.js + * @externs + * @fileoverview Definitions for module "http" + /**\n * ... tp"\n */ + * @type {(http.Agent|boolean)} + + * @interface + * @extends {net.Server} + + * @param {number} msecs + * @param {Function} callback + * @return {void} + + * @interface + * @extends {http.IncomingMessage} + + * @type {net.Socket} + + * @param {Buffer} buffer + * @return {boolean} + + * @param {Buffer} buffer + * @param {Function=} cb + * @return {boolean} + + * @param {string} str + * @param {Function=} cb + * @return {boolean} + + * @param {string} str + * @param {string=} encoding + * @param {string=} fd + * @return {boolean} + + * @param {*} chunk + * @param {string=} encoding + * @return {*} + + * @param {number} statusCode + * @param {string=} reasonPhrase + * @param {*=} headers + * @return {void} + + * @param {number} statusCode + * @param {*=} headers + * @return {void} + + * @param {string} name + * @param {(string|Array)} value + * @return {void} + + * @param {number} msecs + * @param {Function} callback + * @return {http.ServerResponse} + + * @param {string} name + * @return {string} + + * @param {string} name + * @return {void} + + * @param {*} headers + * @return {void} + + * @param {*=} data + * @param {string=} encoding + * @return {void} + + * @param {*} chunk + * @param {string=} encoding + * @return {void} + + * @param {number} timeout + * @param {Function=} callback + * @return {void} + + * @param {boolean=} noDelay + * @return {void} + + * @param {boolean=} enable + * @param {number=} initialDelay + * @return {void} + + * @param {number} msecs + * @param {Function} callback + * @return {NodeJS.Timer} + + * @param {Error=} error + * @return {void} + + * @param {http.AgentOptions=} opts + * @return {http.Agent} + * @constructor + + * @param {(function(http.IncomingMessage, http.ServerResponse): void)=} requestListener + * @return {http.Server} + + * @param {number=} port + * @param {string=} host + * @return {*} + + * @param {http.RequestOptions} options + * @param {(function(http.IncomingMessage): void)=} callback + * @return {http.ClientRequest} + /**\n * ... st}\n */ + * @param {*} options + * @param {(function(http.IncomingMessage): void)=} callback + * @return {http.ClientRequest} + + * @type {http.Agent} + RequestOptionshostlocalAddresssocketPathauthagentmsecsmaxHeadersCountlisteningServerRequestServerResponsewriteContinuewriteHeadreasonPhrasestatusMessageheadersSentsetHeadersendDategetHeaderremoveHeaderaddTrailersfinishedClientRequestsetNoDelaynoDelaysetSocketKeepAliveenableinitialDelayIncomingMessagehttpVersionhttpVersionMajorhttpVersionMinorrawHeaderstrailersrawTrailerssocketClientResponseAgentOptionskeepAlivekeepAliveMsecsmaxSocketsmaxFreeSocketsAgentoptssocketsrequestsMETHODSSTATUS_CODEScreateServerrequestListenercreateClientglobalAgentDefinitions for module "http"(http.Agent|boolean)http.Agenthttp.IncomingMessagehttp.ServerResponseError=http.AgentOptions=http.AgentOptions(function (http.IncomingMessage, http.ServerResponse): void)=(function (http.IncomingMessage, http.ServerResponse): void)function (http.IncomingMessage, http.ServerResponse): voidhttp.Serverhttp.RequestOptions(function (http.IncomingMessage): void)=(function (http.IncomingMessage): void)function (http.IncomingMessage): voidhttp.ClientRequestvar http = {};http = {}http.Re ... n() {};http.Re ... on() {}http.Re ... otocol;http.Re ... rotocolhttp.Re ... ototypehttp.Re ... e.host;http.Re ... pe.hosthttp.Re ... stname;http.Re ... ostnamehttp.Re ... family;http.Re ... .familyhttp.Re ... e.port;http.Re ... pe.porthttp.Re ... ddress;http.Re ... Addresshttp.Re ... etPath;http.Re ... ketPathhttp.Re ... method;http.Re ... .methodhttp.Re ... e.path;http.Re ... pe.pathhttp.Re ... eaders;http.Re ... headershttp.Re ... e.auth;http.Re ... pe.authhttp.Re ... .agent;http.Re ... e.agenthttp.Se ... n() {};http.Se ... on() {}http.Se ... ck) {};http.Se ... ack) {}http.Se ... Timeouthttp.Se ... ototypehttp.Se ... sCount;http.Se ... rsCounthttp.Se ... imeout;http.Se ... timeouthttp.Se ... tening;http.Se ... steninghttp.ServerRequesthttp.Se ... ection;http.Se ... nectionhttp.Se ... er) {};http.Se ... fer) {}http.Se ... e.writehttp.Se ... cb) {};http.Se ... cb) {}http.Se ... fd) {};http.Se ... fd) {}functio ... fd) {}http.Se ... ng) {};http.Se ... ing) {}http.Se ... ontinuehttp.Se ... rs) {};http.Se ... ers) {}http.Se ... iteHeadhttp.Se ... usCode;http.Se ... tusCodehttp.Se ... essage;http.Se ... Messagehttp.Se ... rsSent;http.Se ... ersSenthttp.Se ... ue) {};http.Se ... lue) {}http.Se ... tHeaderhttp.Se ... ndDate;http.Se ... endDatehttp.Se ... me) {};http.Se ... ame) {}http.Se ... eHeaderhttp.Se ... railersfunction(headers) {}http.Se ... nished;http.Se ... inishedhttp.Se ... ype.endhttp.Cl ... n() {};http.Cl ... on() {}http.Cl ... er) {};http.Cl ... fer) {}http.Cl ... e.writehttp.Cl ... ototypehttp.Cl ... cb) {};http.Cl ... cb) {}http.Cl ... fd) {};http.Cl ... fd) {}http.Cl ... ng) {};http.Cl ... ing) {}http.Cl ... e.aborthttp.Cl ... ck) {};http.Cl ... ack) {}http.Cl ... Timeouthttp.Cl ... ay) {};http.Cl ... lay) {}http.Cl ... NoDelayfunction(noDelay) {}http.Cl ... epAlivefunctio ... lay) {}http.Cl ... ue) {};http.Cl ... lue) {}http.Cl ... tHeaderhttp.Cl ... me) {};http.Cl ... ame) {}http.Cl ... eHeaderhttp.Cl ... rs) {};http.Cl ... ers) {}http.Cl ... railershttp.Cl ... ype.endhttp.In ... n() {};http.In ... on() {}http.In ... ersion;http.In ... Versionhttp.In ... ototypehttp.In ... nMajor;http.In ... onMajorhttp.In ... nMinor;http.In ... onMinorhttp.In ... ection;http.In ... nectionhttp.In ... eaders;http.In ... headershttp.In ... Headershttp.In ... ailers;http.In ... railershttp.In ... ck) {};http.In ... ack) {}http.In ... Timeouthttp.In ... method;http.In ... .methodhttp.In ... pe.url;http.In ... ype.urlhttp.In ... usCode;http.In ... tusCodehttp.In ... essage;http.In ... Messagehttp.In ... socket;http.In ... .sockethttp.In ... or) {};http.In ... ror) {}http.In ... destroyfunction(error) {}http.ClientResponsehttp.Ag ... n() {};http.Ag ... on() {}http.Ag ... pAlive;http.Ag ... epAlivehttp.Ag ... ototypehttp.Ag ... eMsecs;http.Ag ... veMsecshttp.Ag ... ockets;http.Ag ... Socketshttp.Ag ... ts) {};http.Ag ... pts) {}function(opts) {}http.Agent.prototypehttp.Ag ... socketshttp.Ag ... quests;http.Ag ... equestshttp.Ag ... destroyhttp.METHODS;http.METHODShttp.STATUS_CODES;http.STATUS_CODEShttp.cr ... er) {};http.cr ... ner) {}http.createServerhttp.cr ... st) {};http.cr ... ost) {}http.createClientfunctio ... ost) {}http.re ... ck) {};http.re ... ack) {}http.requesthttp.ge ... ck) {};http.ge ... ack) {}http.globalAgent;http.globalAgentmodule. ... Server;module. ... .Servermodule. ... equest;module. ... Requestmodule. ... sponse;module. ... esponsemodule. ... essage;module. ... Messagemodule. ... .Agent;module. ... p.Agentmodule.exports.Agentmodule. ... ETHODS;module. ... METHODSmodule. ... _CODES;module. ... S_CODESmodule. ... eServermodule. ... Client;module. ... eClientmodule. ... requestmodule. ... tp.get;module. ... ttp.getmodule.exports.getmodule. ... lAgent;module. ... alAgent/opt/codeql/javascript/tools/data/externs/nodejs/https.js + * @externs + * @fileoverview Definitions for module "https" + /**\n * ... ps"\n */ + * @type {(function(string, (function(Error, tls.SecureContext): *)): *)} + + * @interface + * @extends {http.RequestOptions} + + * @interface + * @extends {http.Agent} + + * @interface + * @extends {http.AgentOptions} + + * @type {(function(new: https.Agent, https.AgentOptions=))} + + * @interface + * @extends {tls.Server} + + * @param {https.ServerOptions} options + * @param {Function=} requestListener + * @return {https.Server} + + * @param {https.RequestOptions} options + * @param {(function(http.IncomingMessage): void)=} callback + * @return {http.ClientRequest} + + * @type {https.Agent} + tls"tls""http"ServerOptionshonorCipherOrderrequestCertrejectUnauthorizedNPNProtocolsSNICallbacksecureProtocolmaxCachedSessionsDefinitions for module "https"(function (string, (function (Error, tls.SecureContext): *)): *)function (string, (function (Error, tls.SecureContext): *)): *(function (Error, tls.SecureContext): *)function (Error, tls.SecureContext): *tls.SecureContextSecureContext(function (new: https.Agent, https.AgentOptions=))function (new: https.Agent, https.AgentOptions=)https.AgentOptions=https.AgentOptionshttps.Agenttls.Serverhttps.ServerOptionshttps.Serverhttps.RequestOptionsvar https = {};https = {}var tls ... "tls");tls = require("tls")require("tls")var htt ... http");http = ... "http")require("http")https.S ... n() {};https.S ... on() {}https.S ... pe.pfx;https.S ... ype.pfxhttps.S ... ototypehttps.S ... pe.key;https.S ... ype.keyhttps.S ... phrase;https.S ... sphrasehttps.S ... e.cert;https.S ... pe.certhttps.S ... ype.ca;https.S ... type.cahttps.S ... pe.crl;https.S ... ype.crlhttps.S ... iphers;https.S ... ciphershttps.S ... rOrder;https.S ... erOrderhttps.S ... stCert;https.S ... estCerthttps.S ... orized;https.S ... horizedhttps.S ... tocols;https.S ... otocolshttps.S ... llback;https.S ... allbackhttps.R ... n() {};https.R ... on() {}https.R ... pe.pfx;https.R ... ype.pfxhttps.R ... ototypehttps.R ... pe.key;https.R ... ype.keyhttps.R ... phrase;https.R ... sphrasehttps.R ... e.cert;https.R ... pe.certhttps.R ... ype.ca;https.R ... type.cahttps.R ... iphers;https.R ... ciphershttps.R ... orized;https.R ... horizedhttps.R ... otocol;https.R ... rotocolhttps.A ... n() {};https.A ... on() {}https.A ... pe.pfx;https.A ... ype.pfxhttps.A ... ototypehttps.A ... pe.key;https.A ... ype.keyhttps.A ... phrase;https.A ... sphrasehttps.A ... e.cert;https.A ... pe.certhttps.A ... ype.ca;https.A ... type.cahttps.A ... iphers;https.A ... ciphershttps.A ... orized;https.A ... horizedhttps.A ... otocol;https.A ... rotocolhttps.A ... ssions;https.A ... essionshttps.Agent;https.c ... er) {};https.c ... ner) {}https.createServerhttps.r ... ck) {};https.r ... ack) {}https.g ... ck) {};https.g ... ack) {}https.globalAgent;https.globalAgentmodule. ... s.Agentmodule. ... ps.get;module. ... tps.get/opt/codeql/javascript/tools/data/externs/nodejs/module.js + * @externs + * @fileoverview Definitions for module "module" + + * @param {string} id + * @param {Module} parent + * @return {Module} + * @constructor + + * @type {Module} + + * @param {string} script + * @return {string} + + * @return {Object} + + * @param {string} id + * @return {*} + globalPathswrapperrunMainrequireRepl_cache_pathCache_realpathCache_extensions_debug_findPath_nodeModulePaths_resolveLookupPaths_load_resolveFilename_initPaths_preloadModulesDefinitions for module "module"var Mod ... nt) {};Module ... ent) {}Module.Module;Module.ModuleModule.globalPaths;Module.globalPathsModule.wrapper;Module.wrapperModule. ... pt) {};Module. ... ipt) {}Module.wrapfunction(script) {}Module. ... n() {};Module. ... on() {}Module.runMainModule.requireReplModule._cache;Module._cacheModule._pathCache;Module._pathCacheModule. ... hCache;Module. ... thCacheModule._extensions;Module._extensionsModule._debug;Module._debugModule._findPath;Module._findPathModule. ... ePaths;Module. ... lePathsModule. ... pPaths;Module. ... upPathsModule._load;Module._loadModule. ... lename;Module. ... ilenameModule._initPaths;Module._initPathsModule. ... odules;Module. ... ModulesModule. ... id) {};Module. ... (id) {}Module. ... requireModule.prototypemodule. ... Module;module. ... Module/opt/codeql/javascript/tools/data/externs/nodejs/net.js + * @externs + * @fileoverview Definitions for module "net" + /**\n * ... et"\n */ + * @interface + * @extends {internal.Duplex} + /**\n * ... ex}\n */ + * @param {*} data + * @param {string=} encoding + * @param {Function=} callback + * @return {void} + + * @param {number} port + * @param {string=} host + * @param {Function=} connectionListener + * @return {void} + + * @param {string} path + * @param {Function=} connectionListener + * @return {void} + + * @param {string=} encoding + * @return {void} + + * @return {net.Socket} + + * @return {{port: number, family: string, address: string}} + + * @type {(function(new: net.Socket, {fd: string, type: string, allowHalfOpen: boolean}=))} + + * @interface + * @extends {net.Socket} + + * @param {number} port + * @param {string=} hostname + * @param {number=} backlog + * @param {Function=} listeningListener + * @return {net.Server} + + * @param {number} port + * @param {string=} hostname + * @param {Function=} listeningListener + * @return {net.Server} + + * @param {number} port + * @param {number=} backlog + * @param {Function=} listeningListener + * @return {net.Server} + + * @param {number} port + * @param {Function=} listeningListener + * @return {net.Server} + + * @param {string} path + * @param {number=} backlog + * @param {Function=} listeningListener + * @return {net.Server} + + * @param {string} path + * @param {Function=} listeningListener + * @return {net.Server} + + * @param {*} handle + * @param {number=} backlog + * @param {Function=} listeningListener + * @return {net.Server} + + * @param {*} handle + * @param {Function=} listeningListener + * @return {net.Server} + + * @param {net.ListenOptions} options + * @param {Function=} listeningListener + * @return {net.Server} + + * @param {Function=} callback + * @return {net.Server} + + * @param {(function(Error, number): void)} cb + * @return {void} + + * @return {net.Server} + + * @param {(function(net.Socket): void)=} connectionListener + * @return {net.Server} + + * @param {{allowHalfOpen: boolean}=} options + * @param {(function(net.Socket): void)=} connectionListener + * @return {net.Server} + + * @param {{port: number, host: string, localAddress: string, localPort: string, family: number, allowHalfOpen: boolean}} options + * @param {Function=} connectionListener + * @return {net.Socket} + + * @param {number} port + * @param {string=} host + * @param {Function=} connectionListener + * @return {net.Socket} + + * @param {string} path + * @param {Function=} connectionListener + * @return {net.Socket} + + * @param {string} input + * @return {number} + + * @param {string} input + * @return {boolean} + connectconnectionListenerbufferSizesetKeepAliveremoteAddressremoteFamilyremotePortlocalPortbytesReadListenOptionsbackloglisteningListenergetConnectionsmaxConnectionsconnectionscreateConnectionisIPisIPv4isIPv6Definitions for module "net"internal.DuplexDuplex{port: number, family: string, address: string}(function (new: net.Socket, {fd: string, type: string, allowHalfOpen: boolean}=))function (new: net.Socket, {fd: string, type: string, allowHalfOpen: boolean}=){fd: string, type: string, allowHalfOpen: boolean}={fd: string, type: string, allowHalfOpen: boolean}allowHalfOpennet.ListenOptions(function (net.Socket): void)=(function (net.Socket): void)function (net.Socket): void{allowHalfOpen: boolean}={allowHalfOpen: boolean}{port: number, host: string, localAddress: string, localPort: string, family: number, allowHalfOpen: boolean}var net = {};net = {}net.Soc ... n() {};net.Soc ... on() {}net.Soc ... er) {};net.Soc ... fer) {}net.Soc ... e.writenet.Socket.prototypenet.Soc ... cb) {};net.Soc ... cb) {}net.Soc ... fd) {};net.Soc ... fd) {}net.Soc ... ck) {};net.Soc ... ack) {}net.Soc ... ner) {}net.Soc ... connectnet.Soc ... erSize;net.Soc ... ferSizenet.Soc ... ng) {};net.Soc ... ing) {}net.Soc ... ncodingnet.Soc ... destroynet.Soc ... e.pausenet.Soc ... .resumenet.Soc ... Timeoutnet.Soc ... ay) {};net.Soc ... lay) {}net.Soc ... NoDelaynet.Soc ... epAlivenet.Soc ... addressnet.Soc ... e.unrefnet.Soc ... ype.refnet.Soc ... ddress;net.Soc ... Addressnet.Soc ... Family;net.Soc ... eFamilynet.Soc ... tePort;net.Soc ... otePortnet.Soc ... alPort;net.Soc ... calPortnet.Soc ... esRead;net.Soc ... tesReadnet.Soc ... ritten;net.Soc ... Writtennet.Soc ... ype.endnet.Socket;net.Lis ... n() {};net.Lis ... on() {}net.Lis ... e.port;net.Lis ... pe.portnet.Lis ... ototypenet.Lis ... e.host;net.Lis ... pe.hostnet.Lis ... acklog;net.Lis ... backlognet.Lis ... e.path;net.Lis ... pe.pathnet.Lis ... lusive;net.Lis ... clusivenet.Ser ... n() {};net.Ser ... on() {}net.Ser ... er) {};net.Ser ... ner) {}net.Ser ... .listennet.Server.prototypenet.Ser ... ck) {};net.Ser ... ack) {}net.Ser ... e.closenet.Ser ... addressnet.Ser ... cb) {};net.Ser ... (cb) {}net.Ser ... ectionsnet.Ser ... ype.refnet.Ser ... e.unrefnet.Ser ... ctions;net.cre ... er) {};net.cre ... ner) {}net.createServernet.con ... er) {};net.con ... ner) {}net.connectnet.createConnectionnet.isI ... ut) {};net.isI ... put) {}net.isIPfunction(input) {}net.isIPv4net.isIPv6module. ... ection;module. ... nectionmodule. ... t.isIP;module. ... et.isIPmodule.exports.isIPmodule. ... isIPv4;module. ... .isIPv4module. ... isIPv6;module. ... .isIPv6/opt/codeql/javascript/tools/data/externs/nodejs/os.js + * @externs + * @fileoverview Definitions for module "os" + /**\n * ... os"\n */ + * @return {Array} + + * @return {Array} + /**\n * ... o>}\n */ + * @return {Object>} + + * @param {{encoding: string}=} options + * @return {{username: string, uid: number, gid: number, shell: *, homedir: string}} + + * @type {{SIGHUP: number, SIGINT: number, SIGQUIT: number, SIGILL: number, SIGTRAP: number, SIGABRT: number, SIGIOT: number, SIGBUS: number, SIGFPE: number, SIGKILL: number, SIGUSR1: number, SIGSEGV: number, SIGUSR2: number, SIGPIPE: number, SIGALRM: number, SIGTERM: number, SIGCHLD: number, SIGSTKFLT: number, SIGCONT: number, SIGSTOP: number, SIGTSTP: number, SIGTTIN: number, SIGTTOU: number, SIGURG: number, SIGXCPU: number, SIGXFSZ: number, SIGVTALRM: number, SIGPROF: number, SIGWINCH: number, SIGIO: number, SIGPOLL: number, SIGPWR: number, SIGSYS: number, SIGUNUSED: number}} + /**\n * ... r}}\n */ + * @type {{E2BIG: number, EACCES: number, EADDRINUSE: number, EADDRNOTAVAIL: number, EAFNOSUPPORT: number, EAGAIN: number, EALREADY: number, EBADF: number, EBADMSG: number, EBUSY: number, ECANCELED: number, ECHILD: number, ECONNABORTED: number, ECONNREFUSED: number, ECONNRESET: number, EDEADLK: number, EDESTADDRREQ: number, EDOM: number, EDQUOT: number, EEXIST: number, EFAULT: number, EFBIG: number, EHOSTUNREACH: number, EIDRM: number, EILSEQ: number, EINPROGRESS: number, EINTR: number, EINVAL: number, EIO: number, EISCONN: number, EISDIR: number, ELOOP: number, EMFILE: number, EMLINK: number, EMSGSIZE: number, EMULTIHOP: number, ENAMETOOLONG: number, ENETDOWN: number, ENETRESET: number, ENETUNREACH: number, ENFILE: number, ENOBUFS: number, ENODATA: number, ENODEV: number, ENOENT: number, ENOEXEC: number, ENOLCK: number, ENOLINK: number, ENOMEM: number, ENOMSG: number, ENOPROTOOPT: number, ENOSPC: number, ENOSR: number, ENOSTR: number, ENOSYS: number, ENOTCONN: number, ENOTDIR: number, ENOTEMPTY: number, ENOTSOCK: number, ENOTSUP: number, ENOTTY: number, ENXIO: number, EOPNOTSUPP: number, EOVERFLOW: number, EPERM: number, EPIPE: number, EPROTO: number, EPROTONOSUPPORT: number, EPROTOTYPE: number, ERANGE: number, EROFS: number, ESPIPE: number, ESRCH: number, ESTALE: number, ETIME: number, ETIMEDOUT: number, ETXTBSY: number, EWOULDBLOCK: number, EXDEV: number}} + + * @return {(string)} + CpuInfomodelspeedtimesnicesysidleirqNetworkInterfaceInfonetmaskmacloadavgfreememtotalmemcpusreleasenetworkInterfaceshomediruserInfotmpdirEOLendiannesstmpDirDefinitions for module "os"Array.os.CpuInfoObject.>Array.os.NetworkInterfaceInfo{encoding: string}={encoding: string}{username: string, uid: number, gid: number, shell: *, homedir: string}{SIGHUP: number, SIGINT: number, SIGQUIT: number, SIGILL: number, SIGTRAP: number, SIGABRT: number, SIGIOT: number, SIGBUS: number, SIGFPE: number, SIGKILL: number, SIGUSR1: number, SIGSEGV: number, SIGUSR2: number, SIGPIPE: number, SIGALRM: number, SIGTERM: number, SIGCHLD: number, SIGSTKFLT: number, SIGCONT: number, SIGSTOP: number, SIGTSTP: number, SIGTTIN: number, SIGTTOU: number, SIGURG: number, SIGXCPU: number, SIGXFSZ: number, SIGVTALRM: number, SIGPROF: number, SIGWINCH: number, SIGIO: number, SIGPOLL: number, SIGPWR: number, SIGSYS: number, SIGUNUSED: number}{E2BIG: number, EACCES: number, EADDRINUSE: number, EADDRNOTAVAIL: number, EAFNOSUPPORT: number, EAGAIN: number, EALREADY: number, EBADF: number, EBADMSG: number, EBUSY: number, ECANCELED: number, ECHILD: number, ECONNABORTED: number, ECONNREFUSED: number, ECONNRESET: number, EDEADLK: number, EDESTADDRREQ: number, EDOM: number, EDQUOT: number, EEXIST: number, EFAULT: number, EFBIG: number, EHOSTUNREACH: number, EIDRM: number, EILSEQ: number, EINPROGRESS: number, EINTR: number, EINVAL: number, EIO: number, EISCONN: number, EISDIR: number, ELOOP: number, EMFILE: number, EMLINK: number, EMSGSIZE: number, EMULTIHOP: number, ENAMETOOLONG: number, ENETDOWN: number, ENETRESET: number, ENETUNREACH: number, ENFILE: number, ENOBUFS: number, ENODATA: number, ENODEV: number, ENOENT: number, ENOEXEC: number, ENOLCK: number, ENOLINK: number, ENOMEM: number, ENOMSG: number, ENOPROTOOPT: number, ENOSPC: number, ENOSR: number, ENOSTR: number, ENOSYS: number, ENOTCONN: number, ENOTDIR: number, ENOTEMPTY: number, ENOTSOCK: number, ENOTSUP: number, ENOTTY: number, ENXIO: number, EOPNOTSUPP: number, EOVERFLOW: number, EPERM: number, EPIPE: number, EPROTO: number, EPROTONOSUPPORT: number, EPROTOTYPE: number, ERANGE: number, EROFS: number, ESPIPE: number, ESRCH: number, ESTALE: number, ETIME: number, ETIMEDOUT: number, ETXTBSY: number, EWOULDBLOCK: number, EXDEV: number}var os = {};os = {}os.CpuI ... n() {};os.CpuI ... on() {}os.CpuI ... .model;os.CpuI ... e.modelos.CpuInfo.prototypeos.CpuI ... .speed;os.CpuI ... e.speedos.CpuI ... .times;os.CpuI ... e.timesos.CpuI ... s.user;os.CpuI ... es.useros.CpuI ... s.nice;os.CpuI ... es.niceos.CpuI ... es.sys;os.CpuI ... mes.sysos.CpuI ... s.idle;os.CpuI ... es.idleos.CpuI ... es.irq;os.CpuI ... mes.irqos.Netw ... n() {};os.Netw ... on() {}os.Netw ... aceInfoos.Netw ... ddress;os.Netw ... addressos.Netw ... ototypeos.Netw ... etmask;os.Netw ... netmaskos.Netw ... family;os.Netw ... .familyos.Netw ... pe.mac;os.Netw ... ype.macos.Netw ... ternal;os.Netw ... nternalos.host ... n() {};os.host ... on() {}os.hostnameos.load ... n() {};os.load ... on() {}os.loadavgos.upti ... n() {};os.upti ... on() {}os.uptimeos.free ... n() {};os.free ... on() {}os.freememos.tota ... n() {};os.tota ... on() {}os.totalmemos.cpus ... n() {};os.cpus ... on() {}os.cpusos.type ... n() {};os.type ... on() {}os.typeos.rele ... n() {};os.rele ... on() {}os.releaseos.netw ... n() {};os.netw ... on() {}os.networkInterfacesos.home ... n() {};os.home ... on() {}os.homediros.user ... ns) {};os.user ... ons) {}os.userInfoos.constants;os.constantsos.cons ... SEADDR;os.cons ... USEADDRos.constants.errno;os.constants.errnoos.cons ... ignals;os.constants.signalsos.arch ... n() {};os.arch ... on() {}os.archos.plat ... n() {};os.plat ... on() {}os.platformos.tmpd ... n() {};os.tmpd ... on() {}os.tmpdiros.EOL;os.EOLos.endi ... n() {};os.endi ... on() {}os.endiannessmodule. ... puInfo;module. ... CpuInfomodule. ... ceInfo;module. ... aceInfomodule. ... stname;module. ... ostnamemodule. ... oadavg;module. ... loadavgmodule. ... uptime;module. ... .uptimemodule. ... reemem;module. ... freememmodule. ... talmem;module. ... otalmemmodule. ... s.cpus;module. ... os.cpusmodule.exports.cpusmodule. ... s.type;module. ... os.typemodule.exports.typemodule. ... elease;module. ... releasemodule. ... rfaces;module. ... erfacesmodule. ... omedir;module. ... homedirmodule. ... erInfo;module. ... serInfomodule. ... s.arch;module. ... os.archmodule.exports.archmodule. ... atform;module. ... latformmodule. ... tmpdir;module. ... .tmpdirmodule. ... os.EOL;module. ... os.EOLmodule.exports.EOLmodule. ... anness;module. ... iannessos.tmpD ... n() {};os.tmpD ... on() {}os.tmpDirmodule. ... tmpDir;module. ... .tmpDir/opt/codeql/javascript/tools/data/externs/nodejs/path.js + * @externs + * @fileoverview Definitions for module "path" + /**\n * ... th"\n */ + * @param {string} p + * @return {string} + + * @param {...*} paths + * @return {string} + + * @param {...string} paths + * @return {string} + + * @param {...*} pathSegments + * @return {string} + + * @param {string} path + * @return {boolean} + + * @param {string} from + * @param {string} to + * @return {string} + + * @param {string} p + * @param {string=} ext + * @return {string} + + * @param {string} pathString + * @return {path.ParsedPath} + + * @param {path.ParsedPath} pathObject + * @return {string} + + * @param {string} p + * @return {boolean} + + * @param {string} p + * @return {path.ParsedPath} + + * @param {path.ParsedPath} pP + * @return {string} + + * @param {string} path + * @return {string} + + * @param {string} path + * @param {(function(boolean): *)} callback + * @return {boolean} + ParsedPathextpathspathSegmentsisAbsolutebasenameextnamesepdelimiterpathStringpathObjectposixpPwin32_makeLongDefinitions for module "path"...stringpath.ParsedPath(function (boolean): *)function (boolean): *var path = {};path = {}path.Pa ... n() {};path.Pa ... on() {}path.Pa ... e.root;path.Pa ... pe.rootpath.Pa ... ototypepath.Pa ... pe.dir;path.Pa ... ype.dirpath.Pa ... e.base;path.Pa ... pe.basepath.Pa ... pe.ext;path.Pa ... ype.extpath.Pa ... e.name;path.Pa ... pe.namepath.no ... (p) {};path.no ... n(p) {}path.normalizefunction(p) {}path.jo ... hs) {};path.jo ... ths) {}function(paths) {}path.re ... ts) {};path.re ... nts) {}path.is ... th) {};path.is ... ath) {}path.isAbsolutepath.re ... to) {};path.re ... to) {}path.relativefunctio ... to) {}path.di ... (p) {};path.di ... n(p) {}path.ba ... xt) {};path.ba ... ext) {}path.basenamefunction(p, ext) {}path.ex ... (p) {};path.ex ... n(p) {}path.extnamepath.sep;path.seppath.delimiter;path.delimiterpath.pa ... ng) {};path.pa ... ing) {}path.parsepath.fo ... ct) {};path.fo ... ect) {}path.formatfunctio ... ect) {}path.po ... || {};path.po ... x || {}path.posixpath.posix || {}path.po ... (p) {};path.po ... n(p) {}path.posix.normalizepath.po ... hs) {};path.po ... ths) {}path.posix.joinpath.po ... ts) {};path.po ... nts) {}path.posix.resolvepath.po ... bsolutepath.po ... to) {};path.po ... to) {}path.posix.relativepath.posix.dirnamepath.po ... xt) {};path.po ... ext) {}path.posix.basenamepath.posix.extnamepath.posix.sep;path.posix.seppath.po ... imiter;path.posix.delimiterpath.posix.parsepath.po ... pP) {};path.po ... (pP) {}path.posix.formatfunction(pP) {}path.wi ... || {};path.wi ... 2 || {}path.win32path.win32 || {}path.wi ... (p) {};path.wi ... n(p) {}path.win32.normalizepath.wi ... hs) {};path.wi ... ths) {}path.win32.joinpath.wi ... ts) {};path.wi ... nts) {}path.win32.resolvepath.wi ... bsolutepath.wi ... to) {};path.wi ... to) {}path.win32.relativepath.win32.dirnamepath.wi ... xt) {};path.wi ... ext) {}path.win32.basenamepath.win32.extnamepath.win32.sep;path.win32.seppath.wi ... imiter;path.win32.delimiterpath.win32.parsepath.wi ... pP) {};path.wi ... (pP) {}path.win32.formatmodule. ... edPath;module. ... sedPathmodule. ... malize;module. ... rmalizemodule. ... h.join;module. ... th.joinmodule.exports.joinmodule. ... solute;module. ... bsolutemodule. ... lative;module. ... elativemodule. ... irname;module. ... dirnamemodule. ... sename;module. ... asenamemodule. ... xtname;module. ... extnamemodule. ... th.sep;module. ... ath.sepmodule.exports.sepmodule. ... imiter;module. ... limitermodule. ... .parse;module. ... h.parsemodule.exports.parsemodule. ... format;module. ... .formatmodule. ... .posix;module. ... h.posixmodule.exports.posixmodule. ... .win32;module. ... h.win32module.exports.win32path._m ... th) {};path._m ... ath) {}path._makeLongmodule. ... keLong;module. ... akeLongpath.ex ... ck) {};path.ex ... ack) {}path.existspath.ex ... th) {};path.ex ... ath) {}path.existsSync/opt/codeql/javascript/tools/data/externs/nodejs/process.js + * @externs + * @fileoverview Definitions for module "process" + Definitions for module "process"module. ... process/opt/codeql/javascript/tools/data/externs/nodejs/punycode.js + * @externs + * @fileoverview Definitions for module "punycode" + /**\n * ... de"\n */ + * @param {string} string + * @return {string} + + * @param {string} domain + * @return {string} + + * @type {punycode.ucs2} + /**\n * ... s2}\n */ + * @param {string} string + * @return {Array} + + * @param {Array} codePoints + * @return {string} + punycodetoUnicodetoASCIIucs2codePointsDefinitions for module "punycode"punycode.ucs2var punycode = {};punycode = {}punycod ... ng) {};punycod ... ing) {}punycode.decodepunycode.encodepunycod ... in) {};punycod ... ain) {}punycode.toUnicodefunction(domain) {}punycode.toASCIIpunycode.ucs2;function ucs2() {}ucs2.pr ... ng) {};ucs2.pr ... ing) {}ucs2.pr ... .decodeucs2.prototypeucs2.pr ... ts) {};ucs2.pr ... nts) {}ucs2.pr ... .encodepunycode.version;punycode.versionmodule. ... decode;module. ... .decodemodule. ... encode;module. ... .encodemodule. ... nicode;module. ... Unicodemodule. ... oASCII;module. ... toASCIImodule. ... e.ucs2;module. ... de.ucs2module.exports.ucs2module. ... ersion;module. ... version/opt/codeql/javascript/tools/data/externs/nodejs/querystring.js + * @externs + * @fileoverview Definitions for module "querystring" + /**\n * ... ng"\n */ + * @template T + * @param {T} obj + * @param {string=} sep + * @param {string=} eq + * @param {querystring.StringifyOptions=} options + * @return {string} + + * @param {string} str + * @param {string=} sep + * @param {string=} eq + * @param {querystring.ParseOptions=} options + * @return {*} + + * @template T + * @param {string} str + * @param {string=} sep + * @param {string=} eq + * @param {querystring.ParseOptions=} options + * @return {T} + + * @param {string} str + * @return {string} + + * @param {Buffer} s + * @param {boolean} decodeSpaces + * @return {void} + querystringStringifyOptionsParseOptionsmaxKeysunescapeBufferdecodeSpacesDefinitions for module "querystring"querystring.StringifyOptions=querystring.StringifyOptionsquerystring.ParseOptions=querystring.ParseOptionsvar que ... g = {};querystring = {}queryst ... n() {};queryst ... on() {}queryst ... Optionsqueryst ... ponent;queryst ... mponentqueryst ... ototypequeryst ... axKeys;queryst ... maxKeysqueryst ... ns) {};queryst ... ons) {}queryst ... ringifyquerystring.parsequeryst ... tr) {};queryst ... str) {}querystring.escapequerystring.unescapemodule. ... ingify;module. ... ringifymodule. ... g.parsemodule. ... escape;module. ... .escapemodule. ... nescapequeryst ... es) {};queryst ... ces) {}queryst ... eBufferfunctio ... ces) {}module. ... Buffer;module. ... eBuffer/opt/codeql/javascript/tools/data/externs/nodejs/readline.js + * @externs + * @fileoverview Definitions for module "readline" + /**\n * ... ne"\n */ + * @param {string} prompt + * @return {void} + + * @param {boolean=} preserveCursor + * @return {void} + + * @param {string} query + * @param {(function(string): void)} callback + * @return {void} + + * @return {readline.ReadLine} + /**\n * ... ne}\n */ + * @param {(string|Buffer)} data + * @param {readline.Key=} key + * @return {void} + + * @interface + * @type {((function(string): readline.CompleterResult)|(function(string, (function(*, readline.CompleterResult): void)): *))} + + * @type {readline.Completer} + + * @param {NodeJS.ReadableStream} input + * @param {NodeJS.WritableStream=} output + * @param {readline.Completer=} completer + * @param {boolean=} terminal + * @return {readline.ReadLine} + + * @param {readline.ReadLineOptions} options + * @return {readline.ReadLine} + + * @param {NodeJS.WritableStream} stream + * @param {number} x + * @param {number} y + * @return {void} + + * @param {NodeJS.WritableStream} stream + * @param {(number|string)} dx + * @param {(number|string)} dy + * @return {void} + + * @param {NodeJS.WritableStream} stream + * @param {number} dir + * @return {void} + + * @param {NodeJS.WritableStream} stream + * @return {void} + + * @interface + * @extends {readline.ReadLine} + readline"stream"KeysequencectrlReadLinesetPromptpreserveCursorquestionqueryCompleterCompleterResultcompletionsReadLineOptionscompleterterminalhistorySizecreateInterfacecursorTomoveCursorclearLineclearScreenDownInterfaceDefinitions for module "readline"(function (string): void)function (string): voidreadline.ReadLinereadline.Key=readline.Key((function (string): readline.CompleterResult)|(function (string, (function (*, readline.CompleterResult): void)): *))(function (string): readline.CompleterResult)function (string): readline.CompleterResultreadline.CompleterResult(function (string, (function (*, readline.CompleterResult): void)): *)function (string, (function (*, readline.CompleterResult): void)): *(function (*, readline.CompleterResult): void)function (*, readline.CompleterResult): voidreadline.CompleterNodeJS.WritableStream=readline.Completer=readline.ReadLineOptionsvar readline = {};readline = {}var str ... ream");stream ... tream")require("stream")readlin ... n() {};readlin ... on() {}readlin ... quence;readlin ... equencereadlin ... ototypereadlin ... e.name;readlin ... pe.namereadlin ... e.ctrl;readlin ... pe.ctrlreadlin ... e.meta;readlin ... pe.metareadlin ... .shift;readlin ... e.shiftreadlin ... pt) {};readlin ... mpt) {}readlin ... tPromptfunction(prompt) {}readlin ... or) {};readlin ... sor) {}readlin ... .promptfunctio ... sor) {}readlin ... ck) {};readlin ... ack) {}readlin ... uestionreadlin ... e.pausereadlin ... .resumereadlin ... e.closereadlin ... ey) {};readlin ... key) {}readlin ... e.writereadlin ... rResultreadlin ... etions;readlin ... letionsreadlin ... e.line;readlin ... pe.linereadlin ... Optionsreadlin ... .input;readlin ... e.inputreadlin ... output;readlin ... .outputreadlin ... pleter;readlin ... mpleterreadlin ... rminal;readlin ... erminalreadlin ... rySize;readlin ... orySizereadlin ... al) {};readlin ... nal) {}readlin ... terfacereadlin ... ns) {};readlin ... ons) {}readlin ... y) {};readlin ... , y) {}readline.cursorTofunctio ... , y) {}readlin ... dy) {};readlin ... dy) {}readline.moveCursorfunctio ... dy) {}readlin ... ir) {};readlin ... dir) {}readline.clearLinefunctio ... dir) {}readlin ... am) {};readlin ... eam) {}readlin ... eenDownfunction(stream) {}module. ... ne.Key;module. ... ine.Keymodule.exports.Keymodule. ... adLine;module. ... eadLinemodule. ... pleter;module. ... mpletermodule. ... Result;module. ... rResultmodule. ... erface;module. ... terfacemodule. ... rsorTo;module. ... ursorTomodule. ... Cursor;module. ... eCursormodule. ... arLine;module. ... earLinemodule. ... enDown;module. ... eenDownreadline.Interface/opt/codeql/javascript/tools/data/externs/nodejs/repl.js + * @externs + * @fileoverview Definitions for module "repl" + /**\n * ... pl"\n */ + * @param {string} keyword + * @param {(Function|{help: string, action: Function})} cmd + * @return {void} + + * @param {repl.ReplOptions} options + * @return {repl.REPLServer} + repl"readline"ReplOptionsuseColorsuseGlobalignoreUndefinedreplModebreakEvalOnSigintREPLServerdefineCommandkeywordcmddisplayPromptDefinitions for module "repl"(Function|{help: string, action: Function}){help: string, action: Function}repl.ReplOptionsrepl.REPLServervar repl = {};repl = {}var rea ... line");readlin ... dline")require("readline")repl.Re ... n() {};repl.Re ... on() {}repl.Re ... prompt;repl.Re ... .promptrepl.Re ... ototyperepl.Re ... .input;repl.Re ... e.inputrepl.Re ... output;repl.Re ... .outputrepl.Re ... rminal;repl.Re ... erminalrepl.Re ... e.eval;repl.Re ... pe.evalrepl.Re ... Colors;repl.Re ... eColorsrepl.Re ... Global;repl.Re ... eGlobalrepl.Re ... efined;repl.Re ... definedrepl.Re ... writer;repl.Re ... .writerrepl.Re ... pleter;repl.Re ... mpleterrepl.Re ... plMode;repl.Re ... eplModerepl.Re ... Sigint;repl.Re ... nSigintrepl.RE ... n() {};repl.RE ... on() {}repl.RE ... md) {};repl.RE ... cmd) {}repl.RE ... Commandrepl.RE ... ototypefunctio ... cmd) {}repl.RE ... or) {};repl.RE ... sor) {}repl.RE ... yPromptrepl.st ... ns) {};repl.st ... ons) {}repl.startmodule. ... LServermodule. ... .start;module. ... l.startmodule.exports.startrepl.RE ... ontext;repl.RE ... context/opt/codeql/javascript/tools/data/externs/nodejs/stream.js + * @externs + * @fileoverview Definitions for module "stream" + + * @constructor + * @extends {internal} + + * @type {(function(number=): *)} + + * @param {internal.ReadableOptions=} opts + * @return {internal.Readable} + * @constructor + + * @param {number} size + * @return {void} + + * @param {number=} size + * @return {*} + + * @return {internal.Readable} + + * @param {*} chunk + * @return {void} + + * @param {*} chunk + * @param {string=} encoding + * @return {boolean} + + * @param {string} event + * @param {(function((Buffer|string)): void)} listener + * @return {*} + + * @param {string} event + * @param {(function(Error): void)} listener + * @return {*} + + * @param {string} event + * @return {boolean} + + * @param {string} event + * @param {(Buffer|string)} chunk + * @return {boolean} + + * @param {string} event + * @param {Error} err + * @return {boolean} + + * @type {(function((string|Buffer), string, Function): *)} + + * @type {(function(Array<{chunk: (string|Buffer), encoding: string}>, Function): *)} + + * @param {internal.WritableOptions=} opts + * @return {internal.Writable} + * @constructor + + * @param {*} chunk + * @param {string} encoding + * @param {Function} callback + * @return {void} + + * @param {*} chunk + * @param {Function=} cb + * @return {boolean} + + * @param {*} chunk + * @param {string=} encoding + * @param {Function=} cb + * @return {boolean} + + * @param {*} chunk + * @param {Function=} cb + * @return {void} + + * @param {*} chunk + * @param {string=} encoding + * @param {Function=} cb + * @return {void} + + * @param {string} event + * @param {(function(internal.Readable): void)} listener + * @return {*} + + * @param {string} event + * @param {internal.Readable} src + * @return {boolean} + + * @interface + * @extends {internal.ReadableOptions} + * @extends {internal.WritableOptions} + + * @param {internal.DuplexOptions=} opts + * @return {internal.Duplex} + * @constructor + + * @return {internal.Duplex} + + * @type {(function(Function): *)} + + * @param {internal.TransformOptions=} opts + * @return {internal.Transform} + * @constructor + + * @param {Function} callback + * @return {void} + + * @return {internal.Transform} + /**\n * ... rm}\n */ + * @constructor + * @extends {internal.Transform} + StreamReadableOptionshighWaterMarkobjectMode_readWritableOptionsdecodeStringswritev_writeDuplexOptionsreadableObjectModewritableObjectModeTransformOptionsTransform_transform_flushPassThroughDefinitions for module "stream"(function (number=): *)function (number=): *internal.ReadableOptions=internal.ReadableOptions(function ((Buffer|string)): void)function ((Buffer|string)): void(function (Error): void)function (Error): void(function ((string|Buffer), string, Function): *)function ((string|Buffer), string, Function): *(function (Array.<{chunk: (string|Buffer), encoding: string}>, Function): *)function (Array.<{chunk: (string|Buffer), encoding: string}>, Function): *Array.<{chunk: (string|Buffer), encoding: string}>{chunk: (string|Buffer), encoding: string}internal.WritableOptions=internal.WritableOptions(function (internal.Readable): void)function (internal.Readable): voidinternal.DuplexOptions=internal.DuplexOptions(function (Function): *)function (Function): *internal.TransformOptions=internal.TransformOptionsinternal.Transformfunctio ... al() {}interna ... pe.pipeinternal.prototypeinternal.Stream;internal.Streaminterna ... n() {};interna ... on() {}interna ... Optionsinterna ... erMark;interna ... terMarkinterna ... coding;interna ... ncodinginterna ... ctMode;interna ... ectModeinterna ... e.read;interna ... pe.readinterna ... ts) {};interna ... pts) {}interna ... adable;interna ... eadableinterna ... ze) {};interna ... ize) {}interna ... e._readinterna ... ng) {};interna ... ing) {}interna ... e.pauseinterna ... .resumeinterna ... on) {};interna ... ion) {}interna ... .unpipeinterna ... nk) {};interna ... unk) {}interna ... unshiftinterna ... am) {};interna ... eam) {}interna ... pe.wrapinterna ... pe.pushinterna ... er) {};interna ... ner) {}interna ... istenerinterna ... gs) {};interna ... rgs) {}interna ... pe.emitinterna ... nt) {};interna ... ent) {}functio ... unk) {}interna ... rr) {};interna ... err) {}functio ... err) {}interna ... type.oninterna ... pe.onceinterna ... trings;interna ... Stringsinterna ... .write;interna ... e.writeinterna ... writev;interna ... .writevinterna ... itable;interna ... ritableinterna ... ck) {};interna ... ack) {}interna ... ._writeinterna ... cb) {};interna ... cb) {}interna ... ype.endinterna ... rc) {};interna ... src) {}functio ... src) {}interna ... lfOpen;interna ... alfOpeninterna ... nsform;interna ... ansforminterna ... .flush;interna ... e.flushinterna ... ._flushinterna ... hrough;internal.PassThrough/opt/codeql/javascript/tools/data/externs/nodejs/string_decoder.js + * @externs + * @fileoverview Definitions for module "string_decoder" + + * @param {Buffer} buffer + * @return {string} + + * @param {Buffer=} buffer + * @return {string} + + * @type {(function(new: string_decoder.NodeStringDecoder, string=))} + + * @param {Buffer} buffer + * @return {number} + string_decoderNodeStringDecoderStringDecoderdetectIncompleteCharDefinitions for module "string_decoder"Buffer=(function (new: string_decoder.NodeStringDecoder, string=))function (new: string_decoder.NodeStringDecoder, string=)string_decoder.NodeStringDecodervar str ... r = {};string_decoder = {}string_ ... n() {};string_ ... on() {}string_ ... Decoderstring_ ... er) {};string_ ... fer) {}string_ ... e.writestring_ ... ototypestring_ ... ype.endstring_ ... ecoder;module. ... ecoder;module. ... Decoderstring_ ... eteChar/opt/codeql/javascript/tools/data/externs/nodejs/sys.js + * @externs + * @fileoverview Definitions for module "sys" + /**\n * ... ys"\n */util"util"Definitions for module "sys"var uti ... util");util = ... "util")require("util")module. ... = util;module. ... = util/opt/codeql/javascript/tools/data/externs/nodejs/timers.js + * @externs + * @fileoverview Definitions for module "timers" + /**\n * ... rs"\n */ + * @param {NodeJS.Timer} item + * @return {*} + + * @param {NodeJS.Timer} item + * @param {number} msecs + * @return {*} + timers_unrefActiveunenrollenrollDefinitions for module "timers"var timers = {};timers = {}timers. ... gs) {};timers. ... rgs) {}timers.setTimeouttimers. ... Id) {};timers. ... tId) {}timers.clearTimeouttimers.setIntervaltimers. ... lId) {}timers.clearIntervaltimers.setImmediatetimers. ... eId) {}timers. ... mediatemodule. ... imeout;module. ... Timeoutmodule. ... terval;module. ... ntervalmodule. ... ediate;module. ... mediatetimers. ... em) {};timers. ... tem) {}timers.activefunction(item) {}timers._unrefActivetimers.unenrolltimers. ... cs) {};timers. ... ecs) {}timers.enrollfunctio ... ecs) {}module. ... Active;module. ... fActivemodule. ... enroll;module. ... nenrollmodule. ... .enroll/opt/codeql/javascript/tools/data/externs/nodejs/tls.js + * @externs + * @fileoverview Definitions for module "tls" + /**\n * ... ls"\n */ + * @constructor + * @extends {internal.Duplex} + + * @return {tls.CipherNameAndProtocol} + + * @param {boolean=} detailed + * @return {{subject: tls.Certificate, issuerInfo: tls.Certificate, issuer: tls.Certificate, raw: *, valid_from: string, valid_to: string, fingerprint: string, serialNumber: string}} + + * @param {tls.TlsOptions} options + * @param {(function(Error): *)} callback + * @return {*} + + * @param {number} size + * @return {boolean} + + * @type {(string|Array)} + + * @type {(string|Array|Buffer|Array<*>)} + + * @type {(string|Array|Buffer|Array)} + + * @type {(Array|Buffer)} + + * @type {(string|Buffer|Array<(string|Buffer)>)} + + * @type {Array<(string|Buffer)>} + /**\n * ... )>}\n */ + * @type {(function(string, (string|Buffer|Array<(string|Buffer)>)): *)} + + * @return {tls.Server} + + * @param {string} hostName + * @param {{key: string, cert: string, ca: string}} credentials + * @return {void} + + * @param {tls.TlsOptions} options + * @param {(function(tls.ClearTextStream): void)=} secureConnectionListener + * @return {tls.Server} + + * @param {tls.ConnectionOptions} options + * @param {(function(): void)=} secureConnectionListener + * @return {tls.ClearTextStream} + + * @param {number} port + * @param {string=} host + * @param {tls.ConnectionOptions=} options + * @param {(function(): void)=} secureConnectListener + * @return {tls.ClearTextStream} + + * @param {number} port + * @param {tls.ConnectionOptions=} options + * @param {(function(): void)=} secureConnectListener + * @return {tls.ClearTextStream} + + * @param {crypto.Credentials=} credentials + * @param {boolean=} isServer + * @param {boolean=} requestCert + * @param {boolean=} rejectUnauthorized + * @return {tls.SecurePair} + /**\n * ... ir}\n */ + * @param {tls.SecureContextOptions} details + * @return {tls.SecureContext} + /**\n * ... xt}\n */"crypto"CLIENT_RENEG_LIMITCLIENT_RENEG_WINDOWSTOUCNCipherNameAndProtocolTLSSocketauthorizationErrorgetCiphergetPeerCertificatedetailedgetSessiongetTLSTicketrenegotiatesetMaxSendFragmentTlsOptionsecdhCurvedhparamhandshakeTimeoutALPNProtocolssessionTimeoutticketKeyssessionIdContextConnectionOptionsservernamecheckServerIdentitysecureContextsessionminDHSizeaddContexthostNameClearTextStreamSecurePaircleartextSecureContextOptionssecureConnectionListenersecureConnectListenercreateSecurePairisServercreateSecureContextDefinitions for module "tls"tls.CipherNameAndProtocol{subject: tls.Certificate, issuerInfo: tls.Certificate, issuer: tls.Certificate, raw: *, valid_from: string, valid_to: string, fingerprint: string, serialNumber: string}tls.CertificateissuerInfoissuervalid_fromvalid_tofingerprintserialNumbertls.TlsOptions(function (Error): *)function (Error): *(string|Array.)(string|Array.|Buffer|Array.<*>)(string|Array.|Buffer|Array.)(Array.|Buffer)(string|Buffer|Array.<(string|Buffer)>)Array.<(string|Buffer)>(function (string, (string|Buffer|Array.<(string|Buffer)>)): *)function (string, (string|Buffer|Array.<(string|Buffer)>)): *{key: string, cert: string, ca: string}(function (tls.ClearTextStream): void)=(function (tls.ClearTextStream): void)function (tls.ClearTextStream): voidtls.ClearTextStreamtls.ConnectionOptionstls.ConnectionOptions=crypto.Credentials=tls.SecurePairtls.SecureContextOptionsvar tls = {};tls = {}var cry ... ypto");crypto ... rypto")require("crypto")var CLI ... _LIMIT;var CLI ... WINDOW;tls.Cer ... n() {};tls.Cer ... on() {}tls.Cer ... type.C;tls.Cer ... otype.Ctls.Cer ... ototypetls.Cer ... ype.ST;tls.Cer ... type.STtls.Cer ... type.L;tls.Cer ... otype.Ltls.Cer ... type.O;tls.Cer ... otype.Otls.Cer ... ype.OU;tls.Cer ... type.OUtls.Cer ... ype.CN;tls.Cer ... type.CNtls.Cip ... n() {};tls.Cip ... on() {}tls.Cip ... rotocolCipherN ... rotocoltls.Cip ... e.name;tls.Cip ... pe.nametls.Cip ... ototypetls.Cip ... ersion;tls.Cip ... versiontls.TLSSocket;tls.TLSSockettls.TLS ... n() {};tls.TLS ... on() {}tls.TLS ... addresstls.TLS ... ototypetls.TLS ... orized;tls.TLS ... horizedtls.TLS ... nError;tls.TLS ... onErrortls.TLS ... rypted;tls.TLS ... cryptedtls.TLS ... tCiphertls.TLS ... ed) {};tls.TLS ... led) {}tls.TLS ... ificatefunctio ... led) {}tls.TLS ... Sessiontls.TLS ... STickettls.TLS ... ddress;tls.TLS ... Addresstls.TLS ... alPort;tls.TLS ... calPorttls.TLS ... Family;tls.TLS ... eFamilytls.TLS ... tePort;tls.TLS ... otePorttls.TLS ... ck) {};tls.TLS ... ack) {}tls.TLS ... gotiatetls.TLS ... ze) {};tls.TLS ... ize) {}tls.TLS ... ragmenttls.Tls ... n() {};tls.Tls ... on() {}tls.Tls ... e.host;tls.Tls ... pe.hosttls.Tls ... ototypetls.Tls ... e.port;tls.Tls ... pe.porttls.Tls ... pe.pfx;tls.Tls ... ype.pfxtls.Tls ... pe.key;tls.Tls ... ype.keytls.Tls ... phrase;tls.Tls ... sphrasetls.Tls ... e.cert;tls.Tls ... pe.certtls.Tls ... ype.ca;tls.Tls ... type.catls.Tls ... pe.crl;tls.Tls ... ype.crltls.Tls ... iphers;tls.Tls ... cipherstls.Tls ... rOrder;tls.Tls ... erOrdertls.Tls ... stCert;tls.Tls ... estCerttls.Tls ... orized;tls.Tls ... horizedtls.Tls ... tocols;tls.Tls ... otocolstls.Tls ... llback;tls.Tls ... allbacktls.Tls ... hCurve;tls.Tls ... dhCurvetls.Tls ... hparam;tls.Tls ... dhparamtls.Tls ... imeout;tls.Tls ... Timeouttls.Tls ... etKeys;tls.Tls ... ketKeystls.Tls ... ontext;tls.Tls ... Contexttls.Tls ... otocol;tls.Tls ... rotocoltls.Con ... n() {};tls.Con ... on() {}tls.Con ... Optionstls.Con ... e.host;tls.Con ... pe.hosttls.Con ... ototypetls.Con ... e.port;tls.Con ... pe.porttls.Con ... socket;tls.Con ... .sockettls.Con ... pe.pfx;tls.Con ... ype.pfxtls.Con ... pe.key;tls.Con ... ype.keytls.Con ... phrase;tls.Con ... sphrasetls.Con ... e.cert;tls.Con ... pe.certtls.Con ... ype.ca;tls.Con ... type.catls.Con ... orized;tls.Con ... horizedtls.Con ... tocols;tls.Con ... otocolstls.Con ... ername;tls.Con ... vernametls.Con ... e.path;tls.Con ... pe.pathtls.Con ... entity;tls.Con ... dentitytls.Con ... otocol;tls.Con ... rotocoltls.Con ... ontext;tls.Con ... Contexttls.Con ... ession;tls.Con ... sessiontls.Con ... DHSize;tls.Con ... nDHSizetls.Ser ... n() {};tls.Ser ... on() {}tls.Ser ... e.closetls.Server.prototypetls.Ser ... addresstls.Ser ... ls) {};tls.Ser ... als) {}tls.Ser ... Contextfunctio ... als) {}tls.Ser ... ctions;tls.Ser ... ectionstls.Cle ... n() {};tls.Cle ... on() {}tls.Cle ... orized;tls.Cle ... horizedtls.Cle ... ototypetls.Cle ... nError;tls.Cle ... onErrortls.Cle ... ificatetls.Cle ... Cipher;tls.Cle ... tCiphertls.Cle ... r.name;tls.Cle ... er.nametls.Cle ... ersion;tls.Cle ... versiontls.Cle ... ddress;tls.Cle ... addresstls.Cle ... s.port;tls.Cle ... ss.porttls.Cle ... family;tls.Cle ... .familytls.Cle ... Addresstls.Cle ... tePort;tls.Cle ... otePorttls.Sec ... n() {};tls.Sec ... on() {}tls.Sec ... rypted;tls.Sec ... cryptedtls.Sec ... ototypetls.Sec ... artext;tls.Sec ... eartexttls.Sec ... Optionstls.Sec ... pe.pfx;tls.Sec ... ype.pfxtls.Sec ... pe.key;tls.Sec ... ype.keytls.Sec ... phrase;tls.Sec ... sphrasetls.Sec ... e.cert;tls.Sec ... pe.certtls.Sec ... ype.ca;tls.Sec ... type.catls.Sec ... pe.crl;tls.Sec ... ype.crltls.Sec ... iphers;tls.Sec ... cipherstls.Sec ... rOrder;tls.Sec ... erOrdertls.Sec ... ontext;tls.Sec ... contexttls.cre ... er) {};tls.cre ... ner) {}tls.createServersecureC ... istenertls.con ... er) {};tls.con ... ner) {}tls.connecttls.cre ... ed) {};tls.cre ... zed) {}tls.createSecurePairfunctio ... zed) {}tls.cre ... ls) {};tls.cre ... ils) {}tls.cre ... Contextmodule. ... otocol;module. ... rotocolmodule. ... SSocketmodule. ... tStreammodule. ... rePair;module. ... urePairmodule. ... ontext;module. ... Contextmodule. ... WINDOW;module. ... _WINDOWmodule. ... _LIMIT;module. ... G_LIMIT/opt/codeql/javascript/tools/data/externs/nodejs/tty.js + * @externs + * @fileoverview Definitions for module "tty" + /**\n * ... ty"\n */ + * @param {number} fd + * @return {boolean} + + * @param {boolean} mode + * @return {void} + + * @param {string} path + * @param {Array=} args + * @return {Array<*>} + + * @param {*} fd + * @param {number} row + * @param {number} col + * @return {*} + + * @param {*} fd + * @return {Array} + ttyisattyisRawsetRawModeisTTYcolumnssetWindowSizerowgetWindowSizeDefinitions for module "tty"var tty = {};tty = {}tty.isa ... fd) {};tty.isa ... (fd) {}tty.isattytty.Rea ... n() {};tty.Rea ... on() {}tty.ReadStreamtty.Rea ... .isRaw;tty.Rea ... e.isRawtty.Rea ... ototypetty.Rea ... de) {};tty.Rea ... ode) {}tty.Rea ... RawModefunction(mode) {}tty.Rea ... .isTTY;tty.Rea ... e.isTTYtty.Wri ... n() {};tty.Wri ... on() {}tty.WriteStreamtty.Wri ... olumns;tty.Wri ... columnstty.Wri ... ototypetty.Wri ... e.rows;tty.Wri ... pe.rowstty.Wri ... .isTTY;tty.Wri ... e.isTTYmodule. ... isatty;module. ... .isattytty.set ... de) {};tty.set ... ode) {}tty.setRawModetty.ope ... gs) {};tty.ope ... rgs) {}tty.opentty.set ... ol) {};tty.set ... col) {}tty.setWindowSizefunctio ... col) {}tty.get ... fd) {};tty.get ... (fd) {}tty.getWindowSizemodule. ... awMode;module. ... RawModemodule. ... y.open;module. ... ty.openmodule. ... owSize;module. ... dowSize/opt/codeql/javascript/tools/data/externs/nodejs/url.js + * @externs + * @fileoverview Definitions for module "url" + /**\n * ... rl"\n */ + * @param {string} urlStr + * @param {boolean=} parseQueryString + * @param {boolean=} slashesDenoteHost + * @return {url.Url} + /**\n * ... rl}\n */ + * @param {url.Url} url + * @return {string} + UrlslashesurlStrparseQueryStringslashesDenoteHostDefinitions for module "url"url.Urlvar url = {};url = {}url.Url ... n() {};url.Url ... on() {}url.Url ... e.href;url.Url ... pe.hrefurl.Url.prototypeurl.Url ... otocol;url.Url ... rotocolurl.Url ... e.auth;url.Url ... pe.authurl.Url ... stname;url.Url ... ostnameurl.Url ... e.port;url.Url ... pe.porturl.Url ... e.host;url.Url ... pe.hosturl.Url ... thname;url.Url ... athnameurl.Url ... search;url.Url ... .searchurl.Url ... .query;url.Url ... e.queryurl.Url ... lashes;url.Url ... slashesurl.Url ... e.hash;url.Url ... pe.hashurl.Url ... e.path;url.Url ... pe.pathurl.par ... st) {};url.par ... ost) {}url.parseurl.for ... rl) {};url.for ... url) {}url.formatfunction(url) {}url.res ... to) {};url.res ... to) {}url.resolvemodule. ... rl.Url;module. ... url.Urlmodule.exports.Urlmodule. ... l.parse/opt/codeql/javascript/tools/data/externs/nodejs/util.js + * @externs + * @fileoverview Definitions for module "util" + /**\n * ... il"\n */ + * @param {*} format + * @param {...*} param + * @return {string} + + * @param {string} string + * @return {void} + + * @param {...*} param + * @return {void} + + * @param {*} object + * @param {boolean=} showHidden + * @param {number=} depth + * @param {boolean=} color + * @return {string} + + * @param {*} object + * @param {util.InspectOptions} options + * @return {string} + + * @param {*} object + * @return {boolean} + + * @param {*} constructor + * @param {*} superConstructor + * @return {void} + + * @param {string} key + * @return {(function(string, ...*): void)} + + * @param {Function} fn + * @param {string} message + * @return {Function} + + * @param {Object} destination + * @param {Object} source + * @return {Object} + InspectOptionsshowHiddencustomInspectputsprintisRegExpisDateisErrorinheritssuperConstructordebuglogisNullOrUndefinedisPrimitiveisSymboldeprecate_extendDefinitions for module "util"util.InspectOptions(function (string, ...*): void)function (string, ...*): voidvar util = {};util = {}util.In ... n() {};util.In ... on() {}util.In ... Hidden;util.In ... wHiddenutil.In ... ototypeutil.In ... .depth;util.In ... e.depthutil.In ... colors;util.In ... .colorsutil.In ... nspect;util.In ... Inspectutil.fo ... am) {};util.fo ... ram) {}util.formatfunctio ... ram) {}util.de ... ng) {};util.de ... ing) {}util.debugutil.er ... am) {};util.er ... ram) {}util.errorfunction(param) {}util.pu ... am) {};util.pu ... ram) {}util.putsutil.pr ... am) {};util.pr ... ram) {}util.printutil.lo ... ng) {};util.lo ... ing) {}util.logutil.in ... or) {};util.in ... lor) {}util.inspectfunctio ... lor) {}util.in ... ns) {};util.in ... ons) {}util.is ... ct) {};util.is ... ect) {}util.isArrayfunction(object) {}util.isRegExputil.isDateutil.isErrorutil.in ... tor) {}util.inheritsutil.de ... ey) {};util.de ... key) {}util.debuglogfunction(key) {}util.isBooleanutil.isBufferutil.isFunctionutil.isNullutil.is ... definedutil.isNumberutil.isObjectutil.isPrimitiveutil.isStringutil.isSymbolutil.isUndefinedutil.de ... ge) {};util.de ... age) {}util.deprecatemodule. ... .debug;module. ... l.debugmodule.exports.debugmodule. ... .error;module. ... l.errormodule.exports.errormodule. ... l.puts;module. ... il.putsmodule.exports.putsmodule. ... .print;module. ... l.printmodule.exports.printmodule. ... il.log;module. ... til.logmodule.exports.logmodule. ... nspect;module. ... inspectmodule. ... sArray;module. ... isArraymodule. ... RegExp;module. ... sRegExpmodule. ... isDate;module. ... .isDatemodule. ... sError;module. ... isErrormodule. ... herits;module. ... nheritsmodule. ... buglog;module. ... ebuglogmodule. ... oolean;module. ... Booleanmodule. ... sBuffermodule. ... nction;module. ... unctionmodule. ... isNull;module. ... .isNullmodule. ... efined;module. ... definedmodule. ... Number;module. ... sNumbermodule. ... Object;module. ... sObjectmodule. ... mitive;module. ... imitivemodule. ... String;module. ... sStringmodule. ... Symbol;module. ... sSymbolmodule. ... recate;module. ... precateutil._e ... ce) {};util._e ... rce) {}util._extendfunctio ... rce) {}module. ... extend;module. ... _extend/opt/codeql/javascript/tools/data/externs/nodejs/v8.js + * @externs + * @fileoverview Definitions for module "v8" + /**\n * ... v8"\n */ + * @return {{total_heap_size: number, total_heap_size_executable: number, total_physical_size: number, total_avaialble_size: number, used_heap_size: number, heap_size_limit: number}} + + * @return {Array} + + * @param {string} flags + * @return {void} + HeapSpaceInfospace_namespace_sizespace_used_sizespace_available_sizephysical_space_sizegetHeapStatisticsgetHeapSpaceStatisticssetFlagsFromStringDefinitions for module "v8"{total_heap_size: number, total_heap_size_executable: number, total_physical_size: number, total_avaialble_size: number, used_heap_size: number, heap_size_limit: number}total_heap_sizetotal_heap_size_executabletotal_physical_sizetotal_avaialble_sizeused_heap_sizeheap_size_limitArray.v8.HeapSpaceInfovar v8 = {};v8 = {}HeapSpa ... e_name;HeapSpa ... ce_nameHeapSpa ... ototypeHeapSpa ... e_size;HeapSpa ... ce_sizeHeapSpa ... d_size;HeapSpa ... ed_sizeHeapSpa ... le_sizev8.getH ... n() {};v8.getH ... on() {}v8.getHeapStatisticsv8.getH ... tisticsgetHeap ... tisticsv8.setF ... gs) {};v8.setF ... ags) {}v8.setF ... mStringfunction(flags) {}module. ... istics;module. ... tisticsmodule. ... mString/opt/codeql/javascript/tools/data/externs/nodejs/vm.js + * @externs + * @fileoverview Definitions for module "vm" + /**\n * ... vm"\n */ + * @param {string} code + * @param {vm.ScriptOptions=} options + * @return {vm.Script} + * @constructor + + * @param {vm.Context} contextifiedSandbox + * @param {vm.RunningScriptOptions=} options + * @return {*} + + * @param {vm.Context=} sandbox + * @param {vm.RunningScriptOptions=} options + * @return {*} + + * @param {vm.RunningScriptOptions=} options + * @return {*} + + * @param {vm.Context=} sandbox + * @return {vm.Context} + + * @param {vm.Context} sandbox + * @return {boolean} + + * @param {string} code + * @param {vm.Context} contextifiedSandbox + * @param {vm.RunningScriptOptions=} options + * @return {*} + + * @param {string} code + * @return {*} + + * @param {string} code + * @param {vm.Context=} sandbox + * @param {vm.RunningScriptOptions=} options + * @return {*} + + * @param {string} code + * @param {vm.RunningScriptOptions=} options + * @return {*} + + * @param {string} code + * @param {string=} filename + * @return {vm.Script} + /**\n * ... pt}\n */ScriptOptionslineOffsetcolumnOffsetdisplayErrorscachedDataproduceCachedDataRunningScriptOptionsScriptrunInContextcontextifiedSandboxrunInNewContextsandboxrunInThisContextisContextrunInDebugContextcreateScriptDefinitions for module "vm"vm.ScriptOptions=vm.ScriptOptionsvm.Scriptvm.Contextvm.RunningScriptOptions=vm.RunningScriptOptionsvm.Context=var vm = {};vm = {}vm.Cont ... n() {};vm.Cont ... on() {}vm.Scri ... n() {};vm.Scri ... on() {}vm.Scri ... lename;vm.Scri ... ilenamevm.Scri ... ototypevm.Scri ... Offset;vm.Scri ... eOffsetvm.Scri ... nOffsetvm.Scri ... Errors;vm.Scri ... yErrorsvm.Scri ... imeout;vm.Scri ... timeoutvm.Scri ... edData;vm.Scri ... hedDatavm.Runn ... n() {};vm.Runn ... on() {}vm.Runn ... Optionsvm.Runn ... lename;vm.Runn ... ilenamevm.Runn ... ototypevm.Runn ... Offset;vm.Runn ... eOffsetvm.Runn ... nOffsetvm.Runn ... Errors;vm.Runn ... yErrorsvm.Runn ... imeout;vm.Runn ... timeoutvm.Scri ... ns) {};vm.Scri ... ons) {}vm.Scri ... Contextvm.Script.prototypevm.crea ... ox) {};vm.crea ... box) {}vm.createContextfunction(sandbox) {}vm.isCo ... ox) {};vm.isCo ... box) {}vm.isContextvm.runI ... ns) {};vm.runI ... ons) {}vm.runInContextvm.runI ... de) {};vm.runI ... ode) {}vm.runInDebugContextvm.runInNewContextvm.runInThisContextmodule. ... Script;module. ... .Scriptvm.crea ... me) {};vm.crea ... ame) {}vm.createScriptmodule. ... eScript/opt/codeql/javascript/tools/data/externs/nodejs/zlib.js + * @externs + * @fileoverview Definitions for module "zlib" + /**\n * ... ib"\n */ + * @interface + * @extends {internal.Transform} + + * @param {zlib.ZlibOptions=} options + * @return {zlib.Gzip} + /**\n * ... ip}\n */ + * @param {zlib.ZlibOptions=} options + * @return {zlib.Gunzip} + + * @param {zlib.ZlibOptions=} options + * @return {zlib.Deflate} + + * @param {zlib.ZlibOptions=} options + * @return {zlib.Inflate} + + * @param {zlib.ZlibOptions=} options + * @return {zlib.DeflateRaw} + /**\n * ... aw}\n */ + * @param {zlib.ZlibOptions=} options + * @return {zlib.InflateRaw} + + * @param {zlib.ZlibOptions=} options + * @return {zlib.Unzip} + + * @param {Buffer} buf + * @param {(function(Error, *): void)} callback + * @return {void} + + * @param {Buffer} buf + * @param {zlib.ZlibOptions=} options + * @return {*} + ZlibOptionswindowBitsmemLevelstrategydictionaryGzipGunzipDeflateRawInflateRawUnzipcreateGzipcreateGunzipcreateDeflatecreateInflatecreateDeflateRawcreateInflateRawcreateUnzipdeflateSyncdeflateRawdeflateRawSyncgzipgzipSyncgunzipgunzipSyncinflateRawinflateRawSyncunzipunzipSyncZ_NO_FLUSHZ_PARTIAL_FLUSHZ_SYNC_FLUSHZ_FULL_FLUSHZ_FINISHZ_BLOCKZ_TREESZ_OKZ_STREAM_ENDZ_NEED_DICTZ_ERRNOZ_STREAM_ERRORZ_DATA_ERRORZ_MEM_ERRORZ_BUF_ERRORZ_VERSION_ERRORZ_NO_COMPRESSIONZ_BEST_SPEEDZ_BEST_COMPRESSIONZ_DEFAULT_COMPRESSIONZ_FILTEREDZ_HUFFMAN_ONLYZ_RLEZ_FIXEDZ_DEFAULT_STRATEGYZ_BINARYZ_TEXTZ_ASCIIZ_UNKNOWNZ_DEFLATEDZ_NULLDefinitions for module "zlib"zlib.ZlibOptions=zlib.ZlibOptionszlib.Gzipzlib.Gunzipzlib.Deflatezlib.Inflatezlib.DeflateRawzlib.InflateRawzlib.Unzip(function (Error, *): void)function (Error, *): voidvar zlib = {};zlib = {}zlib.Zl ... n() {};zlib.Zl ... on() {}zlib.Zl ... nkSize;zlib.Zl ... unkSizezlib.Zl ... ototypezlib.Zl ... owBits;zlib.Zl ... dowBitszlib.Zl ... .level;zlib.Zl ... e.levelzlib.Zl ... mLevel;zlib.Zl ... emLevelzlib.Zl ... rategy;zlib.Zl ... trategyzlib.Zl ... ionary;zlib.Zl ... tionaryzlib.Gz ... n() {};zlib.Gz ... on() {}zlib.Gu ... n() {};zlib.Gu ... on() {}zlib.De ... n() {};zlib.De ... on() {}zlib.In ... n() {};zlib.In ... on() {}zlib.Un ... n() {};zlib.Un ... on() {}zlib.cr ... ns) {};zlib.cr ... ons) {}zlib.createGzipzlib.createGunzipzlib.createDeflatezlib.createInflatezlib.cr ... lateRawzlib.createUnzipzlib.de ... ck) {};zlib.de ... ack) {}zlib.deflatezlib.de ... ns) {};zlib.de ... ons) {}zlib.deflateSynczlib.deflateRawzlib.deflateRawSynczlib.gz ... ck) {};zlib.gz ... ack) {}zlib.gzipzlib.gz ... ns) {};zlib.gz ... ons) {}zlib.gzipSynczlib.gu ... ck) {};zlib.gu ... ack) {}zlib.gunzipzlib.gu ... ns) {};zlib.gu ... ons) {}zlib.gunzipSynczlib.in ... ck) {};zlib.in ... ack) {}zlib.inflatezlib.in ... ns) {};zlib.in ... ons) {}zlib.inflateSynczlib.inflateRawzlib.inflateRawSynczlib.un ... ck) {};zlib.un ... ack) {}zlib.unzipzlib.un ... ns) {};zlib.un ... ons) {}zlib.unzipSynczlib.Z_NO_FLUSH;zlib.Z_NO_FLUSHzlib.Z_ ... _FLUSH;zlib.Z_PARTIAL_FLUSHzlib.Z_SYNC_FLUSH;zlib.Z_SYNC_FLUSHzlib.Z_FULL_FLUSH;zlib.Z_FULL_FLUSHzlib.Z_FINISH;zlib.Z_FINISHzlib.Z_BLOCK;zlib.Z_BLOCKzlib.Z_TREES;zlib.Z_TREESzlib.Z_OK;zlib.Z_OKzlib.Z_STREAM_END;zlib.Z_STREAM_ENDzlib.Z_NEED_DICT;zlib.Z_NEED_DICTzlib.Z_ERRNO;zlib.Z_ERRNOzlib.Z_STREAM_ERROR;zlib.Z_STREAM_ERRORzlib.Z_DATA_ERROR;zlib.Z_DATA_ERRORzlib.Z_MEM_ERROR;zlib.Z_MEM_ERRORzlib.Z_BUF_ERROR;zlib.Z_BUF_ERRORzlib.Z_ ... _ERROR;zlib.Z_VERSION_ERRORzlib.Z_ ... ESSION;zlib.Z_ ... RESSIONzlib.Z_BEST_SPEED;zlib.Z_BEST_SPEEDZ_DEFAU ... RESSIONzlib.Z_FILTERED;zlib.Z_FILTEREDzlib.Z_HUFFMAN_ONLY;zlib.Z_HUFFMAN_ONLYzlib.Z_RLE;zlib.Z_RLEzlib.Z_FIXED;zlib.Z_FIXEDzlib.Z_ ... RATEGY;zlib.Z_ ... TRATEGYzlib.Z_BINARY;zlib.Z_BINARYzlib.Z_TEXT;zlib.Z_TEXTzlib.Z_ASCII;zlib.Z_ASCIIzlib.Z_UNKNOWN;zlib.Z_UNKNOWNzlib.Z_DEFLATED;zlib.Z_DEFLATEDzlib.Z_NULL;zlib.Z_NULLmodule. ... b.Gzip;module. ... ib.Gzipmodule.exports.Gzipmodule. ... Gunzip;module. ... .Gunzipmodule. ... eflate;module. ... Deflatemodule. ... nflate;module. ... Inflatemodule. ... ateRaw;module. ... lateRawmodule. ... .Unzip;module. ... b.Unzipmodule.exports.Unzipmodule. ... teGzip;module. ... ateGzipmodule. ... eGunzipmodule. ... eUnzip;module. ... teUnzipmodule. ... deflatemodule. ... awSync;module. ... RawSyncmodule. ... b.gzip;module. ... ib.gzipmodule.exports.gzipmodule. ... ipSync;module. ... zipSyncmodule. ... gunzip;module. ... .gunzipmodule. ... inflatemodule. ... .unzip;module. ... b.unzipmodule.exports.unzipmodule. ... _FLUSH;module. ... O_FLUSHmodule. ... L_FLUSHmodule. ... C_FLUSHmodule. ... FINISH;module. ... _FINISHmodule. ... _BLOCK;module. ... Z_BLOCKmodule. ... _TREES;module. ... Z_TREESmodule. ... b.Z_OK;module. ... ib.Z_OKmodule.exports.Z_OKmodule. ... AM_END;module. ... EAM_ENDmodule. ... D_DICT;module. ... ED_DICTmodule. ... _ERRNO;module. ... Z_ERRNOmodule. ... _ERROR;module. ... M_ERRORmodule. ... A_ERRORmodule. ... F_ERRORmodule. ... N_ERRORmodule. ... _SPEED;module. ... T_SPEEDmodule. ... LTERED;module. ... ILTEREDmodule. ... N_ONLY;module. ... AN_ONLYmodule. ... .Z_RLE;module. ... b.Z_RLEmodule.exports.Z_RLEmodule. ... _FIXED;module. ... Z_FIXEDmodule. ... RATEGY;module. ... TRATEGYmodule. ... BINARY;module. ... _BINARYmodule. ... Z_TEXT;module. ... .Z_TEXTmodule. ... _ASCII;module. ... Z_ASCIImodule. ... NKNOWN;module. ... UNKNOWNmodule. ... FLATED;module. ... EFLATEDmodule. ... Z_NULL;module. ... .Z_NULL/opt/codeql/javascript/tools/data/externs/vm/jsshell.js/opt/codeql/javascript/tools/data/externs/vm + * @externs + * Sources: + * * https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Introduction_to_the_JavaScript_shell + * * https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Shell_global_objects + * * http://mxr.mozilla.org/mozilla-central/source/js/src/shell/js.cpp + /**\n * ... pp \n */ + * @type {Array.} + + * @constructor + * @param {string=} name + * @see https://developer.mozilla.org/en-US/docs/Archive/Mozilla/SpiderMonkey/File_object + + * @type {File} + + * @param {string} mode + * @param {string} type + /**\n * ... ype\n */ + /**\n */ + * @param {string} destination + + * @param {string} newName + + * @param {number} offset + * @param {number} whence + * @return {number} + + * @param {number} numBytes + * @return {string} + + * @return {Array.} + + * @param {string} data + + * @param {Array.} lines + /**\n * ... nes\n */ + * @param {RegExp=} filter + * @return {Array.} + /**\n * ... e>}\n */ + * @param {string} name + + * @see https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Parser_API + /**\n * ... API\n */ + * @param {string} code + * @param {Object=} options + * @return {Object} + + * @param {number=} number + * @return {number} + + * @param {...string} options + + * @param {...string} files + /**\n * ... les\n */ + * @param {string} code + * @param {Object=} options + + * @param {string} file + * @return {number} + + * @param {...*} exprs + /**\n * ... prs\n */ + * @param {*} expr + /**\n * ... xpr\n */ + * @param {...string} names + * @return {string} + + * @param {number=} status + /**\n * ... tus\n */ + * @param {*} actual + * @param {*} expected + * @param {string=} msg + * @throws {Error} + + * @throws {Error} + + * @param {string} name + * @param {number} value + /**\n * ... lue\n */ + * @param {Object=} start + * @param {string} kind + + * @param {number} level + /**\n * ... vel\n */ + * @param {boolean} debug + /**\n * ... bug\n */ + * @param {function} f + /**\n * ... } f\n */ + * @param {function=} fun + * @param {number=} pc + * @param {*} exp + + * @param {function} fun + * @param {number=} pc + /**\n * ... pc\n */ + * @param {function=} fun + * @param {number} line + + * @param {number=} number + + * @param {number} mode + + * @param {string=} fileName + * @param {*=} start + * @param {*=} toFind + * @param {number=} maxDepth + * @param {*=} toIgnore + /**\n * ... ore\n */ + * @param {string|boolean} mode + + * @param {...string} strings + /**\n * ... ngs\n */ + * @param {Object=} obj + /**\n * ... obj\n */ + * @param {function} fun + * @param {Object=} scope + /**\n * ... ope\n */ + * @param {Object} obj + + * @param {*} n + * @return {number} + + * @param {number} n + * @param {string} str + * @param {boolean} save + /**\n * ... ave\n */ + * @param {string} filename + * @param {string=} options + + * @param {number=} seconds + + * @param {*} sd + /**\n * ... sd\n */ + * @param {*} a + /**\n * ... } a\n */ + * @param {Object} callback + /**\n * ... ack\n */ + * @param {function} fun + /**\n * ... fun\n */ + * @param {string} file + + * @param {boolean} showArgs + * @param {boolean} showLocals + * @param {boolean} showThisProps + /**\n * ... ops\n */ + * @param {string} str + * @return string + + * @param {string} s + * @param {Object=} o + /**\n * ... } o\n */ + * @param {string} str + + * @param {Object} buf + /**\n * ... buf\n */ + * @param {Object} obj + * @return {*} + + * @param {...Array.<*>} arrays + /**\n * ... ays\n */ + * @param {number} dt + /**\n * ... dt\n */ + * @param {string} code + * @throws {Error} + + * @param {string} code + * @return {boolean} + + * @param {number=} seconds + * @param {function=} func + /**\n * ... unc\n */ + * @param {boolean} cond + /**\n * ... ond\n */ + * @param {function} func + * @return {string} + + * @param {Object=} options + * @return {Object} + + * @param {string} filename + * @param {number} offset + * @param {number} size + + * @param {boolean} b + /**\n * ... } b\n */ + * @param {string} code + + * @param {string} s + * @return {boolean} + + * @param {Object} params + * @return {Array.<*>} + + * @param {Object} object + * @param {boolean} deep + /**\n * ... eep\n */scriptArgsFilecurrentDirseparatorcanReadcanWritecanAppendcanReplaceisOpencreationTimelastModifiedhasRandomAccesshasAutoFlushisNativecopyTorenameTonewNameseekwhencenumBytesreadlnreadAllwritelnwriteAlllinestoURLrevertVersionloadRelativeToScriptevaluateexprsprintErrputstrexprdateNownamesquitassertEqassertJitgcstatsgcparamcountHeapkindmakeFinalizeObserverfinalizeCountgczealsetDebugsetDebuggerHandlersetThrowHooktrapuntrapline2pcpc2linestackQuotastringsAreUTF8testUTF8dumpHeaptoFindmaxDepthtoIgnoredumpObjecttracingstringsscopegetpdatoint32evalInFramesavesnarfsecondsdeserializemjitstatsstringstatssetGCCallbackstartTimingMutatorstopTimingMutatordisassembledisdisfiledissrcnotesstackDumpshowArgsshowLocalsshowThisPropsinterngetslxevalcxevalInWorkergetSharedArrayBuffersetSharedArrayBuffershapeOfarrayInfoarrayssleepsyntaxParseoffThreadCompileScriptrunOffThreadScriptfuncinterruptIfcondinvokeInterruptCallbacksetInterruptCallbackenableLastWarningdisableLastWarninggetLastWarningclearLastWarningelapseddecompileFunctiondecompileBodydecompileThisthisFilenamenewGlobalcreateMappedArrayBuffergetMaxArgsobjectEmulatingUndefinedisCachingEnabledsetCachingEnabledcacheEntryprintProfilerEventsenableSingleStepProfilingdisableSingleStepProfilingisLatin1stackPointerInfoentryPointsparamsdeepSources: +* https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Introduction_to_the_JavaScript_shell +* https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Shell_global_objects +* http://mxr.mozilla.org/mozilla-central/source/js/src/shell/js.cpphttps://developer.mozilla.org/en-US/docs/Archive/Mozilla/SpiderMonkey/File_objectRegExp=Array.https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Parser_APIfunction=(string|boolean)...Array.<*>var environment;var scriptArgs;File.input;File.inputFile.output;File.outputFile.error;File.errorFile.currentDir;File.currentDirFile.separator;File.separatorFile.pr ... number;File.pr ... .numberFile.prototypeFile.pr ... parent;File.pr ... .parentFile.prototype.path;File.prototype.pathFile.prototype.name;File.prototype.nameFile.pr ... ectory;File.pr ... rectoryFile.pr ... isFile;File.pr ... .isFileFile.pr ... exists;File.pr ... .existsFile.pr ... anRead;File.pr ... canReadFile.pr ... nWrite;File.pr ... anWriteFile.pr ... Append;File.pr ... nAppendFile.pr ... eplace;File.pr ... ReplaceFile.pr ... isOpen;File.pr ... .isOpenFile.prototype.type;File.prototype.typeFile.prototype.mode;File.prototype.modeFile.pr ... onTime;File.pr ... ionTimeFile.pr ... dified;File.pr ... odifiedFile.prototype.size;File.prototype.sizeFile.pr ... Access;File.pr ... mAccessFile.pr ... oFlush;File.pr ... toFlushFile.pr ... sition;File.pr ... ositionFile.pr ... Native;File.pr ... sNativeFile.pr ... pe) {};File.pr ... ype) {}File.prototype.openFile.pr ... n() {};File.pr ... on() {}File.prototype.closeFile.pr ... .removeFile.pr ... on) {};File.pr ... ion) {}File.pr ... .copyToFile.pr ... me) {};File.pr ... ame) {}File.pr ... enameTofunction(newName) {}File.prototype.flushFile.pr ... ce) {};File.pr ... nce) {}File.prototype.seekfunctio ... nce) {}File.pr ... es) {};File.pr ... tes) {}File.prototype.readFile.pr ... .readlnFile.pr ... readAllFile.pr ... ta) {};File.pr ... ata) {}File.prototype.writeFile.pr ... writelnFile.pr ... nes) {}File.pr ... riteAllfunction(lines) {}File.pr ... er) {};File.pr ... ter) {}File.prototype.listfunction(filter) {}File.prototype.mkdirFile.prototype.toURLReflect ... ns) {};Reflect ... ons) {}Reflect.parsefunctio ... ber) {}functio ... les) {}functio ... ile) {}functio ... prs) {}functio ... xpr) {}functio ... ow() {}functio ... mes) {}functio ... tus) {}functio ... msg) {}functio ... it() {}function gc() {}functio ... ind) {}functio ... nt() {}functio ... vel) {}functio ... bug) {}functio ... r(f) {}functio ... k(f) {}functio ... exp) {}functio ... pc) {}functio ... F8() {}functio ... ore) {}function build() {}functio ... ope) {}functio ... 2(n) {}functio ... ave) {}functio ... nds) {}functio ... (sd) {}functio ... e(a) {}function dis(fun) {}functio ... , o) {}functio ... buf) {}functio ... ays) {}functio ... (dt) {}offThre ... eScriptfunctio ... pt() {}functio ... unc) {}invokeI ... allbackfunctio ... ng() {}functio ... ed() {}functio ... is() {}functio ... me() {}functio ... ize) {}createM ... yBufferobjectE ... definedfunctio ... d(b) {}enableS ... ofilingdisable ... ofilingfunctio ... 1(s) {}functio ... eep) {}/opt/codeql/javascript/tools/data/externs/vm/rhino.js + * @externs + * Source: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino/Shell + /**\n * ... ell\n */ + * @param {string} className + + * @param {string} filename + + * @param {string} path + * @param {string=} characterCoding + + * @param {string} url + * @param {string=} characterCoding + + * @param {string} commandName + * @param {...*} args + /**\n * ... rgs\n */ + * @param {Object} object + + * @param {Object} object + * @param {string} filename + + * @param {string|function} functionOrScript + /**\n * ... ipt\n */ + * @param {number=} num + /**\n * ... num\n */defineClassloadClasscharacterCodingreadUrlcommandNamefunctionOrScriptsyncSource: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino/Shell(string|function)var history;function help() {}functio ... ipt) {}function quit() {}/opt/codeql/javascript/tools/data/externs/vm/spidermonkey.js + * Externs for Spidermonkey-specific API. + * + * @externs + + * @param {Object} object + * @param {*=} keyOnly + * @return {Object} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Iterator + + * @type {Object} + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/StopIteration + keyOnlyStopIterationExterns for Spidermonkey-specific API.https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Iteratorhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/StopIterationfunctio ... nly) {}Iterato ... n() {};Iterato ... on() {}var StopIteration;/opt/codeql/javascript/tools/data/externs/vm/v8.js + * @fileoverview This file describes the externs API for V8-specific objects. + * @externs + + * Stack frame elements in V8. + * @constructor + + * Returns the value of this. + * @return {Object|undefined} + + * Returns the type of this as a string. This is the name of the function stored + * in the constructor field of this, if available, otherwise the object's + * [[Class]] internal property. + * @return {string|undefined} + + * Returns the current function. + * @return {!Function|undefined} + + * Returns the name of the current function, typically its name property. If a + * name property is not available an attempt will be made to try to infer a name + * from the function's context. + * @return {string|undefined} + + * Returns the name of the property of this or one of its prototypes that holds + * the current function. + * @return {string|undefined} + + * If this function was defined in a script returns the name of the script + * @return {string|undefined} + + * If this function was defined in a script returns the current line number. + * @return {number|undefined} + + * If this function was defined in a script returns the current column number. + * @return {number|undefined} + + * If this function was created using a call to eval, returns a CallSite object + * representing the location where eval was called + * @return {CallSite|undefined} + + * Is this a toplevel invocation, that is, is this the global object? + * @return {boolean} + + * Does this call take place in code defined by a call to eval? + * @return {boolean} + + * Is this call in native V8 code? + * @return {boolean} + + * Is this a constructor call? + * @return {boolean} + CallSitegetThisgetTypeNamegetFunctiongetFunctionNamegetMethodNamegetFileNamegetLineNumbergetColumnNumbergetEvalOriginisToplevelisEvalisConstructorThis file describes the externs API for V8-specific objects. +Stack frame elements in V8.Returns the value of this.Returns the type of this as a string. This is the name of the function stored +in the constructor field of this, if available, otherwise the object's +[[Class]] internal property.Returns the current function.(!Function|undefined)Returns the name of the current function, typically its name property. If a +name property is not available an attempt will be made to try to infer a name +from the function's context.Returns the name of the property of this or one of its prototypes that holds +the current function.If this function was defined in a script returns the name of the scriptIf this function was defined in a script returns the current line number.If this function was defined in a script returns the current column number.If this function was created using a call to eval, returns a CallSite object +representing the location where eval was called(CallSite|undefined)Is this a toplevel invocation, that is, is this the global object?Does this call take place in code defined by a call to eval?Is this call in native V8 code?Is this a constructor call?functio ... te() {}CallSit ... n() {};CallSit ... on() {}CallSit ... getThisCallSite.prototypeCallSit ... ypeNameCallSit ... unctionCallSit ... ionNameCallSit ... hodNameCallSit ... ileNameCallSit ... eNumberCallSit ... nNumberCallSit ... lOriginCallSit ... oplevelCallSit ... .isEvalCallSit ... sNativeCallSit ... tructor/opt/codeql/javascript/tools/data/externs/web/chrome.js/opt/codeql/javascript/tools/data/externs/web + * @fileoverview Definitions for globals in Chrome. This file describes the + * externs API for the chrome.* object when running in a normal browser + * context. For APIs available in Chrome Extensions, see chrome_extensions.js + * in this directory. + * @externs + + * namespace + * @const + + * @see http://developer.chrome.com/apps/runtime.html#type-Port + * @constructor + @type {!ChromeEvent} @type {!MessageSender|undefined} + * @param {*} obj Message object. + * @return {undefined} + + * @see https://developer.chrome.com/extensions/events.html + * @constructor + * TODO(tbreisacher): Update *Listener methods to take {function()} + * instead of {!Function}. See discussion at go/ChromeEvent-TODO + /**\n * ... ODO\n */ + * @param {!Function} callback + * @return {undefined} + + * @param {!Function} callback + * @return {boolean} + @return {boolean} /** @re ... ean} */ TODO(tbreisacher): Add the addRules, getRules, and removeRules methods?// TODO ... ethods? + * Event whose listeners take a string parameter. + * @constructor + + * @param {function(string): void} callback + * @return {undefined} + + * @param {function(string): void} callback + * @return {boolean} + + * Event whose listeners take a boolean parameter. + * @constructor + + * @param {function(boolean): void} callback + * @return {undefined} + + * @param {function(boolean): void} callback + * @return {boolean} + + * Event whose listeners take a number parameter. + * @constructor + + * @param {function(number): void} callback + * @return {undefined} + + * @param {function(number): void} callback + * @return {boolean} + + * Event whose listeners take an Object parameter. + * @constructor + + * @param {function(!Object): void} callback Callback. + * @return {undefined} + + * @param {function(!Object): void} callback Callback. + * @return {boolean} + + * Event whose listeners take a string array parameter. + * @constructor + + * @param {function(!Array): void} callback + * @return {undefined} + + * @param {function(!Array): void} callback + * @return {boolean} + + * Event whose listeners take two strings as parameters. + * @constructor + + * @param {function(string, string): void} callback + * @return {undefined} + + * @param {function(string, string): void} callback + * @return {boolean} + + * @see http://developer.chrome.com/extensions/runtime.html#type-MessageSender + * @constructor + @type {!Tab|undefined} @type {number|undefined} @type {string|undefined} + * @enum {string} + * @see https://developer.chrome.com/extensions/tabs#type-MutedInfoReason + /**\n * ... son\n */ + * @see https://developer.chrome.com/extensions/tabs#type-MutedInfo + * @constructor + @type {!MutedInfoReason|string|undefined} + * @see https://developer.chrome.com/extensions/tabs#type-Tab + * @constructor + TODO: Make this field optional once dependent projects have been updated.// TODO ... pdated. @type {!MutedInfo|undefined} + * @see https://developer.chrome.com/webstore/inline_installation#already-installed + * @type {boolean} + + * @const + * @see https://developer.chrome.com/apps/webstore + + * @param {string|function()|function(string, string=)=} + * opt_urlOrSuccessCallbackOrFailureCallback Either the URL to install or + * the succcess callback taking no arg or the failure callback taking an + * error string arg. + * @param {function()|function(string, string=)=} + * opt_successCallbackOrFailureCallback Either the succcess callback taking + * no arg or the failure callback taking an error string arg. + * @param {function(string, string=)=} opt_failureCallback The failure callback. + * @return {undefined} + @type {!ChromeStringEvent} @type {!ChromeNumberEvent} + * @see https://developer.chrome.com/extensions/runtime.html + * @const + @type {!Object|undefined} + * @param {string|!Object=} opt_extensionIdOrConnectInfo Either the + * extensionId to connect to, in which case connectInfo params can be + * passed in the next optional argument, or the connectInfo params. + * @param {!Object=} opt_connectInfo The connectInfo object, + * if arg1 was the extensionId to connect to. + * @return {!Port} New port. + /**\n * ... rt.\n */ + * @param {string|*} extensionIdOrMessage Either the extensionId to send the + * message to, in which case the message is passed as the next arg, or the + * message itself. + * @param {(*|!Object|function(*): void)=} opt_messageOrOptsOrCallback + * One of: + * The message, if arg1 was the extensionId. + * The options for message sending, if arg1 was the message and this + * argument is not a function. + * The callback, if arg1 was the message and this argument is a function. + * @param {(!Object|function(*): void)=} opt_optsOrCallback + * Either the options for message sending, if arg2 was the message, + * or the callback. + * @param {function(*): void=} opt_callback The callback function which + * takes a JSON response object sent by the handler of the request. + * @return {undefined} + + * Returns an object representing current load times. Note that the properties + * on the object do not change and the function must be called again to get + * up-to-date data. + * + * @return {!ChromeLoadTimes} + /**\n * ... es}\n */ + * The data object given by chrome.loadTimes(). + * @constructor + + * True iff the resource was fetched over SPDY. + * @type {boolean} + + * Returns an object containing timing information. + * @return {!ChromeCsiInfo} + + * The data object given by chrome.csi(). + * @constructor + + * Same as chrome.loadTimes().requestTime, if defined. + * Otherwise, gives the same value as chrome.loadTimes().startLoadTime. + * In milliseconds, truncated. + * @type {number} + + * Same as chrome.loadTimes().finishDocumentLoadTime but in milliseconds and + * truncated. + * @type {number} + + * The time since startE in milliseconds. + * @type {number} + + * @param {string|!ArrayBuffer|!Object} message + * @see https://developers.google.com/native-client/devguide/tutorial + * @return {undefined} + chromePortonDisconnectonMessagesenderChromeEventhasListenerhasListenersChromeStringEventChromeBooleanEventChromeNumberEventChromeObjectEventChromeStringArrayEventChromeStringStringEventMessageSenderframeIdtlsChannelIdMutedInfoReasonUSERCAPTUREEXTENSIONMutedInfoextensionIdwindowIdopenerTabIdhighlightedpinnedaudiblediscardedautoDiscardablemutedInfofavIconUrlincognitosessionIdisInstalledwebstoreinstallopt_urlOrSuccessCallbackOrFailureCallbackopt_successCallbackOrFailureCallbackopt_failureCallbackonInstallStageChangedonDownloadProgressruntimelastErroropt_extensionIdOrConnectInfoopt_connectInfosendMessageextensionIdOrMessageopt_messageOrOptsOrCallbackopt_optsOrCallbackopt_callbackloadTimesChromeLoadTimesrequestTimestartLoadTimecommitLoadTimefinishDocumentLoadTimefinishLoadTimefirstPaintTimefirstPaintAfterLoadTimenavigationTypewasFetchedViaSpdywasNpnNegotiatednpnNegotiatedProtocolwasAlternateProtocolAvailableconnectionInfocsiChromeCsiInfostartEonloadTpageTtranHTMLEmbedElementDefinitions for globals in Chrome. This file describes the +externs API for the chrome.* object when running in a normal browser +context. For APIs available in Chrome Extensions, see chrome_extensions.js +in this directory. +http://developer.chrome.com/apps/runtime.html#type-Port +!ChromeEvent(!MessageSender|undefined)!MessageSenderMessage object. +https://developer.chrome.com/extensions/events.html +TODOUnknown content '(tbreisacher): Update *Listener methods to take {function()} + * instead of {!Function}. See discussion at go/ChromeEvent-TODO'Unknown ... t-TODO'Event whose listeners take a string parameter.Event whose listeners take a boolean parameter.Event whose listeners take a number parameter.Event whose listeners take an Object parameter.Callback. +function (!Object): voidEvent whose listeners take a string array parameter.function (!Array.): voidEvent whose listeners take two strings as parameters.function (string, string): voidhttp://developer.chrome.com/extensions/runtime.html#type-MessageSender +(!Tab|undefined)!Tabenum@enumhttps://developer.chrome.com/extensions/tabs#type-MutedInfoReasonhttps://developer.chrome.com/extensions/tabs#type-MutedInfo +(!MutedInfoReason|string|undefined)!MutedInfoReasonhttps://developer.chrome.com/extensions/tabs#type-Tab +(!MutedInfo|undefined)!MutedInfohttps://developer.chrome.com/webstore/inline_installation#already-installed +https://developer.chrome.com/apps/webstoreEither the URL to install or +the succcess callback taking no arg or the failure callback taking an +error string arg. +(string|function ()|function (string, string=))=(string|function ()|function (string, string=))function (string, string=)Either the succcess callback taking +no arg or the failure callback taking an error string arg. +(function ()|function (string, string=))=(function ()|function (string, string=))The failure callback. +function (string, string=)=!ChromeStringEvent!ChromeNumberEventhttps://developer.chrome.com/extensions/runtime.html +(!Object|undefined)Either the +extensionId to connect to, in which case connectInfo params can be +passed in the next optional argument, or the connectInfo params. +(string|!Object)=(string|!Object)The connectInfo object, +if arg1 was the extensionId to connect to. +New port.!PortEither the extensionId to send the +message to, in which case the message is passed as the next arg, or the +message itself. +(string|*)One of: +The message, if arg1 was the extensionId. +The options for message sending, if arg1 was the message and this +argument is not a function. +The callback, if arg1 was the message and this argument is a function. +(*|!Object|function (*): void)=(*|!Object|function (*): void)Either the options for message sending, if arg2 was the message, +or the callback. +(!Object|function (*): void)=(!Object|function (*): void)The callback function which +takes a JSON response object sent by the handler of the request. +function (*): void=Returns an object representing current load times. Note that the properties +on the object do not change and the function must be called again to get +up-to-date data.!ChromeLoadTimesThe data object given by chrome.loadTimes().True iff the resource was fetched over SPDY.Returns an object containing timing information.!ChromeCsiInfoThe data object given by chrome.csi().Same as chrome.loadTimes().requestTime, if defined. +Otherwise, gives the same value as chrome.loadTimes().startLoadTime. +In milliseconds, truncated.Same as chrome.loadTimes().finishDocumentLoadTime but in milliseconds and +truncated.The time since startE in milliseconds.(string|!ArrayBuffer|!Object)https://developers.google.com/native-client/devguide/tutorial +var chrome = {};chrome = {}function Port() {}Port.prototype.name;Port.prototype.namePort.prototypePort.pr ... onnect;Port.pr ... connectPort.pr ... essage;Port.pr ... MessagePort.pr ... sender;Port.pr ... .senderPort.pr ... bj) {};Port.pr ... obj) {}Port.pr ... n() {};Port.pr ... on() {}ChromeE ... ck) {};ChromeE ... ack) {}ChromeE ... istenerChromeE ... ototypeChromeE ... n() {};ChromeE ... on() {}ChromeE ... stenersChromeS ... ck) {};ChromeS ... ack) {}ChromeS ... istenerChromeS ... ototypeChromeS ... n() {};ChromeS ... on() {}ChromeS ... stenersChromeB ... ck) {};ChromeB ... ack) {}ChromeB ... istenerChromeB ... ototypeChromeB ... n() {};ChromeB ... on() {}ChromeB ... stenersChromeN ... ck) {};ChromeN ... ack) {}ChromeN ... istenerChromeN ... ototypeChromeN ... n() {};ChromeN ... on() {}ChromeN ... stenersChromeO ... ck) {};ChromeO ... ack) {}ChromeO ... istenerChromeO ... ototypeChromeO ... n() {};ChromeO ... on() {}ChromeO ... stenersChromeS ... ayEventChromeS ... ngEventMessage ... pe.tab;Message ... ype.tabMessage ... ototypeMessage ... rameId;Message ... frameIdMessage ... ype.id;Message ... type.idMessage ... pe.url;Message ... ype.urlMessage ... nnelId;Message ... annelIdvar Mut ... '',\n};MutedIn ... : '',\n}{\n USE ... : '',\n}USER: ''CAPTURE: ''EXTENSION: ''var Mut ... n() {};MutedIn ... on() {}MutedIn ... .muted;MutedIn ... e.mutedMutedInfo.prototypeMutedIn ... reason;MutedIn ... .reasonMutedIn ... sionId;MutedIn ... nsionIdfunction Tab() {}Tab.prototype.id;Tab.prototype.idTab.prototypeTab.prototype.index;Tab.prototype.indexTab.pro ... ndowId;Tab.pro ... indowIdTab.pro ... rTabId;Tab.pro ... erTabIdTab.pro ... ighted;Tab.pro ... lightedTab.pro ... active;Tab.prototype.activeTab.pro ... pinned;Tab.prototype.pinnedTab.pro ... udible;Tab.pro ... audibleTab.pro ... carded;Tab.pro ... scardedTab.pro ... rdable;Tab.pro ... ardableTab.pro ... edInfo;Tab.pro ... tedInfoTab.prototype.url;Tab.prototype.urlTab.prototype.title;Tab.prototype.titleTab.pro ... conUrl;Tab.pro ... IconUrlTab.pro ... status;Tab.prototype.statusTab.pro ... ognito;Tab.pro ... cognitoTab.prototype.width;Tab.prototype.widthTab.pro ... height;Tab.prototype.heightTab.pro ... sionId;Tab.pro ... ssionIdchrome.app = {};chrome.app = {}chrome.appchrome. ... talled;chrome. ... stalledchrome. ... e = {};chrome.webstore = {}chrome.webstorechrome. ... ck) {};chrome. ... ack) {}chrome. ... installopt_url ... allbackopt_suc ... allbackchrome. ... hanged;chrome. ... ChangedonInsta ... Changedchrome. ... ogress;chrome. ... rogresschrome.runtime = {};chrome.runtime = {}chrome.runtimechrome. ... r = {};chrome. ... or = {}chrome. ... stErrorchrome. ... essage;chrome. ... messagechrome. ... fo) {};chrome. ... nfo) {}chrome. ... connectfunctio ... nfo) {}opt_ext ... ectInfochrome. ... Messageopt_mes ... allbackchrome. ... n() {};chrome. ... on() {}chrome.loadTimesfunctio ... es() {}ChromeL ... stTime;ChromeL ... estTimeChromeL ... ototypeChromeL ... adTime;ChromeL ... oadTimefinishD ... oadTimeChromeL ... ntTime;ChromeL ... intTimefirstPa ... oadTimeChromeL ... onType;ChromeL ... ionTypeChromeL ... iaSpdy;ChromeL ... ViaSpdyChromeL ... tiated;ChromeL ... otiatedChromeL ... otocol;ChromeL ... rotocolnpnNego ... rotocolChromeL ... ilable;ChromeL ... ailablewasAlte ... ailableChromeL ... onInfo;ChromeL ... ionInfochrome.csiChromeC ... startE;ChromeC ... .startEChromeC ... ototypeChromeC ... nloadT;ChromeC ... onloadTChromeC ... .pageT;ChromeC ... e.pageTChromeC ... e.tran;ChromeC ... pe.tranHTMLEmb ... ge) {};HTMLEmb ... age) {}HTMLEmb ... MessageHTMLEmb ... ototype/opt/codeql/javascript/tools/data/externs/web/fetchapi.js + * @fileoverview Definitions of the fetch api. + * + * This api is still in development and not yet stable. Use at your + * own risk. + * + * Based on Living Standard — Last Updated 17 August 2016 + * + * @see https://fetch.spec.whatwg.org/ + * @externs + + * @typedef {string} + * @see https://w3c.github.io/webappsec-referrer-policy/#enumdef-referrerpolicy + * Possible values: '', 'no-referrer', 'no-referrer-when-downgrade', + * 'same-origin', 'origin', 'strict-origin', 'origin-when-cross-origin', + * 'strict-origin-when-cross-origin', 'unsafe-url' + /**\n * ... rl'\n */ + * @typedef {!Headers|!Array>|!IObject} + * @see https://fetch.spec.whatwg.org/#headersinit + /**\n * ... nit\n */ + * @param {!HeadersInit=} opt_headersInit + * @constructor + * @implements {Iterable>} + * @see https://fetch.spec.whatwg.org/#headers + /**\n * ... ers\n */ + * @param {string} name + * @param {string} value + * @return {undefined} + + * @param {string} name + * @return {undefined} + @return {!Iterator>} /** @re ... g>>} */ + * @param {string} name + * @return {?string} + + * @param {string} name + * @return {!Array} + + * @param {string} name + * @return {boolean} + @return {!Iterator} /** @re ... ng>} */ + * @typedef {!Blob|!BufferSource|!FormData|string} + * @see https://fetch.spec.whatwg.org/#bodyinit + + * @typedef {!BodyInit|!ReadableStream} + * @see https://fetch.spec.whatwg.org/#responsebodyinit + + * @interface + * @see https://fetch.spec.whatwg.org/#body + /**\n * ... ody\n */ @return {!Promise} @return {!Promise} /** @re ... ob>} */ @return {!Promise} /** @re ... ta>} */ @return {!Promise<*>} /** @re ... <*>} */ @return {!Promise} + * @typedef {!Request|string} + * @see https://fetch.spec.whatwg.org/#requestinfo + /**\n * ... nfo\n */ + * @param {!RequestInfo} input + * @param {!RequestInit=} opt_init + * @constructor + * @implements {Body} + * @see https://fetch.spec.whatwg.org/#request + @type {!Headers} /** @ty ... ers} */ @type {!FetchRequestType} /** @ty ... ype} */ @type {!RequestDestination} /** @ty ... ion} */ @type {!RequestMode} /** @ty ... ode} */ @type {!RequestCredentials} /** @ty ... als} */ @type {!RequestCache} /** @ty ... che} */ @type {!RequestRedirect} /** @ty ... ect} */ @return {!Request} /** @re ... est} */ + * @record + * @see https://fetch.spec.whatwg.org/#requestinit + @type {(undefined|string)} /** @ty ... ng)} */ @type {(undefined|!HeadersInit)} /** @ty ... it)} */ @type {(undefined|?BodyInit)} @type {(undefined|!ReferrerPolicy)} /** @ty ... cy)} */ @type {(undefined|!RequestMode)} /** @ty ... de)} */ @type {(undefined|!RequestCredentials)} /** @ty ... ls)} */ @type {(undefined|!RequestCache)} /** @ty ... he)} */ @type {(undefined|!RequestRedirect)} /** @ty ... ct)} */ @type {(undefined|null)} /** @ty ... ll)} */ + * @typedef {string} + * @see https://fetch.spec.whatwg.org/#requesttype + * Possible values: '', 'audio', 'font', 'image', 'script', 'style', + * 'track', 'video' + /**\n * ... eo'\n */ + * @typedef {string} + * @see https://fetch.spec.whatwg.org/#requestdestination + * Possible values: '', 'document', 'embed', 'font', 'image', 'manifest', + * 'media', 'object', 'report', 'script', 'serviceworker', 'sharedworker', + * 'style', 'worker', 'xslt' + /**\n * ... lt'\n */ + * @typedef {string} + * @see https://fetch.spec.whatwg.org/#requestmode + * Possible values: 'navigate', 'same-origin', 'no-cors', 'cors' + /**\n * ... rs'\n */ + * @typedef {string} + * @see https://fetch.spec.whatwg.org/#requestcredentials + * Possible values: 'omit', 'same-origin', 'include' + /**\n * ... de'\n */ + * @typedef {string} + * @see https://fetch.spec.whatwg.org/#requestcache + * Possible values: 'default', 'no-store', 'reload', 'no-cache', 'force-cache', + * 'only-if-cached' + /**\n * ... ed'\n */ + * @typedef {string} + * @see https://fetch.spec.whatwg.org/#requestredirect + * Possible values: 'follow', 'error', 'manual' + /**\n * ... al'\n */ + * @param {?ResponseBodyInit=} opt_body + * @param {!ResponseInit=} opt_init + * @constructor + * @implements {Body} + * @see https://fetch.spec.whatwg.org/#response + /**\n * ... nse\n */ @return {!Response} /** @re ... nse} */ + * @param {string} url + * @param {number=} opt_status + * @return {!Response} + @type {!ResponseType} @type {?ReadableStream} /** @ty ... eam} */ @type {!Promise} /** @ty ... rs>} */ + * @record + * @see https://fetch.spec.whatwg.org/#responseinit + @type {(undefined|number)} /** @ty ... er)} */ + * @typedef {string} + * @see https://fetch.spec.whatwg.org/#responsetype + * Possible values: 'basic', 'cors', 'default', 'error', 'opaque', + * 'opaqueredirect' + /**\n * ... ct'\n */ + * @param {!RequestInfo} input + * @param {!RequestInit=} opt_init + * @return {!Promise} + * @see https://fetch.spec.whatwg.org/#fetch-method + ReferrerPolicyHeadersInitHeadersopt_headersInitgetAllBodyInitResponseBodyInitBodybodyUsedformDataRequestInfoRequestopt_initreferrerredirectRequestInitFetchRequestTypeRequestDestinationRequestModeRequestCredentialsRequestCacheRequestRedirectopt_bodyopt_statusredirectedtrailerResponseInitResponseTypeWorkerGlobalScopeDefinitions of the fetch api. +* This api is still in development and not yet stable. Use at your +own risk. +* Based on Living Standard — Last Updated 17 August 2016 +*https://fetch.spec.whatwg.org/ +https://w3c.github.io/webappsec-referrer-policy/#enumdef-referrerpolicy +Possible values: '', 'no-referrer', 'no-referrer-when-downgrade', +'same-origin', 'origin', 'strict-origin', 'origin-when-cross-origin', +'strict-origin-when-cross-origin', 'unsafe-url'(!Headers|!Array.>|!IObject.)!Headers!Array.>Array.>https://fetch.spec.whatwg.org/#headersinit!HeadersInit=!HeadersInitIterable.>https://fetch.spec.whatwg.org/#headers!Iterator.>Iterator.>!Iterator.Iterator.(!Blob|!BufferSource|!FormData|string)!Blob!BufferSource!FormDatahttps://fetch.spec.whatwg.org/#bodyinit(!BodyInit|!ReadableStream)!BodyInit!ReadableStreamhttps://fetch.spec.whatwg.org/#responsebodyinithttps://fetch.spec.whatwg.org/#body!Promise.Promise.!Promise.Promise.!Promise.Promise.!Promise.<*>Promise.<*>!Promise.Promise.(!Request|string)!Requesthttps://fetch.spec.whatwg.org/#requestinfo!RequestInfo!RequestInit=!RequestInithttps://fetch.spec.whatwg.org/#request!FetchRequestType!RequestDestination!RequestMode!RequestCredentials!RequestCache!RequestRedirecthttps://fetch.spec.whatwg.org/#requestinit(undefined|string)(undefined|!HeadersInit)(undefined|?BodyInit)?BodyInit(undefined|!ReferrerPolicy)!ReferrerPolicy(undefined|!RequestMode)(undefined|!RequestCredentials)(undefined|!RequestCache)(undefined|!RequestRedirect)(undefined|null)https://fetch.spec.whatwg.org/#requesttype +Possible values: '', 'audio', 'font', 'image', 'script', 'style', +'track', 'video'https://fetch.spec.whatwg.org/#requestdestination +Possible values: '', 'document', 'embed', 'font', 'image', 'manifest', +'media', 'object', 'report', 'script', 'serviceworker', 'sharedworker', +'style', 'worker', 'xslt'https://fetch.spec.whatwg.org/#requestmode +Possible values: 'navigate', 'same-origin', 'no-cors', 'cors'https://fetch.spec.whatwg.org/#requestcredentials +Possible values: 'omit', 'same-origin', 'include'https://fetch.spec.whatwg.org/#requestcache +Possible values: 'default', 'no-store', 'reload', 'no-cache', 'force-cache', +'only-if-cached'https://fetch.spec.whatwg.org/#requestredirect +Possible values: 'follow', 'error', 'manual'?ResponseBodyInit=?ResponseBodyInit!ResponseInit=!ResponseInithttps://fetch.spec.whatwg.org/#response!Response!ResponseType?ReadableStream!Promise.Promise.https://fetch.spec.whatwg.org/#responseinit(undefined|number)https://fetch.spec.whatwg.org/#responsetype +Possible values: 'basic', 'cors', 'default', 'error', 'opaque', +'opaqueredirect'!Promise.Promise.https://fetch.spec.whatwg.org/#fetch-methodvar ReferrerPolicy;var HeadersInit;functio ... nit) {}Headers ... ue) {};Headers ... lue) {}Headers ... .appendHeaders.prototypeHeaders ... me) {};Headers ... ame) {}Headers ... .deleteHeaders ... n() {};Headers ... on() {}Headers ... entriesHeaders ... ype.getHeaders ... .getAllHeaders ... ype.hasHeaders ... pe.keysHeaders ... ype.setHeaders ... .valuesHeaders ... erator]var BodyInit;var Res ... dyInit;function Body() {}Body.pr ... dyUsed;Body.pr ... odyUsedBody.prototypeBody.pr ... n() {};Body.pr ... on() {}Body.pr ... yBufferBody.prototype.blobBody.pr ... ormDataBody.prototype.jsonBody.prototype.textvar RequestInfo;Request ... dyUsed;Request ... odyUsedRequest.prototypeRequest ... n() {};Request ... on() {}Request ... yBufferRequest ... pe.blobRequest ... ormDataRequest ... pe.jsonRequest ... pe.textRequest ... method;Request ... .methodRequest ... pe.url;Request ... ype.urlRequest ... eaders;Request ... headersRequest ... e.type;Request ... pe.typeRequest ... nation;Request ... inationRequest ... ferrer;Request ... eferrerRequest ... e.mode;Request ... pe.modeRequest ... ntials;Request ... entialsRequest ... .cache;Request ... e.cacheRequest ... direct;Request ... edirectRequest ... egrity;Request ... tegrityRequest ... e.cloneRequest ... ototypeRequest ... e.body;Request ... pe.bodyRequest ... Policy;Request ... rPolicyRequest ... window;Request ... .windowvar Fet ... stType;var Req ... nation;var RequestMode ;var Req ... ntials;var RequestCache;var RequestRedirect;Respons ... n() {};Respons ... on() {}Response.errorRespons ... us) {};Respons ... tus) {}Response.redirectRespons ... dyUsed;Respons ... odyUsedResponse.prototypeRespons ... yBufferRespons ... pe.blobRespons ... ormDataRespons ... pe.jsonRespons ... pe.textRespons ... e.type;Respons ... pe.typeRespons ... pe.url;Respons ... ype.urlRespons ... rected;Respons ... irectedRespons ... status;Respons ... .statusRespons ... ype.ok;Respons ... type.okRespons ... usText;Respons ... tusTextRespons ... eaders;Respons ... headersRespons ... e.body;Respons ... pe.bodyRespons ... railer;Respons ... trailerRespons ... e.cloneRespons ... ototypevar ResponseType;Window. ... it) {};Window. ... nit) {}Window. ... e.fetchWindow.prototypeWorkerG ... it) {};WorkerG ... nit) {}WorkerG ... e.fetchWorkerG ... ototype/opt/codeql/javascript/tools/data/externs/web/fileapi.js + * Copyright 2010 The Closure Compiler Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + + * @fileoverview Definitions for objects in the File API, File Writer API, and + * File System API. Details of the API are at: + * http://www.w3.org/TR/FileAPI/ + * http://www.w3.org/TR/file-writer-api/ + * http://www.w3.org/TR/file-system-api/ + * + * @externs + * @author dbk@google.com (David Barrett-Kahn) + /**\n * ... hn)\n */ + * @see http://dev.w3.org/2006/webapi/FileAPI/#dfn-Blob + * @param {Array=} opt_blobParts + * @param {Object=} opt_options + * @constructor + * @nosideeffects + + * @see http://www.w3.org/TR/FileAPI/#dfn-size + * @type {number} + + * @see http://www.w3.org/TR/FileAPI/#dfn-type + * @type {string} + + * @see http://www.w3.org/TR/FileAPI/#dfn-slice + * @param {number=} start + * @param {number=} length + * @param {string=} opt_contentType + * @return {!Blob} + * @nosideeffects + + * This replaces Blob.slice in Chrome since WebKit revision 84005. + * @see http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0222.html + * @param {number=} start + * @param {number=} end + * @param {string=} opt_contentType + * @return {!Blob} + * @nosideeffects + + * This replaces Blob.slice in Firefox. + * @see http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0222.html + * @param {number=} start + * @param {number=} end + * @param {string=} opt_contentType + * @return {!Blob} + * @nosideeffects + + * @see http://www.w3.org/TR/file-writer-api/#the-blobbuilder-interface + * @constructor + + * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append0 + * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append1 + * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append2 + * @param {string|Blob|ArrayBuffer} data + * @param {string=} endings + * @return {undefined} + + * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-getBlob + * @param {string=} contentType + * @return {!Blob} + /**\n * ... ob}\n */ + * This has replaced BlobBuilder in Chrome since WebKit revision 84008. + * @see http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0222.html + * @constructor + + * @record + * @see https://dev.w3.org/2009/dap/file-system/file-dir-sys.html#the-flags-dictionary + /**\n * ... ary\n */ @type {(undefined|boolean)} /** @ty ... an)} */ + * @see http://www.w3.org/TR/file-system-api/#the-directoryentry-interface + * @constructor + * @extends {Entry} + + * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-createReader + * @return {!DirectoryReader} + + * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-getFile + * @param {string} path + * @param {!FileSystemFlags=} options + * @param {function(!FileEntry)=} successCallback + * @param {function(!FileError)=} errorCallback + * @return {undefined} + + * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-getDirectory + * @param {string} path + * @param {!FileSystemFlags=} options + * @param {function(!DirectoryEntry)=} successCallback + * @param {function(!FileError)=} errorCallback + * @return {undefined} + + * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-removeRecursively + * @param {function()} successCallback + * @param {function(!FileError)=} errorCallback + * @return {undefined} + + * @see http://www.w3.org/TR/file-system-api/#the-directoryreader-interface + * @constructor + + * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryReader-readEntries + * @param {function(!Array)} successCallback + * @param {function(!FileError)=} errorCallback + * @return {undefined} + + * @see http://www.w3.org/TR/file-system-api/#the-entry-interface + * @constructor + + * @see http://www.w3.org/TR/file-system-api/#widl-Entry-isFile + * @type {boolean} + + * @see http://www.w3.org/TR/file-system-api/#widl-Entry-isDirectory + * @type {boolean} + + * @see http://www.w3.org/TR/file-system-api/#widl-Entry-name + * @type {string} + + * @see http://www.w3.org/TR/file-system-api/#widl-Entry-fullPath + * @type {string} + + * @see http://www.w3.org/TR/file-system-api/#widl-Entry-filesystem + * @type {!FileSystem} + /**\n * ... em}\n */ + * @see http://www.w3.org/TR/file-system-api/#widl-Entry-moveTo + * @param {!DirectoryEntry} parent + * @param {string=} newName + * @param {function(!Entry)=} successCallback + * @param {function(!FileError)=} errorCallback + * @return {undefined} + + * @see http://www.w3.org/TR/file-system-api/#widl-Entry-copyTo + * @param {!DirectoryEntry} parent + * @param {string=} newName + * @param {function(!Entry)=} successCallback + * @param {function(!FileError)=} errorCallback + * @return {undefined} + + * @see http://www.w3.org/TR/file-system-api/#widl-Entry-toURL + * @param {string=} mimeType + * @return {string} + + * @see http://www.w3.org/TR/file-system-api/#widl-Entry-remove + * @param {function()} successCallback + * @param {function(!FileError)=} errorCallback + * @return {undefined} + + * @see http://www.w3.org/TR/file-system-api/#widl-Entry-getMetadata + * @param {function(!Metadata)} successCallback + * @param {function(!FileError)=} errorCallback + * @return {undefined} + + * @see http://www.w3.org/TR/file-system-api/#widl-Entry-getParent + * @param {function(!Entry)} successCallback + * @param {function(!FileError)=} errorCallback + * @return {undefined} + + * @see http://www.w3.org/TR/FileAPI/#dfn-file + * @param {!Array=} opt_contents + * @param {string=} opt_name + * @param {{type: (string|undefined), lastModified: (number|undefined)}=} + * opt_properties + * @constructor + * @extends {Blob} + + * Chrome uses this instead of name. + * @deprecated Use name instead. + * @type {string} + + * Chrome uses this instead of size. + * @deprecated Use size instead. + * @type {string} + + * @see http://www.w3.org/TR/FileAPI/#dfn-name + * @type {string} + + * @see http://www.w3.org/TR/FileAPI/#dfn-lastModifiedDate + * @type {Date} + + * @see http://www.w3.org/TR/FileAPI/#dfn-lastModified + * @type {number} + + * @see http://www.w3.org/TR/file-system-api/#the-fileentry-interface + * @constructor + * @extends {Entry} + + * @see http://www.w3.org/TR/file-system-api/#widl-FileEntry-createWriter + * @param {function(!FileWriter)} successCallback + * @param {function(!FileError)=} errorCallback + * @return {undefined} + + * @see http://www.w3.org/TR/file-system-api/#widl-FileEntry-file + * @param {function(!File)} successCallback + * @param {function(!FileError)=} errorCallback + * @return {undefined} + + * @see http://www.w3.org/TR/FileAPI/#FileErrorInterface + * @constructor + * @extends {DOMError} + + * @see http://www.w3.org/TR/FileAPI/#dfn-NOT_FOUND_ERR + * @type {number} + + * @see http://www.w3.org/TR/FileAPI/#dfn-SECURITY_ERR + * @type {number} + + * @see http://www.w3.org/TR/FileAPI/#dfn-ABORT_ERR + * @type {number} + + * @see http://www.w3.org/TR/FileAPI/#dfn-NOT_READABLE_ERR + * @type {number} + + * @see http://www.w3.org/TR/FileAPI/#dfn-ENCODING_ERR + * @type {number} + + * @see http://www.w3.org/TR/file-writer-api/#widl-FileError-NO_MODIFICATION_ALLOWED_ERR + * @type {number} + + * @see http://www.w3.org/TR/file-writer-api/#widl-FileException-INVALID_STATE_ERR + * @type {number} + + * @see http://www.w3.org/TR/file-writer-api/#widl-FileException-SYNTAX_ERR + * @type {number} + + * @see http://www.w3.org/TR/file-system-api/#widl-FileError-INVALID_MODIFICATION_ERR + * @type {number} + + * @see http://www.w3.org/TR/file-system-api/#widl-FileError-QUOTA_EXCEEDED_ERR + * @type {number} + + * @see http://www.w3.org/TR/file-system-api/#widl-FileException-TYPE_MISMATCH_ERR + * @type {number} + + * @see http://www.w3.org/TR/file-system-api/#widl-FileException-PATH_EXISTS_ERR + * @type {number} + + * @see http://www.w3.org/TR/FileAPI/#dfn-code-exception + * @type {number} + * @deprecated Use the 'name' or 'message' attributes of DOMError rather than + * 'code' + + * @see http://www.w3.org/TR/FileAPI/#dfn-filereader + * @constructor + * @implements {EventTarget} + + * @param {boolean=} opt_useCapture + * @override + * @return {undefined} + + * @override + * @return {boolean} + + * @see http://www.w3.org/TR/FileAPI/#dfn-readAsArrayBuffer + * @param {!Blob} blob + * @return {undefined} + + * @see http://www.w3.org/TR/FileAPI/#dfn-readAsBinaryStringAsync + * @param {!Blob} blob + * @return {undefined} + + * @see http://www.w3.org/TR/FileAPI/#dfn-readAsText + * @param {!Blob} blob + * @param {string=} encoding + * @return {undefined} + + * @see http://www.w3.org/TR/FileAPI/#dfn-readAsDataURL + * @param {!Blob} blob + * @return {undefined} + + * @see http://www.w3.org/TR/FileAPI/#dfn-abort + * @return {undefined} + + * @see http://www.w3.org/TR/FileAPI/#dfn-empty + * @type {number} + + * @see http://www.w3.org/TR/FileAPI/#dfn-loading + * @type {number} + + * @see http://www.w3.org/TR/FileAPI/#dfn-done + * @type {number} + + * @see http://www.w3.org/TR/FileAPI/#dfn-readystate + * @type {number} + + * @see http://www.w3.org/TR/FileAPI/#dfn-result + * @type {string|Blob|ArrayBuffer} + + * @see http://www.w3.org/TR/FileAPI/#dfn-error + * @type {FileError} + + * @see http://www.w3.org/TR/FileAPI/#dfn-onloadstart + * @type {?function(!ProgressEvent)} + + * @see http://www.w3.org/TR/FileAPI/#dfn-onprogress + * @type {?function(!ProgressEvent)} + + * @see http://www.w3.org/TR/FileAPI/#dfn-onload + * @type {?function(!ProgressEvent)} + + * @see http://www.w3.org/TR/FileAPI/#dfn-onabort + * @type {?function(!ProgressEvent)} + + * @see http://www.w3.org/TR/FileAPI/#dfn-onerror + * @type {?function(!ProgressEvent)} + + * @see http://www.w3.org/TR/FileAPI/#dfn-onloadend + * @type {?function(!ProgressEvent)} + + * @see http://www.w3.org/TR/file-writer-api/#idl-def-FileSaver + * @constructor + + * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-abort + * @return {undefined} + + * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-INIT + * @type {number} + + * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-WRITING + * @type {number} + + * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-DONE + * @type {number} + + * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-readyState + * @type {number} + + * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-error + * @type {FileError} + + * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onwritestart + * @type {?function(!ProgressEvent)} + + * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onprogress + * @type {?function(!ProgressEvent)} + + * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onwrite + * @type {?function(!ProgressEvent)} + + * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onabort + * @type {?function(!ProgressEvent)} + + * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onerror + * @type {?function(!ProgressEvent)} + + * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onwriteend + * @type {?function(!ProgressEvent)} + + * @see http://www.w3.org/TR/file-system-api/#the-filesystem-interface + * @constructor + + * @see http://www.w3.org/TR/file-system-api/#widl-FileSystem-name + * @type {string} + + * @see http://www.w3.org/TR/file-system-api/#widl-FileSystem-root + * @type {!DirectoryEntry} + + * @see http://www.w3.org/TR/file-writer-api/#idl-def-FileWriter + * @constructor + * @extends {FileSaver} + + * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-position + * @type {number} + + * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-length + * @type {number} + + * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-write + * @param {!Blob} blob + * @return {undefined} + + * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-seek + * @param {number} offset + * @return {undefined} + + * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-truncate + * @param {number} size + * @return {undefined} + + * LocalFileSystem interface, implemented by Window and WorkerGlobalScope. + * @see http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystem + * @constructor + + * Metadata interface. + * @see http://www.w3.org/TR/file-system-api/#idl-def-Metadata + * @constructor + + * @see http://www.w3.org/TR/file-system-api/#widl-Metadata-modificationTime + * @type {!Date} + + * @see http://www.w3.org/TR/file-system-api/#widl-Metadata-size + * @type {number} + + * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-TEMPORARY + * @type {number} +/**\n * ... ber}\n*/ + * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-PERSISTENT + * @type {number} + + * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem + * @param {number} type + * @param {number} size + * @param {function(!FileSystem)} successCallback + * @param {function(!FileError)=} errorCallback + * @return {undefined} + + * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI + * @param {string} uri + * @param {function(!Entry)} successCallback + * @param {function(!FileError)=} errorCallback + * @return {undefined} + + * This has replaced requestFileSystem in Chrome since WebKit revision 84224. + * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem + * @param {number} type + * @param {number} size + * @param {function(!FileSystem)} successCallback + * @param {function(!FileError)=} errorCallback + * @return {undefined} + + * This has replaced resolveLocalFileSystemURI in Chrome since WebKit revision + * 84224. + * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI + * @param {string} uri + * @param {function(!Entry)} successCallback + * @param {function(!FileError)=} errorCallback + * @return {undefined} + WindowBlobURIMethods interface, implemented by Window and WorkerGlobalScope.// Wind ... lScope. There are three APIs for this: the old specced API, the new specced API, and// Ther ... PI, and the webkit-prefixed API.// the ... ed API. @see http://www.w3.org/TR/FileAPI/#creating-revoking// @see ... evoking + * @see http://www.w3.org/TR/FileAPI/#dfn-createObjectURL + * @param {!Object} obj + * @return {string} + + * @see http://www.w3.org/TR/FileAPI/#dfn-revokeObjectURL + * @param {string} url + * @return {undefined} + + * This has been replaced by URL in Chrome since WebKit revision 75739. + * @constructor + * @param {string} urlString + * @param {string=} opt_base + + * @see https://developers.google.com/chrome/whitepapers/storage + * @constructor + + * @see https://developers.google.com/chrome/whitepapers/storage + * @type {number} + * /**\n * ... }\n * */ + * @see https://developers.google.com/chrome/whitepapers/storage + * @type {number} + + * @see https://developers.google.com/chrome/whitepapers/storage#requestQuota + * @param {number} type + * @param {number} size + * @param {function(number)} successCallback + * @param {function(!DOMException)=} errorCallback + * @return {undefined} + + * @see https://developers.google.com/chrome/whitepapers/storage#queryUsageAndQuota + * @param {number} type + * @param {function(number, number)} successCallback + * @param {function(!DOMException)=} errorCallback + * @return {undefined} + + * @see https://developers.google.com/chrome/whitepapers/storage + * @type {!StorageInfo} + + * @see https://dvcs.w3.org/hg/quota/raw-file/tip/Overview.html#storagequota-interface. + * @constructor + + * @param {number} size + * @param {function(number)=} opt_successCallback + * @param {function(!DOMException)=} opt_errorCallback + * @return {undefined} + + * @param {function(number, number)} successCallback + * @param {function(!DOMException)=} opt_errorCallback + * @return {undefined} + + * @type {!StorageQuota} + * @see https://developer.chrome.com/apps/offline_storage + opt_blobPartsopt_contentTypewebkitSlicemozSliceBlobBuilderendingsgetBlobWebKitBlobBuilderFileSystemFlagsDirectoryEntrycreateReadergetFilesuccessCallbackerrorCallbackgetDirectoryremoveRecursivelyDirectoryReaderreadEntriesEntryfullPathfilesystemmoveTogetMetadatagetParentopt_contentsopt_namefileSizelastModifiedDateFileEntrycreateWriterFileErrorNOT_FOUND_ERRSECURITY_ERRABORT_ERRNOT_READABLE_ERRENCODING_ERRNO_MODIFICATION_ALLOWED_ERRINVALID_STATE_ERRSYNTAX_ERRINVALID_MODIFICATION_ERRQUOTA_EXCEEDED_ERRTYPE_MISMATCH_ERRPATH_EXISTS_ERRopt_useCaptureevtreadAsArrayBufferreadAsBinaryStringEMPTYLOADINGDONEonloadstartonabortonloadendFileSaverWRITINGonwritestartonwriteonwriteendFileSystemFileWriterLocalFileSystemmodificationTimeTEMPORARYPERSISTENTrequestFileSystemresolveLocalFileSystemURIwebkitRequestFileSystemwebkitResolveLocalFileSystemURIrevokeObjectURLwebkitURLurlStringopt_baseStorageInforequestQuotaqueryUsageAndQuotawebkitStorageInfoStorageQuotaopt_successCallbackopt_errorCallbackNavigatorwebkitPersistentStoragewebkitTemporaryStorageDefinitions for objects in the File API, File Writer API, and +File System API. Details of the API are at: +http://www.w3.org/TR/FileAPI/ +http://www.w3.org/TR/file-writer-api/ +http://www.w3.org/TR/file-system-api/ +*dbk@google.com (David Barrett-Kahn)http://dev.w3.org/2006/webapi/FileAPI/#dfn-Blob +Array.<(ArrayBuffer|ArrayBufferView|Blob|string)>=Array.<(ArrayBuffer|ArrayBufferView|Blob|string)>(ArrayBuffer|ArrayBufferView|Blob|string)http://www.w3.org/TR/FileAPI/#dfn-size +http://www.w3.org/TR/FileAPI/#dfn-type +http://www.w3.org/TR/FileAPI/#dfn-slice +This replaces Blob.slice in Chrome since WebKit revision 84005.http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0222.html +This replaces Blob.slice in Firefox.http://www.w3.org/TR/file-writer-api/#the-blobbuilder-interface +http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append0 +http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append1 +http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append2 +(string|Blob|ArrayBuffer)http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-getBlob +This has replaced BlobBuilder in Chrome since WebKit revision 84008.https://dev.w3.org/2009/dap/file-system/file-dir-sys.html#the-flags-dictionary(undefined|boolean)http://www.w3.org/TR/file-system-api/#the-directoryentry-interface +http://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-createReader +!DirectoryReaderhttp://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-getFile +!FileSystemFlags=!FileSystemFlagsfunction (!FileEntry)=function (!FileEntry)!FileEntryfunction (!FileError)=function (!FileError)!FileErrorhttp://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-getDirectory +function (!DirectoryEntry)=function (!DirectoryEntry)!DirectoryEntryhttp://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-removeRecursively +http://www.w3.org/TR/file-system-api/#the-directoryreader-interface +http://www.w3.org/TR/file-system-api/#widl-DirectoryReader-readEntries +function (!Array.)!Array.Array.!Entryhttp://www.w3.org/TR/file-system-api/#the-entry-interface +http://www.w3.org/TR/file-system-api/#widl-Entry-isFile +http://www.w3.org/TR/file-system-api/#widl-Entry-isDirectory +http://www.w3.org/TR/file-system-api/#widl-Entry-name +http://www.w3.org/TR/file-system-api/#widl-Entry-fullPath +http://www.w3.org/TR/file-system-api/#widl-Entry-filesystem +!FileSystemhttp://www.w3.org/TR/file-system-api/#widl-Entry-moveTo +function (!Entry)=function (!Entry)http://www.w3.org/TR/file-system-api/#widl-Entry-copyTo +http://www.w3.org/TR/file-system-api/#widl-Entry-toURL +http://www.w3.org/TR/file-system-api/#widl-Entry-remove +http://www.w3.org/TR/file-system-api/#widl-Entry-getMetadata +function (!Metadata)!Metadatahttp://www.w3.org/TR/file-system-api/#widl-Entry-getParent +http://www.w3.org/TR/FileAPI/#dfn-file +!Array.<(string|!Blob|!ArrayBuffer)>=!Array.<(string|!Blob|!ArrayBuffer)>Array.<(string|!Blob|!ArrayBuffer)>(string|!Blob|!ArrayBuffer){type: (string|undefined), lastModified: (number|undefined)}={type: (string|undefined), lastModified: (number|undefined)}Chrome uses this instead of name.Use name instead. +Chrome uses this instead of size.Use size instead. +http://www.w3.org/TR/FileAPI/#dfn-name +http://www.w3.org/TR/FileAPI/#dfn-lastModifiedDate +http://www.w3.org/TR/FileAPI/#dfn-lastModified +http://www.w3.org/TR/file-system-api/#the-fileentry-interface +http://www.w3.org/TR/file-system-api/#widl-FileEntry-createWriter +function (!FileWriter)!FileWriterhttp://www.w3.org/TR/file-system-api/#widl-FileEntry-file +function (!File)!Filehttp://www.w3.org/TR/FileAPI/#FileErrorInterface +DOMErrorhttp://www.w3.org/TR/FileAPI/#dfn-NOT_FOUND_ERR +http://www.w3.org/TR/FileAPI/#dfn-SECURITY_ERR +http://www.w3.org/TR/FileAPI/#dfn-ABORT_ERR +http://www.w3.org/TR/FileAPI/#dfn-NOT_READABLE_ERR +http://www.w3.org/TR/FileAPI/#dfn-ENCODING_ERR +http://www.w3.org/TR/file-writer-api/#widl-FileError-NO_MODIFICATION_ALLOWED_ERR +http://www.w3.org/TR/file-writer-api/#widl-FileException-INVALID_STATE_ERR +http://www.w3.org/TR/file-writer-api/#widl-FileException-SYNTAX_ERR +http://www.w3.org/TR/file-system-api/#widl-FileError-INVALID_MODIFICATION_ERR +http://www.w3.org/TR/file-system-api/#widl-FileError-QUOTA_EXCEEDED_ERR +http://www.w3.org/TR/file-system-api/#widl-FileException-TYPE_MISMATCH_ERR +http://www.w3.org/TR/file-system-api/#widl-FileException-PATH_EXISTS_ERR +http://www.w3.org/TR/FileAPI/#dfn-code-exception +Use the 'name' or 'message' attributes of DOMError rather than +'code'http://www.w3.org/TR/FileAPI/#dfn-filereader +http://www.w3.org/TR/FileAPI/#dfn-readAsArrayBuffer +http://www.w3.org/TR/FileAPI/#dfn-readAsBinaryStringAsync +http://www.w3.org/TR/FileAPI/#dfn-readAsText +http://www.w3.org/TR/FileAPI/#dfn-readAsDataURL +http://www.w3.org/TR/FileAPI/#dfn-abort +http://www.w3.org/TR/FileAPI/#dfn-empty +http://www.w3.org/TR/FileAPI/#dfn-loading +http://www.w3.org/TR/FileAPI/#dfn-done +http://www.w3.org/TR/FileAPI/#dfn-readystate +http://www.w3.org/TR/FileAPI/#dfn-result +http://www.w3.org/TR/FileAPI/#dfn-error +http://www.w3.org/TR/FileAPI/#dfn-onloadstart +?function (!ProgressEvent)function (!ProgressEvent)!ProgressEventProgressEventhttp://www.w3.org/TR/FileAPI/#dfn-onprogress +http://www.w3.org/TR/FileAPI/#dfn-onload +http://www.w3.org/TR/FileAPI/#dfn-onabort +http://www.w3.org/TR/FileAPI/#dfn-onerror +http://www.w3.org/TR/FileAPI/#dfn-onloadend +http://www.w3.org/TR/file-writer-api/#idl-def-FileSaver +http://www.w3.org/TR/file-writer-api/#widl-FileSaver-abort +http://www.w3.org/TR/file-writer-api/#widl-FileSaver-INIT +http://www.w3.org/TR/file-writer-api/#widl-FileSaver-WRITING +http://www.w3.org/TR/file-writer-api/#widl-FileSaver-DONE +http://www.w3.org/TR/file-writer-api/#widl-FileSaver-readyState +http://www.w3.org/TR/file-writer-api/#widl-FileSaver-error +http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onwritestart +http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onprogress +http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onwrite +http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onabort +http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onerror +http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onwriteend +http://www.w3.org/TR/file-system-api/#the-filesystem-interface +http://www.w3.org/TR/file-system-api/#widl-FileSystem-name +http://www.w3.org/TR/file-system-api/#widl-FileSystem-root +http://www.w3.org/TR/file-writer-api/#idl-def-FileWriter +http://www.w3.org/TR/file-writer-api/#widl-FileWriter-position +http://www.w3.org/TR/file-writer-api/#widl-FileWriter-length +http://www.w3.org/TR/file-writer-api/#widl-FileWriter-write +http://www.w3.org/TR/file-writer-api/#widl-FileWriter-seek +http://www.w3.org/TR/file-writer-api/#widl-FileWriter-truncate +LocalFileSystem interface, implemented by Window and WorkerGlobalScope.http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystem +Metadata interface.http://www.w3.org/TR/file-system-api/#idl-def-Metadata +http://www.w3.org/TR/file-system-api/#widl-Metadata-modificationTime +!Datehttp://www.w3.org/TR/file-system-api/#widl-Metadata-size +http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-TEMPORARY +http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-PERSISTENT +http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem +function (!FileSystem)http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI +This has replaced requestFileSystem in Chrome since WebKit revision 84224.This has replaced resolveLocalFileSystemURI in Chrome since WebKit revision +84224.http://www.w3.org/TR/FileAPI/#dfn-createObjectURL +http://www.w3.org/TR/FileAPI/#dfn-revokeObjectURL +This has been replaced by URL in Chrome since WebKit revision 75739.https://developers.google.com/chrome/whitepapers/storage +https://developers.google.com/chrome/whitepapers/storage#requestQuota +function (!DOMException)=function (!DOMException)!DOMExceptionDOMExceptionhttps://developers.google.com/chrome/whitepapers/storage#queryUsageAndQuota +!StorageInfohttps://dvcs.w3.org/hg/quota/raw-file/tip/Overview.html#storagequota-interface. +function (number)=!StorageQuotahttps://developer.chrome.com/apps/offline_storageBlob.prototype.size;Blob.prototype.sizeBlob.prototypeBlob.prototype.type;Blob.prototype.typeBlob.pr ... pe) {};Blob.pr ... ype) {}Blob.prototype.sliceBlob.pr ... itSliceBlob.pr ... ozSliceBlobBui ... gs) {};BlobBui ... ngs) {}BlobBui ... .appendBlobBui ... ototypeBlobBui ... pe) {};BlobBui ... ype) {}BlobBui ... getBlobWebKitB ... gs) {};WebKitB ... ngs) {}WebKitB ... .appendWebKitB ... ototypeWebKitB ... pe) {};WebKitB ... ype) {}WebKitB ... getBlobFileSys ... create;FileSys ... .createFileSys ... ototypeFileSys ... lusive;FileSys ... clusivefunctio ... ry() {}Directo ... n() {};Directo ... on() {}Directo ... eReaderDirecto ... ototypeDirecto ... ck) {};Directo ... ack) {}Directo ... getFileDirecto ... rectoryDirecto ... rsivelyDirecto ... Entriesfunction Entry() {}Entry.p ... isFile;Entry.p ... .isFileEntry.prototypeEntry.p ... ectory;Entry.p ... rectoryEntry.p ... e.name;Entry.prototype.nameEntry.p ... llPath;Entry.p ... ullPathEntry.p ... system;Entry.p ... esystemEntry.p ... ck) {};Entry.p ... ack) {}Entry.p ... .moveToEntry.p ... .copyToEntry.p ... pe) {};Entry.p ... ype) {}Entry.p ... e.toURLEntry.p ... .removeEntry.p ... etadataEntry.p ... tParentFile.pr ... leName;File.pr ... ileNameFile.pr ... leSize;File.pr ... ileSizeFile.pr ... edDate;File.pr ... iedDateFileEnt ... ck) {};FileEnt ... ack) {}FileEnt ... eWriterFileEntry.prototypeFileEnt ... pe.fileFileErr ... RR = 1;FileErr ... ERR = 1FileErr ... UND_ERRFileError.prototypeFileErr ... RR = 2;FileErr ... ERR = 2FileErr ... ITY_ERRFileErr ... RR = 3;FileErr ... ERR = 3FileErr ... ORT_ERRFileError.ABORT_ERRFileErr ... RR = 4;FileErr ... ERR = 4FileErr ... BLE_ERRFileErr ... RR = 5;FileErr ... ERR = 5FileErr ... ING_ERRFileErr ... RR = 6;FileErr ... ERR = 6FileErr ... WED_ERRNO_MODI ... WED_ERRFileErr ... RR = 7;FileErr ... ERR = 7FileErr ... ATE_ERRFileErr ... RR = 8;FileErr ... ERR = 8FileErr ... TAX_ERRFileError.SYNTAX_ERRFileErr ... RR = 9;FileErr ... ERR = 9FileErr ... ION_ERRINVALID ... ION_ERRFileErr ... R = 10;FileErr ... RR = 10FileErr ... DED_ERRFileErr ... R = 11;FileErr ... RR = 11FileErr ... TCH_ERRFileErr ... R = 12;FileErr ... RR = 12FileErr ... STS_ERRFileErr ... e.code;FileErr ... pe.codeFileRea ... {};FileRea ... \n {}FileRea ... istenerFileReader.prototypefunctio ... \n {}FileRea ... re) {};FileRea ... ure) {}FileRea ... vt) {};FileRea ... evt) {}FileRea ... chEventfunction(evt) {}FileRea ... ob) {};FileRea ... lob) {}FileRea ... yBufferfunction(blob) {}FileRea ... yStringFileRea ... ng) {};FileRea ... ing) {}FileRea ... dAsTextFileRea ... DataURLFileRea ... n() {};FileRea ... on() {}FileRea ... e.abortFileRea ... TY = 0;FileRea ... PTY = 0FileRea ... e.EMPTYFileReader.EMPTY = 0FileReader.EMPTYFileRea ... NG = 1;FileRea ... ING = 1FileRea ... LOADINGFileReader.LOADINGFileRea ... NE = 2;FileRea ... ONE = 2FileRea ... pe.DONEFileReader.DONE = 2;FileReader.DONE = 2FileReader.DONEFileRea ... yState;FileRea ... dyStateFileRea ... result;FileRea ... .resultFileRea ... .error;FileRea ... e.errorFileRea ... dstart;FileRea ... adstartFileRea ... ogress;FileRea ... rogressFileRea ... onload;FileRea ... .onloadFileRea ... nabort;FileRea ... onabortFileRea ... nerror;FileRea ... onerrorFileRea ... oadend;FileRea ... loadendFileSav ... n() {};FileSav ... on() {}FileSav ... e.abortFileSaver.prototypeFileSav ... IT = 0;FileSav ... NIT = 0FileSav ... pe.INITFileSav ... NG = 1;FileSav ... ING = 1FileSav ... WRITINGFileSav ... NE = 2;FileSav ... ONE = 2FileSav ... pe.DONEFileSav ... yState;FileSav ... dyStateFileSav ... .error;FileSav ... e.errorFileSav ... estart;FileSav ... testartFileSav ... ogress;FileSav ... rogressFileSav ... nwrite;FileSav ... onwriteFileSav ... nabort;FileSav ... onabortFileSav ... nerror;FileSav ... onerrorFileSav ... iteend;FileSav ... riteendfunctio ... em() {}FileSys ... e.name;FileSys ... pe.nameFileSystem.prototypeFileSys ... e.root;FileSys ... pe.rootFileWri ... sition;FileWri ... ositionFileWriter.prototypeFileWri ... length;FileWri ... .lengthFileWri ... ob) {};FileWri ... lob) {}FileWri ... e.writeFileWri ... et) {};FileWri ... set) {}FileWri ... pe.seekfunction(offset) {}FileWri ... ze) {};FileWri ... ize) {}FileWri ... runcatefunctio ... ta() {}Metadat ... onTime;Metadat ... ionTimeMetadata.prototypeMetadat ... e.size;Metadat ... pe.sizeWindow. ... RY = 0;Window. ... ARY = 0Window. ... MPORARYWindow. ... NT = 1;Window. ... ENT = 1Window. ... SISTENTWindow. ... ck) {};Window. ... ack) {}Window. ... eSystemresolve ... stemURIWindow. ... stemURIwebkitR ... eSystemwebkitR ... stemURIWindow. ... bj) {};Window. ... obj) {}Window. ... jectURLfunctio ... url) {}Window. ... rl) {};Window. ... url) {}webkitU ... bj) {};webkitU ... obj) {}webkitU ... jectURLwebkitU ... rl) {};webkitU ... url) {}Storage ... RY = 0;Storage ... ARY = 0Storage ... MPORARYStorage ... ototypeStorage ... NT = 1;Storage ... ENT = 1Storage ... SISTENTStorage ... ck) {};Storage ... ack) {}Storage ... stQuotaStorage ... ndQuotaWindow. ... geInfo;Window. ... ageInfoNavigat ... torage;Navigat ... StorageNavigator.prototypewebkitP ... StoragewebkitT ... Storage/opt/codeql/javascript/tools/data/externs/web/flash.js + * @fileoverview Definitions for all the Flash Object JavaScript methods. This + * file depends on w3c_dom2.js. + * Created from + * http://www.adobe.com/support/flash/publishexport/scriptingwithflash/scriptingwithflash_03.html + * + * @externs + Standard Methods.// Standard Methods. + * Call a Flash function exported by ExternalInterface. + * @param {string} xmlString The XML string passed to Flash. The outer element + * should be {@code }. A sample invocation string: + * {@code + * test} + * @return {string} The serialized return value from Flash that you can eval. + /**\n * ... al.\n */ + * Returns the value of the Flash variable specified by varName or null if the + * variable does not exist. + * @param {string} varName The variable name. + * @return {string?} The variable value. + /**\n * ... ue.\n */ + * Activates the frame number specified by {@code frameNumber} in the current + * movie. + * @param {number} frameNumber A non-negative integer frame number. + * @return {undefined} + + * @return {boolean} Whether the movie is currently playing. + /**\n * ... ng.\n */ + * Loads the movie identified by {@code url} to the layer specified by {@code + * layerNumber}. + * @param {number} layerNumber The layer number. + * @param {string} url The movie URL. + * @return {undefined} + + * Pans a zoomed-in movie to the coordinates specified by x and y. Use mode to + * specify whether the values for x and y are pixels or a percent of the window. + * When mode is 0, the coordinates are pixels; when mode is 1, the coordinates + * are percent of the window. + * @param {number} x The x-coordinate. + * @param {number} y The y-coordinate. + * @param {number} mode The mode. + * @return {undefined} + + * @return {number} The percent of the Flash Player movie that has streamed + * into the browser so far; Possible values are from 0 to 100. + /**\n * ... 00.\n */ + * Starts playing the movie. + * @return {undefined} + + * Goes to the first frame. + * @return {undefined} + + * Sets the value of the flash variable. + * @param {string} variableName The variable name. + * @param {string} value The value. + * @return {undefined} + + * Zooms in on a rectangular area of the movie. The units of the coordinates + * are in twips (1440 units per inch). + * @param {number} left The left coordinate. + * @param {number} top The top coordinate. + * @param {number} right The right coordinate. + * @param {number} bottom The bottom coordinate. + * @return {undefined} + + * Stops playing the movie. + * @return {undefined} + + * @return {number} The total number of frames in the movie. + /**\n * ... ie.\n */ + * Zooms the view by a relative scale factor. + * @param {number} percent The percentage scale factor, should be an integer. + * @return {undefined} + TellTarget Methods.// Tell ... ethods. + * Executes the action in the timeline specified by {@code target} in the + * specified frame. + * @param {string} target The timeline. + * @param {number} frameNumber The frame number. + * @return {undefined} + + * Executes the action in the timeline specified by {@code target} in the + * specified frame. + * @param {string} target The timeline. + * @param {string} label The frame label. + * @return {undefined} + + * Returns the number of the current frame for the specified timeline. + * @param {string} target The timeline. + * @return {number} The number of the current frame. + /**\n * ... me.\n */ + * Returns the label of the current frame for the specified timeline. + * @param {string} target The timeline. + * @return {string} The label of the current frame, empty string if no + * current frame. + + * Returns a string indicating the value of the property in the + * specified timeline. + * @param {string} target The timeline. + * @param {number} property The integer corresponding to the desired property. + * @return {string} The value of the property. + /**\n * ... ty.\n */ + * Returns a number indicating the value of the property in the specified + * timeline. + * @param {string} target The timeline. + * @param {number} property The integer corresponding to the desired property. + * @return {number} A number indicating the value of the property. + + * Goes to the specified frame number in the specified timeline. + * @param {string} target The timeline. + * @param {number} frameNumber The frame number. + * @return {undefined} + + * Goes to the specified frame label in the specified timeline. + * @param {string} target The timeline. + * @param {string} label The framelabel. + * @return {undefined} + + * Plays the specified timeline. + * @param {number} target The timeline. + * @return {undefined} + + * Sets the value of the property in the specified timeline. + * @param {number} target The timeline. + * @param {number} property The integer corresponding to the desired property. + * @param {string|number} value The value. + * @return {undefined} + + * Stops the specified timeline. + * @param {number} target The timeline. + * @return {undefined} + HTMLObjectElementCallFunctionxmlStringGetVariablevarNameGotoFrameframeNumberIsPlayingLoadMovielayerNumberPanPercentLoadedPlayRewindSetVariablevariableNameSetZoomRectStopPlayTotalFramesZoompercentTCallFrameTCallLabelTCurentFrameTCurrentLabelTGetPropertyTGetPropertyAsNumberTGotoFrameTGotoLabelTPlayTSetPropertyTStopPlayDefinitions for all the Flash Object JavaScript methods. This +file depends on w3c_dom2.js. +Created from +http://www.adobe.com/support/flash/publishexport/scriptingwithflash/scriptingwithflash_03.html +*Call a Flash function exported by ExternalInterface.The XML string passed to Flash. The outer element +should be {@code }. A sample invocation string: +{@code +test} +The serialized return value from Flash that you can eval.Returns the value of the Flash variable specified by varName or null if the +variable does not exist.The variable name. +The variable value.string?Activates the frame number specified by {@code frameNumber} in the current +movie.A non-negative integer frame number. +Whether the movie is currently playing.Loads the movie identified by {@code url} to the layer specified by {@code +layerNumber}.The layer number. +The movie URL. +Pans a zoomed-in movie to the coordinates specified by x and y. Use mode to +specify whether the values for x and y are pixels or a percent of the window. +When mode is 0, the coordinates are pixels; when mode is 1, the coordinates +are percent of the window.The x-coordinate. +The y-coordinate. +The mode. +The percent of the Flash Player movie that has streamed +into the browser so far; Possible values are from 0 to 100.Starts playing the movie.Goes to the first frame.Sets the value of the flash variable.The value. +Zooms in on a rectangular area of the movie. The units of the coordinates +are in twips (1440 units per inch).The left coordinate. +The top coordinate. +The right coordinate. +The bottom coordinate. +Stops playing the movie.The total number of frames in the movie.Zooms the view by a relative scale factor.The percentage scale factor, should be an integer. +Executes the action in the timeline specified by {@code target} in the +specified frame.The timeline. +The frame number. +The frame label. +Returns the number of the current frame for the specified timeline.The number of the current frame.Returns the label of the current frame for the specified timeline.The label of the current frame, empty string if no +current frame.Returns a string indicating the value of the property in the +specified timeline.The integer corresponding to the desired property. +The value of the property.Returns a number indicating the value of the property in the specified +timeline.A number indicating the value of the property.Goes to the specified frame number in the specified timeline.Goes to the specified frame label in the specified timeline.The framelabel. +Plays the specified timeline.Sets the value of the property in the specified timeline.Stops the specified timeline.HTMLObj ... ng) {};HTMLObj ... ing) {}HTMLObj ... unctionHTMLObj ... ototypeHTMLObj ... me) {};HTMLObj ... ame) {}HTMLObj ... ariablefunction(varName) {}HTMLObj ... er) {};HTMLObj ... ber) {}HTMLObj ... toFrameHTMLObj ... n() {};HTMLObj ... on() {}HTMLObj ... PlayingHTMLObj ... rl) {};HTMLObj ... url) {}HTMLObj ... adMovieHTMLObj ... de) {};HTMLObj ... ode) {}HTMLObj ... ype.PanHTMLObj ... tLoadedHTMLObj ... pe.PlayHTMLObj ... .RewindHTMLObj ... ue) {};HTMLObj ... lue) {}HTMLObj ... om) {};HTMLObj ... tom) {}HTMLObj ... oomRectfunctio ... tom) {}HTMLObj ... topPlayHTMLObj ... lFramesHTMLObj ... nt) {};HTMLObj ... ent) {}HTMLObj ... pe.Zoomfunction(percent) {}HTMLObj ... llFrameHTMLObj ... el) {};HTMLObj ... bel) {}HTMLObj ... llLabelfunctio ... bel) {}HTMLObj ... et) {};HTMLObj ... get) {}HTMLObj ... ntFrameHTMLObj ... ntLabelHTMLObj ... ty) {};HTMLObj ... rty) {}HTMLObj ... ropertyfunctio ... rty) {}HTMLObj ... sNumberHTMLObj ... toLabelHTMLObj ... e.TPlay/opt/codeql/javascript/tools/data/externs/web/gecko_css.js + * @fileoverview Definitions for Gecko's custom CSS properties. Copied from: + * http://mxr.mozilla.org/mozilla2.0/source/dom/interfaces/css/nsIDOMCSS2Properties.idl + * + * @externs + * @author nicksantos@google.com (Nick Santos) + /**\n * ... os)\n */ @type {number|string} These are non-standard Gecko CSSOM properties on Window.prototype.screen.// Thes ... screen. + * @type {number} + * @see https://developer.mozilla.org/En/DOM/window.screen.availTop + /**\n * ... Top\n */ + * @type {number} + * @see https://developer.mozilla.org/En/DOM/window.screen.availLeft + + * @type {number} + * @see https://developer.mozilla.org/En/DOM/window.screen.left + + * @type {number} + * @see https://developer.mozilla.org/En/DOM/window.screen.top + /**\n * ... top\n */CSSPropertiesMozAppearanceMozBackfaceVisibilityMozBackgroundClipMozBackgroundInlinePolicyMozBackgroundOriginMozBindingMozBorderBottomColorsMozBorderEndMozBorderEndColorMozBorderEndStyleMozBorderEndWidthMozBorderImageMozBorderLeftColorsMozBorderRadiusMozBorderRadiusTopleftMozBorderRadiusToprightMozBorderRadiusBottomleftMozBorderRadiusBottomrightMozBorderRightColorsMozBorderStartMozBorderStartColorMozBorderStartStyleMozBorderStartWidthMozBorderTopColorsMozBoxAlignMozBoxDirectionMozBoxFlexMozBoxOrdinalGroupMozBoxOrientMozBoxPackMozBoxSizingMozBoxShadowMozColumnCountMozColumnGapMozColumnRuleMozColumnRuleColorMozColumnRuleStyleMozColumnRuleWidthMozColumnWidthMozFloatEdgeMozFontFeatureSettingsMozFontLanguageOverrideMozForceBrokenImageIconMozImageRegionMozMarginEndMozMarginStartMozOpacityMozOutlineMozOutlineColorMozOutlineOffsetMozOutlineRadiusMozOutlineRadiusBottomleftMozOutlineRadiusBottomrightMozOutlineRadiusTopleftMozOutlineRadiusToprightMozOutlineStyleMozOutlineWidthMozPaddingEndMozPaddingStartMozPerspectiveMozStackSizingMozTabSizeMozTransformMozTransformOriginMozTransitionMozTransitionDelayMozTransitionDurationMozTransitionPropertyMozTransitionTimingFunctionMozUserFocusMozUserInputMozUserModifyMozUserSelectMozWindowShadowScreenavailTopavailLeftDefinitions for Gecko's custom CSS properties. Copied from: +http://mxr.mozilla.org/mozilla2.0/source/dom/interfaces/css/nsIDOMCSS2Properties.idl +*nicksantos@google.com (Nick Santos)https://developer.mozilla.org/En/DOM/window.screen.availTophttps://developer.mozilla.org/En/DOM/window.screen.availLefthttps://developer.mozilla.org/En/DOM/window.screen.lefthttps://developer.mozilla.org/En/DOM/window.screen.topCSSProp ... arance;CSSProp ... earanceCSSProp ... ototypeCSSProp ... bility;CSSProp ... ibilityMozBack ... ibilityCSSProp ... ndClip;CSSProp ... undClipCSSProp ... Policy;CSSProp ... ePolicyMozBack ... ePolicyCSSProp ... Origin;CSSProp ... dOriginCSSProp ... inding;CSSProp ... BindingCSSProp ... Colors;CSSProp ... mColorsMozBord ... mColorsCSSProp ... derEnd;CSSProp ... rderEndCSSProp ... dColor;CSSProp ... ndColorCSSProp ... dStyle;CSSProp ... ndStyleCSSProp ... dWidth;CSSProp ... ndWidthCSSProp ... rImage;CSSProp ... erImageCSSProp ... tColorsCSSProp ... Radius;CSSProp ... rRadiusCSSProp ... opleft;CSSProp ... TopleftMozBord ... TopleftCSSProp ... pright;CSSProp ... oprightMozBord ... oprightCSSProp ... omleft;CSSProp ... tomleftMozBord ... tomleftCSSProp ... mright;CSSProp ... omrightMozBord ... omrightCSSProp ... rStart;CSSProp ... erStartCSSProp ... tColor;CSSProp ... rtColorCSSProp ... tStyle;CSSProp ... rtStyleCSSProp ... tWidth;CSSProp ... rtWidthCSSProp ... pColorsCSSProp ... xAlign;CSSProp ... oxAlignCSSProp ... ection;CSSProp ... rectionCSSProp ... oxFlex;CSSProp ... BoxFlexCSSProp ... lGroup;CSSProp ... alGroupCSSProp ... Orient;CSSProp ... xOrientCSSProp ... oxPack;CSSProp ... BoxPackCSSProp ... Sizing;CSSProp ... xSizingCSSProp ... Shadow;CSSProp ... xShadowCSSProp ... nCount;CSSProp ... mnCountCSSProp ... umnGap;CSSProp ... lumnGapCSSProp ... mnRule;CSSProp ... umnRuleCSSProp ... eColor;CSSProp ... leColorCSSProp ... eStyle;CSSProp ... leStyleCSSProp ... eWidth;CSSProp ... leWidthCSSProp ... nWidth;CSSProp ... mnWidthCSSProp ... atEdge;CSSProp ... oatEdgeCSSProp ... ttings;CSSProp ... ettingsMozFont ... ettingsCSSProp ... erride;CSSProp ... verrideMozFont ... verrideCSSProp ... geIcon;CSSProp ... ageIconMozForc ... ageIconCSSProp ... Region;CSSProp ... eRegionCSSProp ... ginEnd;CSSProp ... rginEndCSSProp ... nStart;CSSProp ... inStartCSSProp ... pacity;CSSProp ... OpacityCSSProp ... utline;CSSProp ... OutlineCSSProp ... neColorCSSProp ... Offset;CSSProp ... eOffsetCSSProp ... eRadiusMozOutl ... tomleftMozOutl ... omrightMozOutl ... TopleftMozOutl ... oprightCSSProp ... neStyleCSSProp ... neWidthCSSProp ... ingEnd;CSSProp ... dingEndCSSProp ... gStart;CSSProp ... ngStartCSSProp ... ective;CSSProp ... pectiveCSSProp ... kSizingCSSProp ... abSize;CSSProp ... TabSizeCSSProp ... nsform;CSSProp ... ansformCSSProp ... mOriginCSSProp ... sition;CSSProp ... nsitionCSSProp ... nDelay;CSSProp ... onDelayCSSProp ... ration;CSSProp ... urationMozTran ... urationCSSProp ... operty;CSSProp ... ropertyMozTran ... ropertyCSSProp ... nction;CSSProp ... unctionMozTran ... unctionCSSProp ... rFocus;CSSProp ... erFocusCSSProp ... rInput;CSSProp ... erInputCSSProp ... Modify;CSSProp ... rModifyCSSProp ... Select;CSSProp ... rSelectCSSProp ... wShadowScreen. ... ailTop;Screen. ... vailTopScreen.prototypeScreen. ... ilLeft;Screen. ... ailLeftScreen. ... e.left;Screen. ... pe.leftScreen. ... pe.top;Screen.prototype.top/opt/codeql/javascript/tools/data/externs/web/gecko_dom.js + * @fileoverview Definitions for all the extensions over + * W3C's DOM specification by Gecko. This file depends on + * w3c_dom2.js. + * + * When a non-standard extension appears in both Gecko and IE, we put + * it in gecko_dom.js + * + * @externs + TODO: Almost all of it has not been annotated with types.// TODO ... types. Gecko DOM;// Gecko DOM; + * Mozilla only??? + * @constructor + * @extends {HTMLElement} + + * @see https://developer.mozilla.org/en/Components_object + + * @type {Window} + * @see https://developer.mozilla.org/en/DOM/window.content + + * @type {boolean} + * @see https://developer.mozilla.org/en/DOM/window.closed + /**\n * ... sed\n */ @see https://developer.mozilla.org/en/DOM/window.controllers /** @se ... lers */ @see https://developer.mozilla.org/en/DOM/window.crypto /** @se ... ypto */ + * Gets/sets the status bar text for the given window. + * @type {string} + * @see https://developer.mozilla.org/en/DOM/window.defaultStatus + @see https://developer.mozilla.org/en/DOM/window.dialogArguments /** @se ... ents */ @see https://developer.mozilla.org/en/DOM/window.directories /** @se ... ries */ + * @type {HTMLObjectElement|HTMLIFrameElement|null} + * @see https://developer.mozilla.org/en/DOM/window.frameElement + + * Allows lookup of frames by index or by name. + * @type {?Object} + * @see https://developer.mozilla.org/en/DOM/window.frames + + * @type {boolean} + * @see https://developer.mozilla.org/en/DOM/window.fullScreen + /**\n * ... een\n */ + * @return {!Promise} + * @see http://www.w3.org/TR/battery-status/ + /**\n * ... us/\n */ + * @see https://developer.mozilla.org/en/DOM/Storage#globalStorage + + * @type {!History} + * @suppress {duplicate} + * @see https://developer.mozilla.org/en/DOM/window.history + /**\n * ... ory\n */ + * Returns the number of frames (either frame or iframe elements) in the + * window. + * + * @type {number} + * @see https://developer.mozilla.org/en/DOM/window.length + + * Location has an exception in the DeclaredGlobalExternsOnWindow pass + * so we have to manually include it: + * https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/DeclaredGlobalExternsOnWindow.java#L116 + * + * @type {!Location} + * @implicitCast + * @see https://developer.mozilla.org/en/DOM/window.location + + * @see https://developer.mozilla.org/en/DOM/window.locationbar + /**\n * ... bar\n */ + * @see https://developer.mozilla.org/en/DOM/window.menubar + + * @type {string} + * @see https://developer.mozilla.org/en/DOM/window.name + + * @type {Navigator} + * @see https://developer.mozilla.org/en/DOM/window.navigator + + * @type {?Window} + * @see https://developer.mozilla.org/en/DOM/window.opener + /**\n * ... ner\n */ + * @type {!Window} + * @see https://developer.mozilla.org/en/DOM/window.parent + @see https://developer.mozilla.org/en/DOM/window.personalbar /** @se ... lbar */ @see https://developer.mozilla.org/en/DOM/window.pkcs11 /** @se ... cs11 */ @see https://developer.mozilla.org/en/DOM/window /** @se ... ndow */ @see https://developer.mozilla.org/en/DOM/window.scrollbars /** @se ... bars */ + * @type {number} + * @see https://developer.mozilla.org/En/DOM/window.scrollMaxX + /**\n * ... axX\n */ + * @type {number} + * @see https://developer.mozilla.org/En/DOM/window.scrollMaxY + /**\n * ... axY\n */ + * @type {!Window} + * @see https://developer.mozilla.org/en/DOM/window.self + /**\n * ... elf\n */ @see https://developer.mozilla.org/en/DOM/Storage#sessionStorage /** @se ... rage */ @see https://developer.mozilla.org/en/DOM/window.sidebar /** @se ... ebar */ + * @type {?string} + * @see https://developer.mozilla.org/en/DOM/window.status + @see https://developer.mozilla.org/en/DOM/window.statusbar /** @se ... sbar */ @see https://developer.mozilla.org/en/DOM/window.toolbar + * @param {*} message + * @see https://developer.mozilla.org/en/DOM/window.alert + * @return {undefined} + + * Decodes a string of data which has been encoded using base-64 encoding. + * + * @param {string} encodedData + * @return {string} + * @see https://developer.mozilla.org/en/DOM/window.atob + * @nosideeffects + + * @see https://developer.mozilla.org/en/DOM/window.back + * @return {undefined} + + * @see https://developer.mozilla.org/en/DOM/window.blur + * @return {undefined} + + * @param {string} stringToEncode + * @return {string} + * @see https://developer.mozilla.org/en/DOM/window.btoa + * @nosideeffects + @deprecated /** @deprecated */ + * @see https://developer.mozilla.org/en/DOM/window.close + * @return {undefined} + @see https://developer.mozilla.org/en/DOM/window.find /**@see ... find */ + * @see https://developer.mozilla.org/en/DOM/window.focus + * @return {undefined} + + * @see https://developer.mozilla.org/en/DOM/window.forward + * @return {undefined} + + * @see https://developer.mozilla.org/en/DOM/window.getAttention + * @return {undefined} + + * @return {Selection} + * @see https://developer.mozilla.org/en/DOM/window.getSelection + * @nosideeffects + + * @see https://developer.mozilla.org/en/DOM/window.home + * @return {undefined} + + * @param {string} uri + * @param {?=} opt_arguments + * @param {string=} opt_options + * @see https://developer.mozilla.org/en/DOM/window.showModalDialog + + * @see http://msdn.microsoft.com/en-us/library/ms536769(VS.85).aspx + * @return {undefined} + properties of Document// prop ... ocument + * @see https://developer.mozilla.org/en/DOM/document.alinkColor + * @type {string} + + * @see https://developer.mozilla.org/en/DOM/document.anchors + * @type {HTMLCollection} + + * @see https://developer.mozilla.org/en/DOM/document.applets + * @type {HTMLCollection} + @type {string?} /** @ty ... ng?} */ + * @see https://developer.mozilla.org/en/DOM/document.bgColor + * @type {string} + @type {HTMLBodyElement} + * @see https://developer.mozilla.org/en/DOM/document.compatMode + * @type {string} + + * @see https://developer.mozilla.org/en/DOM/document.designMode + * @type {string} + + * @see https://developer.mozilla.org/en/DOM/document.domain + * @type {string} + + * @see https://developer.mozilla.org/en/DOM/document.embeds + * @type {HTMLCollection} + + * @see https://developer.mozilla.org/en/DOM/document.fgColor + * @type {string} + + * @see https://developer.mozilla.org/en/DOM/document.forms + * @type {HTMLCollection} + @type {HTMLCollection} /** @ty ... nt>} */ + * @type {string} + * @see https://developer.mozilla.org/en/DOM/document.lastModified + /**\n * ... ied\n */ + * @type {string} + * @see https://developer.mozilla.org/en/DOM/document.linkColor + + * @see https://developer.mozilla.org/en/DOM/document.links + * @type {HTMLCollection<(!HTMLAreaElement|!HTMLAnchorElement)>} + + * @type {!Location} + * @implicitCast + /**\n * ... ast\n */ + * @type {string} + * @see https://developer.mozilla.org/en/DOM/document.referrer + /**\n * ... rer\n */ + * @type {StyleSheetList} + * @see https://developer.mozilla.org/en/DOM/document.styleSheets + /**\n * ... ets\n */ @type {?string} + * @type {string} + * @see https://developer.mozilla.org/en/DOM/document.vlinkColor + Methods of Document// Meth ... ocument + * @see https://developer.mozilla.org/en/DOM/document.clear + * @return {undefined} + + * @see https://developer.mozilla.org/en/DOM/document.close + /**\n * ... ose\n */ + * @param {string} type + * @return {Event} + @return {Range} /** @re ... nge} */ + * @param {string} commandName + * @param {?boolean=} opt_showUi + * @param {*=} opt_value + * @see https://developer.mozilla.org/en/Rich-Text_Editing_in_Mozilla#Executing_Commands + + * @param {string} name + * @return {!NodeList} + * @nosideeffects + * @see https://developer.mozilla.org/en/DOM/document.getElementsByClassName + + * @param {string} uri + * @return {undefined} + + * @see https://developer.mozilla.org/en/DOM/document.open + /**\n * ... pen\n */ + * @see https://developer.mozilla.org/en/Midas + * @see http://msdn.microsoft.com/en-us/library/ms536676(VS.85).aspx + + * @see https://developer.mozilla.org/en/Midas + * @see http://msdn.microsoft.com/en-us/library/ms536678(VS.85).aspx + + * @see https://developer.mozilla.org/en/Midas + * @see http://msdn.microsoft.com/en-us/library/ms536679(VS.85).aspx + + * @see https://developer.mozilla.org/en/DOM/document.queryCommandSupported + * @see http://msdn.microsoft.com/en-us/library/ms536681(VS.85).aspx + * @param {string} command + * @return {?} Implementation-specific. + /**\n * ... ic.\n */ + * @see https://developer.mozilla.org/en/Midas + * @see http://msdn.microsoft.com/en-us/library/ms536683(VS.85).aspx + + * @see https://developer.mozilla.org/en/DOM/document.write + * @param {string} text + * @return {undefined} + + * @see https://developer.mozilla.org/en/DOM/document.writeln + * @param {string} text + * @return {undefined} + XUL// XUL + * @see http://developer.mozilla.org/en/DOM/document.getBoxObjectFor + * @return {BoxObject} + * @nosideeffects + From:// From: http://lxr.mozilla.org/mozilla1.8/source/dom/public/idl/range/nsIDOMNSRange.idl// http ... nge.idl + * @param {string} tag + * @return {DocumentFragment} + + * @param {Node} parent + * @param {number} offset + * @return {boolean} + * @nosideeffects + + * @param {Node} parent + * @param {number} offset + * @return {number} + * @nosideeffects + + * @param {Node} n + * @return {boolean} + * @nosideeffects + + * @param {Node} n + * @return {number} + * @nosideeffects + @constructor /** @constructor */ + * @type {Node} + * @see https://developer.mozilla.org/en/DOM/Selection/anchorNode + + * @type {number} + * @see https://developer.mozilla.org/en/DOM/Selection/anchorOffset + + * @type {Node} + * @see https://developer.mozilla.org/en/DOM/Selection/focusNode + + * @type {number} + * @see https://developer.mozilla.org/en/DOM/Selection/focusOffset + + * @type {boolean} + * @see https://developer.mozilla.org/en/DOM/Selection/isCollapsed + + * @type {number} + * @see https://developer.mozilla.org/en/DOM/Selection/rangeCount + /**\n * ... unt\n */ + * @param {Range} range + * @return {undefined} + * @see https://developer.mozilla.org/en/DOM/Selection/addRange + /**\n * ... nge\n */ + * @param {number} index + * @return {Range} + * @see https://developer.mozilla.org/en/DOM/Selection/getRangeAt + * @nosideeffects + + * @param {Node} node + * @param {number} index + * @return {undefined} + * @see https://developer.mozilla.org/en/DOM/Selection/collapse + /**\n * ... pse\n */ + * @return {undefined} + * @see https://developer.mozilla.org/en/DOM/Selection/collapseToEnd + /**\n * ... End\n */ + * @return {undefined} + * @see https://developer.mozilla.org/en/DOM/Selection/collapseToStart + /**\n * ... art\n */ + * @param {Node} node + * @param {boolean} partlyContained + * @return {boolean} + * @see https://developer.mozilla.org/en/DOM/Selection/containsNode + * @nosideeffects + + * @see https://developer.mozilla.org/en/DOM/Selection/deleteFromDocument + * @return {undefined} + + * @param {Node} parentNode + * @param {number} offset + * @see https://developer.mozilla.org/en/DOM/Selection/extend + * @return {undefined} + + * @see https://developer.mozilla.org/en/DOM/Selection/removeAllRanges + * @return {undefined} + + * @param {Range} range + * @see https://developer.mozilla.org/en/DOM/Selection/removeRange + * @return {undefined} + + * @param {Node} parentNode + * @see https://developer.mozilla.org/en/DOM/Selection/selectAllChildren + /**\n * ... ren\n */ + * @see https://developer.mozilla.org/en/DOM/Selection/selectionLanguageChange + + * @type {!NodeList} + * @see https://developer.mozilla.org/en/DOM/element.children + + * Firebug sets this property on elements it is inserting into the DOM. + * @type {boolean} + + * Note: According to the spec, id is actually defined on HTMLElement and + * SVGElement, rather than Element. Deliberately ignore this so that saying + * Element.id is allowed. + * @type {string} + * @implicitCast + + * @type {string} + * @see http://www.w3.org/TR/DOM-Parsing/#widl-Element-innerHTML + * @implicitCast + + * Note: According to the spec, name is defined on specific types of + * HTMLElements, rather than on Node, Element, or HTMLElement directly. + * Ignore this. + * @type {string} + + * @type {!CSSStyleDeclaration} + * This belongs on HTMLElement rather than Element, but that + * breaks a lot. + * TODO(rdcronin): Remove this declaration once the breakage is fixed. + /**\n * ... ed.\n */ + * @override + * @return {!Element} + + * @param {number} selectionStart + * @param {number} selectionEnd + * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#dom-textarea/input-setselectionrange + * @return {undefined} + + * @type {string} + * @see https://developer.mozilla.org/en/Navigator.buildID + /**\n * ... dID\n */ + * @type {!Array|undefined} + * @see https://developer.mozilla.org/en/Navigator.languages + /**\n * ... ges\n */ + * @type {string} + * @see https://developer.mozilla.org/en/Navigator.oscpu + /**\n * ... cpu\n */ + * @type {string} + * @see https://developer.mozilla.org/en/Navigator.productSub + /**\n * ... Sub\n */ + * @type {string} + * @see https://developer.mozilla.org/en/Navigator.securityPolicy + /**\n * ... icy\n */ + * @param {string} url + * @param {ArrayBufferView|Blob|string|FormData=} opt_data + * @return {boolean} + * @see https://developer.mozilla.org/en-US/docs/Web/API/navigator.sendBeacon + /**\n * ... con\n */ + * @type {string} + * @see https://developer.mozilla.org/en/Navigator.vendor + /**\n * ... dor\n */ + * @type {string} + * @see https://developer.mozilla.org/en/Navigator.vendorSub + + * @param {Element} element + * @param {?string=} pseudoElt + * @return {?CSSStyleDeclaration} + * @nosideeffects + * @see https://bugzilla.mozilla.org/show_bug.cgi?id=548397 + /**\n * ... 397\n */HTMLSpanElementComponentscontrollersdefaultStatusdialogArgumentsdirectoriesframeElementframesfullScreengetBatteryglobalStoragelocationbarmenubaropenerpersonalbarpkcs11scrollbarsscrollMaxXscrollMaxYselfsessionStoragesidebarstatusbartoolbaralertencodedDatastringToEncodecaptureEventsforwardgetAttentionhomeopenDialogreleaseEventsscrollByLinesscrollByPagesshowModalDialogsizeToContentupdateCommandsalinkColorappletsbaseURIbgColorcharacterSetcompatModecookiedesignModedocumentURIObjectembedsfgColorformsimageslinkColorlinksnodePrincipalpopupNodestyleSheetstooltipNodevlinkColorcreateEventcreateNSResolvercreateTreeWalkerexecCommandgetElementsByClassNameloadOverlayqueryCommandEnabledqueryCommandIndetermqueryCommandStatequeryCommandSupportedqueryCommandValueononlineonofflinegetBoxObjectForcreateContextualFragmentisPointInRangecomparePointintersectsNodecompareNodeSelectionisCollapsedgetRangeAtcollapsecollapseToEndcollapseToStartcontainsNodepartlyContaineddeleteFromDocumentremoveRangeselectAllChildrenselectionLanguageChangefirebugIgnorecloneNodesetSelectionRangebuildIDlanguagesoscpuproductSubsecurityPolicysendBeaconopt_datavendorvendorSubBoxObjectgetComputedStylepseudoEltDefinitions for all the extensions over +W3C's DOM specification by Gecko. This file depends on +w3c_dom2.js. +* When a non-standard extension appears in both Gecko and IE, we put +it in gecko_dom.js +*Mozilla only???HTMLElementhttps://developer.mozilla.org/en/Components_objecthttps://developer.mozilla.org/en/DOM/window.contenthttps://developer.mozilla.org/en/DOM/window.closedhttps://developer.mozilla.org/en/DOM/window.controllershttps://developer.mozilla.org/en/DOM/window.cryptoGets/sets the status bar text for the given window.https://developer.mozilla.org/en/DOM/window.defaultStatushttps://developer.mozilla.org/en/DOM/window.dialogArgumentshttps://developer.mozilla.org/en/DOM/window.directories(HTMLObjectElement|HTMLIFrameElement|null)https://developer.mozilla.org/en/DOM/window.frameElementAllows lookup of frames by index or by name.https://developer.mozilla.org/en/DOM/window.frameshttps://developer.mozilla.org/en/DOM/window.fullScreen!Promise.Promise.!BatteryManagerBatteryManagerhttp://www.w3.org/TR/battery-status/https://developer.mozilla.org/en/DOM/Storage#globalStorage!HistoryHistory{duplicate} +https://developer.mozilla.org/en/DOM/window.historyReturns the number of frames (either frame or iframe elements) in the +window.https://developer.mozilla.org/en/DOM/window.lengthLocation has an exception in the DeclaredGlobalExternsOnWindow pass +so we have to manually include it: +https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/DeclaredGlobalExternsOnWindow.java#L116!LocationLocationimplicitCast@implicitCasthttps://developer.mozilla.org/en/DOM/window.locationhttps://developer.mozilla.org/en/DOM/window.locationbarhttps://developer.mozilla.org/en/DOM/window.menubarhttps://developer.mozilla.org/en/DOM/window.namehttps://developer.mozilla.org/en/DOM/window.navigator?Windowhttps://developer.mozilla.org/en/DOM/window.opener!Windowhttps://developer.mozilla.org/en/DOM/window.parenthttps://developer.mozilla.org/en/DOM/window.personalbarhttps://developer.mozilla.org/en/DOM/window.pkcs11https://developer.mozilla.org/en/DOM/windowhttps://developer.mozilla.org/en/DOM/window.scrollbarshttps://developer.mozilla.org/En/DOM/window.scrollMaxXhttps://developer.mozilla.org/En/DOM/window.scrollMaxYhttps://developer.mozilla.org/en/DOM/window.selfhttps://developer.mozilla.org/en/DOM/Storage#sessionStoragehttps://developer.mozilla.org/en/DOM/window.sidebarhttps://developer.mozilla.org/en/DOM/window.statushttps://developer.mozilla.org/en/DOM/window.statusbarhttps://developer.mozilla.org/en/DOM/window.toolbarhttps://developer.mozilla.org/en/DOM/window.alert +Decodes a string of data which has been encoded using base-64 encoding.https://developer.mozilla.org/en/DOM/window.atob +https://developer.mozilla.org/en/DOM/window.back +https://developer.mozilla.org/en/DOM/window.blur +https://developer.mozilla.org/en/DOM/window.btoa +https://developer.mozilla.org/en/DOM/window.close +https://developer.mozilla.org/en/DOM/window.findhttps://developer.mozilla.org/en/DOM/window.focus +https://developer.mozilla.org/en/DOM/window.forward +https://developer.mozilla.org/en/DOM/window.getAttention +https://developer.mozilla.org/en/DOM/window.getSelection +https://developer.mozilla.org/en/DOM/window.home +opt_argumentshttps://developer.mozilla.org/en/DOM/window.showModalDialoghttp://msdn.microsoft.com/en-us/library/ms536769(VS.85).aspx +https://developer.mozilla.org/en/DOM/document.alinkColor +https://developer.mozilla.org/en/DOM/document.anchors +HTMLCollection.HTMLCollection!HTMLAnchorElementHTMLAnchorElementhttps://developer.mozilla.org/en/DOM/document.applets +HTMLCollection.!HTMLAppletElementHTMLAppletElementhttps://developer.mozilla.org/en/DOM/document.bgColor +HTMLBodyElementhttps://developer.mozilla.org/en/DOM/document.compatMode +https://developer.mozilla.org/en/DOM/document.designMode +https://developer.mozilla.org/en/DOM/document.domain +https://developer.mozilla.org/en/DOM/document.embeds +HTMLCollection.!HTMLEmbedElementhttps://developer.mozilla.org/en/DOM/document.fgColor +https://developer.mozilla.org/en/DOM/document.forms +HTMLCollection.!HTMLFormElementHTMLFormElementHTMLCollection.!HTMLImageElementHTMLImageElementhttps://developer.mozilla.org/en/DOM/document.lastModifiedhttps://developer.mozilla.org/en/DOM/document.linkColorhttps://developer.mozilla.org/en/DOM/document.links +HTMLCollection.<(!HTMLAreaElement|!HTMLAnchorElement)>(!HTMLAreaElement|!HTMLAnchorElement)!HTMLAreaElementHTMLAreaElementhttps://developer.mozilla.org/en/DOM/document.referrerStyleSheetListhttps://developer.mozilla.org/en/DOM/document.styleSheetshttps://developer.mozilla.org/en/DOM/document.vlinkColorhttps://developer.mozilla.org/en/DOM/document.clear +https://developer.mozilla.org/en/DOM/document.closeopt_showUi?boolean=https://developer.mozilla.org/en/Rich-Text_Editing_in_Mozilla#Executing_Commands!NodeList.NodeList.https://developer.mozilla.org/en/DOM/document.getElementsByClassNamehttps://developer.mozilla.org/en/DOM/document.openhttps://developer.mozilla.org/en/Midas +http://msdn.microsoft.com/en-us/library/ms536676(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536678(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536679(VS.85).aspxhttps://developer.mozilla.org/en/DOM/document.queryCommandSupported +http://msdn.microsoft.com/en-us/library/ms536681(VS.85).aspx +Implementation-specific.http://msdn.microsoft.com/en-us/library/ms536683(VS.85).aspxhttps://developer.mozilla.org/en/DOM/document.write +https://developer.mozilla.org/en/DOM/document.writeln +http://developer.mozilla.org/en/DOM/document.getBoxObjectFor +DocumentFragmenthttps://developer.mozilla.org/en/DOM/Selection/anchorNodehttps://developer.mozilla.org/en/DOM/Selection/anchorOffsethttps://developer.mozilla.org/en/DOM/Selection/focusNodehttps://developer.mozilla.org/en/DOM/Selection/focusOffsethttps://developer.mozilla.org/en/DOM/Selection/isCollapsedhttps://developer.mozilla.org/en/DOM/Selection/rangeCounthttps://developer.mozilla.org/en/DOM/Selection/addRangehttps://developer.mozilla.org/en/DOM/Selection/getRangeAt +https://developer.mozilla.org/en/DOM/Selection/collapsehttps://developer.mozilla.org/en/DOM/Selection/collapseToEndhttps://developer.mozilla.org/en/DOM/Selection/collapseToStarthttps://developer.mozilla.org/en/DOM/Selection/containsNode +https://developer.mozilla.org/en/DOM/Selection/deleteFromDocument +https://developer.mozilla.org/en/DOM/Selection/extend +https://developer.mozilla.org/en/DOM/Selection/removeAllRanges +https://developer.mozilla.org/en/DOM/Selection/removeRange +https://developer.mozilla.org/en/DOM/Selection/selectAllChildrenhttps://developer.mozilla.org/en/DOM/Selection/selectionLanguageChangehttps://developer.mozilla.org/en/DOM/element.childrenFirebug sets this property on elements it is inserting into the DOM.Note: According to the spec, id is actually defined on HTMLElement and +SVGElement, rather than Element. Deliberately ignore this so that saying +Element.id is allowed.http://www.w3.org/TR/DOM-Parsing/#widl-Element-innerHTML +Note: According to the spec, name is defined on specific types of +HTMLElements, rather than on Node, Element, or HTMLElement directly. +Ignore this.This belongs on HTMLElement rather than Element, but that +breaks a lot. +TODO(rdcronin): Remove this declaration once the breakage is fixed.!CSSStyleDeclarationCSSStyleDeclarationhttp://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#dom-textarea/input-setselectionrange +https://developer.mozilla.org/en/Navigator.buildID(!Array.|undefined)https://developer.mozilla.org/en/Navigator.languageshttps://developer.mozilla.org/en/Navigator.oscpuhttps://developer.mozilla.org/en/Navigator.productSubhttps://developer.mozilla.org/en/Navigator.securityPolicy(ArrayBufferView|Blob|string|FormData)=(ArrayBufferView|Blob|string|FormData)https://developer.mozilla.org/en-US/docs/Web/API/navigator.sendBeaconhttps://developer.mozilla.org/en/Navigator.vendorhttps://developer.mozilla.org/en/Navigator.vendorSub?string=?CSSStyleDeclarationhttps://bugzilla.mozilla.org/show_bug.cgi?id=548397Window. ... onents;Window. ... ponentsWindow. ... ontent;Window. ... contentWindow. ... closed;Window. ... .closedWindow. ... ollers;Window. ... rollersWindow. ... crypto;Window. ... .cryptoWindow. ... Status;Window. ... tStatusWindow. ... uments;Window. ... gumentsWindow. ... tories;Window. ... ctoriesWindow. ... lement;Window. ... ElementWindow. ... frames;Window. ... .framesWindow. ... Screen;Window. ... lScreenNavigat ... n() {};Navigat ... on() {}Navigat ... BatteryWindow. ... torage;Window. ... StorageWindow. ... length;Window. ... .lengthWindow. ... cation;Window. ... ocationWindow. ... ionbar;Window. ... tionbarWindow. ... enubar;Window. ... menubarWindow. ... e.name;Window. ... pe.nameWindow. ... igator;Window. ... vigatorWindow. ... opener;Window. ... .openerWindow. ... parent;Window. ... .parentWindow. ... nalbar;Window. ... onalbarWindow. ... pkcs11;Window. ... .pkcs11Window. ... nValue;Window. ... rnValueWindow. ... llbars;Window. ... ollbarsWindow. ... llMaxX;Window. ... ollMaxXWindow. ... llMaxY;Window. ... ollMaxYWindow. ... e.self;Window. ... pe.selfWindow. ... idebar;Window. ... sidebarWindow. ... status;Window. ... .statusWindow. ... tusbar;Window. ... atusbarWindow. ... oolbar;Window. ... toolbarWindow. ... pe.top;Window.prototype.topWindow. ... window;Window. ... .windowWindow. ... ge) {};Window. ... age) {}Window. ... e.alertfunctio ... ata) {}Window. ... n() {};Window. ... on() {}Window. ... pe.backWindow. ... pe.blurWindow. ... Events;Window. ... eEventsWindow. ... e.closeWindow. ... e.find;Window. ... pe.findWindow. ... e.focusWindow. ... forwardWindow. ... tentionWindow. ... lectionWindow. ... pe.homeWindow. ... Dialog;Window. ... nDialogWindow. ... yLines;Window. ... ByLinesWindow. ... yPages;Window. ... ByPagesWindow. ... lDialogWindow. ... ContentWindow. ... pe.stopWindow. ... mmands;Window. ... ommandsDocumen ... kColor;Documen ... nkColorDocument.prototypeDocumen ... nchors;Documen ... anchorsDocumen ... pplets;Documen ... appletsDocumen ... .async;Documen ... e.asyncDocumen ... aseURI;Documen ... baseURIDocumen ... gColor;Documen ... bgColorDocumen ... e.body;Documen ... pe.bodyDocumen ... terSet;Documen ... cterSetDocumen ... atMode;Documen ... patModeDocumen ... ntType;Documen ... entTypeDocumen ... cookie;Documen ... .cookieDocumen ... ltView;Documen ... ultViewDocumen ... gnMode;Documen ... ignModeDocumen ... Object;Documen ... IObjectDocumen ... domain;Documen ... .domainDocumen ... embeds;Documen ... .embedsDocumen ... fgColorDocumen ... tChild;Documen ... stChildDocumen ... .forms;Documen ... e.formsDocumen ... height;Documen ... .heightDocumen ... images;Documen ... .imagesDocumen ... dified;Documen ... odifiedDocumen ... .links;Documen ... e.linksDocumen ... cation;Documen ... ocationDocumen ... aceURI;Documen ... paceURIDocumen ... ncipal;Documen ... incipalDocumen ... lugins;Documen ... pluginsDocumen ... upNode;Documen ... pupNodeDocumen ... ferrer;Documen ... eferrerDocumen ... Sheets;Documen ... eSheetsDocumen ... .title;Documen ... e.titleDocumen ... ipNode;Documen ... tipNodeDocumen ... pe.URL;Documen ... ype.URLDocumen ... .width;Documen ... e.widthDocumen ... n() {};Documen ... on() {}Documen ... e.clearDocumen ... .close;Documen ... e.closeDocumen ... pe) {};Documen ... ype) {}Documen ... teEventDocumen ... solver;Documen ... esolverDocumen ... teRangeDocumen ... Walker;Documen ... eWalkerDocumen ... aluate;Documen ... valuateDocumen ... ommand;Documen ... CommandDocumen ... me) {};Documen ... ame) {}Documen ... assNamegetElem ... assNameDocumen ... ri) {};Documen ... uri) {}Documen ... pe.loadfunction(uri) {}Documen ... verlay;Documen ... OverlayDocumen ... e.open;Documen ... pe.openDocumen ... nabled;Documen ... EnabledDocumen ... determ;Documen ... ndetermDocumen ... dState;Documen ... ndStateDocumen ... ported;Documen ... pportedqueryCo ... pportedDocumen ... dValue;Documen ... ndValueDocumen ... xt) {};Documen ... ext) {}Documen ... e.writeDocumen ... writelnDocumen ... online;Documen ... nonlineDocumen ... ffline;Documen ... offlineDocumen ... nt) {};Documen ... ent) {}Documen ... jectForfunction(element) {}Range.p ... agment;Range.p ... ragmentRange.prototypecreateC ... ragmentRange.p ... nRange;Range.p ... InRangeRange.p ... ePoint;Range.p ... rePointRange.p ... tsNode;Range.p ... ctsNodeRange.p ... reNode;Range.p ... areNodeSelecti ... orNode;Selecti ... horNodeSelection.prototypeSelecti ... Offset;Selecti ... rOffsetSelecti ... usNode;Selecti ... cusNodeSelecti ... sOffsetSelecti ... lapsed;Selecti ... llapsedSelecti ... eCount;Selecti ... geCountSelecti ... ge) {};Selecti ... nge) {}Selecti ... ddRangefunction(range) {}Selecti ... ex) {};Selecti ... dex) {}Selecti ... RangeAtSelecti ... ollapseSelecti ... n() {};Selecti ... on() {}Selecti ... seToEndSelecti ... ToStartSelecti ... ed) {};Selecti ... ned) {}Selecti ... insNodeSelecti ... ocumentSelecti ... et) {};Selecti ... set) {}Selecti ... .extendSelecti ... lRangesSelecti ... veRangeSelecti ... ildren;Selecti ... hildrenSelecti ... Change;Selecti ... eChangeselecti ... eChangeElement ... ildren;Element ... hildrenElement.prototypeElement ... Ignore;Element ... gIgnoreElement ... ype.id;Element.prototype.idElement ... erHTML;Element ... nerHTMLElement ... e.name;Element ... pe.nameElement ... ncipal;Element ... incipalElement ... .style;Element ... e.styleElement ... ep) {};Element ... eep) {}Element ... oneNodefunction(deep) {}Element ... n() {};Element ... on() {}Element ... pe.blurElement ... e.clickElement ... e.focusHTMLInp ... nStart;HTMLInp ... onStartHTMLInp ... ototypeHTMLInp ... ionEnd;HTMLInp ... tionEndHTMLInp ... nd) {};HTMLInp ... End) {}HTMLInp ... onRangeHTMLTex ... nStart;HTMLTex ... onStartHTMLTex ... ototypeHTMLTex ... ionEnd;HTMLTex ... tionEndHTMLTex ... nd) {};HTMLTex ... End) {}HTMLTex ... onRangeNavigat ... uildID;Navigat ... buildIDNavigat ... guages;Navigat ... nguagesNavigat ... .oscpu;Navigat ... e.oscpuNavigat ... uctSub;Navigat ... ductSubNavigat ... Policy;Navigat ... yPolicyNavigat ... ta) {};Navigat ... ata) {}Navigat ... dBeaconNavigat ... vendor;Navigat ... .vendorNavigat ... dorSub;Navigat ... ndorSubBoxObje ... lement;BoxObje ... elementBoxObject.prototypeBoxObje ... creenX;BoxObje ... screenXBoxObje ... creenY;BoxObje ... screenYBoxObje ... type.x;BoxObje ... otype.xBoxObje ... type.y;BoxObje ... otype.yBoxObje ... .width;BoxObje ... e.widthfunctio ... Elt) {}/opt/codeql/javascript/tools/data/externs/web/gecko_event.js + * @fileoverview Definitions for all the extensions over + * W3C's event specification by Gecko. This file depends on + * w3c_event.js. + * + * @externs + @type {EventTarget} /** @ty ... get} */ @type {EventTarget|undefined} Methods//MethodsHORIZONTAL_AXISVERTICAL_AXISaxisexplicitOriginalTargetisCharlayerXlayerYnsIDOMPageTransitionEventpersistedinitKeyEventinitMouseEventinitUIEventinitMessageEventpreventBubblepreventCaptureDefinitions for all the extensions over +W3C's event specification by Gecko. This file depends on +w3c_event.js. +*(EventTarget|undefined)Event.p ... L_AXIS;Event.p ... AL_AXISEvent.prototypeEvent.p ... altKey;Event.p ... .altKeyEvent.p ... e.axis;Event.prototype.axisEvent.p ... button;Event.p ... .buttonEvent.p ... Bubble;Event.p ... lBubbleEvent.p ... arCode;Event.p ... harCodeEvent.p ... lientX;Event.p ... clientXEvent.p ... lientY;Event.p ... clientYEvent.p ... trlKey;Event.p ... ctrlKeyEvent.p ... Target;Event.p ... lTargetexplici ... lTargetEvent.p ... isChar;Event.p ... .isCharEvent.p ... rusted;Event.p ... TrustedEvent.p ... eyCode;Event.p ... keyCodeEvent.p ... layerX;Event.p ... .layerXEvent.p ... layerY;Event.p ... .layerYEvent.p ... etaKey;Event.p ... metaKeyEvent.p ... .pageX;Event.p ... e.pageXEvent.p ... .pageY;Event.p ... e.pageYEvent.p ... dTargetEvent.p ... creenX;Event.p ... screenXEvent.p ... creenY;Event.p ... screenYEvent.p ... iftKey;Event.p ... hiftKeyEvent.p ... e.view;Event.prototype.viewEvent.p ... .which;Event.p ... e.whichnsIDOMP ... onEventnsIDOMP ... sisted;nsIDOMP ... rsistednsIDOMP ... ototypeEvent.p ... yEvent;Event.p ... eyEventEvent.p ... eEvent;Event.p ... seEventEvent.p ... IEvent;Event.p ... UIEventEvent.p ... geEventEvent.p ... tBubbleEvent.p ... apture;Event.p ... Capture/opt/codeql/javascript/tools/data/externs/web/gecko_ext.js + * @fileoverview More non-standard Gecko extensions. + * @externs + + * Non-standard Gecko extension: XMLHttpRequest takes an optional parameter. + * + * @constructor + * @implements {EventTarget} + * @param {Object=} options + * @see https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest#XMLHttpRequest%28%29 + /**\n * ... %29\n */More non-standard Gecko extensions. +Non-standard Gecko extension: XMLHttpRequest takes an optional parameter.https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest#XMLHttpRequest%28%29/opt/codeql/javascript/tools/data/externs/web/gecko_xml.js + * @fileoverview Definitions for all the extensions over some of the + * W3C's XML specifications by Gecko. This file depends on + * w3c_xml.js. The whole file has been fully type annotated. + * + * @externs + + * XMLSerializer can be used to convert DOM subtree or DOM document into text. + * XMLSerializer is available to unprivileged scripts. + * + * XMLSerializer is mainly useful for applications and extensions based on + * Mozilla platform. While it's available to web pages, it's not part of any + * standard and level of support in other browsers is unknown. + * + * @constructor + + * Returns the serialized subtree in the form of a string + * @param {Node} subtree + * @return {string} + + * The subtree rooted by the specified element is serialized to a byte stream + * using the character set specified. + * + * @param {Node} subtree + * @return {Object} + + * DOMParser is mainly useful for applications and extensions based on Mozilla + * platform. While it's available to web pages, it's not part of any standard and + * level of support in other browsers is unknown. + * + * @constructor + + * The string passed in is parsed into a DOM document. + * + * Example: + * var parser = new DOMParser(); + * var doc = parser.parseFromString(aStr, "text/xml"); + * + * @param {string} src The UTF16 string to be parsed. + * @param {string} type The content type of the string. + * @return {Document} + XMLSerializerserializeToStringserializeToStreamDOMParserparseFromStringDefinitions for all the extensions over some of the +W3C's XML specifications by Gecko. This file depends on +w3c_xml.js. The whole file has been fully type annotated. +*XMLSerializer can be used to convert DOM subtree or DOM document into text. +XMLSerializer is available to unprivileged scripts. + +XMLSerializer is mainly useful for applications and extensions based on +Mozilla platform. While it's available to web pages, it's not part of any +standard and level of support in other browsers is unknown.Returns the serialized subtree in the form of a stringThe subtree rooted by the specified element is serialized to a byte stream +using the character set specified.DOMParser is mainly useful for applications and extensions based on Mozilla +platform. While it's available to web pages, it's not part of any standard and +level of support in other browsers is unknown.The string passed in is parsed into a DOM document. + +Example: +var parser = new DOMParser(); +var doc = parser.parseFromString(aStr, "text/xml");The UTF16 string to be parsed. +The content type of the string. +XMLSeri ... ee) {};XMLSeri ... ree) {}XMLSeri ... oStringXMLSeri ... ototypefunction(subtree) {}XMLSeri ... oStreamDOMPars ... pe) {};DOMPars ... ype) {}DOMPars ... mStringDOMParser.prototype/opt/codeql/javascript/tools/data/externs/web/html5.js + * @fileoverview Definitions for all the extensions over the + * W3C's DOM3 specification in HTML5. This file depends on + * w3c_dom3.js. The whole file has been fully type annotated. + * + * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/index.html + * @see http://dev.w3.org/html5/spec/Overview.html + * + * This also includes Typed Array definitions from + * http://www.khronos.org/registry/typedarray/specs/latest/ + * + * This relies on w3c_event.js being included first. + * + * @externs + + * Note: In IE, the contains() method only exists on Elements, not Nodes. + * Therefore, it is recommended that you use the Conformance framework to + * prevent calling this on Nodes which are not Elements. + * @see https://connect.microsoft.com/IE/feedback/details/780874/node-contains-is-incorrect + * + * @param {Node} n The node to check + * @return {boolean} If 'n' is this Node, or is contained within this Node. + * @see https://developer.mozilla.org/en-US/docs/Web/API/Node.contains + * @nosideeffects + + * @constructor + * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#the-canvas-element + * @extends {HTMLElement} + + * @see https://www.w3.org/TR/html5/scripting-1.html#dom-canvas-toblob + * @param {function(!Blob)} callback + * @param {string=} opt_type + * @param {...*} var_args + * @throws {Error} + + * @param {string=} opt_type + * @param {...*} var_args + * @return {string} + * @throws {Error} + + * @param {string} contextId + * @param {Object=} opt_args + * @return {Object} + + * @see https://www.w3.org/TR/mediacapture-fromelement/ + * @param {number=} opt_framerate + * @return {!MediaStream} + * @throws {Error} + * + * @interface + * @see https://www.w3.org/TR/2dcontext/#canvaspathmethods + /**\n * ... ods\n */ + * @return {undefined} + + * @param {number} x + * @param {number} y + * @return {undefined} + + * @param {number} cpx + * @param {number} cpy + * @param {number} x + * @param {number} y + * @return {undefined} + + * @param {number} cp1x + * @param {number} cp1y + * @param {number} cp2x + * @param {number} cp2y + * @param {number} x + * @param {number} y + * @return {undefined} + + * @param {number} x1 + * @param {number} y1 + * @param {number} x2 + * @param {number} y2 + * @param {number} radius + * @return {undefined} + + * @param {number} x + * @param {number} y + * @param {number} w + * @param {number} h + * @return {undefined} + + * @param {number} x + * @param {number} y + * @param {number} radius + * @param {number} startAngle + * @param {number} endAngle + * @param {boolean=} opt_anticlockwise + * @return {undefined} + + * @constructor + * @implements {CanvasPathMethods} + * @see http://www.w3.org/TR/2dcontext/#canvasrenderingcontext2d + /**\n * ... t2d\n */ @type {!HTMLCanvasElement} + * @param {number} angle + * @return {undefined} + + * @param {number} m11 + * @param {number} m12 + * @param {number} m21 + * @param {number} m22 + * @param {number} dx + * @param {number} dy + * @return {undefined} + + * @param {number} x0 + * @param {number} y0 + * @param {number} x1 + * @param {number} y1 + * @return {CanvasGradient} + * @throws {Error} + + * @param {number} x0 + * @param {number} y0 + * @param {number} r0 + * @param {number} x1 + * @param {number} y1 + * @param {number} r1 + * @return {CanvasGradient} + * @throws {Error} + + * @param {HTMLImageElement|HTMLCanvasElement} image + * @param {string} repetition + * @return {CanvasPattern} + * @throws {Error} + + * @return {undefined} + * @override + + * @param {number} x + * @param {number} y + * @return {undefined} + * @override + + * @param {number} cpx + * @param {number} cpy + * @param {number} x + * @param {number} y + * @return {undefined} + * @override + + * @param {number} cp1x + * @param {number} cp1y + * @param {number} cp2x + * @param {number} cp2y + * @param {number} x + * @param {number} y + * @return {undefined} + * @override + + * @param {number} x1 + * @param {number} y1 + * @param {number} x2 + * @param {number} y2 + * @param {number} radius + * @return {undefined} + * @override + + * @param {number} x + * @param {number} y + * @param {number} w + * @param {number} h + * @return {undefined} + * @override + + * @param {number} x + * @param {number} y + * @param {number} radius + * @param {number} startAngle + * @param {number} endAngle + * @param {boolean=} opt_anticlockwise + * @return {undefined} + * @override + + * @param {number} x + * @param {number} y + * @param {number} radiusX + * @param {number} radiusY + * @param {number} rotation + * @param {number} startAngle + * @param {number} endAngle + * @param {boolean=} opt_anticlockwise + * @return {undefined} + * @see http://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/ellipse + + * @param {string=} opt_fillRule + * @return {undefined} + + * @param {number} x + * @param {number} y + * @return {boolean} + * @nosideeffects + * @see http://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/isPointInStroke + /**\n * ... oke\n */ + * @param {number} x + * @param {number} y + * @param {string=} opt_fillRule + * @return {boolean} + * @nosideeffects + + * @param {string} text + * @param {number} x + * @param {number} y + * @param {number=} opt_maxWidth + * @return {undefined} + + * @param {string} text + * @return {TextMetrics} + * @nosideeffects + + * @param {HTMLImageElement|HTMLCanvasElement|Image|HTMLVideoElement} image + * @param {number} dx Destination x coordinate. + * @param {number} dy Destination y coordinate. + * @param {number=} opt_dw Destination box width. Defaults to the image width. + * @param {number=} opt_dh Destination box height. + * Defaults to the image height. + * @param {number=} opt_sx Source box x coordinate. Used to select a portion of + * the source image to draw. Defaults to 0. + * @param {number=} opt_sy Source box y coordinate. Used to select a portion of + * the source image to draw. Defaults to 0. + * @param {number=} opt_sw Source box width. Used to select a portion of + * the source image to draw. Defaults to the full image width. + * @param {number=} opt_sh Source box height. Used to select a portion of + * the source image to draw. Defaults to the full image height. + * @return {undefined} + + * @param {number} sw + * @param {number} sh + * @return {ImageData} + * @nosideeffects + + * @param {number} sx + * @param {number} sy + * @param {number} sw + * @param {number} sh + * @return {ImageData} + * @throws {Error} + + * @param {ImageData} imagedata + * @param {number} dx + * @param {number} dy + * @param {number=} opt_dirtyX + * @param {number=} opt_dirtyY + * @param {number=} opt_dirtyWidth + * @param {number=} opt_dirtyHeight + * @return {undefined} + + * Note: WebKit only + * @param {number|string=} opt_a + * @param {number=} opt_b + * @param {number=} opt_c + * @param {number=} opt_d + * @param {number=} opt_e + * @see http://developer.apple.com/library/safari/#documentation/appleapplications/reference/WebKitDOMRef/CanvasRenderingContext2D_idl/Classes/CanvasRenderingContext2D/index.html + * @return {undefined} + + * @param {Array} segments + * @return {undefined} + + * @type {string|!CanvasGradient|!CanvasPattern} + * @see https://html.spec.whatwg.org/multipage/scripting.html#fill-and-stroke-styles:dom-context-2d-fillstyle + * @implicitCast + + * @type {string|!CanvasGradient|!CanvasPattern} + * @see https://html.spec.whatwg.org/multipage/scripting.html#fill-and-stroke-styles:dom-context-2d-strokestyle + * @implicitCast + + * @param {number} offset + * @param {string} color + * @return {undefined} + + * @param {Uint8ClampedArray|number} dataOrWidth In the first form, this is the + * array of pixel data. In the second form, this is the image width. + * @param {number} widthOrHeight In the first form, this is the image width. In + * the second form, this is the image height. + * @param {number=} opt_height In the first form, this is the optional image + * height. The second form omits this argument. + * @see https://html.spec.whatwg.org/multipage/scripting.html#imagedata + * @constructor + @type {Uint8ClampedArray} /** @ty ... ray} */ + * @param {string} protocol + * @param {string} uri + * @param {string} title + * @return {undefined} + + * @param {string} mimeType + * @param {string} uri + * @param {string} title + * @return {undefined} + HTML5 Database objects// HTML ... objects + * @param {function(!SQLTransaction) : void} callback + * @param {(function(!SQLError) : void)=} opt_errorCallback + * @param {Function=} opt_Callback + * @return {undefined} + + * @param {string} oldVersion + * @param {string} newVersion + * @param {function(!SQLTransaction) : void} callback + * @param {function(!SQLError) : void} errorCallback + * @param {Function} successCallback + * @return {undefined} + + * @param {!Database} db + * @return {undefined} + + * @param {string} sqlStatement + * @param {Array<*>=} opt_queryArgs + * @param {SQLStatementCallback=} opt_callback + * @param {(function(!SQLTransaction, !SQLError) : (boolean|void))=} + * opt_errorCallback + * @return {undefined} + + * @typedef {(function(!SQLTransaction, !SQLResultSet) : void)} + + * @type {SQLResultSetRowList} + + * @constructor + * @implements {IArrayLike} + * @see http://www.w3.org/TR/webdatabase/#sqlresultsetrowlist + /**\n * ... ist\n */ + * @param {number} index + * @return {Object} + * @nosideeffects + + * @param {string} name + * @param {string} version + * @param {string} description + * @param {number} size + * @param {(DatabaseCallback|function(Database))=} opt_callback + * @return {Database} + + * @type {boolean} + * @see https://www.w3.org/TR/html5/embedded-content-0.html#dom-img-complete + /**\n * ... ete\n */ + * @type {number} + * @see https://www.w3.org/TR/html5/embedded-content-0.html#dom-img-naturalwidth + /**\n * ... dth\n */ + * @type {number} + * @see https://www.w3.org/TR/html5/embedded-content-0.html#dom-img-naturalheight + + * @type {string} + * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/embedded-content-1.html#attr-img-crossorigin + /**\n * ... gin\n */ + * This is a superposition of the Window and Worker postMessage methods. + * @param {*} message + * @param {(string|!Array)=} opt_targetOriginOrTransfer + * @param {(string|!Array|!Array)=} + * opt_targetOriginOrPortsOrTransfer + * @return {void} + + * The postMessage method (as implemented in Opera). + * @param {string} message + + * Document head accessor. + * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/dom.html#the-head-element-0 + * @type {HTMLHeadElement} + + * @see https://developer.apple.com/webapps/docs/documentation/AppleApplications/Reference/SafariJSRef/DOMApplicationCache/DOMApplicationCache.html + * @constructor + * @implements {EventTarget} + + * The object isn't associated with an application cache. This can occur if the + * update process fails and there is no previous cache to revert to, or if there + * is no manifest file. + * @type {number} + + * The cache is idle. + * @type {number} + + * The update has started but the resources are not downloaded yet - for + * example, this can happen when the manifest file is fetched. + * @type {number} + + * The resources are being downloaded into the cache. + * @type {number} + + * Resources have finished downloading and the new cache is ready to be used. + * @type {number} + + * The cache is obsolete. + * @type {number} + + * The current status of the application cache. + * @type {number} + + * Sent when the update process finishes for the first time; that is, the first + * time an application cache is saved. + * @type {?function(!Event)} + + * Sent when the cache update process begins. + * @type {?function(!Event)} + + * Sent when the update process begins downloading resources in the manifest + * file. + * @type {?function(!Event)} + + * Sent when an error occurs. + * @type {?function(!Event)} + + * Sent when the update process finishes but the manifest file does not change. + * @type {?function(!Event)} + + * Sent when each resource in the manifest file begins to download. + * @type {?function(!Event)} + + * Sent when there is an existing application cache, the update process + * finishes, and there is a new application cache ready for use. + * @type {?function(!Event)} + + * Replaces the active cache with the latest version. + * @throws {DOMException} + * @return {undefined} + + * Manually triggers the update process. + * @throws {DOMException} + * @return {undefined} + @type {DOMApplicationCache} + * @see https://developer.mozilla.org/En/DOM/Worker/Functions_available_to_workers + * @param {...string} var_args + * @return {undefined} + + * @see http://dev.w3.org/html5/workers/ + * @constructor + * @implements {EventTarget} + + * Stops the worker process + * @return {undefined} + + * Posts a message to the worker thread. + * @param {string} message + * @return {undefined} + + * Sent when the worker thread posts a message to its creator. + * @type {?function(!MessageEvent<*>)} + + * Sent when the worker thread encounters an error. + * TODO(tbreisacher): Should this change to function(!ErrorEvent)? + * @type {?function(!Event)} + + * Posts a message to the worker thread. + * @param {*} message + * @param {Array=} opt_transfer + * @return {undefined} + + * @see http://dev.w3.org/html5/workers/ + * @param {string} scriptURL The URL of the script to run in the SharedWorker. + * @param {string=} opt_name A name that can later be used to obtain a + * reference to the same SharedWorker. + * @constructor + * @implements {EventTarget} + + * @type {!MessagePort} + /**\n * ... rt}\n */ + * Called on network errors for loading the initial script. + * TODO(tbreisacher): Should this change to function(!ErrorEvent)? + * @type {?function(!Event)} + + * @see http://dev.w3.org/html5/workers/ + * @see http://www.w3.org/TR/url-1/#dom-urlutilsreadonly + * @interface + + * @see http://dev.w3.org/html5/workers/ + * @interface + * @extends {EventTarget} + @type {WorkerGlobalScope} /** @ty ... ope} */ @type {WorkerLocation} + * Closes the worker represented by this WorkerGlobalScope. + * @return {undefined} + + * Sent when the worker encounters an error. + * @type {?function(!Event)} + + * Sent when the worker goes offline. + * @type {?function(!Event)} + + * Sent when the worker goes online. + * @type {?function(!Event)} + + * @see http://dev.w3.org/html5/workers/ + * @interface + * @extends {WorkerGlobalScope} + /**\n * ... pe}\n */ + * Posts a message to creator of this worker. + * @param {*} message + * @param {Array=} opt_transfer + * @return {undefined} + + * Sent when the creator posts a message to this worker. + * @type {?function(!MessageEvent<*>)} + + * Sent when a connection to this worker is opened. + * @type {?function(!Event)} + + * This is actually a DOMSettableTokenList property. However since that + * interface isn't currently defined and no known browsers implement this + * feature, just define the property for now. + * + * @const + * @type {Object} + + * @see http://www.w3.org/TR/html5/dom.html#dom-getelementsbyclassname + * @param {string} classNames + * @return {!NodeList} + * @nosideeffects + NOTE: Document.prototype.getElementsByClassName is in gecko_dom.js// NOTE ... _dom.js + * @see https://dom.spec.whatwg.org/#dictdef-getrootnodeoptions + * @typedef {{ + * composed: boolean + * }} + /**\n * ... }}\n */ + * @see https://dom.spec.whatwg.org/#dom-node-getrootnode + * @param {GetRootNodeOptions=} opt_options + * @return {?Node} + /**\n * ... de}\n */ + * @see http://www.w3.org/TR/components-intro/ + * @return {!ShadowRoot} + /**\n * ... ot}\n */ + * @see http://www.w3.org/TR/shadow-dom/ + * @type {ShadowRoot} + + * @see http://www.w3.org/TR/shadow-dom/ + * @return {!NodeList} + + * @see http://www.w3.org/TR/components-intro/ + * @type {function()} + + * @see http://w3c.github.io/webcomponents/explainer/#lifecycle-callbacks + * @type {function()} + + * The 'ping' attribute is known to be supported in recent versions (as of + * mid-2014) of Chrome, Safari, and Firefox, and is not supported in any + * current version of Internet Explorer. + * + * @type {string} + * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#hyperlink-auditing + + * @type {string} + * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#hyperlink-auditing + + * @type {string} + * @see http://www.w3.org/TR/html-markup/iframe.html#iframe.attrs.srcdoc + /**\n * ... doc\n */ + * @type {?string} + * @see http://www.w3.org/TR/2012/WD-html5-20121025/the-iframe-element.html#attr-iframe-sandbox + /**\n * ... box\n */ @type {FileList} /** @ty ... ist} */ + * @type {boolean} + * @see https://www.w3.org/TR/html5/forms.html#dom-input-indeterminate + @implicitCast @type {string} /** @im ... ing} */ @type {Date} /** @type {Date} */ + * Changes the form control's value by the value given in the step attribute + * multiplied by opt_n. + * @param {number=} opt_n step multiplier. Defaults to 1. + * @return {undefined} + + * @constructor + * @extends {HTMLElement} + * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement + + * @type {number} + * @const + = 0// = 0 = 1// = 1 = 2// = 2 = 3// = 3 = 4// = 4 @type {MediaError} /** @ty ... ror} */ @type {TimeRanges} /** @ty ... ges} */ + * Loads the media element. + * @return {undefined} + + * @param {string} type Type of the element in question in question. + * @return {string} Whether it can play the type. + * @nosideeffects + Event handlers /** Eve ... lers */ @type {?function(Event)} /** @ty ... nt)} */ @type {?function(!Event)} + * The current time, in seconds. + * @type {number} + + * The absolute timeline offset. + * @return {!Date} + + * The length of the media in seconds. + * @type {number} + + * Starts playing the media. + * @return {undefined} + + * Pauses the media. + * @return {undefined} + + * The audio volume, from 0.0 (silent) to 1.0 (loudest). + * @type {number} + + * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#dom-media-addtexttrack + * @param {string} kind Kind of the text track. + * @param {string=} opt_label Label of the text track. + * @param {string=} opt_language Language of the text track. + * @return {TextTrack} TextTrack object added to the media element. + /**\n * ... nt.\n */ @type {TextTrackList} + * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttracklist + * @constructor + * @implements {IArrayLike} + /**\n * ... k>}\n */ + * @param {string} id + * @return {TextTrack} + /**\n * ... ck}\n */ + * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrack + * @constructor + * @implements {EventTarget} + + * @param {TextTrackCue} cue + * @return {undefined} + + * @const {TextTrackCueList} + + * @override + * @return {undefined} + + * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrackcuelist + * @constructor + * @implements {IArrayLike} + + * @param {string} id + * @return {TextTrackCue} + /**\n * ... ue}\n */ + * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrackcue + * @constructor + * @param {number} startTime + * @param {number} endTime + * @param {string} text + + * @see http://dev.w3.org/html5/webvtt/#the-vttcue-interface + * @constructor + * @extends {TextTrackCue} + + * @constructor + * @extends {HTMLMediaElement} + + * @constructor + * @extends {HTMLMediaElement} + * The webkit-prefixed attributes are defined in + * https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit/Source/core/html/HTMLVideoElement.idl + /**\n * ... idl\n */ + * Starts displaying the video in full screen mode. + * @return {undefined} + + * Stops displaying the video in full screen mode. + * @return {undefined} + + * @typedef {{ + * creationTime: number, + * totalVideoFrames: number, + * droppedVideoFrames: number, + * corruptedVideoFrames: number, + * totalFrameDelay: number + * }} + + * @see https://w3c.github.io/media-source/#htmlvideoelement-extensions + * @return {!VideoPlaybackQuality} Stats about the current playback. + /**\n * ... ck.\n */ + * The fetching process for the media resource was aborted by the user agent at + * the user's request. + * @type {number} + + * A network error of some description caused the user agent to stop fetching + * the media resource, after the resource was established to be usable. + * @type {number} + + * An error of some description occurred while decoding the media resource, + * after the resource was established to be usable. + * @type {number} + + * The media resource indicated by the src attribute was not suitable. + * @type {number} + HTML5 MessageChannel// HTML ... Channel + * @see http://dev.w3.org/html5/spec/comms.html#messagechannel + * @constructor + + * Returns the first port. + * @type {!MessagePort} + + * Returns the second port. + * @type {!MessagePort} + HTML5 MessagePort// HTML5 MessagePort + * @see http://dev.w3.org/html5/spec/comms.html#messageport + * @constructor + * @implements {EventTarget} + * @implements {Transferable} + + * Posts a message through the channel, optionally with the given + * Array of Transferables. + * @param {*} message + * @param {Array=} opt_transfer + * @return {undefined} + + * Begins dispatching messages received on the port. + * @return {undefined} + + * Disconnects the port, so that it is no longer active. + * @return {undefined} + + * TODO(blickly): Change this to MessageEvent<*> and add casts as needed + * @type {?function(!MessageEvent)} + HTML5 MessageEvent class// HTML ... t class + * @see http://dev.w3.org/html5/spec/comms.html#messageevent + * @constructor + * @extends {Event} + * @template T + * @param {string} type + * @param {Object=} init + + * The data payload of the message. + * @type {T} + + * The origin of the message, for server-sent events and cross-document + * messaging. + * @type {string} + + * The last event ID, for server-sent events. + * @type {string} + + * The window that dispatched the event. + * @type {Window} + /**\n * ... ow}\n */ + * The Array of MessagePorts sent with the message, for cross-document + * messaging and channel messaging. + * @type {Array} + + * Initializes the event in a manner analogous to the similarly-named methods in + * the DOM Events interfaces. + * @param {string} typeArg + * @param {boolean} canBubbleArg + * @param {boolean} cancelableArg + * @param {T} dataArg + * @param {string} originArg + * @param {string} lastEventIdArg + * @param {Window} sourceArg + * @param {Array} portsArg + * @return {undefined} + + * Initializes the event in a manner analogous to the similarly-named methods in + * the DOM Events interfaces. + * @param {string} namespaceURI + * @param {string} typeArg + * @param {boolean} canBubbleArg + * @param {boolean} cancelableArg + * @param {T} dataArg + * @param {string} originArg + * @param {string} lastEventIdArg + * @param {Window} sourceArg + * @param {Array} portsArg + * @return {undefined} + + * HTML5 BroadcastChannel class. + * @param {string} channelName + * @see https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel + * @see https://html.spec.whatwg.org/multipage/comms.html#dom-broadcastchannel + * @implements {EventTarget} + * @constructor + + * Sends the message, of any type of object, to each BroadcastChannel object + * listening to the same channel. + * @param {*} message + + * Closes the channel object, indicating it won't get any new messages, and + * allowing it to be, eventually, garbage collected. + * @return {void} + + * An EventHandler property that specifies the function to execute when a + * message event is fired on this object. + * @type {?function(!MessageEvent<*>)} + + * The name of the channel. + * @type {string} + + * HTML5 DataTransfer class. + * + * We say that this extends ClipboardData, because Event.prototype.clipboardData + * is a DataTransfer on WebKit but a ClipboardData on IE. The interfaces are so + * similar that it's easier to merge them. + * + * @see http://www.w3.org/TR/2011/WD-html5-20110113/dnd.html + * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html + * @see http://developers.whatwg.org/dnd.html#datatransferitem + * @constructor + * @extends {ClipboardData} + /**\n * ... ta}\n */ @type {Array} + * @param {string=} opt_format Format for which to remove data. + * @override + * @return {undefined} + + * @param {string} format Format for which to set data. + * @param {string} data Data to add. + * @override + * @return {boolean} + + * @param {string} format Format for which to set data. + * @return {string} Data for the given format. + * @override + + * @param {HTMLElement} img The image to use when dragging. + * @param {number} x Horizontal position of the cursor. + * @param {number} y Vertical position of the cursor. + * @return {undefined} + + * @param {HTMLElement} elem Element to receive drag result events. + * @return {undefined} + + * Addition for accessing clipboard file data that are part of the proposed + * HTML5 spec. + * @type {DataTransfer} + + * @record + * @extends {MouseEventInit} + * @see https://w3c.github.io/uievents/#idl-wheeleventinit + @type {undefined|number} + * @param {string} type + * @param {WheelEventInit=} opt_eventInitDict + * @see http://www.w3.org/TR/DOM-Level-3-Events/#interface-WheelEvent + * @constructor + * @extends {MouseEvent} + + * HTML5 DataTransferItem class. + * + * @see http://www.w3.org/TR/2011/WD-html5-20110113/dnd.html + * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html + * @see http://developers.whatwg.org/dnd.html#datatransferitem + * @constructor + + * @param {function(string)} callback + * @return {undefined} + + * @return {?File} The file corresponding to this item, or null. + * @nosideeffects + + * @return {?Entry} The Entry corresponding to this item, or null. Note that + * despite its name,this method only works in Chrome, and will eventually + * be renamed to {@code getAsEntry}. + * @nosideeffects + + * HTML5 DataTransferItemList class. There are some discrepancies in the docs + * on the whatwg.org site. When in doubt, these prototypes match what is + * implemented as of Chrome 30. + * + * @see http://www.w3.org/TR/2011/WD-html5-20110113/dnd.html + * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html + * @see http://developers.whatwg.org/dnd.html#datatransferitem + * @constructor + * @implements {IArrayLike} + /**\n * ... m>}\n */ + * @param {number} i File to return from the list. + * @return {DataTransferItem} The ith DataTransferItem in the list, or null. + * @nosideeffects + + * Adds an item to the list. + * @param {string|!File} data Data for the item being added. + * @param {string=} opt_type Mime type of the item being added. MUST be present + * if the {@code data} parameter is a string. + * @return {DataTransferItem} + + * Removes an item from the list. + * @param {number} i File to remove from the list. + * @return {undefined} + + * Removes all items from the list. + * @return {undefined} + @type {!DataTransferItemList} + * @record + * @extends {MouseEventInit} + * @see http://w3c.github.io/html/editing.html#dictdef-drageventinit + @type {undefined|?DataTransfer} + * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#the-dragevent-interface + * @constructor + * @extends {MouseEvent} + * @param {string} type + * @param {DragEventInit=} opt_eventInitDict + /**\n * ... ict\n */ @type {DataTransfer} + * @record + * @extends {EventInit} + * @see https://www.w3.org/TR/progress-events/#progresseventinit + @type {undefined|boolean} + * @constructor + * @param {string} type + * @param {ProgressEventInit=} opt_progressEventInitDict + * @extends {Event} + * @see https://developer.mozilla.org/en-US/docs/Web/API/ProgressEvent + + * @param {number} index The index. + * @return {number} The start time of the range at index. + * @throws {DOMException} + + * @param {number} index The index. + * @return {number} The end time of the range at index. + * @throws {DOMException} + HTML5 Web Socket class + * @see http://dev.w3.org/html5/websockets/ + * @constructor + * @param {string} url + * @param {string=} opt_protocol + * @implements {EventTarget} + + * The connection has not yet been established. + * @type {number} + + * The WebSocket connection is established and communication is possible. + * @type {number} + + * The connection is going through the closing handshake, or the close() method has been invoked. + * @type {number} + + * The connection has been closed or could not be opened. + * @type {number} + + * Returns the URL value that was passed to the constructor. + * @type {string} + + * Represents the state of the connection. + * @type {number} + + * Returns the number of bytes that have been queued but not yet sent. + * @type {number} + + * An event handler called on open event. + * @type {?function(!Event)} + + * An event handler called on message event. + * TODO(blickly): Change this to MessageEvent<*> and add casts as needed + * @type {?function(!MessageEvent)} + + * An event handler called on close event. + * @type {?function(!Event)} + + * Transmits data using the connection. + * @param {string|ArrayBuffer|ArrayBufferView} data + * @return {boolean} + + * Closes the Web Socket connection or connection attempt, if any. + * @param {number=} opt_code + * @param {string=} opt_reason + * @return {undefined} + + * @type {string} Sets the type of data (blob or arraybuffer) for binary data. + /**\n * ... ta.\n */ HTML5 History// HTML5 History + * Pushes a new state into the session history. + * @see http://www.w3.org/TR/html5/history.html#the-history-interface + * @param {*} data New state. + * @param {string} title The title for a new session history entry. + * @param {string=} opt_url The URL for a new session history entry. + * @return {undefined} + + * Replaces the current state in the session history. + * @see http://www.w3.org/TR/html5/history.html#the-history-interface + * @param {*} data New state. + * @param {string} title The title for a session history entry. + * @param {string=} opt_url The URL for a new session history entry. + * @return {undefined} + + * Pending state object. + * @see https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history#Reading_the_current_state + * @type {*} + + * Allows web applications to explicitly set default scroll restoration behavior + * on history navigation. This property can be either auto or manual. + * + * Non-standard. Only supported in Chrome 46+. + * + * @see https://developer.mozilla.org/en-US/docs/Web/API/History + * @see https://majido.github.io/scroll-restoration-proposal/history-based-api.html + * @type {string} + + * @see http://www.whatwg.org/specs/web-apps/current-work/#popstateevent + * @constructor + * @extends {Event} + * + * @param {string} type + * @param {{state: *}=} opt_eventInitDict + + * Initializes the event after it has been created with document.createEvent + * @param {string} typeArg + * @param {boolean} canBubbleArg + * @param {boolean} cancelableArg + * @param {*} stateArg + * @return {undefined} + + * @see http://www.whatwg.org/specs/web-apps/current-work/#hashchangeevent + * @constructor + * @extends {Event} + * + * @param {string} type + * @param {{oldURL: string, newURL: string}=} opt_eventInitDict + + * Initializes the event after it has been created with document.createEvent + * @param {string} typeArg + * @param {boolean} canBubbleArg + * @param {boolean} cancelableArg + * @param {string} oldURLArg + * @param {string} newURLArg + * @return {undefined} + + * @see http://www.whatwg.org/specs/web-apps/current-work/#pagetransitionevent + * @constructor + * @extends {Event} + * + * @param {string} type + * @param {{persisted: boolean}=} opt_eventInitDict + + * Initializes the event after it has been created with document.createEvent + * @param {string} typeArg + * @param {boolean} canBubbleArg + * @param {boolean} cancelableArg + * @param {*} persistedArg + * @return {undefined} + + * @constructor + * @implements {IArrayLike} + + * @param {number} i File to return from the list. + * @return {File} The ith file in the list. + * @nosideeffects + + * @type {boolean} + * @see http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#withcredentials + /**\n * ... als\n */ + * @type {?function(!ProgressEvent): void} + * @see https://xhr.spec.whatwg.org/#handler-xhr-onloadstart + + * @type {?function(!ProgressEvent): void} + * @see https://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#handler-xhr-onprogress + + * @type {?function(!ProgressEvent): void} + * @see https://xhr.spec.whatwg.org/#handler-xhr-onabort + + * @type {?function(!ProgressEvent): void} + * @see https://xhr.spec.whatwg.org/#handler-xhr-onload + /**\n * ... oad\n */ + * @type {?function(!ProgressEvent): void} + * @see https://xhr.spec.whatwg.org/#handler-xhr-ontimeout + /**\n * ... out\n */ + * @type {?function(!ProgressEvent): void} + * @see https://xhr.spec.whatwg.org/#handler-xhr-onloadend + /**\n * ... end\n */ + * @type {XMLHttpRequestUpload} + * @see http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#the-upload-attribute + /**\n * ... ute\n */ + * @param {string} mimeType The mime type to override with. + * @return {undefined} + + * @type {string} + * @see http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#the-responsetype-attribute + + * @type {?(ArrayBuffer|Blob|Document|Object|string)} + * @see http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#the-response-attribute + + * @type {ArrayBuffer} + * Implemented as a draft spec in Firefox 4 as the way to get a requested array + * buffer from an XMLHttpRequest. + * @see https://developer.mozilla.org/En/Using_XMLHttpRequest#Receiving_binary_data_using_JavaScript_typed_arrays + * + * This property is not used anymore and should be removed. + * @see https://github.com/google/closure-compiler/pull/1389 + /**\n * ... 389\n */ + * XMLHttpRequestEventTarget defines events for checking the status of a data + * transfer between a client and a server. This should be a common base class + * for XMLHttpRequest and XMLHttpRequestUpload. + * + * @constructor + * @implements {EventTarget} + + * An event target to track the status of an upload. + * + * @constructor + * @extends {XMLHttpRequestEventTarget} + + * @param {number=} opt_width + * @param {number=} opt_height + * @constructor + * @extends {HTMLImageElement} + + * Dataset collection. + * This is really a DOMStringMap but it behaves close enough to an object to + * pass as an object. + * @type {Object} + * @const + + * @constructor + * @implements {IArrayLike} + * @see https://dom.spec.whatwg.org/#interface-domtokenlist + + * Returns the number of CSS classes applied to this Element. + * @type {number} + + * @param {number} index The index of the item to return. + * @return {string} The CSS class at the specified index. + * @nosideeffects + + * @param {string} token The CSS class to check for. + * @return {boolean} Whether the CSS class has been applied to the Element. + * @nosideeffects + + * @param {...string} var_args The CSS class(es) to add to this element. + * @return {undefined} + + * @param {...string} var_args The CSS class(es) to remove from this element. + * @return {undefined} + + * @param {string} token The CSS class to toggle from this element. + * @param {boolean=} opt_force True to add the class whether it exists + * or not. False to remove the class whether it exists or not. + * This argument is not supported on IE 10 and below, according to + * the MDN page linked below. + * @return {boolean} False if the token was removed; True otherwise. + * @see https://developer.mozilla.org/en-US/docs/Web/API/Element.classList + + * @return {string} A stringified representation of CSS classes. + * @nosideeffects + * @override + + * A better interface to CSS classes than className. + * @type {!DOMTokenList} + * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/classList + * @const + + * Constraint Validation API properties and methods + * @see http://www.w3.org/TR/2009/WD-html5-20090423/forms.html#the-constraint-validation-api + /**\n * ... api\n */ + * @const + * @type {NodeList} + + * @const + * @type {ValidityState} + + * @param {string} message + * @return {undefined} + + * @type {string} + * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formaction + + * @type {string} + * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formenctype + + * @type {string} + * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formmethod + + * @type {string} + * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formtarget + @type {HTMLCollection} + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/html5/the-embed-element.html#htmlembedelement + + * @type {string} + * @see http://www.w3.org/TR/html5/dimension-attributes.html#dom-dim-width + + * @type {string} + * @see http://www.w3.org/TR/html5/dimension-attributes.html#dom-dim-height + + * @type {string} + * @see http://www.w3.org/TR/html5/the-embed-element.html#dom-embed-src + /**\n * ... src\n */ + * @type {string} + * @see http://www.w3.org/TR/html5/the-embed-element.html#dom-embed-type + Fullscreen APIs.// Fullscreen APIs. + * @see http://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-element-requestfullscreen + * @return {undefined} + + * @type {boolean} + * @see http://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-document-fullscreenenabled + + * @type {Element} + * @see http://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-document-fullscreenelement + + * @see http://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-document-exitfullscreen + * @return {undefined} + Externs definitions of browser current implementations.// Exte ... ations. Firefox 10 implementation.// Fire ... tation. Chrome 21 implementation.// Chro ... tation. + * The current fullscreen element for the document is set to this element. + * Valid only for Webkit browsers. + * @param {number=} opt_allowKeyboardInput Whether keyboard input is desired. + * Should use ALLOW_KEYBOARD_INPUT constant. + * @return {undefined} + IE 11 implementation.// IE 1 ... tation. http://msdn.microsoft.com/en-us/library/ie/dn265028(v=vs.85).aspx// http ... 5).aspx + * @typedef {{ + * childList: (boolean|undefined), + * attributes: (boolean|undefined), + * characterData: (boolean|undefined), + * subtree: (boolean|undefined), + * attributeOldValue: (boolean|undefined), + * characterDataOldValue: (boolean|undefined), + * attributeFilter: (!Array|undefined) + * }} + @type {Node} /** @type {Node} */ @type {NodeList} /** @ty ... de>} */ + * @see http://www.w3.org/TR/domcore/#mutation-observers + * @param {function(Array, MutationObserver)} callback + * @constructor + + * @param {Node} target + * @param {MutationObserverInit=} options + * @return {undefined} + + * @return {!Array} + /**\n * ... d>}\n */ + * @type {function(new:MutationObserver, function(Array))} + + * @see http://www.w3.org/TR/page-visibility/ + * @type {VisibilityState} + + * @see http://www.w3.org/TR/page-visibility/ + * @type {boolean} + + * @see http://www.w3.org/TR/components-intro/ + * @see http://w3c.github.io/webcomponents/spec/custom/#extensions-to-document-interface-to-register + * @param {string} type + * @param {{extends: (string|undefined), prototype: (Object|undefined)}=} options + * @return {!Function} a constructor for the new tag. A generic function is the best we + * can do here as it allows the return value to be annotated properly + * at the call site. + /**\n * ... te.\n */ + * This method is deprecated and should be removed by the end of 2014. + * @see http://www.w3.org/TR/components-intro/ + * @see http://w3c.github.io/webcomponents/spec/custom/#extensions-to-document-interface-to-register + * @param {string} type + * @param {{extends: (string|undefined), prototype: (Object|undefined)}} options + + * @type {!FontFaceSet} + * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfacesource-fonts + + * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/currentScript + + * Definition of ShadowRoot interface, + * @see http://www.w3.org/TR/shadow-dom/#api-shadow-root + * @constructor + * @extends {DocumentFragment} + + * The host element that a ShadowRoot is attached to. + * Note: this is not yet W3C standard but is undergoing development. + * W3C feature tracking bug: + * https://www.w3.org/Bugs/Public/show_bug.cgi?id=22399 + * Draft specification: + * https://dvcs.w3.org/hg/webcomponents/raw-file/6743f1ace623/spec/shadow/index.html#shadow-root-object + * @type {!Element} + + * @param {string} id id. + * @return {HTMLElement} + * @nosideeffects + + * @param {string} className + * @return {!NodeList} + * @nosideeffects + + * @param {string} tagName + * @return {!NodeList} + * @nosideeffects + + * @param {string} namespace + * @param {string} localName + * @return {!NodeList} + * @nosideeffects + + * @return {Selection} + * @nosideeffects + + * @param {number} x + * @param {number} y + * @return {Element} + * @nosideeffects + + * @type {Element} + + * @type {?ShadowRoot} + + * @type {!StyleSheetList} + + * @see http://www.w3.org/TR/shadow-dom/#the-content-element + * @constructor + * @extends {HTMLElement} + + * @type {!string} + + * @return {!NodeList} + + * @see http://www.w3.org/TR/shadow-dom/#the-shadow-element + * @constructor + * @extends {HTMLElement} + + * @see http://www.w3.org/TR/html5/webappapis.html#the-errorevent-interface + * + * @constructor + * @extends {Event} + * + * @param {string} type + * @param {ErrorEventInit=} opt_eventInitDict + @const {string} /** @co ... ing} */ @const {*} /** @const {*} */ + * @record + * @extends {EventInit} + * @see https://www.w3.org/TR/html5/webappapis.html#erroreventinit + @type {undefined|string} + * @see http://dom.spec.whatwg.org/#dom-domimplementation-createhtmldocument + * @param {string=} opt_title A title to give the new HTML document + * @return {!HTMLDocument} + + * @constructor + * @see https://html.spec.whatwg.org/multipage/embedded-content.html#the-picture-element + * @extends {HTMLElement} + + * 4.11 Interactive elements + * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html + + * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#the-details-element + * @constructor + * @extends {HTMLElement} + + * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-details-open + * @type {boolean} + As of 2/20/2015, has no special web IDL interface nor global// As o ... global constructor (i.e. HTMLSummaryElement).// cons ... ement). + * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menu-type + * @type {string} + + * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menu-label + * @type {string} + + * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#the-menuitem-element + * @constructor + * @extends {HTMLElement} + + * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-type + * @type {string} + + * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-label + * @type {string} + + * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-icon + * @type {string} + + * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-disabled + * @type {boolean} + + * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-checked + * @type {boolean} + + * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-radiogroup + * @type {string} + + * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-default + * @type {boolean} + TODO(dbeam): add HTMLMenuItemElement.prototype.command if it's implemented.// TODO ... mented. + * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#relatedevent + * @param {string} type + * @param {{relatedTarget: (EventTarget|undefined)}=} opt_eventInitDict + * @constructor + * @extends {Event} + + * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-relatedevent-relatedtarget + * @type {EventTarget|undefined} + + * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#the-dialog-element + * @constructor + * @extends {HTMLElement} + + * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-dialog-open + * @type {boolean} + + * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-dialog-returnvalue + * @type {string} + + * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-dialog-show + * @param {(MouseEvent|Element)=} opt_anchor + * @return {undefined} + + * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-dialog-showmodal + * @param {(MouseEvent|Element)=} opt_anchor + * @return {undefined} + + * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-dialog-close + * @param {string=} opt_returnValue + * @return {undefined} + + * @see https://html.spec.whatwg.org/multipage/scripting.html#the-template-element + * @constructor + * @extends {HTMLElement} + + * @see https://html.spec.whatwg.org/multipage/scripting.html#the-template-element + * @type {!DocumentFragment} + + * @type {?Document} + * @see w3c_dom2.js + * @see http://www.w3.org/TR/html-imports/#interface-import + + * @return {boolean} + * @see https://www.w3.org/TR/html5/forms.html#dom-fieldset-elements + + * @type {HTMLCollection} + * @see https://www.w3.org/TR/html5/forms.html#dom-fieldset-elements + + * @type {string} + * @see https://www.w3.org/TR/html5/forms.html#the-fieldset-element + + * @param {string} message + * @see https://www.w3.org/TR/html5/forms.html#dom-fieldset-elements + * @return {undefined} + + * @type {string} + * @see https://www.w3.org/TR/html5/forms.html#dom-fieldset-type + + * @type {ValidityState} + * @see https://www.w3.org/TR/html5/forms.html#the-fieldset-element + + * @type {boolean} + * @see https://www.w3.org/TR/html5/forms.html#the-fieldset-element + + * @constructor + * @extends {NodeList} + * @template T + * @see https://html.spec.whatwg.org/multipage/infrastructure.html#radionodelist + + * @see https://html.spec.whatwg.org/multipage/forms.html#the-datalist-element + * @constructor + * @extends {HTMLElement} + + * @see https://html.spec.whatwg.org/multipage/forms.html#the-output-element + * @constructor + * @extends {HTMLElement} + + * @const {!DOMTokenList} + + * @type {HTMLFormElement} + + * @const {string} + + * @const {NodeList} + + * @const {ValidityState} + @param {string} message /** @pa ... sage */ + * @see https://html.spec.whatwg.org/multipage/forms.html#the-progress-element + * @constructor + * @extends {HTMLElement} + + * @see https://html.spec.whatwg.org/multipage/embedded-content.html#the-track-element + * @constructor + * @extends {HTMLElement} + @const {TextTrack} /** @co ... ack} */ + * @see https://html.spec.whatwg.org/multipage/forms.html#the-meter-element + * @constructor + * @extends {HTMLElement} + + * @constructor + * @see https://www.w3.org/TR/html5/webappapis.html#navigator + + * @type {string} + * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-appcodename + + * @type {string} + * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-appname + + * @type {string} + * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-appversion + + * @type {string} + * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-platform + /**\n * ... orm\n */ + * @type {string} + * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-product + + * @type {string} + * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-useragent + + * @return {boolean} + * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-taintenabled + + * @type {string} + * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-language + + * @type {boolean} + * @see https://www.w3.org/TR/html5/browsers.html#navigatoronline + + * @type {boolean} + * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-cookieenabled + + * @param {string} scheme + * @param {string} url + * @param {string} title + * @return {undefined} + + * @param {string} mimeType + * @param {string} url + * @param {string} title + * @return {undefined} + + * @param {string} scheme + * @param {string} url + * @return {undefined} + + * @param {string} mimeType + * @param {string} url + * @return {undefined} + + * @type {MimeTypeArray} + * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-mimetypes + /**\n * ... pes\n */ + * @type {PluginArray} + * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-plugins + /**\n * ... ins\n */ + * @return {boolean} + * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-javaenabled + * @nosideeffects + + * @constructor + * @implements {IObject<(string|number),!Plugin>} + * @implements {IArrayLike} + * @see https://www.w3.org/TR/html5/webappapis.html#pluginarray + + * @param {number} index + * @return {Plugin} + + * @param {string} name + * @return {Plugin} + + * @param {boolean=} reloadDocuments + * @return {undefined} + + * @constructor + * @implements {IObject<(string|number),!MimeType>} + * @implements {IArrayLike} + * @see https://www.w3.org/TR/html5/webappapis.html#mimetypearray + + * @param {number} index + * @return {MimeType} + + * @type {number} + * @see https://developer.mozilla.org/en/DOM/window.navigator.mimeTypes + + * @param {string} name + * @return {MimeType} + + * @constructor + * @see https://www.w3.org/TR/html5/webappapis.html#mimetype + @type {Plugin} /** @ty ... gin} */ + * @constructor + * @see https://www.w3.org/TR/html5/webappapis.html#dom-plugin + HTMLCanvasElementtoBlobopt_typetoDataURLgetContextcontextIdopt_argscaptureStreamopt_framerateCanvasPathMethodsclosePathlineToquadraticCurveTocpxcpybezierCurveTocp1xcp1ycp2xcp2yarcToradiusarcstartAngleendAngleopt_anticlockwiseCanvasRenderingContext2Drestorerotateangletranslatem11m12m21m22setTransformcreateLinearGradientcreateRadialGradientcreatePatternrepetitionclearRectfillRectstrokeRectbeginPathellipseradiusXradiusYrotationopt_fillRuleclipisPointInStrokeisPointInPathfillTextopt_maxWidthstrokeTextmeasureTextdrawImageopt_dwopt_dhopt_sxopt_syopt_swopt_shcreateImageDataswgetImageDatasxputImageDataimagedataopt_dirtyXopt_dirtyYopt_dirtyWidthopt_dirtyHeightsetFillColorsetStrokeColorgetLineDashsetLineDashfillColorfillStyleglobalAlphaglobalCompositeOperationlineWidthlineCaplineJoinmiterLimitshadowBlurshadowColorshadowOffsetXshadowOffsetYstrokeStylestrokeColortextBaselinelineDashOffsetCanvasGradientaddColorStopCanvasPatternTextMetricsImageDatadataOrWidthwidthOrHeightopt_heightClientInformationonLineregisterProtocolHandlerregisterContentHandlerDatabasetransactionopt_CallbackreadTransactionchangeVersionoldVersionnewVersionDatabaseCallbackhandleEventdbSQLErrorSQLTransactionexecuteSqlsqlStatementopt_queryArgsSQLStatementCallbackSQLResultSetinsertIdrowsAffectedSQLResultSetRowListopenDatabaseopt_targetOriginOrTransferopt_targetOriginOrPortsOrTransferDOMApplicationCacheUNCACHEDIDLECHECKINGDOWNLOADINGUPDATEREADYOBSOLETEoncachedoncheckingondownloadingonnoupdateonupdatereadyswapCacheapplicationCacheimportScriptsWebWorkeropt_arg0opt_transferwebkitPostMessageSharedWorkerscriptURLWorkerLocationDedicatedWorkerGlobalScopeSharedWorkerGlobalScopeonconnectcontextMenudropzoneclassNamesGetRootNodeOptionscreateShadowRootwebkitCreateShadowRootshadowRootgetDestinationInsertionPointscreatedCallbackattachedCallbackdetachedCallbacksrcdocindeterminatevalueAsDatevalueAsNumberstepDownopt_nstepUpHTMLMediaElementHAVE_NOTHINGHAVE_METADATAHAVE_CURRENT_DATAHAVE_FUTURE_DATAHAVE_ENOUGH_DATAcurrentSrcnetworkStateautobufferbufferedcanPlayTypeoncanplayoncanplaythroughondurationchangeonemptiedonendedonloadeddataonloadedmetadataonpauseonplayonplayingonratechangeonseekedonseekingonstalledonsuspendontimeupdateonvolumechangeonwaitingseekingcurrentTimegetStartDatepauseddefaultPlaybackRateplaybackRateplayedseekableendedautoplayvolumeaddTextTrackopt_labelopt_languagetextTracksTextTextTrackListgetTrackByIdTextTrackaddCuecueremoveCueactiveCuescuesuseCaptureTextTrackCueListgetCueByIdTextTrackCueVTTCueHTMLAudioElementHTMLVideoElementwebkitEnterFullscreenwebkitEnterFullScreenwebkitExitFullscreenwebkitExitFullScreenvideoWidthvideoHeightposterwebkitSupportsFullscreenwebkitDisplayingFullscreenwebkitDecodedFrameCountwebkitDroppedFrameCountVideoPlaybackQualitygetVideoPlaybackQualityMediaErrorMEDIA_ERR_ABORTEDMEDIA_ERR_NETWORKMEDIA_ERR_DECODEMEDIA_ERR_SRC_NOT_SUPPORTEDMessagePortMessageEventlastEventIdportstypeArgcanBubbleArgcancelableArgdataArgoriginArglastEventIdArgsourceArgportsArginitMessageEventNSBroadcastChannelchannelNameDataTransferdropEffecteffectAllowedclearDataopt_formatsetDatasetDragImageaddElementMouseEventWheelEventInitWheelEventopt_eventInitDictDOM_DELTA_PIXELDOM_DELTA_LINEDOM_DELTA_PAGEDataTransferItemgetAsStringgetAsFilewebkitGetAsEntryDataTransferItemListitemsDragEventInitDragEventProgressEventInitlengthComputableopt_progressEventInitDictTimeRangesWebSocketopt_protocolCONNECTINGOPENCLOSINGCLOSEDbufferedAmountonopenoncloseopt_codeopt_reasonbinaryTypeopt_urlreplaceStatescrollRestorationinitPopStateEventstateArgHashChangeEventoldURLnewURLinitHashChangeEventoldURLArgnewURLArgPageTransitionEventinitPageTransitionEventpersistedArgFileListwithCredentialsontimeoutuploadoverrideMimeTypemozResponseArrayBufferXMLHttpRequestEventTargetXMLHttpRequestUploadopt_widthDOMTokenListopt_forcecheckValidityreportValidityValidityStatebadInputcustomErrorpatternMismatchrangeOverflowrangeUnderflowstepMismatchtypeMismatchtooLongtooShortvalueMissingHTMLButtonElementvalidationMessagevaliditywillValidatesetCustomValidityformEnctypeHTMLLabelElementcontrolHTMLSelectElementselectedOptionsrequestFullscreenfullscreenEnabledfullscreenElementexitFullscreenmozRequestFullScreenmozRequestFullScreenWithKeysmozFullScreenmozCancelFullScreenmozFullScreenElementmozFullScreenEnabledwebkitRequestFullScreenopt_allowKeyboardInputwebkitRequestFullscreenwebkitIsFullScreenwebkitCancelFullScreenwebkitFullscreenEnabledwebkitCurrentFullScreenElementwebkitFullscreenElementwebkitFullScreenKeyboardInputAllowedmsRequestFullscreenmsExitFullscreenmsFullscreenEnabledmsFullscreenElementALLOW_KEYBOARD_INPUTMutationObserverInitMutationRecordremovedNodesattributeNamespaceoldValuetakeRecordsWebKitMutationObserverMozMutationObservervisibilityStatemozVisibilityStatewebkitVisibilityStatemsVisibilityStatemozHiddenwebkitHiddenmsHiddenregisterElementregisterfontscurrentScriptShadowRootgetElementsByTagNameNSlocalNameapplyAuthorStylesresetStyleInheritanceolderShadowRootHTMLContentElementgetDistributedNodesHTMLShadowElementlinenocolnoErrorEventInitDOMImplementationcreateHTMLDocumentHTMLPictureElementHTMLSourceElementsizesHTMLDetailsElementHTMLMenuElementHTMLMenuItemElementradiogroupRelatedEventHTMLDialogElementopt_anchoropt_returnValueHTMLTemplateElementHTMLLinkElementHTMLFieldSetElementRadioNodeListHTMLDataListElementHTMLOutputElementHTMLProgressElementHTMLTrackElementsrclangHTMLMeterElementlowoptimumappCodeNameappNameappVersionproductuserAgenttaintEnabledlanguagecookieEnabledschemeunregisterProtocolHandlerunregisterContentHandlermimeTypesjavaEnabledPluginArraynamedItemrefreshreloadDocumentsMimeTypeArrayMimeTypeenabledPluginsuffixesPluginDefinitions for all the extensions over the +W3C's DOM3 specification in HTML5. This file depends on +w3c_dom3.js. The whole file has been fully type annotated. +*http://www.whatwg.org/specs/web-apps/current-work/multipage/index.html +http://dev.w3.org/html5/spec/Overview.html +* This also includes Typed Array definitions from +http://www.khronos.org/registry/typedarray/specs/latest/ +* This relies on w3c_event.js being included first. +*Note: In IE, the contains() method only exists on Elements, not Nodes. +Therefore, it is recommended that you use the Conformance framework to +prevent calling this on Nodes which are not Elements.https://connect.microsoft.com/IE/feedback/details/780874/node-contains-is-incorrect +*The node to check +If 'n' is this Node, or is contained within this Node. +https://developer.mozilla.org/en-US/docs/Web/API/Node.contains +http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#the-canvas-element +https://www.w3.org/TR/html5/scripting-1.html#dom-canvas-toblob +function (!Blob)https://www.w3.org/TR/mediacapture-fromelement/ +!MediaStreamMediaStreamhttps://www.w3.org/TR/2dcontext/#canvaspathmethodshttp://www.w3.org/TR/2dcontext/#canvasrenderingcontext2d!HTMLCanvasElement(HTMLImageElement|HTMLCanvasElement)http://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/ellipsehttp://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/isPointInStroke(HTMLImageElement|HTMLCanvasElement|Image|HTMLVideoElement)Destination x coordinate. +Destination y coordinate. +Destination box width. Defaults to the image width. +Destination box height. +Defaults to the image height. +Source box x coordinate. Used to select a portion of +the source image to draw. Defaults to 0. +Source box y coordinate. Used to select a portion of +the source image to draw. Defaults to 0. +Source box width. Used to select a portion of +the source image to draw. Defaults to the full image width. +Source box height. Used to select a portion of +the source image to draw. Defaults to the full image height. +Note: WebKit onlyopt_aopt_bopt_copt_dopt_ehttp://developer.apple.com/library/safari/#documentation/appleapplications/reference/WebKitDOMRef/CanvasRenderingContext2D_idl/Classes/CanvasRenderingContext2D/index.html +segments(string|!CanvasGradient|!CanvasPattern)!CanvasGradient!CanvasPatternhttps://html.spec.whatwg.org/multipage/scripting.html#fill-and-stroke-styles:dom-context-2d-fillstyle +https://html.spec.whatwg.org/multipage/scripting.html#fill-and-stroke-styles:dom-context-2d-strokestyle +In the first form, this is the +array of pixel data. In the second form, this is the image width. +(Uint8ClampedArray|number)In the first form, this is the image width. In +the second form, this is the image height. +In the first form, this is the optional image +height. The second form omits this argument. +https://html.spec.whatwg.org/multipage/scripting.html#imagedata +function (!SQLTransaction): void!SQLTransaction(function (!SQLError): void)=(function (!SQLError): void)function (!SQLError): void!SQLError!DatabaseSQLStatementCallback=(function (!SQLTransaction, !SQLError): (boolean|void))=(function (!SQLTransaction, !SQLError): (boolean|void))function (!SQLTransaction, !SQLError): (boolean|void)(boolean|void)(function (!SQLTransaction, !SQLResultSet): void)function (!SQLTransaction, !SQLResultSet): void!SQLResultSetIArrayLike.http://www.w3.org/TR/webdatabase/#sqlresultsetrowlist(DatabaseCallback|function (Database))=(DatabaseCallback|function (Database))function (Database)https://www.w3.org/TR/html5/embedded-content-0.html#dom-img-completehttps://www.w3.org/TR/html5/embedded-content-0.html#dom-img-naturalwidthhttps://www.w3.org/TR/html5/embedded-content-0.html#dom-img-naturalheighthttp://www.whatwg.org/specs/web-apps/current-work/multipage/embedded-content-1.html#attr-img-crossoriginThis is a superposition of the Window and Worker postMessage methods.(string|!Array.)=(string|!Array.)!Array.Array.!Transferable(string|!Array.|!Array.)=(string|!Array.|!Array.)!Array.Array.!MessagePortThe postMessage method (as implemented in Opera).Document head accessor.http://www.whatwg.org/specs/web-apps/current-work/multipage/dom.html#the-head-element-0 +HTMLHeadElementhttps://developer.apple.com/webapps/docs/documentation/AppleApplications/Reference/SafariJSRef/DOMApplicationCache/DOMApplicationCache.html +The object isn't associated with an application cache. This can occur if the +update process fails and there is no previous cache to revert to, or if there +is no manifest file.The cache is idle.The update has started but the resources are not downloaded yet - for +example, this can happen when the manifest file is fetched.The resources are being downloaded into the cache.Resources have finished downloading and the new cache is ready to be used.The cache is obsolete.The current status of the application cache.Sent when the update process finishes for the first time; that is, the first +time an application cache is saved.?function (!Event)function (!Event)!EventSent when the cache update process begins.Sent when the update process begins downloading resources in the manifest +file.Sent when an error occurs.Sent when the update process finishes but the manifest file does not change.Sent when each resource in the manifest file begins to download.Sent when there is an existing application cache, the update process +finishes, and there is a new application cache ready for use.Replaces the active cache with the latest version.Manually triggers the update process.https://developer.mozilla.org/En/DOM/Worker/Functions_available_to_workers +http://dev.w3.org/html5/workers/ +Stops the worker processPosts a message to the worker thread.Sent when the worker thread posts a message to its creator.?function (!MessageEvent.<*>)function (!MessageEvent.<*>)!MessageEvent.<*>MessageEvent.<*>Sent when the worker thread encounters an error. +TODO(tbreisacher): Should this change to function(!ErrorEvent)?Array.=The URL of the script to run in the SharedWorker. +A name that can later be used to obtain a +reference to the same SharedWorker. +Called on network errors for loading the initial script. +TODO(tbreisacher): Should this change to function(!ErrorEvent)?http://www.w3.org/TR/url-1/#dom-urlutilsreadonly +Closes the worker represented by this WorkerGlobalScope.Sent when the worker encounters an error.Sent when the worker goes offline.Sent when the worker goes online.Posts a message to creator of this worker.Sent when the creator posts a message to this worker.Sent when a connection to this worker is opened.This is actually a DOMSettableTokenList property. However since that +interface isn't currently defined and no known browsers implement this +feature, just define the property for now.http://www.w3.org/TR/html5/dom.html#dom-getelementsbyclassname +https://dom.spec.whatwg.org/#dictdef-getrootnodeoptions +{composed: boolean}composedhttps://dom.spec.whatwg.org/#dom-node-getrootnode +GetRootNodeOptions=?Nodehttp://www.w3.org/TR/components-intro/ +!ShadowRoothttp://www.w3.org/TR/shadow-dom/ +!NodeList.NodeList.!Nodehttp://w3c.github.io/webcomponents/explainer/#lifecycle-callbacks +The 'ping' attribute is known to be supported in recent versions (as of +mid-2014) of Chrome, Safari, and Firefox, and is not supported in any +current version of Internet Explorer.http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#hyperlink-auditinghttp://www.w3.org/TR/html-markup/iframe.html#iframe.attrs.srcdochttp://www.w3.org/TR/2012/WD-html5-20121025/the-iframe-element.html#attr-iframe-sandboxhttps://www.w3.org/TR/html5/forms.html#dom-input-indeterminate@type {string}Changes the form control's value by the value given in the step attribute +multiplied by opt_n.step multiplier. Defaults to 1. +https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElementLoads the media element.Type of the element in question in question. +Whether it can play the type. +Event handlers?function (Event)function (Event)The current time, in seconds.The absolute timeline offset.The length of the media in seconds.Starts playing the media.Pauses the media.The audio volume, from 0.0 (silent) to 1.0 (loudest).http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#dom-media-addtexttrack +Kind of the text track. +Label of the text track. +Language of the text track. +TextTrack object added to the media element.http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttracklist +IArrayLike.!TextTrackhttp://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrack +http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrackcuelist +IArrayLike.!TextTrackCuehttp://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrackcue +http://dev.w3.org/html5/webvtt/#the-vttcue-interface +TheUnknown content 'webkit-prefixed attributes are defined in + * https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit/Source/core/html/HTMLVideoElement.idl'Unknown ... nt.idl'Starts displaying the video in full screen mode.Stops displaying the video in full screen mode.{creationTime: number, totalVideoFrames: number, droppedVideoFrames: number, corruptedVideoFrames: number, totalFrameDelay: number}totalVideoFramesdroppedVideoFramescorruptedVideoFramestotalFrameDelayhttps://w3c.github.io/media-source/#htmlvideoelement-extensions +Stats about the current playback.!VideoPlaybackQualityThe fetching process for the media resource was aborted by the user agent at +the user's request.A network error of some description caused the user agent to stop fetching +the media resource, after the resource was established to be usable.An error of some description occurred while decoding the media resource, +after the resource was established to be usable.The media resource indicated by the src attribute was not suitable.http://dev.w3.org/html5/spec/comms.html#messagechannel +Returns the first port.Returns the second port.http://dev.w3.org/html5/spec/comms.html#messageport +Posts a message through the channel, optionally with the given +Array of Transferables.Begins dispatching messages received on the port.Disconnects the port, so that it is no longer active.TODO(blickly): Change this to MessageEvent<*> and add casts as neededhttp://dev.w3.org/html5/spec/comms.html#messageevent +The data payload of the message.The origin of the message, for server-sent events and cross-document +messaging.The last event ID, for server-sent events.The window that dispatched the event.The Array of MessagePorts sent with the message, for cross-document +messaging and channel messaging.Array.Initializes the event in a manner analogous to the similarly-named methods in +the DOM Events interfaces.HTML5 BroadcastChannel class.https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel +https://html.spec.whatwg.org/multipage/comms.html#dom-broadcastchannel +Sends the message, of any type of object, to each BroadcastChannel object +listening to the same channel.Closes the channel object, indicating it won't get any new messages, and +allowing it to be, eventually, garbage collected.An EventHandler property that specifies the function to execute when a +message event is fired on this object.The name of the channel.HTML5 DataTransfer class. + +We say that this extends ClipboardData, because Event.prototype.clipboardData +is a DataTransfer on WebKit but a ClipboardData on IE. The interfaces are so +similar that it's easier to merge them.http://www.w3.org/TR/2011/WD-html5-20110113/dnd.html +http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html +http://developers.whatwg.org/dnd.html#datatransferitem +ClipboardDataFormat for which to remove data. +Format for which to set data. +Data to add. +Data for the given format. +The image to use when dragging. +Horizontal position of the cursor. +Vertical position of the cursor. +Element to receive drag result events. +Addition for accessing clipboard file data that are part of the proposed +HTML5 spec.MouseEventInithttps://w3c.github.io/uievents/#idl-wheeleventinitWheelEventInit=http://www.w3.org/TR/DOM-Level-3-Events/#interface-WheelEvent +HTML5 DataTransferItem class.function (string)The file corresponding to this item, or null. +?FileThe Entry corresponding to this item, or null. Note that +despite its name,this method only works in Chrome, and will eventually +be renamed to {@code getAsEntry}. +?EntryHTML5 DataTransferItemList class. There are some discrepancies in the docs +on the whatwg.org site. When in doubt, these prototypes match what is +implemented as of Chrome 30.IArrayLike.!DataTransferItemFile to return from the list. +The ith DataTransferItem in the list, or null. +Adds an item to the list.Data for the item being added. +(string|!File)Mime type of the item being added. MUST be present +if the {@code data} parameter is a string. +Removes an item from the list.File to remove from the list. +Removes all items from the list.!DataTransferItemListhttp://w3c.github.io/html/editing.html#dictdef-drageventinit(undefined|?DataTransfer)?DataTransferhttp://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#the-dragevent-interface +DragEventInit=EventInithttps://www.w3.org/TR/progress-events/#progresseventinitProgressEventInit=https://developer.mozilla.org/en-US/docs/Web/API/ProgressEventThe index. +The start time of the range at index. +The end time of the range at index. +http://dev.w3.org/html5/websockets/ +The connection has not yet been established.The WebSocket connection is established and communication is possible.The connection is going through the closing handshake, or the close() method has been invoked.The connection has been closed or could not be opened.Returns the URL value that was passed to the constructor.Represents the state of the connection.Returns the number of bytes that have been queued but not yet sent.An event handler called on open event.An event handler called on message event. +TODO(blickly): Change this to MessageEvent<*> and add casts as neededAn event handler called on close event.Transmits data using the connection.(string|ArrayBuffer|ArrayBufferView)Closes the Web Socket connection or connection attempt, if any.Sets the type of data (blob or arraybuffer) for binary data.Pushes a new state into the session history.http://www.w3.org/TR/html5/history.html#the-history-interface +New state. +The title for a new session history entry. +The URL for a new session history entry. +Replaces the current state in the session history.The title for a session history entry. +Pending state object.https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history#Reading_the_current_state +Allows web applications to explicitly set default scroll restoration behavior +on history navigation. This property can be either auto or manual. + +Non-standard. Only supported in Chrome 46+.https://developer.mozilla.org/en-US/docs/Web/API/History +https://majido.github.io/scroll-restoration-proposal/history-based-api.html +http://www.whatwg.org/specs/web-apps/current-work/#popstateevent +{state: *}={state: *}Initializes the event after it has been created with document.createEventhttp://www.whatwg.org/specs/web-apps/current-work/#hashchangeevent +{oldURL: string, newURL: string}={oldURL: string, newURL: string}http://www.whatwg.org/specs/web-apps/current-work/#pagetransitionevent +{persisted: boolean}={persisted: boolean}IArrayLike.The ith file in the list. +http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#withcredentials?function (!ProgressEvent): voidfunction (!ProgressEvent): voidhttps://xhr.spec.whatwg.org/#handler-xhr-onloadstarthttps://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#handler-xhr-onprogresshttps://xhr.spec.whatwg.org/#handler-xhr-onaborthttps://xhr.spec.whatwg.org/#handler-xhr-onloadhttps://xhr.spec.whatwg.org/#handler-xhr-ontimeouthttps://xhr.spec.whatwg.org/#handler-xhr-onloadendhttp://dev.w3.org/2006/webapi/XMLHttpRequest-2/#the-upload-attributeThe mime type to override with. +http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#the-responsetype-attribute?(ArrayBuffer|Blob|Document|Object|string)(ArrayBuffer|Blob|Document|Object|string)http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#the-response-attributeImplemented as a draft spec in Firefox 4 as the way to get a requested array +buffer from an XMLHttpRequest. +https://developer.mozilla.org/En/Using_XMLHttpRequest#Receiving_binary_data_using_JavaScript_typed_arrays +* This property is not used anymore and should be removed. +https://github.com/google/closure-compiler/pull/1389XMLHttpRequestEventTarget defines events for checking the status of a data +transfer between a client and a server. This should be a common base class +for XMLHttpRequest and XMLHttpRequestUpload.An event target to track the status of an upload.Dataset collection. +This is really a DOMStringMap but it behaves close enough to an object to +pass as an object.IArrayLike.https://dom.spec.whatwg.org/#interface-domtokenlistReturns the number of CSS classes applied to this Element.The index of the item to return. +The CSS class at the specified index. +The CSS class to check for. +Whether the CSS class has been applied to the Element. +The CSS class(es) to add to this element. +The CSS class(es) to remove from this element. +The CSS class to toggle from this element. +True to add the class whether it exists +or not. False to remove the class whether it exists or not. +This argument is not supported on IE 10 and below, according to +the MDN page linked below. +False if the token was removed; True otherwise. +https://developer.mozilla.org/en-US/docs/Web/API/Element.classListA stringified representation of CSS classes. +A better interface to CSS classes than className.!DOMTokenListhttps://developer.mozilla.org/en-US/docs/Web/API/Element/classList +Constraint Validation API properties and methodshttp://www.w3.org/TR/2009/WD-html5-20090423/forms.html#the-constraint-validation-apiNodeList.!HTMLLabelElementhttp://www.w3.org/TR/html5/forms.html#attr-fs-formactionhttp://www.w3.org/TR/html5/forms.html#attr-fs-formenctypehttp://www.w3.org/TR/html5/forms.html#attr-fs-formmethodhttp://www.w3.org/TR/html5/forms.html#attr-fs-formtargetHTMLCollection.!HTMLOptionElementHTMLOptionElementhttp://www.w3.org/TR/html5/the-embed-element.html#htmlembedelementhttp://www.w3.org/TR/html5/dimension-attributes.html#dom-dim-widthhttp://www.w3.org/TR/html5/dimension-attributes.html#dom-dim-heighthttp://www.w3.org/TR/html5/the-embed-element.html#dom-embed-srchttp://www.w3.org/TR/html5/the-embed-element.html#dom-embed-typehttp://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-element-requestfullscreen +http://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-document-fullscreenenabledhttp://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-document-fullscreenelementhttp://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-document-exitfullscreen +The current fullscreen element for the document is set to this element. +Valid only for Webkit browsers.Whether keyboard input is desired. +Should use ALLOW_KEYBOARD_INPUT constant. +{childList: (boolean|undefined), attributes: (boolean|undefined), characterData: (boolean|undefined), subtree: (boolean|undefined), attributeOldValue: (boolean|undefined), characterDataOldValue: (boolean|undefined), attributeFilter: (!Array.|undefined)}characterDataattributeOldValuecharacterDataOldValueattributeFilterhttp://www.w3.org/TR/domcore/#mutation-observers +function (Array., MutationObserver)Array.MutationObserverInit=!Array.Array.!MutationRecordfunction (new: MutationObserver, function (Array.))function (Array.)http://www.w3.org/TR/page-visibility/ +VisibilityStatehttp://w3c.github.io/webcomponents/spec/custom/#extensions-to-document-interface-to-register +{extends: (string|undefined), prototype: (Object|undefined)}={extends: (string|undefined), prototype: (Object|undefined)}a constructor for the new tag. A generic function is the best we +can do here as it allows the return value to be annotated properly +at the call site.This method is deprecated and should be removed by the end of 2014.!FontFaceSetFontFaceSethttp://dev.w3.org/csswg/css-font-loading/#dom-fontfacesource-fontshttps://developer.mozilla.org/en-US/docs/Web/API/Document/currentScriptDefinition of ShadowRoot interface,http://www.w3.org/TR/shadow-dom/#api-shadow-root +The host element that a ShadowRoot is attached to. +Note: this is not yet W3C standard but is undergoing development. +W3C feature tracking bug: +https://www.w3.org/Bugs/Public/show_bug.cgi?id=22399 +Draft specification: +https://dvcs.w3.org/hg/webcomponents/raw-file/6743f1ace623/spec/shadow/index.html#shadow-root-objectid. +?ShadowRoot!StyleSheetListhttp://www.w3.org/TR/shadow-dom/#the-content-element +!stringhttp://www.w3.org/TR/shadow-dom/#the-shadow-element +http://www.w3.org/TR/html5/webappapis.html#the-errorevent-interface +*ErrorEventInit=https://www.w3.org/TR/html5/webappapis.html#erroreventinithttp://dom.spec.whatwg.org/#dom-domimplementation-createhtmldocument +A title to give the new HTML document +!HTMLDocumentHTMLDocumenthttps://html.spec.whatwg.org/multipage/embedded-content.html#the-picture-element +4.11 Interactive elementshttp://www.w3.org/html/wg/drafts/html/master/interactive-elements.htmlhttp://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#the-details-element +http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-details-open +http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menu-type +http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menu-label +http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#the-menuitem-element +http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-type +http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-label +http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-icon +http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-disabled +http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-checked +http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-radiogroup +http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-default +http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#relatedevent +{relatedTarget: (EventTarget|undefined)}={relatedTarget: (EventTarget|undefined)}http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-relatedevent-relatedtarget +http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#the-dialog-element +http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-dialog-open +http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-dialog-returnvalue +http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-dialog-show +(MouseEvent|Element)=(MouseEvent|Element)http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-dialog-showmodal +http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-dialog-close +https://html.spec.whatwg.org/multipage/scripting.html#the-template-element +!DocumentFragment?Documentw3c_dom2.js +http://www.w3.org/TR/html-imports/#interface-importhttps://www.w3.org/TR/html5/forms.html#dom-fieldset-elementshttps://www.w3.org/TR/html5/forms.html#the-fieldset-elementhttps://www.w3.org/TR/html5/forms.html#dom-fieldset-elements +https://www.w3.org/TR/html5/forms.html#dom-fieldset-typeNodeList.https://html.spec.whatwg.org/multipage/infrastructure.html#radionodelisthttps://html.spec.whatwg.org/multipage/forms.html#the-datalist-element +https://html.spec.whatwg.org/multipage/forms.html#the-output-element +https://html.spec.whatwg.org/multipage/forms.html#the-progress-element +https://html.spec.whatwg.org/multipage/embedded-content.html#the-track-element +https://html.spec.whatwg.org/multipage/forms.html#the-meter-element +https://www.w3.org/TR/html5/webappapis.html#navigatorhttps://www.w3.org/TR/html5/webappapis.html#dom-navigator-appcodenamehttps://www.w3.org/TR/html5/webappapis.html#dom-navigator-appnamehttps://www.w3.org/TR/html5/webappapis.html#dom-navigator-appversionhttps://www.w3.org/TR/html5/webappapis.html#dom-navigator-platformhttps://www.w3.org/TR/html5/webappapis.html#dom-navigator-producthttps://www.w3.org/TR/html5/webappapis.html#dom-navigator-useragenthttps://www.w3.org/TR/html5/webappapis.html#dom-navigator-taintenabledhttps://www.w3.org/TR/html5/webappapis.html#dom-navigator-languagehttps://www.w3.org/TR/html5/browsers.html#navigatoronlinehttps://www.w3.org/TR/html5/webappapis.html#dom-navigator-cookieenabledhttps://www.w3.org/TR/html5/webappapis.html#dom-navigator-mimetypeshttps://www.w3.org/TR/html5/webappapis.html#dom-navigator-pluginshttps://www.w3.org/TR/html5/webappapis.html#dom-navigator-javaenabled +IObject.<(string|number), !Plugin>!PluginIArrayLike.https://www.w3.org/TR/html5/webappapis.html#pluginarrayIObject.<(string|number), !MimeType>!MimeTypeIArrayLike.https://www.w3.org/TR/html5/webappapis.html#mimetypearrayhttps://developer.mozilla.org/en/DOM/window.navigator.mimeTypeshttps://www.w3.org/TR/html5/webappapis.html#mimetypehttps://www.w3.org/TR/html5/webappapis.html#dom-pluginNode.pr ... (n) {};Node.pr ... n(n) {}Node.pr ... ontainsNode.prototypeHTMLCan ... .width;HTMLCan ... e.widthHTMLCan ... ototypeHTMLCan ... height;HTMLCan ... .heightHTMLCan ... gs) {};HTMLCan ... rgs) {}HTMLCan ... .toBlobHTMLCan ... DataURLHTMLCan ... ContextHTMLCan ... te) {};HTMLCan ... ate) {}HTMLCan ... eStreamfunctio ... ate) {}functio ... ds() {}CanvasP ... n() {};CanvasP ... on() {}CanvasP ... osePathCanvasP ... ototypeCanvasP ... y) {};CanvasP ... , y) {}CanvasP ... .moveToCanvasP ... .lineToCanvasP ... CurveToCanvasP ... us) {};CanvasP ... ius) {}CanvasP ... e.arcTofunctio ... ius) {}CanvasP ... h) {};CanvasP ... , h) {}CanvasP ... pe.rectfunctio ... , h) {}CanvasP ... se) {};CanvasP ... ise) {}CanvasP ... ype.arcfunctio ... ise) {}functio ... 2D() {}CanvasR ... ntext2DCanvasR ... canvas;CanvasR ... .canvasCanvasR ... ototypeCanvasR ... n() {};CanvasR ... on() {}CanvasR ... pe.saveCanvasR ... restoreCanvasR ... y) {};CanvasR ... , y) {}CanvasR ... e.scaleCanvasR ... le) {};CanvasR ... gle) {}CanvasR ... .rotatefunction(angle) {}CanvasR ... anslateCanvasR ... dy) {};CanvasR ... dy) {}CanvasR ... ansformCanvasR ... y1) {};CanvasR ... y1) {}CanvasR ... radientfunctio ... y1) {}CanvasR ... r1) {};CanvasR ... r1) {}functio ... r1) {}CanvasR ... on) {};CanvasR ... ion) {}CanvasR ... PatternCanvasR ... h) {};CanvasR ... , h) {}CanvasR ... earRectCanvasR ... illRectCanvasR ... okeRectCanvasR ... ginPathCanvasR ... osePathCanvasR ... .moveToCanvasR ... .lineToCanvasR ... CurveToCanvasR ... us) {};CanvasR ... ius) {}CanvasR ... e.arcToCanvasR ... pe.rectCanvasR ... se) {};CanvasR ... ise) {}CanvasR ... ype.arcCanvasR ... e) {\n};CanvasR ... se) {\n}CanvasR ... ellipsefunctio ... se) {\n}CanvasR ... ule) {}CanvasR ... pe.fillfunctio ... ule) {}CanvasR ... .strokeCanvasR ... pe.clipCanvasR ... nStrokeCanvasR ... tInPathCanvasR ... th) {};CanvasR ... dth) {}CanvasR ... illTextfunctio ... dth) {}CanvasR ... okeTextCanvasR ... xt) {};CanvasR ... ext) {}CanvasR ... ureTextCanvasR ... sh) {};CanvasR ... _sh) {}CanvasR ... awImagefunctio ... _sh) {}CanvasR ... sh) {}CanvasR ... ageDatafunction(sw, sh) {}functio ... sh) {}CanvasR ... ht) {};CanvasR ... ght) {}functio ... ght) {}CanvasR ... lColor;CanvasR ... llColorCanvasR ... eColor;CanvasR ... keColorCanvasR ... neDash;CanvasR ... ineDashCanvasR ... lStyle;CanvasR ... llStyleCanvasR ... e.font;CanvasR ... pe.fontCanvasR ... lAlpha;CanvasR ... alAlphaCanvasR ... ration;CanvasR ... erationglobalC ... erationCanvasR ... eWidth;CanvasR ... neWidthCanvasR ... ineCap;CanvasR ... lineCapCanvasR ... neJoin;CanvasR ... ineJoinCanvasR ... rLimit;CanvasR ... erLimitCanvasR ... owBlur;CanvasR ... dowBlurCanvasR ... wColor;CanvasR ... owColorCanvasR ... ffsetX;CanvasR ... OffsetXCanvasR ... ffsetY;CanvasR ... OffsetYCanvasR ... eStyle;CanvasR ... keStyleCanvasR ... tAlign;CanvasR ... xtAlignCanvasR ... seline;CanvasR ... aselineCanvasR ... Offset;CanvasR ... hOffsetCanvasG ... or) {};CanvasG ... lor) {}CanvasG ... lorStopCanvasG ... ototypefunctio ... rn() {}functio ... cs() {}TextMet ... .width;TextMet ... e.widthTextMet ... ototypeImageDa ... e.data;ImageDa ... pe.dataImageData.prototypeImageDa ... .width;ImageDa ... e.widthImageDa ... height;ImageDa ... .heightClientI ... onLine;ClientI ... .onLineClientI ... ototypeClientI ... le) {};ClientI ... tle) {}ClientI ... Handlerregiste ... Handlerfunctio ... se() {}Databas ... ersion;Databas ... versionDatabase.prototypeDatabas ... ck) {};Databas ... ack) {}Databas ... sactionDatabas ... Versionfunctio ... ck() {}Databas ... db) {};Databas ... (db) {}Databas ... leEventDatabas ... ototypefunction(db) {}SQLErro ... e.code;SQLErro ... pe.codeSQLError.prototypeSQLErro ... essage;SQLErro ... messageSQLTran ... ck) {};SQLTran ... ack) {}SQLTran ... cuteSqlSQLTran ... ototypevar SQL ... llback;functio ... et() {}SQLResu ... sertId;SQLResu ... nsertIdSQLResu ... ototypeSQLResu ... fected;SQLResu ... ffectedSQLResu ... e.rows;SQLResu ... pe.rowsfunctio ... st() {}SQLResu ... length;SQLResu ... .lengthSQLResu ... ex) {};SQLResu ... dex) {}SQLResu ... pe.itemWindow. ... atabaseHTMLIma ... mplete;HTMLIma ... ompleteHTMLIma ... ototypeHTMLIma ... lWidth;HTMLIma ... alWidthHTMLIma ... Height;HTMLIma ... lHeightHTMLIma ... Origin;HTMLIma ... sOriginopt_tar ... ransferDocumen ... ge) {};Documen ... age) {}Documen ... MessageDocumen ... e.head;Documen ... pe.headfunctio ... he() {}DOMAppl ... re) {};DOMAppl ... ure) {}DOMAppl ... istenerDOMAppl ... ototypeDOMAppl ... vt) {};DOMAppl ... evt) {}DOMAppl ... chEventDOMAppl ... ED = 0;DOMAppl ... HED = 0DOMAppl ... NCACHEDDOMAppl ... LE = 1;DOMAppl ... DLE = 1DOMAppl ... pe.IDLEDOMAppl ... NG = 2;DOMAppl ... ING = 2DOMAppl ... HECKINGDOMAppl ... NG = 3;DOMAppl ... ING = 3DOMAppl ... LOADINGDOMAppl ... DY = 4;DOMAppl ... ADY = 4DOMAppl ... TEREADYDOMAppl ... TE = 5;DOMAppl ... ETE = 5DOMAppl ... BSOLETEDOMAppl ... status;DOMAppl ... .statusDOMAppl ... cached;DOMAppl ... ncachedDOMAppl ... ecking;DOMAppl ... heckingDOMAppl ... oading;DOMAppl ... loadingDOMAppl ... nerror;DOMAppl ... onerrorDOMAppl ... update;DOMAppl ... oupdateDOMAppl ... ogress;DOMAppl ... rogressDOMAppl ... eready;DOMAppl ... tereadyDOMAppl ... n() {};DOMAppl ... on() {}DOMAppl ... apCacheDOMAppl ... .updatevar app ... nCache;Window. ... nCache;Window. ... onCacheWindow. ... gs) {};Window. ... rgs) {}Window. ... ScriptsWebWork ... re) {};WebWork ... ure) {}WebWork ... istenerWebWorker.prototypeWebWork ... vt) {};WebWork ... evt) {}WebWork ... chEventWebWork ... n() {};WebWork ... on() {}WebWork ... rminateWebWork ... ge) {};WebWork ... age) {}WebWork ... MessageWebWork ... essage;WebWork ... messageWebWork ... nerror;WebWork ... onerrorfunctio ... rg0) {}Worker. ... re) {};Worker. ... ure) {}Worker. ... istenerWorker.prototypeWorker. ... vt) {};Worker. ... evt) {}Worker. ... chEventWorker. ... n() {};Worker. ... on() {}Worker. ... rminateWorker. ... er) {};Worker. ... fer) {}Worker. ... MessageWorker. ... essage;Worker. ... messageWorker. ... nerror;Worker. ... onerrorSharedW ... re) {};SharedW ... ure) {}SharedW ... istenerSharedW ... ototypeSharedW ... vt) {};SharedW ... evt) {}SharedW ... chEventSharedW ... e.port;SharedW ... pe.portSharedW ... nerror;SharedW ... onerrorWorkerL ... e.href;WorkerL ... pe.hrefWorkerL ... ototypeWorkerL ... origin;WorkerL ... .originWorkerL ... otocol;WorkerL ... rotocolWorkerL ... e.host;WorkerL ... pe.hostWorkerL ... stname;WorkerL ... ostnameWorkerL ... e.port;WorkerL ... pe.portWorkerL ... thname;WorkerL ... athnameWorkerL ... search;WorkerL ... .searchWorkerL ... e.hash;WorkerL ... pe.hashfunctio ... pe() {}WorkerG ... e.self;WorkerG ... pe.selfWorkerG ... cation;WorkerG ... ocationWorkerG ... n() {};WorkerG ... on() {}WorkerG ... e.closeWorkerG ... nerror;WorkerG ... onerrorWorkerG ... ffline;WorkerG ... offlineWorkerG ... online;WorkerG ... nonlineDedicat ... alScopeDedicat ... er) {};Dedicat ... fer) {}Dedicat ... MessageDedicat ... ototypeDedicat ... essage;Dedicat ... messageSharedW ... alScopeSharedW ... e.name;SharedW ... pe.nameSharedW ... onnect;SharedW ... connectHTMLEle ... xtMenu;HTMLEle ... extMenuHTMLEle ... ototypeHTMLEle ... ggable;HTMLEle ... aggableHTMLEle ... opzone;HTMLEle ... ropzoneHTMLEle ... es) {};HTMLEle ... mes) {}HTMLEle ... assNameHTMLEle ... hidden;HTMLEle ... .hiddenHTMLEle ... lcheck;HTMLEle ... llcheckvar Get ... ptions;Node.pr ... ns) {};Node.pr ... ons) {}Node.pr ... ootNodeHTMLEle ... owRoot;HTMLEle ... dowRootwebkitC ... dowRootHTMLEle ... n() {};HTMLEle ... on() {}HTMLEle ... nPointsgetDest ... nPointsHTMLEle ... llback;HTMLEle ... allbackHTMLAnc ... wnload;HTMLAnc ... ownloadHTMLAnc ... ototypeHTMLAnc ... e.hash;HTMLAnc ... pe.hashHTMLAnc ... e.host;HTMLAnc ... pe.hostHTMLAnc ... stname;HTMLAnc ... ostnameHTMLAnc ... thname;HTMLAnc ... athnameHTMLAnc ... e.ping;HTMLAnc ... pe.pingHTMLAnc ... e.port;HTMLAnc ... pe.portHTMLAnc ... otocol;HTMLAnc ... rotocolHTMLAnc ... search;HTMLAnc ... .searchHTMLAre ... wnload;HTMLAre ... ownloadHTMLAre ... ototypeHTMLAre ... e.ping;HTMLAre ... pe.pingHTMLIFr ... srcdoc;HTMLIFr ... .srcdocHTMLIFr ... ototypeHTMLIFr ... andbox;HTMLIFr ... sandboxHTMLInp ... mplete;HTMLInp ... ompleteHTMLInp ... irname;HTMLInp ... dirnameHTMLInp ... .files;HTMLInp ... e.filesHTMLInp ... minate;HTMLInp ... rminateHTMLInp ... e.list;HTMLInp ... pe.listHTMLInp ... pe.max;HTMLInp ... ype.maxHTMLInp ... pe.min;HTMLInp ... ype.minHTMLInp ... attern;HTMLInp ... patternHTMLInp ... ltiple;HTMLInp ... ultipleHTMLInp ... holder;HTMLInp ... eholderHTMLInp ... quired;HTMLInp ... equiredHTMLInp ... e.step;HTMLInp ... pe.stepHTMLInp ... AsDate;HTMLInp ... eAsDateHTMLInp ... Number;HTMLInp ... sNumberHTMLInp ... _n) {};HTMLInp ... t_n) {}HTMLInp ... tepDownfunction(opt_n) {}HTMLInp ... .stepUpHTMLMed ... OTHING;HTMLMed ... NOTHINGHTMLMed ... TADATA;HTMLMed ... ETADATAHTMLMed ... T_DATA;HTMLMed ... NT_DATAHTMLMed ... E_DATA;HTMLMed ... RE_DATAHTMLMed ... H_DATA;HTMLMed ... GH_DATAHTMLMed ... .error;HTMLMed ... e.errorHTMLMed ... ototypeHTMLMed ... pe.src;HTMLMed ... ype.srcHTMLMed ... entSrc;HTMLMed ... rentSrcHTMLMed ... kState;HTMLMed ... rkStateHTMLMed ... buffer;HTMLMed ... obufferHTMLMed ... ffered;HTMLMed ... ufferedHTMLMed ... n() {};HTMLMed ... on() {}HTMLMed ... pe.loadHTMLMed ... pe) {};HTMLMed ... ype) {}HTMLMed ... layTypeHTMLMed ... nabort;HTMLMed ... onabortHTMLMed ... anplay;HTMLMed ... canplayHTMLMed ... hrough;HTMLMed ... throughHTMLMed ... change;HTMLMed ... nchangeHTMLMed ... mptied;HTMLMed ... emptiedHTMLMed ... nended;HTMLMed ... onendedHTMLMed ... nerror;HTMLMed ... onerrorHTMLMed ... eddata;HTMLMed ... deddataHTMLMed ... tadata;HTMLMed ... etadataHTMLMed ... dstart;HTMLMed ... adstartHTMLMed ... npause;HTMLMed ... onpauseHTMLMed ... onplay;HTMLMed ... .onplayHTMLMed ... laying;HTMLMed ... playingHTMLMed ... ogress;HTMLMed ... rogressHTMLMed ... echangeHTMLMed ... seeked;HTMLMed ... nseekedHTMLMed ... eeking;HTMLMed ... seekingHTMLMed ... talled;HTMLMed ... stalledHTMLMed ... uspend;HTMLMed ... suspendHTMLMed ... update;HTMLMed ... eupdateHTMLMed ... aiting;HTMLMed ... waitingHTMLIma ... onload;HTMLIma ... .onloadHTMLIma ... nerror;HTMLIma ... onerrorHTMLMed ... yState;HTMLMed ... dyStateHTMLMed ... ntTime;HTMLMed ... entTimeHTMLMed ... artDateHTMLMed ... ration;HTMLMed ... urationHTMLMed ... paused;HTMLMed ... .pausedHTMLMed ... ckRate;HTMLMed ... ackRateHTMLMed ... played;HTMLMed ... .playedHTMLMed ... ekable;HTMLMed ... eekableHTMLMed ... .ended;HTMLMed ... e.endedHTMLMed ... toplay;HTMLMed ... utoplayHTMLMed ... e.loop;HTMLMed ... pe.loopHTMLMed ... pe.playHTMLMed ... e.pauseHTMLMed ... ntrols;HTMLMed ... ontrolsHTMLMed ... volume;HTMLMed ... .volumeHTMLMed ... .muted;HTMLMed ... e.mutedHTMLMed ... ge) {};HTMLMed ... age) {}HTMLMed ... xtTrackHTMLMed ... Tracks;HTMLMed ... tTracksText.pr ... n() {};Text.pr ... on() {}Text.pr ... nPointsText.prototypeTextTra ... length;TextTra ... .lengthTextTra ... ototypeTextTra ... id) {};TextTra ... (id) {}TextTra ... ackByIdTextTra ... ue) {};TextTra ... cue) {}TextTra ... .addCueTextTrack.prototypefunction(cue) {}TextTra ... moveCueTextTra ... veCues;TextTra ... iveCuesTextTra ... e.cues;TextTra ... pe.cuesTextTra ... e.mode;TextTra ... pe.modeTextTra ... re) {};TextTra ... ure) {}TextTra ... istenerTextTra ... vt) {};TextTra ... evt) {}TextTra ... chEventTextTra ... {};TextTra ... \n {}TextTra ... CueByIdTextTra ... ype.id;TextTra ... type.idTextTra ... rtTime;TextTra ... artTimeTextTra ... ndTime;TextTra ... endTimeTextTra ... e.text;TextTra ... pe.textHTMLVid ... n() {};HTMLVid ... on() {}HTMLVid ... lscreenHTMLVid ... ototypewebkitE ... lscreenHTMLVid ... lScreenwebkitE ... lScreenHTMLVid ... .width;HTMLVid ... e.widthHTMLVid ... height;HTMLVid ... .heightHTMLVid ... oWidth;HTMLVid ... eoWidthHTMLVid ... Height;HTMLVid ... oHeightHTMLVid ... poster;HTMLVid ... .posterHTMLVid ... screen;webkitS ... lscreenwebkitD ... lscreenHTMLVid ... eCount;HTMLVid ... meCountwebkitD ... meCountvar Vid ... uality;HTMLVid ... QualitygetVide ... QualityMediaEr ... e.code;MediaEr ... pe.codeMediaError.prototypeMediaEr ... BORTED;MediaEr ... ABORTEDMediaEr ... ETWORK;MediaEr ... NETWORKMediaEr ... DECODE;MediaEr ... _DECODEMediaEr ... PORTED;MediaEr ... PPORTEDMEDIA_E ... PPORTEDfunctio ... el() {}Message ... .port1;Message ... e.port1Message ... .port2;Message ... e.port2Message ... re) {};Message ... ure) {}Message ... istenerMessage ... vt) {};Message ... evt) {}Message ... chEventMessage ... r) {\n};Message ... er) {\n}Message ... MessageMessage ... n() {};Message ... on() {}Message ... e.startMessage ... e.closeMessage ... essage;Message ... messageMessage ... e.data;Message ... pe.dataMessage ... origin;Message ... .originMessage ... ventId;Message ... EventIdMessage ... source;Message ... .sourceMessage ... .ports;Message ... e.portsMessage ... rg) {};Message ... Arg) {}Message ... geEventMessage ... EventNSBroadca ... essage;Broadca ... MessageBroadca ... ototypeBroadca ... .close;Broadca ... e.closeBroadca ... re) {};Broadca ... ure) {}Broadca ... istenerBroadca ... vt) {};Broadca ... evt) {}Broadca ... chEventBroadca ... messageBroadca ... e.name;Broadca ... pe.nameDataTra ... Effect;DataTra ... pEffectDataTra ... ototypeDataTra ... llowed;DataTra ... AllowedDataTra ... .types;DataTra ... e.typesDataTra ... .files;DataTra ... e.filesDataTra ... at) {};DataTra ... mat) {}DataTra ... earDataDataTra ... ta) {};DataTra ... ata) {}DataTra ... setDataDataTra ... ''; };DataTra ... n ''; }DataTra ... getDatafunctio ... n ''; }{ return ''; }return '';DataTra ... y) {};DataTra ... , y) {}DataTra ... agImageDataTra ... em) {};DataTra ... lem) {}DataTra ... ElementMouseEv ... ansfer;MouseEv ... ransferMouseEvent.prototypeWheelEv ... deltaX;WheelEv ... .deltaXWheelEv ... ototypeWheelEv ... deltaY;WheelEv ... .deltaYWheelEv ... deltaZ;WheelEv ... .deltaZWheelEv ... taMode;WheelEv ... ltaModefunctio ... ict) {}WheelEv ... _PIXEL;WheelEv ... A_PIXELWheelEv ... A_LINE;WheelEv ... TA_LINEWheelEv ... A_PAGE;WheelEv ... TA_PAGEWheelEvent.prototypeDataTra ... e.kind;DataTra ... pe.kindDataTra ... e.type;DataTra ... pe.typeDataTra ... ck) {};DataTra ... ack) {}DataTra ... sStringDataTra ... ull; };DataTra ... null; }DataTra ... tAsFilefunctio ... null; }DataTra ... AsEntryDataTra ... length;DataTra ... .lengthDataTra ... pe.itemDataTra ... pe) {};DataTra ... ype) {}DataTra ... ype.addDataTra ... (i) {};DataTra ... n(i) {}DataTra ... .removefunction(i) {}DataTra ... n() {};DataTra ... on() {}DataTra ... e.clearDataTra ... .items;DataTra ... e.itemsDragEve ... ansfer;DragEve ... ransferDragEve ... ototypeDragEvent.prototypeProgres ... utable;Progres ... putableProgres ... ototypeProgres ... loaded;Progres ... .loadedProgres ... .total;Progres ... e.totalopt_pro ... nitDictTimeRan ... length;TimeRan ... .lengthTimeRanges.prototypeTimeRan ... n 0; };TimeRan ... rn 0; }TimeRan ... e.startfunctio ... rn 0; }{ return 0; }TimeRan ... ype.endWebSock ... NG = 0;WebSock ... ING = 0WebSocket.CONNECTINGWebSocket.OPEN = 1;WebSocket.OPEN = 1WebSocket.OPENWebSock ... NG = 2;WebSock ... ING = 2WebSocket.CLOSINGWebSock ... ED = 3;WebSocket.CLOSED = 3WebSocket.CLOSEDWebSock ... re) {};WebSock ... ure) {}WebSock ... istenerWebSocket.prototypeWebSock ... vt) {};WebSock ... evt) {}WebSock ... chEventWebSock ... pe.url;WebSock ... ype.urlWebSock ... yState;WebSock ... dyStateWebSock ... Amount;WebSock ... dAmountWebSock ... onopen;WebSock ... .onopenWebSock ... essage;WebSock ... messageWebSock ... nclose;WebSock ... oncloseWebSock ... ta) {};WebSock ... ata) {}WebSock ... pe.sendWebSock ... on) {};WebSock ... son) {}WebSock ... e.closefunctio ... son) {}WebSock ... ryType;WebSock ... aryTypeHistory ... rl) {};History ... url) {}History ... shStateHistory.prototypeHistory ... ceStateHistory ... .state;History ... e.stateHistory ... ration;History ... orationPopStat ... .state;PopStat ... e.statePopStat ... ototypePopStat ... rg) {};PopStat ... Arg) {}PopStat ... teEventHashCha ... oldURL;HashCha ... .oldURLHashCha ... ototypeHashCha ... newURL;HashCha ... .newURLHashCha ... rg) {};HashCha ... Arg) {}HashCha ... geEventPageTra ... sisted;PageTra ... rsistedPageTra ... ototypePageTra ... rg) {};PageTra ... Arg) {}PageTra ... onEventinitPag ... onEventFileLis ... length;FileLis ... .lengthFileList.prototypeFileLis ... ull; };FileLis ... null; }FileLis ... pe.itemXMLHttp ... ntials;XMLHttp ... entialsXMLHttp ... ototypeXMLHttp ... dstart;XMLHttp ... adstartXMLHttp ... ogress;XMLHttp ... rogressXMLHttp ... nabort;XMLHttp ... onabortXMLHttp ... onload;XMLHttp ... .onloadXMLHttp ... imeout;XMLHttp ... timeoutXMLHttp ... oadend;XMLHttp ... loadendXMLHttp ... upload;XMLHttp ... .uploadXMLHttp ... pe) {};XMLHttp ... ype) {}XMLHttp ... imeTypeXMLHttp ... seType;XMLHttp ... nseTypeXMLHttp ... sponse;XMLHttp ... esponseXMLHttp ... Buffer;XMLHttp ... yBuffermozResp ... yBufferXMLHttp ... tTargetXMLHttp ... re) {};XMLHttp ... ure) {}XMLHttp ... istenerXMLHttp ... vt) {};XMLHttp ... evt) {}XMLHttp ... chEventfunctio ... ad() {}HTMLEle ... ataset;HTMLEle ... datasetDOMToke ... length;DOMToke ... .lengthDOMToke ... ototypeDOMToke ... ex) {};DOMToke ... dex) {}DOMToke ... pe.itemDOMToke ... en) {};DOMToke ... ken) {}DOMToke ... ontainsfunction(token) {}DOMToke ... gs) {};DOMToke ... rgs) {}DOMToke ... ype.addDOMToke ... .removeDOMToke ... ce) {};DOMToke ... rce) {}DOMToke ... .toggleDOMToke ... n() {};DOMToke ... on() {}DOMToke ... oStringElement ... ssList;Element ... assListHTMLFor ... n() {};HTMLFor ... on() {}HTMLFor ... alidityHTMLFor ... ototypeHTMLFor ... lidate;HTMLFor ... alidateValidit ... dInput;Validit ... adInputValidit ... ototypeValidit ... mError;Validit ... omErrorValidit ... smatch;Validit ... ismatchValidit ... erflow;Validit ... verflowValidit ... derflowValidit ... ooLong;Validit ... tooLongValidit ... oShort;Validit ... ooShortValidit ... .valid;Validit ... e.validValidit ... issing;Validit ... MissingHTMLBut ... ofocus;HTMLBut ... tofocusHTMLBut ... ototypeHTMLBut ... labels;HTMLBut ... .labelsHTMLBut ... essage;HTMLBut ... MessageHTMLBut ... lidity;HTMLBut ... alidityHTMLBut ... lidate;HTMLBut ... alidateHTMLBut ... n() {};HTMLBut ... on() {}HTMLBut ... ge) {};HTMLBut ... age) {}HTMLBut ... Action;HTMLBut ... mActionHTMLBut ... nctype;HTMLBut ... EnctypeHTMLBut ... Method;HTMLBut ... mMethodHTMLBut ... Target;HTMLBut ... mTargetHTMLInp ... ofocus;HTMLInp ... tofocusHTMLInp ... lidate;HTMLInp ... alidateHTMLInp ... Action;HTMLInp ... mActionHTMLInp ... nctype;HTMLInp ... EnctypeHTMLInp ... Method;HTMLInp ... mMethodHTMLInp ... Target;HTMLInp ... mTargetHTMLInp ... labels;HTMLInp ... .labelsHTMLInp ... essage;HTMLInp ... MessageHTMLInp ... lidity;HTMLInp ... alidityHTMLInp ... n() {};HTMLInp ... on() {}HTMLInp ... ge) {};HTMLInp ... age) {}HTMLLab ... ontrol;HTMLLab ... controlHTMLLab ... ototypeHTMLSel ... ofocus;HTMLSel ... tofocusHTMLSel ... ototypeHTMLSel ... labels;HTMLSel ... .labelsHTMLSel ... ptions;HTMLSel ... OptionsHTMLSel ... essage;HTMLSel ... MessageHTMLSel ... lidity;HTMLSel ... alidityHTMLSel ... lidate;HTMLSel ... alidateHTMLSel ... n() {};HTMLSel ... on() {}HTMLSel ... ge) {};HTMLSel ... age) {}HTMLTex ... ofocus;HTMLTex ... tofocusHTMLTex ... labels;HTMLTex ... .labelsHTMLTex ... essage;HTMLTex ... MessageHTMLTex ... lidity;HTMLTex ... alidityHTMLTex ... lidate;HTMLTex ... alidateHTMLTex ... n() {};HTMLTex ... on() {}HTMLTex ... ge) {};HTMLTex ... age) {}HTMLEmb ... .width;HTMLEmb ... e.widthHTMLEmb ... height;HTMLEmb ... .heightHTMLEmb ... pe.src;HTMLEmb ... ype.srcHTMLEmb ... e.type;HTMLEmb ... pe.typeElement ... lscreenDocumen ... lement;Documen ... ElementDocumen ... lscreenElement ... lScreenElement ... ithKeysmozRequ ... ithKeysDocumen ... Screen;Documen ... lScreenElement ... ut) {};Element ... put) {}webkitR ... lScreenfunctio ... put) {}opt_all ... rdInputwebkitR ... lscreenwebkitC ... lScreenwebkitF ... EnabledwebkitC ... ElementwebkitF ... ElementDocumen ... llowed;Documen ... AllowedwebkitF ... AllowedElement ... UT = 1;Element ... PUT = 1Element ... D_INPUTvar Mut ... erInit;functio ... rd() {}Mutatio ... e.type;Mutatio ... pe.typeMutatio ... ototypeMutatio ... target;Mutatio ... .targetMutatio ... dNodes;Mutatio ... edNodesMutatio ... ibling;Mutatio ... SiblingMutatio ... teName;Mutatio ... uteNameMutatio ... espace;Mutatio ... mespaceMutatio ... dValue;Mutatio ... ldValueMutatio ... ns) {};Mutatio ... ons) {}Mutatio ... observeMutatio ... n() {};Mutatio ... on() {}Mutatio ... connectMutatio ... RecordsWindow. ... server;Window. ... bserverWebKitM ... bserverDocumen ... yState;Documen ... tyStatewebkitV ... tyStateDocumen ... hidden;Documen ... .hiddenDocumen ... Hidden;Documen ... zHiddenDocumen ... tHiddenDocumen ... sHiddenDocumen ... ns) {};Documen ... ons) {}Documen ... egisterDocumen ... .fonts;Documen ... e.fontsDocumen ... Script;Documen ... tScriptfunctio ... ot() {}ShadowR ... e.host;ShadowR ... pe.hostShadowRoot.prototypeShadowR ... id) {};ShadowR ... (id) {}ShadowR ... entByIdShadowR ... me) {};ShadowR ... ame) {}ShadowR ... assNameShadowR ... TagNamefunction(tagName) {}ShadowR ... gNameNSgetElem ... gNameNSShadowR ... n() {};ShadowR ... on() {}ShadowR ... lectionShadowR ... y) {};ShadowR ... , y) {}ShadowR ... omPointShadowR ... Styles;ShadowR ... rStylesShadowR ... itance;ShadowR ... ritanceresetSt ... ritanceShadowR ... lement;ShadowR ... ElementShadowR ... owRoot;ShadowR ... dowRootShadowR ... erHTML;ShadowR ... nerHTMLShadowR ... Sheets;ShadowR ... eSheetsHTMLCon ... select;HTMLCon ... .selectHTMLCon ... ototypeHTMLCon ... n() {};HTMLCon ... on() {}HTMLCon ... edNodesHTMLSha ... n() {};HTMLSha ... on() {}HTMLSha ... edNodesHTMLSha ... ototypeErrorEv ... essage;ErrorEv ... messageErrorEvent.prototypeErrorEv ... lename;ErrorEv ... ilenameErrorEv ... lineno;ErrorEv ... .linenoErrorEv ... .colno;ErrorEv ... e.colnoErrorEv ... .error;ErrorEv ... e.errorErrorEv ... ototypeDOMImpl ... le) {};DOMImpl ... tle) {}DOMImpl ... ocumentDOMImpl ... ototypeHTMLSou ... .media;HTMLSou ... e.mediaHTMLSou ... ototypeHTMLSou ... .sizes;HTMLSou ... e.sizesHTMLSou ... pe.src;HTMLSou ... ype.srcHTMLSou ... srcset;HTMLSou ... .srcsetHTMLSou ... e.type;HTMLSou ... pe.typeHTMLIma ... .sizes;HTMLIma ... e.sizesHTMLIma ... srcset;HTMLIma ... .srcsetHTMLDet ... e.open;HTMLDet ... pe.openHTMLDet ... ototypeHTMLMen ... e.type;HTMLMen ... pe.typeHTMLMen ... ototypeHTMLMen ... .label;HTMLMen ... e.labelHTMLMen ... e.icon;HTMLMen ... pe.iconHTMLMen ... sabled;HTMLMen ... isabledHTMLMen ... hecked;HTMLMen ... checkedHTMLMen ... ogroup;HTMLMen ... iogroupHTMLMen ... efault;HTMLMen ... defaultRelated ... Target;Related ... dTargetRelated ... ototypeHTMLDia ... e.open;HTMLDia ... pe.openHTMLDia ... ototypeHTMLDia ... nValue;HTMLDia ... rnValueHTMLDia ... or) {};HTMLDia ... hor) {}HTMLDia ... pe.showfunctio ... hor) {}HTMLDia ... owModalHTMLDia ... ue) {};HTMLDia ... lue) {}HTMLDia ... e.closeHTMLTem ... ontent;HTMLTem ... contentHTMLTem ... ototypeHTMLLin ... import;HTMLLin ... .importHTMLLin ... ototypeHTMLFie ... n() {};HTMLFie ... on() {}HTMLFie ... alidityHTMLFie ... ototypeHTMLFie ... ements;HTMLFie ... lementsHTMLFie ... e.name;HTMLFie ... pe.nameHTMLFie ... ge) {};HTMLFie ... age) {}HTMLFie ... e.type;HTMLFie ... pe.typeHTMLFie ... essage;HTMLFie ... MessageHTMLFie ... lidity;HTMLFie ... lidate;HTMLFie ... alidateHTMLDat ... ptions;HTMLDat ... optionsHTMLDat ... ototypeHTMLOut ... tmlFor;HTMLOut ... htmlForHTMLOut ... ototypeHTMLOut ... e.form;HTMLOut ... pe.formHTMLOut ... e.name;HTMLOut ... pe.nameHTMLOut ... e.type;HTMLOut ... pe.typeHTMLOut ... tValue;HTMLOut ... ltValueHTMLOut ... .value;HTMLOut ... e.valueHTMLOut ... labels;HTMLOut ... .labelsHTMLOut ... essage;HTMLOut ... MessageHTMLOut ... lidity;HTMLOut ... alidityHTMLOut ... lidate;HTMLOut ... alidateHTMLOut ... n() {};HTMLOut ... on() {}HTMLOut ... ge) {};HTMLOut ... age) {}HTMLPro ... .value;HTMLPro ... e.valueHTMLPro ... ototypeHTMLPro ... pe.max;HTMLPro ... ype.maxHTMLPro ... sition;HTMLPro ... ositionHTMLPro ... labels;HTMLPro ... .labelsHTMLTra ... e.kind;HTMLTra ... pe.kindHTMLTra ... ototypeHTMLTra ... pe.src;HTMLTra ... ype.srcHTMLTra ... rclang;HTMLTra ... srclangHTMLTra ... .label;HTMLTra ... e.labelHTMLTra ... efault;HTMLTra ... defaultHTMLTra ... yState;HTMLTra ... dyStateHTMLTra ... .track;HTMLTra ... e.trackHTMLMet ... .value;HTMLMet ... e.valueHTMLMet ... ototypeHTMLMet ... pe.min;HTMLMet ... ype.minHTMLMet ... pe.max;HTMLMet ... ype.maxHTMLMet ... pe.low;HTMLMet ... ype.lowHTMLMet ... e.high;HTMLMet ... pe.highHTMLMet ... ptimum;HTMLMet ... optimumHTMLMet ... labels;HTMLMet ... .labelsNavigat ... deName;Navigat ... odeNameNavigat ... ppName;Navigat ... appNameNavigat ... ersion;Navigat ... VersionNavigat ... atform;Navigat ... latformNavigat ... roduct;Navigat ... productNavigat ... rAgent;Navigat ... erAgentNavigat ... EnabledNavigat ... nguage;Navigat ... anguageNavigat ... onLine;Navigat ... .onLineNavigat ... nabled;Navigat ... tle) {}Navigat ... HandlerNavigat ... url) {}unregis ... HandlerNavigat ... eTypes;Navigat ... meTypesNavigat ... lugins;Navigat ... pluginsPluginA ... length;PluginA ... .lengthPluginA ... ototypePluginA ... ex) {};PluginA ... dex) {}PluginA ... pe.itemPluginA ... me) {};PluginA ... ame) {}PluginA ... medItemPluginA ... ts) {};PluginA ... nts) {}PluginA ... refreshMimeTyp ... ex) {};MimeTyp ... dex) {}MimeTyp ... pe.itemMimeTyp ... ototypeMimeTyp ... length;MimeTyp ... .lengthMimeTyp ... me) {};MimeTyp ... ame) {}MimeTyp ... medItemMimeTyp ... iption;MimeTyp ... riptionMimeType.prototypeMimeTyp ... Plugin;MimeTyp ... dPluginMimeTyp ... ffixes;MimeTyp ... uffixesMimeTyp ... e.type;MimeTyp ... pe.typefunction Plugin() {}Plugin. ... iption;Plugin. ... riptionPlugin.prototypePlugin. ... lename;Plugin. ... ilenamePlugin. ... length;Plugin. ... .lengthPlugin. ... e.name;Plugin. ... pe.name/opt/codeql/javascript/tools/data/externs/web/ie_css.js + * @fileoverview Definitions for IE's custom CSS properties, as defined here: + * http://msdn.microsoft.com/en-us/library/aa768661(VS.85).aspx + * + * This page is also useful for the IDL definitions: + * http://source.winehq.org/source/include/mshtml.idl + * + * @externs + * @author nicksantos@google.com + /**\n * ... com\n */ @type {StyleSheetList} + * @param {string} bstrURL + * @param {number} lIndex + * @return {number} + + * @param {string} bstrSelector + * @param {string} bstrStyle + * @param {number=} opt_iIndex + * @return {number} + * @see http://msdn.microsoft.com/en-us/library/aa358796%28v=vs.85%29.aspx + + * @param {number} lIndex + @type {CSSRuleList} StyleSheet methods// Styl ... methods + * @param {string} propName + * @return {string} + * @see http://msdn.microsoft.com/en-us/library/aa358797(VS.85).aspx + + * @param {string} name + * @param {string} expression + * @return {undefined} + * @see http://msdn.microsoft.com/en-us/library/ms531196(VS.85).aspx + + * @param {string} expression + * @return {undefined} + * @see http://msdn.microsoft.com/en-us/library/aa358798(VS.85).aspx + IE-only CSS style names.// IE-o ... names. + * @see http://msdn.microsoft.com/en-us/library/ie/ms531081(v=vs.85).aspx + * NOTE: Left untyped to avoid conflict with caller. + /**\n * ... er.\n */ + * @type {string} + * @see http://msdn.microsoft.com/en-us/library/ms533883.aspx + + * @type {string} + * @see http://msdn.microsoft.com/en-us/library/ms534176(VS.85).aspx + + * @type {string|number} + * @see http://msdn.microsoft.com/en-us/library/ms535169(VS.85).aspx + + * @type {string} + * @see http://msdn.microsoft.com/en-us/library/ms535153(VS.85).aspx + + * IE-specific extensions. + * @see http://blogs.msdn.com/b/ie/archive/2008/09/08/microsoft-css-vendor-extensions.aspx + See: http://msdn.microsoft.com/en-us/library/windows/apps/Hh702466.aspx// See: ... 66.aspxStyleSheetowningElementimportsaddImportaddRuleremoveImportremoveRulecssTextgetExpressionsetExpressionremoveExpressionbackgroundPositionXbackgroundPositionYbehaviorimeModemsInterpolationModeoverflowXoverflowYpixelWidthpixelHeightpixelLeftpixelTopstyleFloatzoomMsAcceleratorMsBackgroundPositionXMsBackgroundPositionYMsBehaviorMsBlockProgressionMsFilterMsImeModeMsLayoutGridMsLayoutGridCharMsLayoutGridLineMsLayoutGridModeMsLayoutGridTypeMsLineBreakMsLineGridModeMsInterpolationModeMsOverflowXMsOverflowYMsScrollbar3dlightColorMsScrollbarArrowColorMsScrollbarBaseColorMsScrollbarDarkshadowColorMsScrollbarFaceColorMsScrollbarHighlightColorMsScrollbarShadowColorMsScrollbarTrackColorMsTextAlignLastMsTextAutospaceMsTextJustifyMsTextKashidaSpaceMsTextOverflowMsTextUnderlinePositionMsWordBreakMsWordWrapMsWritingModeMsZoommsContentZoomingmsTouchActionmsTransformmsTransitionDefinitions for IE's custom CSS properties, as defined here: +http://msdn.microsoft.com/en-us/library/aa768661(VS.85).aspx +* This page is also useful for the IDL definitions: +http://source.winehq.org/source/include/mshtml.idl +*nicksantos@google.combstrURLlIndexbstrSelectorbstrStyleopt_iIndexhttp://msdn.microsoft.com/en-us/library/aa358796%28v=vs.85%29.aspxCSSRuleListpropNamehttp://msdn.microsoft.com/en-us/library/aa358797(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms531196(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/aa358798(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ie/ms531081(v=vs.85).aspx +NOTE: Left untyped to avoid conflict with caller.http://msdn.microsoft.com/en-us/library/ms533883.aspxhttp://msdn.microsoft.com/en-us/library/ms534176(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms535169(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms535153(VS.85).aspxIE-specific extensions.http://blogs.msdn.com/b/ie/archive/2008/09/08/microsoft-css-vendor-extensions.aspxStyleSh ... lement;StyleSh ... ElementStyleSheet.prototypeStyleSh ... adOnly;StyleSh ... eadOnlyStyleSh ... mports;StyleSh ... importsStyleSh ... ype.id;StyleSh ... type.idStyleSh ... Import;StyleSh ... dImportStyleSh ... ddRule;StyleSh ... addRuleStyleSh ... eImportStyleSh ... veRule;StyleSh ... oveRuleStyleSh ... ssText;StyleSh ... cssTextStyleSh ... .rules;StyleSh ... e.rulesStyleSh ... ession;StyleSh ... ressionCSSProp ... itionX;CSSProp ... sitionXCSSProp ... itionY;CSSProp ... sitionYCSSProp ... havior;CSSProp ... ehaviorCSSProp ... meMode;CSSProp ... imeModeCSSProp ... onMode;CSSProp ... ionModeCSSProp ... rflowX;CSSProp ... erflowXCSSProp ... rflowY;CSSProp ... erflowYCSSProp ... lWidth;CSSProp ... elWidthCSSProp ... Height;CSSProp ... lHeightCSSProp ... elLeft;CSSProp ... xelLeftCSSProp ... xelTop;CSSProp ... ixelTopCSSProp ... eFloat;CSSProp ... leFloatCSSProp ... e.zoom;CSSProp ... pe.zoomCSSProp ... ngMode;CSSProp ... ingModeCSSProp ... erator;CSSProp ... leratorMsBackg ... sitionXMsBackg ... sitionYCSSProp ... ession;CSSProp ... ressionCSSProp ... Filter;CSSProp ... sFilterCSSProp ... ImeModeCSSProp ... utGrid;CSSProp ... outGridCSSProp ... idChar;CSSProp ... ridCharCSSProp ... idLine;CSSProp ... ridLineCSSProp ... idMode;CSSProp ... ridModeCSSProp ... idType;CSSProp ... ridTypeCSSProp ... eBreak;CSSProp ... neBreakCSSProp ... htColorMsScrol ... htColorCSSProp ... wColor;CSSProp ... owColorMsScrol ... owColorCSSProp ... seColorCSSProp ... ceColorCSSProp ... kColor;CSSProp ... ckColorMsScrol ... ckColorCSSProp ... gnLast;CSSProp ... ignLastCSSProp ... ospace;CSSProp ... tospaceCSSProp ... ustify;CSSProp ... JustifyCSSProp ... aSpace;CSSProp ... daSpaceCSSProp ... erflow;CSSProp ... verflowCSSProp ... ositionMsTextU ... ositionCSSProp ... dBreak;CSSProp ... rdBreakCSSProp ... rdWrap;CSSProp ... ordWrapCSSProp ... MsZoom;CSSProp ... .MsZoomCSSProp ... ooming;CSSProp ... ZoomingCSSProp ... Action;CSSProp ... hAction/opt/codeql/javascript/tools/data/externs/web/ie_dom.js + * @fileoverview Definitions for all the extensions over the + * W3C's DOM specification by IE in JScript. This file depends on + * w3c_dom2.js. The whole file has NOT been fully type annotated. + * + * When a non-standard extension appears in both Gecko and IE, we put + * it in gecko_dom.js + * + * @externs + * @author stevey@google.com (Steve Yegge) + /**\n * ... ge)\n */ TODO(nicksantos): Rewrite all the DOM interfaces as interfaces, instead// TODO ... instead of kludging them as an inheritance hierarchy.// of k ... rarchy. + * @constructor + * @extends {Document} + * @see http://msdn.microsoft.com/en-us/library/ms757878(VS.85).aspx + + * @type {boolean} + * @see http://msdn.microsoft.com/en-us/library/ms761398(VS.85).aspx + + * @type {!Function} + * @see http://msdn.microsoft.com/en-us/library/ms762647(VS.85).aspx + + * @type {!Function} + * @see http://msdn.microsoft.com/en-us/library/ms764640(VS.85).aspx + + * @type {!Function} + * @see http://msdn.microsoft.com/en-us/library/ms753795(VS.85).aspx + + * @type {Object} + * @see http://msdn.microsoft.com/en-us/library/ms756041(VS.85).aspx + + * @type {boolean} + * @see http://msdn.microsoft.com/en-us/library/ms761353(VS.85).aspx + + * @type {number} + * @see http://msdn.microsoft.com/en-us/library/ms753702(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms762283(VS.85).aspx + * @type {boolean} + + * @see http://msdn.microsoft.com/en-us/library/ms760290(v=vs.85).aspx + * @param {string} name + * @param {*} value + * @return {undefined} + + * @type {string} + * @see http://msdn.microsoft.com/en-us/library/ms767669(VS.85).aspx + + * @type {boolean} + * @see http://msdn.microsoft.com/en-us/library/ms762791(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms763830(VS.85).aspx + * @return {undefined} + + * @param {*} type + * @param {string} name + * @param {string} namespaceURI + * @return {Node} + * @see http://msdn.microsoft.com/en-us/library/ms757901(VS.85).aspx + * @nosideeffects + + * @param {string} xmlSource + * @return {undefined} + * @see http://msdn.microsoft.com/en-us/library/ms762722(VS.85).aspx + * @override + + * @param {string} xmlString + * @return {boolean} + * @see http://msdn.microsoft.com/en-us/library/ms754585(VS.85).aspx + * @override + + * @param {string} id + * @return {Node} + * @see http://msdn.microsoft.com/en-us/library/ms766397(VS.85).aspx + ==============================================================================//===== ... ======= XMLNode methods and properties// XMLN ... perties In a real DOM hierarchy, XMLDOMDocument inherits from XMLNode and Document.// In a ... cument. Since we can't express that in our type system, we put XMLNode properties// Sinc ... perties on Node.// on Node. + * @type {string} + * @see http://msdn.microsoft.com/en-us/library/ms767570(VS.85).aspx + + * @type {?string} + * @see http://msdn.microsoft.com/en-us/library/ms762763(VS.85).aspx + + * @type {Node} + * @see http://msdn.microsoft.com/en-us/library/ms764733(VS.85).aspx + + * IE5 used document instead of ownerDocument. + * Old versions of WebKit used document instead of contentDocument. + * @type {Document} + + * Inserts the given HTML text into the element at the location. + * @param {string} sWhere Where to insert the HTML text, one of 'beforeBegin', + * 'afterBegin', 'beforeEnd', 'afterEnd'. + * @param {string} sText HTML text to insert. + * @see http://msdn.microsoft.com/en-us/library/ms536452(VS.85).aspx + * @return {undefined} + + * @type {*} + * @see http://msdn.microsoft.com/en-us/library/ms762308(VS.85).aspx + + * @type {string} + * @see http://msdn.microsoft.com/en-us/library/ms757895(VS.85).aspx + + * @type {boolean} + * @see http://msdn.microsoft.com/en-us/library/ms762237(VS.85).aspx + + * @type {Element} + * @see http://msdn.microsoft.com/en-us/library/ms534327(VS.85).aspx + + * @type {boolean} + * @see http://msdn.microsoft.com/en-us/library/ms753816(VS.85).aspx + + * @type {string} + * @see http://msdn.microsoft.com/en-us/library/ms762687(VS.85).aspx + + * @type {string} + * @see http://msdn.microsoft.com/en-us/library/ms755989(VS.85).aspx + + * @param {string} expression An XPath expression. + * @return {!NodeList} + * @see http://msdn.microsoft.com/en-us/library/ms754523(VS.85).aspx + * @nosideeffects + + * @param {string} expression An XPath expression. + * @return {Node} + * @see http://msdn.microsoft.com/en-us/library/ms757846(VS.85).aspx + * @nosideeffects + + * @param {Node} stylesheet XSLT stylesheet. + * @return {string} + * @see http://msdn.microsoft.com/en-us/library/ms761399(VS.85).aspx + * @nosideeffects + + * @param {Node} stylesheet XSLT stylesheet. + * @param {Object} outputObject + * @see http://msdn.microsoft.com/en-us/library/ms766561(VS.85).aspx + * @return {Object} + Node methods// Node methods + * @param {boolean=} opt_bRemoveChildren Whether to remove the entire sub-tree. + * Defaults to false. + * @return {Node} The object that was removed. + * @see http://msdn.microsoft.com/en-us/library/ms536708(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx + * @param {string=} opt_type Type of clipboard data to clear. 'Text' or + * 'URL' or 'File' or 'HTML' or 'Image'. + * @return {undefined} + + * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx + * @param {string} type Type of clipboard data to set ('Text' or 'URL'). + * @param {string} data Data to set + * @return {boolean} Whether the data were set correctly. + /**\n * ... ly.\n */ + * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx + * @param {string} type Type of clipboard data to get ('Text' or 'URL'). + * @return {string} The current data + + * @type {!Window} + * @see https://developer.mozilla.org/en/DOM/window + /**\n * ... dow\n */ + * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx + * @type {ClipboardData} + + * @see http://msdn.microsoft.com/en-us/library/ms533724(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms533725(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms533726(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms533727(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms535863(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/cc197012(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/cc197013(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms534198(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms534389(VS.85).aspx + Functions// Functions + * @param {string} event + * @param {Function} handler + * @see http://msdn.microsoft.com/en-us/library/ms536343(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536392(VS.85).aspx + + * @param {string} event + * @param {Function} handler + * @see http://msdn.microsoft.com/en-us/library/ms536411(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536420(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536425(VS.85).aspx + + * @param {number} x + * @param {number} y + * @see http://msdn.microsoft.com/en-us/library/ms536618(VS.85).aspx + * @return {undefined} + + * @param {number} x + * @param {number} y + * @see http://msdn.microsoft.com/en-us/library/ms536626(VS.85).aspx + * @return {undefined} + + * @see http://msdn.microsoft.com/en-us/library/ms536638(VS.85).aspx + + * @param {*=} opt_url + * @param {string=} opt_windowName + * @param {string=} opt_windowFeatures + * @param {boolean=} opt_replace + * @return {Window} + * @see http://msdn.microsoft.com/en-us/library/ms536651(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536672(VS.85).aspx + * @return {undefined} + + * @param {number} width + * @param {number} height + * @see http://msdn.microsoft.com/en-us/library/ms536722(VS.85).aspx + * @return {undefined} + + * @param {number} width + * @param {number} height + * @see http://msdn.microsoft.com/en-us/library/ms536723(VS.85).aspx + * @return {undefined} + + * @see http://msdn.microsoft.com/en-us/library/ms536738(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536758(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536761(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms535246%28v=vs.85%29.aspx + * @const {!Object} + + * @see http://msdn.microsoft.com/en-us/library/ms535864(VS.85).aspx + * @param {number|string} delta The number of entries to go back, or + * the URL to which to go back. (URL form is supported only in IE) + * @return {undefined} + + * @see http://msdn.microsoft.com/en-us/library/ms535864(VS.85).aspx + * @param {number=} opt_distance The number of entries to go back + * (Mozilla doesn't support distance -- use #go instead) + * @return {undefined} + + * @see http://msdn.microsoft.com/en-us/library/ms535864(VS.85).aspx + * @type {number} + + * @see http://msdn.microsoft.com/en-us/library/ms535864(VS.85).aspx + * @return {undefined} + + * @type {boolean} + * @implicitCast + * @see http://msdn.microsoft.com/en-us/library/ie/ms533072(v=vs.85).aspx + + * @type {Window} + * @see http://msdn.microsoft.com/en-us/library/ms533692(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536385(VS.85).aspx + + * @type {string} + * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx + + * @constructor + * @see http://msdn.microsoft.com/en-us/library/ms535872.aspx + + * @see http://msdn.microsoft.com/en-us/library/ms533538(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms533539(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms533540(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms533541(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms533874(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms534200(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms534303(VS.85).aspx + + * @type {string} + * @see http://msdn.microsoft.com/en-us/library/ms534676(VS.85).aspx + + * @param {boolean=} opt_toStart + * @see http://msdn.microsoft.com/en-us/library/ms536371(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536373(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536416(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536419(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536421(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536422(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536432(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536433(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536435(VS.85).aspx + + * @param {TextRange|ControlRange} range + * @return {boolean} + * @see http://msdn.microsoft.com/en-us/library/ms536450(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536458(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536616(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536620(VS.85).aspx + + * @param {string} unit + * @param {number=} opt_count + * @see http://msdn.microsoft.com/en-us/library/ms536623(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536628(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536630(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536632(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536654(VS.85).aspx + * @return {?Element} + + * @see http://msdn.microsoft.com/en-us/library/ms536656(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536676(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536678(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536679(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536681(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536683(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536730(VS.85).aspx + + * @return {undefined} + * @see http://msdn.microsoft.com/en-us/library/ms536735(VS.85).aspx + + * @param {string} how + * @param {TextRange|ControlRange} sourceRange + * @see http://msdn.microsoft.com/en-us/library/ms536745(VS.85).aspx + + * @return {undefined} + * @see http://msdn.microsoft.com/en-us/library/ms536418(VS.85).aspx + + * @return {TextRange|ControlRange} + * @see http://msdn.microsoft.com/en-us/library/ms536394(VS.85).aspx + + * @return {Array} + * @see http://msdn.microsoft.com/en-us/library/ms536396(VS.85).aspx + + * @constructor + * @see http://msdn.microsoft.com/en-us/library/ms537447(VS.85).aspx + http://msdn.microsoft.com/en-us/library/ms531073(VS.85).aspx + * @see http://msdn.microsoft.com/en-us/library/ms533065(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms533553(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms533693(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms533714(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms533731(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/cc196988(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms533747(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms533750(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms533751(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms533752(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms534331(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms534353(VS.85).aspx + + * @type {Selection} + * @see http://msdn.microsoft.com/en-us/library/ms535869(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms534704(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms534709(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms535155(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms535163(VS.85).aspx + functions// functions + * @see http://msdn.microsoft.com/en-us/library/ms536390(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms531194(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536447(VS.85).aspx + * @return {boolean} + + * @see http://msdn.microsoft.com/en-us/library/ms536614(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536685(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536689(VS.85).aspx + collections// collections + * @see http://msdn.microsoft.com/en-us/library/ms537434(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms537445(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms537459(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms537470(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms537487(VS.85).aspx + + * @param {string} sUrl + * @return {number} + * @see http://msdn.microsoft.com/en-us/library/ms535922(VS.85).aspx + + * @param {string} event + * @param {Function} handler + * @see http://msdn.microsoft.com/en-us/library/mm536343(v=vs.85).aspx + + * @type {boolean} + * @see http://msdn.microsoft.com/en-us/library/ms533546(VS.85).aspx + + * @type {string} + * @see http://msdn.microsoft.com/en-us/library/ms533559(v=vs.85).aspx + + * @param {number} iCoordX Integer that specifies the client window coordinate + * of x. + * @param {number} iCoordY Integer that specifies the client window coordinate + * of y. + * @return {string} The component of an element located at the specified + * coordinates. + * @see http://msdn.microsoft.com/en-us/library/ms536375(VS.85).aspx + * @nosideeffects + + * @type {boolean} + * @see http://msdn.microsoft.com/en-us/library/ms533690(VS.85).aspx + + * @return {TextRange} + * @see http://msdn.microsoft.com/en-us/library/ms536401(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms535231(VS.85).aspx + * @type {?CSSStyleDeclaration} + + * @param {string} event + * @param {Function} handler + * @see http://msdn.microsoft.com/en-us/library/ie/ms536411(v=vs.85).aspx + + * @param {string=} opt_action + * @see http://msdn.microsoft.com/en-us/library/ms536414%28VS.85%29.aspx + * @return {undefined} + + * @see http://msdn.microsoft.com/en-us/library/ms536423(VS.85).aspx + + * @type {boolean} + * @see http://msdn.microsoft.com/en-us/library/ms533783(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms533899.aspx + + * @see http://msdn.microsoft.com/en-us/library/ms537838(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms531395(v=vs.85).aspx + * NOTE: Left untyped to avoid conflict with subclasses. + /**\n * ... es.\n */ + * @param {number} pointerId Id of the pointer that is assign to the element. + * @see http://msdn.microsoft.com/en-us/library/ie/hh771882(v=vs.85).aspx + * @return {undefined} + + * @param {number} pointerId + * @see http://msdn.microsoft.com/en-us/library/ie/hh771880.aspx + * @return {undefined} + + * @type {?function(Event)} + * @see http://msdn.microsoft.com/en-us/library/ms536903(v=vs.85).aspx + + * @type {?function(Event)} + * @see http://msdn.microsoft.com/en-us/library/ms536945(VS.85).aspx + + * @type {?function(Event)} + * @see http://msdn.microsoft.com/en-us/library/ms536946(VS.85).aspx + + * @type {?function(Event)} + * @see http://msdn.microsoft.com/en-us/library/ms536969(VS.85).aspx + + * @type {string} + * @see http://msdn.microsoft.com/en-us/library/aa752326(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms536689(VS.85).aspx + * @return {undefined} + + * @param {number} iID + * @return {boolean} + * @see http://msdn.microsoft.com/en-us/library/ms536700(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/aa703996(VS.85).aspx + + * @param {string} sStoreName The arbitrary name assigned to a persistent object + * in a UserData store. + * @see http://msdn.microsoft.com/en-us/library/ms531403(v=vs.85).aspx + * @return {undefined} + + * @param {boolean=} opt_bContainerCapture Events originating in a container are + * captured by the container. Defaults to true. + * @see http://msdn.microsoft.com/en-us/library/ms536742(VS.85).aspx + * @return {undefined} + + * @see http://msdn.microsoft.com/en-us/library/ms534635(VS.85).aspx + + * @type {string} + * @see http://msdn.microsoft.com/en-us/library/ms537840.aspx + + * @constructor + * @see http://msdn.microsoft.com/en-us/library/aa752462(v=vs.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/aa752463(v=vs.85).aspx + * @type {number} + + * @see http://msdn.microsoft.com/en-us/library/ms537452(v=vs.85).aspx + * @type {HTMLFiltersCollection} + + * @constructor + * @see http://msdn.microsoft.com/en-us/library/ms532853(v=vs.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms532954(v=vs.85).aspx + * @return {undefined} + + * @constructor + * @extends {HTMLFilter} + * @see http://msdn.microsoft.com/en-us/library/ms532967(v=vs.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms532910(v=vs.85).aspx + * @type {number} + + * @constructor + * @extends {HTMLFilter} + * @see http://msdn.microsoft.com/en-us/library/ms532969(v=vs.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms532920(v=vs.85).aspx + * @type {string} + + * @constructor + * @see http://msdn.microsoft.com/en-us/library/ms535866(VS.85).aspx + + * @see http://trac.webkit.org/changeset/113945 + * @type {DOMStringList} + + * @see http://msdn.microsoft.com/en-us/library/ms533775(VS.85).aspx + * @type {string} + + * @see http://msdn.microsoft.com/en-us/library/ms533784(VS.85).aspx + * @type {string} + + * @see http://msdn.microsoft.com/en-us/library/ms533785(VS.85).aspx + * @type {string} + + * @see http://msdn.microsoft.com/en-us/library/ms533867(VS.85).aspx + * @type {string} + + * @see https://docs.google.com/document/view?id=1r_VTFKApVOaNIkocrg0z-t7lZgzisTuGTXkdzAk4gLU&hl=en + * @type {string} + + * @see http://msdn.microsoft.com/en-us/library/ms534332(VS.85).aspx + * @type {string} + + * @see http://msdn.microsoft.com/en-us/library/ms534342(VS.85).aspx + + * @see http://msdn.microsoft.com/en-us/library/ms534353(VS.85).aspx + * @type {string} + + * @see http://msdn.microsoft.com/en-us/library/ms534620(VS.85).aspx + * @type {string} + + * @see http://msdn.microsoft.com/en-us/library/ms536342(VS.85).aspx + * @param {string} url + * @return {undefined} + + * @param {boolean=} opt_forceReload If true, reloads the page from + * the server. Defaults to false. + * @see http://msdn.microsoft.com/en-us/library/ms536691(VS.85).aspx + * @return {undefined} + + * @param {string} url + * @see http://msdn.microsoft.com/en-us/library/ms536712(VS.85).aspx + * @return {undefined} + For IE, returns an object representing key-value pairs for all the global// For ... global variables prefixed with str, e.g. test*// vari ... . test* @param {*=} opt_str + /** @pa ... str\n */ + * @type {StyleSheet} + * @see http://msdn.microsoft.com/en-us/library/dd347030(VS.85).aspx + + * IE implements Cross Origin Resource Sharing (cross-domain XMLHttpRequests) + * via the XDomainRequest object. + * + * @constructor + * @see http://msdn.microsoft.com/en-us/library/cc288060(v=vs.85).aspx + * @see http://www.w3.org/TR/cors/ + /**\n * ... rs/\n */ + * Aborts the request. + * @see http://msdn.microsoft.com/en-us/library/cc288129(v=vs.85).aspx + * @return {undefined} + + * Sets the method and URL for the request. + * @param {string} bstrMethod Either "GET" or "POST" + * @param {string} bstrUrl The target URL + * @see http://msdn.microsoft.com/en-us/library/cc288168(v=vs.85).aspx + * @return {undefined} + + * Sends the request. + * @param {string=} varBody The POST body to send to the server. If omitted, + * the behavior is identical to sending an empty string. + * @see http://msdn.microsoft.com/en-us/library/cc288207(v=vs.85).aspx + * @return {undefined} + + * Called if the request could not be completed. Note that error information is + * not available. + * @see http://msdn.microsoft.com/en-us/library/ms536930%28v=VS.85%29.aspx + * @type {?function()} + + * Called when the response has finished. + * @see http://msdn.microsoft.com/en-us/library/ms536942%28v=VS.85%29.aspx + * @type {?function()} + + * Called every time part of the response has been received. + * @see http://msdn.microsoft.com/en-us/library/cc197058%28v=VS.85%29.aspx + * @type {?function()} + + * Called if the timeout period has elapsed. + * @see http://msdn.microsoft.com/en-us/library/cc197061%28v=VS.85%29.aspx + * @type {?function()} + + * The current response body. + * @see http://msdn.microsoft.com/en-us/library/cc287956%28v=VS.85%29.aspx + * @type {string} + + * The timeout (in milliseconds) for the request. + * @type {number} + + * The Content-Type of the response, or an empty string. + * @type {string} + + * @type {string} + * @see http://msdn.microsoft.com/en-us/library/ms533542(v=vs.85).aspx + + * @type {number} + * @see https://msdn.microsoft.com/en-us/library/ie/hh772144(v=vs.85).aspx + + * @type {boolean} + * @see http://blogs.msdn.com/b/ie/archive/2011/09/20/touch-input-for-ie10-and-metro-style-apps.aspx + + * @param {(!File|!Blob)} blob + * @param {string=} opt_defaultName + * @return {boolean} + * @see https://msdn.microsoft.com/en-us/library/hh772331(v=vs.85).aspx + + * @param {(!File|!Blob)} blob + * @param {string=} opt_defaultName + * @return {boolean} + * @see https://msdn.microsoft.com/en-us/library/hh772332(v=vs.85).aspx + + * @type {number} + * @see http://msdn.microsoft.com/en-us/library/ms533721(v=vs.85).aspx + + * @type {number} + * @see http://msdn.microsoft.com/en-us/library/ms534128%28v=vs.85%29.aspx + + * @type {number} + * @see http://msdn.microsoft.com/en-us/library/ms534130%28v=vs.85%29.aspx + XMLDOMDocumentondataavailableontransformnodeparseErrorpreserveWhiteSpaceresolveExternalsvalidateOnParsecreateNodexmlSourceloadXMLnodeFromIDbaseNamedefinitioninsertAdjacentHTMLsWheresTextnodeTypedValuenodeTypeStringparsedparentElementspecifiedxmlselectNodesselectSingleNodetransformNodetransformNodeToObjectoutputObjectremoveNodeopt_bRemoveChildrendialogHeightdialogLeftdialogTopdialogWidthmaxConnectionsPer1_0ServermaxConnectionsPerServeroffscreenBufferingscreenLeftscreenTopcreatePopupexecScriptmoveByopt_windowNameopt_windowFeaturesopt_replaceresizeByresizeTosetActiveshowHelpshowModelessDialogexternalopt_distanceHTMLFrameElementallowTransparencycreateControlRangeHTMLScriptElementControlRangeTextRangeboundingHeightboundingLeftboundingTopboundingWidthhtmlTextoffsetLeftoffsetTopcompareEndPointsduplicateexpandfindTextgetBookmarkgetClientRectsinRangeisEqualmovemoveEndmoveStartmoveToBookmarkmoveToElementTextmoveToPointpasteHTMLsetEndPointcreateRangeCollectioncontrolRangedefaultCharsetexpandofileCreatedDatefileModifiedDateselectionuniqueIDURLUnencodedXMLDocumentXSLDocumentcreateEventObjectcreateStyleSheethasFocusmergeAttributesrecalcreleaseCapturechildNodesnamespacesaddBehaviorsUrlcanHaveChildrenclassidcomponentFromPointiCoordXiCoordYcreateTextRangecurrentStyledoScrollopt_actionfireEventhideFocusisContentEditablemsSetPointerCapturemsReleasePointerCaptureonbeforedeactivateonmouseenteronmouseleaveonselectstartremoveBehavioriIDruntimeStylesStoreNamesetCaptureopt_bContainerCapturesourceIndexunselectableHTMLFiltersCollectionHTMLFilterAlphaFilterOpacityAlphaImageLoaderFiltersizingMethodancestorOriginsreloadopt_forceReloadRuntimeObjectHTMLStyleElementstyleSheetXDomainRequestbstrMethodbstrUrlvarBodyresponseTextbrowserLanguagemsMaxTouchPointsmsPointerEnabledmsSaveBlobopt_defaultNamemsSaveOrOpenBlobdeviceXDPIlogicalXDPIlogicalYDPIDefinitions for all the extensions over the +W3C's DOM specification by IE in JScript. This file depends on +w3c_dom2.js. The whole file has NOT been fully type annotated. +* When a non-standard extension appears in both Gecko and IE, we put +it in gecko_dom.js +*stevey@google.com (Steve Yegge)http://msdn.microsoft.com/en-us/library/ms757878(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms761398(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms762647(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms764640(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms753795(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms756041(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms761353(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms753702(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms762283(VS.85).aspx +http://msdn.microsoft.com/en-us/library/ms760290(v=vs.85).aspx +http://msdn.microsoft.com/en-us/library/ms767669(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms762791(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms763830(VS.85).aspx +http://msdn.microsoft.com/en-us/library/ms757901(VS.85).aspx +http://msdn.microsoft.com/en-us/library/ms762722(VS.85).aspx +http://msdn.microsoft.com/en-us/library/ms754585(VS.85).aspx +http://msdn.microsoft.com/en-us/library/ms766397(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms767570(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms762763(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms764733(VS.85).aspxIE5 used document instead of ownerDocument. +Old versions of WebKit used document instead of contentDocument.Inserts the given HTML text into the element at the location.Where to insert the HTML text, one of 'beforeBegin', +'afterBegin', 'beforeEnd', 'afterEnd'. +HTML text to insert. +http://msdn.microsoft.com/en-us/library/ms536452(VS.85).aspx +http://msdn.microsoft.com/en-us/library/ms762308(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms757895(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms762237(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms534327(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms753816(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms762687(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms755989(VS.85).aspxAn XPath expression. +http://msdn.microsoft.com/en-us/library/ms754523(VS.85).aspx +http://msdn.microsoft.com/en-us/library/ms757846(VS.85).aspx +XSLT stylesheet. +http://msdn.microsoft.com/en-us/library/ms761399(VS.85).aspx +http://msdn.microsoft.com/en-us/library/ms766561(VS.85).aspx +Whether to remove the entire sub-tree. +Defaults to false. +The object that was removed. +http://msdn.microsoft.com/en-us/library/ms536708(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx +Type of clipboard data to clear. 'Text' or +'URL' or 'File' or 'HTML' or 'Image'. +Type of clipboard data to set ('Text' or 'URL'). +Data to set +Whether the data were set correctly.Type of clipboard data to get ('Text' or 'URL'). +The current datahttp://msdn.microsoft.com/en-us/library/ms533724(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms533725(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms533726(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms533727(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms535863(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/cc197012(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/cc197013(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms534198(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms534389(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536343(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536392(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536411(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536420(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536425(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536618(VS.85).aspx +http://msdn.microsoft.com/en-us/library/ms536626(VS.85).aspx +http://msdn.microsoft.com/en-us/library/ms536638(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536651(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536672(VS.85).aspx +http://msdn.microsoft.com/en-us/library/ms536722(VS.85).aspx +http://msdn.microsoft.com/en-us/library/ms536723(VS.85).aspx +http://msdn.microsoft.com/en-us/library/ms536738(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536758(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536761(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms535246%28v=vs.85%29.aspx +http://msdn.microsoft.com/en-us/library/ms535864(VS.85).aspx +The number of entries to go back, or +the URL to which to go back. (URL form is supported only in IE) +The number of entries to go back +(Mozilla doesn't support distance -- use #go instead) +http://msdn.microsoft.com/en-us/library/ie/ms533072(v=vs.85).aspxhttp://msdn.microsoft.com/en-us/library/ms533692(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536385(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms535872.aspxhttp://msdn.microsoft.com/en-us/library/ms533538(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms533539(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms533540(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms533541(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms533874(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms534200(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms534303(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms534676(VS.85).aspxopt_toStarthttp://msdn.microsoft.com/en-us/library/ms536371(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536373(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536416(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536419(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536421(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536422(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536432(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536433(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536435(VS.85).aspx(TextRange|ControlRange)http://msdn.microsoft.com/en-us/library/ms536450(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536458(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536616(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536620(VS.85).aspxopt_counthttp://msdn.microsoft.com/en-us/library/ms536623(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536628(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536630(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536632(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536654(VS.85).aspx +?Elementhttp://msdn.microsoft.com/en-us/library/ms536656(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536681(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536730(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536735(VS.85).aspxhowsourceRangehttp://msdn.microsoft.com/en-us/library/ms536745(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536418(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536394(VS.85).aspxArray.http://msdn.microsoft.com/en-us/library/ms536396(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms537447(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms533065(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms533553(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms533693(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms533714(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms533731(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/cc196988(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms533747(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms533750(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms533751(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms533752(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms534331(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms534353(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms535869(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms534704(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms534709(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms535155(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms535163(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536390(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms531194(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536447(VS.85).aspx +http://msdn.microsoft.com/en-us/library/ms536614(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536685(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536689(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms537434(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms537445(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms537459(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms537470(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms537487(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms535922(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/mm536343(v=vs.85).aspxhttp://msdn.microsoft.com/en-us/library/ms533546(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms533559(v=vs.85).aspxInteger that specifies the client window coordinate +of x. +Integer that specifies the client window coordinate +of y. +The component of an element located at the specified +coordinates. +http://msdn.microsoft.com/en-us/library/ms536375(VS.85).aspx +http://msdn.microsoft.com/en-us/library/ms533690(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536401(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms535231(VS.85).aspx +http://msdn.microsoft.com/en-us/library/ie/ms536411(v=vs.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536414%28VS.85%29.aspx +http://msdn.microsoft.com/en-us/library/ms536423(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms533783(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms533899.aspxhttp://msdn.microsoft.com/en-us/library/ms537838(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms531395(v=vs.85).aspx +NOTE: Left untyped to avoid conflict with subclasses.Id of the pointer that is assign to the element. +http://msdn.microsoft.com/en-us/library/ie/hh771882(v=vs.85).aspx +http://msdn.microsoft.com/en-us/library/ie/hh771880.aspx +http://msdn.microsoft.com/en-us/library/ms536903(v=vs.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536945(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536946(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536969(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/aa752326(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536689(VS.85).aspx +http://msdn.microsoft.com/en-us/library/ms536700(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/aa703996(VS.85).aspxThe arbitrary name assigned to a persistent object +in a UserData store. +http://msdn.microsoft.com/en-us/library/ms531403(v=vs.85).aspx +Events originating in a container are +captured by the container. Defaults to true. +http://msdn.microsoft.com/en-us/library/ms536742(VS.85).aspx +http://msdn.microsoft.com/en-us/library/ms534635(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms537840.aspxhttp://msdn.microsoft.com/en-us/library/aa752462(v=vs.85).aspxhttp://msdn.microsoft.com/en-us/library/aa752463(v=vs.85).aspx +http://msdn.microsoft.com/en-us/library/ms537452(v=vs.85).aspx +http://msdn.microsoft.com/en-us/library/ms532853(v=vs.85).aspxhttp://msdn.microsoft.com/en-us/library/ms532954(v=vs.85).aspx +http://msdn.microsoft.com/en-us/library/ms532967(v=vs.85).aspxhttp://msdn.microsoft.com/en-us/library/ms532910(v=vs.85).aspx +http://msdn.microsoft.com/en-us/library/ms532969(v=vs.85).aspxhttp://msdn.microsoft.com/en-us/library/ms532920(v=vs.85).aspx +http://msdn.microsoft.com/en-us/library/ms535866(VS.85).aspxhttp://trac.webkit.org/changeset/113945 +DOMStringListhttp://msdn.microsoft.com/en-us/library/ms533775(VS.85).aspx +http://msdn.microsoft.com/en-us/library/ms533784(VS.85).aspx +http://msdn.microsoft.com/en-us/library/ms533785(VS.85).aspx +http://msdn.microsoft.com/en-us/library/ms533867(VS.85).aspx +https://docs.google.com/document/view?id=1r_VTFKApVOaNIkocrg0z-t7lZgzisTuGTXkdzAk4gLU&hl=en +http://msdn.microsoft.com/en-us/library/ms534332(VS.85).aspx +http://msdn.microsoft.com/en-us/library/ms534342(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms534353(VS.85).aspx +http://msdn.microsoft.com/en-us/library/ms534620(VS.85).aspx +http://msdn.microsoft.com/en-us/library/ms536342(VS.85).aspx +If true, reloads the page from +the server. Defaults to false. +http://msdn.microsoft.com/en-us/library/ms536691(VS.85).aspx +http://msdn.microsoft.com/en-us/library/ms536712(VS.85).aspx +http://msdn.microsoft.com/en-us/library/dd347030(VS.85).aspxIE implements Cross Origin Resource Sharing (cross-domain XMLHttpRequests) +via the XDomainRequest object.http://msdn.microsoft.com/en-us/library/cc288060(v=vs.85).aspx +http://www.w3.org/TR/cors/Aborts the request.http://msdn.microsoft.com/en-us/library/cc288129(v=vs.85).aspx +Sets the method and URL for the request.Either "GET" or "POST" +The target URL +http://msdn.microsoft.com/en-us/library/cc288168(v=vs.85).aspx +Sends the request.The POST body to send to the server. If omitted, +the behavior is identical to sending an empty string. +http://msdn.microsoft.com/en-us/library/cc288207(v=vs.85).aspx +Called if the request could not be completed. Note that error information is +not available.http://msdn.microsoft.com/en-us/library/ms536930%28v=VS.85%29.aspx +?function ()Called when the response has finished.http://msdn.microsoft.com/en-us/library/ms536942%28v=VS.85%29.aspx +Called every time part of the response has been received.http://msdn.microsoft.com/en-us/library/cc197058%28v=VS.85%29.aspx +Called if the timeout period has elapsed.http://msdn.microsoft.com/en-us/library/cc197061%28v=VS.85%29.aspx +The current response body.http://msdn.microsoft.com/en-us/library/cc287956%28v=VS.85%29.aspx +The timeout (in milliseconds) for the request.The Content-Type of the response, or an empty string.http://msdn.microsoft.com/en-us/library/ms533542(v=vs.85).aspxhttps://msdn.microsoft.com/en-us/library/ie/hh772144(v=vs.85).aspxhttp://blogs.msdn.com/b/ie/archive/2011/09/20/touch-input-for-ie10-and-metro-style-apps.aspx(!File|!Blob)https://msdn.microsoft.com/en-us/library/hh772331(v=vs.85).aspxhttps://msdn.microsoft.com/en-us/library/hh772332(v=vs.85).aspxhttp://msdn.microsoft.com/en-us/library/ms533721(v=vs.85).aspxhttp://msdn.microsoft.com/en-us/library/ms534128%28v=vs.85%29.aspxhttp://msdn.microsoft.com/en-us/library/ms534130%28v=vs.85%29.aspxXMLDOMD ... .async;XMLDOMD ... e.asyncXMLDOMD ... ototypeXMLDOMD ... ilable;XMLDOMD ... ailableXMLDOMD ... change;XMLDOMD ... echangeXMLDOMD ... rmnode;XMLDOMD ... ormnodeXMLDOMD ... eError;XMLDOMD ... seErrorXMLDOMD ... eSpace;XMLDOMD ... teSpaceXMLDOMD ... yState;XMLDOMD ... dyStateXMLDOMD ... ernals;XMLDOMD ... ternalsXMLDOMD ... ue) {};XMLDOMD ... lue) {}XMLDOMD ... ropertyXMLDOMD ... pe.url;XMLDOMD ... ype.urlXMLDOMD ... nParse;XMLDOMD ... OnParseXMLDOMD ... n() {};XMLDOMD ... on() {}XMLDOMD ... e.abortXMLDOMD ... RI) {};XMLDOMD ... URI) {}XMLDOMD ... ateNodefunctio ... URI) {}XMLDOMD ... ce) {};XMLDOMD ... rce) {}XMLDOMD ... pe.loadXMLDOMD ... ng) {};XMLDOMD ... ing) {}XMLDOMD ... loadXMLXMLDOMD ... id) {};XMLDOMD ... (id) {}XMLDOMD ... eFromIDNode.pr ... seName;Node.pr ... aseNameNode.pr ... taType;Node.pr ... ataTypeNode.pr ... nition;Node.pr ... initionNode.pr ... cument;Node.pr ... ocumentNode.pr ... xt) {};Node.pr ... ext) {}Node.pr ... entHTMLNode.pr ... dValue;Node.pr ... edValueNode.pr ... String;Node.pr ... eStringNode.pr ... parsed;Node.pr ... .parsedNode.pr ... lement;Node.pr ... ElementNode.pr ... cified;Node.pr ... ecifiedNode.prototype.text;Node.prototype.textNode.prototype.xml;Node.prototype.xmlNode.pr ... on) {};Node.pr ... ion) {}Node.pr ... ctNodesNode.pr ... gleNodeNode.pr ... et) {};Node.pr ... eet) {}Node.pr ... ormNodefunctio ... eet) {}Node.pr ... ct) {};Node.pr ... ect) {}Node.pr ... oObjecttransfo ... oObjectNode.pr ... en) {};Node.pr ... ren) {}Node.pr ... oveNodefunctio ... ren) {}Clipboa ... pe) {};Clipboa ... ype) {}Clipboa ... earDataClipboa ... ototypeClipboa ... ta) {};Clipboa ... ata) {}Clipboa ... setDataClipboa ... e) { };Clipboa ... pe) { }Clipboa ... getDatafunction(type) { }{ }var window;Window. ... rdData;Window. ... ardDataWindow. ... Height;Window. ... gHeightWindow. ... ogLeft;Window. ... logLeftWindow. ... logTop;Window. ... alogTopWindow. ... gWidth;Window. ... ogWidthWindow. ... .event;Window. ... e.eventWindow. ... Server;Window. ... 0ServermaxConn ... 0ServerWindow. ... rServermaxConn ... rServerWindow. ... fering;Window. ... fferingWindow. ... enLeft;Window. ... eenLeftWindow. ... eenTop;Window. ... reenTopWindow. ... hEvent;Window. ... chEventWindow. ... ePopup;Window. ... tePopupWindow. ... Script;Window. ... cScriptWindow. ... .focus;Window. ... y) {};Window. ... , y) {}Window. ... .moveByWindow. ... .moveToWindow. ... vigate;Window. ... avigateWindow. ... ce) {};Window. ... ace) {}Window. ... pe.openWindow. ... e.printWindow. ... ht) {};Window. ... ght) {}Window. ... esizeByWindow. ... esizeToWindow. ... Active;Window. ... tActiveWindow. ... owHelp;Window. ... howHelpWindow. ... sDialogWindow. ... ternal;Window. ... xternalHistory ... ta) {};History ... lta) {}History.prototype.gofunction(delta) {}History ... ce) {};History ... nce) {}History ... pe.backHistory ... length;History ... .lengthHistory ... n() {};History ... on() {}History ... forwardHTMLFra ... arency;HTMLFra ... parencyHTMLFra ... ototypeHTMLFra ... Window;HTMLFra ... tWindowHTMLIFr ... arency;HTMLIFr ... parencyHTMLIFr ... Window;HTMLIFr ... tWindowHTMLBod ... lRange;HTMLBod ... olRangeHTMLBod ... ototypeHTMLScr ... yState;HTMLScr ... dyStateHTMLScr ... ototypeHTMLIFr ... yState;HTMLIFr ... dyStateHTMLIma ... yState;HTMLIma ... dyStateHTMLObj ... yState;HTMLObj ... dyStatefunctio ... ge() {}Control ... pe.add;Control ... ype.addControl ... ototypeControl ... lement;Control ... ElementControl ... ommand;Control ... CommandControl ... e.item;Control ... pe.itemControl ... nabled;Control ... EnabledControl ... determ;Control ... ndetermControl ... dState;Control ... ndStateControl ... ported;Control ... pportedControl ... dValue;Control ... ndValueControl ... remove;Control ... .removeControl ... toView;Control ... ntoViewControl ... select;Control ... .selectTextRan ... Height;TextRan ... gHeightTextRange.prototypeTextRan ... ngLeft;TextRan ... ingLeftTextRan ... ingTop;TextRan ... dingTopTextRan ... gWidth;TextRan ... ngWidthTextRan ... mlText;TextRan ... tmlTextTextRan ... etLeft;TextRan ... setLeftTextRan ... setTop;TextRan ... fsetTopTextRan ... e.text;TextRan ... pe.textTextRan ... llapse;TextRan ... ollapseTextRan ... Points;TextRan ... dPointsTextRan ... licate;TextRan ... plicateTextRan ... ommand;TextRan ... CommandTextRan ... expand;TextRan ... .expandTextRan ... ndText;TextRan ... indTextTextRan ... okmark;TextRan ... ookmarkTextRan ... ntRect;TextRan ... entRectTextRan ... tRects;TextRan ... ntRectsTextRan ... nRange;TextRan ... inRangeTextRan ... sEqual;TextRan ... isEqualTextRan ... e.move;TextRan ... pe.moveTextRan ... oveEnd;TextRan ... moveEndTextRan ... eStart;TextRan ... veStartTextRan ... ntText;TextRan ... entTextTextRan ... oPoint;TextRan ... ToPointTextRan ... lement;TextRan ... ElementTextRan ... teHTML;TextRan ... steHTMLTextRan ... nabled;TextRan ... EnabledTextRan ... determ;TextRan ... ndetermTextRan ... dState;TextRan ... ndStateTextRan ... ported;TextRan ... pportedTextRan ... dValue;TextRan ... ndValueTextRan ... toView;TextRan ... ntoViewTextRan ... n() {};TextRan ... on() {}TextRan ... .selectTextRan ... dPoint;TextRan ... ndPointSelecti ... e.clearSelecti ... teRangeSelecti ... lectioncreateR ... lectionDocumen ... oadXML;Documen ... loadXMLDocumen ... harset;Documen ... charsetDocumen ... CharsetDocumen ... pe.dir;Documen ... ype.dirDocumen ... ntMode;Documen ... entModeDocumen ... xpando;Documen ... expandoDocumen ... edDate;Documen ... tedDateDocumen ... iedDateDocumen ... leSize;Documen ... ileSizeDocumen ... Window;Documen ... tWindowDocumen ... otocol;Documen ... rotocolHTMLDoc ... yState;HTMLDoc ... dyStateHTMLDoc ... ototypeDocumen ... ection;Documen ... lectionDocumen ... iqueID;Documen ... niqueIDDocumen ... ncoded;Documen ... encodedDocumen ... cument;Documen ... ocumentDocumen ... hEvent;Documen ... chEventDocumen ... tObjectDocumen ... eSheet;Documen ... leSheetDocumen ... .focus;Documen ... e.focusDocumen ... asFocusDocumen ... ibutes;Documen ... ributesDocumen ... recalc;Documen ... .recalcDocumen ... apture;Documen ... CaptureDocumen ... Active;Documen ... tActiveDocumen ... pe.all;Documen ... ype.allDocumen ... dNodes;Documen ... ldNodesDocumen ... frames;Documen ... .framesDocumen ... spaces;Documen ... espacesDocumen ... cripts;Documen ... scriptsElement ... rl) {};Element ... Url) {}Element ... ehaviorfunction(sUrl) {}Element ... hEvent;Element ... chEventElement ... lassid;Element ... classidElement ... dY) {};Element ... rdY) {}Element ... omPointfunctio ... rdY) {}Element ... itable;Element ... ditableElement ... tRange;Element ... xtRangeElement ... tStyle;Element ... ntStyleElement ... on) {};Element ... ion) {}Element ... oScrollElement ... eEvent;Element ... reEventElement ... eFocus;Element ... deFocusElement ... erText;Element ... nerTextElement ... e.load;Element ... pe.loadElement ... Id) {};Element ... rId) {}Element ... Capturefunctio ... rId) {}msRelea ... CaptureElement ... tivate;Element ... ctivateElement ... eenter;Element ... seenterElement ... eleave;Element ... seleaveElement ... tstart;Element ... ctstartElement ... terHTMLElement ... ID) {};Element ... iID) {}function(iID) {}Element ... eStyle;Element ... meStyleElement ... me) {};Element ... ame) {}Element ... pe.saveElement ... re) {};Element ... ure) {}opt_bCo ... CaptureElement ... eIndex;Element ... ceIndexElement ... ctable;Element ... ectableHTMLFil ... lectionHTMLFil ... length;HTMLFil ... .lengthHTMLFil ... ototypeElement ... ilters;Element ... filtersHTMLFil ... n() {};HTMLFil ... on() {}HTMLFil ... e.applyHTMLFilter.prototypeAlphaFi ... pacity;AlphaFi ... OpacityAlphaFi ... ototypeAlphaIm ... rFilterAlphaIm ... Method;AlphaIm ... gMethodAlphaIm ... ototypeLocatio ... rigins;Locatio ... OriginsLocation.prototypeLocatio ... e.hash;Locatio ... pe.hashLocatio ... e.host;Locatio ... pe.hostLocatio ... stname;Locatio ... ostnameLocatio ... e.href;Locatio ... pe.hrefLocatio ... origin;Locatio ... .originLocatio ... thname;Locatio ... athnameLocatio ... e.port;Locatio ... pe.portLocatio ... otocol;Locatio ... rotocolLocatio ... search;Locatio ... .searchLocatio ... rl) {};Locatio ... url) {}Locatio ... .assignLocatio ... ad) {};Locatio ... oad) {}Locatio ... .reloadfunctio ... oad) {}Locatio ... replaceHTMLSty ... eSheet;HTMLSty ... leSheetHTMLSty ... ototypeXDomain ... n() {};XDomain ... on() {}XDomain ... e.abortXDomain ... ototypeXDomain ... rl) {};XDomain ... Url) {}XDomain ... pe.openfunctio ... Url) {}XDomain ... dy) {};XDomain ... ody) {}XDomain ... pe.sendfunction(varBody) {}XDomain ... nerror;XDomain ... onerrorXDomain ... onload;XDomain ... .onloadXDomain ... ogress;XDomain ... rogressXDomain ... imeout;XDomain ... timeoutXDomain ... seText;XDomain ... nseTextXDomain ... ntType;XDomain ... entTypeNavigat ... Points;Navigat ... hPointsNavigat ... me) {};Navigat ... ame) {}Navigat ... aveBlobNavigat ... penBlobScreen. ... ceXDPI;Screen. ... iceXDPIScreen. ... alXDPI;Screen. ... calXDPIScreen. ... alYDPI;Screen. ... calYDPI/opt/codeql/javascript/tools/data/externs/web/ie_event.js + * @fileoverview Definitions for all the extensions over the + * W3C's event specification by IE in JScript. This file depends on + * w3c_event.js. + * + * @see http://msdn.microsoft.com/en-us/library/ms535863.aspx + * @externs + + * A ClipboardData on IE, but a DataTransfer on WebKit. + * @see http://msdn.microsoft.com/en-us/library/ms535220.aspx + * @type {(ClipboardData|undefined)} + @type {Object<*>} /** @ty ... <*>} */ @type {(boolean|string|undefined)} + * @constructor + * @see http://msdn.microsoft.com/en-us/library/windows/apps/hh441257.aspx + + * @constructor + * @extends {Event} + * @see http://msdn.microsoft.com/en-us/library/windows/apps/hh441233.aspx + + * @param {number} pointerId + * @return {undefined} + + * @param {string} typeArg + * @param {boolean} canBubbleArg + * @param {boolean} cancelableArg + * @param {Window} viewArg + * @param {number} detailArg + * @param {number} screenXArg + * @param {number} screenYArg + * @param {number} clientXArg + * @param {number} clientYArg + * @param {boolean} ctrlKeyArg + * @param {boolean} altKeyArg + * @param {boolean} shiftKeyArg + * @param {boolean} metaKeyArg + * @param {number} buttonArg + * @param {Element} relatedTargetArg + * @param {number} offsetXArg + * @param {number} offsetYArg + * @param {number} widthArg + * @param {number} heightArg + * @param {number} pressure + * @param {number} rotation + * @param {number} tiltX + * @param {number} tiltY + * @param {number} pointerIdArg + * @param {number} pointerType + * @param {number} hwTimestampArg + * @param {boolean} isPrimary + * @return {undefined} + * @see http://msdn.microsoft.com/en-us/library/windows/apps/hh441246.aspx + + * @constructor + * @see http://msdn.microsoft.com/en-us/library/ie/hh968249(v=vs.85).aspx + + * @constructor + * @extends {Event} + * @see http://msdn.microsoft.com/en-us/library/ie/hh772076(v=vs.85).aspx + @type {!MSGesture} /** @ty ... ure} */ + * @param {string} typeArg + * @param {boolean} canBubbleArg + * @param {boolean} cancelableArg + * @param {Window} viewArg + * @param {number} detailArg + * @param {number} screenXArg + * @param {number} screenYArg + * @param {number} clientXArg + * @param {number} clientYArg + * @param {number} offsetXArg + * @param {number} offsetYArg + * @param {number} translationXArg + * @param {number} translationYArg + * @param {number} scaleArg + * @param {number} expansionArg + * @param {number} rotationArg + * @param {number} velocityXArg + * @param {number} velocityYArg + * @param {number} velocityExpansionArg + * @param {number} velocityAngularArg + * @param {number} hwTimestampArg + * @param {EventTarget} relatedTargetArg + * @return {undefined} + * @see http://msdn.microsoft.com/en-us/library/windows/apps/hh441187.aspx + AbstractaltLeftBannercontentOverflowctrlLeftdataFldMoreInfonextPagequalifierrecordsetsaveTypeshiftLeftsrcFiltersrcUrnuserNameMSPointerPointMSPointerEventMSPOINTER_TYPE_MOUSEMSPOINTER_TYPE_PENMSPOINTER_TYPE_TOUCHhwTimestampinitPointerEventMSGestureaddPointerMSGestureEventexpansiongestureObjecttranslationXtranslationYvelocityAngularvelocityExpansionvelocityXvelocityYinitGestureEventDefinitions for all the extensions over the +W3C's event specification by IE in JScript. This file depends on +w3c_event.js. +*http://msdn.microsoft.com/en-us/library/ms535863.aspx +A ClipboardData on IE, but a DataTransfer on WebKit.http://msdn.microsoft.com/en-us/library/ms535220.aspx +(ClipboardData|undefined)Object.<*>(boolean|string|undefined)http://msdn.microsoft.com/en-us/library/windows/apps/hh441257.aspxhttp://msdn.microsoft.com/en-us/library/windows/apps/hh441233.aspxviewArgdetailArgscreenXArgscreenYArgclientXArgclientYArgctrlKeyArgaltKeyArgshiftKeyArgmetaKeyArgbuttonArgrelatedTargetArgoffsetXArgoffsetYArgwidthArgheightArgpointerIdArghwTimestampArghttp://msdn.microsoft.com/en-us/library/windows/apps/hh441246.aspxhttp://msdn.microsoft.com/en-us/library/ie/hh968249(v=vs.85).aspxhttp://msdn.microsoft.com/en-us/library/ie/hh772076(v=vs.85).aspx!MSGesturetranslationXArgtranslationYArgscaleArgexpansionArgrotationArgvelocityXArgvelocityYArgvelocityExpansionArgvelocityAngularArghttp://msdn.microsoft.com/en-us/library/windows/apps/hh441187.aspxEvent.p ... stract;Event.p ... bstractEvent.p ... ltLeft;Event.p ... altLeftEvent.p ... Banner;Event.p ... .BannerEvent.p ... rdData;Event.p ... ardDataEvent.p ... erflow;Event.p ... verflowEvent.p ... rlLeft;Event.p ... trlLeftEvent.p ... ataFld;Event.p ... dataFldEvent.p ... domain;Event.p ... .domainEvent.p ... lement;Event.p ... ElementEvent.p ... reInfo;Event.p ... oreInfoEvent.p ... xtPage;Event.p ... extPageEvent.p ... ffsetX;Event.p ... offsetXEvent.p ... ffsetY;Event.p ... offsetYEvent.p ... tyName;Event.p ... rtyNameEvent.p ... lifier;Event.p ... alifierEvent.p ... reason;Event.p ... .reasonEvent.p ... ordset;Event.p ... cordsetEvent.p ... repeat;Event.p ... .repeatEvent.p ... nValue;Event.p ... rnValueEvent.p ... veType;Event.p ... aveTypeEvent.p ... scheme;Event.p ... .schemeEvent.p ... ftLeft;Event.p ... iftLeftEvent.p ... source;Event.p ... .sourceEvent.p ... Filter;Event.p ... cFilterEvent.p ... srcUrn;Event.p ... .srcUrnEvent.p ... erName;Event.p ... serNameEvent.p ... lDelta;Event.p ... elDeltaEvent.prototype.x;Event.prototype.xEvent.prototype.y;Event.prototype.yMSPoint ... nterId;MSPoint ... interIdMSPoint ... ototypeMSPoint ... erType;MSPoint ... terTypeMSPoint ... _MOUSE;MSPoint ... E_MOUSEMSPoint ... PE_PEN;MSPoint ... YPE_PENMSPoint ... _TOUCH;MSPoint ... E_TOUCHMSPoint ... height;MSPoint ... .heightMSPoint ... estamp;MSPoint ... mestampMSPoint ... rimary;MSPoint ... PrimaryMSPoint ... essure;MSPoint ... ressureMSPoint ... tation;MSPoint ... otationMSPoint ... .tiltX;MSPoint ... e.tiltXMSPoint ... .tiltY;MSPoint ... e.tiltYMSPoint ... eStamp;MSPoint ... meStampMSPoint ... .width;MSPoint ... e.widthMSPoint ... apture;MSPoint ... CaptureMSPoint ... rEvent;MSPoint ... erEventMSGestu ... target;MSGestu ... .targetMSGesture.prototypeMSGestu ... Id) {};MSGestu ... rId) {}MSGestu ... PointerMSGestu ... n() {};MSGestu ... on() {}MSGestu ... pe.stopMSGestu ... ansion;MSGestu ... pansionMSGestu ... ototypeMSGestu ... Object;MSGestu ... eObjectMSGestu ... estamp;MSGestu ... mestampMSGestu ... tation;MSGestu ... otationMSGestu ... .scale;MSGestu ... e.scaleMSGestu ... ationX;MSGestu ... lationXMSGestu ... ationY;MSGestu ... lationYMSGestu ... ngular;MSGestu ... AngularMSGestu ... ocityX;MSGestu ... locityXMSGestu ... ocityY;MSGestu ... locityYMSGestu ... eEvent;MSGestu ... reEvent/opt/codeql/javascript/tools/data/externs/web/ie_vml.js + * @fileoverview Definitions for IE's vector markup language, or VML. + * + * @externs + * @author robbyw@google.com (Robby Walker) + /**\n * ... er)\n */ + * @type {Object|string} + * @see http://msdn.microsoft.com/en-us/library/bb263836(VS.85).aspx + + * @type {Object|string} + * @see http://msdn.microsoft.com/en-us/library/bb263837(VS.85).aspx + + * @type {string} + * @see http://msdn.microsoft.com/en-us/library/bb263839(VS.85).aspx + + * @type {boolean} + * @see http://msdn.microsoft.com/en-us/library/bb263840(VS.85).aspx + + * @type {string} + * @see http://msdn.microsoft.com/en-us/library/bb263871(VS.85).aspx + + * @type {number|string} + * @see http://msdn.microsoft.com/en-us/library/bb263877(VS.85).aspx + + * @type {string} + * @see http://msdn.microsoft.com/en-us/library/bb263881(VS.85).aspx + + * @type {boolean} + * @see http://msdn.microsoft.com/en-us/library/bb263882(VS.85).aspx + + * @type {number|string} + * @see http://msdn.microsoft.com/en-us/library/bb263883(VS.85).aspx + coordorigincoordsizefillcolorfilledstrokecolorstrokedstrokeweightDefinitions for IE's vector markup language, or VML. +*robbyw@google.com (Robby Walker)(Object|string)http://msdn.microsoft.com/en-us/library/bb263836(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/bb263837(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/bb263839(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/bb263840(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/bb263871(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/bb263877(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/bb263881(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/bb263882(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/bb263883(VS.85).aspxElement ... origin;Element ... doriginElement ... rdsize;Element ... ordsizeElement ... lcolor;Element ... llcolorElement ... filled;Element ... .filledElement ... e.path;Element ... pe.pathElement ... tation;Element ... otationElement ... ecolor;Element ... kecolorElement ... troked;Element ... strokedElement ... weight;Element ... eweight/opt/codeql/javascript/tools/data/externs/web/intl.js + * NOTE: this API is not from ecma402 and is subject to change. + * @param {string|Array=} opt_locales + * @param {{type: (string|undefined)}=} + * opt_options + * @constructor + + * @param {string} text + * @return {undefined} + + * @constructor + * @param {string|Array=} opt_locales + * @param {{usage: (string|undefined), localeMatcher: (string|undefined), + * sensitivity: (string|undefined), ignorePunctuation: (boolean|undefined), + * numeric: (boolean|undefined), caseFirst: (string|undefined)}=} + * opt_options + + * @param {Array} locales + * @param {{localeMatcher: (string|undefined)}=} opt_options + * @return {Array} + + * @constructor + * @param {string|Array=} opt_locales + * @param {{localeMatcher: (string|undefined), useGrouping: (boolean|undefined), + * numberingSystem: (string|undefined), style: (string|undefined), + * currency: (string|undefined), currencyDisplay: (string|undefined), + * minimumIntegerDigits: (number|undefined), + * minimumFractionDigits: (number|undefined), + * maximumFractionDigits: (number|undefined), + * minimumSignificantDigits: (number|undefined), + * maximumSignificantDigits: (number|undefined)}=} + * opt_options + + * @constructor + * @param {string|Array=} opt_locales + * @param {{localeMatcher: (string|undefined), + * formatMatcher: (string|undefined), calendar: (string|undefined), + * numberingSystem: (string|undefined), tz: (string|undefined), + * weekday: (string|undefined), era: (string|undefined), + * year: (string|undefined), month: (string|undefined), + * day: (string|undefined), hour: (string|undefined), + * minute: (string|undefined), second: (string|undefined), + * timeZoneName: (string|undefined), hour12: (boolean|undefined)}=} + * opt_options + + * @param {Array} locales + * @param {{localeMatcher: string}=} opt_options + * @return {Array} + + * @param {(!Date|number)=} date + * @return {string} + (!Date|number)=(!Date|number)/opt/codeql/javascript/tools/data/externs/web/iphone.js + * @fileoverview Definitions for all iPhone extensions. Created from: + * http://developer.apple.com/library/safari/navigation/ + * + * @externs + * @author agrieve@google.com (Andrew Grieve) + /**\n * ... ve)\n */ + * The distance between two fingers since the start of an event as a multiplier + * of the initial distance. The initial value is 1.0. If less than 1.0, the + * gesture is pinch close (to zoom out). If greater than 1.0, the gesture is + * pinch open (to zoom in). + * @type {number} + + * The delta rotation since the start of an event, in degrees, where clockwise + * is positive and counter-clockwise is negative. The initial value is 0.0. + * @type {number} + + * Initializes a newly created TouchEvent object. + * @param {string} type + * @param {boolean} canBubble + * @param {boolean} cancelable + * @param {Window} view + * @param {number} detail + * @param {number} screenX + * @param {number} screenY + * @param {number} clientX + * @param {number} clientY + * @param {boolean} ctrlKey + * @param {boolean} altKey + * @param {boolean} shiftKey + * @param {boolean} metaKey + * @param {TouchList} touches + * @param {TouchList} targetTouches + * @param {TouchList} changedTouches + * @param {number} scale + * @param {number} rotation + * @return {undefined} + + * The GestureEvent class encapsulates information about a multi-touch gesture. + * + * GestureEvent objects are high-level events that encapsulate the low-level + * TouchEvent objects. Both GestureEvent and TouchEvent events are sent during + * a multi-touch sequence. Gesture events contain scaling and rotation + * information allowing gestures to be combined, if supported by the platform. + * If not supported, one gesture ends before another starts. Listen for + * GestureEvent events if you want to respond to gestures only, not process + * the low-level TouchEvent objects. + * + * @see http://developer.apple.com/library/safari/#documentation/UserExperience/Reference/GestureEventClassReference/GestureEvent/GestureEvent.html + * @extends {UIEvent} + * @constructor + + * The target of this gesture. + * @type {EventTarget} + + * Initializes a newly created GestureEvent object. + * @param {string} type + * @param {boolean} canBubble + * @param {boolean} cancelable + * @param {Window} view + * @param {number} detail + * @param {number} screenX + * @param {number} screenY + * @param {number} clientX + * @param {number} clientY + * @param {boolean} ctrlKey + * @param {boolean} altKey + * @param {boolean} shiftKey + * @param {boolean} metaKey + * @param {EventTarget} target + * @param {number} scale + * @param {number} rotation + * @return {undefined} + + * Specifies the JavaScript method to invoke when a gesture is started by + * two or more fingers touching the surface. + * @type {?function(!GestureEvent)} + + * Specifies the JavaScript method to invoke when fingers are moved during a + * gesture. + * @type {?function(!GestureEvent)} + + * Specifies the JavaScript method to invoke when a gesture ends (when there are + * 0 or 1 fingers touching the surface). + * @type {?function(!GestureEvent)} + + * Specifies the JavaScript method to invoke when the browser device's + * orientation changes, i.e.the device is rotated. + * @type {?function(!Event)} + * @see http://developer.apple.com/library/IOS/#documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html + + * Returns the orientation of the browser's device, one of [-90, 0, 90, 180]. + * @type {number} + * @see http://developer.apple.com/library/IOS/#documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html + + * @implicitCast + * @type {boolean} + TouchwebkitForcewebkitRadiusXwebkitRadiusYTouchEventinitTouchEventcanBubbleGestureEventongesturestartongesturechangeongestureendonorientationchangeautocorrectautocapitalizeDefinitions for all iPhone extensions. Created from: +http://developer.apple.com/library/safari/navigation/ +*agrieve@google.com (Andrew Grieve)The distance between two fingers since the start of an event as a multiplier +of the initial distance. The initial value is 1.0. If less than 1.0, the +gesture is pinch close (to zoom out). If greater than 1.0, the gesture is +pinch open (to zoom in).The delta rotation since the start of an event, in degrees, where clockwise +is positive and counter-clockwise is negative. The initial value is 0.0.Initializes a newly created TouchEvent object.TouchListThe GestureEvent class encapsulates information about a multi-touch gesture. + +GestureEvent objects are high-level events that encapsulate the low-level +TouchEvent objects. Both GestureEvent and TouchEvent events are sent during +a multi-touch sequence. Gesture events contain scaling and rotation +information allowing gestures to be combined, if supported by the platform. +If not supported, one gesture ends before another starts. Listen for +GestureEvent events if you want to respond to gestures only, not process +the low-level TouchEvent objects.http://developer.apple.com/library/safari/#documentation/UserExperience/Reference/GestureEventClassReference/GestureEvent/GestureEvent.html +UIEventThe target of this gesture.Initializes a newly created GestureEvent object.Specifies the JavaScript method to invoke when a gesture is started by +two or more fingers touching the surface.?function (!GestureEvent)function (!GestureEvent)!GestureEventSpecifies the JavaScript method to invoke when fingers are moved during a +gesture.Specifies the JavaScript method to invoke when a gesture ends (when there are +0 or 1 fingers touching the surface).Specifies the JavaScript method to invoke when the browser device's +orientation changes, i.e.the device is rotated.http://developer.apple.com/library/IOS/#documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.htmlReturns the orientation of the browser's device, one of [-90, 0, 90, 180].Touch.p ... tForce;Touch.p ... itForceTouch.prototypeTouch.p ... adiusX;Touch.p ... RadiusXTouch.p ... adiusY;Touch.p ... RadiusYTouchEv ... .scale;TouchEv ... e.scaleTouchEvent.prototypeTouchEv ... tation;TouchEv ... otationTouchEv ... on) {};TouchEv ... ion) {}TouchEv ... chEventGesture ... .scale;Gesture ... e.scaleGesture ... ototypeGesture ... tation;Gesture ... otationGesture ... target;Gesture ... .targetGesture ... on) {};Gesture ... ion) {}Gesture ... reEventElement ... estart;Element ... restartElement ... change;Element ... echangeElement ... ureend;Element ... tureendWindow. ... change;Window. ... nchangeWindow. ... tation;Window. ... ntationHTMLInp ... orrect;HTMLInp ... correctHTMLInp ... talize;HTMLInp ... italizeHTMLTex ... orrect;HTMLTex ... correctHTMLTex ... talize;HTMLTex ... italize/opt/codeql/javascript/tools/data/externs/web/mediasource.js + * Copyright 2012 The Closure Compiler Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + + * @fileoverview Definitions for the Media Source Extensions. Note that the + * properties available here are the union of several versions of the spec. + * @see http://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html + * + * @externs + + * @constructor + * @implements {EventTarget} + @type {Array} /** @ty ... er>} */ + * @param {string} type + * @return {SourceBuffer} + + * @param {SourceBuffer} sourceBuffer + * @return {undefined} + + * Updates the live seekable range. + * @param {number} start + * @param {number} end + + * Clears the live seekable range. + * @return {void} + + * @param {string=} opt_error + * @return {undefined} + + * @param {string} type + * @return {boolean} + + * @param {Uint8Array} data + * @return {undefined} + + * @param {ArrayBuffer|ArrayBufferView} data + * @return {undefined} + + * Abort the current segment append sequence. + * @return {undefined} + + * @param {number} start + * @param {number} end + * @return {undefined} + MediaSourcesourceBuffersactiveSourceBuffersaddSourceBufferremoveSourceBuffersourceBuffersetLiveSeekableRangeclearLiveSeekableRangeendOfStreamisTypeSupportedSourceBufferappendModeupdatingtimestampOffsetappendWindowStartappendWindowEndappendBufferDefinitions for the Media Source Extensions. Note that the +properties available here are the union of several versions of the spec. +http://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html +*Array.Updates the live seekable range.Clears the live seekable range.(ArrayBuffer|ArrayBufferView)Abort the current segment append sequence.functio ... ce() {}MediaSo ... re) {};MediaSo ... ure) {}MediaSo ... istenerMediaSo ... ototypeMediaSo ... vt) {};MediaSo ... evt) {}MediaSo ... chEventMediaSo ... uffers;MediaSo ... BuffersMediaSo ... ration;MediaSo ... urationMediaSo ... pe) {};MediaSo ... ype) {}MediaSo ... eBufferMediaSo ... er) {};MediaSo ... fer) {}MediaSo ... nd) {};MediaSo ... end) {}MediaSo ... leRangeMediaSo ... n() {};MediaSo ... on() {}clearLi ... leRangeMediaSo ... yState;MediaSo ... dyStateMediaSo ... or) {};MediaSo ... ror) {}MediaSo ... fStreamMediaSo ... pportedSourceB ... re) {};SourceB ... ure) {}SourceB ... istenerSourceB ... ototypeSourceB ... vt) {};SourceB ... evt) {}SourceB ... chEventSourceB ... ndMode;SourceB ... endModeSourceB ... dating;SourceB ... pdatingSourceB ... ffered;SourceB ... ufferedSourceB ... Offset;SourceB ... pOffsetSourceB ... wStart;SourceB ... owStartSourceB ... dowEnd;SourceB ... ndowEndSourceB ... ta) {};SourceB ... ata) {}SourceB ... .appendSourceB ... dBufferSourceB ... n() {};SourceB ... on() {}SourceB ... e.abortSourceB ... nd) {};SourceB ... end) {}SourceB ... .remove/opt/codeql/javascript/tools/data/externs/web/page_visibility.js + * Copyright 2015 The Closure Compiler Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + + * @fileoverview Externs for Page Visibility. + * + * @see http://www.w3.org/TR/page-visibility + * @externs + + * Set of possible values: 'hidden', 'visible', 'prerender', 'unloaded'. + * @typedef {string} + * @see http://www.w3.org/TR/page-visibility/#VisibilityState + Externs for Page Visibility. +*http://www.w3.org/TR/page-visibility +Set of possible values: 'hidden', 'visible', 'prerender', 'unloaded'.http://www.w3.org/TR/page-visibility/#VisibilityStatevar VisibilityState;/opt/codeql/javascript/tools/data/externs/web/streamsapi.js + * @fileoverview Streams API definitions + * + * Based on Living Standard — Last Updated 5 August 2016 + * https://streams.spec.whatwg.org/commit-snapshots/34ecaadbcce8df9943d7a2cdb7fca4dc25914df4/ + * + * @see https://streams.spec.whatwg.org/ + * @externs + @typedef {{ value:*, done:boolean }} /** @ty ... n }} */ + * @typedef {!CountQueuingStrategy|!ByteLengthQueuingStrategy|{ + * size: (undefined|function(*): number), + * highWaterMark: number + * }} + @type {!WritableStream} @type {!ReadableStream} + * @type {(undefined| + * function((!ReadableByteStreamController|!ReadableStreamDefaultController)):(!IThenable<*>|undefined))} + @type {(undefined|function(*):(!Promise<*>|undefined))} /** @ty ... d))} */ + * @param {!ReadableStreamSource=} opt_underlyingSource + * @param {!QueuingStrategy=} opt_queuingStrategy + * @constructor + * @see https://streams.spec.whatwg.org/#rs-class + /**\n * ... ass\n */ + * @type {boolean} + * @see https://streams.spec.whatwg.org/#rs-locked + /**\n * ... ked\n */ + * @param {*} reason + * @return {!Promise} + * @see https://streams.spec.whatwg.org/#rs-cancel + /**\n * ... cel\n */ + * @param {{ mode:(undefined|string) }=} opt_options + * @return {(!ReadableStreamDefaultReader|!ReadableStreamBYOBReader)} + * @see https://streams.spec.whatwg.org/#rs-get-reader + /**\n * ... der\n */ + * @param {!TransformStream} transform + * @param {!PipeOptions=} opt_options + * @return {!ReadableStream} + * @see https://streams.spec.whatwg.org/#rs-pipe-through + /**\n * ... ugh\n */ + * @param {!WritableStream} dest + * @param {!PipeOptions=} opt_options + * @return {!Promise} + * @see https://streams.spec.whatwg.org/#rs-pipe-to + /**\n * ... -to\n */ + * @return {!Array} + * @see https://streams.spec.whatwg.org/#rs-tee + /**\n * ... tee\n */ + * The ReadableStreamDefaultReader constructor is generally not meant to be used directly; + * instead, a stream’s getReader() method should be used. + * + * @interface + * @see https://streams.spec.whatwg.org/#default-reader-class + + * @type {!Promise} + * @see https://streams.spec.whatwg.org/#default-reader-closed + + * @param {*} reason + * @return {!Promise<*>} + * @see https://streams.spec.whatwg.org/#default-reader-cancel + + * @return {!Promise} + * @see https://streams.spec.whatwg.org/#default-reader-read + /**\n * ... ead\n */ + * @return {undefined} + * @see https://streams.spec.whatwg.org/#default-reader-release-lock + /**\n * ... ock\n */ + * The ReadableStreamBYOBReader constructor is generally not meant to be used + * directly; instead, a stream’s getReader() method should be used. + * + * @interface + * @see https://streams.spec.whatwg.org/#byob-reader-class + + * @type {!Promise} + * @see https://streams.spec.whatwg.org/#byob-reader-closed + + * @param {*} reason + * @return {!Promise<*>} + * @see https://streams.spec.whatwg.org/#byob-reader-cancel + + * @param {!ArrayBufferView} view + * @return {!Promise} + * @see https://streams.spec.whatwg.org/#byob-reader-read + + * @return {undefined} + * @see https://streams.spec.whatwg.org/#byob-reader-release-lock + + * The ReadableStreamDefaultController constructor cannot be used directly; + * it only works on a ReadableStream that is in the middle of being constructed. + * + * @interface + * @see https://streams.spec.whatwg.org/#rs-default-controller-class + + * @type {number} + * @see https://streams.spec.whatwg.org/#rs-default-controller-desired-size + + * @return {undefined} + * @see https://streams.spec.whatwg.org/#rs-default-controller-close + + * @param {*} chunk + * @return {undefined} + * @see https://streams.spec.whatwg.org/#rs-default-controller-enqueue + /**\n * ... eue\n */ + * @param {*} err + * @return {undefined} + * @see https://streams.spec.whatwg.org/#rs-default-controller-error + + * The ReadableByteStreamController constructor cannot be used directly; + * it only works on a ReadableStream that is in the middle of being constructed. + * + * @interface + * @see https://streams.spec.whatwg.org/#rbs-controller-class + + * @type {!ReadableStreamBYOBRequest} + * @see https://streams.spec.whatwg.org/#rbs-controller-byob-request + + * @type {number} + * @see https://streams.spec.whatwg.org/#rbs-controller-desired-size + + * @return {undefined} + * @see https://streams.spec.whatwg.org/#rbs-controller-close + + * @param {!ArrayBufferView} chunk + * @return {undefined} + * @see https://streams.spec.whatwg.org/#rbs-controller-enqueue + + * @param {*} err + * @return {undefined} + * @see https://streams.spec.whatwg.org/#rbs-controller-error + + * @interface + * @see https://streams.spec.whatwg.org/#rs-byob-request-class + + * @type {!ArrayBufferView} + * @see https://streams.spec.whatwg.org/#rs-byob-request-view + + * @param {number} bytesWritten + * @return {undefined} + * @see https://streams.spec.whatwg.org/#rs-byob-request-respond + + * @param {!ArrayBufferView} view + * @return {undefined} + * @see https://streams.spec.whatwg.org/#rs-byob-request-respond-with-new-view + @type {(undefined|function(!WritableStreamDefaultController):(!IThenable<*>|undefined))}/** @ty ... ed))}*/ @type {(undefined|function():(!IThenable<*>|undefined))} @type {(undefined|function(*):(!IThenable<*>|undefined))} + * @param {!WritableStreamSink=} opt_underlyingSink + * @param {!QueuingStrategy=} opt_queuingStrategy + * @constructor + * @see https://streams.spec.whatwg.org/#ws-class + + * @type {boolean} + * @see https://streams.spec.whatwg.org/#ws-locked + + * @param {*} reason + * @return {!Promise} + * @see https://streams.spec.whatwg.org/#ws-abort + + * @return {!WritableStreamDefaultWriter} + * @see https://streams.spec.whatwg.org/#ws-get-writer + + * @interface + * @see https://streams.spec.whatwg.org/#default-writer-class + + * @type {!Promise} + * @see https://streams.spec.whatwg.org/#default-writer-closed + + * @type {number} + * @see https://streams.spec.whatwg.org/#default-writer-desiredSize + + * @type {!Promise} + * @see https://streams.spec.whatwg.org/#default-writer-ready + /**\n * ... ady\n */ + * @param {*} reason + * @return {!Promise} + * @see https://streams.spec.whatwg.org/#default-writer-abort + + * @return {!Promise} + * @see https://streams.spec.whatwg.org/#default-writer-close + + * @return {undefined} + * @see https://streams.spec.whatwg.org/#default-writer-release-lock + + * @param {*} chunk + * @return {!Promise} + * @see https://streams.spec.whatwg.org/#default-writer-write + + * The WritableStreamDefaultController constructor cannot be used directly; + * it only works on a WritableStream that is in the middle of being constructed. + * + * @interface + * @see https://streams.spec.whatwg.org/#ws-default-controller-class + + * @param {*} err + * @return {!Promise} + * @see https://streams.spec.whatwg.org/#ws-default-controller-error + + * @param {{ highWaterMark:number }} config + * @constructor + * @see https://streams.spec.whatwg.org/#blqs-class + + * If we don't want to be strict we can define chunk as {*} + * and return as {number|undefined} + * + * @param {{ byteLength:number }} chunk + * @return {number} + * @see https://streams.spec.whatwg.org/#blqs-size + + * @param {{ highWaterMark:number }} config + * @constructor + * @see https://streams.spec.whatwg.org/#cqs-class + + * @param {*} chunk + * @return {number} + * @see https://streams.spec.whatwg.org/#cqs-size + IteratorResultQueuingStrategyPipeOptionspreventCancelReadableStreamSourceautoAllocateChunkSizeopt_underlyingSourceopt_queuingStrategydestteeReadableStreamDefaultReaderReadableStreamBYOBReaderReadableStreamDefaultControllerdesiredSizeReadableByteStreamControllerbyobRequestReadableStreamBYOBRequestrespondrespondWithNewViewWritableStreamSinkopt_underlyingSinkWritableStreamDefaultWriterWritableStreamDefaultControllerByteLengthQueuingStrategyCountQueuingStrategyStreams API definitions +* Based on Living Standard — Last Updated 5 August 2016 +https://streams.spec.whatwg.org/commit-snapshots/34ecaadbcce8df9943d7a2cdb7fca4dc25914df4/ +*https://streams.spec.whatwg.org/ +{value: *, done: boolean}(!CountQueuingStrategy|!ByteLengthQueuingStrategy|{size: (undefined|function (*): number), highWaterMark: number})!CountQueuingStrategy!ByteLengthQueuingStrategy{size: (undefined|function (*): number), highWaterMark: number}(undefined|function (*): number)function (*): number!WritableStream(undefined|function ((!ReadableByteStreamController|!ReadableStreamDefaultController)): (!IThenable.<*>|undefined))function ((!ReadableByteStreamController|!ReadableStreamDefaultController)): (!IThenable.<*>|undefined)(!ReadableByteStreamController|!ReadableStreamDefaultController)!ReadableByteStreamController!ReadableStreamDefaultController(!IThenable.<*>|undefined)!IThenable.<*>IThenable.<*>(undefined|function (*): (!Promise.<*>|undefined))function (*): (!Promise.<*>|undefined)(!Promise.<*>|undefined)!ReadableStreamSource=!ReadableStreamSource!QueuingStrategy=!QueuingStrategyhttps://streams.spec.whatwg.org/#rs-classhttps://streams.spec.whatwg.org/#rs-locked!Promise.Promise.https://streams.spec.whatwg.org/#rs-cancel{mode: (undefined|string)}={mode: (undefined|string)}(!ReadableStreamDefaultReader|!ReadableStreamBYOBReader)!ReadableStreamDefaultReader!ReadableStreamBYOBReaderhttps://streams.spec.whatwg.org/#rs-get-reader!TransformStream!PipeOptions=!PipeOptionshttps://streams.spec.whatwg.org/#rs-pipe-throughhttps://streams.spec.whatwg.org/#rs-pipe-to!Array.Array.https://streams.spec.whatwg.org/#rs-teeThe ReadableStreamDefaultReader constructor is generally not meant to be used directly; +instead, a stream’s getReader() method should be used.https://streams.spec.whatwg.org/#default-reader-classhttps://streams.spec.whatwg.org/#default-reader-closedhttps://streams.spec.whatwg.org/#default-reader-cancel!Promise.Promise.!IteratorResulthttps://streams.spec.whatwg.org/#default-reader-readhttps://streams.spec.whatwg.org/#default-reader-release-lockThe ReadableStreamBYOBReader constructor is generally not meant to be used +directly; instead, a stream’s getReader() method should be used.https://streams.spec.whatwg.org/#byob-reader-classhttps://streams.spec.whatwg.org/#byob-reader-closedhttps://streams.spec.whatwg.org/#byob-reader-cancelhttps://streams.spec.whatwg.org/#byob-reader-readhttps://streams.spec.whatwg.org/#byob-reader-release-lockThe ReadableStreamDefaultController constructor cannot be used directly; +it only works on a ReadableStream that is in the middle of being constructed.https://streams.spec.whatwg.org/#rs-default-controller-classhttps://streams.spec.whatwg.org/#rs-default-controller-desired-sizehttps://streams.spec.whatwg.org/#rs-default-controller-closehttps://streams.spec.whatwg.org/#rs-default-controller-enqueuehttps://streams.spec.whatwg.org/#rs-default-controller-errorThe ReadableByteStreamController constructor cannot be used directly; +it only works on a ReadableStream that is in the middle of being constructed.https://streams.spec.whatwg.org/#rbs-controller-class!ReadableStreamBYOBRequesthttps://streams.spec.whatwg.org/#rbs-controller-byob-requesthttps://streams.spec.whatwg.org/#rbs-controller-desired-sizehttps://streams.spec.whatwg.org/#rbs-controller-closehttps://streams.spec.whatwg.org/#rbs-controller-enqueuehttps://streams.spec.whatwg.org/#rbs-controller-errorhttps://streams.spec.whatwg.org/#rs-byob-request-classhttps://streams.spec.whatwg.org/#rs-byob-request-viewhttps://streams.spec.whatwg.org/#rs-byob-request-respondhttps://streams.spec.whatwg.org/#rs-byob-request-respond-with-new-view(undefined|function (!WritableStreamDefaultController): (!IThenable.<*>|undefined))function (!WritableStreamDefaultController): (!IThenable.<*>|undefined)!WritableStreamDefaultController(undefined|function (): (!IThenable.<*>|undefined))function (): (!IThenable.<*>|undefined)(undefined|function (*): (!IThenable.<*>|undefined))function (*): (!IThenable.<*>|undefined)!WritableStreamSink=!WritableStreamSinkhttps://streams.spec.whatwg.org/#ws-classhttps://streams.spec.whatwg.org/#ws-locked!Promise.Promise.https://streams.spec.whatwg.org/#ws-abort!WritableStreamDefaultWriterhttps://streams.spec.whatwg.org/#ws-get-writerhttps://streams.spec.whatwg.org/#default-writer-classhttps://streams.spec.whatwg.org/#default-writer-closedhttps://streams.spec.whatwg.org/#default-writer-desiredSize!Promise.Promise.https://streams.spec.whatwg.org/#default-writer-readyhttps://streams.spec.whatwg.org/#default-writer-aborthttps://streams.spec.whatwg.org/#default-writer-closehttps://streams.spec.whatwg.org/#default-writer-release-lockhttps://streams.spec.whatwg.org/#default-writer-writeThe WritableStreamDefaultController constructor cannot be used directly; +it only works on a WritableStream that is in the middle of being constructed.https://streams.spec.whatwg.org/#ws-default-controller-classhttps://streams.spec.whatwg.org/#ws-default-controller-error{highWaterMark: number}https://streams.spec.whatwg.org/#blqs-classIf we don't want to be strict we can define chunk as {*} +and return as {number|undefined}{byteLength: number}https://streams.spec.whatwg.org/#blqs-sizehttps://streams.spec.whatwg.org/#cqs-classhttps://streams.spec.whatwg.org/#cqs-sizevar IteratorResult;var QueuingStrategy;functio ... am() {}Transfo ... itable;Transfo ... ritableTransfo ... ototypeTransfo ... adable;Transfo ... eadablePipeOpt ... tClose;PipeOpt ... ntClosePipeOpt ... ototypePipeOpt ... tAbort;PipeOpt ... ntAbortPipeOpt ... Cancel;PipeOpt ... tCancelReadabl ... .start;Readabl ... e.startReadabl ... ototypeReadabl ... e.pull;Readabl ... pe.pullReadabl ... cancel;Readabl ... .cancelReadabl ... e.type;Readabl ... pe.typeReadabl ... nkSize;Readabl ... unkSizeautoAll ... unkSizefunctio ... egy) {}Readabl ... locked;Readabl ... .lockedReadabl ... on) {};Readabl ... son) {}function(reason) {}Readabl ... ns) {};Readabl ... ons) {}Readabl ... tReaderReadabl ... ThroughReadabl ... .pipeToReadabl ... n() {};Readabl ... on() {}Readabl ... ype.teeReadabl ... closed;Readabl ... .closedReadabl ... pe.readReadabl ... aseLockReadabl ... BReaderReadabl ... ew) {};Readabl ... iew) {}function(view) {}Readabl ... trollerReadabl ... edSize;Readabl ... redSizeReadabl ... e.closeReadabl ... nk) {};Readabl ... unk) {}Readabl ... enqueueReadabl ... rr) {};Readabl ... err) {}Readabl ... e.errorfunction(err) {}Readabl ... equest;Readabl ... RequestReadabl ... e.view;Readabl ... pe.viewReadabl ... en) {};Readabl ... ten) {}Readabl ... respondfunctio ... ten) {}Readabl ... NewViewfunctio ... nk() {}Writabl ... .start;Writabl ... e.startWritabl ... ototypeWritabl ... .write;Writabl ... e.writeWritabl ... .close;Writabl ... e.closeWritabl ... .abort;Writabl ... e.abortWritabl ... locked;Writabl ... .lockedWritabl ... on) {};Writabl ... son) {}Writabl ... n() {};Writabl ... on() {}Writabl ... tWriterWritabl ... closed;Writabl ... .closedWritabl ... edSize;Writabl ... redSizeWritabl ... .ready;Writabl ... e.readyWritabl ... aseLockWritabl ... nk) {};Writabl ... unk) {}Writabl ... trollerWritabl ... rr) {};Writabl ... err) {}Writabl ... e.errorfunctio ... fig) {}ByteLen ... trategyByteLen ... nk) {};ByteLen ... unk) {}ByteLen ... pe.sizeByteLen ... ototypeCountQu ... nk) {};CountQu ... unk) {}CountQu ... pe.sizeCountQu ... ototype/opt/codeql/javascript/tools/data/externs/web/url.js + * @fileoverview Definitions for URL and URLSearchParams from the spec at + * https://url.spec.whatwg.org. + * + * @externs + * @author rdcronin@google.com (Devlin Cronin) + /**\n * ... in)\n */ + * @constructor + * @implements {Iterable>} + * @param {(string|!URLSearchParams)=} init + + * @see https://url.spec.whatwg.org + * @constructor + * @param {string} url + * @param {(string|!URL)=} base + + * @const + * @type {string} + + * @const + * @type {URLSearchParams} + /**\n * ... ms}\n */ + * @see http://www.w3.org/TR/FileAPI/#dfn-createObjectURL + * @param {!File|!Blob|!MediaSource|!MediaStream} obj + * @return {string} + domainToASCIIdomainToUnicodeDefinitions for URL and URLSearchParams from the spec at +https://url.spec.whatwg.org. +*rdcronin@google.com (Devlin Cronin)(string|!URLSearchParams)=(string|!URLSearchParams)!URLSearchParamshttps://url.spec.whatwg.org +(string|!URL)=(string|!URL)!URL(!File|!Blob|!MediaSource|!MediaStream)!MediaSourceURLSear ... ue) {};URLSear ... lue) {}URLSear ... .appendURLSear ... ototypeURLSear ... me) {};URLSear ... ame) {}URLSear ... .deleteURLSear ... ype.getURLSear ... .getAllURLSear ... ype.hasURLSear ... ype.setURL.prototype.href;URL.prototype.hrefURL.prototypeURL.pro ... origin;URL.prototype.originURL.pro ... otocol;URL.pro ... rotocolURL.pro ... ername;URL.pro ... sernameURL.pro ... ssword;URL.pro ... asswordURL.prototype.host;URL.prototype.hostURL.pro ... stname;URL.pro ... ostnameURL.prototype.port;URL.prototype.portURL.pro ... thname;URL.pro ... athnameURL.pro ... search;URL.prototype.searchURL.pro ... Params;URL.pro ... hParamsURL.prototype.hash;URL.prototype.hashURL.dom ... in) {};URL.dom ... ain) {}URL.domainToASCIIURL.domainToUnicodeURL.cre ... bj) {};URL.cre ... obj) {}URL.rev ... rl) {};URL.rev ... url) {}URL.revokeObjectURL/opt/codeql/javascript/tools/data/externs/web/w3c_anim_timing.js + * Copyright 2011 The Closure Compiler Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + + * @fileoverview Definitions for timing control for script base animations. The + * whole file has been fully type annotated. + * + * @see http://www.w3.org/TR/animation-timing/ + * @see http://webstuff.nfshost.com/anim-timing/Overview.html + * @externs + + * @param {function(number)} callback + * @param {Element=} opt_element In early versions of this API, the callback + * was invoked only if the element was visible. + * @return {number} + + * @param {number} handle + * @return {undefined} + + * @param {function(number)} callback + * @param {Element=} opt_element + * @return {number} + + * @param {?function(number)} callback It's legitimate to pass a null + * callback and listen on the MozBeforePaint event instead. + * @param {Element=} opt_element + * @return {number} + requestAnimationFrameopt_elementcancelRequestAnimationFramecancelAnimationFramewebkitRequestAnimationFramewebkitCancelRequestAnimationFramewebkitCancelAnimationFramemozRequestAnimationFramemozCancelRequestAnimationFramemozCancelAnimationFramemsRequestAnimationFramemsCancelRequestAnimationFramemsCancelAnimationFrameoRequestAnimationFrameoCancelRequestAnimationFrameoCancelAnimationFrameDefinitions for timing control for script base animations. The +whole file has been fully type annotated. +*http://www.w3.org/TR/animation-timing/ +http://webstuff.nfshost.com/anim-timing/Overview.html +In early versions of this API, the callback +was invoked only if the element was visible. +It's legitimate to pass a null +callback and listen on the MozBeforePaint event instead. +?function (number)request ... onFramecancelR ... onFramewebkitR ... onFramewebkitC ... onFramemozRequ ... onFramemozCanc ... onFramemsReque ... onFramemsCance ... onFrameoReques ... onFrameoCancel ... onFrame/opt/codeql/javascript/tools/data/externs/web/w3c_batterystatus.js + * @fileoverview Definitions for W3C's Battery Status API. + * The whole file has been fully type annotated. Created from + * http://www.w3.org/TR/2014/CR-battery-status-20141209/ + * + * @externs + + * @interface + * @extends {EventTarget} + + * @type {?function(!Event)} + chargingchargingTimedischargingTimeonchargingchangeonchargingtimechangeondischargingtimechangeonlevelchangeDefinitions for W3C's Battery Status API. +The whole file has been fully type annotated. Created from +http://www.w3.org/TR/2014/CR-battery-status-20141209/ +*Battery ... arging;Battery ... hargingBattery ... ototypeBattery ... ngTime;Battery ... ingTimeBattery ... .level;Battery ... e.levelBattery ... change;Battery ... gchangeBattery ... echangeondisch ... echangeBattery ... lchange/opt/codeql/javascript/tools/data/externs/web/w3c_css.js + * @fileoverview Definitions for W3C's CSS specification + * The whole file has been fully type annotated. + * http://www.w3.org/TR/DOM-Level-2-Style/css.html + * @externs + * @author stevey@google.com (Steve Yegge) + * + * TODO(nicksantos): When there are no more occurrences of w3c_range.js and + * gecko_dom.js being included directly in BUILD files, bug dbeam to split the + * bottom part of this file into a separate externs. + /**\n * ... ns.\n */ + * @constructor + * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet + /**\n * ... eet\n */ + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-type + + * @type {boolean} + * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-disabled + + * @type {Node} + * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-owner + + * @type {StyleSheet} + * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-parentStyleSheet + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-href + /**\n * ... ref\n */ + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-title + /**\n * ... tle\n */ + * @type {MediaList} + * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-media + /**\n * ... dia\n */ + * @constructor + * @implements {IArrayLike} + * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheetList + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheetList-length + + * @param {number} index + * @return {StyleSheet} + * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheetList-item + /**\n * ... tem\n */ + * @constructor + * @implements {IArrayLike} + * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList-mediaText + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList-length + + * @param {number} index + * @return {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList-item + + * @interface + * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-LinkStyle + /**\n * ... yle\n */ + * @type {StyleSheet} + * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-LinkStyle-sheet + + * @constructor + * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-DocumentStyle + + * @type {StyleSheetList} + * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-DocumentStyle-styleSheets + + * @constructor + * @extends {StyleSheet} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet + + * @type {CSSRule} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-ownerRule + /**\n * ... ule\n */ + * @type {CSSRuleList} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-cssRules + + * @param {string} rule + * @param {number} index + * @return {number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-insertRule + + * @param {number} index + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-deleteRule + * @return {undefined} + + * @constructor + * @implements {IArrayLike} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRuleList + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRuleList-length + + * @param {number} index + * @return {CSSRule} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRuleList-item + + * @constructor + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-cssText + + * @type {CSSStyleSheet} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-sheet + + * @type {CSSRule} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-parentRule + + * @type {CSSStyleDeclaration} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule + + * Indicates that the rule is a {@see CSSUnknownRule}. + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType + + * Indicates that the rule is a {@see CSSStyleRule}. + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType + + * Indicates that the rule is a {@see CSSCharsetRule}. + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType + + * Indicates that the rule is a {@see CSSImportRule}. + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType + + * Indicates that the rule is a {@see CSSMediaRule}. + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType + + * Indicates that the rule is a {@see CSSFontFaceRule}. + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType + + * Indicates that the rule is a {@see CSSPageRule}. + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType + + * @constructor + * @extends {CSSRule} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule-selectorText + + * @type {CSSStyleDeclaration} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule-style + + * @constructor + * @extends {CSSRule} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule + + * @type {MediaList} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-mediaTypes + + * @type {CSSRuleList} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-cssRules + + * @param {string} rule + * @param {number} index + * @return {number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-insertRule + + * @param {number} index + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-deleteRule + * @return {undefined} + + * @constructor + * @extends {CSSRule} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSFontFaceRule + + * @type {CSSStyleDeclaration} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSFontFaceRule-style + + * @constructor + * @extends {CSSRule} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPageRule + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPageRule-name + + * @type {CSSStyleDeclaration} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPageRule-style + + * @constructor + * @extends {CSSRule} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule-href + + * @type {MediaList} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule-media + + * @type {CSSStyleSheet} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule-styleSheet + + * @constructor + * @extends {CSSRule} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSCharsetRule + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSCharsetRule-encoding + + * @constructor + * @extends {CSSRule} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSUnknownRule + + * @constructor + * @extends {CSSProperties} + * @implements {IObject<(string|number), string>} + * @implements {IArrayLike} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-cssText + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-length + + * @type {CSSRule} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-parentRule + + * @param {string} propertyName + * @return {CSSValue} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyCSSValue + + * @param {string} propertyName + * @return {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyPriority + + * @param {string} propertyName + * @return {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyValue + + * @param {number} index + * @return {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-item + + * @param {string} propertyName + * @return {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-removeProperty + + * @param {string} propertyName + * @param {string} value + * @param {string=} opt_priority + * @return {undefined} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-setProperty + IE-specific// IE-specific + * @param {string} name + * @param {number=} opt_flags + * @return {string|number|boolean|null} + * @see http://msdn.microsoft.com/en-us/library/ms536429(VS.85).aspx + + * @param {string} name + * @return {string|number|boolean|null} + * @see http://msdn.microsoft.com/en-us/library/aa358797(VS.85).aspx + + * @param {string} name + * @param {number=} opt_flags + * @return {boolean} + * @see http://msdn.microsoft.com/en-us/library/ms536696(VS.85).aspx + + * @param {string} name + * @return {boolean} + * @see http://msdn.microsoft.com/en-us/library/aa358798(VS.85).aspx + + * @param {string} name + * @param {*} value + * @param {number=} opt_flags + * @see http://msdn.microsoft.com/en-us/library/ms536739(VS.85).aspx + * @return {undefined} + + * @param {string} name + * @param {string} expr + * @param {string=} opt_language + * @return {undefined} + * @see http://msdn.microsoft.com/en-us/library/ms531196(VS.85).aspx + + * @constructor + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-cssText + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-cssValueType + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-types + + * @constructor + * @extends {CSSValue} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue + + * @return {Counter} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getCounterValue + * @throws DOMException {@see DomException.INVALID_ACCESS_ERR} + /**\n * ... RR}\n */ + * @param {number} unitType + * @return {number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getFloatValue + * @throws DOMException {@see DomException.INVALID_ACCESS_ERR} + + * @return {RGBColor} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getRGBColorValue + * @throws DOMException {@see DomException.INVALID_ACCESS_ERR} + + * @return {Rect} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getRectValue + * @throws DOMException {@see DomException.INVALID_ACCESS_ERR} + + * @return {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getStringValue + * @throws DOMException {@see DomException.INVALID_ACCESS_ERR} + + * @param {number} unitType + * @param {number} floatValue + * @return {undefined} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-setFloatValue + * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}, + * {@see DomException.NO_MODIFICATION_ALLOWED_ERR} + + * @param {number} stringType + * @param {string} stringValue + * @return {undefined} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-setStringValue + * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}, + * {@see DomException.NO_MODIFICATION_ALLOWED_ERR} + + * @constructor + * @extends {CSSValue} + * @implements {IArrayLike} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValueList + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValueList-length + + * @param {number} index + * @return {CSSValue} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValueList-item + + * @constructor + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor + + * @type {CSSPrimitiveValue} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor-red + /**\n * ... red\n */ + * @type {CSSPrimitiveValue} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor-green + + * @type {CSSPrimitiveValue} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor-blue + + * @constructor + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect + + * @type {CSSPrimitiveValue} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-top + + * @type {CSSPrimitiveValue} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-right + + * @type {CSSPrimitiveValue} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-bottom + /**\n * ... tom\n */ + * @type {CSSPrimitiveValue} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-left + + * @constructor + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter-identifier + /**\n * ... ier\n */ + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter-listStyle + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter-separator + + * @constructor + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ViewCSS + /**\n * ... CSS\n */ + * @param {Element} elt + * @param {?string=} opt_pseudoElt This argument is required according to the + * CSS2 specification, but optional in all major browsers. See the note at + * https://developer.mozilla.org/en-US/docs/Web/API/Window.getComputedStyle + * @return {?CSSStyleDeclaration} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSview-getComputedStyle + * @see https://bugzilla.mozilla.org/show_bug.cgi?id=548397 + + * @constructor + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DocumentCSS + + * @param {Element} elt + * @param {string} pseudoElt + * @return {CSSStyleDeclaration} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DocumentCSS-getOverrideStyle + + * @constructor + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DOMImplementationCSS + + * @param {string} title + * @param {string} media + * @return {CSSStyleSheet} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DOMImplementationCSS-createCSSStyleSheet + * @throws DOMException {@see DomException.SYNTAX_ERR} + + * @constructor + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ElementCSSInlineStyle + + * @type {CSSStyleDeclaration} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ElementCSSInlineStyle-style + + * @constructor + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties + CSS 2 properties// CSS 2 properties + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-azimuth + /**\n * ... uth\n */ + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-background + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundAttachment + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundColor + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundImage + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundPosition + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundRepeat + + * @type {string} + * @see http://www.w3.org/TR/css3-background/#the-background-size + + * @implicitCast + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-border + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderCollapse + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderColor + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderSpacing + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-borderStyle + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTop + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRight + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottom + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeft + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTopColor + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRightColor + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottomColor + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeftColor + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTopStyle + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRightStyle + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottomStyle + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeftStyle + + * @type {string|number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTopWidth + + * @type {string|number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRightWidth + + * @type {string|number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottomWidth + + * @type {string|number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeftWidth + + * @type {string|number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderWidth + + * @type {string|number} + * @see http://www.w3.org/TR/css3-background/#the-border-radius + /**\n * ... ius\n */ + * @type {string} + * @see http://www.w3.org/TR/css3-background/#the-border-image-source + + * @type {string|number} + * @see http://www.w3.org/TR/css3-background/#the-border-image-slice + + * @type {string|number} + * @see http://www.w3.org/TR/css3-background/#the-border-image-width + + * @type {string|number} + * @see http://www.w3.org/TR/css3-background/#the-border-image-outset + + * @type {string} + * @see http://www.w3.org/TR/css3-background/#the-border-image-repeat + + * @type {string} + * @see http://www.w3.org/TR/css3-background/#the-border-image + + * @type {string} + * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-bottom + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-captionSide + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-clear + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-clip + /**\n * ... lip\n */ + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-color + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-content + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-counterIncrement + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-counterReset + + * This is not an official part of the W3C spec. In practice, this is a settable + * property that works cross-browser. It is used in goog.dom.setProperties() and + * needs to be extern'd so the --disambiguate_properties JS compiler pass works. + * @type {string} + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cue + /**\n * ... cue\n */ + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cueAfter + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cueBefore + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cursor + /**\n * ... sor\n */ + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-direction + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-display + /**\n * ... lay\n */ + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-elevation + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-emptyCells + /**\n * ... lls\n */ + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cssFloat + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-font + /**\n * ... ont\n */ + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontFamily + /**\n * ... ily\n */ + * @type {string|number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontSize + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontSizeAdjust + /**\n * ... ust\n */ + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontStretch + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontStyle + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontVariant + /**\n * ... ant\n */ + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontWeight + + * @type {string|number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-height + + * @type {string} + * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-left + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-letterSpacing + + * @type {string|number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-lineHeight + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStyle + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStyleImage + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStylePosition + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStyleType + + * @type {string|number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-margin + + * @type {string|number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginTop + + * @type {string|number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginRight + + * @type {string|number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginBottom + + * @type {string|number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginLeft + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-markerOffset + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marks + /**\n * ... rks\n */ + * @type {string|number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-maxHeight + + * @type {string|number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-maxWidth + + * @type {string|number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-minHeight + + * @type {string|number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-minWidth + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-orphans + /**\n * ... ans\n */ + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outline + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outlineColor + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outlineStyle + + * @type {string|number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outlineWidth + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-overflow + /**\n * ... low\n */ + * @type {string|number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-padding + + * @type {string|number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingTop + + * @type {string|number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingRight + + * @type {string|number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingBottom + + * @type {string|number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingLeft + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-page + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pageBreakAfter + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pageBreakBefore + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pageBreakInside + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pause + /**\n * ... use\n */ + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pauseAfter + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pauseBefore + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pitch + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pitchRange + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-playDuring + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-position + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-quotes + + * @type {string} + * @see http://www.w3.org/TR/css3-ui/#resize + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-richness + + * @type {string} + * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-right + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-size + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speak + /**\n * ... eak\n */ + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speakHeader + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speakNumeral + /**\n * ... ral\n */ + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speakPunctuation + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speechRate + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-stress + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-tableLayout + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textAlign + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textDecoration + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textIndent + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textShadow + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textTransform + + * @type {string} + * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-top + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-unicodeBidi + /**\n * ... idi\n */ + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-verticalAlign + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-visibility + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-voiceFamily + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-volume + /**\n * ... ume\n */ + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-whiteSpace + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-widows + /**\n * ... ows\n */ + * @type {string|number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-width + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-wordSpacing + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-wordWrap + /**\n * ... rap\n */ + * @type {string|number} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-zIndex + CSS 3 properties// CSS 3 properties + * @type {string} + * @see http://www.w3.org/TR/css3-background/#box-shadow + + * @type {string} + * @see http://www.w3.org/TR/css3-ui/#box-sizing + + * @type {string|number} + * @see http://www.w3.org/TR/css3-color/#transparency + /**\n * ... ncy\n */ + * @type {string} + * @see http://www.w3.org/TR/css3-ui/#text-overflow + CSS 3 transforms// CSS 3 transforms + * @type {string} + * @see http://www.w3.org/TR/css3-2d-transforms/#backface-visibility-property + + * @type {string} + * @see http://www.w3.org/TR/css3-2d-transforms/#perspective + /**\n * ... ive\n */ + * @type {string|number} + * @see http://www.w3.org/TR/css3-2d-transforms/#perspective-origin + + * @type {string} + * @see http://www.w3.org/TR/css3-2d-transforms/#effects + + * @type {string|number} + * @see http://www.w3.org/TR/css3-2d-transforms/#transform-origin + + * @type {string} + * @see http://www.w3.org/TR/css3-2d-transforms/#transform-style + CSS 3 transitions// CSS 3 transitions + * @type {string} + * @see http://www.w3.org/TR/css3-transitions/#transition + + * @type {string} + * @see http://www.w3.org/TR/css3-transitions/#transition-delay + + * @type {string} + * @see http://www.w3.org/TR/css3-transitions/#transition-duration + + * @type {string} + * @see http://www.w3.org/TR/css3-transitions/#transition-property-property + + * @type {string} + * @see http://www.w3.org/TR/css3-transitions/#transition-timing-function + + * @type {string} + * @see http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty + CSS Flexbox 1// CSS Flexbox 1 + * @type {string} + * @see https://www.w3.org/TR/css-flexbox-1/#align-content-property + + * @type {string} + * @see https://www.w3.org/TR/css-flexbox-1/#align-items-property + + * @type {string} + * @see https://www.w3.org/TR/css-flexbox-1/#flex-property + + * @type {string} + * @see https://www.w3.org/TR/css-flexbox-1/#flex-basis-property + + * @type {string} + * @see https://www.w3.org/TR/css-flexbox-1/#flex-direction-property + + * @type {string} + * @see https://www.w3.org/TR/css-flexbox-1/#flex-flow-property + + * @type {number} + * @see https://www.w3.org/TR/css-flexbox-1/#flex-grow-property + + * @type {number} + * @see https://www.w3.org/TR/css-flexbox-1/#flex-shrink-property + + * @type {string} + * @see https://www.w3.org/TR/css-flexbox-1/#flex-wrap-property + + * @type {string} + * @see https://www.w3.org/TR/css-flexbox-1/#justify-content-property + + * @type {number} + * @see https://www.w3.org/TR/css-flexbox-1/#order-property + Externs for CSS Will Change Module Level 1// Exte ... Level 1 http://www.w3.org/TR/css-will-change/// http ... change/ + * @type {string} + * @see http://www.w3.org/TR/css-will-change-1/#will-change + + * TODO(dbeam): Put this in separate file named w3c_cssom.js. + * Externs for the CSSOM View Module. + * @see http://www.w3.org/TR/cssom-view/ + /**\n * ... ew/\n */ http://www.w3.org/TR/cssom-view/#extensions-to-the-window-interface// http ... terface + * @param {string} media_query_list + * @return {MediaQueryList} + * @see http://www.w3.org/TR/cssom-view/#dom-window-matchmedia + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-window-innerwidth + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-window-innerheight + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-window-scrollx + /**\n * ... llx\n */ + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-window-pagexoffset + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-window-scrolly + /**\n * ... lly\n */ + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-window-pageyoffset + + * @param {number} x + * @param {number} y + * @see http://www.w3.org/TR/cssom-view/#dom-window-scroll + * @return {undefined} + + * @param {number} x + * @param {number} y + * @see http://www.w3.org/TR/cssom-view/#dom-window-scrollto + * @return {undefined} + + * @param {number} x + * @param {number} y + * @see http://www.w3.org/TR/cssom-view/#dom-window-scrollby + * @return {undefined} + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-window-screenx + /**\n * ... enx\n */ + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-window-screeny + /**\n * ... eny\n */ + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-window-outerwidth + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-window-outerheight + + * @constructor + * @see http://www.w3.org/TR/cssom-view/#mediaquerylist + + * @type {string} + * @see http://www.w3.org/TR/cssom-view/#dom-mediaquerylist-media + + * @type {boolean} + * @see http://www.w3.org/TR/cssom-view/#dom-mediaquerylist-matches + /**\n * ... hes\n */ + * @param {MediaQueryListListener} listener + * @see http://www.w3.org/TR/cssom-view/#dom-mediaquerylist-addlistener + * @return {undefined} + + * @param {MediaQueryListListener} listener + * @see http://www.w3.org/TR/cssom-view/#dom-mediaquerylist-removelistener + * @return {undefined} + + * @typedef {(function(!MediaQueryList) : void)} + * @see http://www.w3.org/TR/cssom-view/#mediaquerylistlistener + + * @constructor + * @see http://www.w3.org/TR/cssom-view/#screen + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-screen-availwidth + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-screen-availheight + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-screen-width + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-screen-height + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-screen-colordepth + /**\n * ... pth\n */ + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-screen-pixeldepth + http://www.w3.org/TR/cssom-view/#extensions-to-the-document-interface + * @param {number} x + * @param {number} y + * @return {?Element} + * @see http://www.w3.org/TR/cssom-view/#dom-document-elementfrompoint + /**\n * ... int\n */ + * @param {number} x + * @param {number} y + * @return {CaretPosition} + * @see http://www.w3.org/TR/cssom-view/#dom-document-caretpositionfrompoint + + * @type {Element} + * @see http://dev.w3.org/csswg/cssom-view/#dom-document-scrollingelement + + * @constructor + * @see http://www.w3.org/TR/cssom-view/#caretposition + + * @type {Node} + * @see http://www.w3.org/TR/cssom-view/#dom-caretposition-offsetnode + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-caretposition-offset + http://www.w3.org/TR/cssom-view/#extensions-to-the-element-interface + * @return {!ClientRectList} + * @see http://www.w3.org/TR/cssom-view/#dom-element-getclientrects + + * @return {!ClientRect} + * @see http://www.w3.org/TR/cssom-view/#dom-element-getboundingclientrect + + * @param {(boolean|{behavior: string, block: string})=} opt_top + * @see http://www.w3.org/TR/cssom-view/#dom-element-scrollintoview + * @return {undefined} + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-element-scrolltop + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-element-scrollleft + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-element-scrollwidth + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-element-scrollheight + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-element-clienttop + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-element-clientleft + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-element-clientwidth + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-element-clientheight + http://www.w3.org/TR/cssom-view/#extensions-to-the-htmlelement-interface + * @type {Element} + * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetparent + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsettop + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetleft + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetwidth + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetheight + http://www.w3.org/TR/cssom-view/#extensions-to-the-range-interface + * @return {!ClientRectList} + * @see http://www.w3.org/TR/cssom-view/#dom-range-getclientrects + + * @return {!ClientRect} + * @see http://www.w3.org/TR/cssom-view/#dom-range-getboundingclientrect + http://www.w3.org/TR/cssom-view/#extensions-to-the-mouseevent-interface MouseEvent: screen{X,Y} and client{X,Y} are in DOM Level 2/3 Event as well,// Mous ... s well, so it seems like a specification issue. I've emailed www-style@w3.org in// so i ... .org in hopes of resolving the conflict, but in the mean time they can live here// hope ... ve here (http://lists.w3.org/Archives/Public/www-style/2012May/0039.html).// (htt ... .html). + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-screenx + MouseEvent.prototype.screenX;//Mouse ... creenX; + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-screeny + MouseEvent.prototype.screenY;//Mouse ... creenY; + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-pagex + /**\n * ... gex\n */ + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-pagey + /**\n * ... gey\n */ + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-clientx + /**\n * ... ntx\n */MouseEvent.prototype.clientX;//Mouse ... lientX; + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-clienty + /**\n * ... nty\n */MouseEvent.prototype.clientY;//Mouse ... lientY; + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-x + /**\n * ... t-x\n */ + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-y + /**\n * ... t-y\n */ + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-offsetx + /**\n * ... etx\n */ + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-offsety + /**\n * ... ety\n */ http://www.w3.org/TR/cssom-view/#rectangles// http ... tangles + * @constructor + * @see http://www.w3.org/TR/cssom-view/#the-clientrectlist-interface + * @implements {IArrayLike} + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-clientrectlist-length + + * @param {number} index + * @return {ClientRect} + * @see http://www.w3.org/TR/cssom-view/#dom-clientrectlist-item + + * @constructor + * @see http://www.w3.org/TR/cssom-view/#the-clientrect-interface + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-clientrect-top + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-clientrect-right + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-clientrect-bottom + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-clientrect-left + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-clientrect-width + + * @type {number} + * @see http://www.w3.org/TR/cssom-view/#dom-clientrect-height + + * @constructor + * http://www.w3.org/TR/css3-conditional/#CSS-interface + + * @param {string} ident + * @return {string} + * @see http://www.w3.org/TR/cssom/#the-css.escape()-method + * @throws DOMException {@see DOMException.INVALID_CHARACTER_ERR} + + * @param {string} property + * @param {string=} opt_value + * @return {boolean} + + * TODO(nicksantos): This suppress tag probably isn't needed, and + * should be removed. + * @suppress {duplicate} + * @type {CSSInterface} + /**\n * ... ce}\n */ @type {CSSInterface} /** @ty ... ace} */ http://dev.w3.org/csswg/css-font-loading/// http ... oading/ + * Set of possible string values: 'error', 'loaded', 'loading', 'unloaded'. + * @typedef {string} + * @see http://dev.w3.org/csswg/css-font-loading/#enumdef-fontfaceloadstatus + + * @typedef {{ + * style: (string|undefined), + * weight: (string|undefined), + * stretch: (string|undefined), + * unicodeRange: (string|undefined), + * variant: (string|undefined), + * featureSettings: (string|undefined) + * }} + * @see http://dev.w3.org/csswg/css-font-loading/#dictdef-fontfacedescriptors + /**\n * ... ors\n */ + * @constructor + * @param {string} fontFamily + * @param {(string|ArrayBuffer|ArrayBufferView)} source + * @param {!FontFaceDescriptors=} opt_descriptors + * @see http://dev.w3.org/csswg/css-font-loading/#font-face-constructor + + * @type {string} + * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-family + + * @type {string} + * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-style + + * @type {string} + * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-weight + + * @type {string} + * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-stretch + + * @type {string} + * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-unicoderange + + * @type {string} + * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-variant + + * @type {string} + * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-featuresettings + + * @type {FontFaceLoadStatus} + * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-status + + * @return {!Promise} + * @see http://dev.w3.org/csswg/css-font-loading/#font-face-load + + * Set of possible string values: 'loaded', 'loading'. + * @typedef {string} + * @see http://dev.w3.org/csswg/css-font-loading/#enumdef-fontfacesetloadstatus + + * @interface + * @extends {EventTarget} + * @see http://dev.w3.org/csswg/css-font-loading/#FontFaceSet-interface + Event handlers// Event handlers http://dev.w3.org/csswg/css-font-loading/#FontFaceSet-events// http ... -events @type {?function (Event)} + * @param {!FontFace} value + * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-add + * @return {undefined} + + * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-clear + * @return {undefined} + + * @param {!FontFace} value + * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-delete + * @return {undefined} + + * @param {!FontFace} font + * @return {boolean} + * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-has + + * @param {function(!FontFace, number, !FontFaceSet)} cb + * @param {Object|undefined=} opt_selfObj + * see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-foreach + * @return {undefined} + + * @param {string} font + * @param {string=} opt_text + * @return {!Promise>} + * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-load + + * @param {string} font + * @param {string=} opt_text + * @return {boolean} + * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-check + /**\n * ... eck\n */ + * @type {!Promise} + * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-ready + + * @type {FontFaceSetLoadStatus} + * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-status + ownerNodeparentStyleSheetMediaListmediaTextLinkStylesheetDocumentStyleCSSStyleSheetownerRulecssRulesinsertRuleruledeleteRuleCSSRuleparentRuleUNKNOWN_RULESTYLE_RULECHARSET_RULEIMPORT_RULEMEDIA_RULEFONT_FACE_RULEPAGE_RULECSSStyleRuleselectorTextCSSMediaRuleCSSFontFaceRuleCSSPageRuleCSSImportRuleCSSCharsetRuleCSSUnknownRulegetPropertyCSSValuegetPropertyPrioritygetPropertyValueremovePropertyopt_priorityCSSValuecssValueTypeCSS_INHERITCSS_PRIMITIVE_VALUECSS_VALUE_LISTCSS_CUSTOMCSSPrimitiveValueprimitiveTypeCSS_UNKNOWNCSS_NUMBERCSS_PERCENTAGECSS_EMSCSS_EXSCSS_PXCSS_CMCSS_MMCSS_INCSS_PTCSS_PCCSS_DEGCSS_RADCSS_GRADCSS_MSCSS_SCSS_HZCSS_KHZCSS_DIMENSIONCSS_STRINGCSS_URICSS_IDENTCSS_ATTRCSS_COUNTERCSS_RECTCSS_RGBCOLORgetCounterValuegetFloatValueunitTypegetRGBColorValuegetRectValuegetStringValuesetFloatValuefloatValuesetStringValuestringTypestringValueCSSValueListRGBColorredgreenblueRectCounteridentifierlistStyleViewCSSeltopt_pseudoEltDocumentCSSgetOverrideStyleDOMImplementationCSScreateCSSStyleSheetElementCSSInlineStyleazimuthbackgroundAttachmentbackgroundRepeatborderCollapseborderSpacingborderTopborderRightborderBottomborderLeftborderTopColorborderRightColorborderBottomColorborderLeftColorborderTopStyleborderRightStyleborderBottomStyleborderLeftStyleborderWidthborderRadiusborderBottomLeftRadiusborderBottomRightRadiusborderTopLeftRadiusborderTopRightRadiusborderImageSourceborderImageSliceborderImageWidthborderImageOutsetborderImageRepeatborderImagecaptionSidecounterIncrementcounterResetcueAftercueBeforedirectionelevationemptyCellslistStyleImagelistStylePositionlistStyleTypemarginTopmarginBottommarkerOffsetmarksmaxHeightmaxWidthorphansoutlineoutlineColoroutlineStyleoutlineWidthpaddingToppaddingRightpaddingBottompageBreakAfterpageBreakBeforepageBreakInsidepauseAfterpauseBeforepitchpitchRangeplayDuringquotesrichnessspeakspeakHeaderspeakNumeralspeakPunctuationspeechRatestresstableLayouttextIndenttextShadowtextTransformverticalAlignvoiceFamilywidowswordWrapboxSizingtextOverflowbackfaceVisibilityperspectiveperspectiveOrigintransformStyletransitionDelaytransitionDurationtransitionPropertytransitionTimingFunctionalignContentflexBasisflexFlowflexGrowflexShrinkflexWraporderwillChangemedia_query_listscrollXpageXOffsetpageYOffsetscrollToscrollByMediaQueryListMediaQueryListListeneravailWidthavailHeightcolorDepthpixelDepthcaretPositionFromPointscrollingElementCaretPositionoffsetNodeopt_topscrollWidthclientTopclientLeftoffsetWidthClientRectListClientRectCSSInterfaceidentCSSFontFaceLoadStatusFontFaceDescriptorsFontFaceopt_descriptorsweightstretchvariantfeatureSettingsFontFaceSetLoadStatusonloadingonloadingdoneonloadingerroropt_selfObjopt_textDefinitions for W3C's CSS specification +The whole file has been fully type annotated. +http://www.w3.org/TR/DOM-Level-2-Style/css.html +stevey@google.com (Steve Yegge) +* TODO(nicksantos): When there are no more occurrences of w3c_range.js and +gecko_dom.js being included directly in BUILD files, bug dbeam to split the +bottom part of this file into a separate externs.http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheethttp://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-typehttp://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-disabledhttp://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-ownerhttp://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-parentStyleSheethttp://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-hrefhttp://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-titlehttp://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-mediaIArrayLike.!StyleSheethttp://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheetListhttp://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheetList-lengthhttp://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheetList-itemIArrayLike.!MediaListhttp://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaListhttp://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList-mediaTexthttp://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList-lengthhttp://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList-itemhttp://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-LinkStylehttp://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-LinkStyle-sheethttp://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-DocumentStylehttp://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-DocumentStyle-styleSheetshttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheethttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-ownerRulehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-cssRuleshttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-insertRulehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-deleteRule +IArrayLike.!CSSRulehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRuleListhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRuleList-lengthhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRuleList-itemhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRulehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleTypehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-cssTexthttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-sheethttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-parentRulehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRuleIndicates that the rule is a {@see CSSUnknownRule}.Indicates that the rule is a {@see CSSStyleRule}.Indicates that the rule is a {@see CSSCharsetRule}.Indicates that the rule is a {@see CSSImportRule}.Indicates that the rule is a {@see CSSMediaRule}.Indicates that the rule is a {@see CSSFontFaceRule}.Indicates that the rule is a {@see CSSPageRule}.http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule-selectorTexthttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule-stylehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRulehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-mediaTypeshttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-cssRuleshttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-insertRulehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-deleteRule +http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSFontFaceRulehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSFontFaceRule-stylehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPageRulehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPageRule-namehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPageRule-stylehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRulehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule-hrefhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule-mediahttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule-styleSheethttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSCharsetRulehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSCharsetRule-encodinghttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSUnknownRuleIObject.<(string|number), string>http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclarationhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-cssTexthttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-lengthhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-parentRulehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyCSSValuehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyPriorityhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyValuehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-itemhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-removePropertyhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-setProperty(string|number|boolean|null)http://msdn.microsoft.com/en-us/library/ms536429(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536696(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/ms536739(VS.85).aspx +http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValuehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-cssTexthttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-cssValueTypehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-typeshttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValuehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getCounterValue +DOMException {@see DomException.INVALID_ACCESS_ERR}http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getFloatValue +http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getRGBColorValue +http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getRectValue +http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getStringValue +http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-setFloatValue +DOMException {@see DomException.INVALID_ACCESS_ERR}, +{@see DomException.NO_MODIFICATION_ALLOWED_ERR}http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-setStringValue +IArrayLike.!CSSValuehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValueListhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValueList-lengthhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValueList-itemhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColorhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor-redhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor-greenhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor-bluehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Recthttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-tophttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-righthttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-bottomhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-lefthttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counterhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter-identifierhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter-listStylehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter-separatorhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ViewCSSThis argument is required according to the +CSS2 specification, but optional in all major browsers. See the note at +https://developer.mozilla.org/en-US/docs/Web/API/Window.getComputedStyle +http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSview-getComputedStyle +http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DocumentCSShttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DocumentCSS-getOverrideStylehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DOMImplementationCSShttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DOMImplementationCSS-createCSSStyleSheet +DOMException {@see DomException.SYNTAX_ERR}http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ElementCSSInlineStylehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ElementCSSInlineStyle-stylehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPropertieshttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-azimuthhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundAttachmenthttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundColorhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundImagehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundPositionhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundRepeathttp://www.w3.org/TR/css3-background/#the-background-sizehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderCollapsehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderColorhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderSpacinghttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-borderStylehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTophttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRighthttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottomhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLefthttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTopColorhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRightColorhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottomColorhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeftColorhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTopStylehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRightStylehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottomStylehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeftStylehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTopWidthhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRightWidthhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottomWidthhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeftWidthhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderWidthhttp://www.w3.org/TR/css3-background/#the-border-radiushttp://www.w3.org/TR/css3-background/#the-border-image-sourcehttp://www.w3.org/TR/css3-background/#the-border-image-slicehttp://www.w3.org/TR/css3-background/#the-border-image-widthhttp://www.w3.org/TR/css3-background/#the-border-image-outsethttp://www.w3.org/TR/css3-background/#the-border-image-repeathttp://www.w3.org/TR/css3-background/#the-border-imagehttps://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-bottomhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-captionSidehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-clearhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cliphttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-colorhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-contenthttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-counterIncrementhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-counterResetThis is not an official part of the W3C spec. In practice, this is a settable +property that works cross-browser. It is used in goog.dom.setProperties() and +needs to be extern'd so the --disambiguate_properties JS compiler pass works.http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cuehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cueAfterhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cueBeforehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cursorhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-directionhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-displayhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-elevationhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-emptyCellshttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cssFloathttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fonthttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontFamilyhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontSizehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontSizeAdjusthttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontStretchhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontStylehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontVarianthttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontWeighthttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-heighthttps://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-lefthttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-letterSpacinghttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-lineHeighthttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStylehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStyleImagehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStylePositionhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStyleTypehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginTophttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginRighthttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginBottomhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginLefthttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-markerOffsethttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-markshttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-maxHeighthttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-maxWidthhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-minHeighthttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-minWidthhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-orphanshttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outlinehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outlineColorhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outlineStylehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outlineWidthhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-overflowhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddinghttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingTophttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingRighthttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingBottomhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingLefthttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pagehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pageBreakAfterhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pageBreakBeforehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pageBreakInsidehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pausehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pauseAfterhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pauseBeforehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pitchhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pitchRangehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-playDuringhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-positionhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-quoteshttp://www.w3.org/TR/css3-ui/#resizehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-richnesshttps://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-righthttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-sizehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speakhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speakHeaderhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speakNumeralhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speakPunctuationhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speechRatehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-stresshttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-tableLayouthttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textAlignhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textDecorationhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textIndenthttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textShadowhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textTransformhttps://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-tophttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-unicodeBidihttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-verticalAlignhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-visibilityhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-voiceFamilyhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-volumehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-whiteSpacehttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-widowshttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-widthhttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-wordSpacinghttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-wordWraphttp://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-zIndexhttp://www.w3.org/TR/css3-background/#box-shadowhttp://www.w3.org/TR/css3-ui/#box-sizinghttp://www.w3.org/TR/css3-color/#transparencyhttp://www.w3.org/TR/css3-ui/#text-overflowhttp://www.w3.org/TR/css3-2d-transforms/#backface-visibility-propertyhttp://www.w3.org/TR/css3-2d-transforms/#perspectivehttp://www.w3.org/TR/css3-2d-transforms/#perspective-originhttp://www.w3.org/TR/css3-2d-transforms/#effectshttp://www.w3.org/TR/css3-2d-transforms/#transform-originhttp://www.w3.org/TR/css3-2d-transforms/#transform-stylehttp://www.w3.org/TR/css3-transitions/#transitionhttp://www.w3.org/TR/css3-transitions/#transition-delayhttp://www.w3.org/TR/css3-transitions/#transition-durationhttp://www.w3.org/TR/css3-transitions/#transition-property-propertyhttp://www.w3.org/TR/css3-transitions/#transition-timing-functionhttp://www.w3.org/TR/SVG11/interact.html#PointerEventsPropertyhttps://www.w3.org/TR/css-flexbox-1/#align-content-propertyhttps://www.w3.org/TR/css-flexbox-1/#align-items-propertyhttps://www.w3.org/TR/css-flexbox-1/#flex-propertyhttps://www.w3.org/TR/css-flexbox-1/#flex-basis-propertyhttps://www.w3.org/TR/css-flexbox-1/#flex-direction-propertyhttps://www.w3.org/TR/css-flexbox-1/#flex-flow-propertyhttps://www.w3.org/TR/css-flexbox-1/#flex-grow-propertyhttps://www.w3.org/TR/css-flexbox-1/#flex-shrink-propertyhttps://www.w3.org/TR/css-flexbox-1/#flex-wrap-propertyhttps://www.w3.org/TR/css-flexbox-1/#justify-content-propertyhttps://www.w3.org/TR/css-flexbox-1/#order-propertyhttp://www.w3.org/TR/css-will-change-1/#will-changeTODO(dbeam): Put this in separate file named w3c_cssom.js. +Externs for the CSSOM View Module.http://www.w3.org/TR/cssom-view/http://www.w3.org/TR/cssom-view/#dom-window-matchmediahttp://www.w3.org/TR/cssom-view/#dom-window-innerwidthhttp://www.w3.org/TR/cssom-view/#dom-window-innerheighthttp://www.w3.org/TR/cssom-view/#dom-window-scrollxhttp://www.w3.org/TR/cssom-view/#dom-window-pagexoffsethttp://www.w3.org/TR/cssom-view/#dom-window-scrollyhttp://www.w3.org/TR/cssom-view/#dom-window-pageyoffsethttp://www.w3.org/TR/cssom-view/#dom-window-scroll +http://www.w3.org/TR/cssom-view/#dom-window-scrollto +http://www.w3.org/TR/cssom-view/#dom-window-scrollby +http://www.w3.org/TR/cssom-view/#dom-window-screenxhttp://www.w3.org/TR/cssom-view/#dom-window-screenyhttp://www.w3.org/TR/cssom-view/#dom-window-outerwidthhttp://www.w3.org/TR/cssom-view/#dom-window-outerheighthttp://www.w3.org/TR/cssom-view/#mediaquerylisthttp://www.w3.org/TR/cssom-view/#dom-mediaquerylist-mediahttp://www.w3.org/TR/cssom-view/#dom-mediaquerylist-matcheshttp://www.w3.org/TR/cssom-view/#dom-mediaquerylist-addlistener +http://www.w3.org/TR/cssom-view/#dom-mediaquerylist-removelistener +(function (!MediaQueryList): void)function (!MediaQueryList): void!MediaQueryListhttp://www.w3.org/TR/cssom-view/#mediaquerylistlistenerhttp://www.w3.org/TR/cssom-view/#screenhttp://www.w3.org/TR/cssom-view/#dom-screen-availwidthhttp://www.w3.org/TR/cssom-view/#dom-screen-availheighthttp://www.w3.org/TR/cssom-view/#dom-screen-widthhttp://www.w3.org/TR/cssom-view/#dom-screen-heighthttp://www.w3.org/TR/cssom-view/#dom-screen-colordepthhttp://www.w3.org/TR/cssom-view/#dom-screen-pixeldepthhttp://www.w3.org/TR/cssom-view/#dom-document-elementfrompointhttp://www.w3.org/TR/cssom-view/#dom-document-caretpositionfrompointhttp://dev.w3.org/csswg/cssom-view/#dom-document-scrollingelementhttp://www.w3.org/TR/cssom-view/#caretpositionhttp://www.w3.org/TR/cssom-view/#dom-caretposition-offsetnodehttp://www.w3.org/TR/cssom-view/#dom-caretposition-offset!ClientRectListhttp://www.w3.org/TR/cssom-view/#dom-element-getclientrects!ClientRecthttp://www.w3.org/TR/cssom-view/#dom-element-getboundingclientrect(boolean|{behavior: string, block: string})=(boolean|{behavior: string, block: string}){behavior: string, block: string}http://www.w3.org/TR/cssom-view/#dom-element-scrollintoview +http://www.w3.org/TR/cssom-view/#dom-element-scrolltophttp://www.w3.org/TR/cssom-view/#dom-element-scrolllefthttp://www.w3.org/TR/cssom-view/#dom-element-scrollwidthhttp://www.w3.org/TR/cssom-view/#dom-element-scrollheighthttp://www.w3.org/TR/cssom-view/#dom-element-clienttophttp://www.w3.org/TR/cssom-view/#dom-element-clientlefthttp://www.w3.org/TR/cssom-view/#dom-element-clientwidthhttp://www.w3.org/TR/cssom-view/#dom-element-clientheighthttp://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetparenthttp://www.w3.org/TR/cssom-view/#dom-htmlelement-offsettophttp://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetlefthttp://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetwidthhttp://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetheighthttp://www.w3.org/TR/cssom-view/#dom-range-getclientrectshttp://www.w3.org/TR/cssom-view/#dom-range-getboundingclientrecthttp://www.w3.org/TR/cssom-view/#dom-mouseevent-screenxhttp://www.w3.org/TR/cssom-view/#dom-mouseevent-screenyhttp://www.w3.org/TR/cssom-view/#dom-mouseevent-pagexhttp://www.w3.org/TR/cssom-view/#dom-mouseevent-pageyhttp://www.w3.org/TR/cssom-view/#dom-mouseevent-clientxhttp://www.w3.org/TR/cssom-view/#dom-mouseevent-clientyhttp://www.w3.org/TR/cssom-view/#dom-mouseevent-xhttp://www.w3.org/TR/cssom-view/#dom-mouseevent-yhttp://www.w3.org/TR/cssom-view/#dom-mouseevent-offsetxhttp://www.w3.org/TR/cssom-view/#dom-mouseevent-offsetyhttp://www.w3.org/TR/cssom-view/#the-clientrectlist-interface +IArrayLike.http://www.w3.org/TR/cssom-view/#dom-clientrectlist-lengthhttp://www.w3.org/TR/cssom-view/#dom-clientrectlist-itemhttp://www.w3.org/TR/cssom-view/#the-clientrect-interfacehttp://www.w3.org/TR/cssom-view/#dom-clientrect-tophttp://www.w3.org/TR/cssom-view/#dom-clientrect-righthttp://www.w3.org/TR/cssom-view/#dom-clientrect-bottomhttp://www.w3.org/TR/cssom-view/#dom-clientrect-lefthttp://www.w3.org/TR/cssom-view/#dom-clientrect-widthhttp://www.w3.org/TR/cssom-view/#dom-clientrect-heightUnknown content '://www.w3.org/TR/css3-conditional/#CSS-interface'Unknown ... erface'http://www.w3.org/TR/cssom/#the-css.escape()-method +DOMException {@see DOMException.INVALID_CHARACTER_ERR}TODO(nicksantos): This suppress tag probably isn't needed, and +should be removed.Set of possible string values: 'error', 'loaded', 'loading', 'unloaded'.http://dev.w3.org/csswg/css-font-loading/#enumdef-fontfaceloadstatus{style: (string|undefined), weight: (string|undefined), stretch: (string|undefined), unicodeRange: (string|undefined), variant: (string|undefined), featureSettings: (string|undefined)}http://dev.w3.org/csswg/css-font-loading/#dictdef-fontfacedescriptors!FontFaceDescriptors=!FontFaceDescriptorshttp://dev.w3.org/csswg/css-font-loading/#font-face-constructorhttp://dev.w3.org/csswg/css-font-loading/#dom-fontface-familyhttp://dev.w3.org/csswg/css-font-loading/#dom-fontface-stylehttp://dev.w3.org/csswg/css-font-loading/#dom-fontface-weighthttp://dev.w3.org/csswg/css-font-loading/#dom-fontface-stretchhttp://dev.w3.org/csswg/css-font-loading/#dom-fontface-unicoderangehttp://dev.w3.org/csswg/css-font-loading/#dom-fontface-varianthttp://dev.w3.org/csswg/css-font-loading/#dom-fontface-featuresettingshttp://dev.w3.org/csswg/css-font-loading/#dom-fontface-status!Promise.Promise.!FontFacehttp://dev.w3.org/csswg/css-font-loading/#font-face-loadSet of possible string values: 'loaded', 'loading'.http://dev.w3.org/csswg/css-font-loading/#enumdef-fontfacesetloadstatushttp://dev.w3.org/csswg/css-font-loading/#FontFaceSet-interfacehttp://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-add +http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-clear +http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-delete +http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-hasfunction (!FontFace, number, !FontFaceSet)see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-foreach +(Object|undefined)=!Promise.>Promise.>!Array.Array.http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-loadhttp://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-check!Promise.Promise.http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-readyhttp://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-statusStyleSh ... e.type;StyleSh ... pe.typeStyleSh ... sabled;StyleSh ... isabledStyleSh ... erNode;StyleSh ... nerNodeStyleSh ... eSheet;StyleSh ... leSheetStyleSh ... e.href;StyleSh ... pe.hrefStyleSh ... .title;StyleSh ... e.titleStyleSh ... .media;StyleSh ... e.mediaStyleSh ... length;StyleSh ... .lengthStyleSh ... ototypeStyleSh ... ex) {};StyleSh ... dex) {}StyleSh ... pe.itemMediaLi ... iaText;MediaLi ... diaTextMediaList.prototypeMediaLi ... length;MediaLi ... .lengthMediaLi ... ex) {};MediaLi ... dex) {}MediaLi ... pe.itemLinkSty ... .sheet;LinkSty ... e.sheetLinkStyle.prototypeDocumen ... ototypeCSSStyl ... erRule;CSSStyl ... nerRuleCSSStyl ... ototypeCSSStyl ... sRules;CSSStyl ... ssRulesCSSStyl ... ex) {};CSSStyl ... dex) {}CSSStyl ... ertRuleCSSStyl ... eteRuleCSSRule ... length;CSSRule ... .lengthCSSRule ... ototypeCSSRule ... ex) {};CSSRule ... dex) {}CSSRule ... pe.itemCSSRule ... e.type;CSSRule ... pe.typeCSSRule.prototypeCSSRule ... ssText;CSSRule ... cssTextCSSRule ... eSheet;CSSRule ... leSheetCSSRule ... ntRule;CSSRule ... entRuleCSSRule ... .style;CSSRule ... e.styleCSSRule ... LE = 0;CSSRule ... ULE = 0CSSRule.UNKNOWN_RULECSSRule ... LE = 1;CSSRule ... ULE = 1CSSRule.STYLE_RULECSSRule ... LE = 2;CSSRule ... ULE = 2CSSRule.CHARSET_RULECSSRule ... LE = 3;CSSRule ... ULE = 3CSSRule.IMPORT_RULECSSRule ... LE = 4;CSSRule ... ULE = 4CSSRule.MEDIA_RULECSSRule ... LE = 5;CSSRule ... ULE = 5CSSRule ... CE_RULECSSRule ... LE = 6;CSSRule ... ULE = 6CSSRule.PAGE_RULECSSStyl ... orText;CSSStyl ... torTextCSSStyl ... .style;CSSStyl ... e.styleCSSMedi ... .media;CSSMedi ... e.mediaCSSMedi ... ototypeCSSMedi ... sRules;CSSMedi ... ssRulesCSSMedi ... ex) {};CSSMedi ... dex) {}CSSMedi ... ertRuleCSSMedi ... eteRuleCSSFont ... .style;CSSFont ... e.styleCSSFont ... ototypeCSSPage ... orText;CSSPage ... torTextCSSPage ... ototypeCSSPage ... .style;CSSPage ... e.styleCSSImpo ... e.href;CSSImpo ... pe.hrefCSSImpo ... ototypeCSSImpo ... .media;CSSImpo ... e.mediaCSSImpo ... eSheet;CSSImpo ... leSheetCSSChar ... coding;CSSChar ... ncodingCSSChar ... ototypeCSSStyl ... ssText;CSSStyl ... cssTextCSSStyl ... length;CSSStyl ... .lengthCSSStyl ... ntRule;CSSStyl ... entRuleCSSStyl ... me) {};CSSStyl ... ame) {}CSSStyl ... SSValueCSSStyl ... riorityCSSStyl ... tyValueCSSStyl ... pe.itemCSSStyl ... ropertyCSSStyl ... ty) {};CSSStyl ... ity) {}functio ... ity) {}CSSStyl ... gs) {};CSSStyl ... ags) {}CSSStyl ... tributeCSSStyl ... ressionCSSStyl ... ge) {};CSSStyl ... age) {}functio ... ue() {}CSSValu ... ssText;CSSValu ... cssTextCSSValue.prototypeCSSValu ... ueType;CSSValu ... lueTypeCSSValu ... IT = 0;CSSValu ... RIT = 0CSSValue.CSS_INHERITCSSValu ... UE = 1;CSSValu ... LUE = 1CSSValu ... E_VALUECSSValu ... ST = 2;CSSValu ... IST = 2CSSValu ... UE_LISTCSSValu ... OM = 3;CSSValu ... TOM = 3CSSValue.CSS_CUSTOMCSSPrim ... veType;CSSPrim ... iveTypeCSSPrim ... ototypeCSSPrim ... WN = 0;CSSPrim ... OWN = 0CSSPrim ... UNKNOWNCSSPrim ... ER = 1;CSSPrim ... BER = 1CSSPrim ... _NUMBERCSSPrim ... GE = 2;CSSPrim ... AGE = 2CSSPrim ... CENTAGECSSPrim ... MS = 3;CSSPrim ... EMS = 3CSSPrim ... CSS_EMSCSSPrim ... XS = 4;CSSPrim ... EXS = 4CSSPrim ... CSS_EXSCSSPrim ... PX = 5;CSSPrim ... _PX = 5CSSPrim ... .CSS_PXCSSPrim ... CM = 6;CSSPrim ... _CM = 6CSSPrim ... .CSS_CMCSSPrim ... MM = 7;CSSPrim ... _MM = 7CSSPrim ... .CSS_MMCSSPrim ... IN = 8;CSSPrim ... _IN = 8CSSPrim ... .CSS_INCSSPrim ... PT = 9;CSSPrim ... _PT = 9CSSPrim ... .CSS_PTCSSPrim ... C = 10;CSSPrim ... PC = 10CSSPrim ... .CSS_PCCSSPrim ... G = 11;CSSPrim ... EG = 11CSSPrim ... CSS_DEGCSSPrim ... D = 12;CSSPrim ... AD = 12CSSPrim ... CSS_RADCSSPrim ... D = 13;CSSPrim ... AD = 13CSSPrim ... SS_GRADCSSPrim ... S = 14;CSSPrim ... MS = 14CSSPrim ... .CSS_MSCSSPrim ... S = 15;CSSPrim ... _S = 15CSSPrim ... e.CSS_SCSSPrim ... Z = 16;CSSPrim ... HZ = 16CSSPrim ... .CSS_HZCSSPrim ... Z = 17;CSSPrim ... HZ = 17CSSPrim ... CSS_KHZCSSPrim ... N = 18;CSSPrim ... ON = 18CSSPrim ... MENSIONCSSPrim ... G = 19;CSSPrim ... NG = 19CSSPrim ... _STRINGCSSPrim ... I = 20;CSSPrim ... RI = 20CSSPrim ... CSS_URICSSPrim ... T = 21;CSSPrim ... NT = 21CSSPrim ... S_IDENTCSSPrim ... R = 22;CSSPrim ... TR = 22CSSPrim ... SS_ATTRCSSPrim ... R = 23;CSSPrim ... ER = 23CSSPrim ... COUNTERCSSPrim ... T = 24;CSSPrim ... CT = 24CSSPrim ... SS_RECTCSSPrim ... R = 25;CSSPrim ... OR = 25CSSPrim ... GBCOLORCSSPrim ... n() {};CSSPrim ... on() {}CSSPrim ... erValueCSSPrim ... pe) {};CSSPrim ... ype) {}CSSPrim ... atValueCSSPrim ... orValueCSSPrim ... ctValueCSSPrim ... ngValueCSSPrim ... ue) {};CSSPrim ... lue) {}CSSValu ... length;CSSValu ... .lengthCSSValu ... ototypeCSSValu ... ex) {};CSSValu ... dex) {}CSSValu ... pe.itemRGBColo ... pe.red;RGBColo ... ype.redRGBColor.prototypeRGBColo ... .green;RGBColo ... e.greenRGBColo ... e.blue;RGBColo ... pe.bluefunction Rect() {}Rect.prototype.top;Rect.prototype.topRect.prototypeRect.pr ... .right;Rect.prototype.rightRect.pr ... bottom;Rect.pr ... .bottomRect.prototype.left;Rect.prototype.leftCounter ... tifier;Counter ... ntifierCounter.prototypeCounter ... tStyle;Counter ... stStyleCounter ... arator;Counter ... paratorfunctio ... SS() {}ViewCSS ... lt) {};ViewCSS ... Elt) {}ViewCSS ... edStyleViewCSS.prototypeDocumen ... lt) {};Documen ... Elt) {}Documen ... deStyleDOMImpl ... ia) {};DOMImpl ... dia) {}DOMImpl ... leSheetfunctio ... dia) {}Element ... neStyleElement ... ototypeCSSProp ... zimuth;CSSProp ... azimuthCSSProp ... ground;CSSProp ... kgroundCSSProp ... chment;CSSProp ... achmentCSSProp ... dImage;CSSProp ... ndImageCSSProp ... Repeat;CSSProp ... dRepeatCSSProp ... ndSize;CSSProp ... undSizeCSSProp ... border;CSSProp ... .borderCSSProp ... llapse;CSSProp ... ollapseCSSProp ... rColor;CSSProp ... erColorCSSProp ... pacing;CSSProp ... SpacingCSSProp ... rStyle;CSSProp ... erStyleCSSProp ... derTop;CSSProp ... rderTopCSSProp ... rRight;CSSProp ... erRightCSSProp ... Bottom;CSSProp ... rBottomCSSProp ... erLeft;CSSProp ... derLeftCSSProp ... pColor;CSSProp ... opColorCSSProp ... mColor;CSSProp ... omColorCSSProp ... ftColorCSSProp ... pStyle;CSSProp ... opStyleCSSProp ... htStyleCSSProp ... mStyle;CSSProp ... omStyleCSSProp ... ftStyleCSSProp ... pWidth;CSSProp ... opWidthCSSProp ... htWidthCSSProp ... mWidth;CSSProp ... omWidthCSSProp ... ftWidthCSSProp ... rWidth;CSSProp ... erWidthCSSProp ... tRadiusborderB ... tRadiusCSSProp ... Source;CSSProp ... eSourceCSSProp ... eSlice;CSSProp ... geSliceCSSProp ... geWidthCSSProp ... Outset;CSSProp ... eOutsetCSSProp ... eRepeatCSSProp ... bottom;CSSProp ... .bottomCSSProp ... onSide;CSSProp ... ionSideCSSProp ... .clear;CSSProp ... e.clearCSSProp ... e.clip;CSSProp ... pe.clipCSSProp ... .color;CSSProp ... e.colorCSSProp ... ontent;CSSProp ... contentCSSProp ... rement;CSSProp ... crementCSSProp ... rReset;CSSProp ... erResetCSSProp ... ssText;CSSProp ... cssTextCSSProp ... pe.cue;CSSProp ... ype.cueCSSProp ... eAfter;CSSProp ... ueAfterCSSProp ... Before;CSSProp ... eBeforeCSSProp ... cursor;CSSProp ... .cursorCSSProp ... isplay;CSSProp ... displayCSSProp ... vation;CSSProp ... evationCSSProp ... yCells;CSSProp ... tyCellsCSSProp ... sFloat;CSSProp ... ssFloatCSSProp ... e.font;CSSProp ... pe.fontCSSProp ... Family;CSSProp ... tFamilyCSSProp ... ntSize;CSSProp ... ontSizeCSSProp ... Adjust;CSSProp ... eAdjustCSSProp ... tretch;CSSProp ... StretchCSSProp ... ntStyleCSSProp ... ariant;CSSProp ... VariantCSSProp ... Weight;CSSProp ... tWeightCSSProp ... height;CSSProp ... .heightCSSProp ... e.left;CSSProp ... pe.leftCSSProp ... eHeightCSSProp ... stStyleCSSProp ... eImage;CSSProp ... leImageCSSProp ... leType;CSSProp ... yleTypeCSSProp ... margin;CSSProp ... .marginCSSProp ... ginTop;CSSProp ... rginTopCSSProp ... nRight;CSSProp ... inRightCSSProp ... nBottomCSSProp ... inLeft;CSSProp ... ginLeftCSSProp ... rOffsetCSSProp ... .marks;CSSProp ... e.marksCSSProp ... xHeightCSSProp ... xWidth;CSSProp ... axWidthCSSProp ... nHeightCSSProp ... inWidthCSSProp ... rphans;CSSProp ... orphansCSSProp ... outlineCSSProp ... adding;CSSProp ... paddingCSSProp ... ingTop;CSSProp ... dingTopCSSProp ... gRight;CSSProp ... ngRightCSSProp ... gBottomCSSProp ... ngLeft;CSSProp ... ingLeftCSSProp ... e.page;CSSProp ... pe.pageCSSProp ... kAfter;CSSProp ... akAfterCSSProp ... kBeforeCSSProp ... Inside;CSSProp ... kInsideCSSProp ... .pause;CSSProp ... e.pauseCSSProp ... seAfterCSSProp ... .pitch;CSSProp ... e.pitchCSSProp ... hRange;CSSProp ... chRangeCSSProp ... During;CSSProp ... yDuringCSSProp ... quotes;CSSProp ... .quotesCSSProp ... resize;CSSProp ... .resizeCSSProp ... chness;CSSProp ... ichnessCSSProp ... .right;CSSProp ... e.rightCSSProp ... e.size;CSSProp ... pe.sizeCSSProp ... .speak;CSSProp ... e.speakCSSProp ... Header;CSSProp ... kHeaderCSSProp ... umeral;CSSProp ... NumeralCSSProp ... uation;CSSProp ... tuationCSSProp ... chRate;CSSProp ... echRateCSSProp ... stress;CSSProp ... .stressCSSProp ... Layout;CSSProp ... eLayoutCSSProp ... tAlign;CSSProp ... xtAlignCSSProp ... orationCSSProp ... Indent;CSSProp ... tIndentCSSProp ... tShadowCSSProp ... pe.top;CSSProp ... ype.topCSSProp ... deBidi;CSSProp ... odeBidiCSSProp ... lAlign;CSSProp ... alAlignCSSProp ... eFamilyCSSProp ... volume;CSSProp ... .volumeCSSProp ... eSpace;CSSProp ... teSpaceCSSProp ... widows;CSSProp ... .widowsCSSProp ... .width;CSSProp ... e.widthCSSProp ... zIndex;CSSProp ... .zIndexCSSProp ... opacityCSSProp ... eOriginCSSProp ... rmStyletransit ... unctionCSSProp ... Events;CSSProp ... rEventsCSSProp ... ContentCSSProp ... nItems;CSSProp ... gnItemsCSSProp ... gnSelf;CSSProp ... ignSelfCSSProp ... e.flex;CSSProp ... pe.flexCSSProp ... xBasis;CSSProp ... exBasisCSSProp ... exFlow;CSSProp ... lexFlowCSSProp ... exGrow;CSSProp ... lexGrowCSSProp ... Shrink;CSSProp ... xShrinkCSSProp ... exWrap;CSSProp ... lexWrapCSSProp ... .order;CSSProp ... e.orderCSSProp ... Change;CSSProp ... lChangeWindow. ... st) {};Window. ... ist) {}Window. ... chMediaWindow. ... rWidth;Window. ... erWidthWindow. ... rHeightWindow. ... crollX;Window. ... scrollXWindow. ... Offset;Window. ... XOffsetWindow. ... crollY;Window. ... scrollYWindow. ... YOffsetWindow. ... .scrollWindow. ... crollToWindow. ... crollByWindow. ... creenX;Window. ... screenXWindow. ... creenY;Window. ... screenYMediaQu ... .media;MediaQu ... e.mediaMediaQu ... ototypeMediaQu ... atches;MediaQu ... matchesMediaQu ... er) {};MediaQu ... ner) {}MediaQu ... istenervar Med ... stener;function Screen() {}Screen. ... lWidth;Screen. ... ilWidthScreen. ... Height;Screen. ... lHeightScreen. ... .width;Screen. ... e.widthScreen. ... height;Screen. ... .heightScreen. ... rDepth;Screen. ... orDepthScreen. ... lDepth;Screen. ... elDepthDocumen ... y) {};Documen ... , y) {}Documen ... omPointcaretPo ... omPointCaretPo ... etNode;CaretPo ... setNodeCaretPo ... ototypeCaretPo ... offset;CaretPo ... .offsetElement ... ntRectsElement ... entRectElement ... op) {};Element ... top) {}Element ... ntoViewfunction(opt_top) {}Element ... ollTop;Element ... rollTopElement ... llLeft;Element ... ollLeftElement ... lWidth;Element ... llWidthElement ... Height;Element ... lHeightElement ... entTop;Element ... ientTopElement ... ntLeft;Element ... entLeftElement ... tWidth;Element ... ntWidthElement ... tHeightHTMLEle ... Parent;HTMLEle ... tParentHTMLEle ... setTop;HTMLEle ... fsetTopHTMLEle ... etLeft;HTMLEle ... setLeftHTMLEle ... tWidth;HTMLEle ... etWidthHTMLEle ... Height;HTMLEle ... tHeightRange.p ... n() {};Range.p ... on() {}Range.p ... ntRectsRange.p ... entRectMouseEv ... .pageX;MouseEv ... e.pageXMouseEv ... .pageY;MouseEv ... e.pageYMouseEv ... type.x;MouseEv ... otype.xMouseEv ... type.y;MouseEv ... otype.yMouseEv ... ffsetX;MouseEv ... offsetXMouseEv ... ffsetY;MouseEv ... offsetYClientR ... length;ClientR ... .lengthClientR ... ototypeClientR ... ex) {};ClientR ... dex) {}ClientR ... pe.itemClientR ... pe.top;ClientR ... ype.topClientRect.prototypeClientR ... .right;ClientR ... e.rightClientR ... bottom;ClientR ... .bottomClientR ... e.left;ClientR ... pe.leftClientR ... .width;ClientR ... e.widthClientR ... height;ClientR ... .heightCSSInte ... nt) {};CSSInte ... ent) {}CSSInte ... .escapeCSSInte ... ototypefunction(ident) {}CSSInte ... ue) {};CSSInte ... lue) {}CSSInte ... upportsvar CSS;Window. ... pe.CSS;Window.prototype.CSSvar Fon ... Status;var Fon ... iptors;functio ... ors) {}FontFac ... family;FontFac ... .familyFontFace.prototypeFontFac ... .style;FontFac ... e.styleFontFac ... weight;FontFac ... .weightFontFac ... tretch;FontFac ... stretchFontFac ... eRange;FontFac ... deRangeFontFac ... ariant;FontFac ... variantFontFac ... ttings;FontFac ... ettingsFontFac ... status;FontFac ... .statusFontFac ... n() {};FontFac ... on() {}FontFac ... pe.loadFontFac ... dStatusFontFac ... oading;FontFac ... loadingFontFac ... ototypeFontFac ... ngdone;FontFac ... ingdoneFontFac ... gerror;FontFac ... ngerrorFontFac ... ue) {};FontFac ... lue) {}FontFac ... ype.addFontFac ... e.clearFontFac ... .deleteFontFac ... nt) {};FontFac ... ont) {}FontFac ... ype.hasfunction(font) {}FontFac ... bj) {};FontFac ... Obj) {}FontFac ... forEachfunctio ... Obj) {}FontFac ... xt) {};FontFac ... ext) {}FontFac ... e.checkFontFac ... .ready;FontFac ... e.ready/opt/codeql/javascript/tools/data/externs/web/w3c_css3d.js + * @fileoverview Definitions for W3C's CSS 3D Transforms specification. + * The whole file has been fully type annotated. Created from + * https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html + * + * @externs + + * @constructor + * @param {string=} opt_matrix + * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#the-cssmatrix-interface + + * @type {number} + * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes + + * @param {!CSSMatrix} secondMatrix + * @return {!CSSMatrix} + * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-multiply-CSSMatrix-CSSMatrix-other + /**\n * ... her\n */ + * @return {CSSMatrix} Returns void if the matrix is non-invertable. + * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-inverse-CSSMatrix + /**\n * ... rix\n */ + * @param {number=} opt_x Defaults to 0. + * @param {number=} opt_y Defaults to 0. + * @param {number=} opt_z Defaults to 0. + * @return {!CSSMatrix} + * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-translate-CSSMatrix-unrestricted-double-tx-unrestricted-double-ty-unrestricted-double-tz + /**\n * ... -tz\n */ + * @param {number=} opt_scaleX Defaults to 1. + * @param {number=} opt_scaleY Defaults to scaleX. + * @param {number=} opt_scaleZ Defaults to 1. + * @return {!CSSMatrix} + * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-scale-CSSMatrix-unrestricted-double-scale-unrestricted-double-originX-unrestricted-double-originY + /**\n * ... inY\n */ + * @param {number=} opt_rotX Defaults to 0. + * @param {number=} opt_rotY Defaults to 0. + * @param {number=} opt_rotZ Defaults to rotX if rotY is not defined, else 0. + * @return {!CSSMatrix} + * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-rotate-CSSMatrix-unrestricted-double-angle-unrestricted-double-originX-unrestricted-double-originY + + * @param {number=} opt_x Defaults to 0. + * @param {number=} opt_y Defaults to 0. + * @param {number=} opt_z Defaults to 0. + * @param {number=} opt_angle Defaults to 0. + * @return {!CSSMatrix} + * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-rotateAxisAngle-CSSMatrix-unrestricted-double-x-unrestricted-double-y-unrestricted-double-z-unrestricted-double-angle + /**\n * ... gle\n */ + * @constructor + * @param {string=} opt_matrix + * @extends {CSSMatrix} + * @see http://developer.apple.com/safari/library/documentation/AudioVideo/Reference/WebKitCSSMatrixClassReference/WebKitCSSMatrix/WebKitCSSMatrix.html#//apple_ref/javascript/instm/WebKitCSSMatrix/setMatrixValue + + * @constructor + * @param {string=} opt_matrix + * @extends {CSSMatrix} + * @see http://msdn.microsoft.com/en-us/library/windows/apps/hh453593.aspx + CSSMatrixopt_matrixm13m14m23m24m31m32m33m34m41m42m43m44setMatrixValuemultiplysecondMatrixinverseopt_xopt_yopt_zopt_scaleXopt_scaleYopt_scaleZopt_rotXopt_rotYopt_rotZrotateAxisAngleopt_angleWebKitCSSMatrixMSCSSMatrixDefinitions for W3C's CSS 3D Transforms specification. +The whole file has been fully type annotated. Created from +https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html +*https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#the-cssmatrix-interfacehttps://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes!CSSMatrixhttps://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-multiply-CSSMatrix-CSSMatrix-otherReturns void if the matrix is non-invertable. +https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-inverse-CSSMatrixDefaults to 0. +https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-translate-CSSMatrix-unrestricted-double-tx-unrestricted-double-ty-unrestricted-double-tzDefaults to 1. +Defaults to scaleX. +https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-scale-CSSMatrix-unrestricted-double-scale-unrestricted-double-originX-unrestricted-double-originYDefaults to rotX if rotY is not defined, else 0. +https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-rotate-CSSMatrix-unrestricted-double-angle-unrestricted-double-originX-unrestricted-double-originYhttps://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-rotateAxisAngle-CSSMatrix-unrestricted-double-x-unrestricted-double-y-unrestricted-double-z-unrestricted-double-anglehttp://developer.apple.com/safari/library/documentation/AudioVideo/Reference/WebKitCSSMatrixClassReference/WebKitCSSMatrix/WebKitCSSMatrix.html#//apple_ref/javascript/instm/WebKitCSSMatrix/setMatrixValuehttp://msdn.microsoft.com/en-us/library/windows/apps/hh453593.aspxfunctio ... rix) {}CSSMatr ... pe.m11;CSSMatr ... ype.m11CSSMatrix.prototypeCSSMatr ... pe.m12;CSSMatr ... ype.m12CSSMatr ... pe.m13;CSSMatr ... ype.m13CSSMatr ... pe.m14;CSSMatr ... ype.m14CSSMatr ... pe.m21;CSSMatr ... ype.m21CSSMatr ... pe.m22;CSSMatr ... ype.m22CSSMatr ... pe.m23;CSSMatr ... ype.m23CSSMatr ... pe.m24;CSSMatr ... ype.m24CSSMatr ... pe.m31;CSSMatr ... ype.m31CSSMatr ... pe.m32;CSSMatr ... ype.m32CSSMatr ... pe.m33;CSSMatr ... ype.m33CSSMatr ... pe.m34;CSSMatr ... ype.m34CSSMatr ... pe.m41;CSSMatr ... ype.m41CSSMatr ... pe.m42;CSSMatr ... ype.m42CSSMatr ... pe.m43;CSSMatr ... ype.m43CSSMatr ... pe.m44;CSSMatr ... ype.m44CSSMatr ... ng) {};CSSMatr ... ing) {}CSSMatr ... ixValueCSSMatr ... ix) {};CSSMatr ... rix) {}CSSMatr ... ultiplyCSSMatr ... n() {};CSSMatr ... on() {}CSSMatr ... inverseCSSMatr ... _z) {};CSSMatr ... t_z) {}CSSMatr ... anslatefunctio ... t_z) {}CSSMatr ... eZ) {};CSSMatr ... leZ) {}CSSMatr ... e.scalefunctio ... leZ) {}CSSMatr ... tZ) {};CSSMatr ... otZ) {}CSSMatr ... .rotatefunctio ... otZ) {}CSSMatr ... le) {};CSSMatr ... gle) {}CSSMatr ... isAnglefunctio ... gle) {}/opt/codeql/javascript/tools/data/externs/web/w3c_device_sensor_event.js + * @fileoverview Definitions for W3C's device orientation and device motion + * events specification. + * This file depends on w3c_event.js. + * The whole file has been partially type annotated. + * Created from http://dev.w3.org/geo/api/spec-source-orientation. + * + * @externs + + * @constructor + * @extends {Event} + @type {?number} + * @type {?number} + * @see https://developer.apple.com/library/safari/documentation/SafariDOMAdditions/Reference/DeviceOrientationEventClassRef/DeviceOrientationEvent/DeviceOrientationEvent.html#//apple_ref/javascript/instp/DeviceOrientationEvent/webkitCompassAccuracy + /**\n * ... acy\n */ + * @type {?number} + * @see https://developer.apple.com/library/safari/documentation/SafariDOMAdditions/Reference/DeviceOrientationEventClassRef/DeviceOrientationEvent/DeviceOrientationEvent.html#//apple_ref/javascript/instp/DeviceOrientationEvent/webkitCompassHeading + @type {?DeviceAcceleration} @type {?DeviceRotationRate} /** @ty ... ate} */DeviceOrientationEventalphabetagammawebkitCompassAccuracywebkitCompassHeadingDeviceAccelerationDeviceRotationRateDeviceMotionEventaccelerationaccelerationIncludingGravityrotationRateDefinitions for W3C's device orientation and device motion +events specification. +This file depends on w3c_event.js. +The whole file has been partially type annotated. +Created from http://dev.w3.org/geo/api/spec-source-orientation. +*https://developer.apple.com/library/safari/documentation/SafariDOMAdditions/Reference/DeviceOrientationEventClassRef/DeviceOrientationEvent/DeviceOrientationEvent.html#//apple_ref/javascript/instp/DeviceOrientationEvent/webkitCompassAccuracyhttps://developer.apple.com/library/safari/documentation/SafariDOMAdditions/Reference/DeviceOrientationEventClassRef/DeviceOrientationEvent/DeviceOrientationEvent.html#//apple_ref/javascript/instp/DeviceOrientationEvent/webkitCompassHeading?DeviceAcceleration?DeviceRotationRateDeviceO ... onEventDeviceO ... .alpha;DeviceO ... e.alphaDeviceO ... ototypeDeviceO ... e.beta;DeviceO ... pe.betaDeviceO ... .gamma;DeviceO ... e.gammaDeviceO ... solute;DeviceO ... bsoluteDeviceO ... curacy;DeviceO ... ccuracywebkitC ... ccuracyDeviceO ... eading;DeviceO ... HeadingDeviceA ... type.x;DeviceA ... otype.xDeviceA ... ototypeDeviceA ... type.y;DeviceA ... otype.yDeviceA ... type.z;DeviceA ... otype.zDeviceR ... .alpha;DeviceR ... e.alphaDeviceR ... ototypeDeviceR ... e.beta;DeviceR ... pe.betaDeviceR ... .gamma;DeviceR ... e.gammaDeviceM ... ration;DeviceM ... erationDeviceM ... ototypeDeviceM ... ravity;DeviceM ... Gravityacceler ... GravityDeviceM ... onRate;DeviceM ... ionRateDeviceM ... terval;DeviceM ... nterval/opt/codeql/javascript/tools/data/externs/web/w3c_dom1.js + * @fileoverview Definitions for W3C's DOM Level 1 specification. + * The whole file has been fully type annotated. Created from + * http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html + * + * @externs + * @author stevey@google.com (Steve Yegge) + + * @constructor + * @param {string=} message + * @param {string=} message + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-17189187 + /**\n * ... 187\n */ + * @type {number} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF + /**\n * ... 0AF\n */ + * @constructor + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF + + * @constructor + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-102161490 + /**\n * ... 490\n */ + * @param {string} feature + * @param {string} version + * @return {boolean} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-5CED94D7 + * @nosideeffects + + * @constructor + * @implements {EventTarget} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247 + /**\n * ... 247\n */ + * @type {NamedNodeMap} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-attributes + + * @type {!NodeList} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-childNodes + + * @type {Node} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-firstChild + /**\n * ... ild\n */ + * @type {Node} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-lastChild + + * @type {Node} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nextSibling + + * @type {string} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nodeName + + * @type {string} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nodeValue + + * @type {number} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nodeType + + * @type {Document} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-ownerDocument + + * @type {Node} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-parentNode + + * @type {Node} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-previousSibling + + * @param {Node} newChild + * @return {Node} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-appendChild + + * @param {boolean} deep + * @return {!Node} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-cloneNode + * @nosideeffects + + * @return {boolean} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-hasChildNodes + * @nosideeffects + + * @param {Node} newChild + * @param {Node} refChild + * @return {!Node} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-insertBefore + + * @param {Node} oldChild + * @return {!Node} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-removeChild + + * @param {Node} newChild + * @param {Node} oldChild + * @return {!Node} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-replaceChild + + * @type {number} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247 + + * @constructor + * @extends {Node} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-B63ED1A3 + /**\n * ... 1A3\n */ + * @constructor + * @extends {Node} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#i-Document + + * @type {DocumentType} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-doctype + + * @type {!Element} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-documentElement + + * @type {DOMImplementation} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-implementation + + * @param {string} name + * @return {!Attr} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createAttribute + * @nosideeffects + + * @param {string} data + * @return {!Comment} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createComment + * @nosideeffects + + * @param {string} data + * @return {!CDATASection} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createCDATASection + * @nosideeffects + + * @return {!DocumentFragment} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createDocumentFragment + * @nosideeffects + + * Create a DOM element. + * + * Web components introduced the second parameter as a way of extending existing + * tags (e.g. document.createElement('button', 'fancy-button')). + * + * @param {string} tagName + * @param {string=} opt_typeExtension + * @return {!Element} + * @nosideeffects + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createElement + * @see http://w3c.github.io/webcomponents/spec/custom/#extensions-to-document-interface-to-instantiate + + * @param {string} name + * @return {!EntityReference} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createEntityReference + * @nosideeffects + + * @param {string} target + * @param {string} data + * @return {!ProcessingInstruction} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createProcessingInstruction + * @nosideeffects + + * @param {number|string} data + * @return {!Text} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createTextNode + * @nosideeffects + + * @param {string} tagname + * @return {!NodeList} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-A6C9094 + * @nosideeffects + + * @constructor + * @implements {IArrayLike} + * @implements {Iterable} + * @template T + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-536297177 + /**\n * ... 177\n */ + * @type {number} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-203510337 + /**\n * ... 337\n */ + * @param {number} index + * @return {T|null} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-844377136 + /**\n * ... 136\n */ + * @constructor + * @implements {IObject<(string|number), T>} + * @implements {IArrayLike} + * @implements {Iterable} + * @template T + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1780488922 + /**\n * ... 922\n */ + * @type {number} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-6D0FB19E + /**\n * ... 19E\n */ + * @param {string} name + * @return {Node} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1074577549 + * @nosideeffects + + * @param {number} index + * @return {Node} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-349467F9 + * @nosideeffects + + * @param {string} name + * @return {Node} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D58B193 + /**\n * ... 193\n */ + * @param {Node} arg + * @return {Node} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1025163788 + /**\n * ... 788\n */ + * @constructor + * @extends {Node} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-FF21A306 + /**\n * ... 306\n */ + * @type {string} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-72AB8359 + /**\n * ... 359\n */ + * @type {number} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-7D61178C + /**\n * ... 78C\n */ + * @param {string} arg + * @return {undefined} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-32791A2F + /**\n * ... A2F\n */ + * @param {number} offset + * @param {number} count + * @return {undefined} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-7C603781 + /**\n * ... 781\n */ + * @param {number} offset + * @param {string} arg + * @return {undefined} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-3EDB695F + /**\n * ... 95F\n */ + * @param {number} offset + * @param {number} count + * @param {string} arg + * @return {undefined} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-E5CBA7FB + /**\n * ... 7FB\n */ + * @param {number} offset + * @param {number} count + * @return {string} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-6531BCCF + * @nosideeffects + + * @constructor + * @extends {Node} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-637646024 + /**\n * ... 024\n */ + * @type {string} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1112119403 + /**\n * ... 403\n */ + * @type {boolean} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-862529273 + /**\n * ... 273\n */ + * @type {string} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-221662474 + /**\n * ... 474\n */ + * @constructor + * @extends {Node} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-745549614 + /**\n * ... 614\n */ + * An Element always contains a non-null NamedNodeMap containing the attributes + * of this node. + * @type {!NamedNodeMap} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-attributes + + * @type {string} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-tagName + + * @implicitCast + * @type {?} + * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/className + * We type it as ? even though it is a string, because some SVG elements have + * className that is an object, which isn't a subtype of string. + * Alternative: TypeScript types this as string and types className on + * SVGElement as ?. + /**\n * ... ?.\n */ + * @param {string} name + * @param {number?=} opt_flags + * @return {string} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-getAttribute + * @see http://msdn.microsoft.com/en-us/library/ms536429(VS.85).aspx + * @nosideeffects + + * @param {string} name + * @return {Attr} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-getAttributeNode + * @nosideeffects + + * @param {string} tagname + * @return {!NodeList} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1938918D + * @nosideeffects + + * @param {string} name + * @return {undefined} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-removeAttribute + + * @param {Attr} oldAttr + * @return {?Attr} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-removeAttributeNode + + * @param {string} name + * @param {string|number|boolean} value Values are converted to strings with + * ToString, so we accept number and boolean since both convert easily to + * strings. + * @return {undefined} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-setAttribute + + * @param {Attr} newAttr + * @return {?Attr} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-setAttributeNode + The DOM level 3 spec has a good index of these// The ... f these http://www.w3.org/TR/DOM-Level-3-Events/#event-types// http ... t-types @type {?function (Event=)} /** @ty ... t=)} */ + * @constructor + * @extends {CharacterData} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1312295772 + /**\n * ... 772\n */ + * @param {number} offset + * @return {Text} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-38853C1D + /**\n * ... C1D\n */ + * @constructor + * @extends {CharacterData} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1728279322 + /**\n * ... 322\n */ + * @constructor + * @extends {Text} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-667469212 + /**\n * ... 212\n */ + * @constructor + * @extends {Node} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-412266927 + /**\n * ... 927\n */ + * @type {NamedNodeMap} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1788794630 + /**\n * ... 630\n */ + * @type {string} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1844763134 + /**\n * ... 134\n */ + * @type {NamedNodeMap} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D46829EF + /**\n * ... 9EF\n */ + * @constructor + * @extends {Node} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-5431D1B9 + /**\n * ... 1B9\n */ + * @type {string} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-54F2B4D0 + /**\n * ... 4D0\n */ + * @type {string} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-E8AAB1D0 + /**\n * ... 1D0\n */ + * @constructor + * @extends {Node} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-527DCFF2 + /**\n * ... FF2\n */ + * @type {string} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D7303025 + /**\n * ... 025\n */ + * @type {string} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D7C29F3E + /**\n * ... F3E\n */ + * @type {string} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-6ABAEB38 + /**\n * ... B38\n */ + * @constructor + * @extends {Node} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-11C98490 + + * @constructor + * @extends {Node} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1004215813 + /**\n * ... 813\n */ + * @type {string} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-837822393 + /**\n * ... 393\n */ + * @type {string} + * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1478689192 + /**\n * ... 192\n */ onerror has a special signature.// oner ... nature. See https://developer.mozilla.org/en/DOM/window.onerror// See ... onerror and http://msdn.microsoft.com/en-us/library/cc197053(VS.85).aspx// and ... 5).aspx @type {?function (string, string, number)} INDEX_SIZE_ERRDOMSTRING_SIZE_ERRHIERARCHY_REQUEST_ERRWRONG_DOCUMENT_ERRINVALID_CHARACTER_ERRNO_DATA_ALLOWED_ERRNOT_SUPPORTED_ERRINUSE_ATTRIBUTE_ERRExceptionCodehasFeaturefeaturenewChildhasChildNodesrefChildoldChildreplaceChildATTRIBUTE_NODECDATA_SECTION_NODECOMMENT_NODEDOCUMENT_FRAGMENT_NODEDOCUMENT_TYPE_NODEELEMENT_NODEENTITY_NODEENTITY_REFERENCE_NODEPROCESSING_INSTRUCTION_NODETEXT_NODEXPATH_NAMESPACE_NODENOTATION_NODEdoctypecreateAttributecreateCommentcreateCDATASectioncreateDocumentFragmentopt_typeExtensioncreateEntityReferencecreateProcessingInstructiontagnameNamedNodeMapgetNamedItemremoveNamedItemsetNamedItemCharacterDataappendDatadeleteDatainsertDatareplaceDatasubstringDataAttrgetAttributeNodeoldAttrsetAttributeNodenewAttronbeforeinputonbeforeunloadonbluroncompositionstartoncompositionupdateoncompositionendoncontextmenuoncopyoncutondblclickonfocusonfocusinonfocusoutonkeydownonkeypressonkeyuponunloadonmousemoveonmouseoutonmouseoveronmouseuponmousewheelonpasteonresetonresizeonscrollonselectontextinputonwheelsplitTextCommentCDATASectionDocumentTypeentitiesnotationsNotationpublicIdsystemIdEntitynotationNameEntityReferenceProcessingInstructionondragdroponhashchangeonpaintonpopstateDefinitions for W3C's DOM Level 1 specification. +The whole file has been fully type annotated. Created from +http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html +*http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-17189187http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AFhttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-102161490http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-5CED94D7 +http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247NamedNodeMap.!Attrhttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-attributeshttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-childNodeshttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-firstChildhttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-lastChildhttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nextSiblinghttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nodeNamehttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nodeValuehttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nodeTypehttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-ownerDocumenthttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-parentNodehttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-previousSiblinghttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-appendChildhttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-cloneNode +http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-hasChildNodes +http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-insertBeforehttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-removeChildhttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-replaceChildhttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-B63ED1A3http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#i-Documenthttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-doctypehttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-documentElementhttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-implementationhttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createAttribute +!Commenthttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createComment +!CDATASectionhttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createCDATASection +http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createDocumentFragment +Create a DOM element. + +Web components introduced the second parameter as a way of extending existing +tags (e.g. document.createElement('button', 'fancy-button')).http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createElement +http://w3c.github.io/webcomponents/spec/custom/#extensions-to-document-interface-to-instantiate!EntityReferencehttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createEntityReference +!ProcessingInstructionhttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createProcessingInstruction +!Texthttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createTextNode +http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-A6C9094 +http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-536297177http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-203510337(T|null)http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-844377136IObject.<(string|number), T>http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1780488922http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-6D0FB19Ehttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1074577549 +http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-349467F9 +http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D58B193http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1025163788http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-FF21A306http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-72AB8359http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-7D61178Chttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-32791A2Fhttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-7C603781http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-3EDB695Fhttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-E5CBA7FBhttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-6531BCCF +http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-637646024http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1112119403http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-862529273http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-221662474http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-745549614An Element always contains a non-null NamedNodeMap containing the attributes +of this node.!NamedNodeMap.http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-tagNamehttps://developer.mozilla.org/en-US/docs/Web/API/Element/className +We type it as ? even though it is a string, because some SVG elements have +className that is an object, which isn't a subtype of string. +Alternative: TypeScript types this as string and types className on +SVGElement as ?.number?=number?http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-getAttribute +http://msdn.microsoft.com/en-us/library/ms536429(VS.85).aspx +http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-getAttributeNode +http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1938918D +http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-removeAttribute?Attrhttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-removeAttributeNodeValues are converted to strings with +ToString, so we accept number and boolean since both convert easily to +strings. +(string|number|boolean)http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-setAttributehttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-setAttributeNode?function (Event=)function (Event=)Event=http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1312295772http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-38853C1Dhttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1728279322http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-667469212http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-412266927NamedNodeMap.!Entityhttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1788794630http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1844763134NamedNodeMap.!Notationhttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D46829EFhttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-5431D1B9http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-54F2B4D0http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-E8AAB1D0http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-527DCFF2http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D7303025http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D7C29F3Ehttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-6ABAEB38http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-11C98490http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1004215813http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-837822393http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1478689192?function (string, string, number)function (string, string, number)DOMExce ... RR = 1;DOMExce ... ERR = 1DOMExce ... IZE_ERRDOMExce ... RR = 2;DOMExce ... ERR = 2DOMExce ... RR = 3;DOMExce ... ERR = 3DOMExce ... EST_ERRHIERARC ... EST_ERRDOMExce ... RR = 4;DOMExce ... ERR = 4DOMExce ... ENT_ERRDOMExce ... RR = 5;DOMExce ... ERR = 5DOMExce ... TER_ERRINVALID ... TER_ERRDOMExce ... RR = 6;DOMExce ... ERR = 6DOMExce ... WED_ERRDOMExce ... RR = 7;DOMExce ... ERR = 7DOMExce ... RR = 8;DOMExce ... ERR = 8DOMExce ... UND_ERRDOMExce ... RR = 9;DOMExce ... ERR = 9DOMExce ... TED_ERRDOMExce ... R = 10;DOMExce ... RR = 10DOMExce ... UTE_ERRfunctio ... de() {}DOMImpl ... on) {};DOMImpl ... ion) {}DOMImpl ... Featurefunction Node() {}Node.pr ... re) {};Node.pr ... ure) {}Node.pr ... istenerNode.pr ... vt) {};Node.pr ... evt) {}Node.pr ... chEventNode.pr ... ibutes;Node.pr ... ributesNode.pr ... dNodes;Node.pr ... ldNodesNode.pr ... tChild;Node.pr ... stChildNode.pr ... ibling;Node.pr ... SiblingNode.pr ... deName;Node.pr ... odeNameNode.pr ... eValue;Node.pr ... deValueNode.pr ... deType;Node.pr ... odeTypeNode.pr ... ntNode;Node.pr ... entNodeNode.pr ... ld) {};Node.pr ... ild) {}Node.pr ... ndChildfunctio ... ild) {}Node.pr ... ep) {};Node.pr ... eep) {}Node.pr ... oneNodeNode.pr ... n() {};Node.pr ... on() {}Node.pr ... tBeforeNode.pr ... veChildNode.pr ... ceChildNode.ATTRIBUTE_NODE;Node.ATTRIBUTE_NODENode.CD ... N_NODE;Node.CD ... ON_NODENode.COMMENT_NODE;Node.COMMENT_NODENode.DO ... T_NODE;Node.DO ... NT_NODEDOCUMEN ... NT_NODENode.DOCUMENT_NODE;Node.DO ... E_NODE;Node.DO ... PE_NODENode.ELEMENT_NODE;Node.ELEMENT_NODENode.ENTITY_NODE;Node.ENTITY_NODENode.EN ... E_NODE;Node.EN ... CE_NODEENTITY_ ... CE_NODENode.PR ... N_NODE;Node.PR ... ON_NODEPROCESS ... ON_NODENode.TEXT_NODE;Node.TEXT_NODENode.XP ... E_NODE;Node.XP ... CE_NODENode.NOTATION_NODE;Node.NOTATION_NODEDocumen ... octype;Documen ... doctypeDocumen ... tation;Documen ... ntationDocumen ... tributeDocumen ... ta) {};Documen ... ata) {}Documen ... CommentDocumen ... SectionDocumen ... ragmentcreateD ... ragmentDocumen ... on) {};Documen ... ion) {}Documen ... ferencecreateE ... ferenceDocumen ... ructioncreateP ... ructionDocumen ... extNodeDocumen ... TagNamefunction(tagname) {}NodeLis ... length;NodeLis ... .lengthNodeList.prototypeNodeLis ... ex) {};NodeLis ... dex) {}NodeLis ... pe.itemfunctio ... ap() {}NamedNo ... length;NamedNo ... .lengthNamedNo ... ototypeNamedNo ... me) {};NamedNo ... ame) {}NamedNo ... medItemNamedNo ... ex) {};NamedNo ... dex) {}NamedNo ... pe.itemNamedNo ... rg) {};NamedNo ... arg) {}Charact ... e.data;Charact ... pe.dataCharact ... ototypeCharact ... length;Charact ... .lengthCharact ... rg) {};Charact ... arg) {}Charact ... endDataCharact ... nt) {};Charact ... unt) {}Charact ... eteDatafunctio ... unt) {}Charact ... ertDatafunctio ... arg) {}Charact ... aceDataCharact ... ingDatafunction Attr() {}Attr.prototype.name;Attr.prototype.nameAttr.prototypeAttr.pr ... cified;Attr.pr ... ecifiedAttr.pr ... .value;Attr.prototype.valueElement ... ibutes;Element ... ributesElement ... agName;Element ... tagNameElement ... ssName;Element ... assNameElement ... gs) {};Element ... ags) {}Element ... tributeElement ... uteNodeElement ... TagNameElement ... tr) {};Element ... ttr) {}function(oldAttr) {}Element ... ue) {};Element ... lue) {}function(newAttr) {}Element ... nabort;Element ... onabortElement ... einput;Element ... reinputElement ... unload;Element ... eunloadElement ... onblur;Element ... .onblurElement ... nchangeElement ... nclick;Element ... onclickElement ... nstart;Element ... onstartElement ... update;Element ... nupdateElement ... ionend;Element ... tionendElement ... xtmenu;Element ... extmenuElement ... oncopy;Element ... .oncopyElement ... .oncut;Element ... e.oncutElement ... lclick;Element ... blclickElement ... nerror;Element ... onerrorElement ... nfocus;Element ... onfocusElement ... ocusin;Element ... focusinElement ... cusout;Element ... ocusoutElement ... ninput;Element ... oninputElement ... eydown;Element ... keydownElement ... ypress;Element ... eypressElement ... nkeyup;Element ... onkeyupElement ... onload;Element ... .onloadElement ... nunloadElement ... sedown;Element ... usedownElement ... semove;Element ... usemoveElement ... useout;Element ... ouseoutElement ... seover;Element ... useoverElement ... ouseup;Element ... mouseupElement ... ewheel;Element ... sewheelElement ... npaste;Element ... onpasteElement ... nreset;Element ... onresetElement ... resize;Element ... nresizeElement ... scroll;Element ... nscrollElement ... select;Element ... nselectElement ... submit;Element ... nsubmitElement ... tinput;Element ... xtinputElement ... nwheel;Element ... onwheelfunction Text() {}Text.pr ... et) {};Text.pr ... set) {}Text.pr ... litTextDocumen ... tities;Documen ... ntitiesDocumen ... e.name;Documen ... pe.nameDocumen ... ations;Documen ... tationsNotatio ... blicId;Notatio ... ublicIdNotation.prototypeNotatio ... stemId;Notatio ... ystemIdfunction Entity() {}Entity. ... blicId;Entity. ... ublicIdEntity.prototypeEntity. ... stemId;Entity. ... ystemIdEntity. ... onName;Entity. ... ionNameProcess ... ructionProcess ... e.data;Process ... pe.dataProcess ... ototypeProcess ... target;Process ... .targetfunction Window() {}Window. ... Window;Window. ... .WindowWindow. ... re) {};Window. ... ure) {}Window. ... istenerWindow. ... {};Window. ... \n {}Window. ... vt) {};Window. ... evt) {}Window. ... nabort;Window. ... onabortWindow. ... unload;Window. ... eunloadWindow. ... onblur;Window. ... .onblurWindow. ... nclick;Window. ... onclickWindow. ... nclose;Window. ... oncloseWindow. ... xtmenu;Window. ... extmenuWindow. ... lclick;Window. ... blclickWindow. ... agdrop;Window. ... ragdropWindow. ... nerror;Window. ... onerrorWindow. ... nfocus;Window. ... onfocusWindow. ... hchangeWindow. ... eydown;Window. ... keydownWindow. ... ypress;Window. ... eypressWindow. ... nkeyup;Window. ... onkeyupWindow. ... onload;Window. ... .onloadWindow. ... sedown;Window. ... usedownWindow. ... semove;Window. ... usemoveWindow. ... useout;Window. ... ouseoutWindow. ... seover;Window. ... useoverWindow. ... ouseup;Window. ... mouseupWindow. ... ewheel;Window. ... sewheelWindow. ... npaint;Window. ... onpaintWindow. ... pstate;Window. ... opstateWindow. ... nreset;Window. ... onresetWindow. ... resize;Window. ... nresizeWindow. ... scroll;Window. ... nscrollWindow. ... select;Window. ... nselectWindow. ... submit;Window. ... nsubmitWindow. ... nunloadWindow. ... nwheel;Window. ... onwheel/opt/codeql/javascript/tools/data/externs/web/w3c_dom2.js + * @fileoverview Definitions for W3C's DOM Level 2 specification. + * This file depends on w3c_dom1.js. + * The whole file has been fully type annotated. + * Created from + * http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html + * + * @externs + + * @param {string} s id. + * @return {Element} + * @nosideeffects + * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-getElBId + /**\n * ... BId\n */ + * @param {?string} namespaceURI + * @param {string} qualifiedName + * @param {string=} opt_typeExtension + * @return {!Element} + * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-DocCrElNS + /**\n * ... lNS\n */ + * @param {?string} namespaceURI + * @param {string} qualifiedName + * @return {!Attr} + * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-DocCrElNS + + * @param {string} namespace + * @param {string} name + * @return {!NodeList} + * @nosideeffects + * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-getElBTNNS + /**\n * ... NNS\n */ + * @param {Node} externalNode + * @param {boolean} deep + * @return {Node} + * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#Core-Document-importNode + + * @constructor + * @implements {IObject<(string|number),T>} + * @implements {IArrayLike} + * @template T + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75708506 + /**\n * ... 506\n */ + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40057551 + /**\n * ... 551\n */ + * @param {number} index + * @return {T|null} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33262535 + * @nosideeffects + + * @param {string} name + * @return {T|null} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-21069976 + * @nosideeffects + + * @constructor + * @implements {IObject<(string|number),HTMLOptionElement>} + * @implements {IArrayLike} + * @see http://www.w3.org/TR/DOM-Level-2-HTML/html.html#HTMLOptionsCollection + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-2-HTML/html.html#HTMLOptionsCollection-length + + * @param {number} index + * @return {Node} + * @see http://www.w3.org/TR/DOM-Level-2-HTML/html.html#HTMLOptionsCollection-item + * @nosideeffects + + * @constructor + * @extends {Document} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26809268 + /**\n * ... 268\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18446827 + /**\n * ... 827\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95229140 + /**\n * ... 140\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-2250147 + /**\n * ... 147\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46183437 + /**\n * ... 437\n */ + * @type {!HTMLBodyElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-56360201 + /**\n * ... 201\n */ + * @type {!HTMLCollection} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90379117 + /**\n * ... 117\n */ + * @type {!HTMLCollection} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85113862 + /**\n * ... 862\n */ + * @type {!HTMLCollection<(!HTMLAnchorElement|!HTMLAreaElement)>} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7068919 + /**\n * ... 919\n */ + * @type {!HTMLCollection} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-1689064 + /**\n * ... 064\n */ + * @type {!HTMLCollection} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7577272 + /**\n * ... 272\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8747038 + /**\n * ... 038\n */ + * @param {string=} opt_mimeType + * @param {string=} opt_replace + * @return {undefined} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-72161170 + * Even though official spec says "no parameters" some old browsers might take + * optional parameters: https://msdn.microsoft.com/en-us/library/ms536652(v=vs.85).aspx + * @override + + * @return {undefined} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98948567 + * @override + + * @param {string} text + * @return {undefined} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75233634 + * @override + + * @param {string} text + * @return {undefined} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35318390 + * @override + + * @param {string} elementName + * @return {!NodeList} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71555259 + * @nosideeffects + + * @param {Node} root + * @param {number=} whatToShow + * @param {NodeFilter=} filter + * @param {boolean=} entityReferenceExpansion + * @return {!NodeIterator} + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-Document + * @nosideeffects + + * @param {Node} root + * @param {number=} whatToShow + * @param {NodeFilter=} filter + * @param {boolean=} entityReferenceExpansion + * @return {!TreeWalker} + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-Document + * @nosideeffects + @typedef {{ + createNodeIterator: function(Node, number=, NodeFilter=, boolean=) : NodeIterator, + createTreeWalker: function(Node, number=, NodeFilter=, boolean=) : TreeWalker +}} /** @ty ... r\n}} */ + * @interface + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeFilter +/**\n * ... lter\n*/ Constants for whatToShow /* Cons ... Show */ Consants for acceptNode /* Cons ... Node */ + * @param {Node} n + * @return {number} Any of NodeFilter.FILTER_* constants. + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeFilter-acceptNode +/**\n * ... Node\n*/ + * @interface + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator +/**\n * ... ator\n*/ + * Detach and invalidate the NodeIterator. + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator-detach + * @return {undefined} + + * @return {Node} Next node in the set. + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator-nextNode + + * @return {Node} Previous node in the set. + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator-previousNode + + * @interface + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker +/**\n * ... lker\n*/ + * @return {?Node} The new Node or null. + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-firstChild + + * @return {?Node} The new Node or null.. + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-lastChild + + * @return {?Node} The new Node or null. + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-nextNode + + * @return {?Node} The new Node or null. + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-nextSibling + + * @return {?Node} The new Node or null. + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-parentNode + + * @return {?Node} The new Node or null. + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-previousNode + + * @return {?Node} The new Node or null. + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-previousSibling + + * @type {Node} + + * @type {NodeFilter} + + * @constructor + * @extends {Element} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58190037 + /**\n * ... 037\n */ + * @implicitCast + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63534901 + /**\n * ... 901\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78276800 + /**\n * ... 800\n */ + * @type {!CSSStyleDeclaration} + * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ElementCSSInlineStyle + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59132807 + /**\n * ... 807\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52460740 + /**\n * ... 740\n */ + * @implicitCast + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95362176 + /**\n * ... 176\n */ + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40676705 + /**\n * ... 705\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33759296 + /**\n * ... 296\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9383775 + /**\n * ... 775\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77253168 + /**\n * ... 168\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96921909 + /**\n * ... 909\n */ + * @constructor + * @extends {HTMLElement} + * @implements {LinkStyle} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35143001 + /**\n * ... 001\n */ + * @type {boolean} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87355129 + /**\n * ... 129\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63954491 + /**\n * ... 491\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33532588 + /**\n * ... 588\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85145682 + /**\n * ... 682\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75813125 + /**\n * ... 125\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-41369587 + /**\n * ... 587\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40715461 + /**\n * ... 461\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84183095 + /**\n * ... 095\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32498296 + @type {StyleSheet} /** @ty ... eet} */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79243169 + /**\n * ... 169\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77500413 + /**\n * ... 413\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-37041454 + /**\n * ... 454\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87670826 + /**\n * ... 826\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77289449 + /**\n * ... 449\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-31037081 + /**\n * ... 081\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35993789 + /**\n * ... 789\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73629039 + /**\n * ... 039\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-65382887 + /**\n * ... 887\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73844298 + /**\n * ... 298\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85283003 + /**\n * ... 003\n */ + * @type {HTMLFormElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87069980 + /**\n * ... 980\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33589862 + + * @constructor + * @extends {HTMLElement} + * @implements {LinkStyle} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16428977 + /**\n * ... 977\n */ + * @type {boolean} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-51162010 + /**\n * ... 010\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76412738 + /**\n * ... 738\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22472002 + /**\n * ... 002\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62018039 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59424581 + /**\n * ... 581\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-37574810 + /**\n * ... 810\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-24940084 + /**\n * ... 084\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7662206 + /**\n * ... 206\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73714763 + /**\n * ... 763\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83224305 + /**\n * ... 305\n */ + * @constructor + * @extends {HTMLCollection} + * @implements {IObject)>} + * @implements {IArrayLike} + * @template T + * @see https://html.spec.whatwg.org/multipage/infrastructure.html#the-htmlformcontrolscollection-interface + + * @param {string} name + * @return {T|RadioNodeList|null} + * @see https://html.spec.whatwg.org/multipage/infrastructure.html#dom-htmlformcontrolscollection-nameditem + * @nosideeffects + * @override + * @suppress {newCheckTypes} + + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40002357 + /**\n * ... 357\n */ + * @type {HTMLFormControlsCollection} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76728479 + /**\n * ... 479\n */ + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#HTML-HTMLFormElement-length + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22051454 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-19661795 + /**\n * ... 795\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74049184 + /**\n * ... 184\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84227810 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82545539 + /**\n * ... 539\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6512890 + /**\n * ... 890\n */ + * @return {undefined} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76767676 + /**\n * ... 676\n */ + * @return {undefined} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76767677 + /**\n * ... 677\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-94282980 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58783172 + /**\n * ... 172\n */ + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85676760 + /**\n * ... 760\n */ + * @type {string} + * @implicitCast + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59351919 + + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-5933486 + /**\n * ... 486\n */ + * @type {HTMLFormElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20489458 + /**\n * ... 458\n */ + * @type {!HTMLOptionsCollection} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30606413 + + * @type {boolean} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79102918 + /**\n * ... 918\n */ + * @type {boolean} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13246613 + /**\n * ... 613\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-41636323 + /**\n * ... 323\n */ + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18293826 + + * @param {HTMLElement} element + * @param {HTMLElement=} opt_before + * @return {undefined} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14493106 + /**\n * ... 106\n */ + * @return {undefined} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-28216144 + * @override + + * @return {undefined} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32130014 + * @override + + * @param {number=} opt_index + * @return {undefined} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33404570 + * @override + + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38450247 + + * @type {boolean} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-15518803 + /**\n * ... 803\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95806054 + /**\n * ... 054\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70901257 + /**\n * ... 257\n */ + * @type {boolean} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-37770574 + /**\n * ... 574\n */ + * @type {boolean} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-23482473 + /**\n * ... 473\n */ + * @type {HTMLFormElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-17116503 + /**\n * ... 503\n */ + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14038413 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40736115 + /**\n * ... 115\n */ + * @type {boolean} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70874476 + /**\n * ... 476\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48154426 + /**\n * ... 426\n */ + * @type {string} + * @implicitCast + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6185554 + /**\n * ... 554\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6043025 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-15328520 + /**\n * ... 520\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59914154 + /**\n * ... 154\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96991182 + /**\n * ... 182\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-92701314 + /**\n * ... 314\n */ + * @type {boolean} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30233917 + /**\n * ... 917\n */ + * @type {boolean} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20509171 + /**\n * ... 171\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26091157 + /**\n * ... 157\n */ + * @type {boolean} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-50886781 + + * @type {HTMLFormElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63239895 + /**\n * ... 895\n */ + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-54719353 + /**\n * ... 353\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-89658498 + /**\n * ... 498\n */ + * @type {boolean} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88461592 + /**\n * ... 592\n */ + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79659438 + /**\n * ... 438\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-97320704 + /**\n * ... 704\n */ + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62176355 + /**\n * ... 355\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62883744 + /**\n * ... 744\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32463706 + /**\n * ... 706\n */ + * @type {string} + * @implicitCast + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-49531485 + /**\n * ... 485\n */ + * @return {undefined} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26838235 + * @override + + * @return {undefined} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-2651361 + * @override + + * @return {undefined} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-65996295 + * @override + + * @return {undefined} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-34677168 + + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-24874179 + /**\n * ... 179\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-93102991 + /**\n * ... 991\n */ + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-51387225 + /**\n * ... 225\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-36152213 + /**\n * ... 213\n */ + * @type {boolean} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98725443 + /**\n * ... 443\n */ + * @type {HTMLFormElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18911464 + /**\n * ... 464\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70715578 + /**\n * ... 578\n */ + * @type {boolean} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39131423 + /**\n * ... 423\n */ + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46975887 + + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-60363303 + /**\n * ... 303\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#HTML-HTMLTextAreaElement-type + + * @type {string} + * @implicitCast + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70715579 + /**\n * ... 579\n */ + * @return {undefined} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6750689 + * @override + + * @return {undefined} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39055426 + * @override + + * @return {undefined} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48880622 + /**\n * ... 622\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-34812697 + /**\n * ... 697\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73169431 + /**\n * ... 431\n */ + * @type {boolean} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-92757155 + /**\n * ... 155\n */ + * @type {HTMLFormElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71254493 + /**\n * ... 493\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11029910 + /**\n * ... 910\n */ + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39190908 + /**\n * ... 908\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-27430092 + /**\n * ... 092\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-72856782 + /**\n * ... 782\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13691394 + /**\n * ... 394\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43589892 + /**\n * ... 892\n */ + * @type {HTMLFormElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32480901 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96509813 + + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7365882 + /**\n * ... 882\n */ + * @type {HTMLFormElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75392630 + + * @type {boolean} + * @see https://www.w3.org/TR/html5/forms.html#attr-fieldset-disabled + + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-21482039 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11297832 + /**\n * ... 832\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79538067 + /**\n * ... 067\n */ + * @type {HTMLFormElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-29594519 + /**\n * ... 519\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-86834457 + /**\n * ... 457\n */ + * @type {boolean} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39864178 + /**\n * ... 178\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96874670 + /**\n * ... 670\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58056027 + /**\n * ... 027\n */ + * @type {boolean} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76448506 + + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14793325 + /**\n * ... 325\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40971103 + /**\n * ... 103\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52368974 + /**\n * ... 974\n */ + * @type {boolean} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-21738539 + + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71600284 + /**\n * ... 284\n */ + * @type {boolean} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75317739 + /**\n * ... 739\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-72509186 + * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#the-menu-element + + * @type {boolean} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68436464 + + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74680021 + /**\n * ... 021\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52387668 + /**\n * ... 668\n */ + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-45496263 + /**\n * ... 263\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22445964 + /**\n * ... 964\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70908791 + /**\n * ... 791\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84675076 + /**\n * ... 076\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53465507 + /**\n * ... 507\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43345119 + /**\n * ... 119\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6796462 + /**\n * ... 462\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70319763 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53895598 + /**\n * ... 598\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11383425 + /**\n * ... 425\n */ + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13894083 + /**\n * ... 083\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-56836063 + /**\n * ... 063\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82703081 + + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32774408 + /**\n * ... 408\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87502302 + /**\n * ... 302\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88128969 + /**\n * ... 969\n */ + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38930424 + /**\n * ... 424\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43943847 + /**\n * ... 847\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53532975 + /**\n * ... 975\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-55715655 + /**\n * ... 655\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90127284 + + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68228811 + /**\n * ... 811\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-15235012 + /**\n * ... 012\n */ + * @type {boolean} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79813978 + /**\n * ... 978\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77612587 + + * @type {string} + * @implicitCast + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87744198 + /**\n * ... 198\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79359609 + /**\n * ... 609\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75101708 + /**\n * ... 708\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88432678 + /**\n * ... 678\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48250443 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-89647724 + /**\n * ... 724\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67619266 + /**\n * ... 266\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-92079539 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88517319 + /**\n * ... 319\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87358513 + /**\n * ... 513\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32783304 + /**\n * ... 304\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-3815891 + /**\n * ... 891\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58259771 + /**\n * ... 771\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-49899808 + /**\n * ... 808\n */ + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-41586466 + /**\n * ... 466\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6414197 + /**\n * ... 197\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63938221 + /**\n * ... 221\n */ + * @return {undefined} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-65068939 + * @override + + * @return {undefined} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-47150313 + * @override + + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-17701901 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-3211094 + /**\n * ... 094\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95636861 + /**\n * ... 861\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-136671 + /**\n * ... 671\n */ + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91561496 + /**\n * ... 496\n */ + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53675471 + /**\n * ... 471\n */ + * @type {boolean} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58983880 + /**\n * ... 880\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77376969 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91256910 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-47534097 + /**\n * ... 097\n */ + * @type {string} + * @implicitCast + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87762984 + /**\n * ... 984\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35981181 + /**\n * ... 181\n */ + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85374897 + /**\n * ... 897\n */ + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13839076 + + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9893177 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16962097 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-47783837 + /**\n * ... 837\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82818419 + /**\n * ... 419\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75241146 + /**\n * ... 146\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-25709136 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-19945008 + /**\n * ... 008\n */ + * @type {Document} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38538621 + /**\n * ... 621\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-81766986 + /**\n * ... 986\n */ + * @type {boolean} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-942770 + /**\n * ... 770\n */ + * @type {HTMLFormElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46094773 + /**\n * ... 773\n */ + * @type {string} + * @implicitCast + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88925838 + /**\n * ... 838\n */ + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-17085376 + /**\n * ... 376\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20110362 + /**\n * ... 362\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-25039673 + /**\n * ... 673\n */ + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-27083787 + /**\n * ... 787\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91665621 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6649772 + + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8682483 + /**\n * ... 483\n */ + * @type {string} + * @implicitCast + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38538620 + /**\n * ... 620\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64077273 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59871447 + /**\n * ... 447\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18179888 + /**\n * ... 888\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77971357 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-23931872 + /**\n * ... 872\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-31006348 + /**\n * ... 348\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8049912 + /**\n * ... 912\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58610064 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14476360 + /**\n * ... 360\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-61509645 + /**\n * ... 645\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6581160 + /**\n * ... 160\n */ + * @type {string} + * @implicitCast + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90184867 + /**\n * ... 867\n */ + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-1567197 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39843695 + /**\n * ... 695\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-93681523 + /**\n * ... 523\n */ + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22637173 + /**\n * ... 173\n */ + * @type {string} + * @implicitCast + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16526327 + /**\n * ... 327\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-94109203 + /**\n * ... 203\n */ + * @type {HTMLCollection} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71838730 + /**\n * ... 730\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52696514 + /**\n * ... 514\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26019118 + /**\n * ... 118\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-57944457 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39775416 + /**\n * ... 416\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-66021476 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-34672936 + /**\n * ... 936\n */ + * @type {boolean} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-61826871 + /**\n * ... 871\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85683271 + /**\n * ... 271\n */ + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8722121 + /**\n * ... 121\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46054682 + + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-81598695 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35305677 + + * @type {boolean} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-93788534 + /**\n * ... 534\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-56700403 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-66979266 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75147231 + /**\n * ... 231\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46872999 + /**\n * ... 999\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30534818 + /**\n * ... 818\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64060425 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-23180977 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83532985 + /**\n * ... 985\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-50969400 + /**\n * ... 400\n */ + * @type {HTMLTableCaptionElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14594520 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59162158 + /**\n * ... 158\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68907883 + /**\n * ... 883\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64808476 + + * @type {HTMLCollection} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6156016 + /**\n * ... 016\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26347553 + /**\n * ... 553\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-44998528 + /**\n * ... 528\n */ + * @type {HTMLCollection} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63206416 + + * @type {HTMLTableSectionElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64197097 + + * @type {HTMLTableSectionElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9530944 + /**\n * ... 944\n */ + * @type {string} + * @implicitCast + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77447361 + /**\n * ... 361\n */ + * @return {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96920263 + + * @return {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8453710 + /**\n * ... 710\n */ + * @return {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70313345 + /**\n * ... 345\n */ + * @return {undefined} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22930071 + /**\n * ... 071\n */ + * @param {number} index + * @return {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13114938 + /**\n * ... 938\n */ + * @return {undefined} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78363258 + /**\n * ... 258\n */ + * @return {undefined} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38310198 + + * @param {number=} opt_index + * @return {HTMLElement} + * @see https://www.w3.org/TR/html5/tabular-data.html#htmltableelement + + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-12035137 + /**\n * ... 137\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79875068 + /**\n * ... 068\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84150186 + /**\n * ... 186\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-31128447 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9447412 + /**\n * ... 412\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-57779225 + + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96511335 + /**\n * ... 335\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83291710 + + * @type {string} + * @implicitCast + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-25196799 + /**\n * ... 799\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67417573 + /**\n * ... 573\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40530119 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83470012 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53459732 + /**\n * ... 732\n */ + * @type {HTMLCollection} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52092650 + /**\n * ... 650\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-4379116 + /**\n * ... 116\n */ + * @param {number} index + * @return {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-5625626 + /**\n * ... 626\n */ + * @param {number=} opt_index + * @return {HTMLElement} + * @see https://www.w3.org/TR/html5/tabular-data.html#htmltablesectionelement + + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6986576 + /**\n * ... 576\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74098257 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18161327 + + * @type {HTMLCollection} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67349879 + /**\n * ... 879\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16230502 + /**\n * ... 502\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68207461 + + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67347567 + /**\n * ... 567\n */ + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79105901 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90000058 + /**\n * ... 058\n */ + * @param {number} index + * @return {undefined} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11738598 + + * @param {number} index + * @return {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68927016 + + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82915075 + /**\n * ... 075\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74444037 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98433879 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76554418 + /**\n * ... 418\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88135431 + + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-80748363 + /**\n * ... 363\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30914780 + /**\n * ... 780\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20144310 + /**\n * ... 310\n */ + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84645244 + /**\n * ... 244\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-89104817 + /**\n * ... 817\n */ + * @type {string} + * @implicitCast + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83679212 + + * @type {boolean} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62922045 + /**\n * ... 045\n */ + * @type {number} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48237625 + /**\n * ... 625\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-36139952 + /**\n * ... 952\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58284221 + + * @type {string} + * @implicitCast + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-27480795 + + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43829095 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98869594 + /**\n * ... 594\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-19739247 + + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-97790553 + + * @type {Document} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78799536 + /**\n * ... 536\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11858633 + /**\n * ... 633\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7836998 + /**\n * ... 998\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-55569778 + /**\n * ... 778\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8369969 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91128709 + /**\n * ... 709\n */ + * @type {boolean} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-80766578 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-45411424 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78799535 + /**\n * ... 535\n */ + * @constructor + * @extends {HTMLElement} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-50708718 + /**\n * ... 718\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11309947 + /**\n * ... 947\n */ + * @type {Document} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67133006 + /**\n * ... 006\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22463410 + /**\n * ... 410\n */ + * @type {string} + * @implicitCast + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-1678118 + + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70472105 + /**\n * ... 105\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91371294 + /**\n * ... 294\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-66486595 + /**\n * ... 595\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96819659 + /**\n * ... 659\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-36369822 + /**\n * ... 822\n */ + * @type {string} + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43933957 + /**\n * ... 957\n */ + * @type {string} + * @implicitCast + * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67133005 + /**\n * ... 005\n */ + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF + qualifiedNamecreateAttributeNSimportNodeexternalNodeHTMLOptionsCollectionopt_mimeTypegetElementsByNameelementNamecreateNodeIteratorwhatToShowentityReferenceExpansionTraversalDocumentNodeFilterSHOW_ALLSHOW_ATTRIBUTESHOW_CDATA_SECTIONSHOW_COMMENTSHOW_DOCUMENTSHOW_DOCUMENT_FRAGMENTSHOW_DOCUMENT_TYPESHOW_ELEMENTSHOW_ENTITYSHOW_ENTITY_REFERENCESHOW_NOTATIONSHOW_PROCESSING_INSTRUCTIONSHOW_TEXTFILTER_ACCEPTFILTER_REJECTFILTER_SKIPacceptNodeNodeIteratornextNodepreviousNodeTreeWalkerexpandEntityReferencecurrentNodeHTMLHtmlElementhreflangrevHTMLTitleElementHTMLMetaElementHTMLBaseElementHTMLIsIndexElementaLinkvLinkHTMLFormControlsCollectionenctypeopt_beforeHTMLOptGroupElementaccessKeyalignuseMapHTMLLegendElementHTMLUListElementcompactHTMLOListElementHTMLDListElementHTMLDirectoryElementHTMLLIElementHTMLDivElementHTMLParagraphElementHTMLHeadingElementHTMLQuoteElementciteHTMLPreElementHTMLBRElementHTMLBaseFontElementfaceHTMLFontElementHTMLHRElementnoShadeHTMLModElementshapehspaceisMaplongDesclowSrcvspacearchivecodeBasecodeTypecontentDocumentdeclarestandbyHTMLParamElementvalueTypeHTMLMapElementareasnoHrefHTMLTableElementcaptioncellPaddingcellSpacingframetBodiestFoottHeadcreateCaptioncreateTFootcreateTHeaddeleteCaptiondeleteRowdeleteTFootdeleteTHeadinsertRowHTMLTableCaptionElementHTMLTableColElementchOffvAlignHTMLTableSectionElementHTMLTableRowElementcellsrowIndexsectionRowIndexdeleteCellinsertCellHTMLTableCellElementabbrcellIndexcolSpannoWrapHTMLFrameSetElementframeBordermarginHeightmarginWidthnoResizescrollingNAMESPACE_ERRINVALID_ACCESS_ERRDefinitions for W3C's DOM Level 2 specification. +This file depends on w3c_dom1.js. +The whole file has been fully type annotated. +Created from +http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html +*https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-getElBIdhttps://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-DocCrElNShttps://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-getElBTNNShttps://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#Core-Document-importNodehttp://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75708506http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40057551http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33262535 +http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-21069976 +IObject.<(string|number), HTMLOptionElement>IArrayLike.http://www.w3.org/TR/DOM-Level-2-HTML/html.html#HTMLOptionsCollectionhttp://www.w3.org/TR/DOM-Level-2-HTML/html.html#HTMLOptionsCollection-lengthhttp://www.w3.org/TR/DOM-Level-2-HTML/html.html#HTMLOptionsCollection-item +http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26809268http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18446827http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95229140http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-2250147http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46183437!HTMLBodyElementhttp://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-56360201!HTMLCollection.http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90379117!HTMLCollection.http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85113862!HTMLCollection.<(!HTMLAnchorElement|!HTMLAreaElement)>HTMLCollection.<(!HTMLAnchorElement|!HTMLAreaElement)>(!HTMLAnchorElement|!HTMLAreaElement)http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7068919!HTMLCollection.http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-1689064!HTMLCollection.http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7577272http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8747038http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-72161170 +Even though official spec says "no parameters" some old browsers might take +optional parameters: https://msdn.microsoft.com/en-us/library/ms536652(v=vs.85).aspx +http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98948567 +http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75233634 +http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35318390 +http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71555259 +NodeFilter=!NodeIteratorhttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-Document +!TreeWalker{createNodeIterator: function (Node, number=, NodeFilter=, boolean=): NodeIterator, createTreeWalker: function (Node, number=, NodeFilter=, boolean=): TreeWalker}function (Node, number=, NodeFilter=, boolean=): NodeIteratorfunction (Node, number=, NodeFilter=, boolean=): TreeWalkerhttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeFilterAny of NodeFilter.FILTER_* constants. +http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeFilter-acceptNodehttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIteratorDetach and invalidate the NodeIterator.http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator-detach +Next node in the set. +http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator-nextNodePrevious node in the set. +http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator-previousNodehttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalkerThe new Node or null. +http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-firstChildThe new Node or null.. +http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-lastChildhttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-nextNodehttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-nextSiblinghttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-parentNodehttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-previousNodehttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-previousSiblinghttp://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58190037http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63534901http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78276800http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59132807http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52460740http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95362176http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40676705http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33759296http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9383775http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77253168http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96921909http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35143001http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87355129http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63954491http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33532588http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85145682http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75813125http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-41369587http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40715461http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84183095http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32498296http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79243169http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77500413http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-37041454http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87670826http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77289449http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-31037081http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35993789http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73629039http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-65382887http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73844298http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85283003http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87069980http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33589862http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16428977http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-51162010http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76412738http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22472002http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62018039http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59424581http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-37574810http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-24940084http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7662206http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73714763http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83224305HTMLCollection.IObject.)>(T|RadioNodeList.)RadioNodeList.https://html.spec.whatwg.org/multipage/infrastructure.html#the-htmlformcontrolscollection-interface(T|RadioNodeList.|null)https://html.spec.whatwg.org/multipage/infrastructure.html#dom-htmlformcontrolscollection-nameditem +{newCheckTypes}http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40002357HTMLFormControlsCollection.!HTMLElementhttp://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76728479http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#HTML-HTMLFormElement-lengthhttp://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22051454http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-19661795http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74049184http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84227810http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82545539http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6512890http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76767676http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76767677http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-94282980http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58783172http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85676760http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59351919http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-5933486http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20489458!HTMLOptionsCollectionhttp://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30606413http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79102918http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13246613http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-41636323http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18293826HTMLElement=http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14493106http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-28216144 +http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32130014 +http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33404570 +http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38450247http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-15518803http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95806054http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70901257http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-37770574http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-23482473http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-17116503http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14038413http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40736115http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70874476http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48154426http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6185554http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6043025http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-15328520http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59914154http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96991182http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-92701314http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30233917http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20509171http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26091157http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-50886781http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63239895http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-54719353http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-89658498http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88461592http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79659438http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-97320704http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62176355http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62883744http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32463706http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-49531485http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26838235 +http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-2651361 +http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-65996295 +http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-34677168http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-24874179http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-93102991http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-51387225http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-36152213http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98725443http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18911464http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70715578http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39131423http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46975887http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-60363303http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#HTML-HTMLTextAreaElement-typehttp://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70715579http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6750689 +http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39055426 +http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48880622http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-34812697http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73169431http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-92757155http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71254493http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11029910http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39190908http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-27430092http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-72856782http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13691394http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43589892http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32480901http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96509813http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7365882http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75392630https://www.w3.org/TR/html5/forms.html#attr-fieldset-disabledhttp://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-21482039http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11297832http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79538067http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-29594519http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-86834457http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39864178http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96874670http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58056027http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76448506http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14793325http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40971103http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52368974http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-21738539http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71600284http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75317739http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-72509186 +http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#the-menu-elementhttp://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68436464http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74680021http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52387668http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-45496263http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22445964http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70908791http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84675076http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53465507http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43345119http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6796462http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70319763http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53895598http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11383425http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13894083http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-56836063http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82703081http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32774408http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87502302http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88128969http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38930424http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43943847http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53532975http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-55715655http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90127284http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68228811http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-15235012http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79813978http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77612587http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87744198http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79359609http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75101708http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88432678http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48250443http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-89647724http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67619266http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-92079539http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88517319http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87358513http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32783304http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-3815891http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58259771http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-49899808http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-41586466http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6414197http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63938221http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-65068939 +http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-47150313 +http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-17701901http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-3211094http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95636861http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-136671http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91561496http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53675471http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58983880http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77376969http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91256910http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-47534097http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87762984http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35981181http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85374897http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13839076http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9893177http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16962097http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-47783837http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82818419http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75241146http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-25709136http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-19945008http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38538621http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-81766986http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-942770http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46094773http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88925838http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-17085376http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20110362http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-25039673http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-27083787http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91665621http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6649772http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8682483http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38538620http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64077273http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59871447http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18179888http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77971357http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-23931872http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-31006348http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8049912http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58610064http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14476360http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-61509645http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6581160http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90184867http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-1567197http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39843695http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-93681523http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22637173http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16526327http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-94109203HTMLCollection.http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71838730http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52696514http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26019118http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-57944457http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39775416http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-66021476http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-34672936http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-61826871http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85683271http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8722121http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46054682http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-81598695http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35305677http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-93788534http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-56700403http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-66979266http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75147231http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46872999http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30534818http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64060425http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-23180977http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83532985http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-50969400http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14594520http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59162158http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68907883http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64808476HTMLCollection.!HTMLTableRowElementhttp://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6156016http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26347553http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-44998528HTMLCollection.!HTMLTableSectionElementhttp://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63206416http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64197097http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9530944http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77447361http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96920263http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8453710http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70313345http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22930071http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13114938http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78363258http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38310198https://www.w3.org/TR/html5/tabular-data.html#htmltableelementhttp://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-12035137http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79875068http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84150186http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-31128447http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9447412http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-57779225http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96511335http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83291710http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-25196799http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67417573http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40530119http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83470012http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53459732http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52092650http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-4379116http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-5625626https://www.w3.org/TR/html5/tabular-data.html#htmltablesectionelementhttp://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6986576http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74098257http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18161327HTMLCollection.!HTMLTableCellElementhttp://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67349879http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16230502http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68207461http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67347567http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79105901http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90000058http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11738598http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68927016http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82915075http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74444037http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98433879http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76554418http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88135431http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-80748363http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30914780http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20144310http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84645244http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-89104817http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83679212http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62922045http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48237625http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-36139952http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58284221http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-27480795http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43829095http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98869594http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-19739247http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-97790553http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78799536http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11858633http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7836998http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-55569778http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8369969http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91128709http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-80766578http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-45411424http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78799535http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-50708718http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11309947http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67133006http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22463410http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-1678118http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70472105http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91371294http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-66486595http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96819659http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-36369822http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43933957http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67133005http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AFDocumen ... (s) {};Documen ... n(s) {}Documen ... entByIdfunction(s) {}Documen ... ementNSDocumen ... ibuteNSDocumen ... gNameNSDocumen ... ep) {};Documen ... eep) {}Documen ... ortNodeHTMLCol ... length;HTMLCol ... .lengthHTMLCol ... ototypeHTMLCol ... ex) {};HTMLCol ... dex) {}HTMLCol ... pe.itemHTMLCol ... me) {};HTMLCol ... ame) {}HTMLCol ... medItemHTMLOpt ... lectionHTMLOpt ... length;HTMLOpt ... .lengthHTMLOpt ... ototypeHTMLOpt ... ex) {};HTMLOpt ... dex) {}HTMLOpt ... pe.itemHTMLDoc ... .title;HTMLDoc ... e.titleHTMLDoc ... ferrer;HTMLDoc ... eferrerHTMLDoc ... domain;HTMLDoc ... .domainHTMLDoc ... pe.URL;HTMLDoc ... ype.URLHTMLDoc ... e.body;HTMLDoc ... pe.bodyHTMLDoc ... images;HTMLDoc ... .imagesHTMLDoc ... pplets;HTMLDoc ... appletsHTMLDoc ... .links;HTMLDoc ... e.linksHTMLDoc ... .forms;HTMLDoc ... e.formsHTMLDoc ... nchors;HTMLDoc ... anchorsHTMLDoc ... cookie;HTMLDoc ... .cookieHTMLDoc ... ce) {};HTMLDoc ... ace) {}HTMLDoc ... pe.openHTMLDoc ... n() {};HTMLDoc ... on() {}HTMLDoc ... e.closeHTMLDoc ... xt) {};HTMLDoc ... ext) {}HTMLDoc ... e.writeHTMLDoc ... writelnHTMLDoc ... me) {};HTMLDoc ... ame) {}HTMLDoc ... sByNameHTMLDoc ... on) {};HTMLDoc ... ion) {}HTMLDoc ... teratorentityR ... pansionHTMLDoc ... eWalkervar Tra ... cument;NodeFilter.SHOW_ALL;NodeFilter.SHOW_ALLNodeFil ... RIBUTE;NodeFil ... TRIBUTENodeFil ... ECTION;NodeFil ... SECTIONNodeFil ... OMMENT;NodeFil ... COMMENTNodeFil ... CUMENT;NodeFil ... OCUMENTNodeFil ... AGMENT;NodeFil ... RAGMENTSHOW_DO ... RAGMENTNodeFil ... T_TYPE;NodeFil ... NT_TYPENodeFil ... LEMENT;NodeFil ... ELEMENTNodeFil ... ENTITY;NodeFil ... _ENTITYNodeFil ... ERENCE;NodeFil ... FERENCESHOW_EN ... FERENCENodeFil ... TATION;NodeFil ... OTATIONNodeFil ... UCTION;NodeFil ... RUCTIONSHOW_PR ... RUCTIONNodeFil ... W_TEXT;NodeFilter.SHOW_TEXTNodeFil ... ACCEPT;NodeFil ... _ACCEPTNodeFil ... REJECT;NodeFil ... _REJECTNodeFil ... R_SKIP;NodeFil ... ER_SKIPNodeFil ... (n) {};NodeFil ... n(n) {}NodeFil ... eptNodeNodeFilter.prototypeNodeIte ... n() {};NodeIte ... on() {}NodeIte ... .detachNodeIte ... ototypeNodeIte ... extNodeNodeIte ... ousNodeTreeWal ... n() {};TreeWal ... on() {}TreeWal ... stChildTreeWalker.prototypeTreeWal ... extNodeTreeWal ... SiblingTreeWal ... entNodeTreeWal ... ousNodeTreeWal ... e.root;TreeWal ... pe.rootTreeWal ... ToShow;TreeWal ... tToShowTreeWal ... filter;TreeWal ... .filterTreeWal ... erence;TreeWal ... ferenceexpandE ... ferenceTreeWal ... ntNode;HTMLEle ... ype.id;HTMLEle ... type.idHTMLEle ... .title;HTMLEle ... e.titleHTMLEle ... .style;HTMLEle ... e.styleHTMLEle ... e.lang;HTMLEle ... pe.langHTMLEle ... pe.dir;HTMLEle ... ype.dirHTMLEle ... ssName;HTMLEle ... bIndex;HTMLEle ... abIndexHTMLHtm ... ersion;HTMLHtm ... versionHTMLHtm ... ototypeHTMLHea ... rofile;HTMLHea ... profileHTMLHea ... ototypeHTMLLin ... sabled;HTMLLin ... isabledHTMLLin ... harset;HTMLLin ... charsetHTMLLin ... e.href;HTMLLin ... pe.hrefHTMLLin ... eflang;HTMLLin ... reflangHTMLLin ... .media;HTMLLin ... e.mediaHTMLLin ... pe.rel;HTMLLin ... ype.relHTMLLin ... pe.rev;HTMLLin ... ype.revHTMLLin ... target;HTMLLin ... .targetHTMLLin ... e.type;HTMLLin ... pe.typeHTMLLin ... .sheet;HTMLLin ... e.sheetHTMLTit ... e.text;HTMLTit ... pe.textHTMLTit ... ototypeHTMLMet ... ontent;HTMLMet ... contentHTMLMet ... pEquiv;HTMLMet ... tpEquivHTMLMet ... e.name;HTMLMet ... pe.nameHTMLMet ... scheme;HTMLMet ... .schemeHTMLBas ... e.href;HTMLBas ... pe.hrefHTMLBas ... ototypeHTMLBas ... target;HTMLBas ... .targetHTMLIsI ... e.form;HTMLIsI ... pe.formHTMLIsI ... ototypeHTMLIsI ... prompt;HTMLIsI ... .promptHTMLSty ... sabled;HTMLSty ... isabledHTMLSty ... .media;HTMLSty ... e.mediaHTMLSty ... e.type;HTMLSty ... pe.typeHTMLSty ... .sheet;HTMLSty ... e.sheetHTMLBod ... .aLink;HTMLBod ... e.aLinkHTMLBod ... ground;HTMLBod ... kgroundHTMLBod ... gColor;HTMLBod ... bgColorHTMLBod ... e.link;HTMLBod ... pe.linkHTMLBod ... e.text;HTMLBod ... pe.textHTMLBod ... .vLink;HTMLBod ... e.vLinkHTMLFor ... lectionHTMLFor ... me) {};HTMLFor ... ame) {}HTMLFor ... medItemHTMLFor ... ements;HTMLFor ... lementsHTMLFor ... length;HTMLFor ... .lengthHTMLFor ... e.name;HTMLFor ... pe.nameHTMLFor ... harset;HTMLFor ... CharsetHTMLFor ... action;HTMLFor ... .actionHTMLFor ... nctype;HTMLFor ... enctypeHTMLFor ... method;HTMLFor ... .methodHTMLFor ... target;HTMLFor ... .targetHTMLFor ... .submitHTMLFor ... e.resetHTMLSel ... e.type;HTMLSel ... pe.typeHTMLSel ... dIndex;HTMLSel ... edIndexHTMLSel ... .value;HTMLSel ... e.valueHTMLSel ... length;HTMLSel ... .lengthHTMLSel ... e.form;HTMLSel ... pe.formHTMLSel ... optionsHTMLSel ... sabled;HTMLSel ... isabledHTMLSel ... ltiple;HTMLSel ... ultipleHTMLSel ... e.name;HTMLSel ... pe.nameHTMLSel ... e.size;HTMLSel ... pe.sizeHTMLSel ... re) {};HTMLSel ... ore) {}HTMLSel ... ype.addHTMLSel ... pe.blurHTMLSel ... e.focusHTMLSel ... ex) {};HTMLSel ... dex) {}HTMLSel ... .removeHTMLOpt ... sabled;HTMLOpt ... isabledHTMLOpt ... .label;HTMLOpt ... e.labelHTMLOpt ... lected;HTMLOpt ... electedHTMLOpt ... e.form;HTMLOpt ... pe.formHTMLOpt ... .index;HTMLOpt ... e.indexHTMLOpt ... e.text;HTMLOpt ... pe.textHTMLOpt ... .value;HTMLOpt ... e.valueHTMLInp ... accept;HTMLInp ... .acceptHTMLInp ... essKey;HTMLInp ... cessKeyHTMLInp ... .align;HTMLInp ... e.alignHTMLInp ... pe.alt;HTMLInp ... ype.altHTMLInp ... hecked;HTMLInp ... checkedHTMLInp ... CheckedHTMLInp ... tValue;HTMLInp ... ltValueHTMLInp ... sabled;HTMLInp ... isabledHTMLInp ... e.form;HTMLInp ... pe.formHTMLInp ... Length;HTMLInp ... xLengthHTMLInp ... e.name;HTMLInp ... pe.nameHTMLInp ... adOnly;HTMLInp ... eadOnlyHTMLInp ... e.size;HTMLInp ... pe.sizeHTMLInp ... pe.src;HTMLInp ... ype.srcHTMLInp ... bIndex;HTMLInp ... abIndexHTMLInp ... e.type;HTMLInp ... pe.typeHTMLInp ... useMap;HTMLInp ... .useMapHTMLInp ... .value;HTMLInp ... e.valueHTMLInp ... pe.blurHTMLInp ... e.clickHTMLInp ... e.focusHTMLInp ... .selectHTMLTex ... essKey;HTMLTex ... cessKeyHTMLTex ... e.cols;HTMLTex ... pe.colsHTMLTex ... tValue;HTMLTex ... ltValueHTMLTex ... sabled;HTMLTex ... isabledHTMLTex ... e.form;HTMLTex ... pe.formHTMLTex ... e.name;HTMLTex ... pe.nameHTMLTex ... adOnly;HTMLTex ... eadOnlyHTMLTex ... e.rows;HTMLTex ... pe.rowsHTMLTex ... bIndex;HTMLTex ... abIndexHTMLTex ... e.type;HTMLTex ... pe.typeHTMLTex ... .value;HTMLTex ... e.valueHTMLTex ... pe.blurHTMLTex ... e.focusHTMLTex ... .selectHTMLBut ... essKey;HTMLBut ... cessKeyHTMLBut ... sabled;HTMLBut ... isabledHTMLBut ... e.form;HTMLBut ... pe.formHTMLBut ... e.name;HTMLBut ... pe.nameHTMLBut ... bIndex;HTMLBut ... abIndexHTMLBut ... e.type;HTMLBut ... pe.typeHTMLBut ... .value;HTMLBut ... e.valueHTMLLab ... essKey;HTMLLab ... cessKeyHTMLLab ... e.form;HTMLLab ... pe.formHTMLLab ... tmlFor;HTMLLab ... htmlForHTMLFie ... e.form;HTMLFie ... pe.formHTMLFie ... sabled;HTMLFie ... isabledHTMLLeg ... essKey;HTMLLeg ... cessKeyHTMLLeg ... ototypeHTMLLeg ... .align;HTMLLeg ... e.alignHTMLLeg ... e.form;HTMLLeg ... pe.formHTMLULi ... ompact;HTMLULi ... compactHTMLULi ... ototypeHTMLULi ... e.type;HTMLULi ... pe.typeHTMLOLi ... ompact;HTMLOLi ... compactHTMLOLi ... ototypeHTMLOLi ... .start;HTMLOLi ... e.startHTMLOLi ... e.type;HTMLOLi ... pe.typeHTMLDLi ... ompact;HTMLDLi ... compactHTMLDLi ... ototypeHTMLDir ... ompact;HTMLDir ... compactHTMLDir ... ototypeHTMLMen ... ompact;HTMLMen ... compactHTMLLIE ... e.type;HTMLLIE ... pe.typeHTMLLIE ... ototypeHTMLLIE ... .value;HTMLLIE ... e.valueHTMLDiv ... .align;HTMLDiv ... e.alignHTMLDiv ... ototypeHTMLPar ... .align;HTMLPar ... e.alignHTMLPar ... ototypeHTMLHea ... .align;HTMLHea ... e.alignHTMLQuo ... e.cite;HTMLQuo ... pe.citeHTMLQuo ... ototypeHTMLPre ... .width;HTMLPre ... e.widthHTMLPre ... ototypeHTMLBRE ... .clear;HTMLBRE ... e.clearHTMLBRE ... ototypeHTMLBas ... .color;HTMLBas ... e.colorHTMLBas ... e.face;HTMLBas ... pe.faceHTMLBas ... e.size;HTMLBas ... pe.sizeHTMLFon ... .color;HTMLFon ... e.colorHTMLFon ... ototypeHTMLFon ... e.face;HTMLFon ... pe.faceHTMLFon ... e.size;HTMLFon ... pe.sizeHTMLHRE ... .align;HTMLHRE ... e.alignHTMLHRE ... ototypeHTMLHRE ... oShade;HTMLHRE ... noShadeHTMLHRE ... e.size;HTMLHRE ... pe.sizeHTMLHRE ... .width;HTMLHRE ... e.widthHTMLMod ... e.cite;HTMLMod ... pe.citeHTMLMod ... ototypeHTMLMod ... teTime;HTMLMod ... ateTimeHTMLAnc ... essKey;HTMLAnc ... cessKeyHTMLAnc ... harset;HTMLAnc ... charsetHTMLAnc ... coords;HTMLAnc ... .coordsHTMLAnc ... e.href;HTMLAnc ... pe.hrefHTMLAnc ... eflang;HTMLAnc ... reflangHTMLAnc ... e.name;HTMLAnc ... pe.nameHTMLAnc ... pe.rel;HTMLAnc ... ype.relHTMLAnc ... pe.rev;HTMLAnc ... ype.revHTMLAnc ... .shape;HTMLAnc ... e.shapeHTMLAnc ... bIndex;HTMLAnc ... abIndexHTMLAnc ... target;HTMLAnc ... .targetHTMLAnc ... e.type;HTMLAnc ... pe.typeHTMLAnc ... n() {};HTMLAnc ... on() {}HTMLAnc ... pe.blurHTMLAnc ... e.focusHTMLIma ... .align;HTMLIma ... e.alignHTMLIma ... pe.alt;HTMLIma ... ype.altHTMLIma ... border;HTMLIma ... .borderHTMLIma ... height;HTMLIma ... .heightHTMLIma ... hspace;HTMLIma ... .hspaceHTMLIma ... .isMap;HTMLIma ... e.isMapHTMLIma ... ngDesc;HTMLIma ... ongDescHTMLIma ... lowSrc;HTMLIma ... .lowSrcHTMLIma ... e.name;HTMLIma ... pe.nameHTMLIma ... pe.src;HTMLIma ... ype.srcHTMLIma ... useMap;HTMLIma ... .useMapHTMLIma ... vspace;HTMLIma ... .vspaceHTMLIma ... .width;HTMLIma ... e.widthHTMLObj ... .align;HTMLObj ... e.alignHTMLObj ... rchive;HTMLObj ... archiveHTMLObj ... border;HTMLObj ... .borderHTMLObj ... e.code;HTMLObj ... pe.codeHTMLObj ... deBase;HTMLObj ... odeBaseHTMLObj ... deType;HTMLObj ... odeTypeHTMLObj ... cument;HTMLObj ... ocumentHTMLObj ... e.data;HTMLObj ... pe.dataHTMLObj ... eclare;HTMLObj ... declareHTMLObj ... e.form;HTMLObj ... pe.formHTMLObj ... height;HTMLObj ... .heightHTMLObj ... hspace;HTMLObj ... .hspaceHTMLObj ... e.name;HTMLObj ... pe.nameHTMLObj ... tandby;HTMLObj ... standbyHTMLObj ... bIndex;HTMLObj ... abIndexHTMLObj ... e.type;HTMLObj ... pe.typeHTMLObj ... useMap;HTMLObj ... .useMapHTMLObj ... vspace;HTMLObj ... .vspaceHTMLObj ... .width;HTMLObj ... e.widthHTMLPar ... e.name;HTMLPar ... pe.nameHTMLPar ... e.type;HTMLPar ... pe.typeHTMLPar ... .value;HTMLPar ... e.valueHTMLPar ... ueType;HTMLPar ... lueTypeHTMLApp ... .align;HTMLApp ... e.alignHTMLApp ... ototypeHTMLApp ... pe.alt;HTMLApp ... ype.altHTMLApp ... rchive;HTMLApp ... archiveHTMLApp ... e.code;HTMLApp ... pe.codeHTMLApp ... deBase;HTMLApp ... odeBaseHTMLApp ... height;HTMLApp ... .heightHTMLApp ... hspace;HTMLApp ... .hspaceHTMLApp ... e.name;HTMLApp ... pe.nameHTMLApp ... object;HTMLApp ... .objectHTMLApp ... vspace;HTMLApp ... .vspaceHTMLApp ... .width;HTMLApp ... e.widthHTMLMap ... .areas;HTMLMap ... e.areasHTMLMap ... ototypeHTMLMap ... e.name;HTMLMap ... pe.nameHTMLAre ... essKey;HTMLAre ... cessKeyHTMLAre ... pe.alt;HTMLAre ... ype.altHTMLAre ... coords;HTMLAre ... .coordsHTMLAre ... e.href;HTMLAre ... pe.hrefHTMLAre ... noHref;HTMLAre ... .noHrefHTMLAre ... .shape;HTMLAre ... e.shapeHTMLAre ... bIndex;HTMLAre ... abIndexHTMLAre ... target;HTMLAre ... .targetHTMLScr ... harset;HTMLScr ... charsetHTMLScr ... .defer;HTMLScr ... e.deferHTMLScr ... .event;HTMLScr ... e.eventHTMLScr ... tmlFor;HTMLScr ... htmlForHTMLScr ... pe.src;HTMLScr ... ype.srcHTMLScr ... e.text;HTMLScr ... pe.textHTMLScr ... e.type;HTMLScr ... pe.typeHTMLTab ... .align;HTMLTab ... e.alignHTMLTab ... ototypeHTMLTab ... gColor;HTMLTab ... bgColorHTMLTab ... border;HTMLTab ... .borderHTMLTab ... aption;HTMLTab ... captionHTMLTab ... adding;HTMLTab ... PaddingHTMLTab ... pacing;HTMLTab ... SpacingHTMLTab ... .frame;HTMLTab ... e.frameHTMLTab ... e.rows;HTMLTab ... pe.rowsHTMLTab ... .rules;HTMLTab ... e.rulesHTMLTab ... ummary;HTMLTab ... summaryHTMLTab ... Bodies;HTMLTab ... tBodiesHTMLTab ... .tFoot;HTMLTab ... e.tFootHTMLTab ... .tHead;HTMLTab ... e.tHeadHTMLTab ... .width;HTMLTab ... e.widthHTMLTab ... n() {};HTMLTab ... on() {}HTMLTab ... CaptionHTMLTab ... teTFootHTMLTab ... teTHeadHTMLTab ... ex) {};HTMLTab ... dex) {}HTMLTab ... leteRowHTMLTab ... sertRowHTMLTab ... ElementHTMLTab ... ype.ch;HTMLTab ... type.chHTMLTab ... .chOff;HTMLTab ... e.chOffHTMLTab ... e.span;HTMLTab ... pe.spanHTMLTab ... vAlign;HTMLTab ... .vAlignHTMLTab ... .cells;HTMLTab ... e.cellsHTMLTab ... wIndex;HTMLTab ... owIndexHTMLTab ... eteCellHTMLTab ... ertCellHTMLTab ... e.abbr;HTMLTab ... pe.abbrHTMLTab ... e.axis;HTMLTab ... pe.axisHTMLTab ... lIndex;HTMLTab ... llIndexHTMLTab ... olSpan;HTMLTab ... colSpanHTMLTab ... eaders;HTMLTab ... headersHTMLTab ... height;HTMLTab ... .heightHTMLTab ... noWrap;HTMLTab ... .noWrapHTMLTab ... owSpan;HTMLTab ... rowSpanHTMLTab ... .scope;HTMLTab ... e.scopeHTMLFra ... e.cols;HTMLFra ... pe.colsHTMLFra ... e.rows;HTMLFra ... pe.rowsHTMLFra ... cument;HTMLFra ... ocumentHTMLFra ... Border;HTMLFra ... eBorderHTMLFra ... ngDesc;HTMLFra ... ongDescHTMLFra ... Height;HTMLFra ... nHeightHTMLFra ... nWidth;HTMLFra ... inWidthHTMLFra ... e.name;HTMLFra ... pe.nameHTMLFra ... Resize;HTMLFra ... oResizeHTMLFra ... olling;HTMLFra ... rollingHTMLFra ... pe.src;HTMLFra ... ype.srcHTMLIFr ... .align;HTMLIFr ... e.alignHTMLIFr ... cument;HTMLIFr ... ocumentHTMLIFr ... Border;HTMLIFr ... eBorderHTMLIFr ... height;HTMLIFr ... .heightHTMLIFr ... ngDesc;HTMLIFr ... ongDescHTMLIFr ... Height;HTMLIFr ... nHeightHTMLIFr ... nWidth;HTMLIFr ... inWidthHTMLIFr ... e.name;HTMLIFr ... pe.nameHTMLIFr ... olling;HTMLIFr ... rollingHTMLIFr ... pe.src;HTMLIFr ... ype.srcHTMLIFr ... .width;HTMLIFr ... e.widthDOMExce ... R = 11;DOMExce ... RR = 11DOMExce ... ATE_ERRDOMExce ... R = 12;DOMExce ... RR = 12DOMExce ... TAX_ERRDOMExce ... R = 13;DOMExce ... RR = 13DOMExce ... ION_ERRDOMExce ... R = 14;DOMExce ... RR = 14DOMExce ... ACE_ERRDOMExce ... R = 15;DOMExce ... RR = 15DOMExce ... ESS_ERR/opt/codeql/javascript/tools/data/externs/web/w3c_dom3.js + * @fileoverview Definitions for W3C's DOM Level 3 specification. + * This file depends on w3c_dom2.js. + * The whole file has been fully type annotated. + * Created from + * http://www.w3.org/TR/DOM-Level-3-Core/ecma-script-binding.html + * + * @externs + * @author stevey@google.com (Steve Yegge) + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-258A00AF + + * @constructor + * @implements {IArrayLike} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList-length + + * @param {string} str + * @return {boolean} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList-contains + * @nosideeffects + + * @param {number} index + * @return {string} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList-item + * @nosideeffects + + * @constructor + * @implements {IArrayLike} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-length + + * @param {string} str + * @return {boolean} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-contains + * @nosideeffects + + * @param {?string} namespaceURI + * @param {string} name + * @return {boolean} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-containsNS + * @nosideeffects + + * @param {number} index + * @return {string} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-getName + * @nosideeffects + + * @param {number} index + * @return {string} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-getNamespaceURI + * @nosideeffects + + * @constructor + * @implements {IArrayLike} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationList + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationList-length + + * @param {number} index + * @return {DOMImplementation} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationList-item + * @nosideeffects + + * @constructor + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationSource + + * @param {?string} namespaceURI + * @param {string} publicId + * @param {DocumentType} doctype + * @return {Document} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Level-2-Core-DOM-createDocument + * @nosideeffects + + * @param {string} qualifiedName + * @param {string} publicId + * @param {string} systemId + * @return {DocumentType} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Level-2-Core-DOM-createDocType + * @nosideeffects + + * @param {string} features + * @return {DOMImplementation} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-getDOMImpl + * @nosideeffects + + * @param {string} features + * @return {DOMImplementationList} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-getDOMImpls + * @nosideeffects + + * @param {string} feature + * @param {string} version + * @return {Object} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementation3-getFeature + * @nosideeffects + + * @param {Node} externalNode + * @return {Node} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-adoptNode + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-documentURI + + * @type {DOMConfiguration} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-domConfig + /**\n * ... fig\n */ + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-inputEncoding + + * @type {boolean} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-strictErrorChecking + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-encoding + + * @type {boolean} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-standalone + /**\n * ... one\n */ + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-version + + * @return {undefined} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-normalizeDocument + + * @param {Node} n + * @param {?string} namespaceURI + * @param {string} qualifiedName + * @return {Node} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-renameNode + + * @type {?string} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-baseURI + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeNSLocalN + /**\n * ... alN\n */ + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeNSname + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeNSPrefix + /**\n * ... fix\n */ + * @type {string} + * @implicitCast + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-textContent + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_DISCONNECTED + /**\n * ... TED\n */ + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_PRECEDING + /**\n * ... ING\n */ + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_FOLLOWING + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_CONTAINS + /**\n * ... INS\n */ + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_CONTAINED_BY + /**\n * ... _BY\n */ + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC + /**\n * ... FIC\n */ + * @param {Node} other + * @return {number} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-compareDocumentPosition + * @nosideeffects + + * @param {string} feature + * @param {string} version + * @return {Object} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-getFeature + * @nosideeffects + + * @param {string} key + * @return {Object} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-getUserData + * @nosideeffects + + * @return {boolean} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeHasAttrs + * @nosideeffects + + * @param {?string} namespaceURI + * @return {boolean} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isDefaultNamespace + * @nosideeffects + + * @param {Node} arg + * @return {boolean} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isEqualNode + * @nosideeffects + + * @param {Node} other + * @return {boolean} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isSameNode + * @nosideeffects + + * @param {string} feature + * @param {string} version + * @return {boolean} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Level-2-Core-Node-supports + * @nosideeffects + + * @param {string} prefix + * @return {string} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespaceURI + * @nosideeffects + + * @param {?string} namespaceURI + * @return {string} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespacePrefix + * @nosideeffects + + * @return {undefined} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-normalize + + * @param {Object} key + * @param {Object} data + * @param {UserDataHandler} handler + * @return {Object} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-setUserData' + /**\n * ... ta'\n */ + * @param {string} query + * @return {?Element} + * @see http://www.w3.org/TR/selectors-api/#queryselector + * @nosideeffects + + * @param {string} query + * @return {!NodeList} + * @see http://www.w3.org/TR/selectors-api/#queryselectorall + * @nosideeffects + + * @type {Element} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Attr-ownerElement + + * @type {boolean} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Attr-isId + /**\n * ... sId\n */ + * @type {TypeInfo} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Attr-schemaTypeInfo + + * @type {TypeInfo} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Element-schemaTypeInfo + + * @param {?string} namespaceURI + * @param {string} localName + * @return {Attr} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElGetAtNodeNS + * @nosideeffects + + * @param {?string} namespaceURI + * @param {string} localName + * @return {string} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElGetAttrNS + * @nosideeffects + + * @param {?string} namespaceURI + * @param {string} localName + * @return {!NodeList} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-A6C90942 + * @nosideeffects + + * @param {string} name + * @return {boolean} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElHasAttr + * @nosideeffects + + * @param {?string} namespaceURI + * @param {string} localName + * @return {boolean} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElHasAttrNS + * @nosideeffects + + * @param {?string} namespaceURI + * @param {string} localName + * @return {undefined} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElRemAtNS + /**\n * ... tNS\n */ + * @param {Attr} newAttr + * @return {Attr} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetAtNodeNS + /**\n * ... eNS\n */ + * @param {?string} namespaceURI + * @param {string} qualifiedName + * @param {string|number|boolean} value Values are converted to strings with + * ToString, so we accept number and boolean since both convert easily to + * strings. + * @return {undefined} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetAttrNS + /**\n * ... rNS\n */ + * @param {string} name + * @param {boolean} isId + * @return {undefined} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetIdAttr + /**\n * ... ttr\n */ + * @param {Attr} idAttr + * @param {boolean} isId + * @return {undefined} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetIdAttrNode + + * @param {?string} namespaceURI + * @param {string} localName + * @param {boolean} isId + * @return {undefined} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetIdAttrNS + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Text3-wholeText + + * @param {string} newText + * @return {Text} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Text3-replaceWholeText + + * @constructor + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-DERIVATION_EXTENSION + /**\n * ... ION\n */ + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-DERIVATION_LIST + /**\n * ... IST\n */ + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-DERIVATION_RESTRICTION + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-DERIVATION_UNION + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-typeName + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-typeNamespace + + * @param {string} typeNamespaceArg + * @param {string} typeNameArg + * @param {number} derivationMethod + * @return {boolean} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-isDerivedFrom + * @nosideeffects + + * @constructor + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-CLONED + /**\n * ... NED\n */ + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-IMPORTED + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-DELETED + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-RENAMED + /**\n * ... MED\n */ + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-ADOPTED + + * @param {number} operation + * @param {string} key + * @param {*=} opt_data + * @param {?Node=} opt_src + * @param {?Node=} opt_dst + * @return {undefined} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-handleUserDataEvent + + * @constructor + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-Interfaces-DOMError + + * @type {DOMLocator} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-location + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-message + + * @type {Object} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-relatedData + + * @type {Object} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-relatedException + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severity-warning + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severity-error + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severity-fatal-error + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severity + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-type + + * @type {string} + * @see http://www.w3.org/TR/dom/#domerror + + * @constructor + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-Interfaces-DOMErrorHandler + + * @param {DOMError} error + * @return {boolean} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ERRORS-DOMErrorHandler-handleError + + * @constructor + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Interfaces-DOMLocator + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-byteOffset + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-column-number + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-line-number + + * @type {Node} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-node + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-uri + /**\n * ... uri\n */ + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-utf16Offset + + * @constructor + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration + + * @type {DOMStringList} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration-parameterNames + + * @param {string} name + * @return {boolean} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration-canSetParameter + * @nosideeffects + + * @param {string} name + * @return {*} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration-getParameter + * @nosideeffects + + * @param {string} name + * @param {*} value + * @return {*} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration-property + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-Core-DocType-internalSubset + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-Core-DocType-publicId + /**\n * ... cId\n */ + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-Core-DocType-systemId + /**\n * ... mId\n */ + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Entity3-inputEncoding + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Entity3-encoding + + * @type {string} + * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Entity3-version + VALIDATION_ERRNameListcontainsNSgetNamegetNamespaceURIDOMImplementationListDOMImplementationSourcecreateDocumentcreateDocumentTypegetDOMImplementationfeaturesgetDOMImplementationListgetFeatureadoptNodedocumentURIdomConfiginputEncodingstrictErrorCheckingxmlEncodingxmlStandalonexmlVersionnormalizeDocumentrenameNodeDOCUMENT_POSITION_DISCONNECTEDDOCUMENT_POSITION_PRECEDING0x02DOCUMENT_POSITION_FOLLOWING0x04DOCUMENT_POSITION_CONTAINS0x08DOCUMENT_POSITION_CONTAINED_BY0x10DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC0x20getUserDatahasAttributesisDefaultNamespaceisEqualNodeisSameNodeisSupportedlookupNamespaceURIlookupPrefixsetUserDataownerElementisIdschemaTypeInfogetAttributeNodeNSgetAttributeNShasAttributeNSremoveAttributeNSsetAttributeNodeNSsetIdAttributesetIdAttributeNodeidAttrsetIdAttributeNSwholeTextreplaceWholeTextnewTextTypeInfoDERIVATION_EXTENSIONDERIVATION_LISTDERIVATION_RESTRICTIONDERIVATION_UNIONtypeNametypeNamespaceisDerivedFromtypeNamespaceArgtypeNameArgderivationMethodUserDataHandlerNODE_CLONEDNODE_IMPORTEDNODE_DELETEDNODE_RENAMEDNODE_ADOPTEDoperationopt_srcopt_dstrelatedDatarelatedExceptionSEVERITY_WARNINGSEVERITY_ERRORSEVERITY_FATAL_ERRORDOMErrorHandlerhandleErrorDOMLocatorcolumnNumberrelatedNodeutf16OffsetDOMConfigurationparameterNamescanSetParametergetParametersetParameterinternalSubsetDefinitions for W3C's DOM Level 3 specification. +This file depends on w3c_dom2.js. +The whole file has been fully type annotated. +Created from +http://www.w3.org/TR/DOM-Level-3-Core/ecma-script-binding.html +*http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-258A00AFhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringListhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList-lengthhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList-contains +http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList-item +http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameListhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-lengthhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-contains +http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-containsNS +http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-getName +http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-getNamespaceURI +IArrayLike.!DOMImplementationhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationListhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationList-lengthhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationList-item +http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationSourcehttp://www.w3.org/TR/DOM-Level-3-Core/core.html#Level-2-Core-DOM-createDocument +http://www.w3.org/TR/DOM-Level-3-Core/core.html#Level-2-Core-DOM-createDocType +http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-getDOMImpl +http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-getDOMImpls +http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementation3-getFeature +http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-adoptNodehttp://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-documentURIhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-domConfighttp://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-inputEncodinghttp://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-strictErrorCheckinghttp://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-encodinghttp://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-standalonehttp://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-versionhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-normalizeDocumenthttp://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-renameNodehttp://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-baseURIhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeNSLocalNhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeNSnamehttp://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeNSPrefixhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-textContenthttp://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_DISCONNECTEDhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_PRECEDINGhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_FOLLOWINGhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_CONTAINShttp://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_CONTAINED_BYhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIChttp://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-compareDocumentPosition +http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-getFeature +http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-getUserData +http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeHasAttrs +http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isDefaultNamespace +http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isEqualNode +http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isSameNode +http://www.w3.org/TR/DOM-Level-3-Core/core.html#Level-2-Core-Node-supports +http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespaceURI +http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespacePrefix +http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-normalizehttp://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-setUserData'http://www.w3.org/TR/selectors-api/#queryselector +http://www.w3.org/TR/selectors-api/#queryselectorall +http://www.w3.org/TR/DOM-Level-3-Core/core.html#Attr-ownerElementhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#Attr-isIdhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#Attr-schemaTypeInfohttp://www.w3.org/TR/DOM-Level-3-Core/core.html#Element-schemaTypeInfohttp://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElGetAtNodeNS +http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElGetAttrNS +http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-A6C90942 +http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElHasAttr +http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElHasAttrNS +http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElRemAtNShttp://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetAtNodeNShttp://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetAttrNShttp://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetIdAttrhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetIdAttrNodehttp://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetIdAttrNShttp://www.w3.org/TR/DOM-Level-3-Core/core.html#Text3-wholeTexthttp://www.w3.org/TR/DOM-Level-3-Core/core.html#Text3-replaceWholeTexthttp://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfohttp://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-DERIVATION_EXTENSIONhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-DERIVATION_LISThttp://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-DERIVATION_RESTRICTIONhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-DERIVATION_UNIONhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-typeNamehttp://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-typeNamespacehttp://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-isDerivedFrom +http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandlerhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-CLONEDhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-IMPORTEDhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-DELETEDhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-RENAMEDhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-ADOPTED?Node=http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-handleUserDataEventhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-Interfaces-DOMErrorhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-locationhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-messagehttp://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-relatedDatahttp://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-relatedExceptionhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severity-warninghttp://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severity-errorhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severity-fatal-errorhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severityhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-typehttp://www.w3.org/TR/dom/#domerrorhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-Interfaces-DOMErrorHandlerhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ERRORS-DOMErrorHandler-handleErrorhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#Interfaces-DOMLocatorhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-byteOffsethttp://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-column-numberhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-line-numberhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-nodehttp://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-urihttp://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-utf16Offsethttp://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfigurationhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration-parameterNameshttp://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration-canSetParameter +http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration-getParameter +http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration-propertyhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-Core-DocType-internalSubsethttp://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-Core-DocType-publicIdhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-Core-DocType-systemIdhttp://www.w3.org/TR/DOM-Level-3-Core/core.html#Entity3-inputEncodinghttp://www.w3.org/TR/DOM-Level-3-Core/core.html#Entity3-encodinghttp://www.w3.org/TR/DOM-Level-3-Core/core.html#Entity3-versionDOMExce ... e.code;DOMExce ... pe.codeDOMExce ... ototypeDOMExce ... R = 16;DOMExce ... RR = 16DOMExce ... R = 17;DOMExce ... RR = 17DOMExce ... TCH_ERRDOMStri ... length;DOMStri ... .lengthDOMStri ... ototypeDOMStri ... tr) {};DOMStri ... str) {}DOMStri ... ontainsDOMStri ... ex) {};DOMStri ... dex) {}DOMStri ... pe.itemNameLis ... length;NameLis ... .lengthNameList.prototypeNameLis ... tr) {};NameLis ... str) {}NameLis ... ontainsNameLis ... me) {};NameLis ... ame) {}NameLis ... tainsNSNameLis ... ex) {};NameLis ... dex) {}NameLis ... getNameNameLis ... paceURIDOMImpl ... ionListDOMImpl ... length;DOMImpl ... .lengthDOMImpl ... ex) {};DOMImpl ... dex) {}DOMImpl ... pe.itemDOMImpl ... nSourceDOMImpl ... pe) {};DOMImpl ... ype) {}DOMImpl ... Id) {};DOMImpl ... mId) {}DOMImpl ... entTypefunctio ... mId) {}DOMImpl ... es) {};DOMImpl ... res) {}DOMImpl ... ntationfunctio ... res) {}getDOMI ... ionListDocumen ... de) {};Documen ... ode) {}Documen ... optNodeDocumen ... entURI;Documen ... mentURIDocumen ... Config;Documen ... mConfigDocumen ... coding;Documen ... ncodingDocumen ... ecking;Documen ... heckingDocumen ... dalone;Documen ... ndaloneDocumen ... ersion;Documen ... VersionDocumen ... ameNodeNode.pr ... aseURI;Node.pr ... baseURINode.pr ... alName;Node.pr ... calNameNode.pr ... aceURI;Node.pr ... paceURINode.pr ... prefix;Node.pr ... .prefixNode.pr ... ontent;Node.pr ... ContentNode.DO ... = 0x01;Node.DO ... = 0x01Node.DO ... NNECTEDDOCUMEN ... NNECTEDNode.DO ... = 0x02;Node.DO ... = 0x02Node.DO ... ECEDINGDOCUMEN ... ECEDINGNode.DO ... = 0x04;Node.DO ... = 0x04Node.DO ... LLOWINGDOCUMEN ... LLOWINGNode.DO ... = 0x08;Node.DO ... = 0x08Node.DO ... ONTAINSDOCUMEN ... ONTAINSNode.DO ... = 0x10;Node.DO ... = 0x10Node.DO ... INED_BYDOCUMEN ... INED_BYNode.DO ... = 0x20;Node.DO ... = 0x20Node.DO ... PECIFICDOCUMEN ... PECIFICNode.pr ... er) {};Node.pr ... her) {}Node.pr ... ositionNode.pr ... FeatureNode.pr ... ey) {};Node.pr ... key) {}Node.pr ... serDataNode.pr ... RI) {};Node.pr ... URI) {}Node.pr ... mespaceNode.pr ... rg) {};Node.pr ... arg) {}Node.pr ... ualNodeNode.pr ... ameNodeNode.pr ... pportedNode.pr ... ix) {};Node.pr ... fix) {}Node.pr ... pPrefixNode.pr ... rmalizeNode.pr ... ler) {}Node.pr ... ry) {};Node.pr ... ery) {}Node.pr ... electorfunction(query) {}Node.pr ... ctorAllAttr.pr ... lement;Attr.pr ... ElementAttr.prototype.isId;Attr.prototype.isIdAttr.pr ... peInfo;Attr.pr ... ypeInfoElement ... peInfo;Element ... ypeInfoElement ... eNodeNSElement ... ibuteNSElement ... gNameNSElement ... sId) {}functio ... sId) {}Text.pr ... leText;Text.pr ... oleTextText.pr ... xt) {};Text.pr ... ext) {}function(newText) {}TypeInf ... ENSION;TypeInf ... TENSIONTypeInfo.prototypeTypeInf ... N_LIST;TypeInf ... ON_LISTTypeInf ... ICTION;TypeInf ... RICTIONDERIVAT ... RICTIONTypeInf ... _UNION;TypeInf ... N_UNIONTypeInf ... peName;TypeInf ... ypeNameTypeInf ... espace;TypeInf ... mespaceTypeInf ... od) {};TypeInf ... hod) {}TypeInf ... vedFromfunctio ... hod) {}UserDat ... ED = 1;UserDat ... NED = 1UserDat ... _CLONEDUserDat ... ototypeUserDat ... ED = 2;UserDat ... TED = 2UserDat ... MPORTEDUserDat ... ED = 3;UserDat ... TED = 3UserDat ... DELETEDUserDat ... ED = 4;UserDat ... MED = 4UserDat ... RENAMEDUserDat ... ED = 5;UserDat ... TED = 5UserDat ... ADOPTEDUserDat ... st) {};UserDat ... dst) {}UserDat ... .handlefunctio ... dst) {}DOMErro ... cation;DOMErro ... ocationDOMError.prototypeDOMErro ... essage;DOMErro ... messageDOMErro ... edData;DOMErro ... tedDataDOMErro ... eption;DOMErro ... ceptionDOMErro ... NG = 1;DOMErro ... ING = 1DOMErro ... WARNINGDOMErro ... OR = 2;DOMErro ... ROR = 2DOMErro ... Y_ERRORDOMErro ... OR = 3;DOMErro ... ROR = 3DOMErro ... L_ERRORDOMErro ... verity;DOMErro ... everityDOMErro ... e.type;DOMErro ... pe.typeDOMErro ... e.name;DOMErro ... pe.nameDOMErro ... or) {};DOMErro ... ror) {}DOMErro ... leErrorDOMErro ... ototypeDOMLoca ... Offset;DOMLoca ... eOffsetDOMLocator.prototypeDOMLoca ... Number;DOMLoca ... nNumberDOMLoca ... eNumberDOMLoca ... edNode;DOMLoca ... tedNodeDOMLoca ... pe.uri;DOMLoca ... ype.uriDOMLoca ... 6OffsetDOMConf ... rNames;DOMConf ... erNamesDOMConf ... ototypeDOMConf ... me) {};DOMConf ... ame) {}DOMConf ... rameterDOMConf ... ue) {};DOMConf ... lue) {}Documen ... Subset;Documen ... lSubsetDocumen ... blicId;Documen ... ublicIdDocumen ... stemId;Documen ... ystemIdEntity. ... coding;Entity. ... ncodingEntity. ... ersion;Entity. ... Version/opt/codeql/javascript/tools/data/externs/web/w3c_dom4.js + * Copyright 2016 The Closure Compiler Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + + * @fileoverview Definitions for W3C's DOM4 specification. This file depends on + * w3c_dom3.js. The whole file has been fully type annotated. Created from + * https://www.w3.org/TR/domcore/. + * + * @externs + * @author zhoumotongxue008@gmail.com (Michael Zhou) + /**\n * ... ou)\n */ + * @typedef {?(DocumentType|Element|CharacterData)} + * @see https://www.w3.org/TR/domcore/#interface-childnode + + * @return {undefined} + * @see https://www.w3.org/TR/domcore/#dom-childnode-remove + /**\n * ... ove\n */ChildNodeDefinitions for W3C's DOM4 specification. This file depends on +w3c_dom3.js. The whole file has been fully type annotated. Created from +https://www.w3.org/TR/domcore/. +*zhoumotongxue008@gmail.com (Michael Zhou)?(DocumentType|Element|CharacterData)(DocumentType|Element|CharacterData)https://www.w3.org/TR/domcore/#interface-childnodehttps://www.w3.org/TR/domcore/#dom-childnode-removevar ChildNode;Documen ... .removeElement ... .removeCharact ... n() {};Charact ... on() {}Charact ... .remove/opt/codeql/javascript/tools/data/externs/web/w3c_elementtraversal.js + * @fileoverview Definitions for DOM Element Traversal interface. + * This file depends on w3c_dom1.js. + * The whole file has been fully type annotated. + * Created from: + * http://www.w3.org/TR/ElementTraversal/#ecmascript-bindings + * + * @externs + * @author arv@google.com (Erik Arvidsson) + /**\n * ... on)\n */ + * @typedef {?(Document|DocumentFragment|Element)} + * @see https://dom.spec.whatwg.org/#parentnode + + * @typedef {?(Element|CharacterData)} + * @see https://dom.spec.whatwg.org/#nondocumenttypechildnode + + * @type {Element} + * @see https://developer.mozilla.org/En/DOM/Element.firstElementChild + + * @type {Element} + * @see https://developer.mozilla.org/En/DOM/Element.lastElementChild + + * @type {Element} + * @see https://developer.mozilla.org/En/DOM/Element.previousElementSibling + + * @type {Element} + * @see https://developer.mozilla.org/En/DOM/Element.nextElementSibling + + * @type {number} + * @see https://developer.mozilla.org/En/DOM/Element.childElementCount + + * @type {?Element} + * @see https://dom.spec.whatwg.org/#dom-parentnode-firstelementchild + + * @type {?Element} + * @see https://dom.spec.whatwg.org/#dom-parentnode-lastelementchild + + * @type {number} + * @see https://dom.spec.whatwg.org/#dom-parentnode-childelementcount + + * @type {?Element} + * @see https://dom.spec.whatwg.org/#dom-nondocumenttypechildnode-previouselementsibling + + * @type {?Element} + * @see https://dom.spec.whatwg.org/#dom-nondocumenttypechildnode-nextelementsibling + ParentNodeNonDocumentTypeChildNodefirstElementChildlastElementChildpreviousElementSiblingnextElementSiblingchildElementCountDefinitions for DOM Element Traversal interface. +This file depends on w3c_dom1.js. +The whole file has been fully type annotated. +Created from: +http://www.w3.org/TR/ElementTraversal/#ecmascript-bindings +*arv@google.com (Erik Arvidsson)?(Document|DocumentFragment|Element)(Document|DocumentFragment|Element)https://dom.spec.whatwg.org/#parentnode?(Element|CharacterData)(Element|CharacterData)https://dom.spec.whatwg.org/#nondocumenttypechildnodehttps://developer.mozilla.org/En/DOM/Element.firstElementChildhttps://developer.mozilla.org/En/DOM/Element.lastElementChildhttps://developer.mozilla.org/En/DOM/Element.previousElementSiblinghttps://developer.mozilla.org/En/DOM/Element.nextElementSiblinghttps://developer.mozilla.org/En/DOM/Element.childElementCounthttps://dom.spec.whatwg.org/#dom-parentnode-firstelementchildhttps://dom.spec.whatwg.org/#dom-parentnode-lastelementchildhttps://dom.spec.whatwg.org/#dom-parentnode-childelementcounthttps://dom.spec.whatwg.org/#dom-nondocumenttypechildnode-previouselementsiblinghttps://dom.spec.whatwg.org/#dom-nondocumenttypechildnode-nextelementsiblingvar ParentNode;var Non ... ldNode;NonDocu ... ildNodeElement ... tChild;Element ... ntChildElement ... ibling;Element ... Siblingpreviou ... SiblingElement ... tCount;Element ... ntCountDocumen ... ntChildDocumen ... tCount;Documen ... ntCountCharact ... ibling;Charact ... Sibling/opt/codeql/javascript/tools/data/externs/web/w3c_encoding.js + * @fileoverview Definitions for W3C's Encoding specification + * https://encoding.spec.whatwg.org + * @externs + + * @constructor + * @param {string=} encoding + * @param {Object=} options + @type {string} */** @ty ... ng} **/ @type {boolean} */** @ty ... an} **/ + * @param {!Uint8Array} input + * @param {Object=} options + * @return {string} + + * @param {string} input + * @return {!Uint8Array} + fatalignoreBOMDefinitions for W3C's Encoding specification +https://encoding.spec.whatwg.org +TextDec ... coding;TextDec ... ncodingTextDec ... ototypeTextDec ... .fatal;TextDec ... e.fatalTextDec ... oreBOM;TextDec ... noreBOMTextDec ... ns) {};TextDec ... ons) {}TextDec ... .decodeTextEnc ... coding;TextEnc ... ncodingTextEnc ... ototypeTextEnc ... ut) {};TextEnc ... put) {}TextEnc ... .encode/opt/codeql/javascript/tools/data/externs/web/w3c_event.js + * @fileoverview Definitions for W3C's event specification. + * The whole file has been fully type annotated. + * Created from + * http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html + * + * @externs + + * TODO(tbreisacher): Change the type of useCapture to be + * {boolean|!EventListenerOptions}, here and in removeEventListener. + * + * @param {string} type + * @param {EventListener|function(!Event):(boolean|undefined)} listener + * @param {boolean} useCapture + * @return {undefined} + + * @param {string} type + * @param {EventListener|function(!Event):(boolean|undefined)} listener + * @param {boolean} useCapture + * @return {undefined} + + * @param {!Event} evt + * @return {boolean} + + * @param {!Event} evt + * @return {undefined} + The EventInit interface and the parameters to the Event constructor are part// The ... re part of DOM Level 3 (suggested) and the DOM "Living Standard" (mandated). They are// of D ... hey are included here as externs cannot be redefined. The same applies to other// incl ... o other *EventInit interfaces and *Event constructors throughout this file. See:// *Eve ... e. See: http://www.w3.org/TR/DOM-Level-3-Events/#event-initializers// http ... alizers http://dom.spec.whatwg.org/#constructing-events https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm#event-constructors// http ... ructors + * @record + * @see https://dom.spec.whatwg.org/#dictdef-eventinit + + * @constructor + * @param {string} type + * @param {EventInit=} opt_eventInitDict + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html + + * Present for events spawned in browsers that support shadow dom. + * @type {Array|undefined} + + * Present for events spawned in browsers that support shadow dom. + * @type {function():Array|undefined} + * @see https://www.w3.org/TR/shadow-dom/#widl-Event-deepPath + + * @param {string} eventTypeArg + * @param {boolean} canBubbleArg + * @param {boolean} cancelableArg + * @return {undefined} + + * @record + * @extends {EventInit} + * @see https://dom.spec.whatwg.org/#dictdef-customeventinit + @type {(*|undefined)} + * @constructor + * @extends {Event} + * @param {string} type + * @param {CustomEventInit=} opt_eventInitDict + * @see http://www.w3.org/TR/DOM-Level-3-Events/#interface-CustomEvent + + * @param {string} eventType + * @param {boolean} bubbles + * @param {boolean} cancelable + * @param {*} detail + * @return {undefined} + + * @param {string} eventType + * @return {!Event} + + * @record + * @extends {EventInit} + * @see https://w3c.github.io/uievents/#idl-uieventinit + @type {undefined|?Window} + * @constructor + * @extends {Event} + * @param {string} type + * @param {UIEventInit=} opt_eventInitDict + + * @param {string} typeArg + * @param {boolean} canBubbleArg + * @param {boolean} cancelableArg + * @param {Window} viewArg + * @param {number} detailArg + * @return {undefined} + + * @record + * @extends {UIEventInit} + * @see https://w3c.github.io/uievents/#dictdef-eventmodifierinit + + * @record + * @extends {EventModifierInit} + * @see https://w3c.github.io/uievents/#idl-mouseeventinit + @type {undefined|?EventTarget} + * @constructor + * @extends {UIEvent} + * @param {string} type + * @param {MouseEventInit=} opt_eventInitDict + + * @param {string} typeArg + * @param {boolean} canBubbleArg + * @param {boolean} cancelableArg + * @param {Node} relatedNodeArg + * @param {string} prevValueArg + * @param {string} newValueArg + * @param {string} attrNameArg + * @param {number} attrChangeArg + * @return {undefined} + DOM3// DOM3 + * @record + * @extends {EventModifierInit} + * @see https://w3c.github.io/uievents/#idl-keyboardeventinit + + * @constructor + * @extends {UIEvent} + * @param {string} type + * @param {KeyboardEventInit=} opt_eventInitDict + + * @param {string} keyIdentifierArg + * @return {boolean} + + * @record + * @extends {UIEventInit} + * @see https://w3c.github.io/uievents/#idl-focuseventinit + + * The FocusEvent interface provides specific contextual information associated + * with Focus events. + * http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent + * + * @constructor + * @extends {UIEvent} + * @param {string} type + * @param {FocusEventInit=} opt_eventInitDict + + * See https://dom.spec.whatwg.org/#dictdef-eventlisteneroptions + * @record + /**\n * ... ord\n */ + * See https://dom.spec.whatwg.org/#dictdef-addeventlisteneroptions + * @record + * @extends {EventListenerOptions} + + * @record + * @extends {UIEventInit} + * @see https://w3c.github.io/uievents/#idl-inputeventinit + * @see https://w3c.github.io/input-events/#interface-InputEvent + @type {undefined|?string} TODO(charleyroy): Add getTargetRanges() once a consensus has been made// TODO ... en made regarding how to structure these values. See// rega ... es. See https://github.com/w3c/input-events/issues/38.// http ... ues/38. + * @constructor + * @extends {UIEvent} + * @param {string} type + * @param {InputEventInit=} opt_eventInitDict + * @see https://www.w3.org/TR/uievents/#interface-inputevent + * @see https://w3c.github.io/input-events/#interface-InputEvent + @type {?DataTransfer} EventListenerAT_TARGETBUBBLING_PHASECAPTURING_PHASEdeepPathinitEventeventTypeArgCustomEventInitinitCustomEventDocumentEventUIEventInitEventModifierInitmodifierAltGraphmodifierCapsLockmodifierFnmodifierFnLockmodifierHypermodifierNumLockmodifierScrollLockmodifierSupermodifierSymbolmodifierSymbolLockMutationEventprevValuenewValueattrNameattrChangeinitMutationEventrelatedNodeArgprevValueArgnewValueArgattrNameArgattrChangeArgKeyboardEventInitisComposingKeyboardEventkeyIdentifierkeyIdentifierArgFocusEventInitFocusEventEventListenerOptionsAddEventListenerOptionsInputEventInitinputTypeInputEventisComposedDefinitions for W3C's event specification. +The whole file has been fully type annotated. +Created from +http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html +*TODO(tbreisacher): Change the type of useCapture to be +{boolean|!EventListenerOptions}, here and in removeEventListener.(EventListener|function (!Event): (boolean|undefined))function (!Event): (boolean|undefined)https://dom.spec.whatwg.org/#dictdef-eventinitEventInit=http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.htmlPresent for events spawned in browsers that support shadow dom.(Array.|undefined)Array.(function (): Array.|undefined)function (): Array.Array.!EventTargethttps://www.w3.org/TR/shadow-dom/#widl-Event-deepPathhttps://dom.spec.whatwg.org/#dictdef-customeventinit(*|undefined)CustomEventInit=http://www.w3.org/TR/DOM-Level-3-Events/#interface-CustomEventhttps://w3c.github.io/uievents/#idl-uieventinit(undefined|?Window)UIEventInit=https://w3c.github.io/uievents/#dictdef-eventmodifierinithttps://w3c.github.io/uievents/#idl-mouseeventinit(undefined|?EventTarget)?EventTargetMouseEventInit=https://w3c.github.io/uievents/#idl-keyboardeventinitKeyboardEventInit=https://w3c.github.io/uievents/#idl-focuseventinitThe FocusEvent interface provides specific contextual information associated +with Focus events. +http://www.w3.org/TR/DOM-Level-3-Events/#events-focuseventFocusEventInit=See https://dom.spec.whatwg.org/#dictdef-eventlisteneroptionsSee https://dom.spec.whatwg.org/#dictdef-addeventlisteneroptionshttps://w3c.github.io/uievents/#idl-inputeventinit +https://w3c.github.io/input-events/#interface-InputEvent(undefined|?string)InputEventInit=https://www.w3.org/TR/uievents/#interface-inputevent +EventTa ... {};EventTa ... \n {}EventTa ... istenerEventTa ... ototypeEventTa ... vt) {};EventTa ... evt) {}EventTa ... chEventEventLi ... vt) {};EventLi ... evt) {}EventLi ... leEventEventLi ... ototypeEventIn ... ubbles;EventIn ... bubblesEventInit.prototypeEventIn ... elable;EventIn ... celableEventIn ... mposed;EventIn ... omposedEvent.AT_TARGET;Event.AT_TARGETEvent.B ... _PHASE;Event.BUBBLING_PHASEEvent.C ... _PHASE;Event.C ... G_PHASEEvent.p ... e.type;Event.prototype.typeEvent.p ... target;Event.p ... .targetEvent.p ... tTargetEvent.p ... tPhase;Event.p ... ntPhaseEvent.p ... ubbles;Event.p ... bubblesEvent.p ... elable;Event.p ... celableEvent.p ... eStamp;Event.p ... meStampEvent.p ... e.path;Event.prototype.pathEvent.p ... epPath;Event.p ... eepPathEvent.p ... n() {};Event.p ... on() {}Event.p ... agationEvent.p ... DefaultEvent.p ... rg) {};Event.p ... Arg) {}Event.p ... itEventCustomE ... detail;CustomE ... .detailCustomE ... ototypeCustomE ... il) {};CustomE ... ail) {}CustomE ... omEventfunctio ... ail) {}UIEvent ... e.view;UIEvent ... pe.viewUIEvent ... ototypeUIEvent ... detail;UIEvent ... .detailUIEvent.prototypeUIEvent ... rg) {};UIEvent ... Arg) {}UIEvent ... UIEventEventMo ... trlKey;EventMo ... ctrlKeyEventMo ... ototypeEventMo ... iftKey;EventMo ... hiftKeyEventMo ... altKey;EventMo ... .altKeyEventMo ... etaKey;EventMo ... metaKeyEventMo ... tGraph;EventMo ... ltGraphEventMo ... psLock;EventMo ... apsLockEventMo ... fierFn;EventMo ... ifierFnEventMo ... FnLock;EventMo ... rFnLockEventMo ... rHyper;EventMo ... erHyperEventMo ... umLock;EventMo ... NumLockEventMo ... llLock;EventMo ... ollLockEventMo ... rSuper;EventMo ... erSuperEventMo ... Symbol;EventMo ... rSymbolEventMo ... olLock;EventMo ... bolLockMouseEv ... creenX;MouseEv ... screenXMouseEv ... ototypeMouseEv ... creenY;MouseEv ... screenYMouseEv ... lientX;MouseEv ... clientXMouseEv ... lientY;MouseEv ... clientYMouseEv ... button;MouseEv ... .buttonMouseEv ... uttons;MouseEv ... buttonsMouseEv ... Target;MouseEv ... dTargetMouseEv ... trlKey;MouseEv ... ctrlKeyMouseEv ... iftKey;MouseEv ... hiftKeyMouseEv ... altKey;MouseEv ... .altKeyMouseEv ... etaKey;MouseEv ... metaKeyMutatio ... edNode;Mutatio ... tedNodeMutatio ... vValue;Mutatio ... evValueMutatio ... wValue;Mutatio ... ewValueMutatio ... trName;Mutatio ... ttrNameMutatio ... Change;Mutatio ... rChangeMutatio ... rg) {};Mutatio ... Arg) {}Mutatio ... onEventKeyboar ... pe.key;Keyboar ... ype.keyKeyboar ... ototypeKeyboar ... e.code;Keyboar ... pe.codeKeyboar ... cation;Keyboar ... ocationKeyboar ... repeat;Keyboar ... .repeatKeyboar ... posing;Keyboar ... mposingKeyboar ... e.char;Keyboar ... pe.charKeyboar ... locale;Keyboar ... .localeKeyboar ... tifier;Keyboar ... ntifierKeyboar ... trlKey;Keyboar ... ctrlKeyKeyboar ... iftKey;Keyboar ... hiftKeyKeyboar ... altKey;Keyboar ... .altKeyKeyboar ... etaKey;Keyboar ... metaKeyKeyboar ... rg) {};Keyboar ... Arg) {}Keyboar ... erStateFocusEv ... Target;FocusEv ... dTargetFocusEv ... ototypeFocusEvent.prototypevar Eve ... n() {};EventLi ... on() {}EventLi ... apture;EventLi ... capturevar Add ... n() {};AddEven ... on() {}AddEven ... OptionsAddEven ... assive;AddEven ... passiveAddEven ... ototypeAddEven ... e.once;AddEven ... pe.onceInputEv ... e.data;InputEv ... pe.dataInputEv ... ototypeInputEv ... posing;InputEv ... mposingInputEv ... utType;InputEv ... putTypeInputEv ... ansfer;InputEv ... ransferInputEvent.prototypeInputEv ... mposed;InputEv ... omposed/opt/codeql/javascript/tools/data/externs/web/w3c_event3.js + * @fileoverview Definitions for W3C's event Level 3 specification. + * This file depends on w3c_event.js. + * The whole file has been partially type annotated. + * Created from + * http://www.w3.org/TR/DOM-Level-3-Events/#ecma-script-binding-ecma-binding + * + * @externs + + * @param {string} typeArg + * @param {boolean} canBubbleArg + * @param {boolean} cancelableArg + * @param {Window} viewArg + * @param {string} keyIdentifierArg + * @param {number} keyLocationArg + * @param {string} modifiersList + * @return {undefined} + initKeyboardEventkeyLocationArgmodifiersListDefinitions for W3C's event Level 3 specification. +This file depends on w3c_event.js. +The whole file has been partially type annotated. +Created from +http://www.w3.org/TR/DOM-Level-3-Events/#ecma-script-binding-ecma-binding +*Keyboar ... st) {};Keyboar ... ist) {}Keyboar ... rdEventMouseEv ... rg) {};MouseEv ... Arg) {}MouseEv ... erStateEvent.p ... vented;Event.p ... eventedEvent.p ... aceURI;Event.p ... paceURI/opt/codeql/javascript/tools/data/externs/web/w3c_gamepad.js + * Copyright 2013 The Closure Compiler Authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + + * @fileoverview Definitions for W3C's Gamepad specification. + * @see http://www.w3.org/TR/gamepad/ + * @externs + + * @return {!Array.} + read-only// read-only + * @type {!Array.} + + * Note: The W3C spec changed, this property now returns an array of + * GamepadButton objects. + * + * @type {(!Array.|!Array.)} + getGamepadswebkitGetGamepadsGamepadmappingaxesGamepadButtonpressedDefinitions for W3C's Gamepad specification. +http://www.w3.org/TR/gamepad/ +!Array.Array.!GamepadNote: The W3C spec changed, this property now returns an array of +GamepadButton objects.(!Array.|!Array.)!Array.Array.!GamepadButtonnavigat ... n() {};navigat ... on() {}navigat ... amepadsvar Gam ... n() {};Gamepad ... on() {}Gamepad ... ype.id;Gamepad.prototype.idGamepad.prototypeGamepad ... .index;Gamepad ... e.indexGamepad ... nected;Gamepad ... nnectedGamepad ... estamp;Gamepad ... mestampGamepad ... apping;Gamepad ... mappingGamepad ... e.axes;Gamepad ... pe.axesGamepad ... uttons;Gamepad ... buttonsGamepad ... ressed;Gamepad ... pressedGamepad ... ototypeGamepad ... .value;Gamepad ... e.value/opt/codeql/javascript/tools/data/externs/web/w3c_geolocation.js + * @fileoverview Definitions for W3C's Geolocation specification + * http://www.w3.org/TR/geolocation-API/ + * @externs + + * @constructor + * @see http://www.w3.org/TR/geolocation-API/#geolocation + + * @param {function(!GeolocationPosition)} successCallback + * @param {(function(!GeolocationPositionError)|null)=} opt_errorCallback + * @param {GeolocationPositionOptions=} opt_options + * @return {undefined} + + * @param {function(!GeolocationPosition)} successCallback + * @param {(function(!GeolocationPositionError)|null)=} opt_errorCallback + * @param {GeolocationPositionOptions=} opt_options + * @return {number} + + * @param {number} watchId + * @return {undefined} + + * @constructor + * @see http://www.w3.org/TR/geolocation-API/#coordinates + + * @constructor + * @see http://www.w3.org/TR/geolocation-API/#position + @type {GeolocationCoordinates} /** @ty ... tes} */ + * @record + * @see http://www.w3.org/TR/geolocation-API/#position-options + + * @constructor + * @see http://www.w3.org/TR/geolocation-API/#position-error + @type {Geolocation} GeolocationgetCurrentPositionwatchPositionclearWatchwatchIdGeolocationCoordinateslatitudelongitudeaccuracyaltitudealtitudeAccuracyheadingGeolocationPositionGeolocationPositionOptionsenableHighAccuracymaximumAgeGeolocationPositionErrorUNKNOWN_ERRORPERMISSION_DENIEDPOSITION_UNAVAILABLEgeolocationDefinitions for W3C's Geolocation specification +http://www.w3.org/TR/geolocation-API/ +http://www.w3.org/TR/geolocation-API/#geolocationfunction (!GeolocationPosition)!GeolocationPosition(function (!GeolocationPositionError)|null)=(function (!GeolocationPositionError)|null)function (!GeolocationPositionError)!GeolocationPositionErrorGeolocationPositionOptions=http://www.w3.org/TR/geolocation-API/#coordinateshttp://www.w3.org/TR/geolocation-API/#positionhttp://www.w3.org/TR/geolocation-API/#position-optionshttp://www.w3.org/TR/geolocation-API/#position-errorGeoloca ... ns) {};Geoloca ... ons) {}Geoloca ... ositionGeoloca ... ototypeGeoloca ... Id) {};Geoloca ... hId) {}Geoloca ... arWatchfunction(watchId) {}Geoloca ... dinatesGeoloca ... titude;Geoloca ... atitudeGeoloca ... gitude;Geoloca ... ngitudeGeoloca ... curacy;Geoloca ... ccuracyGeoloca ... ltitudeGeoloca ... eading;Geoloca ... headingGeoloca ... .speed;Geoloca ... e.speedGeoloca ... coords;Geoloca ... .coordsGeoloca ... estamp;Geoloca ... mestampGeoloca ... OptionsGeoloca ... mumAge;Geoloca ... imumAgeGeoloca ... imeout;Geoloca ... timeoutGeoloca ... onErrorGeoloca ... e.code;Geoloca ... pe.codeGeoloca ... essage;Geoloca ... messageGeoloca ... _ERROR;Geoloca ... N_ERRORGeoloca ... DENIED;Geoloca ... _DENIEDGeoloca ... ILABLE;Geoloca ... AILABLEGeoloca ... IMEOUT;Geoloca ... TIMEOUTNavigat ... cation;Navigat ... ocation/opt/codeql/javascript/tools/data/externs/web/w3c_indexeddb.js + * Copyright 2011 The Closure Compiler Authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + + * @fileoverview Definitions for W3C's IndexedDB API. In Chrome all the + * IndexedDB classes are prefixed with 'webkit'. In order to access constants + * and static methods of these classes they must be duplicated with the + * prefix here. + * @see http://www.w3.org/TR/IndexedDB/ + * + * @externs + * @author guido.tapia@picnet.com.au (Guido Tapia) + /**\n * ... ia)\n */ @type {!IDBFactory|undefined} + * @constructor + * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBFactory + + * @param {string} name The name of the database to open. + * @param {number=} opt_version The version at which to open the database. + * @return {!IDBOpenDBRequest} The IDBRequest object. + /**\n * ... ct.\n */ + * @param {string} name The name of the database to delete. + * @return {!IDBOpenDBRequest} The IDBRequest object. + + * @constructor + * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBDatabaseException + + * @constructor + * @extends {IDBDatabaseException} + * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBDatabaseException + + * @const + * @type {number} + + * @constructor + * @implements {EventTarget} + * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBRequest + + * @constructor + * @extends {IDBRequest} + * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBRequest + readonly// readonly + * @type {function(!Event)} + + * @type {number} + * @deprecated Use "error" + /**\n * ... or"\n */ @type {!DOMError} @type {Object} @type {IDBTransaction} + * @constructor + * @extends {IDBRequest} + * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBOpenDBRequest + + * @type {function(!IDBVersionChangeEvent)} + + * @constructor + * @implements {EventTarget} + * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBDatabase + + * @type {string} + * @const + + * @type {DOMStringList} + * @const + + * @param {string} name The name of the object store. + * @param {Object=} opt_parameters Parameters to be passed + * creating the object store. + * @return {!IDBObjectStore} The created/open object store. + /**\n * ... re.\n */ + * @param {string} name The name of the object store to remove. + * @return {undefined} + + * @param {string} version The new version of the database. + * @return {!IDBRequest} The IDBRequest object. + + * @param {string|Array} storeNames The stores to open in this + * transaction. + * @param {(number|string)=} mode The mode for opening the object stores. + * @return {!IDBTransaction} The IDBRequest object. + + * Closes the database connection. + * @return {undefined} + + * Typedef for valid key types according to the w3 specification. Note that this + * is slightly wider than what is actually allowed, as all Array elements must + * have a valid key type. + * @see http://www.w3.org/TR/IndexedDB/#key-construct + * @typedef {number|string|!Date|!Array} + + * @constructor + * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBObjectStore + + * @type {DOMStringList} + + * @param {*} value The value to put into the object store. + * @param {IDBKeyType=} key The key of this value. + * @return {!IDBRequest} The IDBRequest object. + + * @param {*} value The value to add into the object store. + * @param {IDBKeyType=} key The key of this value. + * @return {!IDBRequest} The IDBRequest object. + + * @param {IDBKeyType} key The key of this value. + * @return {!IDBRequest} The IDBRequest object. + + * @param {IDBKeyType|!IDBKeyRange} key The key of the document to retrieve. + * @return {!IDBRequest} The IDBRequest object. + + * @return {!IDBRequest} The IDBRequest object. + + * @param {IDBKeyRange=} range The range of the cursor. + * @param {(number|string)=} direction The direction of cursor enumeration. + * @return {!IDBRequest} The IDBRequest object. + + * @param {string} name The name of the index. + * @param {string|!Array} keyPath The path to the index key. + * @param {Object=} opt_parameters Optional parameters + * for the created index. + * @return {!IDBIndex} The IDBIndex object. + + * @param {string} name The name of the index to retrieve. + * @return {!IDBIndex} The IDBIndex object. + + * @param {string} indexName The name of the index to remove. + * @return {undefined} + + * @param {(IDBKeyType|IDBKeyRange)=} key The key of this value. + * @return {!IDBRequest} The IDBRequest object. + * @see http://www.w3.org/TR/IndexedDB/#widl-IDBObjectStore-count + + * @constructor + * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBIndex + + * @type {!IDBObjectStore} + * @const + + * @type {boolean} + * @const + + * @param {IDBKeyType|!IDBKeyRange} key The id of the object to retrieve. + * @return {!IDBRequest} The IDBRequest object. + + * @constructor + * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBCursor + + * @constructor + * @extends {IDBCursor} + * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBCursor + + * @type {*} + * @const + + * @type {IDBKeyType} + * @const + + * @param {*} value The new value for the current object in the cursor. + * @return {!IDBRequest} The IDBRequest object. + + * Note: Must be quoted to avoid parse error. + * @param {IDBKeyType=} key Continue enumerating the cursor from the specified + * key (or next). + * @return {undefined} + + * @param {number} count Number of times to iterate the cursor. + * @return {undefined} + + * Note: Must be quoted to avoid parse error. + * @return {!IDBRequest} The IDBRequest object. + + * @constructor + * @extends {IDBCursor} + * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBCursorWithValue + + * @constructor + * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBTransaction + + * @constructor + * @extends {IDBTransaction} + * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBTransaction + + * @type {number|string} + * @const + + * @type {IDBDatabase} + * @const + + * @param {string} name The name of the object store to retrieve. + * @return {!IDBObjectStore} The object store. + + * Aborts the transaction. + * @return {undefined} + + * @constructor + * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBKeyRange + + * @constructor + * @extends {IDBKeyRange} + * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBKeyRange + + * @param {IDBKeyType} value The single key value of this range. + * @return {!IDBKeyRange} The key range. + /**\n * ... ge.\n */ + * @param {IDBKeyType} bound Creates a lower bound key range. + * @param {boolean=} open Open the key range. + * @return {!IDBKeyRange} The key range. + + * @param {IDBKeyType} bound Creates an upper bound key range. + * @param {boolean=} open Open the key range. + * @return {!IDBKeyRange} The key range. + + * @param {IDBKeyType} left The left bound value. + * @param {IDBKeyType} right The right bound value. + * @param {boolean=} openLeft Whether the left bound value should be excluded. + * @param {boolean=} openRight Whether the right bound value should be excluded. + * @return {!IDBKeyRange} The key range. + + * @constructor + * @extends {Event} + * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBVersionChangeEvent + + * @type {?number} + * @const + + * @constructor + * @extends {IDBVersionChangeEvent} + * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBVersionChangeEvent + moz_indexedDBmozIndexedDBwebkitIndexedDBmsIndexedDBindexedDBIDBFactoryopt_versiondeleteDatabaseIDBDatabaseExceptionwebkitIDBDatabaseExceptionUNKNOWN_ERRNON_TRANSIENT_ERRCONSTRAINT_ERRDATA_ERRNOT_ALLOWED_ERRTRANSACTION_INACTIVE_ERRREAD_ONLY_ERRTIMEOUT_ERRQUOTA_ERRIDBRequestwebkitIDBRequestonsuccesserrorCodeIDBOpenDBRequestonblockedonupgradeneededIDBDatabaseobjectStoreNamescreateObjectStoreopt_parametersdeleteObjectStoresetVersionstoreNamesonversionchangeIDBKeyTypeIDBObjectStorekeyPathindexNamesautoIncrementputopenCursorcreateIndexdeleteIndexindexNameIDBIndexobjectStoreopenKeyCursorgetKeyIDBCursorwebkitIDBCursorNEXTNEXT_NO_DUPLICATEPREVPREV_NO_DUPLICATEprimaryKeyadvanceIDBCursorWithValueIDBTransactionwebkitIDBTransactionREAD_WRITEREAD_ONLYVERSION_CHANGEoncompleteIDBKeyRangewebkitIDBKeyRangelowerupperlowerOpenupperOpenlowerBoundboundupperBoundopenLeftopenRightIDBVersionChangeEventwebkitIDBVersionChangeEventDefinitions for W3C's IndexedDB API. In Chrome all the +IndexedDB classes are prefixed with 'webkit'. In order to access constants +and static methods of these classes they must be duplicated with the +prefix here. +http://www.w3.org/TR/IndexedDB/ +*guido.tapia@picnet.com.au (Guido Tapia)(!IDBFactory|undefined)!IDBFactoryhttp://www.w3.org/TR/IndexedDB/#idl-def-IDBFactoryThe name of the database to open. +The version at which to open the database. +The IDBRequest object.!IDBOpenDBRequestThe name of the database to delete. +http://www.w3.org/TR/IndexedDB/#idl-def-IDBDatabaseExceptionhttp://www.w3.org/TR/IndexedDB/#idl-def-IDBRequestUse "error"!DOMErrorhttp://www.w3.org/TR/IndexedDB/#idl-def-IDBOpenDBRequestfunction (!IDBVersionChangeEvent)!IDBVersionChangeEventhttp://www.w3.org/TR/IndexedDB/#idl-def-IDBDatabaseThe name of the object store. +Parameters to be passed +creating the object store. +The created/open object store.!IDBObjectStoreThe name of the object store to remove. +The new version of the database. +!IDBRequestThe stores to open in this +transaction. +The mode for opening the object stores. +!IDBTransactionCloses the database connection.Typedef for valid key types according to the w3 specification. Note that this +is slightly wider than what is actually allowed, as all Array elements must +have a valid key type.http://www.w3.org/TR/IndexedDB/#key-construct +http://www.w3.org/TR/IndexedDB/#idl-def-IDBObjectStoreThe value to put into the object store. +The key of this value. +IDBKeyType=The value to add into the object store. +The key of the document to retrieve. +(IDBKeyType|!IDBKeyRange)!IDBKeyRangeThe range of the cursor. +IDBKeyRange=The direction of cursor enumeration. +The name of the index. +The path to the index key. +Optional parameters +for the created index. +The IDBIndex object.!IDBIndexThe name of the index to retrieve. +The name of the index to remove. +(IDBKeyType|IDBKeyRange)=(IDBKeyType|IDBKeyRange)The IDBRequest object. +http://www.w3.org/TR/IndexedDB/#widl-IDBObjectStore-counthttp://www.w3.org/TR/IndexedDB/#idl-def-IDBIndexThe id of the object to retrieve. +http://www.w3.org/TR/IndexedDB/#idl-def-IDBCursorThe new value for the current object in the cursor. +Note: Must be quoted to avoid parse error.Continue enumerating the cursor from the specified +key (or next). +Number of times to iterate the cursor. +http://www.w3.org/TR/IndexedDB/#idl-def-IDBCursorWithValuehttp://www.w3.org/TR/IndexedDB/#idl-def-IDBTransactionThe name of the object store to retrieve. +The object store.Aborts the transaction.http://www.w3.org/TR/IndexedDB/#idl-def-IDBKeyRangeThe single key value of this range. +The key range.Creates a lower bound key range. +Open the key range. +Creates an upper bound key range. +The left bound value. +The right bound value. +Whether the left bound value should be excluded. +Whether the right bound value should be excluded. +http://www.w3.org/TR/IndexedDB/#idl-def-IDBVersionChangeEventWindow. ... exedDB;Window. ... dexedDBIDBFact ... on) {};IDBFact ... ion) {}IDBFact ... pe.openIDBFactory.prototypeIDBFact ... me) {};IDBFact ... ame) {}IDBFact ... atabasewebkitI ... ceptionIDBData ... WN_ERR;IDBData ... OWN_ERRwebkitI ... WN_ERR;webkitI ... OWN_ERRIDBData ... NT_ERR;IDBData ... ENT_ERRwebkitI ... NT_ERR;webkitI ... ENT_ERRIDBData ... ND_ERR;IDBData ... UND_ERRwebkitI ... ND_ERR;webkitI ... UND_ERRIDBData ... INT_ERRwebkitI ... INT_ERRIDBData ... TA_ERR;IDBData ... ATA_ERRwebkitI ... TA_ERR;webkitI ... ATA_ERRIDBData ... ED_ERR;IDBData ... WED_ERRwebkitI ... ED_ERR;webkitI ... WED_ERRIDBData ... VE_ERR;IDBData ... IVE_ERRTRANSAC ... IVE_ERRwebkitI ... VE_ERR;webkitI ... IVE_ERRIDBData ... RT_ERR;IDBData ... ORT_ERRwebkitI ... RT_ERR;webkitI ... ORT_ERRIDBData ... LY_ERR;IDBData ... NLY_ERRwebkitI ... LY_ERR;webkitI ... NLY_ERRIDBData ... UT_ERR;IDBData ... OUT_ERRwebkitI ... UT_ERR;webkitI ... OUT_ERRIDBData ... OTA_ERRwebkitI ... OTA_ERRIDBData ... e.code;IDBData ... pe.codeIDBData ... ototypewebkitI ... e.code;webkitI ... pe.codewebkitI ... ototypeIDBData ... essage;IDBData ... messagewebkitI ... essage;webkitI ... messageIDBRequ ... re) {};IDBRequ ... ure) {}IDBRequ ... istenerIDBRequest.prototypeIDBRequ ... vt) {};IDBRequ ... evt) {}IDBRequ ... chEventIDBRequest.LOADING;IDBRequest.LOADINGwebkitI ... OADING;webkitI ... LOADINGIDBRequest.DONE;IDBRequest.DONEwebkitI ... t.DONE;webkitI ... st.DONEIDBRequ ... yState;IDBRequ ... dyStateIDBRequ ... (e) {};IDBRequ ... n(e) {}IDBRequ ... successfunction(e) {}IDBRequ ... onerrorIDBRequ ... result;IDBRequ ... .resultIDBRequ ... orCode;IDBRequ ... rorCodeIDBRequ ... .error;IDBRequ ... e.errorIDBRequ ... source;IDBRequ ... .sourceIDBRequ ... action;IDBRequ ... sactionIDBOpen ... (e) {};IDBOpen ... n(e) {}IDBOpen ... blockedIDBOpen ... ototypeIDBOpen ... eneededIDBData ... e.name;IDBData ... pe.nameIDBData ... iption;IDBData ... riptionIDBData ... ersion;IDBData ... versionIDBData ... eNames;IDBData ... reNamesIDBData ... s) {};IDBData ... rs) {}IDBData ... ctStorefunctio ... rs) {}IDBData ... me) {};IDBData ... ame) {}IDBData ... on) {};IDBData ... ion) {}IDBData ... Versionfunction(version) {}IDBData ... de) {};IDBData ... ode) {}IDBData ... sactionIDBData ... n() {};IDBData ... on() {}IDBData ... e.closeIDBData ... onabortIDBData ... onerrorIDBData ... nchangeIDBData ... re) {};IDBData ... ure) {}IDBData ... istenerIDBData ... vt) {};IDBData ... evt) {}IDBData ... chEventvar IDBKeyType;IDBObje ... e.name;IDBObje ... pe.nameIDBObje ... ototypeIDBObje ... eyPath;IDBObje ... keyPathIDBObje ... xNames;IDBObje ... exNamesIDBObje ... action;IDBObje ... sactionIDBObje ... rement;IDBObje ... crementIDBObje ... ey) {};IDBObje ... key) {}IDBObje ... ype.putIDBObje ... ype.addIDBObje ... .deleteIDBObje ... ype.getIDBObje ... n() {};IDBObje ... on() {}IDBObje ... e.clearIDBObje ... on) {};IDBObje ... ion) {}IDBObje ... nCursorIDBObje ... rs) {};IDBObje ... ers) {}IDBObje ... teIndexIDBObje ... me) {};IDBObje ... ame) {}IDBObje ... e.indexIDBObje ... e.countfunctio ... ex() {}IDBInde ... e.name;IDBInde ... pe.nameIDBIndex.prototypeIDBInde ... tStore;IDBInde ... ctStoreIDBInde ... eyPath;IDBInde ... keyPathIDBInde ... unique;IDBInde ... .uniqueIDBInde ... on) {};IDBInde ... ion) {}IDBInde ... nCursorIDBInde ... yCursorIDBInde ... ey) {};IDBInde ... key) {}IDBInde ... ype.getIDBInde ... .getKeyIDBCursor.NEXT;IDBCursor.NEXTwebkitI ... r.NEXT;webkitIDBCursor.NEXTIDBCurs ... LICATE;IDBCurs ... PLICATEwebkitI ... LICATE;webkitI ... PLICATEIDBCursor.PREV;IDBCursor.PREVwebkitI ... r.PREV;webkitIDBCursor.PREVIDBCurs ... source;IDBCurs ... .sourceIDBCursor.prototypeIDBCurs ... ection;IDBCurs ... rectionIDBCurs ... pe.key;IDBCurs ... ype.keyIDBCurs ... aryKey;IDBCurs ... maryKeyIDBCurs ... ue) {};IDBCurs ... lue) {}IDBCurs ... .updateIDBCurs ... ey) {};IDBCurs ... key) {}IDBCurs ... ontinueIDBCurs ... nt) {};IDBCurs ... unt) {}IDBCurs ... advanceIDBCurs ... n() {};IDBCurs ... on() {}IDBCurs ... .deleteIDBCurs ... .value;IDBCurs ... e.valueIDBCurs ... ototypeIDBTran ... _WRITE;IDBTran ... D_WRITEwebkitI ... _WRITE;webkitI ... D_WRITEIDBTran ... D_ONLY;IDBTran ... AD_ONLYwebkitI ... D_ONLY;webkitI ... AD_ONLYIDBTran ... CHANGE;IDBTran ... _CHANGEwebkitI ... CHANGE;webkitI ... _CHANGEIDBTran ... e.mode;IDBTran ... pe.modeIDBTran ... ototypeIDBTran ... ype.db;IDBTran ... type.dbIDBTran ... me) {};IDBTran ... ame) {}IDBTran ... ctStoreIDBTran ... n() {};IDBTran ... on() {}IDBTran ... e.abortIDBTran ... onabortIDBTran ... ompleteIDBTran ... onerrorIDBKeyR ... .lower;IDBKeyR ... e.lowerIDBKeyR ... ototypeIDBKeyR ... .upper;IDBKeyR ... e.upperIDBKeyR ... erOpen;IDBKeyR ... werOpenIDBKeyR ... perOpenIDBKeyR ... ue) {};IDBKeyR ... lue) {}IDBKeyRange.onlywebkitI ... ue) {};webkitI ... lue) {}webkitI ... ge.onlyIDBKeyR ... en) {};IDBKeyR ... pen) {}IDBKeyR ... erBoundfunctio ... pen) {}webkitI ... en) {};webkitI ... pen) {}webkitI ... erBoundIDBKeyR ... ht) {};IDBKeyR ... ght) {}IDBKeyRange.boundwebkitI ... ht) {};webkitI ... ght) {}webkitI ... e.boundIDBVers ... geEventIDBVers ... ersion;IDBVers ... VersionIDBVers ... ototypewebkitI ... geEventwebkitI ... ersion;webkitI ... version/opt/codeql/javascript/tools/data/externs/web/w3c_midi.js + * Copyright 2014 The Closure Compiler Authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + + * @fileoverview W3C Web MIDI specification. + * @see http://www.w3.org/TR/webmidi/ + * + * @externs + + * @param {!MIDIOptions=} opt_options + * @return {!Promise.} + /**\n * ... s>}\n */ + * @typedef {{ + * sysex: boolean + * }} + + * @const {number} + + * @param {function(string)} iterator + + * @param {function(!Array.<*>)} iterator + + * @param {function(!MIDIInput)} iterator + + * @param {string} key + * @return {!MIDIInput} + /**\n * ... ut}\n */ + * @param {string} key + * @return {boolean} + + * @param {function(!MIDIOutput)} iterator + + * @param {string} key + * @return {!MIDIOutput} + + * @const {!MIDIInputMap} + /**\n * ... ap}\n */ + * @const {!MIDIOutputMap} + + * @const {function(!MIDIConnectionEvent)} + + * @type {function(!MIDIConnectionEvent)} + + * @const {boolean} + + * @interface + * @extends {MIDIPort} + + * @type {function(!MIDIMessageEvent)} + + * @param {!Uint8Array} data + * @param {number=} opt_timestamp + /**\n * ... amp\n */ + * @constructor + * @extends {Event} + * @param {string} type + * @param {!MIDIMessageEventInit=} opt_init + + * @const {!Uint8Array} + + * @record + * @extends {EventInit} + * @see https://www.w3.org/TR/webmidi/#midimessageeventinit-interface + @type {undefined|!Uint8Array} + * @constructor + * @extends {Event} + * @param {string} type + * @param {!MIDIConnectionEventInit=} opt_init + + * @const {MIDIPort} + + * @record + * @extends {EventInit} + * @see https://www.w3.org/TR/webmidi/#idl-def-MIDIConnectionEventInit + @type {undefined|!MIDIPort} /** @ty ... ort} */requestMIDIAccessMIDIOptionsMIDIInputMapMIDIOutputMapMIDIAccessinputsoutputsondisconnectsysexEnabledMIDIPortmanufacturerMIDIInputonmidimessageMIDIOutputopt_timestampMIDIMessageEventreceivedTimeMIDIMessageEventInitMIDIConnectionEventMIDIConnectionEventInitW3C Web MIDI specification. +http://www.w3.org/TR/webmidi/ +*!MIDIOptions=!MIDIOptions!Promise.Promise.!MIDIAccess{sysex: boolean}sysexfunction (!Array.<*>)!Array.<*>function (!MIDIInput)!MIDIInputfunction (!MIDIOutput)!MIDIOutput!MIDIInputMap!MIDIOutputMapfunction (!MIDIConnectionEvent)!MIDIConnectionEventfunction (!MIDIMessageEvent)!MIDIMessageEvent!MIDIMessageEventInit=!MIDIMessageEventInithttps://www.w3.org/TR/webmidi/#midimessageeventinit-interface(undefined|!Uint8Array)!MIDIConnectionEventInit=!MIDIConnectionEventInithttps://www.w3.org/TR/webmidi/#idl-def-MIDIConnectionEventInit(undefined|!MIDIPort)!MIDIPortnavigat ... ns) {};navigat ... ons) {}navigat ... IAccessvar MIDIOptions;var MID ... n() {};MIDIInp ... on() {}MIDIInp ... e.size;MIDIInp ... pe.sizeMIDIInp ... ototypeMIDIInp ... or) {};MIDIInp ... tor) {}MIDIInp ... pe.keysMIDIInp ... entriesMIDIInp ... .valuesMIDIInp ... ey) {};MIDIInp ... key) {}MIDIInp ... ype.getMIDIInp ... ype.hasMIDIOut ... on() {}MIDIOut ... e.size;MIDIOut ... pe.sizeMIDIOut ... ototypeMIDIOut ... or) {};MIDIOut ... tor) {}MIDIOut ... pe.keysMIDIOut ... entriesMIDIOut ... .valuesMIDIOut ... ey) {};MIDIOut ... key) {}MIDIOut ... ype.getMIDIOut ... ype.hasMIDIAcc ... on() {}MIDIAcc ... inputs;MIDIAcc ... .inputsMIDIAccess.prototypeMIDIAcc ... utputs;MIDIAcc ... outputsMIDIAcc ... onnect;MIDIAcc ... connectMIDIAcc ... nabled;MIDIAcc ... EnabledMIDIPor ... on() {}MIDIPor ... ype.id;MIDIPor ... type.idMIDIPort.prototypeMIDIPor ... cturer;MIDIPor ... acturerMIDIPor ... e.name;MIDIPor ... pe.nameMIDIPor ... e.type;MIDIPor ... pe.typeMIDIPor ... ersion;MIDIPor ... versionMIDIPor ... onnect;MIDIPor ... connectMIDIInp ... essage;MIDIInp ... messageMIDIInput.prototypeMIDIOut ... mp) {};MIDIOut ... amp) {}MIDIOut ... pe.sendMIDIOutput.prototypefunctio ... amp) {}var MID ... it) {};MIDIMes ... nit) {}MIDIMes ... edTime;MIDIMes ... vedTimeMIDIMes ... ototypeMIDIMes ... e.data;MIDIMes ... pe.dataMIDICon ... nit) {}MIDICon ... e.port;MIDICon ... pe.portMIDICon ... ototypeMIDICon ... entInit/opt/codeql/javascript/tools/data/externs/web/w3c_navigation_timing.js + * @fileoverview Definitions for W3C's Navigation Timing specification. + * + * Created from + * @see http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html + * @see http://w3c-test.org/webperf/specs/ResourceTiming + * @see http://www.w3.org/TR/performance-timeline + * @see http://www.w3.org/TR/user-timing/ + * + * @externs + + * @constructor + * @extends {PerformanceEntry} + Only available in WebKit, and only with the --enable-memory-info flag.// Only ... o flag. @type {PerformanceTiming} @type {PerformanceNavigation} + * Clears the buffer used to store the current list of + * PerformanceResourceTiming resources. + * @return {undefined} + + * Clear out the buffer of performance timing events for webkit browsers. + * @return {undefined} + + * Set the maximum number of PerformanceResourceTiming resources that may be + * stored in the buffer. + * @param {number} maxSize + * @return {undefined} + + * @return {Array} A copy of the PerformanceEntry list, + * in chronological order with respect to startTime. + * @nosideeffects + + * @param {string} entryType Only return {@code PerformanceEntry}s with this + * entryType. + * @return {Array} A copy of the PerformanceEntry list, + * in chronological order with respect to startTime. + * @nosideeffects + + * @param {string} name Only return {@code PerformanceEntry}s with this name. + * @param {string=} opt_entryType Only return {@code PerformanceEntry}s with + * this entryType. + * @return {Array} PerformanceEntry list in chronological + * order with respect to startTime. + * @nosideeffects + @type {PerformanceMemory} /** @ty ... ory} */ + * @param {string} markName + * @return {undefined} + + * @param {string=} opt_markName + * @return {undefined} + + * @param {string} measureName + * @param {string=} opt_startMark + * @param {string=} opt_endMark + * @return {undefined} + + * @param {string=} opt_measureName + * @return {undefined} + @type {Performance} /** @ty ... nce} */ + * @type {!Performance} + * @suppress {duplicate} + PerformanceTimingnavigationStartunloadEventStartunloadEventEndredirectStartredirectEndfetchStartdomainLookupStartdomainLookupEndconnectStartconnectEndsecureConnectionStartrequestStartresponseStartdomLoadingdomInteractivedomContentLoadedEventStartdomContentLoadedEventEnddomCompleteloadEventStartloadEventEndPerformanceEntryentryTypePerformanceResourceTimingPerformanceNavigationTYPE_NAVIGATETYPE_RELOADTYPE_BACK_FORWARDTYPE_RESERVEDredirectCountPerformanceMemoryjsHeapSizeLimittotalJSHeapSizeusedJSHeapSizePerformancetimingclearResourceTimingswebkitClearResourceTimingssetResourceTimingBufferSizegetEntriesByNameopt_entryTypememorywebkitNowmarkmarkNameclearMarksopt_markNamemeasuremeasureNameopt_startMarkopt_endMarkclearMeasuresopt_measureNameDefinitions for W3C's Navigation Timing specification. +* Created from +http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html +http://w3c-test.org/webperf/specs/ResourceTiming +http://www.w3.org/TR/performance-timeline +http://www.w3.org/TR/user-timing/ +*Clears the buffer used to store the current list of +PerformanceResourceTiming resources.Clear out the buffer of performance timing events for webkit browsers.Set the maximum number of PerformanceResourceTiming resources that may be +stored in the buffer.A copy of the PerformanceEntry list, +in chronological order with respect to startTime. +Array.Only return {@code PerformanceEntry}s with this +entryType. +Only return {@code PerformanceEntry}s with this name. +Only return {@code PerformanceEntry}s with +this entryType. +PerformanceEntry list in chronological +order with respect to startTime. +!Performance{duplicate}Perform ... nStart;Perform ... onStartPerform ... ototypePerform ... tStart;Perform ... ntStartPerform ... entEnd;Perform ... ventEndPerform ... ctStartPerform ... ectEnd;Perform ... rectEndPerform ... hStart;Perform ... chStartPerform ... pStart;Perform ... upStartPerform ... kupEnd;Perform ... okupEndPerform ... nectEndsecureC ... onStartPerform ... stStartPerform ... eStart;Perform ... seStartPerform ... nseEnd;Perform ... onseEndPerform ... oading;Perform ... LoadingPerform ... active;Perform ... ractivedomCont ... ntStartdomCont ... ventEndPerform ... mplete;Perform ... ompletePerform ... e.name;Perform ... pe.namePerform ... ryType;Perform ... tryTypePerform ... rtTime;Perform ... artTimePerform ... ration;Perform ... urationPerform ... eTimingPerform ... orType;Perform ... torTypePerform ... igationPerform ... TE = 0;Perform ... ATE = 0Perform ... AVIGATEPerform ... AD = 1;Perform ... OAD = 1Perform ... _RELOADPerform ... RD = 2;Perform ... ARD = 2Perform ... FORWARDPerform ... = 255;Perform ... D = 255Perform ... ESERVEDPerform ... e.type;Perform ... pe.typePerform ... tCount;Perform ... ctCountPerform ... eLimit;Perform ... zeLimitPerform ... apSize;Perform ... eapSizePerform ... timing;Perform ... .timingPerform ... gation;Perform ... n() {};Perform ... on() {}Perform ... TimingswebkitC ... TimingsPerform ... ze) {};Perform ... ize) {}Perform ... ferSizesetReso ... ferSizefunction(maxSize) {}Perform ... EntriesPerform ... pe) {};Perform ... ype) {}Perform ... sByTypePerform ... sByNamePerform ... memory;Perform ... .memoryPerform ... ype.nowPerform ... bkitNowPerform ... me) {};Perform ... ame) {}Perform ... pe.markPerform ... arMarksPerform ... rk) {};Perform ... ark) {}Perform ... measurefunctio ... ark) {}Perform ... easuresWindow. ... rmance;Window. ... ormancevar performance;/opt/codeql/javascript/tools/data/externs/web/w3c_permissions.js + * @fileoverview Definitions for W3C's Permissions API. + * @see https://w3c.github.io/permissions/ + * + * @externs + + * @typedef {{name: PermissionName}} + * @see https://w3c.github.io/permissions/#permission-descriptor + + * @typedef {{name: PermissionName, userVisibleOnly: boolean}} + * @see https://w3c.github.io/permissions/#push + + * @typedef {{name: PermissionName, sysex: boolean}} + * @see https://w3c.github.io/permissions/#midi + + * Set of possible values: 'geolocation', 'notifications', 'push', 'midi'. + * @typedef {string} + * @see https://w3c.github.io/permissions/#idl-def-PermissionName + + * Set of possible values: 'granted', 'denied', 'prompt'. + * @typedef {string} + * @see https://w3c.github.io/permissions/#idl-def-PermissionState + + * @constructor + * @implements {EventTarget} + * @see https://w3c.github.io/permissions/#status-of-a-permission + @type {PermissionState} + * @type {PermissionState} + * @deprecated, use PermissionStatus.state for newer clients + + * @constructor + * @see https://w3c.github.io/permissions/#idl-def-permissions + + * @param {PermissionDescriptor} permission The permission to look up + * @return {!Promise} + * @see https://w3c.github.io/permissions/#dom-permissions-query + @type {Permissions} /** @ty ... ons} */PermissionDescriptorPushPermissionDescriptorMidiPermissionDescriptorPermissionNamePermissionStatePermissionStatusPermissionspermissionDefinitions for W3C's Permissions API. +https://w3c.github.io/permissions/ +*{name: PermissionName}https://w3c.github.io/permissions/#permission-descriptor{name: PermissionName, userVisibleOnly: boolean}userVisibleOnlyhttps://w3c.github.io/permissions/#push{name: PermissionName, sysex: boolean}https://w3c.github.io/permissions/#midiSet of possible values: 'geolocation', 'notifications', 'push', 'midi'.https://w3c.github.io/permissions/#idl-def-PermissionNameSet of possible values: 'granted', 'denied', 'prompt'.https://w3c.github.io/permissions/#idl-def-PermissionStatehttps://w3c.github.io/permissions/#status-of-a-permission, use PermissionStatus.state for newer clientshttps://w3c.github.io/permissions/#idl-def-permissionsThe permission to look up +!Promise.Promise.!PermissionStatushttps://w3c.github.io/permissions/#dom-permissions-queryvar Per ... riptor;var Pus ... riptor;PushPer ... criptorvar Mid ... riptor;MidiPer ... criptorvar PermissionName;var PermissionState;functio ... us() {}Permiss ... .state;Permiss ... e.statePermiss ... ototypePermiss ... status;Permiss ... .statusPermiss ... change;Permiss ... nchangePermiss ... re) {};Permiss ... ure) {}Permiss ... istenerPermiss ... vt) {};Permiss ... evt) {}Permiss ... chEventPermiss ... on) {};Permiss ... ion) {}Permiss ... e.queryNavigat ... ssions;Navigat ... issions/opt/codeql/javascript/tools/data/externs/web/w3c_pointer_events.js + * @fileoverview Definitions for W3C's Pointer Events specification. + * Created from + * http://www.w3.org/TR/pointerevents/ + * + * @externs + + * @type {string} + * @see http://www.w3.org/TR/pointerevents/#the-touch-action-css-property + + * @type {boolean} + * @see http://www.w3.org/TR/pointerevents/#widl-Navigator-pointerEnabled + + * @type {number} + * @see http://www.w3.org/TR/pointerevents/#widl-Navigator-maxTouchPoints + + * @record + * @extends {MouseEventInit} + * @see https://www.w3.org/TR/pointerevents/#idl-def-PointerEventInit + + * @constructor + * @extends {MouseEvent} + * @param {string} type + * @param {PointerEventInit=} opt_eventInitDict + * @see http://www.w3.org/TR/pointerevents/#pointerevent-interface + Microsoft pointerType values// Micr ... valuestouchActionpointerEnabledmaxTouchPointsPointerEventInitPointerEventDefinitions for W3C's Pointer Events specification. +Created from +http://www.w3.org/TR/pointerevents/ +*http://www.w3.org/TR/pointerevents/#the-touch-action-css-propertyhttp://www.w3.org/TR/pointerevents/#widl-Navigator-pointerEnabledhttp://www.w3.org/TR/pointerevents/#widl-Navigator-maxTouchPointshttps://www.w3.org/TR/pointerevents/#idl-def-PointerEventInitPointerEventInit=http://www.w3.org/TR/pointerevents/#pointerevent-interfacePointer ... nterId;Pointer ... interIdPointer ... ototypePointer ... .width;Pointer ... e.widthPointer ... height;Pointer ... .heightPointer ... essure;Pointer ... ressurePointer ... .tiltX;Pointer ... e.tiltXPointer ... .tiltY;Pointer ... e.tiltYPointer ... erType;Pointer ... terTypePointer ... rimary;Pointer ... PrimaryPointer ... _TOUCH;Pointer ... E_TOUCHPointer ... PE_PEN;Pointer ... YPE_PENPointer ... _MOUSE;Pointer ... E_MOUSE/opt/codeql/javascript/tools/data/externs/web/w3c_range.js + * @fileoverview Definitions for W3C's range specification. + * This file depends on w3c_dom2.js. + * The whole file has been fully type annotated. + * Created from + * http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html + * + * @externs + * @author stevey@google.com (Steve Yegge) + + * @constructor + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-Interface + + * @type {Node} + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-startParent + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-startOffset + + * @type {Node} + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-endParent + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-endOffset + + * @type {boolean} + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-collapsed + + * @type {Node} + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-commonParent + + * @param {Node} refNode + * @param {number} offset + * @return {undefined} + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setStart + + * @param {Node} refNode + * @param {number} offset + * @return {undefined} + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setEnd + + * @param {Node} refNode + * @return {undefined} + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-setStartBefore + + * @param {Node} refNode + * @return {undefined} + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setStartAfter + + * @param {Node} refNode + * @return {undefined} + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setEndBefore + + * @param {Node} refNode + * @return {undefined} + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setEndAfter + + * @param {boolean} toStart + * @return {undefined} + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-collapse + + * @param {Node} refNode + * @return {undefined} + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-selectNode + + * @param {Node} refNode + * @return {undefined} + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-selectNodeContents + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow + /**\n * ... How\n */ + * @param {number} how + * @param {Range} sourceRange + * @return {number} + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-compareBoundaryPoints + + * @return {number} + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-deleteContents + + * @return {DocumentFragment} + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-extractContents + + * @return {DocumentFragment} + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-cloneContents + + * @param {Node} newNode + * @return {DocumentFragment} + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-insertNode + + * @param {Node} newParent + * @return {undefined} + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-surroundContents + + * @return {Range} + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-clone + + * @return {undefined} + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-detach + Introduced in DOM Level 2:// Intr ... evel 2: + * @constructor + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-DocumentRange-idl + + * @return {Range} + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-DocumentRange-method-createRange + + * @constructor + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeException + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeExceptionCode + startContainerstartOffsetendContainerendOffsetcommonAncestorContainerrefNodesetStartBeforesetStartAftersetEndBeforesetEndAftertoStartselectNodeselectNodeContentsSTART_TO_STARTSTART_TO_ENDEND_TO_ENDEND_TO_STARTcompareBoundaryPointsdeleteContentsextractContentscloneContentsinsertNodesurroundContentsnewParentcloneRangeDocumentRangeRangeExceptionBAD_BOUNDARYPOINTS_ERRINVALID_NODE_TYPE_ERRDefinitions for W3C's range specification. +This file depends on w3c_dom2.js. +The whole file has been fully type annotated. +Created from +http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html +*http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-Interfacehttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-startParenthttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-startOffsethttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-endParenthttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-endOffsethttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-collapsedhttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-commonParenthttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setStarthttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setEndhttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-setStartBeforehttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setStartAfterhttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setEndBeforehttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setEndAfterhttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-collapsehttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-selectNodehttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-selectNodeContentshttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHowhttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-compareBoundaryPointshttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-deleteContentshttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-extractContentshttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-cloneContentshttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-insertNodehttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-surroundContentshttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-clonehttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-detachhttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-DocumentRange-idlhttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-DocumentRange-method-createRangehttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeExceptionhttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeExceptionCodefunction Range() {}Range.p ... tainer;Range.p ... ntainerRange.p ... Offset;Range.p ... tOffsetRange.p ... dOffsetRange.p ... lapsed;Range.p ... llapsedcommonA ... ntainerRange.p ... et) {};Range.p ... set) {}Range.p ... etStartRange.p ... .setEndRange.p ... de) {};Range.p ... ode) {}Range.p ... tBeforefunction(refNode) {}Range.p ... rtAfterRange.p ... dBeforeRange.p ... ndAfterRange.p ... rt) {};Range.p ... art) {}Range.p ... ollapsefunction(toStart) {}Range.p ... ectNodeRange.p ... ontentsRange.p ... RT = 0;Range.p ... ART = 0Range.p ... O_STARTRange.p ... ND = 1;Range.p ... END = 1Range.p ... _TO_ENDRange.p ... ND = 2;Range.p ... END = 2Range.p ... RT = 3;Range.p ... ART = 3Range.p ... ge) {};Range.p ... nge) {}Range.p ... yPointscompare ... yPointsfunctio ... nge) {}Range.p ... ertNodefunction(newNode) {}Range.p ... nt) {};Range.p ... ent) {}Range.p ... neRangeRange.p ... .detachRangeEx ... e.code;RangeEx ... pe.codeRangeEx ... ototypeRangeEx ... RR = 1;RangeEx ... ERR = 1RangeEx ... NTS_ERRBAD_BOU ... NTS_ERRRangeEx ... RR = 2;RangeEx ... ERR = 2RangeEx ... YPE_ERRINVALID ... YPE_ERR/opt/codeql/javascript/tools/data/externs/web/w3c_requestidlecallback.js + * @fileoverview Definitions for cooperative scheduling of background tasks in + * the browser. This spec is still very likely to change. + * + * @see https://w3c.github.io/requestidlecallback/ + * @see https://developers.google.com/web/updates/2015/08/27/using-requestidlecallback?hl=en + * @externs + + * @typedef {{ + * timeout: (number|undefined) + * }} + + * Schedules a callback to run when the browser is idle. + * @param {function(!IdleDeadline)} callback Called when the browser is idle. + * @param {number|IdleCallbackOptions=} opt_options If set, gives the browser a time in ms by which + * it must execute the callback. No timeout enforced otherwise. + * @return {number} A handle that can be used to cancel the scheduled callback. + + * Cancels a callback scheduled to run when the browser is idle. + * @param {number} handle The handle returned by {@code requestIdleCallback} for + * the scheduled callback to cancel. + * @return {undefined} + + * An interface for an object passed into the callback for + * {@code requestIdleCallback} that remains up-to-date on the amount of idle + * time left in the current time slice. + * @interface + + * @return {number} The amount of idle time (milliseconds) remaining in the + * current time slice. Will always be positive or 0. + /**\n * ... 0.\n */ + * Whether the callback was forced to run due to a timeout. Specifically, + * whether the callback was invoked by the idle callback timeout algorithm: + * https://w3c.github.io/requestidlecallback/#dfn-invoke-idle-callback-timeout-algorithm + * @type {boolean} + IdleCallbackOptionsrequestIdleCallbackcancelIdleCallbackIdleDeadlinetimeRemainingdidTimeoutDefinitions for cooperative scheduling of background tasks in +the browser. This spec is still very likely to change. +*https://w3c.github.io/requestidlecallback/ +https://developers.google.com/web/updates/2015/08/27/using-requestidlecallback?hl=en +{timeout: (number|undefined)}Schedules a callback to run when the browser is idle.Called when the browser is idle. +function (!IdleDeadline)!IdleDeadlineIf set, gives the browser a time in ms by which +it must execute the callback. No timeout enforced otherwise. +(number|IdleCallbackOptions)=(number|IdleCallbackOptions)A handle that can be used to cancel the scheduled callback.Cancels a callback scheduled to run when the browser is idle.The handle returned by {@code requestIdleCallback} for +the scheduled callback to cancel. +An interface for an object passed into the callback for +{@code requestIdleCallback} that remains up-to-date on the amount of idle +time left in the current time slice.The amount of idle time (milliseconds) remaining in the +current time slice. Will always be positive or 0.Whether the callback was forced to run due to a timeout. Specifically, +whether the callback was invoked by the idle callback timeout algorithm: +https://w3c.github.io/requestidlecallback/#dfn-invoke-idle-callback-timeout-algorithmvar Idl ... ptions;IdleDea ... n() {};IdleDea ... on() {}IdleDea ... mainingIdleDea ... ototypeIdleDea ... imeout;IdleDea ... Timeout/opt/codeql/javascript/tools/data/externs/web/w3c_rtc.js + * @fileoverview Definitions for components of the WebRTC browser API. + * @see https://www.w3.org/TR/webrtc/ + * @see https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-19 + * @see https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API + * @see https://www.w3.org/TR/mediacapture-streams/ + * + * @externs + * @author bemasc@google.com (Benjamin M. Schwartz) + /**\n * ... tz)\n */ + * @typedef {string} + * @see {https://www.w3.org/TR/mediacapture-streams/ + * #idl-def-MediaStreamTrackState} + * In WebIDL this is an enum with values 'live', 'mute', and 'ended', + * but there is no mechanism in Closure for describing a specialization of + * the string type. + /**\n * ... pe.\n */ @const {?string} @const {boolean} /** @co ... ean} */ + * @interface + * @see https://w3c.github.io/mediacapture-image/#mediasettingsrange-section + + * @interface + * @see https://www.w3.org/TR/mediacapture-streams/#idl-def-MediaTrackCapabilities + * @see https://w3c.github.io/mediacapture-image/#mediatrackcapabilities-section + @type {!Array} @type {!Array} @type {!MediaSettingsRange} /** @ty ... nge} */ + * @interface + * @see https://www.w3.org/TR/mediacapture-streams/#media-track-settings + * @see https://w3c.github.io/mediacapture-image/#mediatracksettings-section + @type {!Array<{x: number, y: number}>} /** @ty ... r}>} */ + * @interface + * @see https://w3c.github.io/mediacapture-main/#media-track-supported-constraints + + * @interface + * @extends {EventTarget} + * @see https://www.w3.org/TR/mediacapture-streams/#mediastreamtrack + + * @param {!function(!Array)} callback + * @return {undefined} + * @deprecated Use MediaDevices.enumerateDevices(). + /**\n * ... ().\n */ + * @type {string} + * @see https://crbug.com/653531 + * @see https://wicg.github.io/mst-content-hint/ + /**\n * ... nt/\n */ + * @type {MediaStreamTrackState} + * Read only. + + * Applies the specified set of constraints to the track, if any specified; or + * if no constraints are specified, removes all constraints from the track. + * + * @param {MediaTrackConstraints=} constraints Constraints to apply to the + * track. + * @return {!Promise} A |Promise| that is resolved when the constraints + * have been applied, or rejected if there was an error applying the + * constraints. + /**\n * ... ts.\n */ + * @return {!MediaStreamTrack} + @return {!MediaTrackCapabilities} /** @re ... ies} */ @return {!MediaTrackConstraints} /** @re ... nts} */ @return {!MediaTrackSettings} /** @re ... ngs} */ + * @typedef {{track: MediaStreamTrack}} + /**\n * ... k}}\n */ + * @param {string} type + * @param {!MediaStreamTrackEventInit} eventInitDict + * @constructor + * @extends {Event} + * @see https://www.w3.org/TR/mediacapture-streams/#mediastreamtrackevent + + * @type {!MediaStreamTrack} + * @const + + * @param {!MediaStream|!Array=} streamOrTracks + * @constructor + * @implements {EventTarget} + * @see https://www.w3.org/TR/mediacapture-streams/#mediastream + /**\n * ... eam\n */ + * @override + /**\n * @override\n */ + * TODO(bemasc): Remove this property. + * @deprecated + * @type {string} + * @const + + * @return {!Array} + + * @param {string} trackId + * @return {MediaStreamTrack} + + * @param {!MediaStreamTrack} track + * @return {undefined} + + * @return {!MediaStream} + + * @deprecated + * @type {boolean} + + * @deprecated + * @type {?function(!Event)} + + * @type {?function(!MediaStreamTrackEvent)} + + * @deprecated + * TODO(bemasc): Remove this method once browsers have updated to + * MediaStreamTrack.stop(). + * @return {undefined} + + * @type {function(new: MediaStream, + * (!MediaStream|!Array)=)} + + * @typedef {{tone: string}} + * @see https://www.w3.org/TR/webrtc/#dom-rtcdtmftonechangeeventinit + + * @param {string} type + * @param {!RTCDTMFToneChangeEventInit} eventInitDict + * @constructor + * @extends {Event} + * @see https://www.w3.org/TR/webrtc/#dom-rtcdtmftonechangeevent + + * @interface + * @see https://www.w3.org/TR/webrtc/#rtcdtmfsender + + * @param {string} tones + * @param {number=} opt_duration + * @param {number=} opt_interToneGap + /**\n * ... Gap\n */ + * @type {?function(!RTCDTMFToneChangeEvent)} + + * @interface + * @see https://www.w3.org/TR/webrtc/#rtcrtpsender-interface + + * @const {!RTCDTMFSender} + + * @const {!MediaStreamTrack} + + * @param {!MediaStreamTrack} track + + * @return {!Object} + + * @param {!Object} params + * @return {!Promise} + + * @interface + * @see https://www.w3.org/TR/webrtc/#dom-rtcrtpcontributingsource + + * @type {?number} + + * @type {?Date} + + * @interface + * @see https://www.w3.org/TR/webrtc/#rtcrtpreceiver-interface + + * @return {!Array} + + * @see https://www.w3.org/TR/webrtc/#dom-rtcrtptransceiverinit + * @record + + * The direction of the `RTCRtpTransceiver`. Defaults to "sendrecv". + * @type {?RTCRtpTransceiverDirection|undefined} + + * The streams to add to the tranceiver's sender. + * @type {?Array|undefined} + + * @type {?Array|undefined} + + * @see https://www.w3.org/TR/webrtc/#dom-rtcrtpencodingparameters + * @record + + * @type {?number|undefined} + + * Possible values are "disabled" and "enabled". + * @type {?string|undefined} + + * @type {?boolean|undefined} + + * Possible values are "very-low", "low" (default), "medium", and "high". + * @type {?string|undefined} + + * @type {?string|number} + + * @type {?number|number} + + * @interface + * @see https://www.w3.org/TR/webrtc/#rtcrtptransceiver-interface + + * @const {?string} + + * @const {!RTCRtpTransceiverDirection} + + * @const {?RTCRtpTransceiverDirection} + + * @param {!RTCRtpTransceiverDirection} direction + + * @const {?RTCRtpSender} + + * @const {?RTCRtpReceiver} + + * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-longrange + * @record + + * @type {number|undefined} + + * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-doublerange + * @record + + * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constrainbooleanparameters + * @record + + * @type {boolean|undefined} + + * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constraindomstringparameters + * @record + + * @type {string|Array|undefined} + + * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constraindoublerange + * @record + * @extends {DoubleRange} + + * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constrainlongrange + * @record + * @extends {LongRange} + + * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constrainboolean + * @typedef {boolean|ConstrainBooleanParameters} + /**\n * ... rs}\n */ + * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constraindomString + * @typedef {string|Array|ConstrainDOMStringParameters} + + * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constraindouble + * @typedef {number|ConstrainDoubleRange} + + * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constrainlong + * @typedef {number|ConstrainLongRange} + + * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-mediatrackconstraintset + * @record + * @private + + * @type {ConstrainBoolean|undefined} + + * @type {ConstrainDouble|undefined} + + * @type {ConstrainLong|undefined} + + * @type {ConstrainDOMString|undefined} + + * @record + * @extends {MediaTrackConstraintSet} + + * @type {Array|undefined} + + * @see https://w3c.github.io/mediacapture-main/getusermedia.html#media-track-constraints + * @record + + * @type {boolean|MediaTrackConstraints|undefined} + + * @see {http://dev.w3.org/2011/webrtc/editor/getusermedia.html# + * navigatorusermediaerror-and-navigatorusermediaerrorcallback} + * @interface + + * @type {number} + * @deprecated Removed from the standard and some browsers. + * @const + 1 /** 1 */ + * @type {number} + * @deprecated Removed from the standard and some browsers. + * Read only. + + * @type {string} + * Read only. + + * @type {?string} + * Read only. + + * @param {MediaStreamConstraints} constraints A MediaStreamConstraints object. + * @param {function(!MediaStream)} successCallback + * A NavigatorUserMediaSuccessCallback function. + * @param {function(!NavigatorUserMediaError)=} errorCallback A + * NavigatorUserMediaErrorCallback function. + * @see http://dev.w3.org/2011/webrtc/editor/getusermedia.html + * @see https://www.w3.org/TR/mediacapture-streams/ + * @return {undefined} + + * @param {string} type + * @param {!Object} eventInitDict + * @constructor + + * @type {?MediaStream} + * @const + + * @record + * @see https://www.w3.org/TR/mediastream-recording/#dictdef-mediarecorderoptions + @type {(string|undefined)} @type {(number|undefined)} + * @see https://www.w3.org/TR/mediastream-recording/#mediarecorder-api + * @param {!MediaStream} stream + * @param {MediaRecorderOptions=} options + * @implements {EventTarget} + * @constructor + + * @type {!MediaStream} + + * @type {(function(!Event)|undefined)} + + * @param {number=} timeslice + + * @interface + * @see https://w3c.github.io/mediacapture-image/##photosettings-section + + * @interface + * @see https://w3c.github.io/mediacapture-image/##photocapabilities-section + + * @type {!MediaSettingsRange} + * @const + + * @type {!Array} + * @const + + * @see https://w3c.github.io/mediacapture-image/ + * @param {!MediaStreamTrack} videoTrack + * @constructor + + * @param {!PhotoSettings=} photoSettings + * @return {!Promise} + /**\n * ... b>}\n */ + * @return {!Promise} + + * @return {!Promise} + /**\n * ... p>}\n */ + * @see https://www.w3.org/TR/webrtc/#rtctrackevent + * @param {string} type + * @param {!Object} eventInitDict + * @constructor + + * @type {?RTCRtpReceiver} + * @const + + * @type {?MediaStreamTrack} + * @const + + * @type {?Array} + * @const + + * @type {?RTCRtpTransceiver} + * @const + + * @typedef {string} + * @see https://www.w3.org/TR/mediacapture-streams/#idl-def-MediaDeviceKind + * In WebIDL this is an enum with values 'audioinput', 'audiooutput', and + * 'videoinput', but there is no mechanism in Closure for describing a + * specialization of the string type. + + * Possible values are "sendrecv", "sendonly", "recvonly", and "inactive". + * @typedef {string} + * @see https://www.w3.org/TR/webrtc/#dom-rtcrtptransceiverdirection + @const {!MediaDeviceKind} /** @co ... ind} */ + * @interface + * @extends {EventTarget} + * @see https://www.w3.org/TR/mediacapture-streams/#mediadevices + /**\n * ... ces\n */ + * @return {!Promise>} + + * @see https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia + * @param {!MediaStreamConstraints} constraints + * @return {!Promise} + + * @see https://w3c.github.io/mediacapture-main/#dom-mediadevices-getsupportedconstraints + * @return {!MediaTrackSupportedConstraints} + @const {!MediaDevices} /** @co ... ces} */ + * @typedef {string} + * @see https://www.w3.org/TR/webrtc/#rtcsdptype + * In WebIDL this is an enum with values 'offer', 'pranswer', and 'answer', + * but there is no mechanism in Closure for describing a specialization of + * the string type. + + * @param {!Object=} descriptionInitDict The RTCSessionDescriptionInit + * dictionary. This optional argument may have type + * {type:RTCSdpType, sdp:string}, but neither of these keys are required to be + * present, and other keys are ignored, so the closest Closure type is Object. + * @constructor + * @see https://www.w3.org/TR/webrtc/#rtcsessiondescription-class + + * @type {?RTCSdpType} + * @see https://www.w3.org/TR/webrtc/#dom-rtcsessiondescription-type + + * @type {?string} + * @see https://www.w3.org/TR/webrtc/#dom-rtcsessiondescription-sdp + /**\n * ... sdp\n */ + * TODO(bemasc): Remove this definition once it is removed from the browser. + * @param {string} label The label index (audio/video/data -> 0,1,2) + * @param {string} sdp The ICE candidate in SDP text form + * @constructor + + * @type {?string} + @record /** @record */ @type {?string|undefined} + * @param {!RTCIceCandidateInit=} candidateInitDict The RTCIceCandidateInit dictionary. + * @constructor + * @see https://www.w3.org/TR/webrtc/#rtcicecandidate-interface + + * @typedef {{urls: string}|{urls: !Array}} + * @private + * @see https://www.w3.org/TR/webrtc/#rtciceserver-dictionary + * This dictionary type also has an optional key {credential: ?string}. + /**\n * ... g}.\n */ + * @interface + * @private + + * @type {string|!Array} + + * This type, and several below it, are constructed as unions between records + * + * @typedef {RTCIceServerRecord_|RTCIceServerInterface_} + * @private + + * @typedef {{ + * iceServers: !Array, + * sdpSemantics: (string|undefined) + * }} + * @private + + * @type {!Array} + + * Allows specifying the SDP semantics. Valid values are "plan-b" and + * "unified-plan". + * + * @see {@link https://webrtc.org/web-apis/chrome/unified-plan/} + * @type {string|undefined} + + * @typedef {RTCConfigurationRecord_|RTCConfigurationInterface_} + /**\n * ... e_}\n */ + * @typedef {function(!RTCSessionDescription)} + + * @typedef {function(string)} + + * @typedef {function()} + + * @typedef {string} + + * @type {RTCIceCandidate} + * @const + Note: The specification of RTCStats types is still under development.// Note ... opment. Declarations here will be updated and removed to follow the development of// Decl ... ment of modern browsers, breaking compatibility with older versions as they become// mode ... become obsolete.// obsolete. + * @type {Date} + * @const + + * @return {!Array} + + * @deprecated + * @type {RTCStatsReport} + * @const + Note: Below are Map like methods supported by WebRTC statistics// Note ... tistics specification-compliant RTCStatsReport. Currently only implemented by// spec ... nted by Mozilla.// Mozilla. See https://www.w3.org/TR/webrtc/#rtcstatsreport-object for definition.// See ... nition. + * @param {function(this:SCOPE, Object, string, MAP)} callback + * @param {SCOPE=} opt_thisObj The value of "this" inside callback function. + * @this {MAP} + * @template MAP,SCOPE + * @readonly + /**\n * ... nly\n */ + * @param {string} key + * @return {Object} + * @readonly + + * @return {!IteratorIterable} + * @readonly + + * TODO(bemasc): Remove this type once it is no longer in use. It has already + * been removed from the specification. + * @typedef {RTCStatsReport} + * @deprecated + + * @return {!Array} + + * @typedef {function(!RTCStatsResponse, MediaStreamTrack=)} + + * This type is not yet standardized, so the properties here only represent + * the current capabilities of libjingle (and hence Chromium). + * TODO(bemasc): Add a link to the relevant standard once MediaConstraint has a + * standard definition. + * + * @interface + * @private + + * @type {?boolean} + + * TODO(bemasc): Make this type public once it is defined in a standard. + * + * @typedef {Object|MediaConstraintSetInterface_} + * @private + + * @type {?MediaConstraintSet_} + /**\n * ... t_}\n */ + * @type {?Array} + /**\n * ... _>}\n */ + * This type is used extensively in + * {@see http://dev.w3.org/2011/webrtc/editor/webrtc.html} but is not yet + * defined. + * + * @typedef {Object|MediaConstraintsInterface_} + + * An enumerated string type (RTCDataChannelState) with values: + * "connecting", "open", "closing", and "closed". + * @type {string} + * Read only. + + * @type {number} + * Read only. + + * @type {?function(!MessageEvent<*>)} + + * @param {string|!Blob|!ArrayBuffer|!ArrayBufferView} data + * @return {undefined} + + * @constructor + * @extends {Event} + * @private + + * @type {!RTCDataChannel} + * Read only. + + * @typedef {{reliable: boolean}} + + * @typedef {Object} + * @property {boolean=} [ordered=true] + * @property {number=} maxPacketLifeTime + * @property {number=} maxRetransmits + * @property {string=} [protocol=""] + * @property {boolean=} [negotiated=false] + * @property {number=} id + * @property {string=} [priority='low'] + * see https://www.w3.org/TR/webrtc/#dom-rtcdatachannelinit for documentation + * Type inconsistencies due to Closure limitations: + * maxPacketLifeTime should be UnsignedShort + * maxRetransmits should be UnsignedShort + * protocol should be USVString + * id should be UnsignedShort + * In WebIDL priority is an enum with values 'very-low', 'low', + * 'medium' and 'high', but there is no mechanism in Closure for describing + * a specialization of the string type. + + * @typedef {RTCDataChannelInitInterface_|RTCDataChannelInitRecord_|RTCDataChannelInitDictionary_} + /**\n * ... y_}\n */ + * @typedef {{expires: number}} + + * @param {RTCConfiguration} configuration + * @param {!MediaConstraints=} constraints + * @constructor + * @implements {EventTarget} + + * @param {Object} keygenAlgorithm + * @return {Promise} + NB: Until closure annotations support overloading, many of the following// NB: ... llowing functions take odd unions of parameter types. This is to support the various// func ... various api differences between browsers. Generally, returning a promise means you// api ... ans you don't take callback function parameters and draw any further parameters// don' ... ameters forward, and vice versa.// forw ... versa. + * @param {(!RTCSessionDescriptionCallback|!MediaConstraints)=} + * successCallbackOrConstraints + * @param {!RTCPeerConnectionErrorCallback=} errorCallback + * @param {!MediaConstraints=} constraints + * @return {!Promise|undefined} + + * @param {!RTCSessionDescription} description + * @param {!RTCVoidCallback=} successCallback + * @param {!RTCPeerConnectionErrorCallback=} errorCallback + * @return {!Promise} + + * @type {?RTCSessionDescription} + * Read only. + + * @type {RTCSignalingState} + * Read only. + + * @param {?RTCConfiguration=} configuration + * @param {?MediaConstraints=} constraints + * @return {undefined} + + * Void in Chrome for now, a promise that you can then/catch in Firefox. + * @param {!RTCIceCandidate} candidate + * @param {!RTCVoidCallback=} successCallback + * @param {!function(DOMException)=} errorCallback + * @return {!Promise|undefined} + + * @type {!RTCIceGatheringState} + * Read only. + + * @type {!RTCIceConnectionState} + * Read only. + + * @return {!Array} + + * @param {string} streamId + * @return {MediaStream} + + * @return {!Array} + + * @return {!Array} + + * @param {?string} label + * @param {RTCDataChannelInit=} dataChannelDict + * @return {!RTCDataChannel} + /**\n * ... el}\n */ + * @param {!MediaStream} stream + * @param {!MediaConstraints=} constraints + * @return {undefined} + + * @param {!MediaStream} stream + * @return {undefined} + + * @param {!MediaStreamTrack} track + * @param {!MediaStream} stream + * @param {...MediaStream} var_args Additional streams. + * @return {!RTCRtpSender} + + * @param {!MediaStreamTrack|string} trackOrKind + * @param {?RTCRtpTransceiverInit=} init + * @return {!RTCRtpTransceiver} + + * Returns the list of transceivers are currently attached to this peer. + * + * @return {!Array} + + * @return {!RTCConfiguration} + + * @param {!RTCConfiguration} configuration + * @return {undefined} + + * @param {!RTCRtpSender} sender + * @return {undefined} + TODO(bemasc): Add identity provider stuff once implementations exist// TODO ... s exist TODO(rjogrady): Per w3c spec, getStats() should always return a Promise.// TODO ... romise. Remove RTCStatsReport from the return value once Firefox supports that.// Remo ... s that. + * Firefox' getstats is synchronous and returns a much simpler + * {!RTCStatsReport} Map-like object. + * @param {!RTCStatsCallback=} successCallback + * @param {MediaStreamTrack=} selector + * @return {undefined|!RTCStatsReport|!Promise} + + * @type {?function(!RTCPeerConnectionIceEvent)} + + * @type {?function(!MediaStreamEvent)} + + * @type {?function(!RTCTrackEvent)} + + * @type {?function(!RTCDataChannelEvent)} + + * @interface + * @param {RTCIceGatherer} iceGatherer + * @see https://www.w3.org/TR/webrtc/#idl-def-rtcicetransport + + * @type {!RTCIceGatheringState} + * @const + + * @return {RTCIceCandidate[]} + /**\n * ... []}\n */ + * @return {RTCIceCandidatePair} + + * @return {RTCIceParameters} + + * @param {!Event} e + * @return {undefined} + + * @constructor + * @param {!RTCIceGatherOptions} options + * @see https://msdn.microsoft.com/en-us/library/mt433107(v=vs.85).aspx + + * @interface + * @param {RTCIceTransport} iceTransport + * @see https://www.w3.org/TR/webrtc/#idl-def-rtcdtlstransport + + * @type {RTCIceTransport} + * @const + + * @return {ArrayBuffer[]} + MediaStreamTrackStateSourceInfofacingMediaSettingsRangeMediaTrackCapabilitiesaspectRatioframeRatefacingModesampleRatesampleSizeechoCancellationchannelCountdeviceIdgroupIdwhiteBalanceModeexposureModefocusModeexposureCompensationcolorTemperatureisobrightnesscontrastsaturationsharpnesstorchMediaTrackSettingspointsOfInterestMediaTrackSupportedConstraintsautoGainControlnoiseSuppressionMediaStreamTrackgetSourcesenabledcontentHintremoteonmuteonunmuteonoverconstrainedapplyConstraintsconstraintsgetCapabilitiesgetConstraintsgetSettingsMediaStreamTrackEventInitMediaStreamTrackEventeventInitDictstreamOrTracksgetAudioTracksgetVideoTracksgetTrackstrackIdaddTrackremoveTrackonactiveoninactiveonaddtrackonremovetrackwebkitMediaStreamRTCDTMFToneChangeEventInitRTCDTMFToneChangeEventtoneRTCDTMFSenderinsertDTMFtonesopt_durationopt_interToneGapontonechangetoneBufferRTCRtpSendertransportdtmfreplaceTrackgetParameterssetParametersRTCRtpContributingSourceRTCRtpReceivergetContributingSourcesgetSynchronizationSourcesRTCRtpTransceiverInitstreamssendEncodingsRTCRtpEncodingParameterscodecPayloadTypedtxptimemaxBitratemaxFramerateridscaleResolutionDownByRTCRtpTransceiverstoppedcurrentDirectionsetDirectionreceiverLongRangeDoubleRangeConstrainBooleanParametersexactidealConstrainDOMStringParametersConstrainDoubleRangeConstrainLongRangeConstrainBooleanConstrainDOMStringConstrainDoubleConstrainLongMediaTrackConstraintSetMediaTrackConstraintsadvancedMediaStreamConstraintsNavigatorUserMediaErrorconstraintNamewebkitGetUserMediaMediaStreamEventMediaRecorderOptionsaudioBitsPerSecondvideoBitsPerSecondbitsPerSecondMediaRecorderonstoponresumetimeslicerequestDataPhotoSettingsfillLightModeimageHeightimageWidthredEyeReductionPhotoCapabilitiesImageCapturevideoTracktakePhotophotoSettingsgetPhotoCapabilitiesgrabFrameRTCTrackEventtransceiverMediaDeviceKindRTCRtpTransceiverDirectionMediaDeviceInfoMediaDevicesenumerateDevicesgetUserMediagetSupportedConstraintsmediaDevicesRTCSdpTypeRTCSessionDescriptiondescriptionInitDictsdpIceCandidatetoSdpRTCIceCandidateInitcandidatesdpMidsdpMLineIndexusernameFragmentRTCIceCandidatecandidateInitDictRTCIceServerRecord_RTCIceServerInterface_urlscredentialRTCIceServerRTCConfigurationRecord_RTCConfigurationInterface_iceServerssdpSemanticsRTCConfigurationRTCSessionDescriptionCallbackRTCPeerConnectionErrorCallbackRTCVoidCallbackRTCSignalingStateRTCIceConnectionStateRTCIceGatheringStateRTCPeerConnectionIceEventRTCStatsReportlocalopt_thisObjRTCStatsElementRTCStatsResponseRTCStatsCallbackMediaConstraintSetInterface_OfferToReceiveAudioOfferToReceiveVideoDtlsSrtpKeyAgreementRtpDataChannelsMediaConstraintSet_MediaConstraintsInterface_mandatoryoptionalMediaConstraintsRTCDataChannelreliableRTCDataChannelEventchannelRTCDataChannelInitRecord_RTCDataChannelInitInterface_RTCDataChannelInitDictionary_RTCDataChannelInitRTCCertificateRTCPeerConnectionconfigurationgenerateCertificatekeygenAlgorithmcreateOffersuccessCallbackOrConstraintscreateAnswersetLocalDescriptionsetRemoteDescriptionlocalDescriptionremoteDescriptionsignalingStateupdateIceaddIceCandidateiceGatheringStateiceConnectionStategetLocalStreamsgetRemoteStreamsgetStreamByIdstreamIdgetSendersgetReceiverscreateDataChanneldataChannelDictaddStreamremoveStreamaddTransceivertrackOrKindgetTransceiversgetConfigurationsetConfigurationgetStatsonnegotiationneededonicecandidateonsignalingstatechangeonaddstreamontrackonremovestreamoniceconnectionstatechangeondatachannelwebkitRTCPeerConnectionmozRTCPeerConnectionRTCIceTransporticeGatherergatheringStategetLocalCandidatesgetRemoteCandidatesgetSelectedCandidatePairgetLocalParametersgetRemoteParametersonstatechangeongatheringstatechangeonselectedcandidatepairchangeRTCIceGathererRTCDtlsTransporticeTransportgetRemoteCertificatesDefinitions for components of the WebRTC browser API. +https://www.w3.org/TR/webrtc/ +https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-19 +https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API +https://www.w3.org/TR/mediacapture-streams/ +*bemasc@google.com (Benjamin M. Schwartz){https://www.w3.org/TR/mediacapture-streams/ +#idl-def-MediaStreamTrackState} +In WebIDL this is an enum with values 'live', 'mute', and 'ended', +but there is no mechanism in Closure for describing a specialization of +the string type.https://w3c.github.io/mediacapture-image/#mediasettingsrange-sectionhttps://www.w3.org/TR/mediacapture-streams/#idl-def-MediaTrackCapabilities +https://w3c.github.io/mediacapture-image/#mediatrackcapabilities-section!Array.Array.!MediaSettingsRangehttps://www.w3.org/TR/mediacapture-streams/#media-track-settings +https://w3c.github.io/mediacapture-image/#mediatracksettings-section!Array.<{x: number, y: number}>Array.<{x: number, y: number}>{x: number, y: number}https://w3c.github.io/mediacapture-main/#media-track-supported-constraintshttps://www.w3.org/TR/mediacapture-streams/#mediastreamtrack!function (!Array.)function (!Array.)!Array.Array.!SourceInfoUse MediaDevices.enumerateDevices().https://crbug.com/653531 +https://wicg.github.io/mst-content-hint/Read only.Applies the specified set of constraints to the track, if any specified; or +if no constraints are specified, removes all constraints from the track.Constraints to apply to the +track. +MediaTrackConstraints=A |Promise| that is resolved when the constraints +have been applied, or rejected if there was an error applying the +constraints.!MediaStreamTrack!MediaTrackCapabilities!MediaTrackConstraints!MediaTrackSettings{track: MediaStreamTrack}!MediaStreamTrackEventInithttps://www.w3.org/TR/mediacapture-streams/#mediastreamtrackevent(!MediaStream|!Array.)=(!MediaStream|!Array.)!Array.Array.https://www.w3.org/TR/mediacapture-streams/#mediastreamTODO(bemasc): Remove this property.?function (!MediaStreamTrackEvent)function (!MediaStreamTrackEvent)!MediaStreamTrackEventTODO(bemasc): Remove this method once browsers have updated to +MediaStreamTrack.stop(). +function (new: MediaStream, (!MediaStream|!Array.)=){tone: string}https://www.w3.org/TR/webrtc/#dom-rtcdtmftonechangeeventinit!RTCDTMFToneChangeEventInithttps://www.w3.org/TR/webrtc/#dom-rtcdtmftonechangeeventhttps://www.w3.org/TR/webrtc/#rtcdtmfsender?function (!RTCDTMFToneChangeEvent)function (!RTCDTMFToneChangeEvent)!RTCDTMFToneChangeEventhttps://www.w3.org/TR/webrtc/#rtcrtpsender-interface!RTCDTMFSenderhttps://www.w3.org/TR/webrtc/#dom-rtcrtpcontributingsource?Datehttps://www.w3.org/TR/webrtc/#rtcrtpreceiver-interface!Array.Array.!RTCRtpContributingSourcehttps://www.w3.org/TR/webrtc/#dom-rtcrtptransceiverinit +The direction of the `RTCRtpTransceiver`. Defaults to "sendrecv".(?RTCRtpTransceiverDirection|undefined)?RTCRtpTransceiverDirectionThe streams to add to the tranceiver's sender.(?Array.|undefined)?Array.Array.(?Array.|undefined)?Array.Array.!RTCRtpEncodingParametershttps://www.w3.org/TR/webrtc/#dom-rtcrtpencodingparameters +Possible values are "disabled" and "enabled".Possible values are "very-low", "low" (default), "medium", and "high".(?string|number)(?number|number)https://www.w3.org/TR/webrtc/#rtcrtptransceiver-interface!RTCRtpTransceiverDirection?RTCRtpSender?RTCRtpReceiverhttps://w3c.github.io/mediacapture-main/getusermedia.html#dom-longrange +https://w3c.github.io/mediacapture-main/getusermedia.html#dom-doublerange +https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constrainbooleanparameters +https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constraindomstringparameters +(string|Array.|undefined)https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constraindoublerange +https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constrainlongrange +https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constrainboolean +(boolean|ConstrainBooleanParameters)https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constraindomString +(string|Array.|ConstrainDOMStringParameters)https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constraindouble +(number|ConstrainDoubleRange)https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constrainlong +(number|ConstrainLongRange)https://w3c.github.io/mediacapture-main/getusermedia.html#dom-mediatrackconstraintset +(ConstrainBoolean|undefined)(ConstrainDouble|undefined)(ConstrainLong|undefined)(ConstrainDOMString|undefined)(Array.|undefined)Array.!MediaTrackConstraintSethttps://w3c.github.io/mediacapture-main/getusermedia.html#media-track-constraints +(boolean|MediaTrackConstraints|undefined){http://dev.w3.org/2011/webrtc/editor/getusermedia.html# +navigatorusermediaerror-and-navigatorusermediaerrorcallback} +Removed from the standard and some browsers. +Removed from the standard and some browsers. +Read only.A MediaStreamConstraints object. +A NavigatorUserMediaSuccessCallback function. +function (!MediaStream)A +NavigatorUserMediaErrorCallback function. +function (!NavigatorUserMediaError)=function (!NavigatorUserMediaError)!NavigatorUserMediaErrorhttp://dev.w3.org/2011/webrtc/editor/getusermedia.html +https://www.w3.org/TR/mediacapture-streams/ +?MediaStreamhttps://www.w3.org/TR/mediastream-recording/#dictdef-mediarecorderoptionshttps://www.w3.org/TR/mediastream-recording/#mediarecorder-api +MediaRecorderOptions=(function (!Event)|undefined)https://w3c.github.io/mediacapture-image/##photosettings-sectionhttps://w3c.github.io/mediacapture-image/##photocapabilities-section!Array.Array.https://w3c.github.io/mediacapture-image/ +!PhotoSettings=!PhotoSettings!Promise.Promise.!PhotoCapabilities!Promise.Promise.!ImageBitmapImageBitmaphttps://www.w3.org/TR/webrtc/#rtctrackevent +?MediaStreamTrack?RTCRtpTransceiverhttps://www.w3.org/TR/mediacapture-streams/#idl-def-MediaDeviceKind +In WebIDL this is an enum with values 'audioinput', 'audiooutput', and +'videoinput', but there is no mechanism in Closure for describing a +specialization of the string type.Possible values are "sendrecv", "sendonly", "recvonly", and "inactive".https://www.w3.org/TR/webrtc/#dom-rtcrtptransceiverdirection!MediaDeviceKindhttps://www.w3.org/TR/mediacapture-streams/#mediadevices!Promise.>Promise.>!Array.Array.!MediaDeviceInfohttps://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia +!MediaStreamConstraints!Promise.Promise.https://w3c.github.io/mediacapture-main/#dom-mediadevices-getsupportedconstraints +!MediaTrackSupportedConstraints!MediaDeviceshttps://www.w3.org/TR/webrtc/#rtcsdptype +In WebIDL this is an enum with values 'offer', 'pranswer', and 'answer', +but there is no mechanism in Closure for describing a specialization of +the string type.The RTCSessionDescriptionInit +dictionary. This optional argument may have type +{type:RTCSdpType, sdp:string}, but neither of these keys are required to be +present, and other keys are ignored, so the closest Closure type is Object. +https://www.w3.org/TR/webrtc/#rtcsessiondescription-class?RTCSdpTypehttps://www.w3.org/TR/webrtc/#dom-rtcsessiondescription-typehttps://www.w3.org/TR/webrtc/#dom-rtcsessiondescription-sdpTODO(bemasc): Remove this definition once it is removed from the browser.The label index (audio/video/data -> 0,1,2) +The ICE candidate in SDP text form +The RTCIceCandidateInit dictionary. +!RTCIceCandidateInit=!RTCIceCandidateInithttps://www.w3.org/TR/webrtc/#rtcicecandidate-interface({urls: string}|{urls: !Array.}){urls: string}{urls: !Array.}https://www.w3.org/TR/webrtc/#rtciceserver-dictionary +This dictionary type also has an optional key {credential: ?string}.(string|!Array.)This type, and several below it, are constructed as unions between records(RTCIceServerRecord_|RTCIceServerInterface_){iceServers: !Array., sdpSemantics: (string|undefined)}!Array.Array.!RTCIceServerAllows specifying the SDP semantics. Valid values are "plan-b" and +"unified-plan".{@link https://webrtc.org/web-apis/chrome/unified-plan/} +(RTCConfigurationRecord_|RTCConfigurationInterface_)function (!RTCSessionDescription)!RTCSessionDescriptionfunction (this: SCOPE, Object, string, MAP)SCOPEThe value of "this" inside callback function. +SCOPE=MAP,SCOPE +readonly@readonly!IteratorIterable.IteratorIterable.TODO(bemasc): Remove this type once it is no longer in use. It has already +been removed from the specification.!Array.Array.!RTCStatsReportfunction (!RTCStatsResponse, MediaStreamTrack=)!RTCStatsResponseMediaStreamTrack=This type is not yet standardized, so the properties here only represent +the current capabilities of libjingle (and hence Chromium). +TODO(bemasc): Add a link to the relevant standard once MediaConstraint has a +standard definition.TODO(bemasc): Make this type public once it is defined in a standard.(Object|MediaConstraintSetInterface_)?MediaConstraintSet_?Array.Array.!MediaConstraintSet_This type is used extensively in +{@see http://dev.w3.org/2011/webrtc/editor/webrtc.html} but is not yet +defined.(Object|MediaConstraintsInterface_)An enumerated string type (RTCDataChannelState) with values: +"connecting", "open", "closing", and "closed".(string|!Blob|!ArrayBuffer|!ArrayBufferView)!RTCDataChannel{reliable: boolean}@property[ordered=true] +maxPacketLifeTimemaxRetransmits[protocol=""] +[negotiated=false] +[priority='low'] +see https://www.w3.org/TR/webrtc/#dom-rtcdatachannelinit for documentation +Type inconsistencies due to Closure limitations: +maxPacketLifeTime should be UnsignedShort +maxRetransmits should be UnsignedShort +protocol should be USVString +id should be UnsignedShort +In WebIDL priority is an enum with values 'very-low', 'low', +'medium' and 'high', but there is no mechanism in Closure for describing +a specialization of the string type.(RTCDataChannelInitInterface_|RTCDataChannelInitRecord_|RTCDataChannelInitDictionary_){expires: number}expires!MediaConstraints=!MediaConstraintsPromise.(!RTCSessionDescriptionCallback|!MediaConstraints)=(!RTCSessionDescriptionCallback|!MediaConstraints)!RTCSessionDescriptionCallback!RTCPeerConnectionErrorCallback=!RTCPeerConnectionErrorCallback(!Promise.|undefined)!Promise.Promise.!RTCVoidCallback=!RTCVoidCallback?RTCSessionDescription?RTCConfiguration=?RTCConfiguration?MediaConstraints=?MediaConstraintsVoid in Chrome for now, a promise that you can then/catch in Firefox.!RTCIceCandidate!function (DOMException)=!function (DOMException)function (DOMException)(!Promise|undefined)!Promise!RTCIceGatheringState!RTCIceConnectionState!Array.!Array.Array.!RTCRtpSender!Array.Array.!RTCRtpReceiverRTCDataChannelInit=Additional streams. +...MediaStream(!MediaStreamTrack|string)?RTCRtpTransceiverInit=?RTCRtpTransceiverInit!RTCRtpTransceiverReturns the list of transceivers are currently attached to this peer.!Array.Array.!RTCConfigurationFirefox' getstats is synchronous and returns a much simpler +{!RTCStatsReport} Map-like object.!RTCStatsCallback=!RTCStatsCallback(undefined|!RTCStatsReport|!Promise.)!Promise.Promise.?function (!RTCPeerConnectionIceEvent)function (!RTCPeerConnectionIceEvent)!RTCPeerConnectionIceEvent?function (!MediaStreamEvent)function (!MediaStreamEvent)!MediaStreamEvent?function (!RTCTrackEvent)function (!RTCTrackEvent)!RTCTrackEvent?function (!RTCDataChannelEvent)function (!RTCDataChannelEvent)!RTCDataChannelEventhttps://www.w3.org/TR/webrtc/#idl-def-rtcicetransportArray.RTCIceCandidatePairRTCIceParameters!RTCIceGatherOptionsRTCIceGatherOptionshttps://msdn.microsoft.com/en-us/library/mt433107(v=vs.85).aspxhttps://www.w3.org/TR/webrtc/#idl-def-rtcdtlstransportArray.var Med ... kState;MediaSt ... ckStateSourceI ... e.kind;SourceI ... pe.kindSourceInfo.prototypeSourceI ... ype.id;SourceI ... type.idSourceI ... .label;SourceI ... e.labelSourceI ... facing;SourceI ... .facingMediaSe ... pe.max;MediaSe ... ype.maxMediaSe ... ototypeMediaSe ... pe.min;MediaSe ... ype.minMediaSe ... e.step;MediaSe ... pe.stepMediaTr ... ilitiesMediaTr ... .width;MediaTr ... e.widthMediaTr ... ototypeMediaTr ... height;MediaTr ... .heightMediaTr ... tRatio;MediaTr ... ctRatioMediaTr ... meRate;MediaTr ... ameRateMediaTr ... ngMode;MediaTr ... ingModeMediaTr ... volume;MediaTr ... .volumeMediaTr ... leRate;MediaTr ... pleRateMediaTr ... leSize;MediaTr ... pleSizeMediaTr ... lation;MediaTr ... llationMediaTr ... atency;MediaTr ... latencyMediaTr ... lCount;MediaTr ... elCountMediaTr ... viceId;MediaTr ... eviceIdMediaTr ... roupId;MediaTr ... groupIdMediaTr ... ceMode;MediaTr ... nceModeMediaTr ... reMode;MediaTr ... ureModeMediaTr ... usMode;MediaTr ... cusModeMediaTr ... sation;MediaTr ... nsationMediaTr ... eratureMediaTr ... ype.isoMediaTr ... ghtnessMediaTr ... ontrastMediaTr ... urationMediaTr ... arpnessMediaTr ... pe.zoomMediaTr ... e.torchMediaTr ... terest;MediaTr ... nterestMediaTr ... traintsMediaTr ... ontrol;MediaTr ... ControlMediaTr ... ession;MediaTr ... ressionMediaSt ... ck) {};MediaSt ... ack) {}MediaSt ... SourcesMediaSt ... e.kind;MediaSt ... pe.kindMediaSt ... ototypeMediaSt ... ype.id;MediaSt ... type.idMediaSt ... .label;MediaSt ... e.labelMediaSt ... nabled;MediaSt ... enabledMediaSt ... .muted;MediaSt ... e.mutedMediaSt ... ntHint;MediaSt ... entHintMediaSt ... remote;MediaSt ... .remoteMediaSt ... yState;MediaSt ... dyStateMediaSt ... onmute;MediaSt ... .onmuteMediaSt ... unmute;MediaSt ... nunmuteMediaSt ... nended;MediaSt ... onendedMediaSt ... rained;MediaSt ... trainedMediaSt ... ts) {};MediaSt ... nts) {}MediaSt ... traintsMediaSt ... n() {};MediaSt ... on() {}MediaSt ... e.cloneMediaSt ... pe.stopMediaSt ... ilitiesMediaSt ... ettingsvar Med ... ntInit;MediaSt ... entInitMediaSt ... ckEventMediaSt ... .track;MediaSt ... e.trackMediaSt ... re) {};MediaSt ... ure) {}MediaSt ... istenerMediaSt ... vt) {};MediaSt ... evt) {}MediaSt ... chEventMediaSt ... oTracksMediaSt ... tTracksMediaSt ... Id) {};MediaSt ... kId) {}MediaSt ... ackByIdfunction(trackId) {}MediaSt ... ddTrackfunction(track) {}MediaSt ... veTrackMediaSt ... .ended;MediaSt ... e.endedMediaSt ... active;MediaSt ... .activeMediaSt ... nactiveMediaSt ... dtrack;MediaSt ... ddtrackMediaSt ... etrack;MediaSt ... vetrackvar web ... Stream;var RTC ... ntInit;RTCDTMF ... entInitRTCDTMF ... geEventRTCDTMF ... e.tone;RTCDTMF ... pe.toneRTCDTMF ... ototypeRTCDTMF ... ap) {};RTCDTMF ... Gap) {}RTCDTMF ... ertDTMFfunctio ... Gap) {}RTCDTMF ... change;RTCDTMF ... echangeRTCDTMF ... Buffer;RTCDTMF ... eBufferfunctio ... ort) {}RTCRtpS ... e.dtmf;RTCRtpS ... pe.dtmfRTCRtpS ... ototypeRTCRtpS ... .track;RTCRtpS ... e.trackRTCRtpS ... ck) {};RTCRtpS ... ack) {}RTCRtpS ... ceTrackRTCRtpS ... n() {};RTCRtpS ... on() {}RTCRtpS ... ametersRTCRtpS ... ms) {};RTCRtpS ... ams) {}function(params) {}RTCRtpC ... gSourceRTCRtpC ... source;RTCRtpC ... .sourceRTCRtpC ... ototypeRTCRtpC ... estamp;RTCRtpC ... mestampRTCRtpR ... .track;RTCRtpR ... e.trackRTCRtpR ... ototypeRTCRtpR ... n() {};RTCRtpR ... on() {}RTCRtpR ... SourcesgetCont ... SourcesgetSync ... SourcesRTCRtpT ... verInitRTCRtpT ... ection;RTCRtpT ... rectionRTCRtpT ... ototypeRTCRtpT ... treams;RTCRtpT ... streamsRTCRtpT ... odings;RTCRtpT ... codingsfunctio ... rs() {}RTCRtpE ... ametersRTCRtpE ... adType;RTCRtpE ... oadTypeRTCRtpE ... ototypeRTCRtpE ... pe.dtx;RTCRtpE ... ype.dtxRTCRtpE ... active;RTCRtpE ... .activeRTCRtpE ... iority;RTCRtpE ... riorityRTCRtpE ... .ptime;RTCRtpE ... e.ptimeRTCRtpE ... itrate;RTCRtpE ... BitrateRTCRtpE ... merate;RTCRtpE ... amerateRTCRtpE ... pe.rid;RTCRtpE ... ype.ridRTCRtpE ... DownBy;RTCRtpE ... nDownByscaleRe ... nDownByRTCRtpT ... pe.mid;RTCRtpT ... ype.midRTCRtpT ... topped;RTCRtpT ... stoppedRTCRtpT ... on) {};RTCRtpT ... ion) {}RTCRtpT ... n() {};RTCRtpT ... on() {}RTCRtpT ... pe.stopRTCRtpT ... sender;RTCRtpT ... .senderRTCRtpT ... ceiver;RTCRtpT ... eceiverLongRan ... pe.max;LongRan ... ype.maxLongRange.prototypeLongRan ... pe.min;LongRan ... ype.minDoubleR ... pe.max;DoubleR ... ype.maxDoubleR ... ototypeDoubleR ... pe.min;DoubleR ... ype.minConstra ... ametersConstra ... .exact;Constra ... e.exactConstra ... ototypeConstra ... .ideal;Constra ... e.idealvar Con ... oolean;var Con ... String;var ConstrainDouble;var ConstrainLong;MediaTr ... aintSetMediaTr ... vanced;MediaTr ... dvancedMediaSt ... .audio;MediaSt ... e.audioMediaSt ... .video;MediaSt ... e.videoNavigat ... iaErrorNavigat ... DENIED;Navigat ... _DENIEDNavigat ... ototypeNavigat ... e.code;Navigat ... pe.codeNavigat ... e.name;Navigat ... pe.nameNavigat ... essage;Navigat ... messageNavigat ... ntName;Navigat ... intNameNavigat ... ck) {};Navigat ... ack) {}Navigat ... erMediaMediaSt ... stream;MediaSt ... .streamMediaRe ... imeTypeMediaRe ... ototypeMediaRe ... rSecondMediaRe ... re) {};MediaRe ... ure) {}MediaRe ... istenerMediaRe ... vt) {};MediaRe ... evt) {}MediaRe ... chEventMediaRe ... stream;MediaRe ... .streamMediaRe ... meType;MediaRe ... .state;MediaRe ... e.stateMediaRe ... nstart;MediaRe ... onstartMediaRe ... onstop;MediaRe ... .onstopMediaRe ... ilable;MediaRe ... ailableMediaRe ... npause;MediaRe ... onpauseMediaRe ... resume;MediaRe ... nresumeMediaRe ... nerror;MediaRe ... onerrorMediaRe ... Second;MediaRe ... ce) {};MediaRe ... ice) {}MediaRe ... e.startfunctio ... ice) {}MediaRe ... n() {};MediaRe ... on() {}MediaRe ... pe.stopMediaRe ... e.pauseMediaRe ... .resumeMediaRe ... estDataMediaRe ... pe) {};MediaRe ... ype) {}MediaRe ... pportedPhotoSe ... htMode;PhotoSe ... ghtModePhotoSe ... ototypePhotoSe ... Height;PhotoSe ... eHeightPhotoSe ... eWidth;PhotoSe ... geWidthPhotoSe ... uction;PhotoSe ... ductionPhotoCa ... uction;PhotoCa ... ductionPhotoCa ... ototypePhotoCa ... Height;PhotoCa ... eHeightPhotoCa ... eWidth;PhotoCa ... geWidthPhotoCa ... htMode;PhotoCa ... ghtModeImageCa ... gs) {};ImageCa ... ngs) {}ImageCa ... kePhotoImageCa ... ototypeImageCa ... n() {};ImageCa ... on() {}ImageCa ... ilitiesImageCa ... abFrameImageCa ... .track;ImageCa ... e.trackRTCTrac ... ceiver;RTCTrac ... eceiverRTCTrac ... ototypeRTCTrac ... .track;RTCTrac ... e.trackRTCTrac ... treams;RTCTrac ... streamsRTCTrac ... sceivervar MediaDeviceKind;var RTC ... ection;MediaDe ... viceId;MediaDe ... eviceIdMediaDe ... ototypeMediaDe ... e.kind;MediaDe ... pe.kindMediaDe ... .label;MediaDe ... e.labelMediaDe ... roupId;MediaDe ... groupIdMediaDe ... n() {};MediaDe ... on() {}MediaDe ... DevicesMediaDe ... nts) {}MediaDe ... erMediaMediaDe ... n() {}MediaDe ... traintsgetSupp ... traintsfunction() {}Navigat ... evices;Navigat ... Devicesvar RTCSdpType;RTCSess ... riptionRTCSess ... e.type;RTCSess ... pe.typeRTCSess ... ototypeRTCSess ... pe.sdp;RTCSess ... ype.sdpfunctio ... sdp) {}IceCand ... n() {};IceCand ... on() {}IceCand ... e.toSdpIceCand ... ototypeIceCand ... .label;IceCand ... e.labelRTCIceC ... didate;RTCIceC ... ndidateRTCIceC ... ototypeRTCIceC ... sdpMid;RTCIceC ... .sdpMidRTCIceC ... eIndex;RTCIceC ... neIndexRTCIceC ... agment;RTCIceC ... ragmentvar RTC ... ecord_;functio ... e_() {}RTCIceS ... erface_RTCIceS ... e.urls;RTCIceS ... pe.urlsRTCIceS ... ototypeRTCIceS ... ername;RTCIceS ... sernameRTCIceS ... ential;RTCIceS ... dentialvar RTCIceServer;RTCConf ... Record_RTCConf ... erface_RTCConf ... ervers;RTCConf ... ServersRTCConf ... ototypeRTCConf ... antics;RTCConf ... manticsvar RTC ... ration;var RTC ... llback;RTCSess ... allbackRTCPeer ... allbackvar RTCVoidCallback;var RTC ... gState;var RTC ... nState;RTCIceC ... onStateRTCPeer ... ceEventRTCPeer ... didate;RTCPeer ... ndidateRTCPeer ... ototypeRTCStat ... estamp;RTCStat ... mestampRTCStat ... ototypeRTCStat ... n() {};RTCStat ... on() {}RTCStat ... e.namesRTCStat ... me) {};RTCStat ... ame) {}RTCStat ... pe.statRTCStat ... .local;RTCStat ... e.localRTCStat ... remote;RTCStat ... .remoteRTCStat ... e.type;RTCStat ... pe.typeRTCStat ... ype.id;RTCStat ... type.idRTCStat ... bj) {};RTCStat ... Obj) {}RTCStat ... forEachRTCStat ... ey) {};RTCStat ... key) {}RTCStat ... ype.getRTCStat ... pe.keysvar RTCStatsElement;RTCStat ... .resultMediaCo ... erface_MediaCo ... eAudio;MediaCo ... veAudioMediaCo ... ototypeMediaCo ... eVideo;MediaCo ... veVideoMediaCo ... eement;MediaCo ... reementMediaCo ... annels;MediaCo ... hannelsvar Med ... ntSet_;MediaCo ... datory;MediaCo ... ndatoryMediaCo ... tional;MediaCo ... ptionalvar Med ... raints;RTCData ... .label;RTCData ... e.labelRTCData ... ototypeRTCData ... liable;RTCData ... eliableRTCData ... yState;RTCData ... dyStateRTCData ... Amount;RTCData ... dAmountRTCData ... onopen;RTCData ... .onopenRTCData ... nerror;RTCData ... onerrorRTCData ... nclose;RTCData ... oncloseRTCData ... n() {};RTCData ... on() {}RTCData ... e.closeRTCData ... essage;RTCData ... messageRTCData ... ryType;RTCData ... aryTypeRTCData ... ta) {};RTCData ... ata) {}RTCData ... pe.sendRTCData ... hannel;RTCData ... channelRTCData ... Record_RTCData ... erface_var RTC ... onary_;RTCData ... ionary_var RTC ... elInit;var RTCCertificate;RTCPeer ... hm) {};RTCPeer ... thm) {}RTCPeer ... ificateRTCPeer ... re) {};RTCPeer ... ure) {}RTCPeer ... istenerRTCPeer ... vt) {};RTCPeer ... evt) {}RTCPeer ... chEventRTCPeer ... ts) {};RTCPeer ... nts) {}RTCPeer ... teOffersuccess ... traintsRTCPeer ... eAnswerRTCPeer ... ck) {};RTCPeer ... ack) {}RTCPeer ... riptionRTCPeer ... iption;RTCPeer ... gState;RTCPeer ... ngStateRTCPeer ... dateIceRTCPeer ... nState;RTCPeer ... onStateRTCPeer ... n() {};RTCPeer ... on() {}RTCPeer ... StreamsRTCPeer ... Id) {};RTCPeer ... mId) {}RTCPeer ... eamByIdRTCPeer ... SendersRTCPeer ... ceiversRTCPeer ... ct) {};RTCPeer ... ict) {}RTCPeer ... ChannelRTCPeer ... dStreamRTCPeer ... am) {};RTCPeer ... eam) {}RTCPeer ... eStreamRTCPeer ... gs) {};RTCPeer ... rgs) {}RTCPeer ... ddTrackRTCPeer ... it) {};RTCPeer ... nit) {}RTCPeer ... sceiverRTCPeer ... urationRTCPeer ... on) {};RTCPeer ... ion) {}RTCPeer ... er) {};RTCPeer ... der) {}RTCPeer ... veTrackfunction(sender) {}RTCPeer ... or) {};RTCPeer ... tor) {}RTCPeer ... etStatsRTCPeer ... e.closeRTCPeer ... needed;RTCPeer ... nneededRTCPeer ... change;RTCPeer ... echangeonsigna ... echangeRTCPeer ... stream;RTCPeer ... dstreamRTCPeer ... ntrack;RTCPeer ... ontrackRTCPeer ... estreamoniceco ... echangeRTCPeer ... hannel;RTCPeer ... channelvar web ... ection;webkitR ... nectionvar moz ... ection;mozRTCP ... nectionfunctio ... rer) {}RTCIceT ... gState;RTCIceT ... ngStateRTCIceT ... ototypeRTCIceT ... on(){};RTCIceT ... ion(){}RTCIceT ... didatesRTCIceT ... atePairgetSele ... atePairRTCIceT ... ametersRTCIceT ... n(e){};RTCIceT ... on(e){}RTCIceT ... echangefunction(e){}ongathe ... echangeRTCIceT ... rchangeonselec ... rchangeRTCDtls ... nsport;RTCDtls ... ansportRTCDtls ... ototypeRTCDtls ... n() {};RTCDtls ... on() {}RTCDtls ... ficatesgetRemo ... ficatesRTCDtls ... n(e){};RTCDtls ... on(e){}RTCDtls ... echange/opt/codeql/javascript/tools/data/externs/web/w3c_screen_orientation.js + * @fileoverview Definitions for W3C's Screen Orientation API. + * @see https://w3c.github.io/screen-orientation/ + * + * @externs + + * @interface + * @extends {EventTarget} + * @see https://w3c.github.io/screen-orientation/#screenorientation-interface + + * @param {string} orientation + * @return {!Promise} + + * @type {?ScreenOrientation} + * @see https://w3c.github.io/screen-orientation/#extensions-to-the-screen-interface + ScreenOrientationunlockDefinitions for W3C's Screen Orientation API. +https://w3c.github.io/screen-orientation/ +*https://w3c.github.io/screen-orientation/#screenorientation-interface?ScreenOrientationhttps://w3c.github.io/screen-orientation/#extensions-to-the-screen-interfacevar Scr ... n() {};ScreenO ... on() {}ScreenO ... on) {};ScreenO ... ion) {}ScreenO ... pe.lockScreenO ... ototypeScreenO ... n() {};ScreenO ... .unlockScreenO ... e.type;ScreenO ... pe.typeScreenO ... .angle;ScreenO ... e.angleScreenO ... change;ScreenO ... nchangeScreen. ... tation;Screen. ... ntation/opt/codeql/javascript/tools/data/externs/web/w3c_selectors.js + * @fileoverview Definitions for W3C's Selectors API. + * This file depends on w3c_dom1.js. + * @see http://www.w3.org/TR/selectors-api2/ + * + * @externs + + * @param {string} selectors + * @return {?Element} + * @override + * @nosideeffects + + * @param {string} selectors + * @return {!NodeList} + * @override + * @nosideeffects + + * https://dom.spec.whatwg.org/#dom-element-closest + * https://developer.mozilla.org/en-US/docs/Web/API/Element.closest + * @param {string} selectors + * @return {?Element} + * @nosideeffects + + * https://dom.spec.whatwg.org/#dom-element-matches + * https://developer.mozilla.org/en-US/docs/Web/API/Element.matches + * @param {string} selectors + * @return {boolean} + * @nosideeffects + + * @param {string} selectors + * @param {(Node|NodeList)=} refNodes + * @return {boolean} + * @nosideeffects + + * @see https://developer.mozilla.org/en/DOM/Node.mozMatchesSelector + * @param {string} selectors + * @return {boolean} + * @nosideeffects + + * @see http://developer.apple.com/library/safari/documentation/WebKit/Reference/ElementClassRef/Element/Element.html + * @param {string} selectors + * @return {boolean} + * @nosideeffects + + * @see http://msdn.microsoft.com/en-us/library/ff975201.aspx + * @param {string} selectors + * @return {boolean} + * @nosideeffects + + * @see http://www.opera.com/docs/changelogs/windows/1150/ + * @param {string} selectors + * @return {boolean} + * @nosideeffects + selectorsmatchesSelectorrefNodesmozMatchesSelectorwebkitMatchesSelectormsMatchesSelectoroMatchesSelectorDefinitions for W3C's Selectors API. +This file depends on w3c_dom1.js. +http://www.w3.org/TR/selectors-api2/ +*https://dom.spec.whatwg.org/#dom-element-closest +https://developer.mozilla.org/en-US/docs/Web/API/Element.closesthttps://dom.spec.whatwg.org/#dom-element-matches +https://developer.mozilla.org/en-US/docs/Web/API/Element.matcheshttps://developer.mozilla.org/en/DOM/Node.mozMatchesSelector +http://developer.apple.com/library/safari/documentation/WebKit/Reference/ElementClassRef/Element/Element.html +http://msdn.microsoft.com/en-us/library/ff975201.aspx +http://www.opera.com/docs/changelogs/windows/1150/ +Documen ... rs) {};Documen ... ors) {}Documen ... electorDocumen ... ctorAllElement ... rs) {};Element ... ors) {}Element ... electorElement ... ctorAllElement ... closestElement ... matchesElement ... es) {};Element ... des) {}functio ... des) {}webkitM ... elector/opt/codeql/javascript/tools/data/externs/web/w3c_serviceworker.js + * @fileoverview Externs for service worker. + * + * @see http://www.w3.org/TR/service-workers/ + * @externs + + * @see http://www.w3.org/TR/service-workers/#service-worker-interface + * @constructor + * @extends {Worker} + @type {ServiceWorkerState} + * Set of possible string values: 'installing', 'installed', 'activating', + * 'activated', 'redundant'. + * @typedef {string} + + * @see https://w3c.github.io/push-api/ + * @constructor + + * Please note there is an intent to deprecate this field in Chrome 43 or 44. + * See https://www.chromestatus.com/feature/5283829761703936. + * @type {string} + @return {!Promise} /** @re ... an>} */ @enum {string} /** @en ... ing} */ This is commented out since it has not been implemented yet in Chrome beta.// This ... e beta. Uncomment once it is available.// Unco ... ilable. var PushPermissionStatus = {// var ... us = { GRANTED: 'granted',// GRA ... anted', DENIED: 'denied',// DEN ... enied', DEFAULT: 'default'// DEF ... efault'};//}; + * @see https://w3c.github.io/push-api/#idl-def-PushManager + * @constructor + + * @param {PushSubscriptionOptions=} opt_options + * @return {!Promise} + @return {!Promise} /** @re ... on>} */ @return {!Promise} /** @re ... us>} */ PushManager.prototype.hasPermission = function() {};// Push ... n() {}; + * @typedef {{userVisibleOnly: (boolean|undefined)}} + * @see https://w3c.github.io/push-api/#idl-def-PushSubscriptionOptions + + * @see http://www.w3.org/TR/push-api/#idl-def-PushMessageData + * @constructor + @return {!ArrayBuffer} /** @re ... fer} */ @return {!Blob} /** @re ... lob} */ @return {*} /** @return {*} */ @return {string} /** @re ... ing} */ + * @see http://www.w3.org/TR/push-api/#idl-def-PushEvent + * @constructor + * @param {string} type + * @param {!ExtendableEventInit=} opt_eventInitDict + * @extends {ExtendableEvent} + @type {?PushMessageData} /** @ty ... ata} */ + * @see http://www.w3.org/TR/service-workers/#service-worker-registration-interface + * @interface + * @extends {EventTarget} + @type {ServiceWorker} /** @ty ... ker} */ @return {!Promise} /** @re ... id>} */ + * @see https://w3c.github.io/push-api/ + * @type {!PushManager} + + * @see https://notifications.spec.whatwg.org/#service-worker-api + * @param {string} title + * @param {NotificationOptions=} opt_options + * @return {!Promise} + + * @see https://notifications.spec.whatwg.org/#service-worker-api + * @param {!GetNotificationOptions=} opt_filter + * @return {!Promise>} + + * @see http://www.w3.org/TR/service-workers/#service-worker-container-interface + * @interface + * @extends {EventTarget} + @type {?ServiceWorker} @type {!Promise} /** @ty ... on>} */ + * @param {string} scriptURL + * @param {RegistrationOptions=} opt_options + * @return {!Promise} + + * @param {string=} opt_documentURL + * @return {!Promise} + + * @return {!Promise>} + @type {?function(!ErrorEvent)} + * @typedef {{scope: (string|undefined), useCache: (boolean|undefined)}} + @type {!ServiceWorkerContainer} /** @ty ... ner} */ + * @see http://www.w3.org/TR/service-workers/#service-worker-global-scope-interface + * @interface + * @extends {WorkerGlobalScope} + @type {!Cache} @type {!CacheStorage} /** @ty ... age} */ @type {!ServiceWorkerClients} /** @ty ... nts} */ @type {!ServiceWorkerRegistration} @type {!Console} /** @ty ... ole} */ @type {?function(!InstallEvent)} @type {?function(!ExtendableEvent)} @type {?function(!FetchEvent)} + * TODO(mtragut): This handler should get a custom event in the future. + * @type {?function(!Event)} + @type {?function(!MessageEvent)} + * @see http://www.w3.org/TR/service-workers/#service-worker-client-interface + * @constructor + @type {!Promise} /** @ty ... id>} */ @type {VisibilityState} + * // TODO(mtragut): Possibly replace the type with enum ContextFrameType once + * the enum is defined. + * @type {string} + + * @param {*} message + * @param {(!Array|undefined)=} opt_transfer + * @return {undefined} + @return {!Promise} /** @re ... ise} */ + * @see http://www.w3.org/TR/service-workers/#service-worker-clients-interface + * @interface + + * Deprecated in Chrome M43+, use matchAll instead. Reference: + * https://github.com/slightlyoff/ServiceWorker/issues/610. + * TODO(joeltine): Remove when getAll is fully deprecated. + * @param {ServiceWorkerClientQueryOptions=} opt_options + * @return {!Promise>} + + * @param {ServiceWorkerClientQueryOptions=} opt_options + * @return {!Promise>} + + * @return {!Promise} + + * @param {string} url + * @return {!Promise} + @typedef {{includeUncontrolled: (boolean|undefined)}} /** @ty ... d)}} */ + * @see http://www.w3.org/TR/service-workers/#cache-interface + * @interface + + * @param {!RequestInfo} request + * @param {CacheQueryOptions=} opt_options + * @return {!Promise} + + * @param {RequestInfo=} opt_request + * @param {CacheQueryOptions=} opt_options + * @return {!Promise>} + + * @param {!RequestInfo} request + * @return {!Promise} + + * @param {!Array} requests + * @return {!Promise} + + * @param {!RequestInfo} request + * @param {!Response} response + * @return {!Promise} + + * @param {!RequestInfo} request + * @param {CacheQueryOptions=} opt_options + * @return {!Promise} + + * @param {RequestInfo=} opt_request + * @param {CacheQueryOptions=} opt_options + * @return {!Promise>} + + * @typedef {{ + * ignoreSearch: (boolean|undefined), + * ignoreMethod: (boolean|undefined), + * ignoreVary: (boolean|undefined), + * prefixMatch: (boolean|undefined), + * cacheName: (string|undefined) + * }} + + * @see http://www.w3.org/TR/service-workers/#cache-storage-interface + * @interface + + * Window instances have a property called caches which implements CacheStorage + * @see https://www.w3.org/TR/service-workers/#cache-objects + * @type {!CacheStorage} + + * @param {string} cacheName + * @return {!Promise} + + * @param {string} cacheName + * @return {!Promise} + @return {!Promise>} + * @see http://www.w3.org/TR/service-workers/#extendable-event-interface + * @constructor + * @param {string} type + * @param {ExtendableEventInit=} opt_eventInitDict + * @extends {Event} + + * @param {IThenable} f + * @return {undefined} + + * @typedef {{ + * bubbles: (boolean|undefined), + * cancelable: (boolean|undefined) + * }} + + * @see http://www.w3.org/TR/service-workers/#install-event-interface + * @constructor + * @param {string} type + * @param {InstallEventInit=} opt_eventInitDict + * @extends {ExtendableEvent} + + * @typedef {{ + * bubbles: (boolean|undefined), + * cancelable: (boolean|undefined), + * activeWorker: (!ServiceWorker|undefined) + * }} + + * @see http://www.w3.org/TR/service-workers/#fetch-event-interface + * @constructor + * @param {string} type + * @param {FetchEventInit=} opt_eventInitDict + * @extends {Event} + @type {!Request} /** @ty ... est} */ @type {!ServiceWorkerClient} @type {!boolean} + * @param {(Response|Promise)} r + * @return {undefined} + + * @param {string} url + * @return {!Promise} + + * @return {!Promise} + + * @typedef {{ + * bubbles: (boolean|undefined), + * cancelable: (boolean|undefined), + * request: (!Request|undefined), + * client: (!ServiceWorkerClient|undefined), + * isReload: (!boolean|undefined) + * }} + ServiceWorkerServiceWorkerStatePushSubscriptionendpointsubscriptionIdunsubscribePushManagersubscribegetSubscriptionPushSubscriptionOptionsPushMessageDataPushEventServiceWorkerRegistrationinstallingwaitingunregisteronupdatefoundpushManagershowNotificationgetNotificationsopt_filterServiceWorkerContainergetRegistrationopt_documentURLgetRegistrationsoncontrollerchangeRegistrationOptionsserviceWorkerServiceWorkerGlobalScopescriptCachecachesclientsregistrationskipWaitingoninstallonactivateonfetchonbeforeevictedonevictedServiceWorkerClientfocusedframeTypeServiceWorkerClientsclaimopenWindowServiceWorkerClientQueryOptionsCacheopt_requestaddAllCacheQueryOptionsCacheStoragecacheNameExtendableEventwaitUntilExtendableEventInitInstallEventactiveWorkerInstallEventInitFetchEventisReloadrespondWithforwardToFetchEventInitExterns for service worker. +*http://www.w3.org/TR/service-workers/ +http://www.w3.org/TR/service-workers/#service-worker-interface +Set of possible string values: 'installing', 'installed', 'activating', +'activated', 'redundant'.https://w3c.github.io/push-api/ +Please note there is an intent to deprecate this field in Chrome 43 or 44. +See https://www.chromestatus.com/feature/5283829761703936.!Promise.Promise.https://w3c.github.io/push-api/#idl-def-PushManager +PushSubscriptionOptions=!Promise.Promise.!Promise.Promise.PushPermissionStatus{userVisibleOnly: (boolean|undefined)}https://w3c.github.io/push-api/#idl-def-PushSubscriptionOptionshttp://www.w3.org/TR/push-api/#idl-def-PushMessageData +http://www.w3.org/TR/push-api/#idl-def-PushEvent +!ExtendableEventInit=!ExtendableEventInit?PushMessageDatahttp://www.w3.org/TR/service-workers/#service-worker-registration-interface +!PushManagerhttps://notifications.spec.whatwg.org/#service-worker-api +NotificationOptions=NotificationOptions!GetNotificationOptions=!GetNotificationOptionsGetNotificationOptions!Promise.>Promise.>?Array.Array.?NotificationNotificationhttp://www.w3.org/TR/service-workers/#service-worker-container-interface +?ServiceWorker!Promise.Promise.!ServiceWorkerRegistrationRegistrationOptions=!Promise.<(!ServiceWorkerRegistration|undefined)>Promise.<(!ServiceWorkerRegistration|undefined)>(!ServiceWorkerRegistration|undefined)!Promise.>Promise.>Array.?function (!ErrorEvent)function (!ErrorEvent)!ErrorEvent{scope: (string|undefined), useCache: (boolean|undefined)}useCache!ServiceWorkerContainerhttp://www.w3.org/TR/service-workers/#service-worker-global-scope-interface +!Cache!CacheStorage!ServiceWorkerClients!Console?function (!InstallEvent)function (!InstallEvent)!InstallEvent?function (!ExtendableEvent)function (!ExtendableEvent)!ExtendableEvent?function (!FetchEvent)function (!FetchEvent)!FetchEventTODO(mtragut): This handler should get a custom event in the future.?function (!MessageEvent)function (!MessageEvent)!MessageEventhttp://www.w3.org/TR/service-workers/#service-worker-client-interface +// TODO(mtragut): Possibly replace the type with enum ContextFrameType once +the enum is defined.(!Array.|undefined)=(!Array.|undefined)http://www.w3.org/TR/service-workers/#service-worker-clients-interface +Deprecated in Chrome M43+, use matchAll instead. Reference: +https://github.com/slightlyoff/ServiceWorker/issues/610. +TODO(joeltine): Remove when getAll is fully deprecated.ServiceWorkerClientQueryOptions=!Promise.>Promise.>!Array.Array.!ServiceWorkerClient!Promise.Promise.{includeUncontrolled: (boolean|undefined)}includeUncontrolledhttp://www.w3.org/TR/service-workers/#cache-interface +CacheQueryOptions=!Promise.<(!Response|undefined)>Promise.<(!Response|undefined)>(!Response|undefined)RequestInfo=!Promise.>Promise.>!Array.Array.!Array.Array.!Promise.>Promise.>!Array.Array.{ignoreSearch: (boolean|undefined), ignoreMethod: (boolean|undefined), ignoreVary: (boolean|undefined), prefixMatch: (boolean|undefined), cacheName: (string|undefined)}ignoreSearchignoreMethodignoreVaryprefixMatchhttp://www.w3.org/TR/service-workers/#cache-storage-interface +Window instances have a property called caches which implements CacheStoragehttps://www.w3.org/TR/service-workers/#cache-objects +!Promise.Promise.!Promise.>Promise.>http://www.w3.org/TR/service-workers/#extendable-event-interface +ExtendableEventInit={bubbles: (boolean|undefined), cancelable: (boolean|undefined)}http://www.w3.org/TR/service-workers/#install-event-interface +InstallEventInit={bubbles: (boolean|undefined), cancelable: (boolean|undefined), activeWorker: (!ServiceWorker|undefined)}(!ServiceWorker|undefined)!ServiceWorkerhttp://www.w3.org/TR/service-workers/#fetch-event-interface +FetchEventInit=!boolean(Response|Promise.)Promise.{bubbles: (boolean|undefined), cancelable: (boolean|undefined), request: (!Request|undefined), client: (!ServiceWorkerClient|undefined), isReload: (!boolean|undefined)}(!Request|undefined)(!ServiceWorkerClient|undefined)(!boolean|undefined)Service ... iptURL;Service ... riptURLService ... ototypeService ... .state;Service ... e.stateService ... change;Service ... echangevar Ser ... State ;PushSub ... dpoint;PushSub ... ndpointPushSub ... ototypePushSub ... tionId;PushSub ... ptionIdPushSub ... n() {};PushSub ... on() {}PushSub ... bscribePushMan ... ns) {};PushMan ... ons) {}PushMan ... bscribePushMan ... ototypePushMan ... n() {};PushMan ... on() {}PushMan ... riptionvar Pus ... ptions;PushSub ... OptionsPushMes ... n() {};PushMes ... on() {}PushMes ... yBufferPushMes ... ototypePushMes ... pe.blobPushMes ... pe.jsonPushMes ... pe.textPushEve ... e.data;PushEve ... pe.dataPushEvent.prototypeService ... trationService ... alling;Service ... tallingService ... aiting;Service ... waitingService ... active;Service ... .activeService ... .scope;Service ... e.scopeService ... n() {};Service ... on() {}Service ... egisterService ... efound;Service ... tefoundService ... .updateService ... anager;Service ... ManagerService ... ns) {};Service ... ons) {}Service ... icationService ... er) {};Service ... ter) {}Service ... cationsService ... ntainerService ... roller;Service ... trollerService ... .ready;Service ... e.readyService ... RL) {};Service ... URL) {}functio ... URL) {}Service ... rationsService ... rchangeService ... nerror;Service ... onerrorvar Reg ... ptions;Navigat ... Worker;Navigat ... eWorkerService ... alScopeService ... tCache;Service ... ptCacheService ... caches;Service ... .cachesService ... lients;Service ... clientsService ... ration;Service ... WaitingService ... onsole;Service ... consoleService ... nstall;Service ... installService ... tivate;Service ... ctivateService ... nfetch;Service ... onfetchService ... victed;Service ... evictedService ... essage;Service ... messageService ... exedDB;Service ... dexedDBService ... hidden;Service ... .hiddenService ... ocused;Service ... focusedService ... yState;Service ... tyStateService ... pe.url;Service ... ype.urlService ... meType;Service ... ameTypeService ... fer) {}Service ... MessageService ... e.focusService ... .getAllService ... atchAllService ... e.claimService ... rl) {};Service ... url) {}Service ... nWindowvar Ser ... ptions;Service ... Optionsfunction Cache() {}Cache.p ... ns) {};Cache.p ... ons) {}Cache.p ... e.matchCache.prototypeCache.p ... atchAllCache.p ... st) {};Cache.p ... est) {}Cache.prototype.addfunction(request) {}Cache.p ... ts) {};Cache.p ... sts) {}Cache.p ... .addAllfunctio ... sts) {}Cache.p ... se) {};Cache.p ... nse) {}Cache.prototype.putfunctio ... nse) {}Cache.p ... .deleteCache.prototype.keysvar Cac ... ptions;Window. ... caches;Window. ... .cachesCacheSt ... ns) {};CacheSt ... ons) {}CacheSt ... e.matchCacheSt ... ototypeCacheSt ... me) {};CacheSt ... ame) {}CacheSt ... ype.hasCacheSt ... pe.openCacheSt ... .deleteCacheSt ... n() {};CacheSt ... on() {}CacheSt ... pe.keysExtenda ... (f) {};Extenda ... n(f) {}Extenda ... itUntilExtenda ... ototypefunction(f) {}var Ext ... ntInit;Extenda ... Worker;Extenda ... eWorkervar Ins ... ntInit;FetchEv ... equest;FetchEv ... requestFetchEvent.prototypeFetchEv ... client;FetchEv ... .clientFetchEv ... Reload;FetchEv ... sReloadFetchEv ... (r) {};FetchEv ... n(r) {}FetchEv ... ondWithfunction(r) {}FetchEv ... rl) {};FetchEv ... url) {}FetchEv ... rwardToFetchEv ... n() {};FetchEv ... on() {}FetchEv ... defaultvar FetchEventInit;/opt/codeql/javascript/tools/data/externs/web/w3c_touch_event.js + * @fileoverview Definitions for W3C's Touch Events specification. + * @see http://www.w3.org/TR/touch-events/ + * @externs + + * @typedef {{ + * identifier: number, + * target: !EventTarget, + * clientX: (number|undefined), + * clientY: (number|undefined), + * screenX: (number|undefined), + * screenY: (number|undefined), + * pageX: (number|undefined), + * pageY: (number|undefined), + * radiusX: (number|undefined), + * radiusY: (number|undefined), + * rotationAngle: (number|undefined), + * force: (number|undefined) + * }} + + * The Touch class represents a single touch on the surface. A touch is the + * presence or movement of a finger that is part of a unique multi-touch + * sequence. + * @see http://www.w3.org/TR/touch-events/#touch-interface + * @param {!TouchInitDict} touchInitDict + * @constructor + + * The x-coordinate of the touch's location relative to the window's viewport. + * @type {number} + + * The y-coordinate of the touch's location relative to the window's viewport. + * @type {number} + + * The unique identifier for this touch object. + * @type {number} + + * The x-coordinate of the touch's location in page coordinates. + * @type {number} + + * The y-coordinate of the touch's location in page coordinates. + * @type {number} + + * The x-coordinate of the touch's location in screen coordinates. + * @type {number} + + * The y-coordinate of the touch's location in screen coordinates. + * @type {number} + + * The target of this touch. + * @type {EventTarget} + + * @type {number} + * @see http://www.w3.org/TR/touch-events-extensions/#widl-Touch-force + + * @type {number} + * @see http://www.w3.org/TR/touch-events-extensions/#widl-Touch-radiusX + /**\n * ... usX\n */ + * @type {number} + * @see http://www.w3.org/TR/touch-events-extensions/#widl-Touch-radiusY + /**\n * ... usY\n */ + * @type {number} + * @see http://www.w3.org/TR/2011/WD-touch-events-20110505/#widl-Touch-rotationAngle + + * Creates a new Touch object. + * @see http://www.w3.org/TR/touch-events/#widl-Document-createTouch-Touch-WindowProxy-view-EventTarget-target-long-identifier-long-pageX-long-pageY-long-screenX-long-screenY + * @param {Window} view + * @param {EventTarget} target + * @param {number} identifier + * @param {number} pageX + * @param {number} pageY + * @param {number} screenX + * @param {number} screenY + * @return {Touch} + /**\n * ... ch}\n */ + * The TouchList class is used to represent a collection of Touch objects. + * @see http://www.w3.org/TR/touch-events/#touchlist-interface + * @constructor + * @implements {IArrayLike} + /**\n * ... h>}\n */ + * The number of Touch objects in this TouchList object. + * @type {number} + + * Returns the Touch object at the given index. + * @param {number} index + * @return {?Touch} + + * @param {number} identifier + * @return {?Touch} + * @see http://www.w3.org/TR/touch-events-extensions/#widl-TouchList-identifiedTouch-Touch-long-identifier + + * Creates a new TouchList object. + * @see http://www.w3.org/TR/touch-events/#widl-Document-createTouchList-TouchList-Touch-touches + * @param {Array} touches + * @return {TouchList} + + * @record + * @extends {UIEventInit} + /**\n * ... it}\n */ @type {undefined|!Array} /** @ty ... ch>} */ + * The TouchEvent class encapsulates information about a touch event. + * + *

The system continually sends TouchEvent objects to an application as + * fingers touch and move across a surface. A touch event provides a snapshot of + * all touches during a multi-touch sequence, most importantly the touches that + * are new or have changed for a particular target. A multi-touch sequence + * begins when a finger first touches the surface. Other fingers may + * subsequently touch the surface, and all fingers may move across the surface. + * The sequence ends when the last of these fingers is lifted from the surface. + * An application receives touch event objects during each phase of any touch. + *

+ * + *

The different types of TouchEvent objects that can occur are: + *

    + *
  • touchstart - Sent when a finger for a given event touches the surface. + *
  • touchmove - Sent when a given event moves on the surface. + *
  • touchend - Sent when a given event lifts from the surface. + *
  • touchcancel - Sent when the system cancels tracking for the touch. + *
+ * TouchEvent objects are combined together to form high-level GestureEvent + * objects that are also sent during a multi-touch sequence.

+ * + * @see http://www.w3.org/TR/touch-events/#touchevent-interface + * @param {string} type + * @param {!TouchEventInit=} opt_eventInitDict + * @extends {UIEvent} + * @constructor + + * A collection of Touch objects representing all touches associated with this + * target. + * @type {TouchList} + + * A collection of Touch objects representing all touches that changed in this event. + * @type {TouchList} + + * Specifies the JavaScript method to invoke when the system cancels tracking + * for the touch. + * @type {?function(!TouchEvent)} + + * Specifies the JavaScript method to invoke when a given event lifts from the + * surface. + * @type {?function(!TouchEvent)} + + * Specifies the JavaScript method to invoke when a finger for a given event + * moves on the surface. + * @type {?function(!TouchEvent)} + + * Specifies the JavaScript method to invoke when a finger for a given event + * touches the surface. + * @type {?function(!TouchEvent)} + TouchInitDicttouchInitDictforcerotationAnglecreateTouchidentifiedTouchcreateTouchListTouchEventInitontouchcancelontouchendontouchmoveontouchstartDefinitions for W3C's Touch Events specification. +http://www.w3.org/TR/touch-events/ +{identifier: number, target: !EventTarget, clientX: (number|undefined), clientY: (number|undefined), screenX: (number|undefined), screenY: (number|undefined), pageX: (number|undefined), pageY: (number|undefined), radiusX: (number|undefined), radiusY: (number|undefined), rotationAngle: (number|undefined), force: (number|undefined)}The Touch class represents a single touch on the surface. A touch is the +presence or movement of a finger that is part of a unique multi-touch +sequence.http://www.w3.org/TR/touch-events/#touch-interface +!TouchInitDictThe x-coordinate of the touch's location relative to the window's viewport.The y-coordinate of the touch's location relative to the window's viewport.The unique identifier for this touch object.The x-coordinate of the touch's location in page coordinates.The y-coordinate of the touch's location in page coordinates.The x-coordinate of the touch's location in screen coordinates.The y-coordinate of the touch's location in screen coordinates.The target of this touch.http://www.w3.org/TR/touch-events-extensions/#widl-Touch-forcehttp://www.w3.org/TR/touch-events-extensions/#widl-Touch-radiusXhttp://www.w3.org/TR/touch-events-extensions/#widl-Touch-radiusYhttp://www.w3.org/TR/2011/WD-touch-events-20110505/#widl-Touch-rotationAngleCreates a new Touch object.http://www.w3.org/TR/touch-events/#widl-Document-createTouch-Touch-WindowProxy-view-EventTarget-target-long-identifier-long-pageX-long-pageY-long-screenX-long-screenY +The TouchList class is used to represent a collection of Touch objects.http://www.w3.org/TR/touch-events/#touchlist-interface +IArrayLike.!TouchThe number of Touch objects in this TouchList object.Returns the Touch object at the given index.?Touchhttp://www.w3.org/TR/touch-events-extensions/#widl-TouchList-identifiedTouch-Touch-long-identifierCreates a new TouchList object.http://www.w3.org/TR/touch-events/#widl-Document-createTouchList-TouchList-Touch-touches +Array.(undefined|!Array.)!Array.The TouchEvent class encapsulates information about a touch event. + +

The system continually sends TouchEvent objects to an application as +fingers touch and move across a surface. A touch event provides a snapshot of +all touches during a multi-touch sequence, most importantly the touches that +are new or have changed for a particular target. A multi-touch sequence +begins when a finger first touches the surface. Other fingers may +subsequently touch the surface, and all fingers may move across the surface. +The sequence ends when the last of these fingers is lifted from the surface. +An application receives touch event objects during each phase of any touch. +

+ +

The different types of TouchEvent objects that can occur are: +

    +
  • touchstart - Sent when a finger for a given event touches the surface. +
  • touchmove - Sent when a given event moves on the surface. +
  • touchend - Sent when a given event lifts from the surface. +
  • touchcancel - Sent when the system cancels tracking for the touch. +
+TouchEvent objects are combined together to form high-level GestureEvent +objects that are also sent during a multi-touch sequence.

http://www.w3.org/TR/touch-events/#touchevent-interface +!TouchEventInit=!TouchEventInitA collection of Touch objects representing all touches associated with this +target.A collection of Touch objects representing all touches that changed in this event.Specifies the JavaScript method to invoke when the system cancels tracking +for the touch.?function (!TouchEvent)function (!TouchEvent)!TouchEventSpecifies the JavaScript method to invoke when a given event lifts from the +surface.Specifies the JavaScript method to invoke when a finger for a given event +moves on the surface.Specifies the JavaScript method to invoke when a finger for a given event +touches the surface.var TouchInitDict;Touch.p ... lientX;Touch.p ... clientXTouch.p ... lientY;Touch.p ... clientYTouch.p ... tifier;Touch.p ... ntifierTouch.p ... .pageX;Touch.p ... e.pageXTouch.p ... .pageY;Touch.p ... e.pageYTouch.p ... creenX;Touch.p ... screenXTouch.p ... creenY;Touch.p ... screenYTouch.p ... target;Touch.p ... .targetTouch.p ... .force;Touch.p ... e.forceTouch.p ... radiusXTouch.p ... radiusYTouch.p ... nAngle;Touch.p ... onAngleDocumen ... nY) {};Documen ... enY) {}Documen ... teTouchfunctio ... enY) {}TouchLi ... length;TouchLi ... .lengthTouchList.prototypeTouchLi ... ex) {};TouchLi ... dex) {}TouchLi ... pe.itemTouchLi ... er) {};TouchLi ... ier) {}TouchLi ... edTouchfunctio ... ier) {}Documen ... es) {};Documen ... hes) {}Documen ... uchListfunction(touches) {}TouchEv ... Target;TouchEv ... dTargetTouchEv ... ototypeTouchEv ... ouches;TouchEv ... touchesTouchEv ... TouchesTouchEv ... altKey;TouchEv ... .altKeyTouchEv ... etaKey;TouchEv ... metaKeyTouchEv ... trlKey;TouchEv ... ctrlKeyTouchEv ... iftKey;TouchEv ... hiftKeyElement ... cancel;Element ... hcancelElement ... uchend;Element ... ouchendElement ... chmove;Element ... uchmoveElement ... hstart;Element ... chstart/opt/codeql/javascript/tools/data/externs/web/w3c_webcrypto.js + * @fileoverview Definitions for W3C's Web Cryptography specification + * http://www.w3.org/TR/webCryptoAPI + * @externs + * @author chrismoon@google.com (Chris Moon) + * This file was created using the best practices as described in: + * chrome_extensions.js + /**\n * ... .js\n */ + * @const + * @see http://www.w3.org/TR/webCryptoAPI + + * @typedef {?{ + * name: string + * }} + * @see http://www.w3.org/TR/WebCryptoAPI/#algorithm-dictionary + + * @typedef {string|!webCrypto.Algorithm} + * @see http://www.w3.org/TR/WebCryptoAPI/#dfn-AlgorithmIdentifier + + * @constructor + * @see http://www.w3.org/TR/webCryptoAPI/#dfn-CryptoKey + /**\n * ... Key\n */ + * @type {string} An enumerated value representing the type of the key, a secret + * key (for symmetric algorithm), a public or a private key + * (for an asymmetric algorithm). + /**\n * ... m).\n */ + * @type {boolean} Determines whether or not the raw keying material may be + * exported by the application. + /**\n * ... on.\n */ + * @type {!Object} An opaque object representing a particular cipher the key + * has to be used with. + /**\n * ... th.\n */ + * @type {!Object} Returns the cached ECMAScript object associated with the + * usages internal slot, which indicates which cryptographic operations are + * permissible to be used with this key. + /**\n * ... ey.\n */ + * @typedef {?{ + * name: string + * }} + * @see http://www.w3.org/TR/WebCryptoAPI/#key-algorithm-dictionary-members + + * @constructor + * @see http://www.w3.org/TR/WebCryptoAPI/#dfn-JsonWebKey + * @see Section 3.1: + * https://tools.ietf.org/html/draft-ietf-jose-json-web-key-41 + /**\n * ... -41\n */ + * @type {string} Identifies the cryptographic algorithm family used with + * the key, such as "RSA" or "EC". + /**\n * ... C".\n */ + * @type {string} Identifies the intended use of the public key. + + * @type {!Array} Identifies the operation(s) that the key is + * intended to be used for. + /**\n * ... or.\n */ + * @type {string} Identifies the algorithm intended for use with the key. + + * @type {boolean} Boolean to be used with kty values. + + * @type {string} Identifies the cryptographic curve used with the key. + + * @type {string} Contains the x coordinate for the elliptic curve point. + + * @type {string} Contains the y coordinate for the elliptic curve point. + + * @type {string} Contains the Elliptic Curve private key value. + + * @type {string} Contains the modulus value for the RSA public key. + + * @type {string} Contains the exponent value for the RSA public key. + + * @type {string} Contains the first prime factor. + + * @type {string} Contains the second prime factor. + + * @type {string} Contains the Chinese Remainder Theorem (CRT) exponent of + * the first factor. + + * @type {string} Contains the Chinese Remainder Theorem (CRT) exponent of + * the second factor. + + * @type {string} Contains the Chinese Remainder Theorem (CRT) coefficient + * of the second factor. + + * @type {!Array} Contains an array of + * information about any third and subsequent primes, should they exist. + /**\n * ... st.\n */ + * @type {string} Contains the value of the symmetric (or other + * single-valued) key. + + * @constructor + * @see http://www.w3.org/TR/WebCryptoAPI/#dfn-RsaOtherPrimesInfo + * @see Section-6.3.2.7: + * https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40 + /**\n * ... -40\n */ + * @type {string} Parameter within an "oth" array member represents the value + * of a subsequent prime factor. + + * @type {string} Parameter within an "oth" array member represents the CRT + * exponent of the corresponding prime factor. + + * @type {string} Parameter within an "oth" array member represents the CRT + * coefficient of the corresponding prime factor. + + * @constructor + * @see http://www.w3.org/TR/WebCryptoAPI/#subtlecrypto-interface + + * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported + * values are: AES-CBC, AES-CTR, AES-GCM, and RSA-OAEP. + * @param {!webCrypto.CryptoKey} key Key to be used for signing. + * @param {!BufferSource} data Data to be encrypted (cleartext). + * @return {!Promise<*>} Ciphertext generated by the encryption of the + * cleartext. + /**\n * ... xt.\n */ + * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported + * values are: AES-CBC, AES-CTR, AES-GCM, and RSA-OAEP. + * @param {!webCrypto.CryptoKey} key Key to be used for signing. + * @param {!BufferSource} data Data to be decrypted (ciphertext). + * @return {!Promise<*>} Cleartext generated by the decryption of the + * ciphertext. + + * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported + * values are: HMAC, RSASSA-PKCS1-v1_5, and ECDSA. + * @param {!webCrypto.CryptoKey} key Private key to be used for signing. + * @param {!BufferSource} data Data to be signed. + * @return {!Promise<*>} Returns the signature on success. + /**\n * ... ss.\n */ + * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported + * values are: HMAC, RSASSA-PKCS1-v1_5, and ECDSA. + * @param {!webCrypto.CryptoKey} key Private key to be used for signing. + * @param {!BufferSource} signature Signature to verify. + * @param {!BufferSource} data Data whose signature needs to be verified. + * @return {!Promise<*>} Returns a boolean indicating if the signature operating + * has been successful. + /**\n * ... ul.\n */ + * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported + * values are: SHA-1, SHA-256, SHA-384, and SHA-512. + * @param {!BufferSource} data Data to be hashed using the hashing algorithm. + * @return {!Promise<*>} returns the hash on success. + + * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported + * values are: SHA-1, SHA-256, SHA-384, and SHA-512. + * @param {boolean} extractable If the key can be extracted from the CryptoKey + * object at a later stage. + * @param {!Array} keyUsages Indication of new key options i.e. + * encrypt, decrypt, sign, verify, deriveKey, deriveBits, wrapKey, + * unwrapKey. + * @return {!Promise<*>} returns the generated key as a CryptoKey or a + * CryptoKeyPair. + /**\n * ... ir.\n */ + * @param {!webCrypto.AlgorithmIdentifier} algorithm The key derivation + * algorithm to use. Supported values are: ECDH, DH, PBKDF2, and HKDF-CTR. + * @param {!webCrypto.CryptoKey} baseKey Key to be used by the key + * derivation algorithm. + * @param {!webCrypto.AlgorithmIdentifier} derivedKeyAlgo Defines the key + * derivation algorithm to use. + * @param {boolean} extractable Indicates if the key can be extracted from the + * CryptoKey object at a later stage. + * @param {!Array} keyUsages Indicates what can be done with the + * derivated key. + * @return {!Promise<*>} returns the generated key as a CryptoKey or a + * CryptoKeyPair. + + * @param {!webCrypto.AlgorithmIdentifier} algorithm The key derivation + * algorithm to use. + * @param {!webCrypto.CryptoKey} baseKey Key to be used by the key + * derivation algorithm. + * @param {number} length + * @return {!Promise<*>} returns the generated key as a CryptoKey or a + * CryptoKeyPair. + + * @param {string} format Enumerated value describing the data + * format of the key to imported. + * @param {!BufferSource|!webCrypto.JsonWebKey} keyData The key + * in the given format. + * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported values + * are: AES-CTR, AES-CBC, AES-GCM, RSA-OAEP, AES-KW, HMAC, + * RSASSA-PKCS1-v1_5, ECDSA, ECDH, DH. + * @param {boolean} extractable If the key can be extracted from the CryptoKey + * object at a later stage. + * @param {!Array} keyUsages Indication of new key options i.e. + * encrypt, decrypt, sign, verify, deriveKey, deriveBits, wrapKey, + * unwrapKey. + * @return {!Promise<*>} returns the generated key as a CryptoKey. + + * @param {string} format Enumerated value describing the data + * format of the key to imported. + * @param {!webCrypto.CryptoKey} key CryptoKey to export. + * @return {!Promise<*>} returns the key in the requested format. + /**\n * ... at.\n */ + * @param {string} format Value describing the data format in which the key must + * be wrapped. It can be one of the following: raw, pkcs8, spki, jwk. + * @param {!webCrypto.CryptoKey} key CryptoKey to wrap. + * @param {!webCrypto.CryptoKey} wrappingKey CryptoKey used to perform + * the wrapping. + * @param {!webCrypto.AlgorithmIdentifier} wrapAlgorithm algorithm used + * to perform the wrapping. It is one of the following: AES-CBC, AES-CTR, + * AES-GCM, RSA-OAEP, and AES-KW. + * @return {!Promise<*>} returns the wrapped key in the requested format. + + * @param {string} format Value describing the data format in which the key must + * be wrapped. It can be one of the following: raw, pkcs8, spki, jwk. + * @param {!BufferSource} wrappedKey Contains the wrapped key in the given + * format. + * @param {!webCrypto.CryptoKey} unwrappingKey CryptoKey used to perform + * the unwrapping. + * @param {!webCrypto.AlgorithmIdentifier} unwrapAlgorithm Algorithm + * used to perform the unwrapping. It is one of the following: AES-CBC, + * AES-CTR, AES-GCM, RSA-OAEP, and AES-KW. + * @param {!webCrypto.AlgorithmIdentifier} unwrappedKeyAlgorithm + * Represents the algorithm of the wrapped key. + * @param {boolean} extractable Indicates if the key can be extracted from the + * CryptoKey object at a later stage. + * @param {!Array} keyUsages Indicates what can be done with the + * derivated key. + * @return {!Promise<*>} returns the unwrapped key as a CryptoKey. + + * Web Cryptography API + * @see http://www.w3.org/TR/WebCryptoAPI/ + /**\n * ... PI/\n */ + * @see https://developer.mozilla.org/en/DOM/window.crypto.getRandomValues + * @param {!ArrayBufferView} typedArray + * @return {!ArrayBufferView} + * @throws {Error} + + * @type {webCrypto.SubtleCrypto} + * @see http://www.w3.org/TR/WebCryptoAPI/#Crypto-attribute-subtle + webCryptoAlgorithmAlgorithmIdentifierCryptoKeyextractableusagesKeyAlgorithmJsonWebKeyktykey_opsalgcrvdpdqothRsaOtherPrimesInfoSubtleCryptogenerateKeykeyUsagesderiveKeybaseKeyderivedKeyAlgokeyDataexportKeywrapKeywrappingKeywrapAlgorithmunwrapKeywrappedKeyunwrappingKeyunwrapAlgorithmunwrappedKeyAlgorithmtypedArrayDefinitions for W3C's Web Cryptography specification +http://www.w3.org/TR/webCryptoAPI +chrismoon@google.com (Chris Moon) +This file was created using the best practices as described in: +chrome_extensions.jshttp://www.w3.org/TR/webCryptoAPI?{name: string}{name: string}http://www.w3.org/TR/WebCryptoAPI/#algorithm-dictionary(string|!webCrypto.Algorithm)!webCrypto.AlgorithmwebCrypto.Algorithmhttp://www.w3.org/TR/WebCryptoAPI/#dfn-AlgorithmIdentifierhttp://www.w3.org/TR/webCryptoAPI/#dfn-CryptoKeyAn enumerated value representing the type of the key, a secret +key (for symmetric algorithm), a public or a private key +(for an asymmetric algorithm).Determines whether or not the raw keying material may be +exported by the application.An opaque object representing a particular cipher the key +has to be used with.Returns the cached ECMAScript object associated with the +usages internal slot, which indicates which cryptographic operations are +permissible to be used with this key.http://www.w3.org/TR/WebCryptoAPI/#key-algorithm-dictionary-membershttp://www.w3.org/TR/WebCryptoAPI/#dfn-JsonWebKey +Section 3.1: +https://tools.ietf.org/html/draft-ietf-jose-json-web-key-41Identifies the cryptographic algorithm family used with +the key, such as "RSA" or "EC".Identifies the intended use of the public key.Identifies the operation(s) that the key is +intended to be used for.Identifies the algorithm intended for use with the key.Boolean to be used with kty values.Identifies the cryptographic curve used with the key.Contains the x coordinate for the elliptic curve point.Contains the y coordinate for the elliptic curve point.Contains the Elliptic Curve private key value.Contains the modulus value for the RSA public key.Contains the exponent value for the RSA public key.Contains the first prime factor.Contains the second prime factor.Contains the Chinese Remainder Theorem (CRT) exponent of +the first factor.Contains the Chinese Remainder Theorem (CRT) exponent of +the second factor.Contains the Chinese Remainder Theorem (CRT) coefficient +of the second factor.Contains an array of +information about any third and subsequent primes, should they exist.!Array.Array.!webCrypto.RsaOtherPrimesInfowebCrypto.RsaOtherPrimesInfoContains the value of the symmetric (or other +single-valued) key.http://www.w3.org/TR/WebCryptoAPI/#dfn-RsaOtherPrimesInfo +Section-6.3.2.7: +https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40Parameter within an "oth" array member represents the value +of a subsequent prime factor.Parameter within an "oth" array member represents the CRT +exponent of the corresponding prime factor.Parameter within an "oth" array member represents the CRT +coefficient of the corresponding prime factor.http://www.w3.org/TR/WebCryptoAPI/#subtlecrypto-interfaceSupported +values are: AES-CBC, AES-CTR, AES-GCM, and RSA-OAEP. +!webCrypto.AlgorithmIdentifierwebCrypto.AlgorithmIdentifierKey to be used for signing. +!webCrypto.CryptoKeywebCrypto.CryptoKeyData to be encrypted (cleartext). +Ciphertext generated by the encryption of the +cleartext.Data to be decrypted (ciphertext). +Cleartext generated by the decryption of the +ciphertext.Supported +values are: HMAC, RSASSA-PKCS1-v1_5, and ECDSA. +Private key to be used for signing. +Data to be signed. +Returns the signature on success.Signature to verify. +Data whose signature needs to be verified. +Returns a boolean indicating if the signature operating +has been successful.Supported +values are: SHA-1, SHA-256, SHA-384, and SHA-512. +Data to be hashed using the hashing algorithm. +returns the hash on success.If the key can be extracted from the CryptoKey +object at a later stage. +Indication of new key options i.e. +encrypt, decrypt, sign, verify, deriveKey, deriveBits, wrapKey, +unwrapKey. +returns the generated key as a CryptoKey or a +CryptoKeyPair.The key derivation +algorithm to use. Supported values are: ECDH, DH, PBKDF2, and HKDF-CTR. +Key to be used by the key +derivation algorithm. +Defines the key +derivation algorithm to use. +Indicates if the key can be extracted from the +CryptoKey object at a later stage. +Indicates what can be done with the +derivated key. +The key derivation +algorithm to use. +Enumerated value describing the data +format of the key to imported. +The key +in the given format. +(!BufferSource|!webCrypto.JsonWebKey)!webCrypto.JsonWebKeywebCrypto.JsonWebKeySupported values +are: AES-CTR, AES-CBC, AES-GCM, RSA-OAEP, AES-KW, HMAC, +RSASSA-PKCS1-v1_5, ECDSA, ECDH, DH. +returns the generated key as a CryptoKey.CryptoKey to export. +returns the key in the requested format.Value describing the data format in which the key must +be wrapped. It can be one of the following: raw, pkcs8, spki, jwk. +CryptoKey to wrap. +CryptoKey used to perform +the wrapping. +algorithm used +to perform the wrapping. It is one of the following: AES-CBC, AES-CTR, +AES-GCM, RSA-OAEP, and AES-KW. +returns the wrapped key in the requested format.Contains the wrapped key in the given +format. +CryptoKey used to perform +the unwrapping. +Algorithm +used to perform the unwrapping. It is one of the following: AES-CBC, +AES-CTR, AES-GCM, RSA-OAEP, and AES-KW. +Represents the algorithm of the wrapped key. +returns the unwrapped key as a CryptoKey.Web Cryptography APIhttp://www.w3.org/TR/WebCryptoAPI/https://developer.mozilla.org/en/DOM/window.crypto.getRandomValues +webCrypto.SubtleCryptohttp://www.w3.org/TR/WebCryptoAPI/#Crypto-attribute-subtlevar webCrypto = {};webCrypto = {}webCrypto.Algorithm;webCryp ... tifier;webCryp ... ntifierwebCryp ... n() {};webCryp ... on() {}webCryp ... e.type;webCryp ... pe.typewebCryp ... ototypewebCryp ... ctable;webCryp ... actablewebCryp ... orithm;webCryp ... gorithmwebCryp ... usages;webCryp ... .usageswebCryp ... pe.kty;webCryp ... ype.ktywebCryp ... pe.use;webCryp ... ype.usewebCryp ... ey_ops;webCryp ... key_opswebCryp ... pe.alg;webCryp ... ype.algwebCryp ... pe.ext;webCryp ... ype.extwebCryp ... pe.crv;webCryp ... ype.crvwebCryp ... type.x;webCryp ... otype.xwebCryp ... type.y;webCryp ... otype.ywebCryp ... type.d;webCryp ... otype.dwebCryp ... type.n;webCryp ... otype.nwebCryp ... type.e;webCryp ... otype.ewebCryp ... type.p;webCryp ... otype.pwebCryp ... type.q;webCryp ... otype.qwebCryp ... ype.dp;webCryp ... type.dpwebCryp ... ype.dq;webCryp ... type.dqwebCryp ... ype.qi;webCryp ... type.qiwebCryp ... pe.oth;webCryp ... ype.othwebCryp ... type.k;webCryp ... otype.kwebCryp ... mesInfowebCryp ... type.r;webCryp ... otype.rwebCryp ... type.t;webCryp ... otype.twebCryp ... eCryptowebCryp ... ta) {};webCryp ... ata) {}webCryp ... encryptwebCryp ... decryptwebCryp ... pe.signwebCryp ... .verifywebCryp ... .digestwebCryp ... es) {};webCryp ... ges) {}webCryp ... rateKeyfunctio ... ges) {}webCryp ... riveKeywebCryp ... th) {};webCryp ... gth) {}webCryp ... iveBitswebCryp ... portKeywebCryp ... ey) {};webCryp ... key) {}webCryp ... hm) {};webCryp ... thm) {}webCryp ... wrapKeyunwrapp ... gorithmWindow. ... ay) {};Window. ... ray) {}Window. ... mValuesfunctio ... ray) {}Window. ... subtle;Window. ... .subtle/opt/codeql/javascript/tools/data/externs/web/w3c_xml.js + * @fileoverview Definitions for W3C's XML related specifications. + * This file depends on w3c_dom2.js. + * The whole file has been fully type annotated. + * + * Provides the XML standards from W3C. + * Includes: + * XPath - Fully type annotated + * XMLHttpRequest - Fully type annotated + * + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html + * @see http://www.w3.org/TR/XMLHttpRequest/ + * @see http://www.w3.org/TR/XMLHttpRequest2/ + * + * @externs + * @author stevey@google.com (Steve Yegge) + + * @constructor + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathException + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#INVALID_EXPRESSION_ERR + /**\n * ... ERR\n */ + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#TYPE_ERR + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html# + /**\n * ... ml#\n */ + * @constructor + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator + + * @param {string} expr + * @param {?XPathNSResolver=} opt_resolver + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-createExpression + * @throws XPathException + * @throws DOMException + * @return {undefined} + + * @param {Node} nodeResolver + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-createNSResolver + * @return {undefined} + + * @param {string} expr + * @param {Node} contextNode + * @param {?XPathNSResolver=} opt_resolver + * @param {?number=} opt_type + * @param {*=} opt_result + * @return {XPathResult} + * @throws XPathException + * @throws DOMException + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-evaluate + + * @constructor + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathExpression + + * @param {Node} contextNode + * @param {number=} opt_type + * @param {*=} opt_result + * @return {*} + * @throws XPathException + * @throws DOMException + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathExpression-evaluate + + * @constructor + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNSResolver + /**\n * ... ver\n */ + * @param {string} prefix + * @return {?string} + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNSResolver-lookupNamespaceURI + + * From http://www.w3.org/TR/xpath + * + * XPath is a language for addressing parts of an XML document, designed to be + * used by both XSLT and XPointer. + * + * @noalias + * @constructor + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult + /**\n * ... ult\n */ + * @type {boolean} {@see XPathException.TYPE_ERR} + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-booleanValue + + * @type {boolean} {@see XPathException.TYPE_ERR} + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-invalid-iterator-state + + * @type {number} + * @throws XPathException {@see XPathException.TYPE_ERR} + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-numberValue + + * @type {number} + * @throws XPathException {@see XPathException.TYPE_ERR} + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-resultType + + * @type {Node} + * @throws XPathException {@see XPathException.TYPE_ERR} + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-singleNodeValue + + * @type {number} + * @throws XPathException {@see XPathException.TYPE_ERR} + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-snapshot-length + + * @type {string} + * @throws XPathException {@see XPathException.TYPE_ERR} + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-stringValue + + * @return {Node} + * @throws XPathException {@see XPathException.TYPE_ERR} + * @throws DOMException {@see DOMException.INVALID_STATE_ERR} + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-iterateNext + + * @param {number} index + * @return {Node} + * @throws XPathException + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-snapshotItem + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ANY-TYPE + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-NUMBER-TYPE + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-STRING-TYPE + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-BOOLEAN-TYPE + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-UNORDERED-NODE-ITERATOR-TYPE + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ORDERED-NODE-ITERATOR-TYPE + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-UNORDERED-NODE-SNAPSHOT-TYPE + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ORDERED-NODE-SNAPSHOT-TYPE + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ANY-UNORDERED-NODE-TYPE + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-FIRST-ORDERED-NODE-TYPE + + * @constructor + * @extends {Node} + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNamespace + + * @type {Element} + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNamespace-ownerElement + + * @type {number} + * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPATH_NAMESPACE_NODE + /**\n * ... ODE\n */ + * From http://www.w3.org/TR/XMLHttpRequest/ + * + * (Draft) + * + * The XMLHttpRequest Object specification defines an API that provides + * scripted client functionality for transferring data between a client and a + * server. + * + * @constructor + * @implements {EventTarget} + * @see http://www.w3.org/TR/XMLHttpRequest/#xmlhttprequest-object + + * @param {string} method + * @param {string} url + * @param {?boolean=} opt_async + * @param {?string=} opt_user + * @param {?string=} opt_password + * @return {undefined} + * @see http://www.w3.org/TR/XMLHttpRequest/#the-open()-method + + * @param {string} header + * @param {string} value + * @return {undefined} + * @see http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader()-method + + * @param {ArrayBuffer|ArrayBufferView|Blob|Document|FormData|string=} opt_data + * @return {undefined} + * @see http://www.w3.org/TR/XMLHttpRequest/#the-send()-method + + * @return {undefined} + * @see http://www.w3.org/TR/XMLHttpRequest/#the-abort()-method + + * @return {string} + * @see http://www.w3.org/TR/XMLHttpRequest/#the-getallresponseheaders()-method + + * @param {string} header + * @return {string} + * @see http://www.w3.org/TR/XMLHttpRequest/#the-getresponseheader()-method + + * @type {string} + * @see http://www.w3.org/TR/XMLHttpRequest/#the-responsetext-attribute + + * This is not supported in any IE browser (as of August 2016). + * @type {string} + * @see https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURL + /**\n * ... URL\n */ + * @type {Document} + * @see http://www.w3.org/TR/XMLHttpRequest/#the-responsexml-attribute + + * @type {number} + * @see http://www.w3.org/TR/XMLHttpRequest/#the-readystate-attribute + + * @type {number} + * @see http://www.w3.org/TR/XMLHttpRequest/#the-status-attribute + + * @type {string} + * @see http://www.w3.org/TR/XMLHttpRequest/#the-statustext-attribute + + * @type {Function} + * @see http://www.w3.org/TR/XMLHttpRequest/#handler-xhr-onreadystatechange + + * @type {Function} + * @see http://www.w3.org/TR/XMLHttpRequest/#handler-xhr-onerror + + * @type {number} + * @see https://www.w3.org/TR/XMLHttpRequest/#states + + * The FormData object represents an ordered collection of entries. Each entry + * has a name and value. + * + * @param {?Element=} opt_form An optional form to use for constructing the form + * data set. + * @constructor + * @see http://www.w3.org/TR/XMLHttpRequest2/#the-formdata-interface + + * @param {string} name + * @param {Blob|string} value + * @param {string=} opt_filename + * @return {undefined} + XPathExceptionINVALID_EXPRESSION_ERRTYPE_ERRXPathEvaluatorcreateExpressionopt_resolvernodeResolvercontextNodeopt_resultXPathExpressionXPathNSResolverXPathResultbooleanValueinvalidInteratorStatenumberValueresultTypesingleNodeValuesnapshotLengthiterateNextsnapshotItemANY_TYPENUMBER_TYPESTRING_TYPEBOOLEAN_TYPEUNORDERED_NODE_ITERATOR_TYPEORDERED_NODE_ITERATOR_TYPEUNORDERED_NODE_SNAPSHOT_TYPEORDERED_NODE_SNAPSHOT_TYPEANY_UNORDERED_NODE_TYPEFIRST_ORDERED_NODE_TYPEXPathNamespaceopt_asyncopt_useropt_passwordgetResponseHeaderresponseURLresponseXMLUNSENTOPENEDHEADERS_RECEIVEDopt_filenameDefinitions for W3C's XML related specifications. +This file depends on w3c_dom2.js. +The whole file has been fully type annotated. +* Provides the XML standards from W3C. +Includes: +XPath - Fully type annotated +XMLHttpRequest - Fully type annotated +*http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html +http://www.w3.org/TR/XMLHttpRequest/ +http://www.w3.org/TR/XMLHttpRequest2/ +*http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathExceptionhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#INVALID_EXPRESSION_ERRhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#TYPE_ERRhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator?XPathNSResolver=?XPathNSResolverhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-createExpression +XPathException +DOMException +http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-createNSResolver +?number=http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-evaluatehttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathExpressionhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathExpression-evaluatehttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNSResolverhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNSResolver-lookupNamespaceURIFrom http://www.w3.org/TR/xpath + +XPath is a language for addressing parts of an XML document, designed to be +used by both XSLT and XPointer.http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult{@see XPathException.TYPE_ERR} +http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-booleanValuehttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-invalid-iterator-stateXPathException {@see XPathException.TYPE_ERR} +http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-numberValuehttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-resultTypehttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-singleNodeValuehttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-snapshot-lengthhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-stringValueDOMException {@see DOMException.INVALID_STATE_ERR} +http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-iterateNexthttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-snapshotItemhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ANY-TYPEhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-NUMBER-TYPEhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-STRING-TYPEhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-BOOLEAN-TYPEhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-UNORDERED-NODE-ITERATOR-TYPEhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ORDERED-NODE-ITERATOR-TYPEhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-UNORDERED-NODE-SNAPSHOT-TYPEhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ORDERED-NODE-SNAPSHOT-TYPEhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ANY-UNORDERED-NODE-TYPEhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-FIRST-ORDERED-NODE-TYPEhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNamespacehttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNamespace-ownerElementhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPATH_NAMESPACE_NODEFrom http://www.w3.org/TR/XMLHttpRequest/ + +(Draft) + +The XMLHttpRequest Object specification defines an API that provides +scripted client functionality for transferring data between a client and a +server.http://www.w3.org/TR/XMLHttpRequest/#xmlhttprequest-objecthttp://www.w3.org/TR/XMLHttpRequest/#the-open()-methodhttp://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader()-method(ArrayBuffer|ArrayBufferView|Blob|Document|FormData|string)=(ArrayBuffer|ArrayBufferView|Blob|Document|FormData|string)http://www.w3.org/TR/XMLHttpRequest/#the-send()-methodhttp://www.w3.org/TR/XMLHttpRequest/#the-abort()-methodhttp://www.w3.org/TR/XMLHttpRequest/#the-getallresponseheaders()-methodhttp://www.w3.org/TR/XMLHttpRequest/#the-getresponseheader()-methodhttp://www.w3.org/TR/XMLHttpRequest/#the-responsetext-attributeThis is not supported in any IE browser (as of August 2016).https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURLhttp://www.w3.org/TR/XMLHttpRequest/#the-responsexml-attributehttp://www.w3.org/TR/XMLHttpRequest/#the-readystate-attributehttp://www.w3.org/TR/XMLHttpRequest/#the-status-attributehttp://www.w3.org/TR/XMLHttpRequest/#the-statustext-attributehttp://www.w3.org/TR/XMLHttpRequest/#handler-xhr-onreadystatechangehttp://www.w3.org/TR/XMLHttpRequest/#handler-xhr-onerrorhttps://www.w3.org/TR/XMLHttpRequest/#statesThe FormData object represents an ordered collection of entries. Each entry +has a name and value.An optional form to use for constructing the form +data set. +?Element=http://www.w3.org/TR/XMLHttpRequest2/#the-formdata-interface(Blob|string)XPathEx ... R = 52;XPathEx ... RR = 52XPathEx ... ION_ERRXPathEx ... YPE_ERRXPathEx ... e.code;XPathEx ... pe.codeXPathEx ... ototypeXPathEv ... er) {};XPathEv ... ver) {}XPathEv ... ressionXPathEv ... ototypeXPathEv ... esolverXPathEv ... lt) {};XPathEv ... ult) {}XPathEv ... valuatefunctio ... ult) {}XPathEx ... lt) {};XPathEx ... ult) {}XPathEx ... valuateXPathNS ... ix) {};XPathNS ... fix) {}XPathNS ... paceURIXPathNS ... ototypeXPathRe ... nValue;XPathRe ... anValueXPathRe ... ototypeXPathRe ... rState;XPathRe ... orStateinvalid ... orStateXPathRe ... rValue;XPathRe ... erValueXPathRe ... ltType;XPathRe ... ultTypeXPathRe ... eValue;XPathRe ... deValueXPathRe ... Length;XPathRe ... tLengthXPathRe ... gValue;XPathRe ... ngValueXPathRe ... n() {};XPathRe ... on() {}XPathRe ... ateNextXPathRe ... ex) {};XPathRe ... dex) {}XPathRe ... hotItemXPathRe ... PE = 0;XPathRe ... YPE = 0XPathResult.ANY_TYPEXPathRe ... PE = 1;XPathRe ... YPE = 1XPathRe ... ER_TYPEXPathRe ... PE = 2;XPathRe ... YPE = 2XPathRe ... NG_TYPEXPathRe ... PE = 3;XPathRe ... YPE = 3XPathRe ... AN_TYPEXPathRe ... PE = 4;XPathRe ... YPE = 4XPathRe ... OR_TYPEUNORDER ... OR_TYPEXPathRe ... PE = 5;XPathRe ... YPE = 5ORDERED ... OR_TYPEXPathRe ... PE = 6;XPathRe ... YPE = 6XPathRe ... OT_TYPEUNORDER ... OT_TYPEXPathRe ... PE = 7;XPathRe ... YPE = 7ORDERED ... OT_TYPEXPathRe ... PE = 8;XPathRe ... YPE = 8XPathRe ... DE_TYPEANY_UNO ... DE_TYPEXPathRe ... PE = 9;XPathRe ... YPE = 9FIRST_O ... DE_TYPEXPathNa ... lement;XPathNa ... ElementXPathNa ... ototypeXPathNa ... E = 13;XPathNa ... DE = 13XPathNa ... CE_NODEXMLHttp ... rd) {};XMLHttp ... ord) {}XMLHttp ... pe.openXMLHttp ... ue) {};XMLHttp ... lue) {}XMLHttp ... tHeaderXMLHttp ... ta) {};XMLHttp ... ata) {}XMLHttp ... pe.sendXMLHttp ... n() {};XMLHttp ... on() {}XMLHttp ... e.abortXMLHttp ... HeadersXMLHttp ... er) {};XMLHttp ... der) {}XMLHttp ... eHeaderfunction(header) {}XMLHttp ... seText;XMLHttp ... nseTextXMLHttp ... nseURL;XMLHttp ... onseURLXMLHttp ... nseXML;XMLHttp ... onseXMLXMLHttp ... yState;XMLHttp ... dyStateXMLHttp ... status;XMLHttp ... .statusXMLHttp ... usText;XMLHttp ... tusTextXMLHttp ... change;XMLHttp ... echangeXMLHttp ... nerror;XMLHttp ... onerrorXMLHttp ... UNSENT;XMLHttp ... .UNSENTXMLHttp ... OPENED;XMLHttp ... .OPENEDXMLHttp ... CEIVED;XMLHttp ... ECEIVEDXMLHttp ... OADING;XMLHttp ... LOADINGXMLHttpRequest.DONE;XMLHttpRequest.DONEFormDat ... me) {};FormDat ... ame) {}FormDat ... .appendFormData.prototype/opt/codeql/javascript/tools/data/externs/web/webgl.js + * @fileoverview Definitions for WebGL functions as described at + * http://www.khronos.org/registry/webgl/specs/latest/ + * + * This file is current up to the WebGL 1.0.1 spec, including extensions. + * + * This relies on html5.js being included for Canvas and Typed Array support. + * + * This includes some extensions defined at + * http://www.khronos.org/registry/webgl/extensions/ + * + * @externs + + * @type {!HTMLCanvasElement} + + * @return {!WebGLContextAttributes} + * @nosideeffects + + * @return {!Array} + * @nosideeffects + + * Note that this has side effects by enabling the extension even if the + * result is not used. + * @param {string} name + * @return {Object} + + * @param {number} texture + * @return {undefined} + + * @param {WebGLProgram} program + * @param {WebGLShader} shader + * @return {undefined} + + * @param {WebGLProgram} program + * @param {number} index + * @param {string} name + * @return {undefined} + + * @param {number} target + * @param {WebGLBuffer} buffer + * @return {undefined} + + * @param {number} target + * @param {WebGLFramebuffer} buffer + * @return {undefined} + + * @param {number} target + * @param {WebGLRenderbuffer} buffer + * @return {undefined} + + * @param {number} target + * @param {WebGLTexture} texture + * @return {undefined} + + * @param {number} red + * @param {number} green + * @param {number} blue + * @param {number} alpha + * @return {undefined} + + * @param {number} mode + * @return {undefined} + + * @param {number} modeRGB + * @param {number} modeAlpha + * @return {undefined} + + * @param {number} sfactor + * @param {number} dfactor + * @return {undefined} + + * @param {number} srcRGB + * @param {number} dstRGB + * @param {number} srcAlpha + * @param {number} dstAlpha + * @return {undefined} + + * @param {number} target + * @param {ArrayBufferView|ArrayBuffer|number} data + * @param {number} usage + * @return {undefined} + + * @param {number} target + * @param {number} offset + * @param {ArrayBufferView|ArrayBuffer} data + * @return {undefined} + + * @param {number} target + * @return {number} + + * @param {number} mask + * @return {undefined} + + * @param {number} depth + * @return {undefined} + + * @param {number} s + * @return {undefined} + + * @param {boolean} red + * @param {boolean} green + * @param {boolean} blue + * @param {boolean} alpha + * @return {undefined} + + * @param {WebGLShader} shader + * @return {undefined} + + * @param {number} target + * @param {number} level + * @param {number} internalformat + * @param {number} width + * @param {number} height + * @param {number} border + * @param {ArrayBufferView} data + * @return {undefined} + + * @param {number} target + * @param {number} level + * @param {number} xoffset + * @param {number} yoffset + * @param {number} width + * @param {number} height + * @param {number} format + * @param {ArrayBufferView} data + * @return {undefined} + + * @param {number} target + * @param {number} level + * @param {number} format + * @param {number} x + * @param {number} y + * @param {number} width + * @param {number} height + * @param {number} border + * @return {undefined} + + * @param {number} target + * @param {number} level + * @param {number} xoffset + * @param {number} yoffset + * @param {number} x + * @param {number} y + * @param {number} width + * @param {number} height + * @return {undefined} + + * @return {!WebGLBuffer} + * @nosideeffects + + * @return {!WebGLFramebuffer} + * @nosideeffects + + * @return {!WebGLProgram} + * @nosideeffects + + * @return {!WebGLRenderbuffer} + * @nosideeffects + + * @param {number} type + * @return {!WebGLShader} + * @nosideeffects + + * @return {!WebGLTexture} + * @nosideeffects + + * @param {WebGLBuffer} buffer + * @return {undefined} + + * @param {WebGLFramebuffer} buffer + * @return {undefined} + + * @param {WebGLProgram} program + * @return {undefined} + + * @param {WebGLRenderbuffer} buffer + * @return {undefined} + + * @param {WebGLTexture} texture + * @return {undefined} + + * @param {number} func + * @return {undefined} + + * @param {boolean} flag + * @return {undefined} + + * @param {number} nearVal + * @param {number} farVal + * @return {undefined} + + * @param {number} flags + * @return {undefined} + + * @param {number} index + * @return {undefined} + + * @param {number} mode + * @param {number} first + * @param {number} count + * @return {undefined} + + * @param {number} mode + * @param {number} count + * @param {number} type + * @param {number} offset + * @return {undefined} + + * @param {number} cap + * @return {undefined} + + * @param {number} target + * @param {number} attachment + * @param {number} renderbuffertarget + * @param {WebGLRenderbuffer} renderbuffer + * @return {undefined} + + * @param {number} target + * @param {number} attachment + * @param {number} textarget + * @param {WebGLTexture} texture + * @param {number} level + * @return {undefined} + + * @param {number} target + * @return {undefined} + + * @param {WebGLProgram} program + * @param {number} index + * @return {WebGLActiveInfo} + * @nosideeffects + + * @param {WebGLProgram} program + * @return {!Array} + * @nosideeffects + + * @param {WebGLProgram} program + * @param {string} name + * @return {number} + * @nosideeffects + + * @param {number} target + * @param {number} pname + * @return {*} + * @nosideeffects + + * @param {number} pname + * @return {*} + * @nosideeffects + + * @param {number} target + * @param {number} attachment + * @param {number} pname + * @return {*} + * @nosideeffects + + * @param {WebGLProgram} program + * @param {number} pname + * @return {*} + * @nosideeffects + + * @param {WebGLProgram} program + * @return {string} + * @nosideeffects + + * @param {WebGLShader} shader + * @param {number} pname + * @return {*} + * @nosideeffects + + * @param {number} shadertype + * @param {number} precisiontype + * @return {WebGLShaderPrecisionFormat} + * @nosideeffects + + * @param {WebGLShader} shader + * @return {string} + * @nosideeffects + + * @param {WebGLProgram} program + * @param {WebGLUniformLocation} location + * @return {*} + * @nosideeffects + + * @param {WebGLProgram} program + * @param {string} name + * @return {WebGLUniformLocation} + * @nosideeffects + + * @param {number} index + * @param {number} pname + * @return {*} + * @nosideeffects + + * @param {number} index + * @param {number} pname + * @return {number} + * @nosideeffects + + * @param {number} target + * @param {number} mode + * @return {undefined} + + * @param {WebGLObject} buffer + * @return {boolean} + * @nosideeffects + + * @param {number} cap + * @return {boolean} + * @nosideeffects + + * @param {WebGLObject} framebuffer + * @return {boolean} + * @nosideeffects + + * @param {WebGLObject} program + * @return {boolean} + * @nosideeffects + + * @param {WebGLObject} renderbuffer + * @return {boolean} + * @nosideeffects + + * @param {WebGLObject} shader + * @return {boolean} + * @nosideeffects + + * @param {WebGLObject} texture + * @return {boolean} + * @nosideeffects + + * @param {number} width + * @return {undefined} + + * @param {number} pname + * @param {number} param + * @return {undefined} + + * @param {number} factor + * @param {number} units + * @return {undefined} + + * @param {number} x + * @param {number} y + * @param {number} width + * @param {number} height + * @param {number} format + * @param {number} type + * @param {ArrayBufferView} pixels + * @return {undefined} + + * @param {number} target + * @param {number} internalformat + * @param {number} width + * @param {number} height + * @return {undefined} + + * @param {number} coverage + * @param {boolean} invert + * @return {undefined} + + * @param {number} x + * @param {number} y + * @param {number} width + * @param {number} height + * @return {undefined} + + * @param {WebGLShader} shader + * @param {string} source + * @return {undefined} + + * @param {number} func + * @param {number} ref + * @param {number} mask + * @return {undefined} + + * @param {number} face + * @param {number} func + * @param {number} ref + * @param {number} mask + * @return {undefined} + + * @param {number} face + * @param {number} mask + * @return {undefined} + + * @param {number} fail + * @param {number} zfail + * @param {number} zpass + * @return {undefined} + + * @param {number} face + * @param {number} fail + * @param {number} zfail + * @param {number} zpass + * @return {undefined} + + * @param {number} target + * @param {number} level + * @param {number} internalformat + * @param {number} format or width + * @param {number} type or height + * @param {ImageData|HTMLImageElement|HTMLCanvasElement|HTMLVideoElement| + * number} img or border + * @param {number=} opt_format + * @param {number=} opt_type + * @param {ArrayBufferView=} opt_pixels + * @return {undefined} + + * @param {number} target + * @param {number} pname + * @param {number} param + * @return {undefined} + + * @param {number} target + * @param {number} level + * @param {number} xoffset + * @param {number} yoffset + * @param {number} format or width + * @param {number} type or height + * @param {ImageData|HTMLImageElement|HTMLCanvasElement|HTMLVideoElement| + * number} data or format + * @param {number=} opt_type + * @param {ArrayBufferView=} opt_pixels + * @return {undefined} + + * @param {WebGLUniformLocation} location + * @param {number} value + * @return {undefined} + + * @param {WebGLUniformLocation} location + * @param {Float32Array|Array} value + * @return {undefined} + + * @param {WebGLUniformLocation} location + * @param {number|boolean} value + * @return {undefined} + + * @param {WebGLUniformLocation} location + * @param {Int32Array|Array|Array} value + * @return {undefined} + + * @param {WebGLUniformLocation} location + * @param {number} value1 + * @param {number} value2 + * @return {undefined} + + * @param {WebGLUniformLocation} location + * @param {number|boolean} value1 + * @param {number|boolean} value2 + * @return {undefined} + + * @param {WebGLUniformLocation} location + * @param {number} value1 + * @param {number} value2 + * @param {number} value3 + * @return {undefined} + + * @param {WebGLUniformLocation} location + * @param {number|boolean} value1 + * @param {number|boolean} value2 + * @param {number|boolean} value3 + * @return {undefined} + + * @param {WebGLUniformLocation} location + * @param {number} value1 + * @param {number} value2 + * @param {number} value3 + * @param {number} value4 + * @return {undefined} + + * @param {WebGLUniformLocation} location + * @param {number|boolean} value1 + * @param {number|boolean} value2 + * @param {number|boolean} value3 + * @param {number|boolean} value4 + * @return {undefined} + + * @param {WebGLUniformLocation} location + * @param {boolean} transpose + * @param {Float32Array|Array} data + * @return {undefined} + + * @param {number} indx + * @param {number} x + * @return {undefined} + + * @param {number} indx + * @param {Float32Array|Array} values + * @return {undefined} + + * @param {number} indx + * @param {number} x + * @param {number} y + * @return {undefined} + + * @param {number} indx + * @param {number} x + * @param {number} y + * @param {number} z + * @return {undefined} + + * @param {number} indx + * @param {number} x + * @param {number} y + * @param {number} z + * @param {number} w + * @return {undefined} + + * @param {number} indx + * @param {number} size + * @param {number} type + * @param {boolean} normalized + * @param {number} stride + * @param {number} offset + * @return {undefined} + + * @param {string} eventType + * @constructor + * @noalias + * @extends {Event} + + * @constructor + * @noalias + * @extends {WebGLObject} + + * @see http://www.khronos.org/registry/webgl/extensions/OES_texture_float/ + * @constructor + * @noalias + + * @see http://www.khronos.org/registry/webgl/extensions/OES_texture_half_float/ + * @constructor + * @noalias + + * @see http://www.khronos.org/registry/webgl/extensions/WEBGL_lose_context/ + * @constructor + * @noalias + + * @see http://www.khronos.org/registry/webgl/extensions/OES_standard_derivatives/ + * @constructor + * @noalias + + * @see http://www.khronos.org/registry/webgl/extensions/OES_vertex_array_object/ + * @constructor + * @noalias + * @extends {WebGLObject} + + * @see http://www.khronos.org/registry/webgl/extensions/OES_vertex_array_object/ + * @constructor + * @noalias + + * @return {WebGLVertexArrayObjectOES} + * @nosideeffects + + * @param {WebGLVertexArrayObjectOES} arrayObject + * @return {undefined} + + * @param {WebGLVertexArrayObjectOES} arrayObject + * @return {boolean} + * @nosideeffects + + * @see http://www.khronos.org/registry/webgl/extensions/WEBGL_debug_renderer_info/ + * @constructor + * @noalias + + * @see http://www.khronos.org/registry/webgl/extensions/WEBGL_debug_shaders/ + * @constructor + * @noalias + + * @see http://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_s3tc/ + * @constructor + * @noalias + + * @see http://www.khronos.org/registry/webgl/extensions/OES_depth_texture/ + * @constructor + * @noalias + + * @see http://www.khronos.org/registry/webgl/extensions/OES_element_index_uint/ + * @constructor + * @noalias + + * @see http://www.khronos.org/registry/webgl/extensions/EXT_texture_filter_anisotropic/ + * @constructor + * @noalias + + * @see https://www.khronos.org/registry/webgl/extensions/WEBGL_draw_buffers/ + * @constructor + * @noalias + + * @param {Array} buffers Draw buffers. + * @return {undefined} + + * @see http://www.khronos.org/registry/webgl/extensions/ANGLE_instanced_arrays/ + * @constructor + * @noalias + + * @param {number} mode Primitive type. + * @param {number} first First vertex. + * @param {number} count Number of vertices per instance. + * @param {number} primcount Number of instances. + * @return {undefined} + + * @param {number} mode Primitive type. + * @param {number} count Number of vertex indices per instance. + * @param {number} type Type of a vertex index. + * @param {number} offset Offset to the first vertex index. + * @param {number} primcount Number of instances. + * @return {undefined} + + * @param {number} index Attribute index. + * @param {number} divisor Instance divisor. + * @return {undefined} + WebGLRenderingContextDEPTH_BUFFER_BITSTENCIL_BUFFER_BITCOLOR_BUFFER_BITPOINTSLINESLINE_LOOPLINE_STRIPTRIANGLESTRIANGLE_STRIPTRIANGLE_FANZEROONESRC_COLORONE_MINUS_SRC_COLORSRC_ALPHAONE_MINUS_SRC_ALPHADST_ALPHAONE_MINUS_DST_ALPHADST_COLORONE_MINUS_DST_COLORSRC_ALPHA_SATURATEFUNC_ADDBLEND_EQUATIONBLEND_EQUATION_RGBBLEND_EQUATION_ALPHAFUNC_SUBTRACTFUNC_REVERSE_SUBTRACTBLEND_DST_RGBBLEND_SRC_RGBBLEND_DST_ALPHABLEND_SRC_ALPHACONSTANT_COLORONE_MINUS_CONSTANT_COLORCONSTANT_ALPHAONE_MINUS_CONSTANT_ALPHABLEND_COLORARRAY_BUFFERELEMENT_ARRAY_BUFFERARRAY_BUFFER_BINDINGELEMENT_ARRAY_BUFFER_BINDINGSTREAM_DRAWSTATIC_DRAWDYNAMIC_DRAWBUFFER_SIZEBUFFER_USAGECURRENT_VERTEX_ATTRIBFRONTBACKFRONT_AND_BACKCULL_FACEBLENDDITHERSTENCIL_TESTDEPTH_TESTSCISSOR_TESTPOLYGON_OFFSET_FILLSAMPLE_ALPHA_TO_COVERAGESAMPLE_COVERAGENO_ERRORINVALID_ENUMINVALID_VALUEINVALID_OPERATIONOUT_OF_MEMORYCWCCWLINE_WIDTHALIASED_POINT_SIZE_RANGEALIASED_LINE_WIDTH_RANGECULL_FACE_MODEFRONT_FACEDEPTH_RANGEDEPTH_WRITEMASKDEPTH_CLEAR_VALUEDEPTH_FUNCSTENCIL_CLEAR_VALUESTENCIL_FUNCSTENCIL_FAILSTENCIL_PASS_DEPTH_FAILSTENCIL_PASS_DEPTH_PASSSTENCIL_REFSTENCIL_VALUE_MASKSTENCIL_WRITEMASKSTENCIL_BACK_FUNCSTENCIL_BACK_FAILSTENCIL_BACK_PASS_DEPTH_FAILSTENCIL_BACK_PASS_DEPTH_PASSSTENCIL_BACK_REFSTENCIL_BACK_VALUE_MASKSTENCIL_BACK_WRITEMASKVIEWPORTSCISSOR_BOXCOLOR_CLEAR_VALUECOLOR_WRITEMASKUNPACK_ALIGNMENTPACK_ALIGNMENTMAX_TEXTURE_SIZEMAX_VIEWPORT_DIMSSUBPIXEL_BITSRED_BITSGREEN_BITSBLUE_BITSALPHA_BITSDEPTH_BITSSTENCIL_BITSPOLYGON_OFFSET_UNITSPOLYGON_OFFSET_FACTORTEXTURE_BINDING_2DSAMPLE_BUFFERSSAMPLESSAMPLE_COVERAGE_VALUESAMPLE_COVERAGE_INVERTCOMPRESSED_TEXTURE_FORMATSDONT_CAREFASTESTNICESTGENERATE_MIPMAP_HINTBYTEUNSIGNED_BYTESHORTUNSIGNED_SHORTINTUNSIGNED_INTFLOATDEPTH_COMPONENTALPHARGBRGBALUMINANCELUMINANCE_ALPHAUNSIGNED_SHORT_4_4_4_4UNSIGNED_SHORT_5_5_5_1UNSIGNED_SHORT_5_6_5FRAGMENT_SHADERVERTEX_SHADERMAX_VERTEX_ATTRIBSMAX_VERTEX_UNIFORM_VECTORSMAX_VARYING_VECTORSMAX_COMBINED_TEXTURE_IMAGE_UNITSMAX_VERTEX_TEXTURE_IMAGE_UNITSMAX_TEXTURE_IMAGE_UNITSMAX_FRAGMENT_UNIFORM_VECTORSSHADER_TYPEDELETE_STATUSLINK_STATUSVALIDATE_STATUSATTACHED_SHADERSACTIVE_UNIFORMSACTIVE_ATTRIBUTESSHADING_LANGUAGE_VERSIONCURRENT_PROGRAMNEVERLESSEQUALLEQUALGREATERNOTEQUALGEQUALALWAYSKEEPREPLACEINCRDECRINVERTINCR_WRAPDECR_WRAPVENDORRENDERERVERSIONNEARESTLINEARNEAREST_MIPMAP_NEARESTLINEAR_MIPMAP_NEARESTNEAREST_MIPMAP_LINEARLINEAR_MIPMAP_LINEARTEXTURE_MAG_FILTERTEXTURE_MIN_FILTERTEXTURE_WRAP_STEXTURE_WRAP_TTEXTURE_2DTEXTURETEXTURE_CUBE_MAPTEXTURE_BINDING_CUBE_MAPTEXTURE_CUBE_MAP_POSITIVE_XTEXTURE_CUBE_MAP_NEGATIVE_XTEXTURE_CUBE_MAP_POSITIVE_YTEXTURE_CUBE_MAP_NEGATIVE_YTEXTURE_CUBE_MAP_POSITIVE_ZTEXTURE_CUBE_MAP_NEGATIVE_ZMAX_CUBE_MAP_TEXTURE_SIZETEXTURE0TEXTURE1TEXTURE2TEXTURE3TEXTURE4TEXTURE5TEXTURE6TEXTURE7TEXTURE8TEXTURE9TEXTURE10TEXTURE11TEXTURE12TEXTURE13TEXTURE14TEXTURE15TEXTURE16TEXTURE17TEXTURE18TEXTURE19TEXTURE20TEXTURE21TEXTURE22TEXTURE23TEXTURE24TEXTURE25TEXTURE26TEXTURE27TEXTURE28TEXTURE29TEXTURE30TEXTURE31ACTIVE_TEXTUREREPEATCLAMP_TO_EDGEMIRRORED_REPEATFLOAT_VEC2FLOAT_VEC3FLOAT_VEC4INT_VEC2INT_VEC3INT_VEC4BOOLBOOL_VEC2BOOL_VEC3BOOL_VEC4FLOAT_MAT2FLOAT_MAT3FLOAT_MAT4SAMPLER_2DSAMPLER_CUBEVERTEX_ATTRIB_ARRAY_ENABLEDVERTEX_ATTRIB_ARRAY_SIZEVERTEX_ATTRIB_ARRAY_STRIDEVERTEX_ATTRIB_ARRAY_TYPEVERTEX_ATTRIB_ARRAY_NORMALIZEDVERTEX_ATTRIB_ARRAY_POINTERVERTEX_ATTRIB_ARRAY_BUFFER_BINDINGIMPLEMENTATION_COLOR_READ_FORMATIMPLEMENTATION_COLOR_READ_TYPECOMPILE_STATUSLOW_FLOATMEDIUM_FLOATHIGH_FLOATLOW_INTMEDIUM_INTHIGH_INTFRAMEBUFFERRENDERBUFFERRGBA4RGB5_A1RGB565DEPTH_COMPONENT16STENCIL_INDEXSTENCIL_INDEX8DEPTH_STENCILRENDERBUFFER_WIDTHRENDERBUFFER_HEIGHTRENDERBUFFER_INTERNAL_FORMATRENDERBUFFER_RED_SIZERENDERBUFFER_GREEN_SIZERENDERBUFFER_BLUE_SIZERENDERBUFFER_ALPHA_SIZERENDERBUFFER_DEPTH_SIZERENDERBUFFER_STENCIL_SIZEFRAMEBUFFER_ATTACHMENT_OBJECT_TYPEFRAMEBUFFER_ATTACHMENT_OBJECT_NAMEFRAMEBUFFER_ATTACHMENT_TEXTURE_LEVELFRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACECOLOR_ATTACHMENT0DEPTH_ATTACHMENTSTENCIL_ATTACHMENTDEPTH_STENCIL_ATTACHMENTNONEFRAMEBUFFER_COMPLETEFRAMEBUFFER_INCOMPLETE_ATTACHMENTFRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENTFRAMEBUFFER_INCOMPLETE_DIMENSIONSFRAMEBUFFER_UNSUPPORTEDFRAMEBUFFER_BINDINGRENDERBUFFER_BINDINGMAX_RENDERBUFFER_SIZEINVALID_FRAMEBUFFER_OPERATIONUNPACK_FLIP_Y_WEBGLUNPACK_PREMULTIPLY_ALPHA_WEBGLCONTEXT_LOST_WEBGLUNPACK_COLORSPACE_CONVERSION_WEBGLBROWSER_DEFAULT_WEBGLdrawingBufferWidthdrawingBufferHeightgetContextAttributesisContextLostgetSupportedExtensionsgetExtensionactiveTexturetextureattachShaderprogramshaderbindAttribLocationbindBufferbindFramebufferbindRenderbufferbindTextureblendColorblendEquationblendEquationSeparatemodeRGBmodeAlphablendFuncsfactordfactorblendFuncSeparatesrcRGBdstRGBsrcAlphadstAlphabufferDatabufferSubDatacheckFramebufferStatusclearColorclearDepthclearStencilcolorMaskcompileShadercompressedTexImage2DinternalformatcompressedTexSubImage2DxoffsetyoffsetcopyTexImage2DcopyTexSubImage2DcreateBuffercreateFramebuffercreateProgramcreateRenderbuffercreateShadercreateTexturecullFacedeleteBufferdeleteFramebufferdeleteProgramdeleteRenderbufferdeleteShaderdeleteTexturedepthFuncdepthMaskdepthRangenearValfarValdetachShaderdisableVertexAttribArraydrawArraysdrawElementscapenableVertexAttribArrayfinishframebufferRenderbufferrenderbuffertargetrenderbufferframebufferTexture2DtextargetfrontFacegenerateMipmapgetActiveAttribgetActiveUniformgetAttachedShadersgetAttribLocationgetBufferParameterpnamegetErrorgetFramebufferAttachmentParametergetProgramParametergetProgramInfoLoggetRenderbufferParametergetShaderParametergetShaderPrecisionFormatshadertypeprecisiontypegetShaderInfoLoggetShaderSourcegetTexParametergetUniformgetUniformLocationgetVertexAttribgetVertexAttribOffsethintisEnabledisFramebufferframebufferisProgramisRenderbufferisShaderisTexturelinkProgrampixelStoreipolygonOffsetunitsreadPixelspixelsrenderbufferStoragesampleCoveragecoveragescissorshaderSourcestencilFuncstencilFuncSeparatestencilMaskstencilMaskSeparatestencilOpzfailzpassstencilOpSeparatetexImage2Dopt_pixelstexParameterftexParameteritexSubImage2Duniform1funiform1fvuniform1iuniform1ivuniform2funiform2fvuniform2iuniform2ivuniform3fvalue3uniform3fvuniform3iuniform3ivuniform4fvalue4uniform4fvuniform4iuniform4ivuniformMatrix2fvtransposeuniformMatrix3fvuniformMatrix4fvuseProgramvalidateProgramvertexAttrib1findxvertexAttrib1fvvertexAttrib2fvertexAttrib2fvvertexAttrib3fvertexAttrib3fvvertexAttrib4fvertexAttrib4fvvertexAttribPointernormalizedstrideWebGLContextAttributesstencilantialiaspremultipliedAlphapreserveDrawingBufferpreferLowPowerToHighPerformancefailIfMajorPerformanceCaveatWebGLContextEventWebGLShaderPrecisionFormatrangeMinrangeMaxprecisionWebGLObjectWebGLBufferWebGLFramebufferWebGLProgramWebGLRenderbufferWebGLShaderWebGLTextureWebGLActiveInfoWebGLUniformLocationOES_texture_floatOES_texture_half_floatHALF_FLOAT_OESWEBGL_lose_contextloseContextrestoreContextOES_standard_derivativesFRAGMENT_SHADER_DERIVATIVE_HINT_OESWebGLVertexArrayObjectOESOES_vertex_array_objectVERTEX_ARRAY_BINDING_OEScreateVertexArrayOESdeleteVertexArrayOESarrayObjectisVertexArrayOESbindVertexArrayOESWEBGL_debug_renderer_infoUNMASKED_VENDOR_WEBGLUNMASKED_RENDERER_WEBGLWEBGL_debug_shadersgetTranslatedShaderSourceWEBGL_compressed_texture_s3tcCOMPRESSED_RGB_S3TC_DXT1_EXTCOMPRESSED_RGBA_S3TC_DXT1_EXTCOMPRESSED_RGBA_S3TC_DXT3_EXTCOMPRESSED_RGBA_S3TC_DXT5_EXTOES_depth_textureOES_element_index_uintEXT_texture_filter_anisotropicTEXTURE_MAX_ANISOTROPY_EXTMAX_TEXTURE_MAX_ANISOTROPY_EXTWEBGL_draw_buffersCOLOR_ATTACHMENT0_WEBGLCOLOR_ATTACHMENT1_WEBGLCOLOR_ATTACHMENT2_WEBGLCOLOR_ATTACHMENT3_WEBGLCOLOR_ATTACHMENT4_WEBGLCOLOR_ATTACHMENT5_WEBGLCOLOR_ATTACHMENT6_WEBGLCOLOR_ATTACHMENT7_WEBGLCOLOR_ATTACHMENT8_WEBGLCOLOR_ATTACHMENT9_WEBGLCOLOR_ATTACHMENT10_WEBGLCOLOR_ATTACHMENT11_WEBGLCOLOR_ATTACHMENT12_WEBGLCOLOR_ATTACHMENT13_WEBGLCOLOR_ATTACHMENT14_WEBGLCOLOR_ATTACHMENT15_WEBGLDRAW_BUFFER0_WEBGLDRAW_BUFFER1_WEBGLDRAW_BUFFER2_WEBGLDRAW_BUFFER3_WEBGLDRAW_BUFFER4_WEBGLDRAW_BUFFER5_WEBGLDRAW_BUFFER6_WEBGLDRAW_BUFFER7_WEBGLDRAW_BUFFER8_WEBGLDRAW_BUFFER9_WEBGLDRAW_BUFFER10_WEBGLDRAW_BUFFER11_WEBGLDRAW_BUFFER12_WEBGLDRAW_BUFFER13_WEBGLDRAW_BUFFER14_WEBGLDRAW_BUFFER15_WEBGLMAX_COLOR_ATTACHMENTS_WEBGLMAX_DRAW_BUFFERS_WEBGLdrawBuffersWEBGLbuffersANGLE_instanced_arraysVERTEX_ATTRIB_ARRAY_DIVISOR_ANGLEdrawArraysInstancedANGLEprimcountdrawElementsInstancedANGLEvertexAttribDivisorANGLEdivisorDefinitions for WebGL functions as described at +http://www.khronos.org/registry/webgl/specs/latest/ +* This file is current up to the WebGL 1.0.1 spec, including extensions. +* This relies on html5.js being included for Canvas and Typed Array support. +* This includes some extensions defined at +http://www.khronos.org/registry/webgl/extensions/ +*!WebGLContextAttributesNote that this has side effects by enabling the extension even if the +result is not used.(ArrayBufferView|ArrayBuffer|number)(ArrayBufferView|ArrayBuffer)!WebGLBuffer!WebGLFramebuffer!WebGLProgram!WebGLRenderbuffer!WebGLShader!WebGLTexture!Array.Array.or width +or height +or border +(ImageData|HTMLImageElement|HTMLCanvasElement|HTMLVideoElement|number)ArrayBufferView=or format +(Float32Array|Array.)(number|boolean)(Int32Array|Array.|Array.)http://www.khronos.org/registry/webgl/extensions/OES_texture_float/ +http://www.khronos.org/registry/webgl/extensions/OES_texture_half_float/ +http://www.khronos.org/registry/webgl/extensions/WEBGL_lose_context/ +http://www.khronos.org/registry/webgl/extensions/OES_standard_derivatives/ +http://www.khronos.org/registry/webgl/extensions/OES_vertex_array_object/ +http://www.khronos.org/registry/webgl/extensions/WEBGL_debug_renderer_info/ +http://www.khronos.org/registry/webgl/extensions/WEBGL_debug_shaders/ +http://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_s3tc/ +http://www.khronos.org/registry/webgl/extensions/OES_depth_texture/ +http://www.khronos.org/registry/webgl/extensions/OES_element_index_uint/ +http://www.khronos.org/registry/webgl/extensions/EXT_texture_filter_anisotropic/ +https://www.khronos.org/registry/webgl/extensions/WEBGL_draw_buffers/ +Draw buffers. +http://www.khronos.org/registry/webgl/extensions/ANGLE_instanced_arrays/ +Primitive type. +First vertex. +Number of vertices per instance. +Number of instances. +Number of vertex indices per instance. +Type of a vertex index. +Offset to the first vertex index. +Attribute index. +Instance divisor. +functio ... xt() {}WebGLRe ... ContextWebGLRe ... ER_BIT;WebGLRe ... FER_BITWebGLRe ... POINTS;WebGLRe ... .POINTSWebGLRe ... .LINES;WebGLRe ... t.LINESWebGLRe ... E_LOOP;WebGLRe ... NE_LOOPWebGLRe ... _STRIP;WebGLRe ... E_STRIPWebGLRe ... ANGLES;WebGLRe ... IANGLESWebGLRe ... LE_FAN;WebGLRe ... GLE_FANWebGLRe ... t.ZERO;WebGLRe ... xt.ZEROWebGLRe ... xt.ONE;WebGLRe ... ext.ONEWebGLRe ... _COLOR;WebGLRe ... C_COLORWebGLRe ... _ALPHA;WebGLRe ... C_ALPHAWebGLRe ... T_ALPHAWebGLRe ... T_COLORWebGLRe ... TURATE;WebGLRe ... ATURATEWebGLRe ... NC_ADD;WebGLRe ... UNC_ADDWebGLRe ... UATION;WebGLRe ... QUATIONWebGLRe ... ON_RGB;WebGLRe ... ION_RGBWebGLRe ... N_ALPHAWebGLRe ... BTRACT;WebGLRe ... UBTRACTFUNC_RE ... UBTRACTWebGLRe ... ST_RGB;WebGLRe ... DST_RGBWebGLRe ... RC_RGB;WebGLRe ... SRC_RGBONE_MIN ... T_COLORONE_MIN ... T_ALPHAWebGLRe ... D_COLORWebGLRe ... BUFFER;WebGLRe ... _BUFFERWebGLRe ... INDING;WebGLRe ... BINDINGELEMENT ... BINDINGWebGLRe ... M_DRAW;WebGLRe ... AM_DRAWWebGLRe ... C_DRAW;WebGLRe ... IC_DRAWWebGLRe ... R_SIZE;WebGLRe ... ER_SIZEWebGLRe ... _USAGE;WebGLRe ... R_USAGEWebGLRe ... ATTRIB;WebGLRe ... _ATTRIBCURRENT ... _ATTRIBWebGLRe ... .FRONT;WebGLRe ... t.FRONTWebGLRe ... t.BACK;WebGLRe ... xt.BACKWebGLRe ... D_BACK;WebGLRe ... ND_BACKWebGLRe ... L_FACE;WebGLRe ... LL_FACEWebGLRe ... .BLEND;WebGLRe ... t.BLENDWebGLRe ... DITHER;WebGLRe ... .DITHERWebGLRe ... L_TEST;WebGLRe ... IL_TESTWebGLRe ... H_TEST;WebGLRe ... TH_TESTWebGLRe ... R_TEST;WebGLRe ... OR_TESTWebGLRe ... T_FILL;WebGLRe ... ET_FILLWebGLRe ... VERAGE;WebGLRe ... OVERAGESAMPLE_ ... OVERAGEWebGLRe ... _ERROR;WebGLRe ... O_ERRORWebGLRe ... D_ENUM;WebGLRe ... ID_ENUMWebGLRe ... _VALUE;WebGLRe ... D_VALUEWebGLRe ... RATION;WebGLRe ... ERATIONWebGLRe ... MEMORY;WebGLRe ... _MEMORYWebGLRe ... ext.CW;WebGLRe ... text.CWWebGLRe ... xt.CCW;WebGLRe ... ext.CCWWebGLRe ... _WIDTH;WebGLRe ... E_WIDTHWebGLRe ... _RANGE;WebGLRe ... E_RANGEALIASED ... E_RANGEWebGLRe ... H_RANGEALIASED ... H_RANGEWebGLRe ... E_MODE;WebGLRe ... CE_MODEWebGLRe ... T_FACE;WebGLRe ... NT_FACEWebGLRe ... TEMASK;WebGLRe ... ITEMASKWebGLRe ... R_VALUEWebGLRe ... H_FUNC;WebGLRe ... TH_FUNCWebGLRe ... L_FUNC;WebGLRe ... IL_FUNCWebGLRe ... L_FAIL;WebGLRe ... IL_FAILWebGLRe ... H_FAIL;WebGLRe ... TH_FAILSTENCIL ... TH_FAILWebGLRe ... H_PASS;WebGLRe ... TH_PASSSTENCIL ... TH_PASSWebGLRe ... IL_REF;WebGLRe ... CIL_REFWebGLRe ... E_MASK;WebGLRe ... UE_MASKWebGLRe ... K_FUNC;WebGLRe ... CK_FUNCWebGLRe ... K_FAIL;WebGLRe ... CK_FAILWebGLRe ... CK_REF;WebGLRe ... ACK_REFSTENCIL ... UE_MASKSTENCIL ... ITEMASKWebGLRe ... EWPORT;WebGLRe ... IEWPORTWebGLRe ... OR_BOX;WebGLRe ... SOR_BOXWebGLRe ... GNMENT;WebGLRe ... IGNMENTWebGLRe ... E_SIZE;WebGLRe ... RE_SIZEWebGLRe ... T_DIMS;WebGLRe ... RT_DIMSWebGLRe ... L_BITS;WebGLRe ... EL_BITSWebGLRe ... D_BITS;WebGLRe ... ED_BITSWebGLRe ... N_BITS;WebGLRe ... EN_BITSWebGLRe ... E_BITS;WebGLRe ... UE_BITSWebGLRe ... A_BITS;WebGLRe ... HA_BITSWebGLRe ... H_BITS;WebGLRe ... TH_BITSWebGLRe ... IL_BITSWebGLRe ... _UNITS;WebGLRe ... T_UNITSWebGLRe ... FACTOR;WebGLRe ... _FACTORPOLYGON ... _FACTORWebGLRe ... ING_2D;WebGLRe ... DING_2DWebGLRe ... UFFERS;WebGLRe ... BUFFERSWebGLRe ... AMPLES;WebGLRe ... SAMPLESWebGLRe ... E_VALUESAMPLE_ ... E_VALUEWebGLRe ... INVERT;WebGLRe ... _INVERTSAMPLE_ ... _INVERTWebGLRe ... ORMATS;WebGLRe ... FORMATSCOMPRES ... FORMATSWebGLRe ... T_CARE;WebGLRe ... NT_CAREWebGLRe ... ASTEST;WebGLRe ... FASTESTWebGLRe ... NICEST;WebGLRe ... .NICESTWebGLRe ... P_HINT;WebGLRe ... AP_HINTWebGLRe ... t.BYTE;WebGLRe ... xt.BYTEWebGLRe ... D_BYTE;WebGLRe ... ED_BYTEWebGLRe ... .SHORT;WebGLRe ... t.SHORTWebGLRe ... _SHORT;WebGLRe ... D_SHORTWebGLRe ... xt.INT;WebGLRe ... ext.INTWebGLRe ... ED_INT;WebGLRe ... NED_INTWebGLRe ... .FLOAT;WebGLRe ... t.FLOATWebGLRe ... PONENT;WebGLRe ... MPONENTWebGLRe ... .ALPHA;WebGLRe ... t.ALPHAWebGLRe ... xt.RGB;WebGLRe ... ext.RGBWebGLRe ... t.RGBA;WebGLRe ... xt.RGBAWebGLRe ... INANCE;WebGLRe ... MINANCEWebGLRe ... E_ALPHAWebGLRe ... _4_4_4;WebGLRe ... 4_4_4_4UNSIGNE ... 4_4_4_4WebGLRe ... _5_5_1;WebGLRe ... 5_5_5_1UNSIGNE ... 5_5_5_1WebGLRe ... _5_6_5;WebGLRe ... T_5_6_5WebGLRe ... SHADER;WebGLRe ... _SHADERWebGLRe ... TTRIBS;WebGLRe ... ATTRIBSWebGLRe ... ECTORS;WebGLRe ... VECTORSMAX_VER ... VECTORSWebGLRe ... E_UNITSMAX_COM ... E_UNITSMAX_VER ... E_UNITSMAX_TEX ... E_UNITSMAX_FRA ... VECTORSWebGLRe ... R_TYPE;WebGLRe ... ER_TYPEWebGLRe ... STATUS;WebGLRe ... _STATUSWebGLRe ... HADERS;WebGLRe ... SHADERSWebGLRe ... IFORMS;WebGLRe ... NIFORMSWebGLRe ... IBUTES;WebGLRe ... RIBUTESWebGLRe ... ERSION;WebGLRe ... VERSIONSHADING ... VERSIONWebGLRe ... ROGRAM;WebGLRe ... PROGRAMWebGLRe ... .NEVER;WebGLRe ... t.NEVERWebGLRe ... t.LESS;WebGLRe ... xt.LESSWebGLRe ... .EQUAL;WebGLRe ... t.EQUALWebGLRe ... LEQUAL;WebGLRe ... .LEQUALWebGLRe ... REATER;WebGLRe ... GREATERWebGLRe ... TEQUAL;WebGLRe ... OTEQUALWebGLRe ... GEQUAL;WebGLRe ... .GEQUALWebGLRe ... ALWAYS;WebGLRe ... .ALWAYSWebGLRe ... t.KEEP;WebGLRe ... xt.KEEPWebGLRe ... EPLACE;WebGLRe ... REPLACEWebGLRe ... t.INCR;WebGLRe ... xt.INCRWebGLRe ... t.DECR;WebGLRe ... xt.DECRWebGLRe ... .INVERTWebGLRe ... R_WRAP;WebGLRe ... CR_WRAPWebGLRe ... VENDOR;WebGLRe ... .VENDORWebGLRe ... NDERER;WebGLRe ... ENDERERWebGLRe ... EAREST;WebGLRe ... NEARESTWebGLRe ... LINEAR;WebGLRe ... .LINEARNEAREST ... NEARESTLINEAR_ ... NEARESTWebGLRe ... _LINEARNEAREST ... _LINEARWebGLRe ... FILTER;WebGLRe ... _FILTERWebGLRe ... WRAP_S;WebGLRe ... _WRAP_SWebGLRe ... WRAP_T;WebGLRe ... _WRAP_TWebGLRe ... URE_2D;WebGLRe ... TURE_2DWebGLRe ... EXTURE;WebGLRe ... TEXTUREWebGLRe ... BE_MAP;WebGLRe ... UBE_MAPTEXTURE ... UBE_MAPWebGLRe ... TIVE_X;WebGLRe ... ITIVE_XTEXTURE ... ITIVE_XWebGLRe ... ATIVE_XTEXTURE ... ATIVE_XWebGLRe ... TIVE_Y;WebGLRe ... ITIVE_YTEXTURE ... ITIVE_YWebGLRe ... ATIVE_YTEXTURE ... ATIVE_YWebGLRe ... TIVE_Z;WebGLRe ... ITIVE_ZTEXTURE ... ITIVE_ZWebGLRe ... ATIVE_ZTEXTURE ... ATIVE_ZMAX_CUB ... RE_SIZEWebGLRe ... XTURE0;WebGLRe ... EXTURE0WebGLRe ... XTURE1;WebGLRe ... EXTURE1WebGLRe ... XTURE2;WebGLRe ... EXTURE2WebGLRe ... XTURE3;WebGLRe ... EXTURE3WebGLRe ... XTURE4;WebGLRe ... EXTURE4WebGLRe ... XTURE5;WebGLRe ... EXTURE5WebGLRe ... XTURE6;WebGLRe ... EXTURE6WebGLRe ... XTURE7;WebGLRe ... EXTURE7WebGLRe ... XTURE8;WebGLRe ... EXTURE8WebGLRe ... XTURE9;WebGLRe ... EXTURE9WebGLRe ... TURE10;WebGLRe ... XTURE10WebGLRe ... TURE11;WebGLRe ... XTURE11WebGLRe ... TURE12;WebGLRe ... XTURE12WebGLRe ... TURE13;WebGLRe ... XTURE13WebGLRe ... TURE14;WebGLRe ... XTURE14WebGLRe ... TURE15;WebGLRe ... XTURE15WebGLRe ... TURE16;WebGLRe ... XTURE16WebGLRe ... TURE17;WebGLRe ... XTURE17WebGLRe ... TURE18;WebGLRe ... XTURE18WebGLRe ... TURE19;WebGLRe ... XTURE19WebGLRe ... TURE20;WebGLRe ... XTURE20WebGLRe ... TURE21;WebGLRe ... XTURE21WebGLRe ... TURE22;WebGLRe ... XTURE22WebGLRe ... TURE23;WebGLRe ... XTURE23WebGLRe ... TURE24;WebGLRe ... XTURE24WebGLRe ... TURE25;WebGLRe ... XTURE25WebGLRe ... TURE26;WebGLRe ... XTURE26WebGLRe ... TURE27;WebGLRe ... XTURE27WebGLRe ... TURE28;WebGLRe ... XTURE28WebGLRe ... TURE29;WebGLRe ... XTURE29WebGLRe ... TURE30;WebGLRe ... XTURE30WebGLRe ... TURE31;WebGLRe ... XTURE31WebGLRe ... REPEAT;WebGLRe ... .REPEATWebGLRe ... O_EDGE;WebGLRe ... TO_EDGEWebGLRe ... _REPEATWebGLRe ... T_VEC2;WebGLRe ... AT_VEC2WebGLRe ... T_VEC3;WebGLRe ... AT_VEC3WebGLRe ... T_VEC4;WebGLRe ... AT_VEC4WebGLRe ... NT_VEC2WebGLRe ... NT_VEC3WebGLRe ... NT_VEC4WebGLRe ... t.BOOL;WebGLRe ... xt.BOOLWebGLRe ... L_VEC2;WebGLRe ... OL_VEC2WebGLRe ... L_VEC3;WebGLRe ... OL_VEC3WebGLRe ... L_VEC4;WebGLRe ... OL_VEC4WebGLRe ... T_MAT2;WebGLRe ... AT_MAT2WebGLRe ... T_MAT3;WebGLRe ... AT_MAT3WebGLRe ... T_MAT4;WebGLRe ... AT_MAT4WebGLRe ... LER_2D;WebGLRe ... PLER_2DWebGLRe ... R_CUBE;WebGLRe ... ER_CUBEWebGLRe ... NABLED;WebGLRe ... ENABLEDVERTEX_ ... ENABLEDWebGLRe ... Y_SIZE;WebGLRe ... AY_SIZEVERTEX_ ... AY_SIZEWebGLRe ... STRIDE;WebGLRe ... _STRIDEVERTEX_ ... _STRIDEWebGLRe ... Y_TYPE;WebGLRe ... AY_TYPEVERTEX_ ... AY_TYPEWebGLRe ... ALIZED;WebGLRe ... MALIZEDVERTEX_ ... MALIZEDWebGLRe ... OINTER;WebGLRe ... POINTERVERTEX_ ... POINTERVERTEX_ ... BINDINGWebGLRe ... FORMAT;WebGLRe ... _FORMATIMPLEME ... _FORMATWebGLRe ... D_TYPE;WebGLRe ... AD_TYPEIMPLEME ... AD_TYPEWebGLRe ... _FLOAT;WebGLRe ... W_FLOATWebGLRe ... M_FLOATWebGLRe ... H_FLOATWebGLRe ... OW_INT;WebGLRe ... LOW_INTWebGLRe ... UM_INT;WebGLRe ... IUM_INTWebGLRe ... GH_INT;WebGLRe ... IGH_INTWebGLRe ... EBUFFERWebGLRe ... RBUFFERWebGLRe ... .RGBA4;WebGLRe ... t.RGBA4WebGLRe ... GB5_A1;WebGLRe ... RGB5_A1WebGLRe ... RGB565;WebGLRe ... .RGB565WebGLRe ... NENT16;WebGLRe ... ONENT16WebGLRe ... _INDEX;WebGLRe ... L_INDEXWebGLRe ... INDEX8;WebGLRe ... _INDEX8WebGLRe ... TENCIL;WebGLRe ... STENCILWebGLRe ... R_WIDTHWebGLRe ... HEIGHT;WebGLRe ... _HEIGHTRENDERB ... _FORMATWebGLRe ... D_SIZE;WebGLRe ... ED_SIZERENDERB ... ED_SIZEWebGLRe ... N_SIZE;WebGLRe ... EN_SIZERENDERB ... EN_SIZEWebGLRe ... UE_SIZERENDERB ... UE_SIZEWebGLRe ... A_SIZE;WebGLRe ... HA_SIZERENDERB ... HA_SIZEWebGLRe ... H_SIZE;WebGLRe ... TH_SIZERENDERB ... TH_SIZEWebGLRe ... L_SIZE;WebGLRe ... IL_SIZERENDERB ... IL_SIZEWebGLRe ... T_TYPE;WebGLRe ... CT_TYPEFRAMEBU ... CT_TYPEWebGLRe ... T_NAME;WebGLRe ... CT_NAMEFRAMEBU ... CT_NAMEWebGLRe ... _LEVEL;WebGLRe ... E_LEVELFRAMEBU ... E_LEVELWebGLRe ... P_FACE;WebGLRe ... AP_FACEFRAMEBU ... AP_FACEWebGLRe ... HMENT0;WebGLRe ... CHMENT0WebGLRe ... CHMENT;WebGLRe ... ACHMENTDEPTH_S ... ACHMENTWebGLRe ... t.NONE;WebGLRe ... xt.NONEWebGLRe ... MPLETE;WebGLRe ... OMPLETEFRAMEBU ... ACHMENTWebGLRe ... NSIONS;WebGLRe ... ENSIONSFRAMEBU ... ENSIONSWebGLRe ... PORTED;WebGLRe ... PPORTEDFRAMEBU ... PPORTEDMAX_REN ... ER_SIZEINVALID ... ERATIONWebGLRe ... _WEBGL;WebGLRe ... Y_WEBGLWebGLRe ... A_WEBGLUNPACK_ ... A_WEBGLWebGLRe ... T_WEBGLWebGLRe ... N_WEBGLUNPACK_ ... N_WEBGLBROWSER ... T_WEBGLWebGLRe ... ototypeWebGLRe ... e.LINESWebGLRe ... e.ZERO;WebGLRe ... pe.ZEROWebGLRe ... pe.ONE;WebGLRe ... ype.ONEWebGLRe ... e.FRONTWebGLRe ... e.BACK;WebGLRe ... pe.BACKWebGLRe ... e.BLENDWebGLRe ... ype.CW;WebGLRe ... type.CWWebGLRe ... pe.CCW;WebGLRe ... ype.CCWWebGLRe ... e.BYTE;WebGLRe ... pe.BYTEWebGLRe ... e.SHORTWebGLRe ... pe.INT;WebGLRe ... ype.INTWebGLRe ... e.FLOATWebGLRe ... e.ALPHAWebGLRe ... pe.RGB;WebGLRe ... ype.RGBWebGLRe ... e.RGBA;WebGLRe ... pe.RGBAWebGLRe ... e.NEVERWebGLRe ... e.LESS;WebGLRe ... pe.LESSWebGLRe ... e.EQUALWebGLRe ... e.KEEP;WebGLRe ... pe.KEEPWebGLRe ... e.INCR;WebGLRe ... pe.INCRWebGLRe ... e.DECR;WebGLRe ... pe.DECRWebGLRe ... e.BOOL;WebGLRe ... pe.BOOLWebGLRe ... e.RGBA4WebGLRe ... e.NONE;WebGLRe ... pe.NONEWebGLRe ... canvas;WebGLRe ... .canvasWebGLRe ... rWidth;WebGLRe ... erWidthWebGLRe ... Height;WebGLRe ... rHeightWebGLRe ... n() {};WebGLRe ... on() {}WebGLRe ... ributesWebGLRe ... extLostWebGLRe ... ensionsgetSupp ... ensionsWebGLRe ... me) {};WebGLRe ... ame) {}WebGLRe ... tensionWebGLRe ... re) {};WebGLRe ... ure) {}WebGLRe ... Texturefunction(texture) {}WebGLRe ... er) {};WebGLRe ... der) {}WebGLRe ... hShaderfunctio ... der) {}WebGLRe ... ocationWebGLRe ... fer) {}WebGLRe ... dBufferWebGLRe ... ebufferWebGLRe ... rbufferWebGLRe ... ha) {};WebGLRe ... pha) {}WebGLRe ... ndColorfunctio ... pha) {}WebGLRe ... de) {};WebGLRe ... ode) {}WebGLRe ... quationWebGLRe ... eparateblendEq ... eparateWebGLRe ... or) {};WebGLRe ... tor) {}WebGLRe ... endFuncWebGLRe ... ge) {};WebGLRe ... age) {}WebGLRe ... ferDataWebGLRe ... ta) {};WebGLRe ... ata) {}WebGLRe ... SubDataWebGLRe ... et) {};WebGLRe ... get) {}WebGLRe ... rStatuscheckFr ... rStatusWebGLRe ... sk) {};WebGLRe ... ask) {}WebGLRe ... e.clearWebGLRe ... arColorWebGLRe ... th) {};WebGLRe ... pth) {}WebGLRe ... arDepthfunction(depth) {}WebGLRe ... (s) {};WebGLRe ... n(s) {}WebGLRe ... StencilWebGLRe ... lorMaskWebGLRe ... eShaderfunction(shader) {}WebGLRe ... Image2Dcompres ... Image2DWebGLRe ... ht) {};WebGLRe ... ght) {}WebGLRe ... eBufferWebGLRe ... ProgramWebGLRe ... pe) {};WebGLRe ... ype) {}WebGLRe ... ullFaceWebGLRe ... am) {};WebGLRe ... ram) {}function(program) {}WebGLRe ... nc) {};WebGLRe ... unc) {}WebGLRe ... pthFuncfunction(func) {}WebGLRe ... ag) {};WebGLRe ... lag) {}WebGLRe ... pthMaskWebGLRe ... al) {};WebGLRe ... Val) {}WebGLRe ... thRangefunctio ... Val) {}WebGLRe ... gs) {};WebGLRe ... ags) {}WebGLRe ... disableWebGLRe ... ex) {};WebGLRe ... dex) {}WebGLRe ... ibArraydisable ... ibArrayWebGLRe ... nt) {};WebGLRe ... unt) {}WebGLRe ... wArraysWebGLRe ... set) {}WebGLRe ... lementsWebGLRe ... ap) {};WebGLRe ... cap) {}WebGLRe ... .enablefunction(cap) {}enableV ... ibArrayWebGLRe ... .finishWebGLRe ... e.flushframebu ... rbufferWebGLRe ... el) {};WebGLRe ... vel) {}WebGLRe ... xture2DWebGLRe ... ontFaceWebGLRe ... eMipmapWebGLRe ... eAttribWebGLRe ... UniformWebGLRe ... ShadersWebGLRe ... rameterfunction(pname) {}WebGLRe ... etErrorgetFram ... rameterWebGLRe ... InfoLoggetRend ... rameterWebGLRe ... nFormatgetShad ... nFormatWebGLRe ... rSourceWebGLRe ... on) {};WebGLRe ... ion) {}WebGLRe ... xAttribWebGLRe ... bOffsetgetVert ... bOffsetWebGLRe ... pe.hintWebGLRe ... sBufferWebGLRe ... EnabledWebGLRe ... sShaderWebGLRe ... dth) {}WebGLRe ... neWidthfunction(width) {}WebGLRe ... lStoreiWebGLRe ... ts) {};WebGLRe ... its) {}WebGLRe ... nOffsetWebGLRe ... ls) {};WebGLRe ... els) {}WebGLRe ... dPixelsfunctio ... els) {}WebGLRe ... StorageWebGLRe ... rt) {};WebGLRe ... ert) {}WebGLRe ... overageWebGLRe ... scissorWebGLRe ... ce) {};WebGLRe ... rce) {}WebGLRe ... cilFuncfunctio ... ask) {}WebGLRe ... cilMaskWebGLRe ... ss) {};WebGLRe ... ass) {}WebGLRe ... encilOpfunctio ... ass) {}WebGLRe ... ameterfWebGLRe ... ameteriWebGLRe ... ue) {};WebGLRe ... lue) {}WebGLRe ... iform1fWebGLRe ... form1fvWebGLRe ... iform1iWebGLRe ... form1ivWebGLRe ... e2) {};WebGLRe ... ue2) {}WebGLRe ... iform2fWebGLRe ... form2fvWebGLRe ... iform2iWebGLRe ... form2ivWebGLRe ... e3) {};WebGLRe ... ue3) {}WebGLRe ... iform3ffunctio ... ue3) {}WebGLRe ... form3fvWebGLRe ... iform3iWebGLRe ... form3ivWebGLRe ... e4) {};WebGLRe ... ue4) {}WebGLRe ... iform4ffunctio ... ue4) {}WebGLRe ... form4fvWebGLRe ... iform4iWebGLRe ... form4ivWebGLRe ... trix2fvWebGLRe ... trix3fvWebGLRe ... trix4fvWebGLRe ... x) {};WebGLRe ... , x) {}WebGLRe ... ttrib1ffunction(indx, x) {}WebGLRe ... es) {};WebGLRe ... ues) {}WebGLRe ... trib1fvfunctio ... ues) {}WebGLRe ... y) {};WebGLRe ... , y) {}WebGLRe ... ttrib2fWebGLRe ... trib2fvWebGLRe ... z) {};WebGLRe ... , z) {}WebGLRe ... ttrib3ffunctio ... , z) {}WebGLRe ... trib3fvWebGLRe ... w) {};WebGLRe ... , w) {}WebGLRe ... ttrib4ffunctio ... , w) {}WebGLRe ... trib4fvWebGLRe ... PointerWebGLRe ... iewportWebGLCo ... ributesWebGLCo ... .alpha;WebGLCo ... e.alphaWebGLCo ... ototypeWebGLCo ... .depth;WebGLCo ... e.depthWebGLCo ... tencil;WebGLCo ... stencilWebGLCo ... ialias;WebGLCo ... tialiasWebGLCo ... dAlpha;WebGLCo ... edAlphaWebGLCo ... Buffer;WebGLCo ... gBufferpreserv ... gBufferWebGLCo ... rmance;WebGLCo ... ormancepreferL ... ormanceWebGLCo ... Caveat;WebGLCo ... eCaveatfailIfM ... eCaveatWebGLCo ... essage;WebGLCo ... Messagefunctio ... at() {}WebGLSh ... nFormatWebGLSh ... ngeMin;WebGLSh ... angeMinWebGLSh ... ototypeWebGLSh ... ngeMax;WebGLSh ... angeMaxWebGLSh ... cision;WebGLSh ... ecisionWebGLAc ... e.size;WebGLAc ... pe.sizeWebGLAc ... ototypeWebGLAc ... e.type;WebGLAc ... pe.typeWebGLAc ... e.name;WebGLAc ... pe.nameOES_tex ... f_floatOES_tex ... AT_OES;OES_tex ... OAT_OESOES_tex ... ototypeWEBGL_l ... n() {};WEBGL_l ... on() {}WEBGL_l ... ContextWEBGL_l ... ototypeOES_sta ... vativesOES_sta ... NT_OES;OES_sta ... INT_OESOES_sta ... ototypeFRAGMEN ... INT_OESfunctio ... ES() {}WebGLVe ... jectOESOES_ver ... _objectOES_ver ... NG_OES;OES_ver ... ING_OESOES_ver ... ototypeVERTEX_ ... ING_OESOES_ver ... n() {};OES_ver ... on() {}OES_ver ... rrayOESOES_ver ... ct) {};OES_ver ... ect) {}WEBGL_d ... er_infoWEBGL_d ... _WEBGL;WEBGL_d ... R_WEBGLWEBGL_d ... ototypeUNMASKE ... R_WEBGLWEBGL_d ... er) {};WEBGL_d ... der) {}WEBGL_d ... rSourcegetTran ... rSourcefunctio ... tc() {}WEBGL_c ... re_s3tcWEBGL_c ... T1_EXT;WEBGL_c ... XT1_EXTWEBGL_c ... ototypeCOMPRES ... XT1_EXTWEBGL_c ... T3_EXT;WEBGL_c ... XT3_EXTCOMPRES ... XT3_EXTWEBGL_c ... T5_EXT;WEBGL_c ... XT5_EXTCOMPRES ... XT5_EXTOES_ele ... ex_uintfunctio ... ic() {}EXT_tex ... otropicEXT_tex ... PY_EXT;EXT_tex ... OPY_EXTEXT_tex ... ototypeTEXTURE ... OPY_EXTMAX_TEX ... OPY_EXTWEBGL_d ... 0_WEBGLCOLOR_A ... 0_WEBGLWEBGL_d ... 1_WEBGLCOLOR_A ... 1_WEBGLWEBGL_d ... 2_WEBGLCOLOR_A ... 2_WEBGLWEBGL_d ... 3_WEBGLCOLOR_A ... 3_WEBGLWEBGL_d ... 4_WEBGLCOLOR_A ... 4_WEBGLWEBGL_d ... 5_WEBGLCOLOR_A ... 5_WEBGLWEBGL_d ... 6_WEBGLCOLOR_A ... 6_WEBGLWEBGL_d ... 7_WEBGLCOLOR_A ... 7_WEBGLWEBGL_d ... 8_WEBGLCOLOR_A ... 8_WEBGLWEBGL_d ... 9_WEBGLCOLOR_A ... 9_WEBGLWEBGL_d ... S_WEBGLMAX_COL ... S_WEBGLMAX_DRA ... S_WEBGLWEBGL_d ... rs) {};WEBGL_d ... ers) {}WEBGL_d ... rsWEBGLfunction(buffers) {}functio ... ys() {}ANGLE_i ... _arraysANGLE_i ... _ANGLE;ANGLE_i ... R_ANGLEANGLE_i ... ototypeVERTEX_ ... R_ANGLEANGLE_i ... nt) {};ANGLE_i ... unt) {}ANGLE_i ... edANGLEdrawArr ... edANGLEdrawEle ... edANGLEANGLE_i ... or) {};ANGLE_i ... sor) {}ANGLE_i ... orANGLEvertexA ... orANGLE/opt/codeql/javascript/tools/data/externs/web/webkit_css.js + * @fileoverview Definitions for WebKit's custom CSS properties. Copied from: + * {@link + * http://trac.webkit.org/browser/trunk/Source/WebCore/css/CSSPropertyNames.in} + * + * If you make changes to this file, notice that every property appears + * twice: once as an uppercase name and once as a lowercase name. + * WebKit allows both. The uppercase version is preferred. + * + * @externs + * @author nicksantos@google.com (Nick Santos) + WebKit also adds bindings for the lowercase versions of these properties.// WebK ... erties. The uppercase version is preferred.// The ... ferred. + * @constructor + * @param {number} x + * @param {number} y + /**\n * ... } y\n */WebkitAlignContentWebkitAlignItemsWebkitAlignSelfWebkitAnimationWebkitAnimationDelayWebkitAnimationDirectionWebkitAnimationDurationWebkitAnimationFillModeWebkitAnimationIterationCountWebkitAnimationNameWebkitAnimationPlayStateWebkitAnimationTimingFunctionWebkitAppearanceWebkitAppRegionWebkitAspectRatioWebkitBackfaceVisibilityWebkitBackgroundClipWebkitBackgroundCompositeWebkitBackgroundOriginWebkitBackgroundSizeWebkitBindingWebkitBlendModeWebkitBorderAfterWebkitBorderAfterColorWebkitBorderAfterStyleWebkitBorderAfterWidthWebkitBorderBeforeWebkitBorderBeforeColorWebkitBorderBeforeStyleWebkitBorderBeforeWidthWebkitBorderBottomLeftRadiusWebkitBorderBottomRightRadiusWebkitBorderEndWebkitBorderEndColorWebkitBorderEndStyleWebkitBorderEndWidthWebkitBorderFitWebkitBorderHorizontalSpacingWebkitBorderImageWebkitBorderRadiusWebkitBorderStartWebkitBorderStartColorWebkitBorderStartStyleWebkitBorderStartWidthWebkitBorderTopLeftRadiusWebkitBorderTopRightRadiusWebkitBorderVerticalSpacingWebkitBoxAlignWebkitBoxDecorationBreakWebkitBoxDirectionWebkitBoxFlexWebkitBoxFlexGroupWebkitBoxLinesWebkitBoxOrdinalGroupWebkitBoxOrientWebkitBoxPackWebkitBoxReflectWebkitBoxShadowWebkitBoxSizingWebkitColorCorrectionWebkitColumnAxisWebkitColumnBreakAfterWebkitColumnBreakBeforeWebkitColumnBreakInsideWebkitColumnCountWebkitColumnGapWebkitColumnProgressionWebkitColumnRuleWebkitColumnRuleColorWebkitColumnRuleStyleWebkitColumnRuleWidthWebkitColumnsWebkitColumnSpanWebkitColumnWidthWebkitDashboardRegionWebkitFilterWebkitFlexWebkitFlexBasisWebkitFlexDirectionWebkitFlexFlowWebkitFlexGrowWebkitFlexShrinkWebkitFlexWrapWebkitFlowFromWebkitFlowIntoWebkitFontSizeDeltaWebkitFontSmoothingWebkitGridColumnWebkitGridColumnsWebkitGridRowWebkitGridRowsWebkitHighlightWebkitHyphenateCharacterWebkitHyphenateLimitAfterWebkitHyphenateLimitBeforeWebkitHyphenateLimitLinesWebkitHyphensWebkitJustifyContentWebkitLineAlignWebkitLineBoxContainWebkitLineBreakWebkitLineClampWebkitLineGridWebkitLineSnapWebkitLocaleWebkitLogicalHeightWebkitLogicalWidthWebkitMarginAfterWebkitMarginAfterCollapseWebkitMarginBeforeWebkitMarginBeforeCollapseWebkitMarginBottomCollapseWebkitMarginCollapseWebkitMarginEndWebkitMarginStartWebkitMarginTopCollapseWebkitMarqueeWebkitMarqueeDirectionWebkitMarqueeIncrementWebkitMarqueeRepetitionWebkitMarqueeSpeedWebkitMarqueeStyleWebkitMaskWebkitMaskAttachmentWebkitMaskBoxImageWebkitMaskBoxImageOutsetWebkitMaskBoxImageRepeatWebkitMaskBoxImageSliceWebkitMaskBoxImageSourceWebkitMaskBoxImageWidthWebkitMaskClipWebkitMaskCompositeWebkitMaskImageWebkitMaskOriginWebkitMaskPositionWebkitMaskPositionXWebkitMaskPositionYWebkitMaskRepeatWebkitMaskRepeatXWebkitMaskRepeatYWebkitMaskSizeWebkitMatchNearestMailBlockquoteColorWebkitMaxLogicalHeightWebkitMaxLogicalWidthWebkitMinLogicalHeightWebkitMinLogicalWidthWebkitNbspModeWebkitOrderWebkitOverflowScrollingWebkitPaddingAfterWebkitPaddingBeforeWebkitPaddingEndWebkitPaddingStartWebkitPerspectiveWebkitPerspectiveOriginWebkitPerspectiveOriginXWebkitPerspectiveOriginYWebkitPrintColorAdjustWebkitRegionBreakAfterWebkitRegionBreakBeforeWebkitRegionBreakInsideWebkitRegionOverflowWebkitRtlOrderingWebkitRubyPositionWebkitShapeInsideWebkitShapeMarginWebkitShapeOutsideWebkitShapePaddingWebkitTapHighlightColorWebkitTextAlignLastWebkitTextCombineWebkitTextDecorationLineWebkitTextDecorationsInEffectWebkitTextDecorationStyleWebkitTextEmphasisWebkitTextEmphasisColorWebkitTextEmphasisPositionWebkitTextEmphasisStyleWebkitTextFillColorWebkitTextOrientationWebkitTextSecurityWebkitTextSizeAdjustWebkitTextStrokeWebkitTextStrokeColorWebkitTextStrokeWidthWebkitTransformWebkitTransformOriginWebkitTransformOriginXWebkitTransformOriginYWebkitTransformOriginZWebkitTransformStyleWebkitTransitionWebkitTransitionDelayWebkitTransitionDurationWebkitTransitionPropertyWebkitTransitionRepeatCountWebkitTransitionTimingFunctionWebkitUserDragWebkitUserModifyWebkitUserSelectWebkitWrapWebkitWrapFlowWebkitWrapThroughWebkitWritingModewebkitAlignContentwebkitAlignItemswebkitAlignSelfwebkitAnimationwebkitAnimationDelaywebkitAnimationDirectionwebkitAnimationDurationwebkitAnimationFillModewebkitAnimationIterationCountwebkitAnimationNamewebkitAnimationPlayStatewebkitAnimationTimingFunctionwebkitAppearancewebkitAppRegionwebkitAspectRatiowebkitBackfaceVisibilitywebkitBackgroundClipwebkitBackgroundCompositewebkitBackgroundOriginwebkitBackgroundSizewebkitBindingwebkitBlendModewebkitBorderAfterwebkitBorderAfterColorwebkitBorderAfterStylewebkitBorderAfterWidthwebkitBorderBeforewebkitBorderBeforeColorwebkitBorderBeforeStylewebkitBorderBeforeWidthwebkitBorderBottomLeftRadiuswebkitBorderBottomRightRadiuswebkitBorderEndwebkitBorderEndColorwebkitBorderEndStylewebkitBorderEndWidthwebkitBorderFitwebkitBorderHorizontalSpacingwebkitBorderImagewebkitBorderRadiuswebkitBorderStartwebkitBorderStartColorwebkitBorderStartStylewebkitBorderStartWidthwebkitBorderTopLeftRadiuswebkitBorderTopRightRadiuswebkitBorderVerticalSpacingwebkitBoxAlignwebkitBoxDecorationBreakwebkitBoxDirectionwebkitBoxFlexwebkitBoxFlexGroupwebkitBoxLineswebkitBoxOrdinalGroupwebkitBoxOrientwebkitBoxPackwebkitBoxReflectwebkitBoxShadowwebkitBoxSizingwebkitColorCorrectionwebkitColumnAxiswebkitColumnBreakAfterwebkitColumnBreakBeforewebkitColumnBreakInsidewebkitColumnCountwebkitColumnGapwebkitColumnProgressionwebkitColumnRulewebkitColumnRuleColorwebkitColumnRuleStylewebkitColumnRuleWidthwebkitColumnswebkitColumnSpanwebkitColumnWidthwebkitDashboardRegionwebkitFilterwebkitFlexwebkitFlexBasiswebkitFlexDirectionwebkitFlexFlowwebkitFlexGrowwebkitFlexShrinkwebkitFlexWrapwebkitFlowFromwebkitFlowIntowebkitFontSizeDeltawebkitFontSmoothingwebkitGridColumnwebkitGridColumnswebkitGridRowwebkitGridRowswebkitHighlightwebkitHyphenateCharacterwebkitHyphenateLimitAfterwebkitHyphenateLimitBeforewebkitHyphenateLimitLineswebkitHyphenswebkitJustifyContentwebkitLineAlignwebkitLineBoxContainwebkitLineBreakwebkitLineClampwebkitLineGridwebkitLineSnapwebkitLocalewebkitLogicalHeightwebkitLogicalWidthwebkitMarginAfterwebkitMarginAfterCollapsewebkitMarginBeforewebkitMarginBeforeCollapsewebkitMarginBottomCollapsewebkitMarginCollapsewebkitMarginEndwebkitMarginStartwebkitMarginTopCollapsewebkitMarqueewebkitMarqueeDirectionwebkitMarqueeIncrementwebkitMarqueeRepetitionwebkitMarqueeSpeedwebkitMarqueeStylewebkitMaskwebkitMaskAttachmentwebkitMaskBoxImagewebkitMaskBoxImageOutsetwebkitMaskBoxImageRepeatwebkitMaskBoxImageSlicewebkitMaskBoxImageSourcewebkitMaskBoxImageWidthwebkitMaskClipwebkitMaskCompositewebkitMaskImagewebkitMaskOriginwebkitMaskPositionwebkitMaskPositionXwebkitMaskPositionYwebkitMaskRepeatwebkitMaskRepeatXwebkitMaskRepeatYwebkitMaskSizewebkitMatchNearestMailBlockquoteColorwebkitMaxLogicalHeightwebkitMaxLogicalWidthwebkitMinLogicalHeightwebkitMinLogicalWidthwebkitNbspModewebkitOrderwebkitOverflowScrollingwebkitPaddingAfterwebkitPaddingBeforewebkitPaddingEndwebkitPaddingStartwebkitPerspectivewebkitPerspectiveOriginwebkitPerspectiveOriginXwebkitPerspectiveOriginYwebkitPrintColorAdjustwebkitRegionBreakAfterwebkitRegionBreakBeforewebkitRegionBreakInsidewebkitRegionOverflowwebkitRtlOrderingwebkitRubyPositionwebkitShapeInsidewebkitShapeMarginwebkitShapeOutsidewebkitShapePaddingwebkitTapHighlightColorwebkitTextAlignLastwebkitTextCombinewebkitTextDecorationLinewebkitTextDecorationsInEffectwebkitTextDecorationStylewebkitTextEmphasiswebkitTextEmphasisColorwebkitTextEmphasisPositionwebkitTextEmphasisStylewebkitTextFillColorwebkitTextOrientationwebkitTextSecuritywebkitTextSizeAdjustwebkitTextStrokewebkitTextStrokeColorwebkitTextStrokeWidthwebkitTransformwebkitTransformOriginwebkitTransformOriginXwebkitTransformOriginYwebkitTransformOriginZwebkitTransformStylewebkitTransitionwebkitTransitionDelaywebkitTransitionDurationwebkitTransitionPropertywebkitTransitionRepeatCountwebkitTransitionTimingFunctionwebkitUserDragwebkitUserModifywebkitUserSelectwebkitWrapwebkitWrapFlowwebkitWrapThroughwebkitWritingModeWebKitPointDefinitions for WebKit's custom CSS properties. Copied from: +{@link +http://trac.webkit.org/browser/trunk/Source/WebCore/css/CSSPropertyNames.in} +* If you make changes to this file, notice that every property appears +twice: once as an uppercase name and once as a lowercase name. +WebKit allows both. The uppercase version is preferred. +*CSSProp ... mation;CSSProp ... imationWebkitA ... rectionWebkitA ... urationCSSProp ... llMode;CSSProp ... illModeWebkitA ... illModeCSSProp ... onCountWebkitA ... onCountCSSProp ... onName;CSSProp ... ionNameCSSProp ... yState;CSSProp ... ayStateWebkitA ... ayStateWebkitA ... unctionCSSProp ... pRegionCSSProp ... tRatio;CSSProp ... ctRatioWebkitB ... ibilityCSSProp ... posite;CSSProp ... mpositeWebkitB ... mpositeWebkitB ... dOriginCSSProp ... ndMode;CSSProp ... endModeCSSProp ... rAfter;CSSProp ... erAfterWebkitB ... erColorWebkitB ... erStyleWebkitB ... erWidthCSSProp ... rBeforeCSSProp ... reColorWebkitB ... reColorCSSProp ... reStyleWebkitB ... reStyleCSSProp ... reWidthWebkitB ... reWidthWebkitB ... tRadiusCSSProp ... derFit;CSSProp ... rderFitWebkitB ... SpacingWebkitB ... rtColorWebkitB ... rtStyleWebkitB ... rtWidthCSSProp ... nBreak;CSSProp ... onBreakWebkitB ... onBreakCSSProp ... xGroup;CSSProp ... exGroupCSSProp ... xLines;CSSProp ... oxLinesWebkitB ... alGroupCSSProp ... eflect;CSSProp ... ReflectWebkitC ... rectionCSSProp ... mnAxis;CSSProp ... umnAxisWebkitC ... akAfterWebkitC ... kBeforeWebkitC ... kInsideWebkitC ... ressionWebkitC ... leColorWebkitC ... leStyleWebkitC ... leWidthCSSProp ... olumns;CSSProp ... ColumnsCSSProp ... mnSpan;CSSProp ... umnSpanCSSProp ... dRegionWebkitD ... dRegionCSSProp ... tFilterCSSProp ... itFlex;CSSProp ... kitFlexCSSProp ... owFrom;CSSProp ... lowFromCSSProp ... owInto;CSSProp ... lowIntoCSSProp ... eDelta;CSSProp ... zeDeltaCSSProp ... othing;CSSProp ... oothingCSSProp ... Column;CSSProp ... dColumnCSSProp ... ridRow;CSSProp ... GridRowCSSProp ... idRows;CSSProp ... ridRowsCSSProp ... hlight;CSSProp ... ghlightCSSProp ... racter;CSSProp ... aracterWebkitH ... aracterCSSProp ... tAfter;CSSProp ... itAfterWebkitH ... itAfterCSSProp ... tBeforeWebkitH ... tBeforeCSSProp ... tLines;CSSProp ... itLinesWebkitH ... itLinesCSSProp ... yphens;CSSProp ... HyphensCSSProp ... eAlign;CSSProp ... neAlignCSSProp ... ontain;CSSProp ... ContainCSSProp ... eClamp;CSSProp ... neClampCSSProp ... neGrid;CSSProp ... ineGridCSSProp ... neSnap;CSSProp ... ineSnapCSSProp ... Locale;CSSProp ... tLocaleCSSProp ... alWidthCSSProp ... nAfter;CSSProp ... inAfterWebkitM ... ollapseCSSProp ... nBeforeCSSProp ... arquee;CSSProp ... MarqueeWebkitM ... rectionWebkitM ... crementCSSProp ... tition;CSSProp ... etitionWebkitM ... etitionCSSProp ... eSpeed;CSSProp ... eeSpeedCSSProp ... eeStyleCSSProp ... itMask;CSSProp ... kitMaskCSSProp ... xImage;CSSProp ... oxImageWebkitM ... eOutsetWebkitM ... eRepeatWebkitM ... geSliceWebkitM ... eSourceWebkitM ... geWidthCSSProp ... skClip;CSSProp ... askClipCSSProp ... kImage;CSSProp ... skImageCSSProp ... kOriginCSSProp ... kRepeatCSSProp ... epeatX;CSSProp ... RepeatXCSSProp ... epeatY;CSSProp ... RepeatYCSSProp ... skSize;CSSProp ... askSizeCSSProp ... teColorWebkitM ... teColorWebkitM ... lHeightWebkitM ... alWidthCSSProp ... spMode;CSSProp ... bspModeCSSProp ... tOrder;CSSProp ... itOrderCSSProp ... olling;CSSProp ... rollingWebkitO ... rollingCSSProp ... gAfter;CSSProp ... ngAfterCSSProp ... gBeforeWebkitP ... eOriginCSSProp ... riginX;CSSProp ... OriginXWebkitP ... OriginXCSSProp ... riginY;CSSProp ... OriginYWebkitP ... OriginYCSSProp ... rAdjustWebkitP ... rAdjustWebkitR ... akAfterWebkitR ... kBeforeWebkitR ... kInsideCSSProp ... dering;CSSProp ... rderingCSSProp ... eInsideCSSProp ... Margin;CSSProp ... eMarginCSSProp ... utside;CSSProp ... OutsideCSSProp ... PaddingWebkitT ... htColorCSSProp ... ombine;CSSProp ... CombineCSSProp ... onLine;CSSProp ... ionLineWebkitT ... ionLineCSSProp ... Effect;CSSProp ... nEffectWebkitT ... nEffectCSSProp ... nStyle;CSSProp ... onStyleWebkitT ... onStyleCSSProp ... phasis;CSSProp ... mphasisCSSProp ... sColor;CSSProp ... isColorWebkitT ... isColorWebkitT ... ositionCSSProp ... sStyle;CSSProp ... isStyleWebkitT ... isStyleCSSProp ... lColor;CSSProp ... llColorCSSProp ... tation;CSSProp ... ntationWebkitT ... ntationCSSProp ... curity;CSSProp ... ecurityCSSProp ... Stroke;CSSProp ... tStrokeCSSProp ... keColorWebkitT ... keColorCSSProp ... keWidthWebkitT ... keWidthWebkitT ... mOriginWebkitT ... OriginXWebkitT ... OriginYCSSProp ... riginZ;CSSProp ... OriginZWebkitT ... OriginZWebkitT ... onDelayWebkitT ... urationWebkitT ... ropertyCSSProp ... tCount;CSSProp ... atCountWebkitT ... atCountWebkitT ... unctionCSSProp ... erDrag;CSSProp ... serDragCSSProp ... itWrap;CSSProp ... kitWrapCSSProp ... apFlow;CSSProp ... rapFlowCSSProp ... hrough;CSSProp ... ThroughwebkitA ... rectionwebkitA ... urationwebkitA ... illModewebkitA ... onCountwebkitA ... ayStatewebkitA ... unctionwebkitB ... ibilitywebkitB ... mpositewebkitB ... dOriginwebkitB ... erColorwebkitB ... erStylewebkitB ... erWidthwebkitB ... reColorwebkitB ... reStylewebkitB ... reWidthwebkitB ... tRadiuswebkitB ... SpacingwebkitB ... rtColorwebkitB ... rtStylewebkitB ... rtWidthwebkitB ... onBreakwebkitB ... alGroupwebkitC ... rectionwebkitC ... akAfterwebkitC ... kBeforewebkitC ... kInsidewebkitC ... ressionwebkitC ... leColorwebkitC ... leStylewebkitC ... leWidthwebkitD ... dRegionwebkitH ... aracterwebkitH ... itAfterwebkitH ... tBeforewebkitH ... itLineswebkitM ... ollapsewebkitM ... rectionwebkitM ... crementwebkitM ... etitionwebkitM ... eOutsetwebkitM ... eRepeatwebkitM ... geSlicewebkitM ... eSourcewebkitM ... geWidthwebkitM ... teColorwebkitM ... lHeightwebkitM ... alWidthwebkitO ... rollingwebkitP ... eOriginwebkitP ... OriginXwebkitP ... OriginYwebkitP ... rAdjustwebkitR ... akAfterwebkitR ... kBeforewebkitR ... kInsidewebkitT ... htColorwebkitT ... ionLinewebkitT ... nEffectwebkitT ... onStylewebkitT ... isColorwebkitT ... ositionwebkitT ... isStylewebkitT ... ntationwebkitT ... keColorwebkitT ... keWidthwebkitT ... mOriginwebkitT ... OriginXwebkitT ... OriginYwebkitT ... OriginZwebkitT ... onDelaywebkitT ... urationwebkitT ... ropertywebkitT ... atCountwebkitT ... unctionWebKitP ... type.x;WebKitP ... otype.xWebKitP ... ototypeWebKitP ... type.y;WebKitP ... otype.y/opt/codeql/javascript/tools/data/externs/web/webkit_dom.js + * @fileoverview Definitions for all the extensions over W3C's DOM + * specification by WebKit. This file depends on w3c_dom2.js. + * All the provided definitions has been type annotated + * + * @externs + + * @param {boolean=} opt_center + * @see https://bugzilla.mozilla.org/show_bug.cgi?id=403510 + * @return {undefined} + + * @constructor + * @see http://trac.webkit.org/browser/trunk/Source/WebCore/page/MemoryInfo.idl + * @see http://trac.webkit.org/browser/trunk/Source/WebCore/page/MemoryInfo.cpp + /**\n * ... cpp\n */ + * @constructor + * @see http://trac.webkit.org/browser/trunk/Source/WebCore/inspector/ScriptProfileNode.idl + @type {Array} + * @constructor + * @see http://trac.webkit.org/browser/trunk/Source/WebCore/inspector/ScriptProfile.idl + @type {ScriptProfileNode} + * @constructor + * @see http://trac.webkit.org/browser/trunk/Source/WebCore/page/Console.idl + * @see http://trac.webkit.org/browser/trunk/Source/WebCore/page/Console.cpp + + * @param {*} condition + * @param {...*} var_args + * @return {undefined} + + * @param {...*} var_args + * @return {undefined} + + * @param {*} value + * @return {undefined} + + * @param {!Object} data + * @param {*=} opt_columns + * @return {undefined} + + * @param {string=} opt_title + * @return {undefined} + @type {Array} /** @ty ... le>} */ @type {MemoryInfo} /** @ty ... nfo} */ + * @type {!Console} + * @suppress {duplicate} + + * @type {number} + * @see http://developer.android.com/reference/android/webkit/WebView.html + + * @param {Node} baseNode + * @param {number} baseOffset + * @param {Node} extentNode + * @param {number} extentOffset + * @return {undefined} + + * @param {string} alter + * @param {string} direction + * @param {string} granularity + * @return {undefined} + + * @param {Element} element + * @param {string} pseudoElement + * @param {boolean=} opt_authorOnly + * @return {CSSRuleList} + * @nosideeffects + + * @param {string} contextId + * @param {string} name + * @param {number} width + * @param {number} height + * @nosideeffects + * @return {undefined} + + * @param {number} x + * @param {number} y + * @return {?Range} + * @nosideeffects + * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/caretRangeFromPoint + scrollIntoViewIfNeededopt_centerMemoryInfoScriptProfileNodefunctionNametotalTimeselfTimenumberOfCallscallUIDScriptProfileprofilesdevicePixelRatiobaseNodebaseOffsetextentNodeextentOffsetsetBaseAndExtentmodifyaltergranularitygetMatchedCSSRulesopt_authorOnlygetCSSCanvasContextcaretRangeFromPointDefinitions for all the extensions over W3C's DOM +specification by WebKit. This file depends on w3c_dom2.js. +All the provided definitions has been type annotated +*https://bugzilla.mozilla.org/show_bug.cgi?id=403510 +http://trac.webkit.org/browser/trunk/Source/WebCore/page/MemoryInfo.idl +http://trac.webkit.org/browser/trunk/Source/WebCore/page/MemoryInfo.cpphttp://trac.webkit.org/browser/trunk/Source/WebCore/inspector/ScriptProfileNode.idlArray.http://trac.webkit.org/browser/trunk/Source/WebCore/inspector/ScriptProfile.idlhttp://trac.webkit.org/browser/trunk/Source/WebCore/page/Console.idl +http://trac.webkit.org/browser/trunk/Source/WebCore/page/Console.cppArray.http://developer.android.com/reference/android/webkit/WebView.html?Rangehttps://developer.mozilla.org/en-US/docs/Web/API/Document/caretRangeFromPointElement ... er) {};Element ... ter) {}Element ... fNeededscrollI ... fNeededMemoryI ... apSize;MemoryI ... eapSizeMemoryInfo.prototypeMemoryI ... eLimit;MemoryI ... zeLimitScriptP ... onName;ScriptP ... ionNameScriptP ... ototypeScriptP ... pe.url;ScriptP ... ype.urlScriptP ... Number;ScriptP ... eNumberScriptP ... alTime;ScriptP ... talTimeScriptP ... lfTime;ScriptP ... elfTimeScriptP ... fCalls;ScriptP ... OfCallsScriptP ... ildren;ScriptP ... hildrenScriptP ... isible;ScriptP ... visibleScriptP ... allUID;ScriptP ... callUIDScriptP ... .title;ScriptP ... e.titleScriptP ... pe.uid;ScriptP ... ype.uidScriptP ... e.head;ScriptP ... pe.headConsole ... ofiles;Console ... rofilesConsole ... memory;Console ... .memoryWindow. ... onsole;Window. ... consolevar console;Window. ... lRatio;Window. ... elRatioSelecti ... seNode;Selecti ... aseNodeSelecti ... eOffsetSelecti ... ntNode;Selecti ... entNodeSelecti ... tOffsetSelecti ... e.type;Selecti ... pe.typeSelecti ... e.emptySelecti ... dExtentSelecti ... ty) {};Selecti ... ity) {}Selecti ... .modifyViewCSS ... ly) {};ViewCSS ... nly) {}ViewCSS ... SSRulesDocumen ... ht) {};Documen ... ght) {}Documen ... Context/opt/codeql/javascript/tools/data/externs/web/webkit_event.js + * @fileoverview Definitions for all the extensions over W3C's + * event specification by WebKit. This file depends on w3c_event.js. + * All the provided definitions have been type annotated + * + * @externs + + * @constructor + * @extends {Event} + * @see http://developer.apple.com/library/safari/documentation/AudioVideo/Reference/WebKitAnimationEventClassReference/WebKitAnimationEvent/WebKitAnimationEvent.html + WebKitAnimationEventDefinitions for all the extensions over W3C's +event specification by WebKit. This file depends on w3c_event.js. +All the provided definitions have been type annotated +*http://developer.apple.com/library/safari/documentation/AudioVideo/Reference/WebKitAnimationEventClassReference/WebKitAnimationEvent/WebKitAnimationEvent.htmlEvent.p ... DeltaX;Event.p ... lDeltaXEvent.p ... DeltaY;Event.p ... lDeltaYWebKitA ... onName;WebKitA ... ionNameWebKitA ... ototypeWebKitA ... edTime;WebKitA ... sedTime/opt/codeql/javascript/tools/data/externs/web/webkit_notifications.js + * @fileoverview Definitions for W3C's Notifications specification. + * @externs + + * @typedef {{dir: (string|undefined), lang: (string|undefined), + * body: (string|undefined), tag: (string|undefined), + * icon: (string|undefined), + * requireInteraction: (boolean|undefined), + * actions: (!Array|undefined)}} + * @see http://notifications.spec.whatwg.org/#notificationoptions + + * @typedef {{action: string, title: string, icon: (string|undefined)}} + * @see https://notifications.spec.whatwg.org/#dictdef-notificationoptions + + * @typedef {{tag: (string|undefined)}} + * @see https://notifications.spec.whatwg.org/#dictdef-getnotificationoptions + @interface /** @interface */ + * @param {string} title + * @param {NotificationOptions=} opt_options + * @constructor + * @implements {EventTarget} + * @see http://notifications.spec.whatwg.org/#notification + + * @param {NotificationPermissionCallback=} opt_callback + * @return {!Promise} + + * The string used by clients to identify the notification. + * @type {string} + + * The ID used by clients to uniquely identify notifications to eliminate + * duplicate notifications. + * @type {string} + * @deprecated Use NotificationOptions.tag instead. + + * The string used by clients to specify the directionality (rtl/ltr) of the + * notification. + * @type {string} + * @deprecated Use NotificationOptions.titleDir and bodyDir instead. + + * Displays the notification. + * @return {undefined} + + * Prevents the notification from being displayed, or closes it if it is already + * displayed. + * @return {undefined} + + * An event handler called when notification is closed. + * @type {?function(Event)} + + * An event handler called if the notification could not be displayed due to + * an error (i.e. resource could not be loaded). + * @type {?function(Event)} + + * An event handler called when the notification has become visible. + * @type {?function(Event)} + * @deprecated Use onshow instead. + + * An event handler called when the notification has become visible. + * @type {?function(Event)} + + * An event handler called when the notification has been clicked on. + * @type {?function(Event)} + + * @typedef {function(string)} + * @see http://notifications.spec.whatwg.org/#notificationpermissioncallback + + * @constructor + * @see http://dev.w3.org/2006/webapi/WebNotifications/publish/#dialog-if + * @deprecated Use Notification instead. + + * Creates a text+icon notification and displays it to the user. + * @param {string} iconUrl + * @param {string} title + * @param {string} body + * @return {Notification} + + * Creates an HTML notification and displays it to the user. + * @param {string} url + * @return {Notification} + + * Checks if the user has permission to display notifications. + * @return {number} + + * Requests permission from the user to display notifications. + * @param {Function=} opt_callback + * @return {void} + + * WebKit browsers expose the NotificationCenter API through + * window.webkitNotifications. + * @type {NotificationCenter} + + * @see https://notifications.spec.whatwg.org/#notificationevent + * @constructor + * @param {string} type + * @param {!ExtendableEventInit=} opt_eventInitDict + * @extends {ExtendableEvent} + @type {?Notification} NotificationActionNotificationOptionsInterface_requireInteractionrequestPermissionreplaceIdondisplayonshowNotificationPermissionCallbackNotificationCentercreateNotificationiconUrlcreateHTMLNotificationcheckPermissionwebkitNotificationsNotificationEventnotificationDefinitions for W3C's Notifications specification. +{dir: (string|undefined), lang: (string|undefined), body: (string|undefined), tag: (string|undefined), icon: (string|undefined), requireInteraction: (boolean|undefined), actions: (!Array.|undefined)}actions(!Array.|undefined)!Array.Array.!NotificationActionhttp://notifications.spec.whatwg.org/#notificationoptions{action: string, title: string, icon: (string|undefined)}https://notifications.spec.whatwg.org/#dictdef-notificationoptions{tag: (string|undefined)}https://notifications.spec.whatwg.org/#dictdef-getnotificationoptionshttp://notifications.spec.whatwg.org/#notificationNotificationPermissionCallback=The string used by clients to identify the notification.The ID used by clients to uniquely identify notifications to eliminate +duplicate notifications.Use NotificationOptions.tag instead.The string used by clients to specify the directionality (rtl/ltr) of the +notification.Use NotificationOptions.titleDir and bodyDir instead.Displays the notification.Prevents the notification from being displayed, or closes it if it is already +displayed.An event handler called when notification is closed.An event handler called if the notification could not be displayed due to +an error (i.e. resource could not be loaded).An event handler called when the notification has become visible.Use onshow instead.An event handler called when the notification has been clicked on.http://notifications.spec.whatwg.org/#notificationpermissioncallbackhttp://dev.w3.org/2006/webapi/WebNotifications/publish/#dialog-if +Use Notification instead.Creates a text+icon notification and displays it to the user.Creates an HTML notification and displays it to the user.Checks if the user has permission to display notifications.Requests permission from the user to display notifications.WebKit browsers expose the NotificationCenter API through +window.webkitNotifications.https://notifications.spec.whatwg.org/#notificationevent +var Not ... ptions;var Not ... Action;GetNoti ... Optionsvar Not ... on() {}Notific ... on() {}Notific ... erface_Notific ... pe.dir;Notific ... ype.dirNotific ... ototypeNotific ... e.lang;Notific ... pe.langNotific ... e.body;Notific ... pe.bodyNotific ... pe.tag;Notific ... ype.tagNotific ... e.icon;Notific ... pe.iconNotific ... action;Notific ... ractionNotific ... ission;Notific ... missionNotific ... ck) {};Notific ... ack) {}Notific ... re) {};Notific ... ure) {}Notific ... istenerNotific ... vt) {};Notific ... evt) {}Notific ... chEventNotific ... .title;Notific ... e.titleNotific ... laceId;Notific ... placeIdNotific ... n() {};Notific ... pe.showNotific ... .cancelNotific ... e.closeNotific ... nclose;Notific ... oncloseNotific ... nerror;Notific ... onerrorNotific ... isplay;Notific ... displayNotific ... onshow;Notific ... .onshowNotific ... nclick;Notific ... onclickvar Not ... llback;Notific ... allbackNotific ... dy) {};Notific ... ody) {}Notific ... icationfunctio ... ody) {}Notific ... rl) {};Notific ... url) {}createH ... icationWindow. ... ations;Window. ... cationsNotific ... cation;/opt/codeql/javascript/tools/data/externs/web/webkit_usercontent.js + * @fileoverview Definitions for WKWebView's User Content interface. + * https://developer.apple.com/library/prerelease/ios/documentation/WebKit/Reference/WKUserContentController_Ref/ + * https://trac.webkit.org/browser/trunk/Source/WebCore/page/WebKitNamespace.h + * + * @externs + + * @type {!UserMessageHandlersNamespace} + + * @constructor + * @implements {IObject} + + * @param {*} message + * @return {undefined} + + * @type {!WebKitNamespace} + * @const + WebKitNamespacemessageHandlersUserMessageHandlersNamespaceUserMessageHandlerDefinitions for WKWebView's User Content interface. +https://developer.apple.com/library/prerelease/ios/documentation/WebKit/Reference/WKUserContentController_Ref/ +https://trac.webkit.org/browser/trunk/Source/WebCore/page/WebKitNamespace.h +*!UserMessageHandlersNamespaceIObject.!WebKitNamespaceWebKitN ... ndlers;WebKitN ... andlersWebKitN ... ototypeUserMes ... mespaceUserMes ... ge) {};UserMes ... age) {}UserMes ... MessageUserMes ... ototypevar webkit;/opt/codeql/javascript/tools/data/externs/web/webstorage.js + * @fileoverview Definitions for W3C's WebStorage specification. + * This file depends on html5.js. + * @externs + + * @interface + * @see http://www.w3.org/TR/2011/CR-webstorage-20111208/#the-storage-interface + + * @param {number} index + * @return {?string} + + * @param {string} key + * @return {?string} + + * @param {string} key + * @param {string} data + * @return {void} + + * @param {string} key + * @return {void} + + * @interface + * @see http://www.w3.org/TR/2011/CR-webstorage-20111208/#the-sessionstorage-attribute + + * @type {Storage} + + * Window implements WindowSessionStorage + * + * @type {Storage} + + * @interface + * @see http://www.w3.org/TR/2011/CR-webstorage-20111208/#the-localstorage-attribute + + * Window implements WindowLocalStorage + * + * @type {Storage} + + * This is the storage event interface. + * @see http://www.w3.org/TR/2011/CR-webstorage-20111208/#the-storage-event + * @extends {Event} + * @constructor + + * @type {?Storage} + + * @param {string} typeArg + * @param {boolean} canBubbleArg + * @param {boolean} cancelableArg + * @param {string} keyArg + * @param {?string} oldValueArg + * @param {?string} newValueArg + * @param {string} urlArg + * @param {?Storage} storageAreaArg + * @return {void} + StorageWindowSessionStorageWindowLocalStorageStorageEventstorageAreainitStorageEventkeyArgoldValueArgurlArgstorageAreaArgDefinitions for W3C's WebStorage specification. +This file depends on html5.js. +http://www.w3.org/TR/2011/CR-webstorage-20111208/#the-storage-interfacehttp://www.w3.org/TR/2011/CR-webstorage-20111208/#the-sessionstorage-attributeWindow implements WindowSessionStoragehttp://www.w3.org/TR/2011/CR-webstorage-20111208/#the-localstorage-attributeWindow implements WindowLocalStorageThis is the storage event interface.http://www.w3.org/TR/2011/CR-webstorage-20111208/#the-storage-event +?StorageStorage ... length;Storage ... .lengthStorage.prototypeStorage ... ex) {};Storage ... dex) {}Storage ... ype.keyStorage ... ey) {};Storage ... key) {}Storage ... getItemStorage ... ta) {};Storage ... ata) {}Storage ... setItemStorage ... oveItemStorage ... n() {};Storage ... on() {}Storage ... e.clearWindowS ... torage;WindowS ... StorageWindowS ... ototypeWindowL ... torage;WindowL ... StorageWindowL ... ototypeStorage ... pe.key;Storage ... dValue;Storage ... ldValueStorage ... wValue;Storage ... ewValueStorage ... pe.url;Storage ... ype.urlStorage ... geArea;Storage ... ageAreaStorage ... rg) {};Storage ... Arg) {}Storage ... geEvent/opt/codeql/javascript/tools/data/externs/web/whatwg_encoding.js + * @fileoverview Definitions for WHATWG's Encoding specification + * https://encoding.spec.whatwg.org + * @externs + + * @param {!BufferSource=} input + * @param {?Object=} options + * @return {!string} + * @see https://encoding.spec.whatwg.org/#textdecoder + + * @constructor + * @param {string=} utfLabel + /**\n * ... bel\n */ + * @param {string=} input + * @return {!Uint8Array} + utfLabelDefinitions for WHATWG's Encoding specification +https://encoding.spec.whatwg.org +!BufferSource=?Object=https://encoding.spec.whatwg.org/#textdecoder/opt/codeql/javascript/tools/data/externs/web/window.js + * @fileoverview JavaScript Built-Ins for windows properties. + * + * @externs + * @author stevey@google.com (Steve Yegge) + Window properties// Window properties Only common properties are here. Others such as open()// Only ... open() should be used with an explicit Window object.// shou ... object. + * @type {!Window} + * @see https://developer.mozilla.org/en/DOM/window.top + * @const + + * @type {!Navigator} + * @see https://developer.mozilla.org/en/DOM/window.navigator + * @const + + * @type {!HTMLDocument} + * @see https://developer.mozilla.org/en/DOM/window.document + * @const + + * @type {!Location} + * @see https://developer.mozilla.org/en/DOM/window.location + * @const + * @suppress {duplicate} + * @implicitCast + + * @type {!Screen} + * @see https://developer.mozilla.org/En/DOM/window.screen + * @const + + * @type {!Window} + * @see https://developer.mozilla.org/En/DOM/Window.self + * @const + Magic functions for Firefox's LiveConnect.// Magi ... onnect. We'll probably never use these in practice. But redefining them// We'l ... ng them will fire up the JVM, so we want to reserve the symbol names.// will ... names. + * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaArray + + * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaClass + We just ripped this from the FF source; it doesn't appear to be// We j ... r to be publicly documented.// publ ... mented. + * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaObject + + * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaPackage + + * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Packages + + * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/java + /**\n * ... ava\n */ + * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/netscape + /**\n * ... ape\n */ + * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/sun + /**\n * ... sun\n */ + * @param {number|undefined|null} immediateID + * @see https://developer.mozilla.org/en-US/docs/DOM/window.clearImmediate + * @see http://msdn.microsoft.com/en-us/library/ie/hh924825(v=vs.85).aspx + * @return {undefined} + + * @param {number|undefined?} intervalID + * @see https://developer.mozilla.org/en/DOM/window.clearInterval + * @suppress {duplicate} + * @return {undefined} + + * @param {number|undefined?} timeoutID + * @see https://developer.mozilla.org/en/DOM/window.clearTimeout + * @suppress {duplicate} + * @return {undefined} + + * @param {*} message + * @return {boolean} + * @see https://developer.mozilla.org/en/DOM/window.confirm + /**\n * ... irm\n */ + * @see https://developer.mozilla.org/en/DOM/window.dump + * @param {*} x + * @return {undefined} + + * @param {string} message + * @param {string=} opt_value + * @return {?string} + * @see https://developer.mozilla.org/en/DOM/window.prompt + /**\n * ... mpt\n */ + * @param {function()} callback + * @return {number} + * @see https://developer.mozilla.org/en-US/docs/DOM/window.setImmediate + * @see http://msdn.microsoft.com/en-us/library/ie/hh773176(v=vs.85).aspx + + * @param {Function|string} callback + * @param {number=} opt_delay + * @return {number} + * @see https://developer.mozilla.org/en/DOM/window.setInterval + * @see https://html.spec.whatwg.org/multipage/webappapis.html#timers + + * @param {Function|string} callback + * @param {number=} opt_delay + * @param {...*} var_args + * @return {number} + * @see https://developer.mozilla.org/en/DOM/window.setTimeout + * @see https://html.spec.whatwg.org/multipage/webappapis.html#timers + screenJavaArrayJavaClassJavaMemberJavaObjectJavaPackagePackagesjavanetscapesunimmediateIDintervalIDtimeoutIDdumpopt_delayJavaScript Built-Ins for windows properties. +*https://developer.mozilla.org/en/DOM/window.top +!Navigatorhttps://developer.mozilla.org/en/DOM/window.navigator +https://developer.mozilla.org/en/DOM/window.document +https://developer.mozilla.org/en/DOM/window.location +!Screenhttps://developer.mozilla.org/En/DOM/window.screen +https://developer.mozilla.org/En/DOM/Window.self +https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaArrayhttps://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaClasshttps://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaObjecthttps://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaPackagehttps://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Packageshttps://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/javahttps://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/netscapehttps://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/sun(number|undefined|null)https://developer.mozilla.org/en-US/docs/DOM/window.clearImmediate +http://msdn.microsoft.com/en-us/library/ie/hh924825(v=vs.85).aspx +(number|undefined?)undefined?https://developer.mozilla.org/en/DOM/window.clearInterval +https://developer.mozilla.org/en/DOM/window.clearTimeout +https://developer.mozilla.org/en/DOM/window.confirmhttps://developer.mozilla.org/en/DOM/window.dump +https://developer.mozilla.org/en/DOM/window.prompthttps://developer.mozilla.org/en-US/docs/DOM/window.setImmediate +http://msdn.microsoft.com/en-us/library/ie/hh773176(v=vs.85).aspx(Function|string)https://developer.mozilla.org/en/DOM/window.setInterval +https://html.spec.whatwg.org/multipage/webappapis.html#timershttps://developer.mozilla.org/en/DOM/window.setTimeout +var top;var navigator;var document;var location;var screen;var self;var JavaArray;var JavaClass;var JavaMember;var JavaObject;var JavaPackage;var Packages;var java;var netscape;var sun;functio ... eID) {}functio ... lID) {}functio ... tID) {}function dump(x) {}R \ No newline at end of file diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/1/buckets/info b/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/1/buckets/info new file mode 100644 index 0000000..0111728 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/1/buckets/info differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/1/buckets/page-000000 b/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/1/buckets/page-000000 new file mode 100644 index 0000000..6d17cf9 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/1/buckets/page-000000 differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/1/ids1/info b/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/1/ids1/info new file mode 100644 index 0000000..799471f Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/1/ids1/info differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/1/ids1/page-000000 b/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/1/ids1/page-000000 new file mode 100644 index 0000000..6d17cf9 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/1/ids1/page-000000 differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/1/indices1/info b/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/1/indices1/info new file mode 100644 index 0000000..799471f Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/1/indices1/info differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/1/indices1/page-000000 b/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/1/indices1/page-000000 new file mode 100644 index 0000000..6d17cf9 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/1/indices1/page-000000 differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/1/info b/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/1/info new file mode 100644 index 0000000..a233d0f Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/1/info differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/1/metadata/info b/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/1/metadata/info new file mode 100644 index 0000000..9cdb710 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/1/metadata/info differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/1/metadata/page-000000 b/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/1/metadata/page-000000 new file mode 100644 index 0000000..6d17cf9 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/1/metadata/page-000000 differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/1/pageDump/page-000000000 b/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/1/pageDump/page-000000000 new file mode 100644 index 0000000..7bccaeb Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/1/pageDump/page-000000000 differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/max-id#Dynamic-New-Entities b/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/max-id#Dynamic-New-Entities new file mode 100644 index 0000000..2f6da5c Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/max-id#Dynamic-New-Entities differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/poolInfo b/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/poolInfo new file mode 100644 index 0000000..b63e636 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/poolInfo differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/tuples#Dynamic-New-Entities b/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/tuples#Dynamic-New-Entities new file mode 100644 index 0000000..98318f4 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/pools/tuples#Dynamic-New-Entities differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/properties.rel b/themes/uksf-mod-theme/codeql-db/db-javascript/default/properties.rel new file mode 100644 index 0000000..0f9c2e3 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/properties.rel differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/properties.rel.meta b/themes/uksf-mod-theme/codeql-db/db-javascript/default/properties.rel.meta new file mode 100644 index 0000000..9eb5676 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/properties.rel.meta differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/range_quantifier_lower_bound.rel b/themes/uksf-mod-theme/codeql-db/db-javascript/default/range_quantifier_lower_bound.rel new file mode 100644 index 0000000..ef37701 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/range_quantifier_lower_bound.rel differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/range_quantifier_lower_bound.rel.meta b/themes/uksf-mod-theme/codeql-db/db-javascript/default/range_quantifier_lower_bound.rel.meta new file mode 100644 index 0000000..71b1f68 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/range_quantifier_lower_bound.rel.meta differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/range_quantifier_upper_bound.rel b/themes/uksf-mod-theme/codeql-db/db-javascript/default/range_quantifier_upper_bound.rel new file mode 100644 index 0000000..f80ff80 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/range_quantifier_upper_bound.rel differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/range_quantifier_upper_bound.rel.meta b/themes/uksf-mod-theme/codeql-db/db-javascript/default/range_quantifier_upper_bound.rel.meta new file mode 100644 index 0000000..0d1cac0 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/range_quantifier_upper_bound.rel.meta differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/regexp_const_value.rel b/themes/uksf-mod-theme/codeql-db/db-javascript/default/regexp_const_value.rel new file mode 100644 index 0000000..cfe3cf4 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/regexp_const_value.rel differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/regexp_const_value.rel.meta b/themes/uksf-mod-theme/codeql-db/db-javascript/default/regexp_const_value.rel.meta new file mode 100644 index 0000000..df0a82a Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/regexp_const_value.rel.meta differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/regexpterm.rel b/themes/uksf-mod-theme/codeql-db/db-javascript/default/regexpterm.rel new file mode 100644 index 0000000..4573015 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/regexpterm.rel differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/regexpterm.rel.meta b/themes/uksf-mod-theme/codeql-db/db-javascript/default/regexpterm.rel.meta new file mode 100644 index 0000000..f81e484 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/regexpterm.rel.meta differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/scopenesting.rel b/themes/uksf-mod-theme/codeql-db/db-javascript/default/scopenesting.rel new file mode 100644 index 0000000..ca0268e Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/scopenesting.rel differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/scopenesting.rel.meta b/themes/uksf-mod-theme/codeql-db/db-javascript/default/scopenesting.rel.meta new file mode 100644 index 0000000..16f3782 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/scopenesting.rel.meta differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/scopenodes.rel b/themes/uksf-mod-theme/codeql-db/db-javascript/default/scopenodes.rel new file mode 100644 index 0000000..8d243aa Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/scopenodes.rel differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/scopenodes.rel.meta b/themes/uksf-mod-theme/codeql-db/db-javascript/default/scopenodes.rel.meta new file mode 100644 index 0000000..e0559a8 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/scopenodes.rel.meta differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/scopes.rel b/themes/uksf-mod-theme/codeql-db/db-javascript/default/scopes.rel new file mode 100644 index 0000000..b22db28 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/scopes.rel differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/scopes.rel.meta b/themes/uksf-mod-theme/codeql-db/db-javascript/default/scopes.rel.meta new file mode 100644 index 0000000..a88a852 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/scopes.rel.meta differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/sourceLocationPrefix.rel b/themes/uksf-mod-theme/codeql-db/db-javascript/default/sourceLocationPrefix.rel new file mode 100644 index 0000000..5463328 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/sourceLocationPrefix.rel differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/sourceLocationPrefix.rel.meta b/themes/uksf-mod-theme/codeql-db/db-javascript/default/sourceLocationPrefix.rel.meta new file mode 100644 index 0000000..79cd28d Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/sourceLocationPrefix.rel.meta differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/stmt_containers.rel b/themes/uksf-mod-theme/codeql-db/db-javascript/default/stmt_containers.rel new file mode 100644 index 0000000..d2dfae1 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/stmt_containers.rel differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/stmt_containers.rel.meta b/themes/uksf-mod-theme/codeql-db/db-javascript/default/stmt_containers.rel.meta new file mode 100644 index 0000000..4649c98 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/stmt_containers.rel.meta differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/stmts.rel b/themes/uksf-mod-theme/codeql-db/db-javascript/default/stmts.rel new file mode 100644 index 0000000..38e8688 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/stmts.rel differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/stmts.rel.meta b/themes/uksf-mod-theme/codeql-db/db-javascript/default/stmts.rel.meta new file mode 100644 index 0000000..0eca5ef Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/stmts.rel.meta differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/successor.rel b/themes/uksf-mod-theme/codeql-db/db-javascript/default/successor.rel new file mode 100644 index 0000000..7a08881 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/successor.rel differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/successor.rel.meta b/themes/uksf-mod-theme/codeql-db/db-javascript/default/successor.rel.meta new file mode 100644 index 0000000..e8d2be0 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/successor.rel.meta differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/template_placeholder_tag_info.rel b/themes/uksf-mod-theme/codeql-db/db-javascript/default/template_placeholder_tag_info.rel new file mode 100644 index 0000000..648448b Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/template_placeholder_tag_info.rel differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/template_placeholder_tag_info.rel.meta b/themes/uksf-mod-theme/codeql-db/db-javascript/default/template_placeholder_tag_info.rel.meta new file mode 100644 index 0000000..4deb580 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/template_placeholder_tag_info.rel.meta differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/tokeninfo.rel b/themes/uksf-mod-theme/codeql-db/db-javascript/default/tokeninfo.rel new file mode 100644 index 0000000..dce7312 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/tokeninfo.rel differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/tokeninfo.rel.meta b/themes/uksf-mod-theme/codeql-db/db-javascript/default/tokeninfo.rel.meta new file mode 100644 index 0000000..ed9e254 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/tokeninfo.rel.meta differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/toplevel_parent_xml_node.rel b/themes/uksf-mod-theme/codeql-db/db-javascript/default/toplevel_parent_xml_node.rel new file mode 100644 index 0000000..a91a379 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/toplevel_parent_xml_node.rel differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/toplevel_parent_xml_node.rel.meta b/themes/uksf-mod-theme/codeql-db/db-javascript/default/toplevel_parent_xml_node.rel.meta new file mode 100644 index 0000000..1be0046 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/toplevel_parent_xml_node.rel.meta differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/toplevels.rel b/themes/uksf-mod-theme/codeql-db/db-javascript/default/toplevels.rel new file mode 100644 index 0000000..ad6af6c Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/toplevels.rel differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/toplevels.rel.meta b/themes/uksf-mod-theme/codeql-db/db-javascript/default/toplevels.rel.meta new file mode 100644 index 0000000..14c7960 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/toplevels.rel.meta differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/typedecl.rel b/themes/uksf-mod-theme/codeql-db/db-javascript/default/typedecl.rel new file mode 100644 index 0000000..9a9d75c Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/typedecl.rel differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/typedecl.rel.meta b/themes/uksf-mod-theme/codeql-db/db-javascript/default/typedecl.rel.meta new file mode 100644 index 0000000..5b5e3c3 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/typedecl.rel.meta differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/variables.rel b/themes/uksf-mod-theme/codeql-db/db-javascript/default/variables.rel new file mode 100644 index 0000000..5fc8c8d Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/variables.rel differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/variables.rel.meta b/themes/uksf-mod-theme/codeql-db/db-javascript/default/variables.rel.meta new file mode 100644 index 0000000..baff295 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/variables.rel.meta differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/xmlAttrs.rel b/themes/uksf-mod-theme/codeql-db/db-javascript/default/xmlAttrs.rel new file mode 100644 index 0000000..16316f3 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/xmlAttrs.rel differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/xmlAttrs.rel.meta b/themes/uksf-mod-theme/codeql-db/db-javascript/default/xmlAttrs.rel.meta new file mode 100644 index 0000000..1d0c03c Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/xmlAttrs.rel.meta differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/xmlComments.rel b/themes/uksf-mod-theme/codeql-db/db-javascript/default/xmlComments.rel new file mode 100644 index 0000000..b1fac0d Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/xmlComments.rel differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/xmlComments.rel.meta b/themes/uksf-mod-theme/codeql-db/db-javascript/default/xmlComments.rel.meta new file mode 100644 index 0000000..60f49d9 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/xmlComments.rel.meta differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/xmlElements.rel b/themes/uksf-mod-theme/codeql-db/db-javascript/default/xmlElements.rel new file mode 100644 index 0000000..9973645 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/xmlElements.rel differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/xmlElements.rel.meta b/themes/uksf-mod-theme/codeql-db/db-javascript/default/xmlElements.rel.meta new file mode 100644 index 0000000..00de772 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/xmlElements.rel.meta differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/xmllocations.rel b/themes/uksf-mod-theme/codeql-db/db-javascript/default/xmllocations.rel new file mode 100644 index 0000000..bf0e40f Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/xmllocations.rel differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/xmllocations.rel.meta b/themes/uksf-mod-theme/codeql-db/db-javascript/default/xmllocations.rel.meta new file mode 100644 index 0000000..f251650 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/xmllocations.rel.meta differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/yaml.rel b/themes/uksf-mod-theme/codeql-db/db-javascript/default/yaml.rel new file mode 100644 index 0000000..711b4d0 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/yaml.rel differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/yaml.rel.meta b/themes/uksf-mod-theme/codeql-db/db-javascript/default/yaml.rel.meta new file mode 100644 index 0000000..db17ff6 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/yaml.rel.meta differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/yaml_locations.rel b/themes/uksf-mod-theme/codeql-db/db-javascript/default/yaml_locations.rel new file mode 100644 index 0000000..6d4f34b Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/yaml_locations.rel differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/yaml_locations.rel.meta b/themes/uksf-mod-theme/codeql-db/db-javascript/default/yaml_locations.rel.meta new file mode 100644 index 0000000..785baf7 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/yaml_locations.rel.meta differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/yaml_scalars.rel b/themes/uksf-mod-theme/codeql-db/db-javascript/default/yaml_scalars.rel new file mode 100644 index 0000000..8f90ab7 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/yaml_scalars.rel differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/default/yaml_scalars.rel.meta b/themes/uksf-mod-theme/codeql-db/db-javascript/default/yaml_scalars.rel.meta new file mode 100644 index 0000000..2b88412 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/db-javascript/default/yaml_scalars.rel.meta differ diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/semmlecode.javascript.dbscheme b/themes/uksf-mod-theme/codeql-db/db-javascript/semmlecode.javascript.dbscheme new file mode 100644 index 0000000..80b2bc2 --- /dev/null +++ b/themes/uksf-mod-theme/codeql-db/db-javascript/semmlecode.javascript.dbscheme @@ -0,0 +1,1205 @@ +/*** Standard fragments ***/ + +/*- Files and folders -*/ + +/** + * The location of an element. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_default( + unique int id: @location_default, + int file: @file ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- External data -*/ + +/** + * External data, loaded from CSV files during snapshot creation. See + * [Tutorial: Incorporating external data](https://help.semmle.com/wiki/display/SD/Tutorial%3A+Incorporating+external+data) + * for more information. + */ +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- JavaScript-specific part -*/ + +@location = @location_default + +@sourceline = @locatable; + +filetype( + int file: @file ref, + string filetype: string ref +) + +// top-level code fragments +toplevels (unique int id: @toplevel, + int kind: int ref); + +is_externs (int toplevel: @toplevel ref); + +case @toplevel.kind of + 0 = @script +| 1 = @inline_script +| 2 = @event_handler +| 3 = @javascript_url +| 4 = @template_toplevel; + +is_module (int tl: @toplevel ref); +is_nodejs (int tl: @toplevel ref); +is_es2015_module (int tl: @toplevel ref); +is_closure_module (int tl: @toplevel ref); + +@xml_node_with_code = @xmlelement | @xmlattribute | @template_placeholder_tag; +toplevel_parent_xml_node( + unique int toplevel: @toplevel ref, + int xmlnode: @xml_node_with_code ref); + +xml_element_parent_expression( + unique int xmlnode: @xmlelement ref, + int expression: @expr ref, + int index: int ref); + +// statements +#keyset[parent, idx] +stmts (unique int id: @stmt, + int kind: int ref, + int parent: @stmt_parent ref, + int idx: int ref, + varchar(900) tostring: string ref); + +stmt_containers (unique int stmt: @stmt ref, + int container: @stmt_container ref); + +jump_targets (unique int jump: @stmt ref, + int target: @stmt ref); + +@stmt_parent = @stmt | @toplevel | @function_expr | @arrow_function_expr | @static_initializer; +@stmt_container = @toplevel | @function | @namespace_declaration | @external_module_declaration | @global_augmentation_declaration; + +case @stmt.kind of + 0 = @empty_stmt +| 1 = @block_stmt +| 2 = @expr_stmt +| 3 = @if_stmt +| 4 = @labeled_stmt +| 5 = @break_stmt +| 6 = @continue_stmt +| 7 = @with_stmt +| 8 = @switch_stmt +| 9 = @return_stmt +| 10 = @throw_stmt +| 11 = @try_stmt +| 12 = @while_stmt +| 13 = @do_while_stmt +| 14 = @for_stmt +| 15 = @for_in_stmt +| 16 = @debugger_stmt +| 17 = @function_decl_stmt +| 18 = @var_decl_stmt +| 19 = @case +| 20 = @catch_clause +| 21 = @for_of_stmt +| 22 = @const_decl_stmt +| 23 = @let_stmt +| 24 = @legacy_let_stmt +| 25 = @for_each_stmt +| 26 = @class_decl_stmt +| 27 = @import_declaration +| 28 = @export_all_declaration +| 29 = @export_default_declaration +| 30 = @export_named_declaration +| 31 = @namespace_declaration +| 32 = @import_equals_declaration +| 33 = @export_assign_declaration +| 34 = @interface_declaration +| 35 = @type_alias_declaration +| 36 = @enum_declaration +| 37 = @external_module_declaration +| 38 = @export_as_namespace_declaration +| 39 = @global_augmentation_declaration +| 40 = @using_decl_stmt +; + +@decl_stmt = @var_decl_stmt | @const_decl_stmt | @let_stmt | @legacy_let_stmt | @using_decl_stmt; + +@export_declaration = @export_all_declaration | @export_default_declaration | @export_named_declaration; + +@namespace_definition = @namespace_declaration | @enum_declaration; +@type_definition = @class_definition | @interface_declaration | @enum_declaration | @type_alias_declaration | @enum_member; + +is_instantiated(unique int decl: @namespace_declaration ref); + +@declarable_node = @decl_stmt | @namespace_declaration | @class_decl_stmt | @function_decl_stmt | @enum_declaration | @external_module_declaration | @global_augmentation_declaration | @field; +has_declare_keyword(unique int stmt: @declarable_node ref); + +is_for_await_of(unique int forof: @for_of_stmt ref); + +// expressions +#keyset[parent, idx] +exprs (unique int id: @expr, + int kind: int ref, + int parent: @expr_parent ref, + int idx: int ref, + varchar(900) tostring: string ref); + +literals (varchar(900) value: string ref, + varchar(900) raw: string ref, + unique int expr: @expr_or_type ref); + +enclosing_stmt (unique int expr: @expr_or_type ref, + int stmt: @stmt ref); + +expr_containers (unique int expr: @expr_or_type ref, + int container: @stmt_container ref); + +array_size (unique int ae: @arraylike ref, + int sz: int ref); + +is_delegating (int yield: @yield_expr ref); + +@expr_or_stmt = @expr | @stmt; +@expr_or_type = @expr | @typeexpr; +@expr_parent = @expr_or_stmt | @property | @function_typeexpr; +@arraylike = @array_expr | @array_pattern; +@type_annotation = @typeexpr | @jsdoc_type_expr; +@node_in_stmt_container = @cfg_node | @type_annotation | @toplevel; + +case @expr.kind of + 0 = @label +| 1 = @null_literal +| 2 = @boolean_literal +| 3 = @number_literal +| 4 = @string_literal +| 5 = @regexp_literal +| 6 = @this_expr +| 7 = @array_expr +| 8 = @obj_expr +| 9 = @function_expr +| 10 = @seq_expr +| 11 = @conditional_expr +| 12 = @new_expr +| 13 = @call_expr +| 14 = @dot_expr +| 15 = @index_expr +| 16 = @neg_expr +| 17 = @plus_expr +| 18 = @log_not_expr +| 19 = @bit_not_expr +| 20 = @typeof_expr +| 21 = @void_expr +| 22 = @delete_expr +| 23 = @eq_expr +| 24 = @neq_expr +| 25 = @eqq_expr +| 26 = @neqq_expr +| 27 = @lt_expr +| 28 = @le_expr +| 29 = @gt_expr +| 30 = @ge_expr +| 31 = @lshift_expr +| 32 = @rshift_expr +| 33 = @urshift_expr +| 34 = @add_expr +| 35 = @sub_expr +| 36 = @mul_expr +| 37 = @div_expr +| 38 = @mod_expr +| 39 = @bitor_expr +| 40 = @xor_expr +| 41 = @bitand_expr +| 42 = @in_expr +| 43 = @instanceof_expr +| 44 = @logand_expr +| 45 = @logor_expr +| 47 = @assign_expr +| 48 = @assign_add_expr +| 49 = @assign_sub_expr +| 50 = @assign_mul_expr +| 51 = @assign_div_expr +| 52 = @assign_mod_expr +| 53 = @assign_lshift_expr +| 54 = @assign_rshift_expr +| 55 = @assign_urshift_expr +| 56 = @assign_or_expr +| 57 = @assign_xor_expr +| 58 = @assign_and_expr +| 59 = @preinc_expr +| 60 = @postinc_expr +| 61 = @predec_expr +| 62 = @postdec_expr +| 63 = @par_expr +| 64 = @var_declarator +| 65 = @arrow_function_expr +| 66 = @spread_element +| 67 = @array_pattern +| 68 = @object_pattern +| 69 = @yield_expr +| 70 = @tagged_template_expr +| 71 = @template_literal +| 72 = @template_element +| 73 = @array_comprehension_expr +| 74 = @generator_expr +| 75 = @for_in_comprehension_block +| 76 = @for_of_comprehension_block +| 77 = @legacy_letexpr +| 78 = @var_decl +| 79 = @proper_varaccess +| 80 = @class_expr +| 81 = @super_expr +| 82 = @newtarget_expr +| 83 = @named_import_specifier +| 84 = @import_default_specifier +| 85 = @import_namespace_specifier +| 86 = @named_export_specifier +| 87 = @exp_expr +| 88 = @assign_exp_expr +| 89 = @jsx_element +| 90 = @jsx_qualified_name +| 91 = @jsx_empty_expr +| 92 = @await_expr +| 93 = @function_sent_expr +| 94 = @decorator +| 95 = @export_default_specifier +| 96 = @export_namespace_specifier +| 97 = @bind_expr +| 98 = @external_module_reference +| 99 = @dynamic_import +| 100 = @expression_with_type_arguments +| 101 = @prefix_type_assertion +| 102 = @as_type_assertion +| 103 = @export_varaccess +| 104 = @decorator_list +| 105 = @non_null_assertion +| 106 = @bigint_literal +| 107 = @nullishcoalescing_expr +| 108 = @e4x_xml_anyname +| 109 = @e4x_xml_static_attribute_selector +| 110 = @e4x_xml_dynamic_attribute_selector +| 111 = @e4x_xml_filter_expression +| 112 = @e4x_xml_static_qualident +| 113 = @e4x_xml_dynamic_qualident +| 114 = @e4x_xml_dotdotexpr +| 115 = @import_meta_expr +| 116 = @assignlogandexpr +| 117 = @assignlogorexpr +| 118 = @assignnullishcoalescingexpr +| 119 = @template_pipe_ref +| 120 = @generated_code_expr +| 121 = @satisfies_expr +; + +@varaccess = @proper_varaccess | @export_varaccess; +@varref = @var_decl | @varaccess; + +@identifier = @label | @varref | @type_identifier; + +@literal = @null_literal | @boolean_literal | @number_literal | @string_literal | @regexp_literal | @bigint_literal; + +@propaccess = @dot_expr | @index_expr; + +@invokeexpr = @new_expr | @call_expr; + +@unaryexpr = @neg_expr | @plus_expr | @log_not_expr | @bit_not_expr | @typeof_expr | @void_expr | @delete_expr | @spread_element; + +@equality_test = @eq_expr | @neq_expr | @eqq_expr | @neqq_expr; + +@comparison = @equality_test | @lt_expr | @le_expr | @gt_expr | @ge_expr; + +@binaryexpr = @comparison | @lshift_expr | @rshift_expr | @urshift_expr | @add_expr | @sub_expr | @mul_expr | @div_expr | @mod_expr | @exp_expr | @bitor_expr | @xor_expr | @bitand_expr | @in_expr | @instanceof_expr | @logand_expr | @logor_expr | @nullishcoalescing_expr; + +@assignment = @assign_expr | @assign_add_expr | @assign_sub_expr | @assign_mul_expr | @assign_div_expr | @assign_mod_expr | @assign_exp_expr | @assign_lshift_expr | @assign_rshift_expr | @assign_urshift_expr | @assign_or_expr | @assign_xor_expr | @assign_and_expr | @assignlogandexpr | @assignlogorexpr | @assignnullishcoalescingexpr; + +@updateexpr = @preinc_expr | @postinc_expr | @predec_expr | @postdec_expr; + +@pattern = @varref | @array_pattern | @object_pattern; + +@comprehension_expr = @array_comprehension_expr | @generator_expr; + +@comprehension_block = @for_in_comprehension_block | @for_of_comprehension_block; + +@import_specifier = @named_import_specifier | @import_default_specifier | @import_namespace_specifier; + +@exportspecifier = @named_export_specifier | @export_default_specifier | @export_namespace_specifier; + +@type_keyword_operand = @import_declaration | @export_declaration | @import_specifier; + +@type_assertion = @as_type_assertion | @prefix_type_assertion; + +@class_definition = @class_decl_stmt | @class_expr; +@interface_definition = @interface_declaration | @interface_typeexpr; +@class_or_interface = @class_definition | @interface_definition; + +@lexical_decl = @var_decl | @type_decl; +@lexical_access = @varaccess | @local_type_access | @local_var_type_access | @local_namespace_access; +@lexical_ref = @lexical_decl | @lexical_access; + +@e4x_xml_attribute_selector = @e4x_xml_static_attribute_selector | @e4x_xml_dynamic_attribute_selector; +@e4x_xml_qualident = @e4x_xml_static_qualident | @e4x_xml_dynamic_qualident; + +expr_contains_template_tag_location( + int expr: @expr ref, + int location: @location ref +); + +@template_placeholder_tag_parent = @xmlelement | @xmlattribute | @file; + +template_placeholder_tag_info( + unique int node: @template_placeholder_tag, + int parentNode: @template_placeholder_tag_parent ref, + varchar(900) raw: string ref +); + +// scopes +scopes (unique int id: @scope, + int kind: int ref); + +case @scope.kind of + 0 = @global_scope +| 1 = @function_scope +| 2 = @catch_scope +| 3 = @module_scope +| 4 = @block_scope +| 5 = @for_scope +| 6 = @for_in_scope // for-of scopes work the same as for-in scopes +| 7 = @comprehension_block_scope +| 8 = @class_expr_scope +| 9 = @namespace_scope +| 10 = @class_decl_scope +| 11 = @interface_scope +| 12 = @type_alias_scope +| 13 = @mapped_type_scope +| 14 = @enum_scope +| 15 = @external_module_scope +| 16 = @conditional_type_scope; + +scopenodes (unique int node: @ast_node ref, + int scope: @scope ref); + +scopenesting (unique int inner: @scope ref, + int outer: @scope ref); + +// functions +@function = @function_decl_stmt | @function_expr | @arrow_function_expr; + +@parameterized = @function | @catch_clause; +@type_parameterized = @function | @class_or_interface | @type_alias_declaration | @mapped_typeexpr | @infer_typeexpr; + +is_generator (int fun: @function ref); +has_rest_parameter (int fun: @function ref); +is_async (int fun: @function ref); + +// variables and lexically scoped type names +#keyset[scope, name] +variables (unique int id: @variable, + varchar(900) name: string ref, + int scope: @scope ref); + +#keyset[scope, name] +local_type_names (unique int id: @local_type_name, + varchar(900) name: string ref, + int scope: @scope ref); + +#keyset[scope, name] +local_namespace_names (unique int id: @local_namespace_name, + varchar(900) name: string ref, + int scope: @scope ref); + +is_arguments_object (int id: @variable ref); + +@lexical_name = @variable | @local_type_name | @local_namespace_name; + +@bind_id = @varaccess | @local_var_type_access; +bind (unique int id: @bind_id ref, + int decl: @variable ref); + +decl (unique int id: @var_decl ref, + int decl: @variable ref); + +@typebind_id = @local_type_access | @export_varaccess; +typebind (unique int id: @typebind_id ref, + int decl: @local_type_name ref); + +@typedecl_id = @type_decl | @var_decl; +typedecl (unique int id: @typedecl_id ref, + int decl: @local_type_name ref); + +namespacedecl (unique int id: @var_decl ref, + int decl: @local_namespace_name ref); + +@namespacebind_id = @local_namespace_access | @export_varaccess; +namespacebind (unique int id: @namespacebind_id ref, + int decl: @local_namespace_name ref); + + +// properties in object literals, property patterns in object patterns, and method declarations in classes +#keyset[parent, index] +properties (unique int id: @property, + int parent: @property_parent ref, + int index: int ref, + int kind: int ref, + varchar(900) tostring: string ref); + +case @property.kind of + 0 = @value_property +| 1 = @property_getter +| 2 = @property_setter +| 3 = @jsx_attribute +| 4 = @function_call_signature +| 5 = @constructor_call_signature +| 6 = @index_signature +| 7 = @enum_member +| 8 = @proper_field +| 9 = @parameter_field +| 10 = @static_initializer +; + +@property_parent = @obj_expr | @object_pattern | @class_definition | @jsx_element | @interface_definition | @enum_declaration; +@property_accessor = @property_getter | @property_setter; +@call_signature = @function_call_signature | @constructor_call_signature; +@field = @proper_field | @parameter_field; +@field_or_vardeclarator = @field | @var_declarator; + +is_computed (int id: @property ref); +is_method (int id: @property ref); +is_static (int id: @property ref); +is_abstract_member (int id: @property ref); +is_const_enum (int id: @enum_declaration ref); +is_abstract_class (int id: @class_decl_stmt ref); + +has_public_keyword (int id: @property ref); +has_private_keyword (int id: @property ref); +has_protected_keyword (int id: @property ref); +has_readonly_keyword (int id: @property ref); +has_type_keyword (int id: @type_keyword_operand ref); +has_defer_keyword (int id: @import_declaration ref); +is_optional_member (int id: @property ref); +has_definite_assignment_assertion (int id: @field_or_vardeclarator ref); +is_optional_parameter_declaration (unique int parameter: @pattern ref); + +#keyset[constructor, param_index] +parameter_fields( + unique int field: @parameter_field ref, + int constructor: @function_expr ref, + int param_index: int ref +); + +// types +#keyset[parent, idx] +typeexprs ( + unique int id: @typeexpr, + int kind: int ref, + int parent: @typeexpr_parent ref, + int idx: int ref, + varchar(900) tostring: string ref +); + +case @typeexpr.kind of + 0 = @local_type_access +| 1 = @type_decl +| 2 = @keyword_typeexpr +| 3 = @string_literal_typeexpr +| 4 = @number_literal_typeexpr +| 5 = @boolean_literal_typeexpr +| 6 = @array_typeexpr +| 7 = @union_typeexpr +| 8 = @indexed_access_typeexpr +| 9 = @intersection_typeexpr +| 10 = @parenthesized_typeexpr +| 11 = @tuple_typeexpr +| 12 = @keyof_typeexpr +| 13 = @qualified_type_access +| 14 = @generic_typeexpr +| 15 = @type_label +| 16 = @typeof_typeexpr +| 17 = @local_var_type_access +| 18 = @qualified_var_type_access +| 19 = @this_var_type_access +| 20 = @predicate_typeexpr +| 21 = @interface_typeexpr +| 22 = @type_parameter +| 23 = @plain_function_typeexpr +| 24 = @constructor_typeexpr +| 25 = @local_namespace_access +| 26 = @qualified_namespace_access +| 27 = @mapped_typeexpr +| 28 = @conditional_typeexpr +| 29 = @infer_typeexpr +| 30 = @import_type_access +| 31 = @import_namespace_access +| 32 = @import_var_type_access +| 33 = @optional_typeexpr +| 34 = @rest_typeexpr +| 35 = @bigint_literal_typeexpr +| 36 = @readonly_typeexpr +| 37 = @template_literal_typeexpr +; + +@typeref = @typeaccess | @type_decl; +@type_identifier = @type_decl | @local_type_access | @type_label | @local_var_type_access | @local_namespace_access; +@typeexpr_parent = @expr | @stmt | @property | @typeexpr; +@literal_typeexpr = @string_literal_typeexpr | @number_literal_typeexpr | @boolean_literal_typeexpr | @bigint_literal_typeexpr; +@typeaccess = @local_type_access | @qualified_type_access | @import_type_access; +@vartypeaccess = @local_var_type_access | @qualified_var_type_access | @this_var_type_access | @import_var_type_access; +@namespace_access = @local_namespace_access | @qualified_namespace_access | @import_namespace_access; +@import_typeexpr = @import_type_access | @import_namespace_access | @import_var_type_access; + +@function_typeexpr = @plain_function_typeexpr | @constructor_typeexpr; + +// types +types ( + unique int id: @type, + int kind: int ref, + varchar(900) tostring: string ref +); + +#keyset[parent, idx] +type_child ( + int child: @type ref, + int parent: @type ref, + int idx: int ref +); + +case @type.kind of + 0 = @any_type +| 1 = @string_type +| 2 = @number_type +| 3 = @union_type +| 4 = @true_type +| 5 = @false_type +| 6 = @type_reference +| 7 = @object_type +| 8 = @canonical_type_variable_type +| 9 = @typeof_type +| 10 = @void_type +| 11 = @undefined_type +| 12 = @null_type +| 13 = @never_type +| 14 = @plain_symbol_type +| 15 = @unique_symbol_type +| 16 = @objectkeyword_type +| 17 = @intersection_type +| 18 = @tuple_type +| 19 = @lexical_type_variable_type +| 20 = @this_type +| 21 = @number_literal_type +| 22 = @string_literal_type +| 23 = @unknown_type +| 24 = @bigint_type +| 25 = @bigint_literal_type +; + +@boolean_literal_type = @true_type | @false_type; +@symbol_type = @plain_symbol_type | @unique_symbol_type; +@union_or_intersection_type = @union_type | @intersection_type; +@typevariable_type = @canonical_type_variable_type | @lexical_type_variable_type; + +has_asserts_keyword(int node: @predicate_typeexpr ref); + +@typed_ast_node = @expr | @typeexpr | @function; +ast_node_type( + unique int node: @typed_ast_node ref, + int typ: @type ref); + +declared_function_signature( + unique int node: @function ref, + int sig: @signature_type ref +); + +invoke_expr_signature( + unique int node: @invokeexpr ref, + int sig: @signature_type ref +); + +invoke_expr_overload_index( + unique int node: @invokeexpr ref, + int index: int ref +); + +symbols ( + unique int id: @symbol, + int kind: int ref, + varchar(900) name: string ref +); + +symbol_parent ( + unique int symbol: @symbol ref, + int parent: @symbol ref +); + +symbol_module ( + int symbol: @symbol ref, + varchar(900) moduleName: string ref +); + +symbol_global ( + int symbol: @symbol ref, + varchar(900) globalName: string ref +); + +case @symbol.kind of + 0 = @root_symbol +| 1 = @member_symbol +| 2 = @other_symbol +; + +@type_with_symbol = @type_reference | @typevariable_type | @typeof_type | @unique_symbol_type; +@ast_node_with_symbol = @type_definition | @namespace_definition | @toplevel | @typeaccess | @namespace_access | @var_decl | @function | @invokeexpr | @import_declaration | @external_module_reference | @external_module_declaration; + +ast_node_symbol( + unique int node: @ast_node_with_symbol ref, + int symbol: @symbol ref); + +type_symbol( + unique int typ: @type_with_symbol ref, + int symbol: @symbol ref); + +#keyset[typ, name] +type_property( + int typ: @type ref, + varchar(900) name: string ref, + int propertyType: @type ref); + +type_alias( + unique int aliasType: @type ref, + int underlyingType: @type ref); + +@literal_type = @string_literal_type | @number_literal_type | @boolean_literal_type | @bigint_literal_type; +@type_with_literal_value = @string_literal_type | @number_literal_type | @bigint_literal_type; +type_literal_value( + unique int typ: @type_with_literal_value ref, + varchar(900) value: string ref); + +signature_types ( + unique int id: @signature_type, + int kind: int ref, + varchar(900) tostring: string ref, + int type_parameters: int ref, + int required_params: int ref +); + +is_abstract_signature( + unique int sig: @signature_type ref +); + +signature_rest_parameter( + unique int sig: @signature_type ref, + int rest_param_arra_type: @type ref +); + +case @signature_type.kind of + 0 = @function_signature_type +| 1 = @constructor_signature_type +; + +#keyset[typ, kind, index] +type_contains_signature ( + int typ: @type ref, + int kind: int ref, // constructor/call/index + int index: int ref, // ordering of overloaded signatures + int sig: @signature_type ref +); + +#keyset[parent, index] +signature_contains_type ( + int child: @type ref, + int parent: @signature_type ref, + int index: int ref +); + +#keyset[sig, index] +signature_parameter_name ( + int sig: @signature_type ref, + int index: int ref, + varchar(900) name: string ref +); + +number_index_type ( + unique int baseType: @type ref, + int propertyType: @type ref +); + +string_index_type ( + unique int baseType: @type ref, + int propertyType: @type ref +); + +base_type_names( + int typeName: @symbol ref, + int baseTypeName: @symbol ref +); + +self_types( + int typeName: @symbol ref, + int selfType: @type_reference ref +); + +tuple_type_min_length( + unique int typ: @type ref, + int minLength: int ref +); + +tuple_type_rest_index( + unique int typ: @type ref, + int index: int ref +); + +// comments +comments (unique int id: @comment, + int kind: int ref, + int toplevel: @toplevel ref, + varchar(900) text: string ref, + varchar(900) tostring: string ref); + +case @comment.kind of + 0 = @slashslash_comment +| 1 = @slashstar_comment +| 2 = @doc_comment +| 3 = @html_comment_start +| 4 = @htmlcommentend; + +@html_comment = @html_comment_start | @htmlcommentend; +@line_comment = @slashslash_comment | @html_comment; +@block_comment = @slashstar_comment | @doc_comment; + +// source lines +lines (unique int id: @line, + int toplevel: @toplevel ref, + varchar(900) text: string ref, + varchar(2) terminator: string ref); +indentation (int file: @file ref, + int lineno: int ref, + varchar(1) indentChar: string ref, + int indentDepth: int ref); + +// JavaScript parse errors +js_parse_errors (unique int id: @js_parse_error, + int toplevel: @toplevel ref, + varchar(900) message: string ref, + varchar(900) line: string ref); + +// regular expressions +#keyset[parent, idx] +regexpterm (unique int id: @regexpterm, + int kind: int ref, + int parent: @regexpparent ref, + int idx: int ref, + varchar(900) tostring: string ref); + +@regexpparent = @regexpterm | @regexp_literal | @string_literal | @add_expr; + +case @regexpterm.kind of + 0 = @regexp_alt +| 1 = @regexp_seq +| 2 = @regexp_caret +| 3 = @regexp_dollar +| 4 = @regexp_wordboundary +| 5 = @regexp_nonwordboundary +| 6 = @regexp_positive_lookahead +| 7 = @regexp_negative_lookahead +| 8 = @regexp_star +| 9 = @regexp_plus +| 10 = @regexp_opt +| 11 = @regexp_range +| 12 = @regexp_dot +| 13 = @regexp_group +| 14 = @regexp_normal_constant +| 15 = @regexp_hex_escape +| 16 = @regexp_unicode_escape +| 17 = @regexp_dec_escape +| 18 = @regexp_oct_escape +| 19 = @regexp_ctrl_escape +| 20 = @regexp_char_class_escape +| 21 = @regexp_id_escape +| 22 = @regexp_backref +| 23 = @regexp_char_class +| 24 = @regexp_char_range +| 25 = @regexp_positive_lookbehind +| 26 = @regexp_negative_lookbehind +| 27 = @regexp_unicode_property_escape +| 28 = @regexp_quoted_string +| 29 = @regexp_intersection +| 30 = @regexp_subtraction; + +regexp_parse_errors (unique int id: @regexp_parse_error, + int regexp: @regexpterm ref, + varchar(900) message: string ref); + +@regexp_quantifier = @regexp_star | @regexp_plus | @regexp_opt | @regexp_range; +@regexp_escape = @regexp_char_escape | @regexp_char_class_escape | @regexp_unicode_property_escape; +@regexp_char_escape = @regexp_hex_escape | @regexp_unicode_escape | @regexp_dec_escape | @regexp_oct_escape | @regexp_ctrl_escape | @regexp_id_escape; +@regexp_constant = @regexp_normal_constant | @regexp_char_escape; +@regexp_lookahead = @regexp_positive_lookahead | @regexp_negative_lookahead; +@regexp_lookbehind = @regexp_positive_lookbehind | @regexp_negative_lookbehind; +@regexp_subpattern = @regexp_lookahead | @regexp_lookbehind; +@regexp_anchor = @regexp_dollar | @regexp_caret; + +is_greedy (int id: @regexp_quantifier ref); +range_quantifier_lower_bound (unique int id: @regexp_range ref, int lo: int ref); +range_quantifier_upper_bound (unique int id: @regexp_range ref, int hi: int ref); +is_capture (unique int id: @regexp_group ref, int number: int ref); +is_named_capture (unique int id: @regexp_group ref, string name: string ref); +is_inverted (int id: @regexp_char_class ref); +regexp_const_value (unique int id: @regexp_constant ref, varchar(1) value: string ref); +char_class_escape (unique int id: @regexp_char_class_escape ref, varchar(1) value: string ref); +backref (unique int id: @regexp_backref ref, int value: int ref); +named_backref (unique int id: @regexp_backref ref, string name: string ref); +unicode_property_escapename (unique int id: @regexp_unicode_property_escape ref, string name: string ref); +unicode_property_escapevalue (unique int id: @regexp_unicode_property_escape ref, string value: string ref); + +// tokens +#keyset[toplevel, idx] +tokeninfo (unique int id: @token, + int kind: int ref, + int toplevel: @toplevel ref, + int idx: int ref, + varchar(900) value: string ref); + +case @token.kind of + 0 = @token_eof +| 1 = @token_null_literal +| 2 = @token_boolean_literal +| 3 = @token_numeric_literal +| 4 = @token_string_literal +| 5 = @token_regular_expression +| 6 = @token_identifier +| 7 = @token_keyword +| 8 = @token_punctuator; + +// associate comments with the token immediately following them (which may be EOF) +next_token (int comment: @comment ref, int token: @token ref); + +// JSON +#keyset[parent, idx] +json (unique int id: @json_value, + int kind: int ref, + int parent: @json_parent ref, + int idx: int ref, + varchar(900) tostring: string ref); + +json_literals (varchar(900) value: string ref, + varchar(900) raw: string ref, + unique int expr: @json_value ref); + +json_properties (int obj: @json_object ref, + varchar(900) property: string ref, + int value: @json_value ref); + +json_errors (unique int id: @json_parse_error, + varchar(900) message: string ref); + +json_locations(unique int locatable: @json_locatable ref, + int location: @location_default ref); + +case @json_value.kind of + 0 = @json_null +| 1 = @json_boolean +| 2 = @json_number +| 3 = @json_string +| 4 = @json_array +| 5 = @json_object; + +@json_parent = @json_object | @json_array | @file; + +@json_locatable = @json_value | @json_parse_error; + +// locations +@ast_node = @toplevel | @stmt | @expr | @property | @typeexpr; + +@locatable = @file + | @ast_node + | @comment + | @line + | @js_parse_error | @regexp_parse_error + | @regexpterm + | @json_locatable + | @token + | @cfg_node + | @jsdoc | @jsdoc_type_expr | @jsdoc_tag + | @yaml_locatable + | @xmllocatable + | @configLocatable + | @template_placeholder_tag; + +hasLocation (unique int locatable: @locatable ref, + int location: @location ref); + +// CFG +entry_cfg_node (unique int id: @entry_node, int container: @stmt_container ref); +exit_cfg_node (unique int id: @exit_node, int container: @stmt_container ref); +guard_node (unique int id: @guard_node, int kind: int ref, int test: @expr ref); +case @guard_node.kind of + 0 = @falsy_guard +| 1 = @truthy_guard; +@condition_guard = @falsy_guard | @truthy_guard; + +@synthetic_cfg_node = @entry_node | @exit_node | @guard_node; +@cfg_node = @synthetic_cfg_node | @expr_parent; + +successor (int pred: @cfg_node ref, int succ: @cfg_node ref); + +// JSDoc comments +jsdoc (unique int id: @jsdoc, varchar(900) description: string ref, int comment: @comment ref); +#keyset[parent, idx] +jsdoc_tags (unique int id: @jsdoc_tag, varchar(900) title: string ref, + int parent: @jsdoc ref, int idx: int ref, varchar(900) tostring: string ref); +jsdoc_tag_descriptions (unique int tag: @jsdoc_tag ref, varchar(900) text: string ref); +jsdoc_tag_names (unique int tag: @jsdoc_tag ref, varchar(900) text: string ref); + +#keyset[parent, idx] +jsdoc_type_exprs (unique int id: @jsdoc_type_expr, + int kind: int ref, + int parent: @jsdoc_type_expr_parent ref, + int idx: int ref, + varchar(900) tostring: string ref); +case @jsdoc_type_expr.kind of + 0 = @jsdoc_any_type_expr +| 1 = @jsdoc_null_type_expr +| 2 = @jsdoc_undefined_type_expr +| 3 = @jsdoc_unknown_type_expr +| 4 = @jsdoc_void_type_expr +| 5 = @jsdoc_identifier_type_expr +| 6 = @jsdoc_applied_type_expr +| 7 = @jsdoc_nullable_type_expr +| 8 = @jsdoc_non_nullable_type_expr +| 9 = @jsdoc_record_type_expr +| 10 = @jsdoc_array_type_expr +| 11 = @jsdoc_union_type_expr +| 12 = @jsdoc_function_type_expr +| 13 = @jsdoc_optional_type_expr +| 14 = @jsdoc_rest_type_expr +| 15 = @jsdoc_qualified_type_expr +; + +#keyset[id, idx] +jsdoc_record_field_name (int id: @jsdoc_record_type_expr ref, int idx: int ref, varchar(900) name: string ref); +jsdoc_prefix_qualifier (int id: @jsdoc_type_expr ref); +jsdoc_has_new_parameter (int fn: @jsdoc_function_type_expr ref); + +@jsdoc_type_expr_parent = @jsdoc_type_expr | @jsdoc_tag; + +jsdoc_errors (unique int id: @jsdoc_error, int tag: @jsdoc_tag ref, varchar(900) message: string ref, varchar(900) tostring: string ref); + +@dataflownode = @expr | @function_decl_stmt | @class_decl_stmt | @namespace_declaration | @enum_declaration | @property; + +@optionalchainable = @call_expr | @propaccess; + +isOptionalChaining(int id: @optionalchainable ref); + +/** + * The time taken for the extraction of a file. + * This table contains non-deterministic content. + * + * The sum of the `time` column for each (`file`, `timerKind`) pair + * is the total time taken for extraction of `file`. The `extractionPhase` + * column provides a granular view of the extraction time of the file. + */ +extraction_time( + int file : @file ref, + // see `com.semmle.js.extractor.ExtractionMetrics.ExtractionPhase`. + int extractionPhase: int ref, + // 0 for the elapsed CPU time in nanoseconds, 1 for the elapsed wallclock time in nanoseconds + int timerKind: int ref, + float time: float ref +) + +/** +* Non-timing related data for the extraction of a single file. +* This table contains non-deterministic content. +*/ +extraction_data( + int file : @file ref, + // the absolute path to the cache file + varchar(900) cacheFile: string ref, + boolean fromCache: boolean ref, + int length: int ref +) + +/*- YAML -*/ + +#keyset[parent, idx] +yaml (unique int id: @yaml_node, + int kind: int ref, + int parent: @yaml_node_parent ref, + int idx: int ref, + string tag: string ref, + string tostring: string ref); + +case @yaml_node.kind of + 0 = @yaml_scalar_node +| 1 = @yaml_mapping_node +| 2 = @yaml_sequence_node +| 3 = @yaml_alias_node +; + +@yaml_collection_node = @yaml_mapping_node | @yaml_sequence_node; + +@yaml_node_parent = @yaml_collection_node | @file; + +yaml_anchors (unique int node: @yaml_node ref, + string anchor: string ref); + +yaml_aliases (unique int alias: @yaml_alias_node ref, + string target: string ref); + +yaml_scalars (unique int scalar: @yaml_scalar_node ref, + int style: int ref, + string value: string ref); + +yaml_errors (unique int id: @yaml_error, + string message: string ref); + +yaml_locations(unique int locatable: @yaml_locatable ref, + int location: @location_default ref); + +@yaml_locatable = @yaml_node | @yaml_error; + +/*- XML Files -*/ + +xmlEncoding( + unique int id: @file ref, + string encoding: string ref +); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters | @xmlelement | @xmlcomment | @xmlattribute | @xmldtd | @file | @xmlnamespace; + +/*- Configuration files with key value pairs -*/ + +configs( + unique int id: @config +); + +configNames( + unique int id: @configName, + int config: @config ref, + string name: string ref +); + +configValues( + unique int id: @configValue, + int config: @config ref, + string value: string ref +); + +configLocations( + int locatable: @configLocatable ref, + int location: @location_default ref +); + +@configLocatable = @config | @configName | @configValue; + +/*- Database metadata -*/ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +overlayChangedFiles( + string path: string ref +); diff --git a/themes/uksf-mod-theme/codeql-db/db-javascript/semmlecode.javascript.dbscheme.stats b/themes/uksf-mod-theme/codeql-db/db-javascript/semmlecode.javascript.dbscheme.stats new file mode 100644 index 0000000..dd86c73 --- /dev/null +++ b/themes/uksf-mod-theme/codeql-db/db-javascript/semmlecode.javascript.dbscheme.stats @@ -0,0 +1,28322 @@ + + + + +@location_default +15664049 + + +@file +6457 + + +@folder +1590 + + +@externalDataElement +950 + + +@toplevel +5320 + + +@script +5200 + + +@inline_script +86 + + +@event_handler +31 + + +@javascript_url +3 + + +@template_toplevel +100 + + +@stmt +1096691 + + +@empty_stmt +1136 + + +@block_stmt +204994 + + +@expr_stmt +610340 + + +@if_stmt +68214 + + +@labeled_stmt +1378 + + +@break_stmt +10149 + + +@continue_stmt +1642 + + +@with_stmt +4 + + +@switch_stmt +1569 + + +@return_stmt +48209 + + +@throw_stmt +2305 + + +@try_stmt +1316 + + +@while_stmt +3120 + + +@do_while_stmt +1471 + + +@for_stmt +5385 + + +@for_in_stmt +1315 + + +@debugger_stmt +3 + + +@function_decl_stmt +16771 + + +@var_decl_stmt +105606 + + +@case +8674 + + +@catch_clause +1272 + + +@for_of_stmt +61 + + +@const_decl_stmt +1118 + + +@let_stmt +551 + + +@legacy_let_stmt +1 + + +@for_each_stmt +1 + + +@class_decl_stmt +41 + + +@import_declaration +8 + + +@export_all_declaration +1 + + +@export_as_namespace_declaration +5 + + +@global_augmentation_declaration +5 + + +@using_decl_stmt +5 + + +@export_default_declaration +5 + + +@export_named_declaration +31 + + +@expr +5495305 + + +@label +722373 + + +@null_literal +15525 + + +@boolean_literal +31652 + + +@number_literal +557620 + + +@string_literal +268843 + + +@regexp_literal +2773 + + +@this_expr +128651 + + +@array_expr +28131 + + +@obj_expr +50958 + + +@function_expr +95744 + + +@seq_expr +2457 + + +@conditional_expr +8111 + + +@new_expr +19023 + + +@call_expr +487075 + + +@dot_expr +602582 + + +@index_expr +105192 + + +@neg_expr +11993 + + +@plus_expr +731 + + +@log_not_expr +19385 + + +@bit_not_expr +403 + + +@typeof_expr +4540 + + +@void_expr +51 + + +@delete_expr +1310 + + +@eq_expr +13468 + + +@neq_expr +5338 + + +@eqq_expr +17758 + + +@neqq_expr +5818 + + +@lt_expr +10254 + + +@le_expr +1503 + + +@gt_expr +5438 + + +@ge_expr +2527 + + +@lshift_expr +5655 + + +@rshift_expr +27749 + + +@urshift_expr +4331 + + +@add_expr +88032 + + +@sub_expr +10789 + + +@mul_expr +14075 + + +@div_expr +2496 + + +@mod_expr +655 + + +@bitor_expr +42853 + + +@xor_expr +503 + + +@bitand_expr +8538 + + +@in_expr +1135 + + +@instanceof_expr +1184 + + +@logand_expr +15892 + + +@logor_expr +12711 + + +@assign_expr +245084 + + +@assign_add_expr +6231 + + +@assign_sub_expr +823 + + +@assign_mul_expr +143 + + +@assign_div_expr +44 + + +@assign_mod_expr +17 + + +@assign_lshift_expr +57 + + +@assign_rshift_expr +86 + + +@assign_urshift_expr +96 + + +@assign_or_expr +586 + + +@assign_xor_expr +108 + + +@assign_and_expr +222 + + +@assignlogandexpr +1 + + +@assignlogorexpr +1 + + +@assignnullishcoalescingexpr +1 + + +@template_placeholder_tag +100 + + +@template_pipe_ref +100 + + +@generated_code_expr +100 + + +@satisfies_expr +100 + + +@preinc_expr +1792 + + +@postinc_expr +7103 + + +@predec_expr +457 + + +@postdec_expr +774 + + +@par_expr +86199 + + +@var_declarator +130843 + + +@arrow_function_expr +3730 + + +@spread_element +50 + + +@array_pattern +57 + + +@object_pattern +122 + + +@yield_expr +81 + + +@tagged_template_expr +27 + + +@template_literal +408 + + +@template_literal_typeexpr +100 + + +@template_element +639 + + +@array_comprehension_expr +3 + + +@generator_expr +1 + + +@for_in_comprehension_block +1 + + +@for_of_comprehension_block +3 + + +@legacy_letexpr +1 + + +@var_decl +250257 + + +@proper_varaccess +1295408 + + +@super_expr +11 + + +@newtarget_expr +1 + + +@import_meta_expr +1 + + +@named_import_specifier +4 + + +@import_default_specifier +4 + + +@import_namespace_specifier +2 + + +@named_export_specifier +5 + + +@export_default_specifier +5 + + +@export_namespace_specifier +5 + + +@export_assign_declaration +5 + + +@interface_declaration +5 + + +@type_alias_declaration +120 + + +@enum_declaration +252 + + +@external_module_declaration +100 + + +@external_module_reference +5 + + +@expression_with_type_arguments +45 + + +@prefix_type_assertion +1721 + + +@as_type_assertion +368 + + +@export_varaccess +15 + + +@decorator_list +2575 + + +@non_null_assertion +2159 + + +@dynamic_import +5 + + +@import_equals_declaration +5 + + +@namespace_declaration +5 + + +@namespace_scope +5 + + +@exp_expr +14075 + + +@assign_exp_expr +143 + + +@class_expr +41 + + +@scope +118172 + + +@global_scope +1 + + +@function_scope +116245 + + +@catch_scope +1272 + + +@module_scope +21 + + +@block_scope +584 + + +@for_scope +17 + + +@for_in_scope +28 + + +@comprehension_block_scope +4 + + +@class_expr_scope +41 + + +@class_decl_scope +2693 + + +@interface_scope +200 + + +@type_alias_scope +11 + + +@enum_scope +252 + + +@external_module_scope +100 + + +@mapped_type_scope +10 + + +@conditional_type_scope +100 + + +@variable +364388 + + +@local_type_name +23565 + + +@local_namespace_name +20832 + + +@property +142723 + + +@value_property +140856 + + +@property_getter +1529 + + +@property_setter +338 + + +@jsx_attribute +100 + + +@function_call_signature +2458 + + +@constructor_call_signature +37 + + +@index_signature +504 + + +@enum_member +2026 + + +@proper_field +16934 + + +@parameter_field +2693 + + +@static_initializer +100 + + +@local_type_access +25491 + + +@type_decl +2513 + + +@keyword_typeexpr +25306 + + +@string_literal_typeexpr +733 + + +@number_literal_typeexpr +3 + + +@boolean_literal_typeexpr +4 + + +@array_typeexpr +4579 + + +@union_typeexpr +852 + + +@intersection_typeexpr +27 + + +@parenthesized_typeexpr +62 + + +@tuple_typeexpr +98 + + +@keyof_typeexpr +3 + + +@indexed_access_typeexpr +3 + + +@qualified_type_access +3559 + + +@import_namespace_access +100 + + +@import_type_access +100 + + +@import_var_type_access +100 + + +@optional_typeexpr +100 + + +@rest_typeexpr +100 + + +@readonly_typeexpr +100 + + +@bigint_literal_typeexpr +100 + + +@generic_typeexpr +5220 + + +@type_label +3559 + + +@typeof_typeexpr +24 + + +@local_var_type_access +24 + + +@qualified_var_type_access +15 + + +@this_var_type_access +20 + + +@predicate_typeexpr +86 + + +@interface_typeexpr +1038 + + +@type_parameter +3463 + + +@plain_function_typeexpr +1674 + + +@local_namespace_access +4671 + + +@qualified_namespace_access +20 + + +@constructor_typeexpr +20 + + +@mapped_typeexpr +20 + + +@conditional_typeexpr +100 + + +@infer_typeexpr +100 + + +@comment +104947 + + +@any_type +1 + + +@string_type +1 + + +@number_type +1 + + +@union_type +1802 + + +@true_type +1 + + +@false_type +1 + + +@type_reference +12383 + + +@object_type +159099 + + +@canonical_type_variable_type +650 + + +@typeof_type +2903 + + +@void_type +1 + + +@undefined_type +1 + + +@null_type +1 + + +@never_type +1 + + +@plain_symbol_type +1 + + +@objectkeyword_type +1 + + +@intersection_type +369 + + +@tuple_type +307 + + +@lexical_type_variable_type +50 + + +@this_type +2731 + + +@number_literal_type +1244 + + +@string_literal_type +30638 + + +@unknown_type +100 + + +@bigint_type +100 + + +@bigint_literal_type +100 + + +@unique_symbol_type +100 + + +@root_symbol +2385 + + +@member_symbol +7223 + + +@other_symbol +584 + + +@function_signature_type +34698 + + +@constructor_signature_type +2646 + + +@slashslash_comment +76841 + + +@slashstar_comment +8834 + + +@doc_comment +19270 + + +@html_comment_start +1 + + +@htmlcommentend +1 + + +@line +1622184 + + +@js_parse_error +8 + + +@regexpterm +33197 + + +@regexp_alt +641 + + +@regexp_seq +3371 + + +@regexp_caret +826 + + +@regexp_dollar +637 + + +@regexp_wordboundary +99 + + +@regexp_nonwordboundary +3 + + +@regexp_positive_lookahead +15 + + +@regexp_negative_lookahead +12 + + +@regexp_star +1057 + + +@regexp_plus +1067 + + +@regexp_opt +478 + + +@regexp_range +146 + + +@regexp_dot +445 + + +@regexp_group +1692 + + +@regexp_normal_constant +15489 + + +@regexp_hex_escape +59 + + +@regexp_unicode_escape +264 + + +@regexp_dec_escape +7 + + +@regexp_oct_escape +1 + + +@regexp_ctrl_escape +599 + + +@regexp_char_class_escape +1573 + + +@regexp_id_escape +2613 + + +@regexp_backref +11 + + +@regexp_char_class +1473 + + +@regexp_char_range +619 + + +@regexp_positive_lookbehind +15 + + +@regexp_negative_lookbehind +12 + + +@regexp_unicode_property_escape +12 + + +@regexp_quoted_string +12 + + +@regexp_intersection +12 + + +@regexp_subtraction +12 + + +@regexp_parse_error +122 + + +@token +8770869 + + +@token_eof +5312 + + +@token_null_literal +15526 + + +@token_boolean_literal +31654 + + +@token_numeric_literal +557620 + + +@token_string_literal +269555 + + +@token_regular_expression +2773 + + +@token_identifier +2268328 + + +@token_keyword +551767 + + +@token_punctuator +5068334 + + +@json_value +1643352 + + +@json_null +24 + + +@json_boolean +654 + + +@json_number +273113 + + +@json_string +752355 + + +@json_array +175925 + + +@json_object +441281 + + +@json_parse_error +1 + + +@entry_node +121542 + + +@exit_node +121542 + + +@guard_node +177785 + + +@jsdoc +19270 + + +@falsy_guard +86336 + + +@truthy_guard +91449 + + +@jsdoc_tag +29323 + + +@jsdoc_type_expr +22481 + + +@jsdoc_any_type_expr +292 + + +@jsdoc_null_type_expr +35 + + +@jsdoc_undefined_type_expr +287 + + +@jsdoc_unknown_type_expr +27 + + +@jsdoc_void_type_expr +8 + + +@jsdoc_identifier_type_expr +18639 + + +@jsdoc_qualified_type_expr +1000 + + +@jsdoc_applied_type_expr +303 + + +@jsdoc_nullable_type_expr +310 + + +@jsdoc_non_nullable_type_expr +536 + + +@jsdoc_record_type_expr +91 + + +@jsdoc_array_type_expr +19 + + +@jsdoc_union_type_expr +668 + + +@jsdoc_function_type_expr +316 + + +@jsdoc_optional_type_expr +895 + + +@jsdoc_rest_type_expr +55 + + +@jsdoc_error +1658 + + +@yaml_node +885 + + +@yaml_scalar_node +700 + + +@yaml_mapping_node +149 + + +@yaml_sequence_node +35 + + +@yaml_alias_node +1 + + +@yaml_error +1 + + +@jsx_element +1090 + + +@jsx_qualified_name +100 + + +@jsx_empty_expr +100 + + +@await_expr +100 + + +@function_sent_expr +100 + + +@decorator +100 + + +@bind_expr +100 + + +@bigint_literal +100 + + +@nullishcoalescing_expr +100 + + +@e4x_xml_anyname +100 + + +@e4x_xml_static_attribute_selector +100 + + +@e4x_xml_dynamic_attribute_selector +100 + + +@e4x_xml_filter_expression +100 + + +@e4x_xml_static_qualident +100 + + +@e4x_xml_dynamic_qualident +100 + + +@e4x_xml_dotdotexpr +100 + + +@xmldtd +1 + + +@xmlelement +1270313 + + +@xmlattribute +1202020 + + +@xmlnamespace +4185 + + +@xmlcomment +26812 + + +@xmlcharacters +439958 + + +@optionalchainable +100 + + +@nullishcoalescing_expr +100 + + +@config +69795 + + +@configName +69794 + + +@configValue +69691 + + + + + +locations_default +id +15664049 + + +id +15664049 + + +file +6457 + + +beginLine +277405 + + +beginColumn +117878 + + +endLine +277405 + + +endColumn +117868 + + + + +id +file + + +12 + + +1 +2 +15664049 + + + + + + +id +beginLine + + +12 + + +1 +2 +15664049 + + + + + + +id +beginColumn + + +12 + + +1 +2 +15664049 + + + + + + +id +endLine + + +12 + + +1 +2 +15664049 + + + + + + +id +endColumn + + +12 + + +1 +2 +15664049 + + + + + + +file +id + + +12 + + +1 +2 +674 + + +2 +28 +501 + + +28 +105 +488 + + +105 +211 +488 + + +211 +335 +490 + + +335 +477 +485 + + +477 +637 +488 + + +637 +856 +486 + + +856 +1141 +485 + + +1141 +1602 +485 + + +1604 +2336 +486 + + +2336 +4472 +485 + + +4472 +2368854 +416 + + + + + + +file +beginLine + + +12 + + +1 +2 +674 + + +2 +13 +509 + + +13 +23 +513 + + +23 +35 +516 + + +35 +50 +504 + + +50 +69 +506 + + +69 +92 +489 + + +92 +124 +504 + + +124 +165 +487 + + +165 +230 +490 + + +230 +357 +491 + + +357 +737 +485 + + +737 +277406 +289 + + + + + + +file +beginColumn + + +12 + + +1 +2 +674 + + +2 +12 +491 + + +12 +32 +495 + + +32 +46 +510 + + +46 +56 +498 + + +56 +62 +488 + + +62 +67 +500 + + +67 +71 +477 + + +71 +75 +583 + + +75 +78 +497 + + +78 +80 +403 + + +80 +82 +543 + + +82 +117856 +298 + + + + + + +file +endLine + + +12 + + +1 +2 +674 + + +2 +13 +509 + + +13 +23 +509 + + +23 +35 +520 + + +35 +50 +504 + + +50 +69 +506 + + +69 +92 +489 + + +92 +124 +504 + + +124 +165 +487 + + +165 +230 +490 + + +230 +357 +491 + + +357 +737 +485 + + +737 +277406 +289 + + + + + + +file +endColumn + + +12 + + +1 +2 +682 + + +2 +18 +501 + + +18 +36 +487 + + +36 +51 +513 + + +51 +61 +532 + + +61 +67 +508 + + +67 +72 +568 + + +72 +75 +444 + + +75 +78 +514 + + +78 +80 +484 + + +80 +81 +283 + + +81 +82 +579 + + +82 +117837 +362 + + + + + + +beginLine +id + + +12 + + +1 +6 +666 + + +7 +8 +116499 + + +8 +14 +19181 + + +14 +15 +29298 + + +15 +19 +25329 + + +19 +24 +17273 + + +24 +29 +22410 + + +29 +56 +21150 + + +56 +242 +20830 + + +242 +134468 +4769 + + + + + + +beginLine +file + + +12 + + +1 +2 +117975 + + +2 +3 +120803 + + +3 +8 +21079 + + +8 +6458 +17548 + + + + + + +beginLine +beginColumn + + +12 + + +1 +5 +667 + + +5 +6 +116499 + + +6 +11 +19126 + + +11 +12 +32612 + + +12 +15 +18313 + + +15 +17 +18964 + + +17 +21 +21845 + + +21 +31 +21197 + + +31 +64 +20988 + + +64 +94454 +7194 + + + + + + +beginLine +endLine + + +12 + + +1 +2 +238980 + + +2 +3 +22312 + + +3 +890 +16113 + + + + + + +beginLine +endColumn + + +12 + + +1 +5 +667 + + +5 +6 +116499 + + +6 +12 +20939 + + +12 +13 +28687 + + +13 +16 +19707 + + +16 +18 +20057 + + +18 +22 +21035 + + +22 +33 +21605 + + +33 +69 +21089 + + +69 +94455 +7120 + + + + + + +beginColumn +id + + +12 + + +1 +2 +5117 + + +2 +3 +9246 + + +3 +4 +13440 + + +4 +5 +15857 + + +5 +6 +13813 + + +6 +7 +11696 + + +7 +8 +8777 + + +8 +9 +6887 + + +9 +11 +9723 + + +11 +14 +10392 + + +14 +20 +9364 + + +20 +2248970 +3566 + + + + + + +beginColumn +file + + +12 + + +1 +2 +68610 + + +2 +3 +15842 + + +3 +4 +7965 + + +4 +5 +9221 + + +5 +6 +8014 + + +6 +6458 +8226 + + + + + + +beginColumn +beginLine + + +12 + + +1 +2 +6868 + + +2 +3 +15317 + + +3 +4 +24725 + + +4 +5 +25386 + + +5 +6 +10178 + + +6 +7 +6239 + + +7 +9 +10825 + + +9 +11 +9294 + + +11 +1255 +8841 + + +1258 +277405 +205 + + + + + + +beginColumn +endLine + + +12 + + +1 +2 +6868 + + +2 +3 +15317 + + +3 +4 +24725 + + +4 +5 +25386 + + +5 +6 +10175 + + +6 +7 +6232 + + +7 +9 +10827 + + +9 +11 +9299 + + +11 +1227 +8842 + + +1256 +277405 +207 + + + + + + +beginColumn +endColumn + + +12 + + +1 +2 +24039 + + +2 +3 +21662 + + +3 +4 +22809 + + +4 +5 +17118 + + +5 +6 +12038 + + +6 +7 +7768 + + +7 +10 +9297 + + +10 +1064 +3147 + + + + + + +endLine +id + + +12 + + +1 +6 +666 + + +7 +8 +116499 + + +8 +14 +18715 + + +14 +15 +30262 + + +15 +19 +24946 + + +19 +24 +17066 + + +24 +29 +22451 + + +29 +56 +21060 + + +56 +237 +20821 + + +237 +134470 +4919 + + + + + + +endLine +file + + +12 + + +1 +2 +117975 + + +2 +3 +120803 + + +3 +8 +21076 + + +8 +6458 +17551 + + + + + + +endLine +beginLine + + +12 + + +1 +2 +243883 + + +2 +4 +23431 + + +4 +71 +10091 + + + + + + +endLine +beginColumn + + +12 + + +1 +5 +667 + + +5 +6 +116499 + + +6 +11 +19057 + + +11 +12 +32046 + + +12 +15 +18779 + + +15 +17 +18710 + + +17 +21 +21785 + + +21 +31 +21103 + + +31 +63 +20930 + + +63 +94454 +7829 + + + + + + +endLine +endColumn + + +12 + + +1 +5 +667 + + +5 +6 +116499 + + +6 +12 +21177 + + +12 +13 +28718 + + +13 +16 +19585 + + +16 +18 +21210 + + +18 +23 +23344 + + +23 +35 +21013 + + +35 +80 +20938 + + +80 +94454 +4254 + + + + + + +endColumn +id + + +12 + + +1 +2 +4439 + + +2 +3 +8489 + + +3 +4 +12884 + + +4 +5 +16048 + + +5 +6 +15554 + + +6 +7 +12546 + + +7 +8 +9231 + + +8 +9 +6405 + + +9 +11 +9266 + + +11 +14 +10367 + + +14 +20 +9186 + + +20 +489713 +3453 + + + + + + +endColumn +file + + +12 + + +1 +2 +68569 + + +2 +3 +15919 + + +3 +4 +7876 + + +4 +5 +9221 + + +5 +6 +8062 + + +6 +6458 +8221 + + + + + + +endColumn +beginLine + + +12 + + +1 +2 +6848 + + +2 +3 +15273 + + +3 +4 +24807 + + +4 +5 +25343 + + +5 +6 +10180 + + +6 +7 +6269 + + +7 +9 +10857 + + +9 +11 +9251 + + +11 +1768 +8841 + + +1780 +212575 +199 + + + + + + +endColumn +beginColumn + + +12 + + +1 +2 +15842 + + +2 +3 +27460 + + +3 +4 +26707 + + +4 +5 +18639 + + +5 +6 +11518 + + +6 +8 +10766 + + +8 +265 +6936 + + + + + + +endColumn +endLine + + +12 + + +1 +2 +6850 + + +2 +3 +15271 + + +3 +4 +24807 + + +4 +5 +25343 + + +5 +6 +10180 + + +6 +7 +6269 + + +7 +9 +10858 + + +9 +11 +9252 + + +11 +1789 +8841 + + +1795 +212360 +197 + + + + + + + + +numlines +122044 + + +element_id +122044 + + +num_lines +1136 + + +num_code +939 + + +num_comment +418 + + + + +element_id +num_lines + + +12 + + +1 +2 +122044 + + + + + + +element_id +num_code + + +12 + + +1 +2 +122044 + + + + + + +element_id +num_comment + + +12 + + +1 +2 +122044 + + + + + + +num_lines +element_id + + +12 + + +1 +2 +399 + + +2 +3 +144 + + +3 +4 +97 + + +4 +6 +91 + + +6 +9 +86 + + +9 +15 +90 + + +15 +36 +86 + + +36 +174 +86 + + +175 +21589 +57 + + + + + + +num_lines +num_code + + +12 + + +1 +2 +444 + + +2 +3 +140 + + +3 +4 +95 + + +4 +6 +87 + + +6 +9 +85 + + +9 +14 +88 + + +14 +24 +90 + + +24 +33 +89 + + +33 +38 +18 + + + + + + +num_lines +num_comment + + +12 + + +1 +2 +444 + + +2 +3 +140 + + +3 +4 +94 + + +4 +6 +92 + + +6 +9 +90 + + +9 +14 +90 + + +14 +20 +89 + + +20 +27 +89 + + +27 +30 +8 + + + + + + +num_code +element_id + + +12 + + +1 +2 +317 + + +2 +3 +125 + + +3 +4 +67 + + +4 +5 +61 + + +5 +8 +67 + + +8 +12 +73 + + +12 +26 +72 + + +26 +69 +71 + + +69 +1540 +71 + + +1747 +22000 +15 + + + + + + +num_code +num_lines + + +12 + + +1 +2 +349 + + +2 +3 +118 + + +3 +4 +77 + + +4 +6 +76 + + +6 +10 +84 + + +10 +19 +78 + + +19 +31 +79 + + +31 +44 +73 + + +44 +52 +5 + + + + + + +num_code +num_comment + + +12 + + +1 +2 +347 + + +2 +3 +121 + + +3 +4 +79 + + +4 +6 +74 + + +6 +9 +74 + + +9 +16 +80 + + +16 +23 +72 + + +23 +31 +76 + + +31 +40 +16 + + + + + + +num_comment +element_id + + +12 + + +1 +2 +147 + + +2 +3 +67 + + +3 +4 +26 + + +4 +5 +26 + + +5 +7 +32 + + +7 +12 +34 + + +12 +32 +34 + + +33 +135 +32 + + +150 +93795 +20 + + + + + + +num_comment +num_lines + + +12 + + +1 +2 +171 + + +2 +3 +57 + + +3 +4 +32 + + +4 +5 +24 + + +5 +8 +33 + + +8 +18 +35 + + +19 +47 +32 + + +52 +253 +33 + + +362 +363 +1 + + + + + + +num_comment +num_code + + +12 + + +1 +2 +174 + + +2 +3 +54 + + +3 +4 +33 + + +4 +5 +22 + + +5 +8 +33 + + +8 +18 +36 + + +19 +47 +32 + + +51 +230 +32 + + +232 +346 +2 + + + + + + + + +files +id +6457 + + +id +6457 + + +name +6457 + + + + +id +name + + +12 + + +1 +2 +6457 + + + + + + +name +id + + +12 + + +1 +2 +6457 + + + + + + + + +folders +id +1590 + + +id +1590 + + +name +1590 + + + + +id +name + + +12 + + +1 +2 +1590 + + + + + + +name +id + + +12 + + +1 +2 +1590 + + + + + + + + +containerparent +child +8046 + + +parent +1590 + + +child +8046 + + + + +parent +child + + +12 + + +1 +2 +525 + + +2 +3 +326 + + +3 +4 +207 + + +4 +5 +128 + + +5 +7 +138 + + +7 +11 +132 + + +11 +53 +120 + + +60 +335 +14 + + + + + + +child +parent + + +12 + + +1 +2 +8046 + + + + + + + + +externalData +5684 + + +id +950 + + +path +3 + + +column +6 + + +value +790 + + + + +id +path + + +12 + + +1 +2 +950 + + + + + + +id +column + + +12 + + +2 +3 +4 + + +6 +7 +946 + + + + + + +id +value + + +12 + + +2 +6 +8 + + +6 +7 +942 + + + + + + +path +id + + +12 + + +4 +5 +1 + + +72 +73 +1 + + +874 +875 +1 + + + + + + +path +column + + +12 + + +2 +3 +1 + + +6 +7 +2 + + + + + + +path +value + + +12 + + +8 +9 +1 + + +86 +87 +1 + + +722 +723 +1 + + + + + + +column +id + + +12 + + +946 +947 +4 + + +950 +951 +2 + + + + + + +column +path + + +12 + + +2 +3 +4 + + +3 +4 +2 + + + + + + +column +value + + +12 + + +2 +3 +1 + + +6 +7 +1 + + +31 +32 +1 + + +93 +94 +1 + + +117 +118 +1 + + +620 +621 +1 + + + + + + +value +id + + +12 + + +1 +2 +478 + + +2 +3 +132 + + +3 +5 +69 + + +5 +16 +61 + + +16 +928 +50 + + + + + + +value +path + + +12 + + +1 +2 +764 + + +2 +3 +26 + + + + + + +value +column + + +12 + + +1 +2 +711 + + +2 +3 +79 + + + + + + + + +sourceLocationPrefix +1 + + +prefix +1 + + + + + +toplevels +id +5320 + + +id +5320 + + +kind +4 + + + + +id +kind + + +12 + + +1 +2 +5320 + + + + + + +kind +id + + +12 + + +3 +4 +1 + + +31 +32 +1 + + +86 +87 +1 + + +5200 +5201 +1 + + + + + + + + +is_externs +44 + + +toplevel +44 + + + + + +is_instantiated +5 + + +decl +5 + + + + + +has_declare_keyword +66 + + +stmt +66 + + + + + +has_asserts_keyword +66 + + +node +66 + + + + + +is_abstract_member +66 + + +id +66 + + + + + +has_public_keyword +9297 + + +id +9297 + + + + + +has_private_keyword +11391 + + +id +11391 + + + + + +has_protected_keyword +1048 + + +id +1048 + + + + + +has_readonly_keyword +2338 + + +id +2338 + + + + + +has_type_keyword +1000 + + +id +1000 + + + + + +has_defer_keyword +1000 + + +id +1000 + + + + + +is_optional_member +3668 + + +id +3668 + + + + + +has_definite_assignment_assertion +100 + + +id +100 + + + + + +is_optional_parameter_declaration +3966 + + +parameter +3966 + + + + + +parameter_fields +2693 + + +field +2693 + + +constructor +1020 + + +param_index +20 + + + + +field +constructor + + +12 + + +1 +2 +2693 + + + + + + +field +param_index + + +12 + + +1 +2 +2693 + + + + + + +constructor +field + + +12 + + +1 +2 +439 + + +2 +3 +233 + + +3 +4 +118 + + +4 +5 +78 + + +5 +7 +83 + + +7 +21 +69 + + + + + + +constructor +param_index + + +12 + + +1 +2 +439 + + +2 +3 +233 + + +3 +4 +118 + + +4 +5 +78 + + +5 +7 +83 + + +7 +21 +69 + + + + + + +param_index +field + + +12 + + +1 +2 +1 + + +2 +3 +1 + + +3 +4 +1 + + +4 +5 +1 + + +5 +6 +1 + + +6 +7 +1 + + +8 +9 +1 + + +10 +11 +1 + + +15 +16 +1 + + +22 +23 +1 + + +29 +30 +1 + + +36 +37 +1 + + +48 +49 +1 + + +69 +70 +1 + + +104 +105 +1 + + +152 +153 +1 + + +230 +231 +1 + + +348 +349 +1 + + +581 +582 +1 + + +1020 +1021 +1 + + + + + + +param_index +constructor + + +12 + + +1 +2 +1 + + +2 +3 +1 + + +3 +4 +1 + + +4 +5 +1 + + +5 +6 +1 + + +6 +7 +1 + + +8 +9 +1 + + +10 +11 +1 + + +15 +16 +1 + + +22 +23 +1 + + +29 +30 +1 + + +36 +37 +1 + + +48 +49 +1 + + +69 +70 +1 + + +104 +105 +1 + + +152 +153 +1 + + +230 +231 +1 + + +348 +349 +1 + + +581 +582 +1 + + +1020 +1021 +1 + + + + + + + + +is_const_enum +62 + + +id +62 + + + + + +is_abstract_class +116 + + +id +116 + + + + + +typeexprs +54050 + + +id +54050 + + +kind +6 + + +parent +29264 + + +idx +26 + + +tostring +3278 + + + + +id +kind + + +12 + + +1 +2 +54050 + + + + + + +id +parent + + +12 + + +1 +2 +54050 + + + + + + +id +idx + + +12 + + +1 +2 +54050 + + + + + + +id +tostring + + +12 + + +1 +2 +54050 + + + + + + +kind +id + + +12 + + +3 +4 +1 + + +4 +5 +1 + + +733 +734 +1 + + +2513 +2514 +1 + + +25306 +25307 +1 + + +25491 +25492 +1 + + + + + + +kind +parent + + +12 + + +3 +4 +1 + + +4 +5 +1 + + +733 +734 +1 + + +2513 +2514 +1 + + +16661 +16662 +1 + + +17601 +17602 +1 + + + + + + +kind +idx + + +12 + + +1 +2 +2 + + +3 +4 +1 + + +4 +5 +1 + + +19 +20 +1 + + +25 +26 +1 + + + + + + +kind +tostring + + +12 + + +2 +3 +1 + + +3 +4 +1 + + +9 +10 +1 + + +242 +243 +1 + + +2075 +2076 +1 + + +2322 +2323 +1 + + + + + + +parent +id + + +12 + + +1 +2 +15321 + + +2 +3 +7887 + + +3 +4 +3725 + + +4 +9 +2229 + + +9 +24 +102 + + + + + + +parent +kind + + +12 + + +1 +2 +21285 + + +2 +3 +7707 + + +3 +4 +272 + + + + + + +parent +idx + + +12 + + +1 +2 +15321 + + +2 +3 +7887 + + +3 +4 +3725 + + +4 +9 +2229 + + +9 +24 +102 + + + + + + +parent +tostring + + +12 + + +1 +2 +16315 + + +2 +3 +8432 + + +3 +4 +3126 + + +4 +22 +1391 + + + + + + +idx +id + + +12 + + +1 +2 +2 + + +3 +4 +2 + + +4 +7 +2 + + +10 +12 +2 + + +13 +22 +2 + + +27 +38 +2 + + +54 +61 +2 + + +101 +212 +2 + + +356 +530 +2 + + +859 +1645 +2 + + +2513 +2519 +2 + + +3330 +7198 +2 + + +15305 +19237 +2 + + + + + + +idx +kind + + +12 + + +1 +2 +7 + + +2 +3 +14 + + +3 +4 +2 + + +4 +5 +3 + + + + + + +idx +parent + + +12 + + +1 +2 +2 + + +3 +4 +2 + + +4 +7 +2 + + +10 +12 +2 + + +13 +22 +2 + + +27 +38 +2 + + +54 +61 +2 + + +101 +212 +2 + + +356 +530 +2 + + +859 +1645 +2 + + +2513 +2519 +2 + + +3330 +7198 +2 + + +15305 +19237 +2 + + + + + + +idx +tostring + + +12 + + +1 +2 +2 + + +3 +4 +2 + + +4 +6 +2 + + +9 +10 +2 + + +12 +17 +2 + + +18 +26 +2 + + +28 +31 +2 + + +37 +44 +2 + + +60 +71 +2 + + +108 +196 +2 + + +395 +667 +2 + + +746 +978 +2 + + +1522 +2076 +2 + + + + + + +tostring +id + + +12 + + +1 +2 +1085 + + +2 +3 +627 + + +3 +4 +344 + + +4 +5 +322 + + +5 +7 +292 + + +7 +12 +260 + + +12 +45 +247 + + +45 +7788 +101 + + + + + + +tostring +kind + + +12 + + +1 +2 +1903 + + +2 +3 +1375 + + + + + + +tostring +parent + + +12 + + +1 +2 +1097 + + +2 +3 +631 + + +3 +4 +341 + + +4 +5 +327 + + +5 +7 +292 + + +7 +12 +253 + + +12 +48 +246 + + +48 +6190 +91 + + + + + + +tostring +idx + + +12 + + +1 +2 +1450 + + +2 +3 +939 + + +3 +4 +481 + + +4 +6 +289 + + +6 +19 +119 + + + + + + + + +is_for_await_of +1 + + +forof +1 + + + + + +is_module +21 + + +tl +21 + + + + + +is_es2015_module +21 + + +tl +21 + + + + + +is_closure_module +21 + + +tl +21 + + + + + +toplevel_parent_xml_node +43 + + +toplevel +43 + + +xmlnode +43 + + + + +toplevel +xmlnode + + +12 + + +1 +2 +43 + + + + + + +xmlnode +toplevel + + +12 + + +1 +2 +43 + + + + + + + + +xml_element_parent_expression +1 + + +xmlnode +1 + + +expression +1 + + +index +1 + + + + +xmlnode +expression + + +12 + + +1 +2 +1 + + + + + + +xmlnode +index + + +12 + + +1 +2 +1 + + + + + + +expression +xmlnode + + +12 + + +1 +2 +1 + + + + + + +expression +index + + +12 + + +1 +2 +1 + + + + + + +index +xmlnode + + +12 + + +1 +2 +1 + + + + + + +index +expression + + +12 + + +1 +2 +1 + + + + + + + + +is_nodejs +12 + + +tl +12 + + + + + +stmts +id +1096691 + + +id +1096691 + + +kind +31 + + +parent +412140 + + +idx +152947 + + +tostring +284956 + + + + +id +kind + + +12 + + +1 +2 +1096691 + + + + + + +id +parent + + +12 + + +1 +2 +1096691 + + + + + + +id +idx + + +12 + + +1 +2 +1096691 + + + + + + +id +tostring + + +12 + + +1 +2 +1096691 + + + + + + +kind +id + + +12 + + +1 +2 +3 + + +3 +5 +2 + + +5 +9 +2 + + +31 +42 +2 + + +61 +552 +2 + + +1118 +1137 +2 + + +1272 +1316 +2 + + +1316 +1379 +2 + + +1471 +1570 +2 + + +1642 +2306 +2 + + +3120 +5386 +2 + + +8674 +10150 +2 + + +16771 +48210 +2 + + +68214 +105607 +2 + + +204994 +610341 +2 + + + + + + +kind +parent + + +12 + + +1 +2 +4 + + +3 +5 +2 + + +5 +6 +2 + + +35 +59 +2 + + +298 +424 +2 + + +738 +1157 +2 + + +1253 +1263 +2 + + +1271 +1321 +2 + + +1495 +1568 +2 + + +1642 +2306 +2 + + +2999 +4416 +2 + + +4734 +10123 +2 + + +48139 +48347 +2 + + +50857 +162082 +2 + + +191077 +191078 +1 + + + + + + +kind +idx + + +12 + + +1 +2 +3 + + +2 +3 +2 + + +3 +4 +2 + + +8 +9 +2 + + +10 +12 +2 + + +16 +22 +2 + + +28 +32 +2 + + +36 +37 +2 + + +39 +51 +2 + + +54 +63 +2 + + +65 +67 +2 + + +116 +118 +2 + + +122 +138 +2 + + +251 +1564 +2 + + +1967 +152946 +2 + + + + + + +kind +tostring + + +12 + + +1 +2 +5 + + +2 +3 +2 + + +4 +11 +2 + + +12 +17 +2 + + +88 +104 +2 + + +147 +168 +2 + + +239 +296 +2 + + +356 +428 +2 + + +591 +705 +2 + + +811 +829 +2 + + +1092 +2254 +2 + + +2665 +10292 +2 + + +18023 +21916 +2 + + +43911 +180066 +2 + + + + + + +parent +id + + +12 + + +1 +2 +265890 + + +2 +3 +69435 + + +3 +4 +25109 + + +4 +8 +34966 + + +8 +152946 +16740 + + + + + + +parent +kind + + +12 + + +1 +2 +319546 + + +2 +3 +67918 + + +3 +23 +24676 + + + + + + +parent +idx + + +12 + + +1 +2 +265890 + + +2 +3 +69435 + + +3 +4 +25109 + + +4 +8 +34966 + + +8 +152946 +16740 + + + + + + +parent +tostring + + +12 + + +1 +2 +275359 + + +2 +3 +62818 + + +3 +4 +25781 + + +4 +8 +34293 + + +8 +19511 +13889 + + + + + + +idx +id + + +12 + + +1 +2 +149939 + + +2 +220361 +3008 + + + + + + +idx +kind + + +12 + + +1 +2 +149940 + + +2 +28 +3007 + + + + + + +idx +parent + + +12 + + +1 +2 +149939 + + +2 +220361 +3008 + + + + + + +idx +tostring + + +12 + + +1 +2 +149939 + + +2 +88922 +3008 + + + + + + +tostring +id + + +12 + + +1 +2 +186537 + + +2 +3 +48494 + + +3 +5 +24651 + + +5 +37 +21526 + + +37 +72175 +3748 + + + + + + +tostring +kind + + +12 + + +1 +2 +284895 + + +2 +4 +61 + + + + + + +tostring +parent + + +12 + + +1 +2 +195596 + + +2 +3 +45562 + + +3 +5 +23127 + + +5 +66340 +20671 + + + + + + +tostring +idx + + +12 + + +1 +2 +225945 + + +2 +3 +33948 + + +3 +13 +21496 + + +13 +903 +3567 + + + + + + + + +stmt_containers +1096691 + + +stmt +1096691 + + +container +120740 + + + + +stmt +container + + +12 + + +1 +2 +1096691 + + + + + + +container +stmt + + +12 + + +1 +2 +6778 + + +2 +3 +35010 + + +3 +4 +16178 + + +4 +5 +12184 + + +5 +6 +9476 + + +6 +7 +7569 + + +7 +9 +10084 + + +9 +13 +10057 + + +13 +27 +9196 + + +27 +152947 +4208 + + + + + + + + +jump_targets +11791 + + +jump +11791 + + +target +4873 + + + + +jump +target + + +12 + + +1 +2 +11791 + + + + + + +target +jump + + +12 + + +1 +2 +2542 + + +2 +3 +1106 + + +3 +4 +505 + + +4 +6 +410 + + +6 +260 +310 + + + + + + + + +exprs +id +5495305 + + +id +5495305 + + +kind +85 + + +parent +3130204 + + +idx +17698 + + +tostring +834491 + + + + +id +kind + + +12 + + +1 +2 +5495305 + + + + + + +id +parent + + +12 + + +1 +2 +5495305 + + + + + + +id +idx + + +12 + + +1 +2 +5495305 + + + + + + +id +tostring + + +12 + + +1 +2 +5495305 + + + + + + +kind +id + + +12 + + +1 +4 +7 + + +4 +45 +7 + + +50 +97 +7 + + +108 +458 +7 + + +503 +824 +7 + + +1135 +2497 +7 + + +2527 +5439 +7 + + +5655 +10255 +7 + + +10789 +15893 +7 + + +17758 +42854 +7 + + +50958 +130844 +7 + + +245084 +722374 +7 + + +1295408 +1295409 +1 + + + + + + +kind +parent + + +12 + + +1 +3 +7 + + +3 +45 +7 + + +47 +93 +7 + + +106 +407 +7 + + +457 +809 +7 + + +1108 +2420 +7 + + +2502 +5349 +7 + + +5453 +10133 +7 + + +10658 +15697 +7 + + +16273 +36888 +7 + + +41849 +128642 +7 + + +199566 +722374 +7 + + +1171898 +1171899 +1 + + + + + + +kind +idx + + +12 + + +1 +2 +7 + + +2 +3 +12 + + +3 +4 +11 + + +4 +5 +7 + + +5 +6 +7 + + +6 +7 +3 + + +7 +8 +7 + + +8 +11 +6 + + +12 +18 +7 + + +20 +64 +7 + + +82 +395 +7 + + +431 +13375 +4 + + + + + + +kind +tostring + + +12 + + +1 +2 +7 + + +2 +6 +7 + + +8 +37 +7 + + +38 +126 +7 + + +142 +304 +7 + + +358 +721 +7 + + +811 +1485 +7 + + +1523 +2918 +7 + + +3305 +5078 +7 + + +5422 +9940 +7 + + +10536 +40606 +7 + + +46227 +123090 +7 + + +128754 +128755 +1 + + + + + + +parent +id + + +12 + + +1 +2 +1100280 + + +2 +3 +1876078 + + +3 +17692 +153846 + + + + + + +parent +kind + + +12 + + +1 +2 +1300246 + + +2 +3 +1747609 + + +3 +8 +82349 + + + + + + +parent +idx + + +12 + + +1 +2 +1100280 + + +2 +3 +1876078 + + +3 +17692 +153846 + + + + + + +parent +tostring + + +12 + + +1 +2 +1108803 + + +2 +3 +1870864 + + +3 +17526 +150537 + + + + + + +idx +id + + +12 + + +1 +2 +4092 + + +2 +3 +1365 + + +3 +4 +1995 + + +4 +5 +283 + + +5 +6 +1681 + + +6 +7 +5909 + + +7 +10 +1344 + + +10 +3049605 +1029 + + + + + + +idx +kind + + +12 + + +1 +2 +10648 + + +2 +3 +6398 + + +3 +83 +652 + + + + + + +idx +parent + + +12 + + +1 +2 +4092 + + +2 +3 +1365 + + +3 +4 +1995 + + +4 +5 +283 + + +5 +6 +1681 + + +6 +7 +5909 + + +7 +10 +1344 + + +10 +3049605 +1029 + + + + + + +idx +tostring + + +12 + + +1 +2 +4093 + + +2 +3 +1365 + + +3 +4 +2014 + + +4 +5 +1147 + + +5 +6 +1529 + + +6 +7 +5401 + + +7 +10 +1499 + + +10 +573348 +650 + + + + + + +tostring +id + + +12 + + +1 +2 +466570 + + +2 +3 +157949 + + +3 +4 +55443 + + +4 +6 +61411 + + +6 +17 +63412 + + +17 +128652 +29706 + + + + + + +tostring +kind + + +12 + + +1 +2 +772624 + + +2 +24 +61867 + + + + + + +tostring +parent + + +12 + + +1 +2 +467110 + + +2 +3 +158201 + + +3 +4 +55446 + + +4 +6 +61061 + + +6 +17 +63168 + + +17 +128642 +29505 + + + + + + +tostring +idx + + +12 + + +1 +2 +724438 + + +2 +3 +86524 + + +3 +7765 +23529 + + + + + + + + +literals +expr +3145090 + + +value +216517 + + +raw +234110 + + +expr +3145090 + + + + +value +raw + + +12 + + +1 +2 +201221 + + +2 +25 +15296 + + + + + + +value +expr + + +12 + + +1 +2 +95821 + + +2 +3 +41222 + + +3 +4 +19627 + + +4 +5 +16097 + + +5 +9 +18825 + + +9 +31 +16474 + + +31 +122435 +8451 + + + + + + +raw +value + + +12 + + +1 +2 +234110 + + + + + + +raw +expr + + +12 + + +1 +2 +104635 + + +2 +3 +47230 + + +3 +4 +20082 + + +4 +5 +16835 + + +5 +9 +19610 + + +9 +34 +17695 + + +34 +120241 +8023 + + + + + + +expr +value + + +12 + + +1 +2 +3145090 + + + + + + +expr +raw + + +12 + + +1 +2 +3145090 + + + + + + + + +enclosing_stmt +5372899 + + +expr +5372899 + + +stmt +854574 + + + + +expr +stmt + + +12 + + +1 +2 +5372899 + + + + + + +stmt +expr + + +12 + + +1 +3 +74578 + + +3 +4 +254844 + + +4 +5 +57228 + + +5 +6 +136234 + + +6 +7 +44557 + + +7 +8 +79401 + + +8 +9 +55420 + + +9 +11 +63155 + + +11 +17 +65146 + + +17 +88321 +24011 + + + + + + + + +expr_containers +5495305 + + +expr +5495305 + + +container +118511 + + + + +expr +container + + +12 + + +1 +2 +5495305 + + + + + + +container +expr + + +12 + + +1 +4 +7197 + + +4 +6 +9110 + + +6 +8 +9222 + + +8 +10 +8424 + + +10 +13 +10651 + + +13 +16 +8706 + + +16 +20 +9358 + + +20 +25 +9955 + + +25 +31 +8893 + + +31 +40 +9356 + + +40 +54 +9017 + + +54 +85 +8935 + + +85 +484 +8890 + + +484 +459128 +797 + + + + + + + + +array_size +28188 + + +ae +28188 + + +sz +118 + + + + +ae +sz + + +12 + + +1 +2 +28188 + + + + + + +sz +ae + + +12 + + +1 +2 +52 + + +2 +3 +21 + + +3 +5 +9 + + +5 +8 +9 + + +9 +20 +9 + + +22 +181 +9 + + +231 +12345 +9 + + + + + + + + +is_delegating +4 + + +yield +4 + + + + + +expr_contains_template_tag_location +31 + + +expr +31 + + +location +31 + + + + +expr +location + + +12 + + +1 +2 +31 + + + + + + +location +expr + + +12 + + +1 +2 +31 + + + + + + + + +template_placeholder_tag_info +283 + + +node +283 + + +parentNode +92 + + +raw +24 + + + + +node +parentNode + + +12 + + +1 +2 +283 + + + + + + +node +raw + + +12 + + +1 +2 +283 + + + + + + +parentNode +node + + +12 + + +1 +2 +49 + + +2 +3 +4 + + +3 +4 +9 + + +5 +6 +9 + + +6 +7 +4 + + +7 +8 +13 + + +9 +11 +4 + + + + + + +parentNode +raw + + +12 + + +1 +2 +49 + + +2 +3 +4 + + +3 +4 +9 + + +4 +5 +11 + + +5 +6 +13 + + +6 +11 +6 + + + + + + +raw +node + + +12 + + +1 +2 +2 + + +2 +3 +4 + + +3 +4 +9 + + +4 +6 +2 + + +16 +17 +2 + + +20 +26 +2 + + +34 +45 +2 + + +82 +83 +1 + + + + + + +raw +parentNode + + +12 + + +1 +2 +2 + + +2 +3 +4 + + +3 +4 +9 + + +4 +6 +2 + + +16 +17 +2 + + +20 +26 +2 + + +34 +41 +2 + + +44 +45 +1 + + + + + + + + +scopes +id +118172 + + +id +118172 + + +kind +8 + + + + +id +kind + + +12 + + +1 +2 +118172 + + + + + + +kind +id + + +12 + + +1 +2 +1 + + +4 +5 +1 + + +17 +18 +1 + + +21 +22 +1 + + +28 +29 +1 + + +584 +585 +1 + + +1272 +1273 +1 + + +116245 +116246 +1 + + + + + + + + +scopenodes +118171 + + +node +118171 + + +scope +118171 + + + + +node +scope + + +12 + + +1 +2 +118171 + + + + + + +scope +node + + +12 + + +1 +2 +118171 + + + + + + + + +scopenesting +118171 + + +inner +118171 + + +outer +33143 + + + + +inner +outer + + +12 + + +1 +2 +118171 + + + + + + +outer +inner + + +12 + + +1 +2 +17868 + + +2 +3 +6196 + + +3 +4 +2666 + + +4 +6 +2791 + + +6 +13 +2584 + + +13 +17277 +1038 + + + + + + + + +is_generator +62 + + +fun +62 + + + + + +has_rest_parameter +33 + + +fun +33 + + + + + +is_async +50 + + +fun +50 + + + + + +variables +id +364388 + + +id +364388 + + +name +56559 + + +scope +118168 + + + + +id +name + + +12 + + +1 +2 +364388 + + + + + + +id +scope + + +12 + + +1 +2 +364388 + + + + + + +name +id + + +12 + + +1 +2 +38013 + + +2 +3 +9547 + + +3 +5 +4518 + + +5 +115 +4242 + + +115 +116259 +239 + + + + + + +name +scope + + +12 + + +1 +2 +38013 + + +2 +3 +9547 + + +3 +5 +4518 + + +5 +115 +4242 + + +115 +116259 +239 + + + + + + +scope +id + + +12 + + +1 +2 +39907 + + +2 +3 +32053 + + +3 +4 +18882 + + +4 +5 +9814 + + +5 +8 +10909 + + +8 +8779 +6603 + + + + + + +scope +name + + +12 + + +1 +2 +39907 + + +2 +3 +32053 + + +3 +4 +18882 + + +4 +5 +9814 + + +5 +8 +10909 + + +8 +8779 +6603 + + + + + + + + +local_type_names +23565 + + +id +23565 + + +name +6080 + + +scope +1614 + + + + +id +name + + +12 + + +1 +2 +23565 + + + + + + +id +scope + + +12 + + +1 +2 +23565 + + + + + + +name +id + + +12 + + +1 +2 +2821 + + +2 +3 +1362 + + +3 +4 +641 + + +4 +6 +508 + + +6 +13 +485 + + +13 +533 +263 + + + + + + +name +scope + + +12 + + +1 +2 +2821 + + +2 +3 +1362 + + +3 +4 +641 + + +4 +6 +508 + + +6 +13 +485 + + +13 +533 +263 + + + + + + +scope +id + + +12 + + +1 +2 +138 + + +2 +3 +109 + + +3 +4 +116 + + +4 +5 +108 + + +5 +7 +140 + + +7 +8 +89 + + +8 +10 +131 + + +10 +12 +112 + + +12 +15 +144 + + +15 +19 +134 + + +19 +25 +132 + + +25 +37 +122 + + +37 +87 +122 + + +87 +221 +17 + + + + + + +scope +name + + +12 + + +1 +2 +138 + + +2 +3 +109 + + +3 +4 +116 + + +4 +5 +108 + + +5 +7 +140 + + +7 +8 +89 + + +8 +10 +131 + + +10 +12 +112 + + +12 +15 +144 + + +15 +19 +134 + + +19 +25 +132 + + +25 +37 +122 + + +37 +87 +122 + + +87 +221 +17 + + + + + + + + +local_namespace_names +20832 + + +id +20832 + + +name +4078 + + +scope +1543 + + + + +id +name + + +12 + + +1 +2 +20832 + + + + + + +id +scope + + +12 + + +1 +2 +20832 + + + + + + +name +id + + +12 + + +1 +2 +1787 + + +2 +3 +859 + + +3 +4 +378 + + +4 +5 +216 + + +5 +8 +364 + + +8 +20 +310 + + +20 +533 +164 + + + + + + +name +scope + + +12 + + +1 +2 +1787 + + +2 +3 +859 + + +3 +4 +378 + + +4 +5 +216 + + +5 +8 +364 + + +8 +20 +310 + + +20 +533 +164 + + + + + + +scope +id + + +12 + + +1 +2 +88 + + +2 +3 +123 + + +3 +4 +120 + + +4 +5 +104 + + +5 +6 +107 + + +6 +7 +70 + + +7 +8 +87 + + +8 +10 +137 + + +10 +12 +122 + + +12 +15 +122 + + +15 +19 +124 + + +19 +26 +120 + + +26 +39 +117 + + +39 +136 +102 + + + + + + +scope +name + + +12 + + +1 +2 +88 + + +2 +3 +123 + + +3 +4 +120 + + +4 +5 +104 + + +5 +6 +107 + + +6 +7 +70 + + +7 +8 +87 + + +8 +10 +137 + + +10 +12 +122 + + +12 +15 +122 + + +15 +19 +124 + + +19 +26 +120 + + +26 +39 +117 + + +39 +136 +102 + + + + + + + + +is_arguments_object +116243 + + +id +116243 + + + + + +bind +1295408 + + +id +1295408 + + +decl +224900 + + + + +id +decl + + +12 + + +1 +2 +1295408 + + + + + + +decl +id + + +12 + + +1 +2 +81789 + + +2 +3 +50824 + + +3 +4 +29919 + + +4 +5 +17755 + + +5 +7 +16901 + + +7 +14 +17790 + + +14 +98305 +9922 + + + + + + + + +decl +250257 + + +id +250257 + + +decl +246998 + + + + +id +decl + + +12 + + +1 +2 +250257 + + + + + + +decl +id + + +12 + + +1 +2 +245772 + + +2 +283 +1226 + + + + + + + + +typebind +36216 + + +id +36216 + + +decl +12650 + + + + +id +decl + + +12 + + +1 +2 +36216 + + + + + + +decl +id + + +12 + + +1 +2 +6781 + + +2 +3 +2435 + + +3 +4 +1133 + + +4 +6 +1127 + + +6 +17 +954 + + +17 +524 +220 + + + + + + + + +typedecl +23573 + + +id +23573 + + +decl +23565 + + + + +id +decl + + +12 + + +1 +2 +23573 + + + + + + +decl +id + + +12 + + +1 +2 +23558 + + +2 +4 +7 + + + + + + + + +namespacedecl +20839 + + +id +20839 + + +decl +20832 + + + + +id +decl + + +12 + + +1 +2 +20839 + + + + + + +decl +id + + +12 + + +1 +2 +20828 + + +2 +5 +4 + + + + + + + + +namespacebind +4300 + + +id +4300 + + +decl +485 + + + + +id +decl + + +12 + + +1 +2 +4300 + + + + + + +decl +id + + +12 + + +1 +2 +133 + + +2 +3 +46 + + +3 +4 +56 + + +4 +5 +30 + + +5 +7 +37 + + +7 +9 +44 + + +9 +12 +41 + + +12 +17 +38 + + +17 +31 +37 + + +32 +287 +23 + + + + + + + + +properties +id +142723 + + +id +142723 + + +parent +45129 + + +index +4204 + + +kind +3 + + +tostring +67703 + + + + +id +parent + + +12 + + +1 +2 +142723 + + + + + + +id +index + + +12 + + +1 +2 +142723 + + + + + + +id +kind + + +12 + + +1 +2 +142723 + + + + + + +id +tostring + + +12 + + +1 +2 +142723 + + + + + + +parent +id + + +12 + + +1 +2 +15702 + + +2 +3 +17715 + + +3 +4 +4729 + + +4 +6 +3778 + + +6 +4205 +3205 + + + + + + +parent +index + + +12 + + +1 +2 +15702 + + +2 +3 +17715 + + +3 +4 +4729 + + +4 +6 +3778 + + +6 +4205 +3205 + + + + + + +parent +kind + + +12 + + +1 +2 +44603 + + +2 +4 +526 + + + + + + +parent +tostring + + +12 + + +1 +2 +15770 + + +2 +3 +17763 + + +3 +4 +4692 + + +4 +6 +3759 + + +6 +4173 +3145 + + + + + + +index +id + + +12 + + +2 +3 +2827 + + +3 +4 +364 + + +4 +6 +358 + + +6 +8 +337 + + +8 +11713 +316 + + +29427 +45130 +2 + + + + + + +index +parent + + +12 + + +2 +3 +2827 + + +3 +4 +364 + + +4 +6 +358 + + +6 +8 +337 + + +8 +11713 +316 + + +29427 +45130 +2 + + + + + + +index +kind + + +12 + + +1 +2 +4149 + + +2 +4 +55 + + + + + + +index +tostring + + +12 + + +1 +2 +2827 + + +2 +3 +364 + + +3 +5 +358 + + +5 +7 +337 + + +7 +6233 +316 + + +16744 +16747 +2 + + + + + + +kind +id + + +12 + + +338 +339 +1 + + +1529 +1530 +1 + + +140856 +140857 +1 + + + + + + +kind +parent + + +12 + + +204 +205 +1 + + +523 +524 +1 + + +45034 +45035 +1 + + + + + + +kind +index + + +12 + + +36 +37 +1 + + +55 +56 +1 + + +4204 +4205 +1 + + + + + + +kind +tostring + + +12 + + +174 +175 +1 + + +880 +881 +1 + + +66649 +66650 +1 + + + + + + +tostring +id + + +12 + + +1 +2 +46301 + + +2 +3 +13295 + + +3 +6 +5112 + + +6 +2975 +2995 + + + + + + +tostring +parent + + +12 + + +1 +2 +46926 + + +2 +3 +13013 + + +3 +7 +5466 + + +7 +2975 +2298 + + + + + + +tostring +index + + +12 + + +1 +2 +61480 + + +2 +4 +5275 + + +4 +43 +948 + + + + + + +tostring +kind + + +12 + + +1 +2 +67703 + + + + + + + + +is_computed +27 + + +id +27 + + + + + +is_method +392 + + +id +392 + + + + + +is_static +36 + + +id +36 + + + + + +type_alias +1386 + + +aliasType +1386 + + +underlyingType +1361 + + + + +underlyingType +aliasType + + +12 + + +1 +2 +1 + + + + + + +aliasType +underlyingType + + +12 + + +1 +2 +1 + + + + + + + + +type_literal_value +31882 + + +typ +31882 + + +value +31828 + + + + +typ +value + + +12 + + +1 +2 +31882 + + + + + + +value +typ + + +12 + + +1 +2 +31774 + + +2 +3 +54 + + + + + + + + +signature_types +46921 + + +id +46921 + + +kind +2 + + +tostring +27460 + + +type_parameters +11 + + +required_params +22 + + + + +id +kind + + +12 + + +1 +2 +46921 + + + + + + +id +tostring + + +12 + + +1 +2 +46921 + + + + + + +id +type_parameters + + +12 + + +1 +2 +46921 + + + + + + +id +required_params + + +12 + + +1 +2 +46921 + + + + + + +kind +id + + +12 + + +2639 +2640 +1 + + +44282 +44283 +1 + + + + + + +kind +tostring + + +12 + + +2200 +2201 +1 + + +25260 +25261 +1 + + + + + + +kind +type_parameters + + +12 + + +4 +5 +1 + + +11 +12 +1 + + + + + + +kind +required_params + + +12 + + +18 +19 +1 + + +19 +20 +1 + + + + + + +tostring +id + + +12 + + +1 +2 +22069 + + +2 +3 +3061 + + +3 +13 +2112 + + +13 +277 +218 + + + + + + +tostring +kind + + +12 + + +1 +2 +27460 + + + + + + +tostring +type_parameters + + +12 + + +1 +2 +27459 + + +2 +3 +1 + + + + + + +tostring +required_params + + +12 + + +1 +2 +27134 + + +2 +10 +326 + + + + + + +type_parameters +id + + +12 + + +1 +2 +1 + + +13 +14 +1 + + +25 +26 +1 + + +34 +35 +1 + + +42 +43 +1 + + +51 +52 +1 + + +74 +75 +1 + + +139 +140 +1 + + +274 +275 +1 + + +5367 +5368 +1 + + +40901 +40902 +1 + + + + + + +type_parameters +kind + + +12 + + +1 +2 +7 + + +2 +3 +4 + + + + + + +type_parameters +tostring + + +12 + + +1 +2 +1 + + +5 +6 +1 + + +6 +7 +2 + + +8 +9 +2 + + +17 +18 +1 + + +18 +19 +1 + + +158 +159 +1 + + +1805 +1806 +1 + + +25429 +25430 +1 + + + + + + +type_parameters +required_params + + +12 + + +1 +2 +1 + + +3 +4 +1 + + +4 +5 +1 + + +5 +6 +1 + + +6 +7 +2 + + +7 +8 +1 + + +8 +9 +2 + + +9 +10 +1 + + +22 +23 +1 + + + + + + +required_params +id + + +12 + + +1 +2 +4 + + +2 +3 +2 + + +3 +5 +2 + + +5 +11 +2 + + +11 +12 +2 + + +44 +131 +2 + + +197 +373 +2 + + +645 +2439 +2 + + +2783 +6853 +2 + + +16407 +17002 +2 + + + + + + +required_params +kind + + +12 + + +1 +2 +7 + + +2 +3 +15 + + + + + + +required_params +tostring + + +12 + + +1 +2 +4 + + +2 +3 +3 + + +4 +5 +1 + + +5 +6 +2 + + +9 +12 +2 + + +39 +62 +2 + + +112 +205 +2 + + +432 +1404 +2 + + +1813 +3662 +2 + + +8431 +11659 +2 + + + + + + +required_params +type_parameters + + +12 + + +1 +2 +12 + + +2 +3 +1 + + +3 +4 +2 + + +5 +7 +2 + + +8 +10 +2 + + +10 +11 +2 + + +11 +12 +1 + + + + + + + + +is_abstract_signature +12 + + +sig +12 + + + + + +signature_rest_parameter +19521 + + +sig +19521 + + +rest_param_arra_type +14259 + + + + +rest_param_arra_type +sig + + +12 + + +1 +2 +1 + + + + + + +sig +rest_param_arra_type + + +12 + + +1 +2 +1 + + + + + + + + +type_contains_signature +87640 + + +typ +68964 + + +kind +2 + + +index +247 + + +sig +37344 + + + + +typ +kind + + +12 + + +1 +2 +68938 + + +2 +3 +26 + + + + + + +typ +index + + +12 + + +1 +2 +59150 + + +2 +3 +5394 + + +3 +248 +4420 + + + + + + +typ +sig + + +12 + + +1 +2 +60034 + + +2 +3 +4557 + + +3 +248 +4373 + + + + + + +kind +typ + + +12 + + +2582 +2583 +1 + + +66408 +66409 +1 + + + + + + +kind +index + + +12 + + +6 +7 +1 + + +247 +248 +1 + + + + + + +kind +sig + + +12 + + +2646 +2647 +1 + + +34698 +34699 +1 + + + + + + +index +typ + + +12 + + +1 +2 +198 + + +2 +3 +21 + + +3 +265 +19 + + +449 +42171 +9 + + + + + + +index +kind + + +12 + + +1 +2 +241 + + +2 +3 +6 + + + + + + +index +sig + + +12 + + +1 +2 +198 + + +2 +3 +24 + + +3 +90 +19 + + +309 +31688 +6 + + + + + + +sig +typ + + +12 + + +1 +2 +35114 + + +2 +896 +2230 + + + + + + +sig +kind + + +12 + + +1 +2 +37344 + + + + + + +sig +index + + +12 + + +1 +2 +36489 + + +2 +9 +855 + + + + + + + + +signature_contains_type +107012 + + +child +26824 + + +parent +37344 + + +index +21 + + + + +child +parent + + +12 + + +1 +2 +19848 + + +2 +3 +3736 + + +3 +7 +2017 + + +7 +10275 +1223 + + + + + + +child +index + + +12 + + +1 +2 +22572 + + +2 +3 +3289 + + +3 +22 +963 + + + + + + +parent +child + + +12 + + +1 +2 +3594 + + +2 +3 +18463 + + +3 +4 +10057 + + +4 +5 +3906 + + +5 +11 +1324 + + + + + + +parent +index + + +12 + + +1 +2 +2649 + + +2 +3 +14810 + + +3 +4 +12007 + + +4 +5 +4294 + + +5 +8 +3055 + + +8 +22 +529 + + + + + + +index +child + + +12 + + +1 +2 +2 + + +2 +3 +6 + + +3 +4 +1 + + +5 +6 +1 + + +9 +10 +1 + + +18 +19 +1 + + +106 +107 +1 + + +313 +314 +1 + + +455 +456 +1 + + +643 +644 +1 + + +1088 +1089 +1 + + +2051 +2052 +1 + + +6862 +6863 +1 + + +8789 +8790 +1 + + +12289 +12290 +1 + + + + + + +index +parent + + +12 + + +2 +3 +1 + + +3 +4 +1 + + +4 +5 +2 + + +5 +6 +1 + + +6 +7 +1 + + +17 +18 +1 + + +22 +23 +1 + + +26 +27 +1 + + +37 +38 +1 + + +45 +46 +1 + + +91 +92 +1 + + +219 +220 +1 + + +529 +530 +1 + + +1042 +1043 +1 + + +1574 +1575 +1 + + +3584 +3585 +1 + + +7878 +7879 +1 + + +19885 +19886 +1 + + +34695 +34696 +1 + + +37344 +37345 +1 + + + + + + + + +signature_parameter_name +69668 + + +sig +34695 + + +index +20 + + +name +4071 + + + + +sig +index + + +12 + + +1 +2 +14810 + + +2 +3 +12007 + + +3 +4 +4294 + + +4 +7 +3055 + + +7 +21 +529 + + + + + + +sig +name + + +12 + + +1 +2 +14810 + + +2 +3 +12007 + + +3 +4 +4294 + + +4 +7 +3055 + + +7 +21 +529 + + + + + + +index +sig + + +12 + + +2 +3 +1 + + +3 +4 +1 + + +4 +5 +2 + + +5 +6 +1 + + +6 +7 +1 + + +17 +18 +1 + + +22 +23 +1 + + +26 +27 +1 + + +37 +38 +1 + + +45 +46 +1 + + +91 +92 +1 + + +219 +220 +1 + + +529 +530 +1 + + +1042 +1043 +1 + + +1574 +1575 +1 + + +3584 +3585 +1 + + +7878 +7879 +1 + + +19885 +19886 +1 + + +34695 +34696 +1 + + + + + + +index +name + + +12 + + +2 +3 +1 + + +3 +4 +1 + + +4 +5 +2 + + +5 +6 +2 + + +11 +12 +1 + + +16 +17 +1 + + +18 +19 +1 + + +24 +25 +1 + + +30 +31 +1 + + +45 +46 +1 + + +63 +64 +1 + + +116 +117 +1 + + +188 +189 +1 + + +344 +345 +1 + + +605 +606 +1 + + +1092 +1093 +1 + + +1741 +1742 +1 + + +2122 +2123 +1 + + + + + + +name +sig + + +12 + + +1 +2 +1898 + + +2 +3 +700 + + +3 +4 +294 + + +4 +5 +262 + + +5 +8 +310 + + +8 +24 +309 + + +24 +3588 +298 + + + + + + +name +index + + +12 + + +1 +2 +2804 + + +2 +3 +738 + + +3 +4 +290 + + +4 +15 +239 + + + + + + + + +number_index_type +2038 + + +baseType +2038 + + +propertyType +517 + + + + +baseType +propertyType + + +12 + + +1 +2 +2038 + + + + + + +propertyType +baseType + + +12 + + +1 +2 +435 + + +2 +3 +70 + + +3 +1259 +12 + + + + + + + + +string_index_type +1102 + + +baseType +1102 + + +propertyType +256 + + + + +baseType +propertyType + + +12 + + +1 +2 +1102 + + + + + + +propertyType +baseType + + +12 + + +1 +2 +219 + + +2 +3 +20 + + +3 +436 +17 + + + + + + + + +base_type_names +941 + + +typeName +928 + + +baseTypeName +369 + + + + +typeName +baseTypeName + + +12 + + +1 +2 +917 + + +2 +4 +11 + + + + + + +baseTypeName +typeName + + +12 + + +1 +2 +175 + + +2 +3 +101 + + +3 +4 +29 + + +4 +5 +29 + + +5 +11 +28 + + +15 +41 +7 + + + + + + + + +self_types +19632 + + +typeName +14119 + + +selfType +19632 + + + + +typeName +selfType + + +12 + + +1 +2 +10451 + + +2 +3 +1823 + + +3 +4 +1845 + + + + + + +selfType +typeName + + +12 + + +1 +2 +19632 + + + + + + + + +tuple_type_min_length +241 + + +typ +241 + + +minLength +10 + + + + +typ +minLength + + +12 + + +1 +2 +241 + + + + + + +minLength +typ + + +12 + + +2 +3 +3 + + +3 +4 +1 + + +4 +5 +1 + + +7 +8 +1 + + +20 +21 +1 + + +42 +43 +1 + + +66 +67 +1 + + +93 +94 +1 + + + + + + + + +tuple_type_rest_index +6 + + +typ +6 + + +index +2 + + + + +typ +index + + +12 + + +1 +2 +6 + + + + + + +index +typ + + +12 + + +1 +2 +1 + + +5 +6 +1 + + + + + + + + +comments +id +104947 + + +id +104947 + + +kind +5 + + +toplevel +4497 + + +text +73454 + + +tostring +57955 + + + + +id +kind + + +12 + + +1 +2 +104947 + + + + + + +id +toplevel + + +12 + + +1 +2 +104947 + + + + + + +id +text + + +12 + + +1 +2 +104947 + + + + + + +id +tostring + + +12 + + +1 +2 +104947 + + + + + + +kind +id + + +12 + + +1 +2 +2 + + +8834 +8835 +1 + + +19270 +19271 +1 + + +76841 +76842 +1 + + + + + + +kind +toplevel + + +12 + + +1 +2 +2 + + +1705 +1706 +1 + + +3107 +3108 +1 + + +3141 +3142 +1 + + + + + + +kind +text + + +12 + + +1 +2 +2 + + +4893 +4894 +1 + + +12759 +12760 +1 + + +55810 +55811 +1 + + + + + + +kind +tostring + + +12 + + +1 +2 +2 + + +1739 +1740 +1 + + +2536 +2537 +1 + + +53678 +53679 +1 + + + + + + +toplevel +id + + +12 + + +1 +2 +1034 + + +2 +3 +512 + + +3 +4 +332 + + +4 +5 +260 + + +5 +7 +388 + + +7 +10 +401 + + +10 +14 +354 + + +14 +21 +365 + + +21 +36 +338 + + +36 +99 +339 + + +99 +6350 +174 + + + + + + +toplevel +kind + + +12 + + +1 +2 +1856 + + +2 +3 +1824 + + +3 +4 +817 + + + + + + +toplevel +text + + +12 + + +1 +2 +1043 + + +2 +3 +533 + + +3 +4 +341 + + +4 +5 +266 + + +5 +7 +396 + + +7 +9 +315 + + +9 +13 +388 + + +13 +20 +385 + + +20 +35 +344 + + +35 +103 +344 + + +103 +4413 +142 + + + + + + +toplevel +tostring + + +12 + + +1 +2 +1054 + + +2 +3 +571 + + +3 +4 +374 + + +4 +5 +297 + + +5 +6 +232 + + +6 +8 +363 + + +8 +11 +345 + + +11 +16 +366 + + +16 +27 +352 + + +27 +60 +338 + + +60 +4394 +205 + + + + + + +text +id + + +12 + + +1 +2 +59626 + + +2 +3 +10314 + + +3 +1417 +3514 + + + + + + +text +kind + + +12 + + +1 +2 +73446 + + +2 +5 +8 + + + + + + +text +toplevel + + +12 + + +1 +2 +62696 + + +2 +3 +8455 + + +3 +257 +2303 + + + + + + +text +tostring + + +12 + + +1 +2 +73446 + + +2 +5 +8 + + + + + + +tostring +id + + +12 + + +1 +2 +44781 + + +2 +3 +9203 + + +3 +4589 +3971 + + + + + + +tostring +kind + + +12 + + +1 +2 +57955 + + + + + + +tostring +toplevel + + +12 + + +1 +2 +48252 + + +2 +3 +7233 + + +3 +513 +2470 + + + + + + +tostring +text + + +12 + + +1 +2 +55262 + + +2 +3403 +2693 + + + + + + + + +types +179398 + + +id +179398 + + +kind +9 + + +tostring +40918 + + + + +id +kind + + +12 + + +1 +2 +179398 + + + + + + +id +tostring + + +12 + + +1 +2 +179398 + + + + + + +kind +id + + +12 + + +1 +2 +5 + + +1802 +1803 +1 + + +6109 +6110 +1 + + +12383 +12384 +1 + + +159099 +159100 +1 + + + + + + +kind +tostring + + +12 + + +1 +2 +5 + + +50 +51 +1 + + +745 +746 +1 + + +7464 +7465 +1 + + +32936 +32937 +1 + + + + + + +tostring +id + + +12 + + +1 +2 +22482 + + +2 +3 +8025 + + +3 +4 +3362 + + +4 +7 +3387 + + +7 +33 +3070 + + +33 +7284 +592 + + + + + + +tostring +kind + + +12 + + +1 +2 +40638 + + +2 +4 +280 + + + + + + + + +type_child +17410 + + +child +9118 + + +parent +7772 + + +idx +296 + + + + +child +parent + + +12 + + +1 +2 +7113 + + +2 +3 +978 + + +3 +8 +686 + + +8 +199 +341 + + + + + + +child +idx + + +12 + + +1 +2 +8255 + + +2 +5 +726 + + +5 +19 +137 + + + + + + +parent +child + + +12 + + +1 +2 +5433 + + +2 +3 +1746 + + +3 +288 +583 + + +288 +297 +10 + + + + + + +parent +idx + + +12 + + +1 +2 +5422 + + +2 +3 +1757 + + +3 +288 +583 + + +288 +297 +10 + + + + + + +idx +child + + +12 + + +1 +2 +1 + + +2 +3 +39 + + +3 +4 +3 + + +4 +5 +61 + + +5 +6 +37 + + +6 +7 +56 + + +7 +12 +22 + + +12 +14 +18 + + +14 +15 +44 + + +17 +6068 +15 + + + + + + +idx +parent + + +12 + + +2 +15 +13 + + +15 +16 +90 + + +19 +20 +81 + + +20 +23 +3 + + +23 +24 +75 + + +24 +55 +23 + + +55 +7773 +11 + + + + + + + + +ast_node_type +1261889 + + +node +1261889 + + +typ +72602 + + + + +node +typ + + +12 + + +1 +2 +1261889 + + + + + + +typ +node + + +12 + + +1 +2 +39248 + + +2 +3 +8371 + + +3 +4 +7888 + + +4 +5 +3053 + + +5 +8 +6417 + + +8 +28 +5528 + + +28 +588233 +2097 + + + + + + + + +declared_function_signature +62664 + + +node +62664 + + +sig +21731 + + + + +node +sig + + +12 + + +1 +2 +62664 + + + + + + +sig +node + + +12 + + +1 +2 +16826 + + +2 +3 +2358 + + +3 +6 +1683 + + +6 +10251 +864 + + + + + + + + +invoke_expr_signature +140668 + + +node +140668 + + +sig +9111 + + + + +node +sig + + +12 + + +1 +2 +140668 + + + + + + +sig +node + + +12 + + +1 +2 +4612 + + +2 +3 +1819 + + +3 +4 +737 + + +4 +6 +696 + + +6 +14 +705 + + +14 +68351 +542 + + + + + + + + +invoke_expr_overload_index +73550 + + +node +73550 + + +index +47 + + + + +node +index + + +12 + + +1 +2 +73550 + + + + + + +index +node + + +12 + + +1 +2 +17 + + +2 +3 +7 + + +3 +5 +4 + + +5 +6 +4 + + +6 +8 +3 + + +8 +16 +4 + + +27 +155 +4 + + +211 +68535 +4 + + + + + + + + +symbols +10192 + + +id +10192 + + +kind +3 + + +name +7872 + + + + +id +kind + + +12 + + +1 +2 +10192 + + + + + + +id +name + + +12 + + +1 +2 +10192 + + + + + + +kind +id + + +12 + + +584 +585 +1 + + +2385 +2386 +1 + + +7223 +7224 +1 + + + + + + +kind +name + + +12 + + +30 +31 +1 + + +2385 +2386 +1 + + +5609 +5610 +1 + + + + + + +name +id + + +12 + + +1 +2 +6929 + + +2 +3 +533 + + +3 +273 +410 + + + + + + +name +kind + + +12 + + +1 +2 +7730 + + +2 +4 +142 + + + + + + + + +symbol_parent +7807 + + +symbol +7807 + + +parent +1727 + + + + +symbol +parent + + +12 + + +1 +2 +7807 + + + + + + +parent +symbol + + +12 + + +1 +2 +778 + + +2 +3 +304 + + +3 +4 +212 + + +4 +5 +111 + + +5 +8 +152 + + +8 +26 +136 + + +26 +297 +34 + + + + + + + + +symbol_module +100 + + +symbol +97 + + +moduleName +98 + + + + +symbol +moduleName + + +12 + + +1 +2 +95 + + +2 +4 +2 + + + + + + +moduleName +symbol + + +12 + + +1 +2 +96 + + +2 +3 +2 + + + + + + + + +symbol_global +354 + + +symbol +354 + + +globalName +350 + + + + +symbol +globalName + + +12 + + +1 +2 +354 + + + + + + +globalName +symbol + + +12 + + +1 +2 +347 + + +2 +4 +3 + + + + + + + + +ast_node_symbol +8173 + + +node +8173 + + +symbol +8155 + + + + +node +symbol + + +12 + + +1 +2 +8173 + + + + + + +symbol +node + + +12 + + +1 +2 +8147 + + +2 +12 +8 + + + + + + + + +type_symbol +12383 + + +typ +12383 + + +symbol +6743 + + + + +typ +symbol + + +12 + + +1 +2 +12383 + + + + + + +symbol +typ + + +12 + + +1 +2 +6240 + + +2 +3070 +503 + + + + + + + + +type_property +331170 + + +typ +49305 + + +name +22420 + + +propertyType +130857 + + + + +typ +name + + +12 + + +1 +2 +10275 + + +2 +3 +14770 + + +3 +4 +6020 + + +4 +5 +3153 + + +5 +6 +1700 + + +6 +7 +4257 + + +7 +19 +3783 + + +19 +23 +3833 + + +23 +1390 +1514 + + + + + + +typ +propertyType + + +12 + + +1 +2 +19351 + + +2 +3 +10786 + + +3 +4 +5073 + + +4 +6 +2639 + + +6 +7 +3864 + + +7 +22 +3334 + + +22 +33 +3710 + + +33 +1390 +548 + + + + + + +name +typ + + +12 + + +1 +2 +4735 + + +2 +3 +7379 + + +3 +4 +2728 + + +4 +5 +1467 + + +5 +7 +1481 + + +7 +11 +1878 + + +11 +30 +1682 + + +30 +7825 +1070 + + + + + + +name +propertyType + + +12 + + +1 +2 +14690 + + +2 +3 +2698 + + +3 +4 +1925 + + +4 +8 +1697 + + +8 +3373 +1410 + + + + + + +propertyType +typ + + +12 + + +1 +2 +112801 + + +2 +3 +12999 + + +3 +19440 +5057 + + + + + + +propertyType +name + + +12 + + +1 +2 +129508 + + +2 +3475 +1349 + + + + + + + + +lines +id +1622184 + + +id +1622184 + + +toplevel +5312 + + +text +648122 + + +terminator +6 + + + + +id +toplevel + + +12 + + +1 +2 +1622184 + + + + + + +id +text + + +12 + + +1 +2 +1622184 + + + + + + +id +terminator + + +12 + + +1 +2 +1622184 + + + + + + +toplevel +id + + +12 + + +1 +12 +425 + + +12 +24 +415 + + +24 +37 +419 + + +37 +50 +404 + + +50 +66 +411 + + +66 +85 +400 + + +85 +108 +405 + + +108 +138 +402 + + +138 +174 +402 + + +174 +232 +405 + + +232 +331 +399 + + +331 +547 +399 + + +548 +4700 +399 + + +4783 +277404 +27 + + + + + + +toplevel +text + + +12 + + +1 +11 +441 + + +11 +21 +427 + + +21 +30 +414 + + +30 +40 +452 + + +40 +51 +435 + + +51 +64 +413 + + +64 +79 +404 + + +79 +96 +401 + + +96 +121 +400 + + +121 +158 +401 + + +158 +220 +399 + + +220 +387 +401 + + +388 +60934 +324 + + + + + + +toplevel +terminator + + +12 + + +1 +2 +5046 + + +2 +6 +266 + + + + + + +text +id + + +12 + + +1 +2 +513961 + + +2 +3 +84265 + + +3 +49 +48993 + + +49 +175121 +903 + + + + + + +text +toplevel + + +12 + + +1 +2 +569267 + + +2 +3 +56143 + + +3 +5068 +22712 + + + + + + +text +terminator + + +12 + + +1 +2 +647931 + + +2 +4 +191 + + + + + + +terminator +id + + +12 + + +3 +4 +3 + + +349 +350 +1 + + +1830 +1831 +1 + + +1619996 +1619997 +1 + + + + + + +terminator +toplevel + + +12 + + +3 +4 +3 + + +11 +12 +1 + + +349 +350 +1 + + +5218 +5219 +1 + + + + + + +terminator +text + + +12 + + +1 +2 +3 + + +110 +111 +1 + + +1093 +1094 +1 + + +647111 +647112 +1 + + + + + + + + +indentation +1145010 + + +file +5728 + + +lineno +40788 + + +indentChar +2 + + +indentDepth +72 + + + + +file +lineno + + +12 + + +1 +9 +440 + + +9 +18 +471 + + +18 +29 +439 + + +29 +41 +451 + + +41 +54 +460 + + +54 +71 +442 + + +71 +91 +441 + + +91 +118 +430 + + +118 +152 +432 + + +152 +205 +434 + + +205 +295 +431 + + +295 +503 +430 + + +503 +38151 +427 + + + + + + +file +indentChar + + +12 + + +1 +2 +5692 + + +2 +3 +36 + + + + + + +file +indentDepth + + +12 + + +1 +2 +287 + + +2 +3 +401 + + +3 +4 +665 + + +4 +5 +815 + + +5 +6 +814 + + +6 +7 +687 + + +7 +8 +567 + + +8 +9 +390 + + +9 +11 +503 + + +11 +17 +462 + + +17 +67 +137 + + + + + + +lineno +file + + +12 + + +1 +2 +10935 + + +2 +3 +5303 + + +3 +4 +12061 + + +4 +6 +3644 + + +6 +13 +3223 + + +13 +31 +3090 + + +31 +3986 +2532 + + + + + + +lineno +indentChar + + +12 + + +1 +2 +38720 + + +2 +3 +2068 + + + + + + +lineno +indentDepth + + +12 + + +1 +2 +11626 + + +2 +3 +7847 + + +3 +4 +10434 + + +4 +5 +2688 + + +5 +8 +3316 + + +8 +13 +3144 + + +13 +39 +1733 + + + + + + +indentChar +file + + +12 + + +42 +43 +1 + + +5722 +5723 +1 + + + + + + +indentChar +lineno + + +12 + + +2068 +2069 +1 + + +40788 +40789 +1 + + + + + + +indentChar +indentDepth + + +12 + + +10 +11 +1 + + +72 +73 +1 + + + + + + +indentDepth +file + + +12 + + +1 +6 +6 + + +6 +9 +6 + + +9 +20 +6 + + +21 +30 +6 + + +38 +57 +6 + + +59 +90 +6 + + +90 +124 +6 + + +132 +160 +6 + + +165 +211 +6 + + +213 +337 +6 + + +377 +1532 +6 + + +1919 +5487 +6 + + + + + + +indentDepth +lineno + + +12 + + +2 +8 +6 + + +11 +19 +6 + + +25 +44 +6 + + +53 +67 +6 + + +67 +89 +6 + + +102 +169 +6 + + +183 +239 +6 + + +269 +411 +6 + + +417 +971 +6 + + +1129 +2732 +6 + + +4374 +9301 +6 + + +11828 +21226 +6 + + + + + + +indentDepth +indentChar + + +12 + + +1 +2 +62 + + +2 +3 +10 + + + + + + + + +js_parse_errors +3 + + +id +3 + + +toplevel +3 + + +message +1 + + +line +3 + + + + +id +toplevel + + +12 + + +1 +2 +3 + + + + + + +id +message + + +12 + + +1 +2 +3 + + + + + + +id +line + + +12 + + +1 +2 +3 + + + + + + +toplevel +id + + +12 + + +1 +2 +3 + + + + + + +toplevel +message + + +12 + + +1 +2 +3 + + + + + + +toplevel +line + + +12 + + +1 +2 +3 + + + + + + +message +id + + +12 + + +3 +4 +1 + + + + + + +message +toplevel + + +12 + + +3 +4 +1 + + + + + + +message +line + + +12 + + +3 +4 +1 + + + + + + +line +id + + +12 + + +1 +2 +3 + + + + + + +line +toplevel + + +12 + + +1 +2 +3 + + + + + + +line +message + + +12 + + +1 +2 +3 + + + + + + + + +regexpterm +id +33197 + + +id +33197 + + +kind +25 + + +parent +13313 + + +idx +76 + + +tostring +4610 + + + + +id +kind + + +12 + + +1 +2 +33197 + + + + + + +id +parent + + +12 + + +1 +2 +33197 + + + + + + +id +idx + + +12 + + +1 +2 +33197 + + + + + + +id +tostring + + +12 + + +1 +2 +33197 + + + + + + +kind +id + + +12 + + +1 +4 +2 + + +7 +12 +2 + + +12 +16 +2 + + +59 +100 +2 + + +146 +265 +2 + + +445 +479 +2 + + +599 +620 +2 + + +637 +642 +2 + + +826 +1058 +2 + + +1067 +1474 +2 + + +1573 +1693 +2 + + +2613 +3372 +2 + + +15489 +15490 +1 + + + + + + +kind +parent + + +12 + + +1 +4 +2 + + +7 +8 +1 + + +11 +12 +2 + + +15 +46 +2 + + +79 +132 +2 + + +132 +331 +2 + + +367 +381 +2 + + +437 +638 +2 + + +641 +737 +2 + + +825 +1005 +2 + + +1391 +1403 +2 + + +1465 +1645 +2 + + +2691 +3963 +2 + + + + + + +kind +idx + + +12 + + +1 +2 +2 + + +2 +3 +2 + + +4 +5 +3 + + +6 +8 +2 + + +12 +15 +2 + + +17 +19 +2 + + +19 +21 +2 + + +22 +23 +1 + + +23 +24 +2 + + +25 +27 +2 + + +27 +30 +2 + + +42 +49 +2 + + +73 +74 +1 + + + + + + +kind +tostring + + +12 + + +1 +2 +6 + + +2 +5 +2 + + +6 +11 +2 + + +13 +28 +2 + + +31 +59 +2 + + +65 +78 +2 + + +100 +118 +2 + + +149 +171 +2 + + +175 +391 +2 + + +433 +791 +2 + + +1992 +1993 +1 + + + + + + +parent +id + + +12 + + +1 +2 +7691 + + +2 +3 +2568 + + +3 +4 +924 + + +4 +7 +1189 + + +7 +77 +941 + + + + + + +parent +kind + + +12 + + +1 +2 +10080 + + +2 +3 +2026 + + +3 +5 +1068 + + +5 +9 +139 + + + + + + +parent +idx + + +12 + + +1 +2 +7691 + + +2 +3 +2568 + + +3 +4 +924 + + +4 +7 +1189 + + +7 +77 +941 + + + + + + +parent +tostring + + +12 + + +1 +2 +7733 + + +2 +3 +2644 + + +3 +4 +940 + + +4 +7 +1230 + + +7 +32 +766 + + + + + + +idx +id + + +12 + + +1 +2 +7 + + +2 +3 +9 + + +4 +8 +7 + + +8 +13 +7 + + +15 +22 +6 + + +26 +35 +5 + + +37 +51 +6 + + +53 +75 +6 + + +79 +141 +6 + + +186 +325 +6 + + +385 +1182 +6 + + +1578 +13314 +5 + + + + + + +idx +kind + + +12 + + +1 +2 +18 + + +2 +3 +15 + + +3 +4 +8 + + +4 +5 +7 + + +5 +8 +6 + + +9 +13 +6 + + +13 +16 +7 + + +17 +20 +7 + + +21 +25 +2 + + + + + + +idx +parent + + +12 + + +1 +2 +7 + + +2 +3 +9 + + +4 +8 +7 + + +8 +13 +7 + + +15 +22 +6 + + +26 +35 +5 + + +37 +51 +6 + + +53 +75 +6 + + +79 +141 +6 + + +186 +325 +6 + + +385 +1182 +6 + + +1578 +13314 +5 + + + + + + +idx +tostring + + +12 + + +1 +2 +8 + + +2 +3 +8 + + +3 +4 +4 + + +5 +7 +6 + + +7 +10 +6 + + +10 +15 +6 + + +16 +21 +7 + + +21 +26 +6 + + +29 +48 +6 + + +48 +75 +6 + + +82 +147 +6 + + +158 +940 +6 + + +3258 +3259 +1 + + + + + + +tostring +id + + +12 + + +1 +2 +3026 + + +2 +3 +751 + + +3 +5 +391 + + +5 +49 +346 + + +49 +1013 +96 + + + + + + +tostring +kind + + +12 + + +1 +2 +4605 + + +2 +3 +5 + + + + + + +tostring +parent + + +12 + + +1 +2 +3041 + + +2 +3 +746 + + +3 +5 +389 + + +5 +53 +346 + + +54 +875 +88 + + + + + + +tostring +idx + + +12 + + +1 +2 +4102 + + +2 +5 +351 + + +5 +58 +157 + + + + + + + + +regexp_parse_errors +id +122 + + +id +122 + + +regexp +41 + + +message +5 + + + + +id +regexp + + +12 + + +1 +2 +122 + + + + + + +id +message + + +12 + + +1 +2 +122 + + + + + + +regexp +id + + +12 + + +1 +2 +7 + + +2 +3 +9 + + +3 +4 +12 + + +4 +5 +5 + + +5 +6 +7 + + +6 +7 +1 + + + + + + +regexp +message + + +12 + + +1 +2 +18 + + +2 +3 +4 + + +3 +4 +19 + + + + + + +message +id + + +12 + + +1 +2 +1 + + +8 +9 +1 + + +22 +23 +1 + + +23 +24 +1 + + +68 +69 +1 + + + + + + +message +regexp + + +12 + + +1 +2 +1 + + +2 +3 +1 + + +22 +23 +1 + + +23 +24 +1 + + +35 +36 +1 + + + + + + + + +is_greedy +2629 + + +id +2629 + + + + + +isOptionalChaining +100 + + +id +100 + + + + + + +range_quantifier_lower_bound +146 + + +id +146 + + +lo +11 + + + + +id +lo + + +12 + + +1 +2 +146 + + + + + + +lo +id + + +12 + + +1 +2 +4 + + +4 +5 +1 + + +5 +6 +1 + + +17 +18 +1 + + +20 +21 +1 + + +28 +29 +1 + + +33 +34 +1 + + +35 +36 +1 + + + + + + + + +range_quantifier_upper_bound +45 + + +id +45 + + +hi +13 + + + + +id +hi + + +12 + + +1 +2 +45 + + + + + + +hi +id + + +12 + + +1 +2 +5 + + +2 +3 +3 + + +3 +4 +2 + + +8 +9 +1 + + +9 +10 +1 + + +11 +12 +1 + + + + + + + + +is_capture +1280 + + +id +1280 + + +number +14 + + + + +id +number + + +12 + + +1 +2 +1280 + + + + + + +number +id + + +12 + + +1 +2 +1 + + +2 +3 +2 + + +4 +5 +2 + + +6 +7 +2 + + +7 +8 +1 + + +12 +13 +1 + + +23 +24 +1 + + +55 +56 +1 + + +108 +109 +1 + + +276 +277 +1 + + +774 +775 +1 + + + + + + + + +is_named_capture +1280 + + +id +1280 + + +name +14 + + + + +id +name + + +12 + + +1 +2 +1280 + + + + + + +name +id + + +12 + + +1 +2 +1 + + +2 +3 +2 + + +4 +5 +2 + + +6 +7 +2 + + +7 +8 +1 + + +12 +13 +1 + + +23 +24 +1 + + +55 +56 +1 + + +108 +109 +1 + + +276 +277 +1 + + +774 +775 +1 + + + + + + + + +is_inverted +458 + + +id +458 + + + + + +regexp_const_value +19032 + + +id +19032 + + +value +237 + + + + +id +value + + +12 + + +1 +2 +19032 + + + + + + +value +id + + +12 + + +1 +2 +80 + + +2 +3 +12 + + +3 +4 +10 + + +4 +5 +20 + + +5 +17 +18 + + +17 +30 +18 + + +30 +66 +18 + + +68 +143 +18 + + +155 +242 +18 + + +251 +555 +18 + + +581 +1013 +7 + + + + + + + + +char_class_escape +1573 + + +id +1573 + + +value +6 + + + + +id +value + + +12 + + +1 +2 +1573 + + + + + + +value +id + + +12 + + +11 +12 +1 + + +14 +15 +1 + + +92 +93 +1 + + +199 +200 +1 + + +378 +379 +1 + + +879 +880 +1 + + + + + + + + +unicode_property_escapename +1573 + + +id +1573 + + +name +6 + + + + +id +name + + +12 + + +1 +2 +1573 + + + + + + +name +id + + +12 + + +11 +12 +1 + + +14 +15 +1 + + +92 +93 +1 + + +199 +200 +1 + + +378 +379 +1 + + +879 +880 +1 + + + + + + + + +unicode_property_escapevalue +1573 + + +id +1573 + + +value +6 + + + + +id +value + + +12 + + +1 +2 +1573 + + + + + + +value +id + + +12 + + +11 +12 +1 + + +14 +15 +1 + + +92 +93 +1 + + +199 +200 +1 + + +378 +379 +1 + + +879 +880 +1 + + + + + + + + +backref +11 + + +id +11 + + +value +4 + + + + +id +value + + +12 + + +1 +2 +11 + + + + + + +value +id + + +12 + + +1 +2 +2 + + +3 +4 +1 + + +6 +7 +1 + + + + + + + + +named_backref +11 + + +id +11 + + +name +4 + + + + +id +name + + +12 + + +1 +2 +11 + + + + + + +name +id + + +12 + + +1 +2 +2 + + +3 +4 +1 + + +6 +7 +1 + + + + + + + + +tokeninfo +id +8770869 + + +id +8770869 + + +kind +9 + + +toplevel +5312 + + +idx +1581031 + + +value +234179 + + + + +id +kind + + +12 + + +1 +2 +8770869 + + + + + + +id +toplevel + + +12 + + +1 +2 +8770869 + + + + + + +id +idx + + +12 + + +1 +2 +8770869 + + + + + + +id +value + + +12 + + +1 +2 +8770869 + + + + + + +kind +id + + +12 + + +2773 +2774 +1 + + +5312 +5313 +1 + + +15526 +15527 +1 + + +31654 +31655 +1 + + +269555 +269556 +1 + + +551767 +551768 +1 + + +557620 +557621 +1 + + +2268328 +2268329 +1 + + +5068334 +5068335 +1 + + + + + + +kind +toplevel + + +12 + + +471 +472 +1 + + +2204 +2205 +1 + + +2851 +2852 +1 + + +3204 +3205 +1 + + +5089 +5090 +1 + + +5219 +5220 +1 + + +5294 +5295 +1 + + +5300 +5301 +1 + + +5312 +5313 +1 + + + + + + +kind +idx + + +12 + + +1949 +1950 +1 + + +2130 +2131 +1 + + +8409 +8410 +1 + + +12883 +12884 +1 + + +51181 +51182 +1 + + +130388 +130389 +1 + + +409369 +409370 +1 + + +583910 +583911 +1 + + +1104589 +1104590 +1 + + + + + + +kind +value + + +12 + + +1 +2 +2 + + +2 +3 +1 + + +34 +35 +1 + + +52 +53 +1 + + +1596 +1597 +1 + + +59827 +59828 +1 + + +85214 +85215 +1 + + +87463 +87464 +1 + + + + + + +toplevel +id + + +12 + + +1 +45 +403 + + +45 +95 +408 + + +95 +149 +399 + + +149 +212 +408 + + +212 +291 +405 + + +291 +362 +399 + + +362 +461 +401 + + +461 +585 +399 + + +585 +756 +399 + + +756 +1013 +399 + + +1013 +1389 +399 + + +1389 +2313 +400 + + +2320 +6681 +399 + + +6717 +1581032 +94 + + + + + + +toplevel +kind + + +12 + + +1 +5 +174 + + +5 +6 +1046 + + +6 +7 +1326 + + +7 +8 +1279 + + +8 +9 +1214 + + +9 +10 +273 + + + + + + +toplevel +idx + + +12 + + +1 +45 +403 + + +45 +95 +408 + + +95 +149 +399 + + +149 +212 +408 + + +212 +291 +405 + + +291 +362 +399 + + +362 +461 +401 + + +461 +585 +399 + + +585 +756 +399 + + +756 +1013 +399 + + +1013 +1389 +399 + + +1389 +2313 +400 + + +2320 +6681 +399 + + +6717 +1581032 +94 + + + + + + +toplevel +value + + +12 + + +1 +21 +423 + + +21 +33 +416 + + +33 +44 +424 + + +44 +55 +400 + + +55 +65 +426 + + +65 +76 +407 + + +76 +88 +426 + + +88 +102 +402 + + +102 +120 +405 + + +120 +144 +401 + + +144 +180 +400 + + +180 +260 +400 + + +260 +46630 +382 + + + + + + +idx +id + + +12 + + +1 +2 +1083847 + + +2 +3 +166188 + + +3 +6 +136823 + + +6 +9 +123495 + + +9 +5313 +70678 + + + + + + +idx +kind + + +12 + + +1 +2 +1175018 + + +2 +3 +207984 + + +3 +4 +120754 + + +4 +10 +77275 + + + + + + +idx +toplevel + + +12 + + +1 +2 +1083847 + + +2 +3 +166188 + + +3 +6 +136823 + + +6 +9 +123495 + + +9 +5313 +70678 + + + + + + +idx +value + + +12 + + +1 +2 +1089271 + + +2 +3 +165753 + + +3 +5 +104658 + + +5 +8 +145624 + + +8 +1449 +75725 + + + + + + +value +id + + +12 + + +1 +2 +104636 + + +2 +3 +47235 + + +3 +4 +20077 + + +4 +5 +16835 + + +5 +9 +19608 + + +9 +34 +17687 + + +34 +789848 +8101 + + + + + + +value +kind + + +12 + + +1 +2 +234168 + + +2 +3 +11 + + + + + + +value +toplevel + + +12 + + +1 +2 +174552 + + +2 +3 +34819 + + +3 +8 +18537 + + +8 +5313 +6271 + + + + + + +value +idx + + +12 + + +1 +2 +105969 + + +2 +3 +47057 + + +3 +4 +19986 + + +4 +5 +16682 + + +5 +9 +19402 + + +9 +36 +17686 + + +36 +347359 +7397 + + + + + + + + +next_token +104943 + + +comment +104943 + + +token +74457 + + + + +comment +token + + +12 + + +1 +2 +104943 + + + + + + +token +comment + + +12 + + +1 +2 +59983 + + +2 +3 +8628 + + +3 +12 +5601 + + +12 +141 +245 + + + + + + + + +json +id +1643352 + + +id +1643352 + + +kind +6 + + +parent +617634 + + +idx +159429 + + +tostring +768907 + + + + +id +kind + + +12 + + +1 +2 +1643352 + + + + + + +id +parent + + +12 + + +1 +2 +1643352 + + + + + + +id +idx + + +12 + + +1 +2 +1643352 + + + + + + +id +tostring + + +12 + + +1 +2 +1643352 + + + + + + +kind +id + + +12 + + +24 +25 +1 + + +654 +655 +1 + + +175925 +175926 +1 + + +273113 +273114 +1 + + +441281 +441282 +1 + + +752355 +752356 +1 + + + + + + +kind +parent + + +12 + + +17 +18 +1 + + +411 +412 +1 + + +165183 +165184 +1 + + +167132 +167133 +1 + + +271547 +271548 +1 + + +452264 +452265 +1 + + + + + + +kind +idx + + +12 + + +10 +11 +1 + + +65 +66 +1 + + +152 +153 +1 + + +174 +175 +1 + + +198 +199 +1 + + +159429 +159430 +1 + + + + + + +kind +tostring + + +12 + + +1 +2 +1 + + +2 +3 +1 + + +2865 +2866 +1 + + +100735 +100736 +1 + + +271467 +271468 +1 + + +393837 +393838 +1 + + + + + + +parent +id + + +12 + + +1 +2 +127476 + + +2 +3 +184044 + + +3 +4 +285109 + + +4 +159430 +21005 + + + + + + +parent +kind + + +12 + + +1 +2 +179808 + + +2 +3 +437119 + + +3 +7 +707 + + + + + + +parent +idx + + +12 + + +1 +2 +127476 + + +2 +3 +184044 + + +3 +4 +285109 + + +4 +159430 +21005 + + + + + + +parent +tostring + + +12 + + +1 +2 +173483 + + +2 +3 +197229 + + +3 +4 +240036 + + +4 +135127 +6886 + + + + + + +idx +id + + +12 + + +1 +2 +158929 + + +3 +617635 +500 + + + + + + +idx +kind + + +12 + + +1 +2 +159178 + + +2 +7 +251 + + + + + + +idx +parent + + +12 + + +1 +2 +158929 + + +3 +617635 +500 + + + + + + +idx +tostring + + +12 + + +1 +2 +158929 + + +2 +429145 +500 + + + + + + +tostring +id + + +12 + + +1 +2 +511110 + + +2 +3 +165121 + + +3 +6 +69702 + + +6 +63547 +22974 + + + + + + +tostring +kind + + +12 + + +1 +2 +768907 + + + + + + +tostring +parent + + +12 + + +1 +2 +562365 + + +2 +3 +144455 + + +3 +10 +58431 + + +10 +63547 +3656 + + + + + + +tostring +idx + + +12 + + +1 +2 +554379 + + +2 +3 +185366 + + +3 +720 +29162 + + + + + + + + +json_literals +1026146 + + +value +397229 + + +raw +397431 + + +expr +1026146 + + + + +value +raw + + +12 + + +1 +2 +397027 + + +2 +3 +202 + + + + + + +value +expr + + +12 + + +1 +2 +216149 + + +2 +3 +128106 + + +3 +5 +28217 + + +5 +63547 +24757 + + + + + + +raw +value + + +12 + + +1 +2 +397431 + + + + + + +raw +expr + + +12 + + +1 +2 +216237 + + +2 +3 +128277 + + +3 +5 +28205 + + +5 +63547 +24712 + + + + + + +expr +value + + +12 + + +1 +2 +1026146 + + + + + + +expr +raw + + +12 + + +1 +2 +1026146 + + + + + + + + +json_properties +1186648 + + +obj +441238 + + +property +2285 + + +value +1186648 + + + + +obj +property + + +12 + + +1 +2 +685 + + +2 +3 +161803 + + +3 +4 +272428 + + +4 +252 +6322 + + + + + + +obj +value + + +12 + + +1 +2 +685 + + +2 +3 +161803 + + +3 +4 +272428 + + +4 +252 +6322 + + + + + + +property +obj + + +12 + + +1 +2 +1378 + + +2 +3 +371 + + +3 +4 +199 + + +4 +17 +174 + + +18 +429290 +163 + + + + + + +property +value + + +12 + + +1 +2 +1378 + + +2 +3 +371 + + +3 +4 +199 + + +4 +17 +174 + + +18 +429290 +163 + + + + + + +value +obj + + +12 + + +1 +2 +1186648 + + + + + + +value +property + + +12 + + +1 +2 +1186648 + + + + + + + + +json_errors +id +1 + + +id +1 + + +message +1 + + + + +id +message + + +12 + + +1 +2 +1 + + + + + + +message +id + + +12 + + +1 +2 +1 + + + + + + + + +json_locations +712 + + +locatable +712 + + +location +712 + + + + +locatable +location + + +12 + + +1 +2 +712 + + + + + + +location +locatable + + +12 + + +1 +2 +712 + + + + + + + + +hasLocation +19213780 + + +locatable +19213780 + + +location +15664049 + + + + +locatable +location + + +12 + + +1 +2 +19213780 + + + + + + +location +locatable + + +12 + + +1 +2 +12144311 + + +2 +3 +3490097 + + +3 +6 +29641 + + + + + + + + +entry_cfg_node +id +121542 + + +id +121542 + + +container +121542 + + + + +id +container + + +12 + + +1 +2 +121542 + + + + + + +container +id + + +12 + + +1 +2 +121542 + + + + + + + + +exit_cfg_node +id +121542 + + +id +121542 + + +container +121542 + + + + +id +container + + +12 + + +1 +2 +121542 + + + + + + +container +id + + +12 + + +1 +2 +121542 + + + + + + + + +guard_node +177785 + + +id +177785 + + +kind +2 + + +test +91338 + + + + +id +kind + + +12 + + +1 +2 +177785 + + + + + + +id +test + + +12 + + +1 +2 +177785 + + + + + + +kind +id + + +12 + + +86336 +86337 +1 + + +91449 +91450 +1 + + + + + + +kind +test + + +12 + + +82430 +82431 +1 + + +89999 +90000 +1 + + + + + + +test +id + + +12 + + +1 +2 +10245 + + +2 +3 +76994 + + +3 +21 +4099 + + + + + + +test +kind + + +12 + + +1 +2 +10247 + + +2 +3 +81091 + + + + + + + + +successor +6873752 + + +pred +6717415 + + +succ +6718602 + + + + +pred +succ + + +12 + + +1 +2 +6588118 + + +2 +21 +129297 + + + + + + +succ +pred + + +12 + + +1 +2 +6617438 + + +2 +253 +101164 + + + + + + + + +jsdoc +id +19270 + + +id +19270 + + +description +9383 + + +comment +19270 + + + + +id +description + + +12 + + +1 +2 +19270 + + + + + + +id +comment + + +12 + + +1 +2 +19270 + + + + + + +description +id + + +12 + + +1 +2 +7588 + + +2 +3 +1387 + + +3 +5727 +408 + + + + + + +description +comment + + +12 + + +1 +2 +7588 + + +2 +3 +1387 + + +3 +5727 +408 + + + + + + +comment +id + + +12 + + +1 +2 +19270 + + + + + + +comment +description + + +12 + + +1 +2 +19270 + + + + + + + + +jsdoc_tags +id +29323 + + +id +29323 + + +title +92 + + +parent +14226 + + +idx +66 + + +tostring +92 + + + + +id +title + + +12 + + +1 +2 +29323 + + + + + + +id +parent + + +12 + + +1 +2 +29323 + + + + + + +id +idx + + +12 + + +1 +2 +29323 + + + + + + +id +tostring + + +12 + + +1 +2 +29323 + + + + + + +title +id + + +12 + + +1 +2 +11 + + +2 +3 +5 + + +3 +5 +7 + + +5 +7 +8 + + +8 +12 +7 + + +13 +17 +7 + + +20 +35 +7 + + +40 +55 +7 + + +58 +111 +7 + + +114 +167 +8 + + +170 +331 +7 + + +587 +913 +7 + + +2221 +10284 +4 + + + + + + +title +parent + + +12 + + +1 +2 +11 + + +2 +3 +5 + + +3 +4 +5 + + +4 +6 +7 + + +6 +10 +8 + + +10 +16 +7 + + +16 +26 +7 + + +26 +36 +7 + + +38 +67 +7 + + +68 +111 +7 + + +137 +213 +7 + + +232 +702 +7 + + +870 +6020 +7 + + + + + + +title +idx + + +12 + + +1 +2 +35 + + +2 +3 +8 + + +3 +4 +7 + + +4 +5 +8 + + +5 +6 +8 + + +6 +7 +5 + + +7 +8 +4 + + +8 +10 +8 + + +10 +31 +7 + + +46 +59 +2 + + + + + + +title +tostring + + +12 + + +1 +2 +92 + + + + + + +parent +id + + +12 + + +1 +2 +6064 + + +2 +3 +4452 + + +3 +4 +2064 + + +4 +5 +913 + + +5 +67 +733 + + + + + + +parent +title + + +12 + + +1 +2 +6972 + + +2 +3 +4911 + + +3 +4 +1793 + + +4 +8 +550 + + + + + + +parent +idx + + +12 + + +1 +2 +6064 + + +2 +3 +4452 + + +3 +4 +2064 + + +4 +5 +913 + + +5 +67 +733 + + + + + + +parent +tostring + + +12 + + +1 +2 +6972 + + +2 +3 +4911 + + +3 +4 +1793 + + +4 +8 +550 + + + + + + +idx +id + + +12 + + +1 +2 +2 + + +2 +3 +29 + + +3 +4 +6 + + +4 +5 +5 + + +5 +6 +6 + + +7 +11 +5 + + +11 +53 +5 + + +89 +1647 +5 + + +3710 +14227 +3 + + + + + + +idx +title + + +12 + + +1 +2 +9 + + +2 +3 +31 + + +3 +4 +9 + + +4 +6 +6 + + +8 +21 +5 + + +29 +61 +5 + + +70 +71 +1 + + + + + + +idx +parent + + +12 + + +1 +2 +2 + + +2 +3 +29 + + +3 +4 +6 + + +4 +5 +5 + + +5 +6 +6 + + +7 +11 +5 + + +11 +53 +5 + + +89 +1647 +5 + + +3710 +14227 +3 + + + + + + +idx +tostring + + +12 + + +1 +2 +9 + + +2 +3 +31 + + +3 +4 +9 + + +4 +6 +6 + + +8 +21 +5 + + +29 +61 +5 + + +70 +71 +1 + + + + + + +tostring +id + + +12 + + +1 +2 +11 + + +2 +3 +5 + + +3 +5 +7 + + +5 +7 +8 + + +8 +12 +7 + + +13 +17 +7 + + +20 +35 +7 + + +40 +55 +7 + + +58 +111 +7 + + +114 +167 +8 + + +170 +331 +7 + + +587 +913 +7 + + +2221 +10284 +4 + + + + + + +tostring +title + + +12 + + +1 +2 +92 + + + + + + +tostring +parent + + +12 + + +1 +2 +11 + + +2 +3 +5 + + +3 +4 +5 + + +4 +6 +7 + + +6 +10 +8 + + +10 +16 +7 + + +16 +26 +7 + + +26 +36 +7 + + +38 +67 +7 + + +68 +111 +7 + + +137 +213 +7 + + +232 +702 +7 + + +870 +6020 +7 + + + + + + +tostring +idx + + +12 + + +1 +2 +35 + + +2 +3 +8 + + +3 +4 +7 + + +4 +5 +8 + + +5 +6 +8 + + +6 +7 +5 + + +7 +8 +4 + + +8 +10 +8 + + +10 +31 +7 + + +46 +59 +2 + + + + + + + + +jsdoc_tag_descriptions +13676 + + +tag +13676 + + +text +7866 + + + + +tag +text + + +12 + + +1 +2 +13676 + + + + + + +text +tag + + +12 + + +1 +2 +6089 + + +2 +3 +1025 + + +3 +8 +596 + + +8 +459 +156 + + + + + + + + +jsdoc_tag_names +11506 + + +tag +11506 + + +text +2647 + + + + +tag +text + + +12 + + +1 +2 +11506 + + + + + + +text +tag + + +12 + + +1 +2 +1398 + + +2 +3 +569 + + +3 +4 +201 + + +4 +7 +208 + + +7 +24 +200 + + +24 +498 +71 + + + + + + + + +jsdoc_type_exprs +id +22481 + + +id +22481 + + +kind +15 + + +parent +21039 + + +idx +17 + + +tostring +1447 + + + + +id +kind + + +12 + + +1 +2 +22481 + + + + + + +id +parent + + +12 + + +1 +2 +22481 + + + + + + +id +idx + + +12 + + +1 +2 +22481 + + + + + + +id +tostring + + +12 + + +1 +2 +22481 + + + + + + +kind +id + + +12 + + +8 +9 +1 + + +19 +20 +1 + + +27 +28 +1 + + +35 +36 +1 + + +55 +56 +1 + + +91 +92 +1 + + +287 +288 +1 + + +292 +293 +1 + + +303 +304 +1 + + +310 +311 +1 + + +316 +317 +1 + + +536 +537 +1 + + +668 +669 +1 + + +895 +896 +1 + + +18639 +18640 +1 + + + + + + +kind +parent + + +12 + + +8 +9 +1 + + +19 +20 +1 + + +23 +24 +1 + + +35 +36 +1 + + +55 +56 +1 + + +90 +91 +1 + + +287 +288 +2 + + +301 +302 +1 + + +310 +311 +1 + + +314 +315 +1 + + +524 +525 +1 + + +583 +584 +1 + + +890 +891 +1 + + +17717 +17718 +1 + + + + + + +kind +idx + + +12 + + +1 +2 +3 + + +2 +3 +2 + + +3 +4 +5 + + +4 +5 +2 + + +5 +6 +1 + + +13 +14 +1 + + +16 +17 +1 + + + + + + +kind +tostring + + +12 + + +1 +2 +5 + + +5 +6 +1 + + +6 +7 +1 + + +51 +52 +1 + + +57 +58 +1 + + +86 +87 +1 + + +89 +90 +1 + + +104 +105 +1 + + +155 +156 +1 + + +194 +195 +1 + + +696 +697 +1 + + + + + + +parent +id + + +12 + + +1 +2 +19985 + + +2 +16 +1054 + + + + + + +parent +kind + + +12 + + +1 +2 +20644 + + +2 +4 +395 + + + + + + +parent +idx + + +12 + + +1 +2 +19985 + + +2 +16 +1054 + + + + + + +parent +tostring + + +12 + + +1 +2 +19997 + + +2 +7 +1042 + + + + + + +idx +id + + +12 + + +2 +3 +1 + + +4 +5 +3 + + +6 +7 +4 + + +8 +9 +1 + + +11 +12 +1 + + +23 +24 +1 + + +32 +33 +1 + + +93 +94 +1 + + +165 +166 +1 + + +340 +341 +1 + + +750 +751 +1 + + +21021 +21022 +1 + + + + + + +idx +kind + + +12 + + +1 +2 +5 + + +2 +3 +7 + + +5 +6 +1 + + +6 +7 +1 + + +10 +11 +1 + + +11 +12 +1 + + +13 +14 +1 + + + + + + +idx +parent + + +12 + + +2 +3 +1 + + +4 +5 +3 + + +6 +7 +4 + + +8 +9 +1 + + +11 +12 +1 + + +23 +24 +1 + + +32 +33 +1 + + +93 +94 +1 + + +165 +166 +1 + + +340 +341 +1 + + +750 +751 +1 + + +21021 +21022 +1 + + + + + + +idx +tostring + + +12 + + +2 +3 +2 + + +3 +4 +3 + + +4 +5 +3 + + +5 +6 +1 + + +6 +7 +1 + + +11 +12 +1 + + +17 +18 +1 + + +21 +22 +1 + + +23 +24 +1 + + +42 +43 +1 + + +103 +104 +1 + + +1378 +1379 +1 + + + + + + +tostring +id + + +12 + + +1 +2 +713 + + +2 +3 +271 + + +3 +4 +105 + + +4 +6 +110 + + +6 +12 +111 + + +12 +77 +109 + + +77 +2754 +28 + + + + + + +tostring +kind + + +12 + + +1 +2 +1446 + + +2 +3 +1 + + + + + + +tostring +parent + + +12 + + +1 +2 +713 + + +2 +3 +271 + + +3 +4 +105 + + +4 +6 +110 + + +6 +12 +112 + + +12 +78 +110 + + +78 +2747 +26 + + + + + + +tostring +idx + + +12 + + +1 +2 +1356 + + +2 +15 +91 + + + + + + + + +jsdoc_record_field_name +241 + + +id +90 + + +idx +15 + + +name +123 + + + + +id +idx + + +12 + + +1 +2 +47 + + +2 +3 +19 + + +3 +4 +8 + + +4 +7 +8 + + +7 +16 +8 + + + + + + +id +name + + +12 + + +1 +2 +47 + + +2 +3 +19 + + +3 +4 +8 + + +4 +7 +8 + + +7 +16 +8 + + + + + + +idx +id + + +12 + + +2 +3 +1 + + +4 +5 +3 + + +6 +7 +4 + + +8 +9 +1 + + +10 +11 +1 + + +12 +13 +1 + + +16 +17 +1 + + +24 +25 +1 + + +43 +44 +1 + + +90 +91 +1 + + + + + + +idx +name + + +12 + + +2 +3 +1 + + +3 +4 +1 + + +4 +5 +2 + + +5 +6 +3 + + +6 +7 +1 + + +8 +9 +1 + + +10 +11 +1 + + +12 +13 +1 + + +13 +14 +1 + + +18 +19 +1 + + +29 +30 +1 + + +37 +38 +1 + + + + + + +name +id + + +12 + + +1 +2 +65 + + +2 +3 +40 + + +3 +4 +6 + + +4 +7 +10 + + +9 +25 +2 + + + + + + +name +idx + + +12 + + +1 +2 +87 + + +2 +3 +34 + + +3 +4 +2 + + + + + + + + +jsdoc_prefix_qualifier +823 + + +id +823 + + + + + +jsdoc_has_new_parameter +22 + + +fn +22 + + + + + +jsdoc_errors +id +1658 + + +id +1658 + + +tag +1460 + + +message +203 + + +tostring +89 + + + + +id +tag + + +12 + + +1 +2 +1658 + + + + + + +id +message + + +12 + + +1 +2 +1658 + + + + + + +id +tostring + + +12 + + +1 +2 +1658 + + + + + + +tag +id + + +12 + + +1 +2 +1262 + + +2 +3 +198 + + + + + + +tag +message + + +12 + + +1 +2 +1262 + + +2 +3 +198 + + + + + + +tag +tostring + + +12 + + +1 +2 +1262 + + +2 +3 +198 + + + + + + +message +id + + +12 + + +1 +2 +144 + + +2 +3 +27 + + +3 +7 +16 + + +7 +347 +16 + + + + + + +message +tag + + +12 + + +1 +2 +144 + + +2 +3 +27 + + +3 +7 +16 + + +7 +347 +16 + + + + + + +message +tostring + + +12 + + +1 +2 +203 + + + + + + +tostring +id + + +12 + + +1 +2 +48 + + +2 +3 +10 + + +3 +4 +3 + + +4 +5 +6 + + +5 +8 +7 + + +11 +27 +7 + + +34 +347 +7 + + +477 +478 +1 + + + + + + +tostring +tag + + +12 + + +1 +2 +48 + + +2 +3 +10 + + +3 +4 +3 + + +4 +5 +6 + + +5 +8 +7 + + +11 +27 +7 + + +34 +347 +7 + + +477 +478 +1 + + + + + + +tostring +message + + +12 + + +1 +2 +66 + + +2 +3 +6 + + +3 +4 +3 + + +4 +7 +7 + + +8 +25 +7 + + + + + + + + +yaml +id +885 + + +id +885 + + +kind +4 + + +parent +204 + + +idx +25 + + +tag +8 + + +tostring +318 + + + + +id +kind + + +12 + + +1 +2 +885 + + + + + + +id +parent + + +12 + + +1 +2 +885 + + + + + + +id +idx + + +12 + + +1 +2 +885 + + + + + + +id +tag + + +12 + + +1 +2 +885 + + + + + + +id +tostring + + +12 + + +1 +2 +885 + + + + + + +kind +id + + +12 + + +1 +2 +1 + + +35 +36 +1 + + +149 +150 +1 + + +700 +701 +1 + + + + + + +kind +parent + + +12 + + +1 +2 +1 + + +33 +34 +1 + + +90 +91 +1 + + +183 +184 +1 + + + + + + +kind +idx + + +12 + + +1 +2 +1 + + +7 +8 +1 + + +11 +12 +1 + + +25 +26 +1 + + + + + + +kind +tag + + +12 + + +1 +2 +3 + + +5 +6 +1 + + + + + + +kind +tostring + + +12 + + +1 +2 +1 + + +10 +11 +1 + + +67 +68 +1 + + +240 +241 +1 + + + + + + +parent +id + + +12 + + +1 +2 +33 + + +2 +3 +72 + + +3 +4 +2 + + +4 +5 +35 + + +6 +7 +29 + + +8 +11 +14 + + +12 +21 +17 + + +22 +25 +2 + + + + + + +parent +kind + + +12 + + +1 +2 +131 + + +2 +3 +43 + + +3 +4 +30 + + + + + + +parent +idx + + +12 + + +1 +2 +33 + + +2 +3 +72 + + +3 +4 +2 + + +4 +5 +35 + + +6 +7 +29 + + +8 +11 +14 + + +12 +21 +17 + + +22 +25 +2 + + + + + + +parent +tag + + +12 + + +1 +2 +120 + + +2 +3 +41 + + +3 +4 +36 + + +4 +5 +7 + + + + + + +parent +tostring + + +12 + + +1 +2 +33 + + +2 +3 +72 + + +3 +4 +2 + + +4 +5 +35 + + +5 +6 +5 + + +6 +7 +24 + + +8 +11 +14 + + +12 +14 +16 + + +16 +23 +3 + + + + + + +idx +id + + +12 + + +1 +2 +2 + + +2 +3 +2 + + +4 +5 +7 + + +5 +20 +2 + + +20 +25 +2 + + +25 +33 +2 + + +33 +56 +2 + + +61 +64 +2 + + +95 +100 +2 + + +149 +172 +2 + + + + + + +idx +kind + + +12 + + +1 +2 +14 + + +2 +3 +4 + + +3 +4 +6 + + +4 +5 +1 + + + + + + +idx +parent + + +12 + + +1 +2 +2 + + +2 +3 +2 + + +4 +5 +7 + + +5 +20 +2 + + +20 +25 +2 + + +25 +33 +2 + + +33 +56 +2 + + +61 +64 +2 + + +95 +100 +2 + + +149 +172 +2 + + + + + + +idx +tag + + +12 + + +1 +2 +11 + + +2 +3 +5 + + +3 +4 +3 + + +4 +5 +4 + + +6 +7 +2 + + + + + + +idx +tostring + + +12 + + +1 +2 +2 + + +2 +3 +2 + + +3 +4 +3 + + +4 +5 +4 + + +5 +7 +2 + + +7 +11 +2 + + +12 +15 +2 + + +15 +16 +1 + + +18 +19 +2 + + +28 +31 +2 + + +52 +56 +2 + + +87 +88 +1 + + + + + + +tag +id + + +12 + + +1 +2 +2 + + +4 +5 +1 + + +15 +16 +1 + + +26 +27 +1 + + +35 +36 +1 + + +149 +150 +1 + + +654 +655 +1 + + + + + + +tag +kind + + +12 + + +1 +2 +8 + + + + + + +tag +parent + + +12 + + +1 +2 +2 + + +2 +3 +1 + + +3 +4 +1 + + +25 +26 +1 + + +33 +34 +1 + + +90 +91 +1 + + +183 +184 +1 + + + + + + +tag +idx + + +12 + + +1 +2 +2 + + +3 +4 +2 + + +7 +8 +1 + + +9 +10 +1 + + +11 +12 +1 + + +23 +24 +1 + + + + + + +tag +tostring + + +12 + + +1 +2 +3 + + +2 +3 +1 + + +10 +11 +1 + + +13 +14 +1 + + +67 +68 +1 + + +223 +224 +1 + + + + + + +tostring +id + + +12 + + +1 +2 +209 + + +2 +3 +42 + + +3 +6 +29 + + +6 +15 +25 + + +15 +18 +13 + + + + + + +tostring +kind + + +12 + + +1 +2 +318 + + + + + + +tostring +parent + + +12 + + +1 +2 +213 + + +2 +3 +41 + + +3 +6 +27 + + +6 +15 +25 + + +15 +18 +12 + + + + + + +tostring +idx + + +12 + + +1 +2 +272 + + +2 +3 +34 + + +3 +10 +12 + + + + + + +tostring +tag + + +12 + + +1 +2 +318 + + + + + + + + +yaml_anchors +1 + + +node +1 + + +anchor +1 + + + + +node +anchor + + +12 + + +1 +2 +1 + + + + + + +anchor +node + + +12 + + +1 +2 +1 + + + + + + + + +yaml_aliases +1 + + +alias +1 + + +target +1 + + + + +alias +target + + +12 + + +1 +2 +1 + + + + + + +target +alias + + +12 + + +1 +2 +1 + + + + + + + + +yaml_scalars +700 + + +scalar +700 + + +style +3 + + +value +241 + + + + +scalar +style + + +12 + + +1 +2 +700 + + + + + + +scalar +value + + +12 + + +1 +2 +700 + + + + + + +style +scalar + + +12 + + +14 +15 +1 + + +97 +98 +1 + + +589 +590 +1 + + + + + + +style +value + + +12 + + +12 +13 +1 + + +47 +48 +1 + + +183 +184 +1 + + + + + + +value +scalar + + +12 + + +1 +2 +158 + + +2 +3 +32 + + +3 +6 +19 + + +6 +15 +20 + + +15 +18 +12 + + + + + + +value +style + + +12 + + +1 +2 +240 + + +2 +3 +1 + + + + + + + + +yaml_errors +id +1 + + +id +1 + + +message +1 + + + + +id +message + + +12 + + +1 +2 +1 + + + + + + +message +id + + +12 + + +1 +2 +1 + + + + + + + + +yaml_locations +71 + + +locatable +71 + + +location +71 + + + + +locatable +location + + +12 + + +1 +2 +71 + + + + + + +location +locatable + + +12 + + +1 +2 +71 + + + + + + + + +xmlEncoding +39724 + + +id +39724 + + +encoding +1 + + + + +id +encoding + + +12 + + +1 +2 +39724 + + + + + + +encoding +id + + +12 + + +39724 +39725 +1 + + + + + + + + +xmlDTDs +1 + + +id +1 + + +root +1 + + +publicId +1 + + +systemId +1 + + +fileid +1 + + + + +id +root + + +12 + + +1 +2 +1 + + + + + + +id +publicId + + +12 + + +1 +2 +1 + + + + + + +id +systemId + + +12 + + +1 +2 +1 + + + + + + +id +fileid + + +12 + + +1 +2 +1 + + + + + + +root +id + + +12 + + +1 +2 +1 + + + + + + +root +publicId + + +12 + + +1 +2 +1 + + + + + + +root +systemId + + +12 + + +1 +2 +1 + + + + + + +root +fileid + + +12 + + +1 +2 +1 + + + + + + +publicId +id + + +12 + + +1 +2 +1 + + + + + + +publicId +root + + +12 + + +1 +2 +1 + + + + + + +publicId +systemId + + +12 + + +1 +2 +1 + + + + + + +publicId +fileid + + +12 + + +1 +2 +1 + + + + + + +systemId +id + + +12 + + +1 +2 +1 + + + + + + +systemId +root + + +12 + + +1 +2 +1 + + + + + + +systemId +publicId + + +12 + + +1 +2 +1 + + + + + + +systemId +fileid + + +12 + + +1 +2 +1 + + + + + + +fileid +id + + +12 + + +1 +2 +1 + + + + + + +fileid +root + + +12 + + +1 +2 +1 + + + + + + +fileid +publicId + + +12 + + +1 +2 +1 + + + + + + +fileid +systemId + + +12 + + +1 +2 +1 + + + + + + + + +xmlElements +1270313 + + +id +1270313 + + +name +4655 + + +parentid +578021 + + +idx +35122 + + +fileid +39721 + + + + +id +name + + +12 + + +1 +2 +1270313 + + + + + + +id +parentid + + +12 + + +1 +2 +1270313 + + + + + + +id +idx + + +12 + + +1 +2 +1270313 + + + + + + +id +fileid + + +12 + + +1 +2 +1270313 + + + + + + +name +id + + +12 + + +1 +2 +420 + + +2 +5 +156 + + +5 +6 +3832 + + +6 +310317 +247 + + + + + + +name +parentid + + +12 + + +1 +2 +456 + + +2 +5 +150 + + +5 +6 +3829 + + +6 +161565 +220 + + + + + + +name +idx + + +12 + + +1 +2 +4358 + + +2 +35123 +297 + + + + + + +name +fileid + + +12 + + +1 +2 +486 + + +2 +5 +133 + + +5 +6 +3831 + + +6 +14503 +205 + + + + + + +parentid +id + + +12 + + +1 +2 +371969 + + +2 +3 +62095 + + +3 +4 +104113 + + +4 +35123 +39844 + + + + + + +parentid +name + + +12 + + +1 +2 +500482 + + +2 +3 +17866 + + +3 +4 +49117 + + +4 +45 +10556 + + + + + + +parentid +idx + + +12 + + +1 +2 +371969 + + +2 +3 +62095 + + +3 +4 +104113 + + +4 +35123 +39844 + + + + + + +parentid +fileid + + +12 + + +1 +2 +578021 + + + + + + +idx +id + + +12 + + +2 +3 +606 + + +4 +5 +17851 + + +5 +6 +6533 + + +6 +7 +859 + + +7 +8 +4471 + + +9 +16 +2719 + + +16 +578022 +2083 + + + + + + +idx +name + + +12 + + +1 +2 +18457 + + +2 +3 +6533 + + +3 +4 +6178 + + +4 +8 +2624 + + +8 +4397 +1330 + + + + + + +idx +parentid + + +12 + + +2 +3 +606 + + +4 +5 +17851 + + +5 +6 +6533 + + +6 +7 +859 + + +7 +8 +4471 + + +9 +16 +2719 + + +16 +578022 +2083 + + + + + + +idx +fileid + + +12 + + +2 +3 +606 + + +4 +5 +17851 + + +5 +6 +6533 + + +6 +7 +859 + + +7 +8 +4471 + + +9 +16 +2719 + + +16 +39722 +2083 + + + + + + +fileid +id + + +12 + + +1 +2 +20457 + + +2 +3 +3115 + + +3 +7 +3026 + + +7 +8 +3588 + + +8 +9 +2220 + + +9 +11 +3099 + + +11 +19 +3087 + + +19 +114506 +1129 + + + + + + +fileid +name + + +12 + + +1 +2 +20459 + + +2 +3 +3458 + + +3 +5 +2569 + + +5 +7 +2172 + + +7 +8 +6158 + + +8 +9 +3501 + + +9 +46 +1404 + + + + + + +fileid +parentid + + +12 + + +1 +2 +20457 + + +2 +3 +3870 + + +3 +5 +2152 + + +5 +6 +2876 + + +6 +7 +2720 + + +7 +8 +4132 + + +8 +14 +3096 + + +14 +31079 +418 + + + + + + +fileid +idx + + +12 + + +1 +2 +25894 + + +2 +3 +5301 + + +3 +4 +3787 + + +4 +6 +3268 + + +6 +35123 +1471 + + + + + + + + +xmlAttrs +1202020 + + +id +1202020 + + +elementid +760198 + + +name +3649 + + +value +121803 + + +idx +2000 + + +fileid +39448 + + + + +id +elementid + + +12 + + +1 +2 +1202020 + + + + + + +id +name + + +12 + + +1 +2 +1202020 + + + + + + +id +value + + +12 + + +1 +2 +1202020 + + + + + + +id +idx + + +12 + + +1 +2 +1202020 + + + + + + +id +fileid + + +12 + + +1 +2 +1202020 + + + + + + +elementid +id + + +12 + + +1 +2 +425697 + + +2 +3 +249659 + + +3 +4 +66474 + + +4 +2001 +18368 + + + + + + +elementid +name + + +12 + + +1 +2 +425778 + + +2 +3 +249579 + + +3 +4 +66475 + + +4 +2001 +18366 + + + + + + +elementid +value + + +12 + + +1 +2 +466237 + + +2 +3 +266291 + + +3 +46 +27670 + + + + + + +elementid +idx + + +12 + + +1 +2 +425697 + + +2 +3 +249659 + + +3 +4 +66474 + + +4 +2001 +18368 + + + + + + +elementid +fileid + + +12 + + +1 +2 +760198 + + + + + + +name +id + + +12 + + +1 +2 +3467 + + +2 +262475 +182 + + + + + + +name +elementid + + +12 + + +1 +2 +3467 + + +2 +262475 +182 + + + + + + +name +value + + +12 + + +1 +2 +3501 + + +2 +54146 +148 + + + + + + +name +idx + + +12 + + +1 +2 +3531 + + +2 +11 +118 + + + + + + +name +fileid + + +12 + + +1 +2 +3491 + + +2 +21768 +158 + + + + + + +value +id + + +12 + + +1 +2 +72032 + + +2 +3 +42366 + + +3 +199269 +7405 + + + + + + +value +elementid + + +12 + + +1 +2 +72036 + + +2 +3 +42374 + + +3 +199269 +7393 + + + + + + +value +name + + +12 + + +1 +2 +116722 + + +2 +2041 +5081 + + + + + + +value +idx + + +12 + + +1 +2 +117957 + + +2 +2001 +3846 + + + + + + +value +fileid + + +12 + + +1 +2 +86306 + + +2 +3 +28570 + + +3 +4175 +6927 + + + + + + +idx +id + + +12 + + +1 +2 +1955 + + +2 +760199 +45 + + + + + + +idx +elementid + + +12 + + +1 +2 +1955 + + +2 +760199 +45 + + + + + + +idx +name + + +12 + + +1 +2 +1955 + + +2 +189 +45 + + + + + + +idx +value + + +12 + + +1 +2 +1955 + + +2 +116643 +45 + + + + + + +idx +fileid + + +12 + + +1 +2 +1955 + + +2 +39449 +45 + + + + + + +fileid +id + + +12 + + +1 +2 +22884 + + +2 +4 +2565 + + +4 +6 +2294 + + +6 +7 +3299 + + +7 +9 +3272 + + +9 +16 +3143 + + +16 +129952 +1991 + + + + + + +fileid +elementid + + +12 + + +1 +2 +23890 + + +2 +4 +2131 + + +4 +5 +1971 + + +5 +6 +4096 + + +6 +8 +3519 + + +8 +16 +3137 + + +16 +106600 +704 + + + + + + +fileid +name + + +12 + + +1 +2 +22946 + + +2 +3 +2338 + + +3 +4 +2726 + + +4 +5 +2824 + + +5 +6 +2994 + + +6 +7 +3876 + + +7 +2002 +1744 + + + + + + +fileid +value + + +12 + + +1 +2 +22916 + + +2 +4 +2772 + + +4 +5 +2112 + + +5 +6 +3510 + + +6 +8 +1993 + + +8 +11 +3365 + + +11 +50357 +2780 + + + + + + +fileid +idx + + +12 + + +1 +2 +26133 + + +2 +3 +9699 + + +3 +5 +3511 + + +5 +2001 +105 + + + + + + + + +xmlNs +71201 + + +id +4185 + + +prefixName +958 + + +URI +4185 + + +fileid +39544 + + + + +id +prefixName + + +12 + + +1 +2 +2602 + + +2 +3 +1553 + + +3 +872 +30 + + + + + + +id +URI + + +12 + + +1 +2 +4185 + + + + + + +id +fileid + + +12 + + +1 +6 +274 + + +6 +7 +3825 + + +7 +24905 +86 + + + + + + +prefixName +id + + +12 + + +1 +2 +915 + + +2 +4054 +43 + + + + + + +prefixName +URI + + +12 + + +1 +2 +915 + + +2 +4054 +43 + + + + + + +prefixName +fileid + + +12 + + +1 +2 +828 + + +2 +5 +73 + + +5 +24903 +57 + + + + + + +URI +id + + +12 + + +1 +2 +4185 + + + + + + +URI +prefixName + + +12 + + +1 +2 +2602 + + +2 +3 +1553 + + +3 +872 +30 + + + + + + +URI +fileid + + +12 + + +1 +6 +274 + + +6 +7 +3825 + + +7 +24905 +86 + + + + + + +fileid +id + + +12 + + +1 +2 +11655 + + +2 +3 +26146 + + +3 +8 +1743 + + + + + + +fileid +prefixName + + +12 + + +1 +2 +11653 + + +2 +3 +25982 + + +3 +31 +1909 + + + + + + +fileid +URI + + +12 + + +1 +2 +11655 + + +2 +3 +26146 + + +3 +8 +1743 + + + + + + + + +xmlHasNs +1139730 + + +elementId +1139730 + + +nsId +4136 + + +fileid +39537 + + + + +elementId +nsId + + +12 + + +1 +2 +1139730 + + + + + + +elementId +fileid + + +12 + + +1 +2 +1139730 + + + + + + +nsId +elementId + + +12 + + +1 +5 +234 + + +5 +6 +3824 + + +6 +643289 +78 + + + + + + +nsId +fileid + + +12 + + +1 +5 +257 + + +5 +6 +3823 + + +6 +24759 +56 + + + + + + +fileid +elementId + + +12 + + +1 +2 +3669 + + +2 +3 +20429 + + +3 +7 +2536 + + +7 +8 +3473 + + +8 +9 +2258 + + +9 +11 +3036 + + +11 +18 +2966 + + +18 +147552 +1170 + + + + + + +fileid +nsId + + +12 + + +1 +2 +18261 + + +2 +3 +21032 + + +3 +8 +244 + + + + + + + + +xmlComments +26812 + + +id +26812 + + +text +22933 + + +parentid +26546 + + +fileid +26368 + + + + +id +text + + +12 + + +1 +2 +26812 + + + + + + +id +parentid + + +12 + + +1 +2 +26812 + + + + + + +id +fileid + + +12 + + +1 +2 +26812 + + + + + + +text +id + + +12 + + +1 +2 +21517 + + +2 +62 +1416 + + + + + + +text +parentid + + +12 + + +1 +2 +21519 + + +2 +62 +1414 + + + + + + +text +fileid + + +12 + + +1 +2 +21522 + + +2 +62 +1411 + + + + + + +parentid +id + + +12 + + +1 +2 +26379 + + +2 +17 +167 + + + + + + +parentid +text + + +12 + + +1 +2 +26379 + + +2 +17 +167 + + + + + + +parentid +fileid + + +12 + + +1 +2 +26546 + + + + + + +fileid +id + + +12 + + +1 +2 +26161 + + +2 +17 +207 + + + + + + +fileid +text + + +12 + + +1 +2 +26165 + + +2 +17 +203 + + + + + + +fileid +parentid + + +12 + + +1 +2 +26223 + + +2 +10 +145 + + + + + + + + +xmlChars +439958 + + +id +439958 + + +text +100518 + + +parentid +433851 + + +idx +4 + + +isCDATA +1 + + +fileid +26494 + + + + +id +text + + +12 + + +1 +2 +439958 + + + + + + +id +parentid + + +12 + + +1 +2 +439958 + + + + + + +id +idx + + +12 + + +1 +2 +439958 + + + + + + +id +isCDATA + + +12 + + +1 +2 +439958 + + + + + + +id +fileid + + +12 + + +1 +2 +439958 + + + + + + +text +id + + +12 + + +1 +2 +60389 + + +2 +4 +3811 + + +4 +5 +29257 + + +5 +23171 +7061 + + + + + + +text +parentid + + +12 + + +1 +2 +60389 + + +2 +4 +3811 + + +4 +5 +29257 + + +5 +23171 +7061 + + + + + + +text +idx + + +12 + + +1 +2 +100517 + + +2 +3 +1 + + + + + + +text +isCDATA + + +12 + + +1 +2 +100518 + + + + + + +text +fileid + + +12 + + +1 +2 +61284 + + +2 +4 +4205 + + +4 +5 +28328 + + +5 +351 +6701 + + + + + + +parentid +id + + +12 + + +1 +2 +429716 + + +2 +5 +4135 + + + + + + +parentid +text + + +12 + + +1 +2 +429716 + + +2 +5 +4135 + + + + + + +parentid +idx + + +12 + + +1 +2 +429716 + + +2 +5 +4135 + + + + + + +parentid +isCDATA + + +12 + + +1 +2 +433851 + + + + + + +parentid +fileid + + +12 + + +1 +2 +433851 + + + + + + +idx +id + + +12 + + +80 +81 +1 + + +1892 +1893 +1 + + +4135 +4136 +1 + + +433851 +433852 +1 + + + + + + +idx +text + + +12 + + +1 +2 +1 + + +3 +4 +1 + + +16 +17 +1 + + +100499 +100500 +1 + + + + + + +idx +parentid + + +12 + + +80 +81 +1 + + +1892 +1893 +1 + + +4135 +4136 +1 + + +433851 +433852 +1 + + + + + + +idx +isCDATA + + +12 + + +1 +2 +4 + + + + + + +idx +fileid + + +12 + + +4 +5 +1 + + +46 +47 +1 + + +97 +98 +1 + + +26494 +26495 +1 + + + + + + +isCDATA +id + + +12 + + +439958 +439959 +1 + + + + + + +isCDATA +text + + +12 + + +100518 +100519 +1 + + + + + + +isCDATA +parentid + + +12 + + +433851 +433852 +1 + + + + + + +isCDATA +idx + + +12 + + +4 +5 +1 + + + + + + +isCDATA +fileid + + +12 + + +26494 +26495 +1 + + + + + + +fileid +id + + +12 + + +1 +2 +25303 + + +2 +35123 +1191 + + + + + + +fileid +text + + +12 + + +1 +2 +25765 + + +2 +35123 +729 + + + + + + +fileid +parentid + + +12 + + +1 +2 +25312 + + +2 +35123 +1182 + + + + + + +fileid +idx + + +12 + + +1 +2 +26397 + + +2 +5 +97 + + + + + + +fileid +isCDATA + + +12 + + +1 +2 +26494 + + + + + + + + +xmllocations +3051056 + + +xmlElement +2982460 + + +location +3051056 + + + + +xmlElement +location + + +12 + + +1 +2 +2978326 + + +2 +24903 +4134 + + + + + + +location +xmlElement + + +12 + + +1 +2 +3051056 + + + + + + + + +filetype +1102 + + +file +1102 + + +filetype +3 + + + + +file +filetype + + +12 + + +1 +2 +1102 + + + + + + +filetype +file + + +12 + + +1 +2 +1 + + +162 +163 +1 + + +939 +940 +1 + + + + + + + + +configs +69795 + + +id +69795 + + + + + +configNames +69794 + + +id +69794 + + +config +69794 + + +name +12859 + + + + +id +config + + +12 + + +1 +2 +69794 + + + + + + +id +name + + +12 + + +1 +2 +69794 + + + + + + +config +id + + +12 + + +1 +2 +69794 + + + + + + +config +name + + +12 + + +1 +2 +69794 + + + + + + +name +id + + +12 + + +1 +2 +4858 + + +2 +3 +593 + + +3 +4 +2806 + + +4 +10 +169 + + +10 +11 +1900 + + +11 +12 +1757 + + +12 +111 +776 + + + + + + +name +config + + +12 + + +1 +2 +4858 + + +2 +3 +593 + + +3 +4 +2806 + + +4 +10 +169 + + +10 +11 +1900 + + +11 +12 +1757 + + +12 +111 +776 + + + + + + + + +configValues +69691 + + +id +69691 + + +config +69691 + + +value +54399 + + + + +id +config + + +12 + + +1 +2 +69691 + + + + + + +id +value + + +12 + + +1 +2 +69691 + + + + + + +config +id + + +12 + + +1 +2 +69691 + + + + + + +config +value + + +12 + + +1 +2 +69691 + + + + + + +value +id + + +12 + + +1 +2 +48220 + + +2 +4 +4804 + + +4 +546 +1375 + + + + + + +value +config + + +12 + + +1 +2 +48220 + + +2 +4 +4804 + + +4 +546 +1375 + + + + + + + + +configLocations +209280 + + +locatable +209280 + + +location +209280 + + + + +locatable +location + + +12 + + +1 +2 +209280 + + + + + + +location +locatable + + +12 + + +1 +2 +209280 + + + + + + + + +extraction_time +378 + + +file +21 + + +extractionPhase +9 + + +timerKind +2 + + +time +43 + + + + +file +extractionPhase + + +12 + + +9 +10 +21 + + + + + + +file +timerKind + + +12 + + +2 +3 +21 + + + + + + +file +time + + +12 + + +3 +4 +21 + + + + + + +extractionPhase +file + + +12 + + +21 +22 +9 + + + + + + +extractionPhase +timerKind + + +12 + + +2 +3 +9 + + + + + + +extractionPhase +time + + +12 + + +1 +2 +8 + + +42 +43 +1 + + + + + + +timerKind +file + + +12 + + +21 +22 +2 + + + + + + +timerKind +extractionPhase + + +12 + + +9 +10 +2 + + + + + + +timerKind +time + + +12 + + +22 +23 +2 + + + + + + +time +file + + +12 + + +1 +2 +42 + + +21 +22 +1 + + + + + + +time +extractionPhase + + +12 + + +1 +2 +42 + + +8 +9 +1 + + + + + + +time +timerKind + + +12 + + +1 +2 +42 + + +2 +3 +1 + + + + + + + + +extraction_data +21 + + +file +21 + + +cacheFile +21 + + +fromCache +1 + + +length +21 + + + + +file +cacheFile + + +12 + + +1 +2 +21 + + + + + + +file +fromCache + + +12 + + +1 +2 +21 + + + + + + +file +length + + +12 + + +1 +2 +21 + + + + + + +cacheFile +file + + +12 + + +1 +2 +21 + + + + + + +cacheFile +fromCache + + +12 + + +1 +2 +21 + + + + + + +cacheFile +length + + +12 + + +1 +2 +21 + + + + + + +fromCache +file + + +12 + + +21 +22 +1 + + + + + + +fromCache +cacheFile + + +12 + + +21 +22 +1 + + + + + + +fromCache +length + + +12 + + +21 +22 +1 + + + + + + +length +file + + +12 + + +1 +2 +21 + + + + + + +length +cacheFile + + +12 + + +1 +2 +21 + + + + + + +length +fromCache + + +12 + + +1 +2 +21 + + + + + + + + +databaseMetadata +1 + + +metadataKey +1 + + +value +1 + + + + +metadataKey +value + + +12 + + + + + +value +metadataKey + + +12 + + + + + + + +overlayChangedFiles +50 + + +path +50 + + + + + + diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/AngularJS/DisablingSce.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/AngularJS/DisablingSce.bqrs new file mode 100644 index 0000000..b6eac43 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/AngularJS/DisablingSce.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/AngularJS/DoubleCompilation.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/AngularJS/DoubleCompilation.bqrs new file mode 100644 index 0000000..844b5ee Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/AngularJS/DoubleCompilation.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/AngularJS/InsecureUrlWhitelist.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/AngularJS/InsecureUrlWhitelist.bqrs new file mode 100644 index 0000000..fa8d4c3 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/AngularJS/InsecureUrlWhitelist.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Diagnostics/ExtractedFiles.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Diagnostics/ExtractedFiles.bqrs new file mode 100644 index 0000000..6949de5 --- /dev/null +++ b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Diagnostics/ExtractedFiles.bqrs @@ -0,0 +1,15 @@ +طD/home/matt/Development/themes/uksf-mod-theme/.github/dependabot.ymlSfile:///home/matt/Development/themes/uksf-mod-theme/.github/dependabot.yml:0:0:0:0H/home/matt/Development/themes/uksf-mod-theme/.github/workflows/hugo.ymlWfile:///home/matt/Development/themes/uksf-mod-theme/.github/workflows/hugo.yml:0:0:0:0?/home/matt/Development/themes/uksf-mod-theme/assets/js/main.jsNfile:///home/matt/Development/themes/uksf-mod-theme/assets/js/main.js:0:0:0:0C/home/matt/Development/themes/uksf-mod-theme/docs/admin/index.htmlRfile:///home/matt/Development/themes/uksf-mod-theme/docs/admin/index.html:0:0:0:0L/home/matt/Development/themes/uksf-mod-theme/docs/archive/covert/index.html[file:///home/matt/Development/themes/uksf-mod-theme/docs/archive/covert/index.html:0:0:0:0B/home/matt/Development/themes/uksf-mod-theme/docs/asob/index.htmlQfile:///home/matt/Development/themes/uksf-mod-theme/docs/asob/index.html:0:0:0:0G/home/matt/Development/themes/uksf-mod-theme/docs/campaigns/index.htmlVfile:///home/matt/Development/themes/uksf-mod-theme/docs/campaigns/index.html:0:0:0:0c/home/matt/Development/themes/uksf-mod-theme/docs/campaigns/operation-black-sheep/conop/index.htmlrfile:///home/matt/Development/themes/uksf-mod-theme/docs/campaigns/operation-black-sheep/conop/index.html:0:0:0:0]/home/matt/Development/themes/uksf-mod-theme/docs/campaigns/operation-black-sheep/index.htmllfile:///home/matt/Development/themes/uksf-mod-theme/docs/campaigns/operation-black-sheep/index.html:0:0:0:0g/home/matt/Development/themes/uksf-mod-theme/docs/campaigns/operation-black-sheep/sitrep-01/index.htmlvfile:///home/matt/Development/themes/uksf-mod-theme/docs/campaigns/operation-black-sheep/sitrep-01/index.html:0:0:0:0Y/home/matt/Development/themes/uksf-mod-theme/docs/campaigns/operation-breezer/index.htmlhfile:///home/matt/Development/themes/uksf-mod-theme/docs/campaigns/operation-breezer/index.html:0:0:0:0_/home/matt/Development/themes/uksf-mod-theme/docs/campaigns/operation-dune-vengance/index.htmlnfile:///home/matt/Development/themes/uksf-mod-theme/docs/campaigns/operation-dune-vengance/index.html:0:0:0:0h/home/matt/Development/themes/uksf-mod-theme/docs/campaigns/operation-iron-retribution/conop/index.htmlwfile:///home/matt/Development/themes/uksf-mod-theme/docs/campaigns/operation-iron-retribution/conop/index.html:0:0:0:0b/home/matt/Development/themes/uksf-mod-theme/docs/campaigns/operation-iron-retribution/index.htmlqfile:///home/matt/Development/themes/uksf-mod-theme/docs/campaigns/operation-iron-retribution/index.html:0:0:0:0l/home/matt/Development/themes/uksf-mod-theme/docs/campaigns/operation-iron-retribution/sitrep-01/index.html{file:///home/matt/Development/themes/uksf-mod-theme/docs/campaigns/operation-iron-retribution/sitrep-01/index.html:0:0:0:0^/home/matt/Development/themes/uksf-mod-theme/docs/campaigns/operation-jungle-cobra/index.htmlmfile:///home/matt/Development/themes/uksf-mod-theme/docs/campaigns/operation-jungle-cobra/index.html:0:0:0:0Z/home/matt/Development/themes/uksf-mod-theme/docs/campaigns/operation-reaction/index.htmlifile:///home/matt/Development/themes/uksf-mod-theme/docs/campaigns/operation-reaction/index.html:0:0:0:0Y/home/matt/Development/themes/uksf-mod-theme/docs/campaigns/operation-restore/index.htmlhfile:///home/matt/Development/themes/uksf-mod-theme/docs/campaigns/operation-restore/index.html:0:0:0:0a/home/matt/Development/themes/uksf-mod-theme/docs/campaigns/operation-retrieving-gold/index.htmlpfile:///home/matt/Development/themes/uksf-mod-theme/docs/campaigns/operation-retrieving-gold/index.html:0:0:0:0W/home/matt/Development/themes/uksf-mod-theme/docs/campaigns/operation-sahel/index.htmlffile:///home/matt/Development/themes/uksf-mod-theme/docs/campaigns/operation-sahel/index.html:0:0:0:0Y/home/matt/Development/themes/uksf-mod-theme/docs/campaigns/operation-sparrow/index.htmlhfile:///home/matt/Development/themes/uksf-mod-theme/docs/campaigns/operation-sparrow/index.html:0:0:0:0Z/home/matt/Development/themes/uksf-mod-theme/docs/campaigns/pre-deployment-ops/index.htmlifile:///home/matt/Development/themes/uksf-mod-theme/docs/campaigns/pre-deployment-ops/index.html:0:0:0:0H/home/matt/Development/themes/uksf-mod-theme/docs/categories/index.htmlWfile:///home/matt/Development/themes/uksf-mod-theme/docs/categories/index.html:0:0:0:0E/home/matt/Development/themes/uksf-mod-theme/docs/console/index.htmlTfile:///home/matt/Development/themes/uksf-mod-theme/docs/console/index.html:0:0:0:0H/home/matt/Development/themes/uksf-mod-theme/docs/e-squadron/index.htmlWfile:///home/matt/Development/themes/uksf-mod-theme/docs/e-squadron/index.html:0:0:0:0D/home/matt/Development/themes/uksf-mod-theme/docs/filing/index.htmlSfile:///home/matt/Development/themes/uksf-mod-theme/docs/filing/index.html:0:0:0:0=/home/matt/Development/themes/uksf-mod-theme/docs/index.htmlLfile:///home/matt/Development/themes/uksf-mod-theme/docs/index.html:0:0:0:0G/home/matt/Development/themes/uksf-mod-theme/docs/int-corps/index.htmlVfile:///home/matt/Development/themes/uksf-mod-theme/docs/int-corps/index.html:0:0:0:0J/home/matt/Development/themes/uksf-mod-theme/docs/intelligence/index.htmlYfile:///home/matt/Development/themes/uksf-mod-theme/docs/intelligence/index.html:0:0:0:0/home/matt/Development/themes/uksf-mod-theme/docs/js/main.min.91f46d8180b1b015e8849272db680298c319344daa121a5ba3719b3c2b4bc92c.jsfile:///home/matt/Development/themes/uksf-mod-theme/docs/js/main.min.91f46d8180b1b015e8849272db680298c319344daa121a5ba3719b3c2b4bc92c.js:0:0:0:0E/home/matt/Development/themes/uksf-mod-theme/docs/js/orbat-canvas.jsTfile:///home/matt/Development/themes/uksf-mod-theme/docs/js/orbat-canvas.js:0:0:0:0C/home/matt/Development/themes/uksf-mod-theme/docs/jsfaw/index.htmlRfile:///home/matt/Development/themes/uksf-mod-theme/docs/jsfaw/index.html:0:0:0:0E/home/matt/Development/themes/uksf-mod-theme/docs/med-det/index.htmlTfile:///home/matt/Development/themes/uksf-mod-theme/docs/med-det/index.html:0:0:0:0I/home/matt/Development/themes/uksf-mod-theme/docs/recruitment/index.htmlXfile:///home/matt/Development/themes/uksf-mod-theme/docs/recruitment/index.html:0:0:0:0F/home/matt/Development/themes/uksf-mod-theme/docs/register/index.htmlUfile:///home/matt/Development/themes/uksf-mod-theme/docs/register/index.html:0:0:0:0K/home/matt/Development/themes/uksf-mod-theme/docs/registry/gate/index.htmlZfile:///home/matt/Development/themes/uksf-mod-theme/docs/registry/gate/index.html:0:0:0:0F/home/matt/Development/themes/uksf-mod-theme/docs/registry/index.htmlUfile:///home/matt/Development/themes/uksf-mod-theme/docs/registry/index.html:0:0:0:0L/home/matt/Development/themes/uksf-mod-theme/docs/registry/orbat/index.html[file:///home/matt/Development/themes/uksf-mod-theme/docs/registry/orbat/index.html:0:0:0:0H/home/matt/Development/themes/uksf-mod-theme/docs/restricted/index.htmlWfile:///home/matt/Development/themes/uksf-mod-theme/docs/restricted/index.html:0:0:0:0P/home/matt/Development/themes/uksf-mod-theme/docs/roles/communicator/index.html_file:///home/matt/Development/themes/uksf-mod-theme/docs/roles/communicator/index.html:0:0:0:0C/home/matt/Development/themes/uksf-mod-theme/docs/roles/index.htmlRfile:///home/matt/Development/themes/uksf-mod-theme/docs/roles/index.html:0:0:0:0I/home/matt/Development/themes/uksf-mod-theme/docs/roles/medic/index.htmlXfile:///home/matt/Development/themes/uksf-mod-theme/docs/roles/medic/index.html:0:0:0:0A/home/matt/Development/themes/uksf-mod-theme/docs/sas/index.htmlPfile:///home/matt/Development/themes/uksf-mod-theme/docs/sas/index.html:0:0:0:0A/home/matt/Development/themes/uksf-mod-theme/docs/sbs/index.htmlPfile:///home/matt/Development/themes/uksf-mod-theme/docs/sbs/index.html:0:0:0:0B/home/matt/Development/themes/uksf-mod-theme/docs/sfsg/index.htmlQfile:///home/matt/Development/themes/uksf-mod-theme/docs/sfsg/index.html:0:0:0:0E/home/matt/Development/themes/uksf-mod-theme/docs/signals/index.htmlTfile:///home/matt/Development/themes/uksf-mod-theme/docs/signals/index.html:0:0:0:0A/home/matt/Development/themes/uksf-mod-theme/docs/srr/index.htmlPfile:///home/matt/Development/themes/uksf-mod-theme/docs/srr/index.html:0:0:0:0V/home/matt/Development/themes/uksf-mod-theme/docs/stories/arctic-readiness/index.htmlefile:///home/matt/Development/themes/uksf-mod-theme/docs/stories/arctic-readiness/index.html:0:0:0:0Y/home/matt/Development/themes/uksf-mod-theme/docs/stories/battle-of-tora-bora/index.htmlhfile:///home/matt/Development/themes/uksf-mod-theme/docs/stories/battle-of-tora-bora/index.html:0:0:0:0T/home/matt/Development/themes/uksf-mod-theme/docs/stories/bravo-two-zero/index.htmlcfile:///home/matt/Development/themes/uksf-mod-theme/docs/stories/bravo-two-zero/index.html:0:0:0:0E/home/matt/Development/themes/uksf-mod-theme/docs/stories/index.htmlTfile:///home/matt/Development/themes/uksf-mod-theme/docs/stories/index.html:0:0:0:0P/home/matt/Development/themes/uksf-mod-theme/docs/stories/mct-trials/index.html_file:///home/matt/Development/themes/uksf-mod-theme/docs/stories/mct-trials/index.html:0:0:0:0R/home/matt/Development/themes/uksf-mod-theme/docs/stories/mount-sinjar/index.htmlafile:///home/matt/Development/themes/uksf-mod-theme/docs/stories/mount-sinjar/index.html:0:0:0:0O/home/matt/Development/themes/uksf-mod-theme/docs/stories/nad-e-ali/index.html^file:///home/matt/Development/themes/uksf-mod-theme/docs/stories/nad-e-ali/index.html:0:0:0:0T/home/matt/Development/themes/uksf-mod-theme/docs/stories/nave-andromeda/index.htmlcfile:///home/matt/Development/themes/uksf-mod-theme/docs/stories/nave-andromeda/index.html:0:0:0:0V/home/matt/Development/themes/uksf-mod-theme/docs/stories/operation-africa/index.htmlefile:///home/matt/Development/themes/uksf-mod-theme/docs/stories/operation-africa/index.html:0:0:0:0V/home/matt/Development/themes/uksf-mod-theme/docs/stories/operation-barras/index.htmlefile:///home/matt/Development/themes/uksf-mod-theme/docs/stories/operation-barras/index.html:0:0:0:0`/home/matt/Development/themes/uksf-mod-theme/docs/stories/operation-iron-retribution/index.htmlofile:///home/matt/Development/themes/uksf-mod-theme/docs/stories/operation-iron-retribution/index.html:0:0:0:0W/home/matt/Development/themes/uksf-mod-theme/docs/stories/operation-liddard/index.htmlffile:///home/matt/Development/themes/uksf-mod-theme/docs/stories/operation-liddard/index.html:0:0:0:0V/home/matt/Development/themes/uksf-mod-theme/docs/stories/operation-mikado/index.htmlefile:///home/matt/Development/themes/uksf-mod-theme/docs/stories/operation-mikado/index.html:0:0:0:0V/home/matt/Development/themes/uksf-mod-theme/docs/stories/operation-nimrod/index.htmlefile:///home/matt/Development/themes/uksf-mod-theme/docs/stories/operation-nimrod/index.html:0:0:0:0U/home/matt/Development/themes/uksf-mod-theme/docs/stories/operation-toral/index.htmldfile:///home/matt/Development/themes/uksf-mod-theme/docs/stories/operation-toral/index.html:0:0:0:0U/home/matt/Development/themes/uksf-mod-theme/docs/stories/operation-trent/index.htmldfile:///home/matt/Development/themes/uksf-mod-theme/docs/stories/operation-trent/index.html:0:0:0:0S/home/matt/Development/themes/uksf-mod-theme/docs/stories/pebble-island/index.htmlbfile:///home/matt/Development/themes/uksf-mod-theme/docs/stories/pebble-island/index.html:0:0:0:0R/home/matt/Development/themes/uksf-mod-theme/docs/stories/qala-i-jangi/index.htmlafile:///home/matt/Development/themes/uksf-mod-theme/docs/stories/qala-i-jangi/index.html:0:0:0:0W/home/matt/Development/themes/uksf-mod-theme/docs/stories/sahel-persistence/index.htmlffile:///home/matt/Development/themes/uksf-mod-theme/docs/stories/sahel-persistence/index.html:0:0:0:0B/home/matt/Development/themes/uksf-mod-theme/docs/tags/index.htmlQfile:///home/matt/Development/themes/uksf-mod-theme/docs/tags/index.html:0:0:0:0B/home/matt/Development/themes/uksf-mod-theme/docs/tfhq/index.htmlQfile:///home/matt/Development/themes/uksf-mod-theme/docs/tfhq/index.html:0:0:0:0>/home/matt/Development/themes/uksf-mod-theme/eslint.config.jsMfile:///home/matt/Development/themes/uksf-mod-theme/eslint.config.js:0:0:0:0I/home/matt/Development/themes/uksf-mod-theme/layouts/_default/admin.htmlXfile:///home/matt/Development/themes/uksf-mod-theme/layouts/_default/admin.html:0:0:0:0R/home/matt/Development/themes/uksf-mod-theme/layouts/_default/archive-covert.htmlafile:///home/matt/Development/themes/uksf-mod-theme/layouts/_default/archive-covert.html:0:0:0:0K/home/matt/Development/themes/uksf-mod-theme/layouts/_default/archive.htmlZfile:///home/matt/Development/themes/uksf-mod-theme/layouts/_default/archive.html:0:0:0:0L/home/matt/Development/themes/uksf-mod-theme/layouts/_default/archives.html[file:///home/matt/Development/themes/uksf-mod-theme/layouts/_default/archives.html:0:0:0:0K/home/matt/Development/themes/uksf-mod-theme/layouts/_default/console.htmlZfile:///home/matt/Development/themes/uksf-mod-theme/layouts/_default/console.html:0:0:0:0K/home/matt/Development/themes/uksf-mod-theme/layouts/_default/dossier.htmlZfile:///home/matt/Development/themes/uksf-mod-theme/layouts/_default/dossier.html:0:0:0:0J/home/matt/Development/themes/uksf-mod-theme/layouts/_default/filing.htmlYfile:///home/matt/Development/themes/uksf-mod-theme/layouts/_default/filing.html:0:0:0:0H/home/matt/Development/themes/uksf-mod-theme/layouts/_default/gate.htmlWfile:///home/matt/Development/themes/uksf-mod-theme/layouts/_default/gate.html:0:0:0:0P/home/matt/Development/themes/uksf-mod-theme/layouts/_default/intelligence.html_file:///home/matt/Development/themes/uksf-mod-theme/layouts/_default/intelligence.html:0:0:0:0I/home/matt/Development/themes/uksf-mod-theme/layouts/_default/orbat.htmlXfile:///home/matt/Development/themes/uksf-mod-theme/layouts/_default/orbat.html:0:0:0:0L/home/matt/Development/themes/uksf-mod-theme/layouts/_default/register.html[file:///home/matt/Development/themes/uksf-mod-theme/layouts/_default/register.html:0:0:0:0N/home/matt/Development/themes/uksf-mod-theme/layouts/_default/restricted.html]file:///home/matt/Development/themes/uksf-mod-theme/layouts/_default/restricted.html:0:0:0:0A/home/matt/Development/themes/uksf-mod-theme/layouts/baseof.htmlPfile:///home/matt/Development/themes/uksf-mod-theme/layouts/baseof.html:0:0:0:0M/home/matt/Development/themes/uksf-mod-theme/layouts/campaigns/campaign.html\file:///home/matt/Development/themes/uksf-mod-theme/layouts/campaigns/campaign.html:0:0:0:0I/home/matt/Development/themes/uksf-mod-theme/layouts/campaigns/list.htmlXfile:///home/matt/Development/themes/uksf-mod-theme/layouts/campaigns/list.html:0:0:0:0K/home/matt/Development/themes/uksf-mod-theme/layouts/campaigns/report.htmlZfile:///home/matt/Development/themes/uksf-mod-theme/layouts/campaigns/report.html:0:0:0:0@/home/matt/Development/themes/uksf-mod-theme/layouts/index.htmlOfile:///home/matt/Development/themes/uksf-mod-theme/layouts/index.html:0:0:0:0?/home/matt/Development/themes/uksf-mod-theme/layouts/page.htmlNfile:///home/matt/Development/themes/uksf-mod-theme/layouts/page.html:0:0:0:0O/home/matt/Development/themes/uksf-mod-theme/layouts/partials/blocks/hero.html^file:///home/matt/Development/themes/uksf-mod-theme/layouts/partials/blocks/hero.html:0:0:0:0J/home/matt/Development/themes/uksf-mod-theme/layouts/partials/blocks.htmlYfile:///home/matt/Development/themes/uksf-mod-theme/layouts/partials/blocks.html:0:0:0:0R/home/matt/Development/themes/uksf-mod-theme/layouts/partials/cookie-consent.htmlafile:///home/matt/Development/themes/uksf-mod-theme/layouts/partials/cookie-consent.html:0:0:0:0J/home/matt/Development/themes/uksf-mod-theme/layouts/partials/footer.htmlYfile:///home/matt/Development/themes/uksf-mod-theme/layouts/partials/footer.html:0:0:0:0L/home/matt/Development/themes/uksf-mod-theme/layouts/partials/head/css.html[file:///home/matt/Development/themes/uksf-mod-theme/layouts/partials/head/css.html:0:0:0:0K/home/matt/Development/themes/uksf-mod-theme/layouts/partials/head/js.htmlZfile:///home/matt/Development/themes/uksf-mod-theme/layouts/partials/head/js.html:0:0:0:0M/home/matt/Development/themes/uksf-mod-theme/layouts/partials/head/skin.html\file:///home/matt/Development/themes/uksf-mod-theme/layouts/partials/head/skin.html:0:0:0:0H/home/matt/Development/themes/uksf-mod-theme/layouts/partials/head.htmlWfile:///home/matt/Development/themes/uksf-mod-theme/layouts/partials/head.html:0:0:0:0J/home/matt/Development/themes/uksf-mod-theme/layouts/partials/header.htmlYfile:///home/matt/Development/themes/uksf-mod-theme/layouts/partials/header.html:0:0:0:0H/home/matt/Development/themes/uksf-mod-theme/layouts/partials/hero.htmlWfile:///home/matt/Development/themes/uksf-mod-theme/layouts/partials/hero.html:0:0:0:0H/home/matt/Development/themes/uksf-mod-theme/layouts/partials/menu.htmlWfile:///home/matt/Development/themes/uksf-mod-theme/layouts/partials/menu.html:0:0:0:0P/home/matt/Development/themes/uksf-mod-theme/layouts/partials/phase-banner.html_file:///home/matt/Development/themes/uksf-mod-theme/layouts/partials/phase-banner.html:0:0:0:0T/home/matt/Development/themes/uksf-mod-theme/layouts/partials/recruitment-form.htmlcfile:///home/matt/Development/themes/uksf-mod-theme/layouts/partials/recruitment-form.html:0:0:0:0`/home/matt/Development/themes/uksf-mod-theme/layouts/partials/shortcodes/capability-matrix.htmlofile:///home/matt/Development/themes/uksf-mod-theme/layouts/partials/shortcodes/capability-matrix.html:0:0:0:0I/home/matt/Development/themes/uksf-mod-theme/layouts/partials/terms.htmlXfile:///home/matt/Development/themes/uksf-mod-theme/layouts/partials/terms.html:0:0:0:0P/home/matt/Development/themes/uksf-mod-theme/layouts/partials/theme/footer.html_file:///home/matt/Development/themes/uksf-mod-theme/layouts/partials/theme/footer.html:0:0:0:0U/home/matt/Development/themes/uksf-mod-theme/layouts/partials/widgets/comms-hub.htmldfile:///home/matt/Development/themes/uksf-mod-theme/layouts/partials/widgets/comms-hub.html:0:0:0:0S/home/matt/Development/themes/uksf-mod-theme/layouts/partials/widgets/discord.htmlbfile:///home/matt/Development/themes/uksf-mod-theme/layouts/partials/widgets/discord.html:0:0:0:0V/home/matt/Development/themes/uksf-mod-theme/layouts/partials/widgets/orbat-node.htmlefile:///home/matt/Development/themes/uksf-mod-theme/layouts/partials/widgets/orbat-node.html:0:0:0:0Q/home/matt/Development/themes/uksf-mod-theme/layouts/partials/widgets/orbat.html`file:///home/matt/Development/themes/uksf-mod-theme/layouts/partials/widgets/orbat.html:0:0:0:0Y/home/matt/Development/themes/uksf-mod-theme/layouts/partials/widgets/unitcommander.htmlhfile:///home/matt/Development/themes/uksf-mod-theme/layouts/partials/widgets/unitcommander.html:0:0:0:0B/home/matt/Development/themes/uksf-mod-theme/layouts/section.htmlQfile:///home/matt/Development/themes/uksf-mod-theme/layouts/section.html:0:0:0:0S/home/matt/Development/themes/uksf-mod-theme/layouts/shortcodes/battlemetrics.htmlbfile:///home/matt/Development/themes/uksf-mod-theme/layouts/shortcodes/battlemetrics.html:0:0:0:0W/home/matt/Development/themes/uksf-mod-theme/layouts/shortcodes/capability-matrix.htmlffile:///home/matt/Development/themes/uksf-mod-theme/layouts/shortcodes/capability-matrix.html:0:0:0:0U/home/matt/Development/themes/uksf-mod-theme/layouts/shortcodes/capability-spec.htmldfile:///home/matt/Development/themes/uksf-mod-theme/layouts/shortcodes/capability-spec.html:0:0:0:0M/home/matt/Development/themes/uksf-mod-theme/layouts/shortcodes/discord.html\file:///home/matt/Development/themes/uksf-mod-theme/layouts/shortcodes/discord.html:0:0:0:0M/home/matt/Development/themes/uksf-mod-theme/layouts/shortcodes/mandate.html\file:///home/matt/Development/themes/uksf-mod-theme/layouts/shortcodes/mandate.html:0:0:0:0V/home/matt/Development/themes/uksf-mod-theme/layouts/shortcodes/recruitment-form.htmlefile:///home/matt/Development/themes/uksf-mod-theme/layouts/shortcodes/recruitment-form.html:0:0:0:0S/home/matt/Development/themes/uksf-mod-theme/layouts/shortcodes/unitcommander.htmlbfile:///home/matt/Development/themes/uksf-mod-theme/layouts/shortcodes/unitcommander.html:0:0:0:0G/home/matt/Development/themes/uksf-mod-theme/layouts/stories/list.htmlVfile:///home/matt/Development/themes/uksf-mod-theme/layouts/stories/list.html:0:0:0:0C/home/matt/Development/themes/uksf-mod-theme/layouts/taxonomy.htmlRfile:///home/matt/Development/themes/uksf-mod-theme/layouts/taxonomy.html:0:0:0:0?/home/matt/Development/themes/uksf-mod-theme/layouts/term.htmlNfile:///home/matt/Development/themes/uksf-mod-theme/layouts/term.html:0:0:0:0:/home/matt/Development/themes/uksf-mod-theme/package.jsonIfile:///home/matt/Development/themes/uksf-mod-theme/package.json:0:0:0:0J/home/matt/Development/themes/uksf-mod-theme/playwright-report/index.htmlYfile:///home/matt/Development/themes/uksf-mod-theme/playwright-report/index.html:0:0:0:0B/home/matt/Development/themes/uksf-mod-theme/playwright.config.jsQfile:///home/matt/Development/themes/uksf-mod-theme/playwright.config.js:0:0:0:0@/home/matt/Development/themes/uksf-mod-theme/postcss.config.cjsOfile:///home/matt/Development/themes/uksf-mod-theme/postcss.config.cjs:0:0:0:0F/home/matt/Development/themes/uksf-mod-theme/scripts/check-runners.jsUfile:///home/matt/Development/themes/uksf-mod-theme/scripts/check-runners.js:0:0:0:0D/home/matt/Development/themes/uksf-mod-theme/scripts/fetch-intel.jsSfile:///home/matt/Development/themes/uksf-mod-theme/scripts/fetch-intel.js:0:0:0:0G/home/matt/Development/themes/uksf-mod-theme/scripts/generate-stats.jsVfile:///home/matt/Development/themes/uksf-mod-theme/scripts/generate-stats.js:0:0:0:0F/home/matt/Development/themes/uksf-mod-theme/scripts/gh-issue-sync.jsUfile:///home/matt/Development/themes/uksf-mod-theme/scripts/gh-issue-sync.js:0:0:0:0O/home/matt/Development/themes/uksf-mod-theme/scripts/security-history-check.js^file:///home/matt/Development/themes/uksf-mod-theme/scripts/security-history-check.js:0:0:0:0F/home/matt/Development/themes/uksf-mod-theme/scripts/security-scan.jsUfile:///home/matt/Development/themes/uksf-mod-theme/scripts/security-scan.js:0:0:0:0C/home/matt/Development/themes/uksf-mod-theme/scripts/sync-orbat.jsRfile:///home/matt/Development/themes/uksf-mod-theme/scripts/sync-orbat.js:0:0:0:0=/home/matt/Development/themes/uksf-mod-theme/scripts/test.jsLfile:///home/matt/Development/themes/uksf-mod-theme/scripts/test.js:0:0:0:0E/home/matt/Development/themes/uksf-mod-theme/services/rcon-bridge.jsTfile:///home/matt/Development/themes/uksf-mod-theme/services/rcon-bridge.js:0:0:0:0J/home/matt/Development/themes/uksf-mod-theme/services/registry-service.jsYfile:///home/matt/Development/themes/uksf-mod-theme/services/registry-service.js:0:0:0:0G/home/matt/Development/themes/uksf-mod-theme/static/js/orbat-canvas.jsVfile:///home/matt/Development/themes/uksf-mod-theme/static/js/orbat-canvas.js:0:0:0:0A/home/matt/Development/themes/uksf-mod-theme/tailwind.config.cjsPfile:///home/matt/Development/themes/uksf-mod-theme/tailwind.config.cjs:0:0:0:0C/home/matt/Development/themes/uksf-mod-theme/tests/console.spec.jsRfile:///home/matt/Development/themes/uksf-mod-theme/tests/console.spec.js:0:0:0:0B/home/matt/Development/themes/uksf-mod-theme/tests/filing.spec.jsQfile:///home/matt/Development/themes/uksf-mod-theme/tests/filing.spec.js:0:0:0:0F/home/matt/Development/themes/uksf-mod-theme/tests/lighthouse.spec.jsUfile:///home/matt/Development/themes/uksf-mod-theme/tests/lighthouse.spec.js:0:0:0:0A/home/matt/Development/themes/uksf-mod-theme/tests/orbat.spec.jsPfile:///home/matt/Development/themes/uksf-mod-theme/tests/orbat.spec.js:0:0:0:0 +#selectfeisD 8p  + +  ωƛ !""#$$%%Ƨ && '( +() +*+ +,,֩ -- ./ /0 11 22 34 45Ɲ667789ɰ9::;<<==>>٦?@AABCCDEEFGGHّIIJKLLMNOOPQRRSTUUVWWXYZZ[\\]]^^_``abbcddeffggԃhiijkkɋlmmnnoppqrrsstuuvvwxyyzz{||}~~̂҄؇ɉюېÑ֒ȕΗәÜϡș'''ʤН'ȸ'ç'ߨ''''έ'߮''ְ((dz(۴((Ƕ--- +runFileName: run-info-20260202.133502.320.yml +relativeBqrsPath: codeql/javascript-queries/Diagnostics/ExtractedFiles.bqrs +metadata: + name: Extracted files + description: Lists all files in the source code directory that were extracted. + kind: diagnostic + id: js/diagnostics/successfully-extracted-files + tags: successfully-extracted-files diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Diagnostics/ExtractionErrors.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Diagnostics/ExtractionErrors.bqrs new file mode 100644 index 0000000..071b6cc Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Diagnostics/ExtractionErrors.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Electron/AllowRunningInsecureContent.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Electron/AllowRunningInsecureContent.bqrs new file mode 100644 index 0000000..212a576 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Electron/AllowRunningInsecureContent.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Electron/DisablingWebSecurity.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Electron/DisablingWebSecurity.bqrs new file mode 100644 index 0000000..456f68c Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Electron/DisablingWebSecurity.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Performance/PolynomialReDoS.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Performance/PolynomialReDoS.bqrs new file mode 100644 index 0000000..6cda9f3 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Performance/PolynomialReDoS.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Performance/ReDoS.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Performance/ReDoS.bqrs new file mode 100644 index 0000000..0406eea Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Performance/ReDoS.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/RegExp/IdentityReplacement.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/RegExp/IdentityReplacement.bqrs new file mode 100644 index 0000000..b638648 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/RegExp/IdentityReplacement.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-020/IncompleteHostnameRegExp.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-020/IncompleteHostnameRegExp.bqrs new file mode 100644 index 0000000..9c8f37d Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-020/IncompleteHostnameRegExp.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-020/IncompleteUrlSchemeCheck.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-020/IncompleteUrlSchemeCheck.bqrs new file mode 100644 index 0000000..6aae6f7 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-020/IncompleteUrlSchemeCheck.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-020/IncompleteUrlSubstringSanitization.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-020/IncompleteUrlSubstringSanitization.bqrs new file mode 100644 index 0000000..7666c3d Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-020/IncompleteUrlSubstringSanitization.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-020/IncorrectSuffixCheck.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-020/IncorrectSuffixCheck.bqrs new file mode 100644 index 0000000..f664b21 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-020/IncorrectSuffixCheck.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-020/OverlyLargeRange.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-020/OverlyLargeRange.bqrs new file mode 100644 index 0000000..61db9d7 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-020/OverlyLargeRange.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-020/UselessRegExpCharacterEscape.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-020/UselessRegExpCharacterEscape.bqrs new file mode 100644 index 0000000..0d2ddca Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-020/UselessRegExpCharacterEscape.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-022/TaintedPath.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-022/TaintedPath.bqrs new file mode 100644 index 0000000..184b3df Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-022/TaintedPath.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-022/ZipSlip.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-022/ZipSlip.bqrs new file mode 100644 index 0000000..77e53b4 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-022/ZipSlip.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-073/TemplateObjectInjection.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-073/TemplateObjectInjection.bqrs new file mode 100644 index 0000000..8977af7 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-073/TemplateObjectInjection.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-078/CommandInjection.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-078/CommandInjection.bqrs new file mode 100644 index 0000000..92b8adf Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-078/CommandInjection.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-078/SecondOrderCommandInjection.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-078/SecondOrderCommandInjection.bqrs new file mode 100644 index 0000000..b256c93 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-078/SecondOrderCommandInjection.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-078/ShellCommandInjectionFromEnvironment.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-078/ShellCommandInjectionFromEnvironment.bqrs new file mode 100644 index 0000000..0d3e1c2 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-078/ShellCommandInjectionFromEnvironment.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-078/UnsafeShellCommandConstruction.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-078/UnsafeShellCommandConstruction.bqrs new file mode 100644 index 0000000..ddb11e6 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-078/UnsafeShellCommandConstruction.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-078/UselessUseOfCat.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-078/UselessUseOfCat.bqrs new file mode 100644 index 0000000..4864d11 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-078/UselessUseOfCat.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-079/ExceptionXss.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-079/ExceptionXss.bqrs new file mode 100644 index 0000000..63126b8 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-079/ExceptionXss.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-079/ReflectedXss.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-079/ReflectedXss.bqrs new file mode 100644 index 0000000..4084a3b Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-079/ReflectedXss.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-079/StoredXss.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-079/StoredXss.bqrs new file mode 100644 index 0000000..a8c38cd Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-079/StoredXss.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-079/UnsafeHtmlConstruction.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-079/UnsafeHtmlConstruction.bqrs new file mode 100644 index 0000000..22e75ab Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-079/UnsafeHtmlConstruction.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-079/UnsafeJQueryPlugin.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-079/UnsafeJQueryPlugin.bqrs new file mode 100644 index 0000000..4c5a7da Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-079/UnsafeJQueryPlugin.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-079/Xss.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-079/Xss.bqrs new file mode 100644 index 0000000..a8322be Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-079/Xss.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-079/XssThroughDom.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-079/XssThroughDom.bqrs new file mode 100644 index 0000000..158ccd5 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-079/XssThroughDom.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-089/SqlInjection.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-089/SqlInjection.bqrs new file mode 100644 index 0000000..b51994c Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-089/SqlInjection.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-094/CodeInjection.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-094/CodeInjection.bqrs new file mode 100644 index 0000000..a37a05b Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-094/CodeInjection.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-094/ImproperCodeSanitization.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-094/ImproperCodeSanitization.bqrs new file mode 100644 index 0000000..554a166 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-094/ImproperCodeSanitization.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-094/UnsafeDynamicMethodAccess.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-094/UnsafeDynamicMethodAccess.bqrs new file mode 100644 index 0000000..4e48738 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-094/UnsafeDynamicMethodAccess.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-1004/ClientExposedCookie.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-1004/ClientExposedCookie.bqrs new file mode 100644 index 0000000..b31fa58 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-1004/ClientExposedCookie.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-116/BadTagFilter.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-116/BadTagFilter.bqrs new file mode 100644 index 0000000..7108320 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-116/BadTagFilter.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-116/DoubleEscaping.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-116/DoubleEscaping.bqrs new file mode 100644 index 0000000..316b2e3 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-116/DoubleEscaping.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-116/IncompleteHtmlAttributeSanitization.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-116/IncompleteHtmlAttributeSanitization.bqrs new file mode 100644 index 0000000..1c1288f Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-116/IncompleteHtmlAttributeSanitization.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-116/IncompleteMultiCharacterSanitization.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-116/IncompleteMultiCharacterSanitization.bqrs new file mode 100644 index 0000000..273024b Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-116/IncompleteMultiCharacterSanitization.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-116/IncompleteSanitization.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-116/IncompleteSanitization.bqrs new file mode 100644 index 0000000..ba2c485 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-116/IncompleteSanitization.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-116/UnsafeHtmlExpansion.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-116/UnsafeHtmlExpansion.bqrs new file mode 100644 index 0000000..1ae6fa2 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-116/UnsafeHtmlExpansion.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-134/TaintedFormatString.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-134/TaintedFormatString.bqrs new file mode 100644 index 0000000..f0b0fb3 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-134/TaintedFormatString.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-178/CaseSensitiveMiddlewarePath.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-178/CaseSensitiveMiddlewarePath.bqrs new file mode 100644 index 0000000..ee11f94 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-178/CaseSensitiveMiddlewarePath.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-200/PrivateFileExposure.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-200/PrivateFileExposure.bqrs new file mode 100644 index 0000000..475f5cb Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-200/PrivateFileExposure.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-201/PostMessageStar.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-201/PostMessageStar.bqrs new file mode 100644 index 0000000..634d7ce Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-201/PostMessageStar.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-209/StackTraceExposure.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-209/StackTraceExposure.bqrs new file mode 100644 index 0000000..ef48721 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-209/StackTraceExposure.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-295/DisablingCertificateValidation.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-295/DisablingCertificateValidation.bqrs new file mode 100644 index 0000000..a836b49 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-295/DisablingCertificateValidation.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-300/InsecureDependencyResolution.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-300/InsecureDependencyResolution.bqrs new file mode 100644 index 0000000..4edc0ae Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-300/InsecureDependencyResolution.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-312/BuildArtifactLeak.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-312/BuildArtifactLeak.bqrs new file mode 100644 index 0000000..c972e52 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-312/BuildArtifactLeak.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-312/CleartextLogging.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-312/CleartextLogging.bqrs new file mode 100644 index 0000000..b2d4e85 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-312/CleartextLogging.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-312/CleartextStorage.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-312/CleartextStorage.bqrs new file mode 100644 index 0000000..c8c5f60 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-312/CleartextStorage.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-326/InsufficientKeySize.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-326/InsufficientKeySize.bqrs new file mode 100644 index 0000000..26a826e Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-326/InsufficientKeySize.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-327/BadRandomness.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-327/BadRandomness.bqrs new file mode 100644 index 0000000..7f2c8f3 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-327/BadRandomness.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-327/BrokenCryptoAlgorithm.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-327/BrokenCryptoAlgorithm.bqrs new file mode 100644 index 0000000..7589db8 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-327/BrokenCryptoAlgorithm.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-338/InsecureRandomness.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-338/InsecureRandomness.bqrs new file mode 100644 index 0000000..b1d8637 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-338/InsecureRandomness.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-346/CorsMisconfigurationForCredentials.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-346/CorsMisconfigurationForCredentials.bqrs new file mode 100644 index 0000000..c949bcd Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-346/CorsMisconfigurationForCredentials.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-347/MissingJWTKeyVerification.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-347/MissingJWTKeyVerification.bqrs new file mode 100644 index 0000000..67421de Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-347/MissingJWTKeyVerification.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-352/MissingCsrfMiddleware.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-352/MissingCsrfMiddleware.bqrs new file mode 100644 index 0000000..a06604c Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-352/MissingCsrfMiddleware.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-400/DeepObjectResourceExhaustion.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-400/DeepObjectResourceExhaustion.bqrs new file mode 100644 index 0000000..97d9d5f Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-400/DeepObjectResourceExhaustion.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-502/UnsafeDeserialization.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-502/UnsafeDeserialization.bqrs new file mode 100644 index 0000000..67aa46e Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-502/UnsafeDeserialization.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-598/SensitiveGetQuery.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-598/SensitiveGetQuery.bqrs new file mode 100644 index 0000000..bab9103 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-598/SensitiveGetQuery.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-601/ClientSideUrlRedirect.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-601/ClientSideUrlRedirect.bqrs new file mode 100644 index 0000000..16c8a91 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-601/ClientSideUrlRedirect.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-601/ServerSideUrlRedirect.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-601/ServerSideUrlRedirect.bqrs new file mode 100644 index 0000000..3e166ae Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-601/ServerSideUrlRedirect.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-611/Xxe.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-611/Xxe.bqrs new file mode 100644 index 0000000..18ffb7b Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-611/Xxe.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-614/ClearTextCookie.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-614/ClearTextCookie.bqrs new file mode 100644 index 0000000..f41668e Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-614/ClearTextCookie.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-640/HostHeaderPoisoningInEmailGeneration.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-640/HostHeaderPoisoningInEmailGeneration.bqrs new file mode 100644 index 0000000..6994e8b Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-640/HostHeaderPoisoningInEmailGeneration.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-643/XpathInjection.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-643/XpathInjection.bqrs new file mode 100644 index 0000000..1db1a00 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-643/XpathInjection.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-693/InsecureHelmet.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-693/InsecureHelmet.bqrs new file mode 100644 index 0000000..21c3f7c Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-693/InsecureHelmet.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-730/RegExpInjection.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-730/RegExpInjection.bqrs new file mode 100644 index 0000000..e404c21 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-730/RegExpInjection.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-730/ServerCrash.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-730/ServerCrash.bqrs new file mode 100644 index 0000000..8048624 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-730/ServerCrash.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-754/UnvalidatedDynamicMethodCall.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-754/UnvalidatedDynamicMethodCall.bqrs new file mode 100644 index 0000000..1324f28 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-754/UnvalidatedDynamicMethodCall.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-770/MissingRateLimiting.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-770/MissingRateLimiting.bqrs new file mode 100644 index 0000000..43c4e5a Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-770/MissingRateLimiting.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-770/ResourceExhaustion.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-770/ResourceExhaustion.bqrs new file mode 100644 index 0000000..6aa0555 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-770/ResourceExhaustion.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-776/XmlBomb.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-776/XmlBomb.bqrs new file mode 100644 index 0000000..63c3529 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-776/XmlBomb.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-829/InsecureDownload.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-829/InsecureDownload.bqrs new file mode 100644 index 0000000..8304856 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-829/InsecureDownload.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-830/FunctionalityFromUntrustedDomain.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-830/FunctionalityFromUntrustedDomain.bqrs new file mode 100644 index 0000000..d36f1a9 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-830/FunctionalityFromUntrustedDomain.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-830/FunctionalityFromUntrustedSource.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-830/FunctionalityFromUntrustedSource.bqrs new file mode 100644 index 0000000..f7fd11b Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-830/FunctionalityFromUntrustedSource.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-834/LoopBoundInjection.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-834/LoopBoundInjection.bqrs new file mode 100644 index 0000000..e7596be Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-834/LoopBoundInjection.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-843/TypeConfusionThroughParameterTampering.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-843/TypeConfusionThroughParameterTampering.bqrs new file mode 100644 index 0000000..9beaa69 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-843/TypeConfusionThroughParameterTampering.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-915/PrototypePollutingAssignment.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-915/PrototypePollutingAssignment.bqrs new file mode 100644 index 0000000..b36ee2f Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-915/PrototypePollutingAssignment.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-915/PrototypePollutingFunction.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-915/PrototypePollutingFunction.bqrs new file mode 100644 index 0000000..1cf61ca Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-915/PrototypePollutingFunction.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-915/PrototypePollutingMergeCall.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-915/PrototypePollutingMergeCall.bqrs new file mode 100644 index 0000000..cffc89f Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-915/PrototypePollutingMergeCall.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-916/InsufficientPasswordHash.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-916/InsufficientPasswordHash.bqrs new file mode 100644 index 0000000..3d17657 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-916/InsufficientPasswordHash.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-918/RequestForgery.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-918/RequestForgery.bqrs new file mode 100644 index 0000000..ce2c1c4 Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-918/RequestForgery.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-942/CorsPermissiveConfiguration.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-942/CorsPermissiveConfiguration.bqrs new file mode 100644 index 0000000..18ad61c Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Security/CWE-942/CorsPermissiveConfiguration.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Summary/LinesOfCode.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Summary/LinesOfCode.bqrs new file mode 100644 index 0000000..765b24c Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Summary/LinesOfCode.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Summary/LinesOfUserCode.bqrs b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Summary/LinesOfUserCode.bqrs new file mode 100644 index 0000000..ff46dff Binary files /dev/null and b/themes/uksf-mod-theme/codeql-db/results/codeql/javascript-queries/Summary/LinesOfUserCode.bqrs differ diff --git a/themes/uksf-mod-theme/codeql-db/results/run-info-20260202.133502.320.yml b/themes/uksf-mod-theme/codeql-db/results/run-info-20260202.133502.320.yml new file mode 100644 index 0000000..f56f774 --- /dev/null +++ b/themes/uksf-mod-theme/codeql-db/results/run-info-20260202.133502.320.yml @@ -0,0 +1,6297 @@ +--- +queries: + - + pack: codeql/javascript-queries#0 + relativeQueryPath: AngularJS/DisablingSce.ql + relativeBqrsPath: codeql/javascript-queries/AngularJS/DisablingSce.bqrs + metadata: + name: Disabling SCE + description: Disabling strict contextual escaping (SCE) can cause security vulnerabilities. + kind: problem + problem.severity: warning + security-severity: 7.8 + precision: very-high + id: js/angular/disabling-sce + tags: |- + security + maintainability + frameworks/angularjs + external/cwe/cwe-116 + queryHelp: "# Disabling SCE\nAngularJS is secure by default through automated sanitization\ + \ and filtering of untrusted values that could cause vulnerabilities such as XSS.\ + \ Strict Contextual Escaping (SCE) is an execution mode in AngularJS that provides\ + \ this security mechanism.\n\nDisabling SCE in an AngularJS application is strongly\ + \ discouraged. It is even more discouraged to disable SCE in a library, since\ + \ it is an application-wide setting.\n\n\n## Recommendation\nDo not disable SCE.\n\ + \n\n## Example\nThe following example shows an AngularJS application that disables\ + \ SCE in order to dynamically construct an HTML fragment, which is later inserted\ + \ into the DOM through `$scope.html`.\n\n\n```javascript\nangular.module('app',\ + \ [])\n .config(function($sceProvider) {\n $sceProvider.enabled(false);\ + \ // BAD\n }).controller('controller', function($scope) {\n // ...\n\ + \ $scope.html = '
  • ' + item.toString() + '
';\n });\n\ + \n```\nThis is problematic, since it disables SCE for the entire AngularJS application.\n\ + \nInstead, just mark the dynamically constructed HTML fragment as safe using `$sce.trustAsHtml`,\ + \ before assigning it to `$scope.html`:\n\n\n```javascript\nangular.module('app',\ + \ [])\n .controller('controller', function($scope, $sce) {\n // ...\n\ + \ // GOOD (but should use the templating system instead)\n $scope.html\ + \ = $sce.trustAsHtml('
  • ' + item.toString() + '
'); \n });\n\ + \n```\nPlease note that this example is for illustrative purposes only; use the\ + \ AngularJS templating system to dynamically construct HTML when possible.\n\n\ + \n## References\n* AngularJS Developer Guide: [Strict Contextual Escaping](https://docs.angularjs.org/api/ng/service/$sce)\n\ + * AngularJS Developer Guide: [Can I disable SCE completely?](https://docs.angularjs.org/api/ng/service/$sce#can-i-disable-sce-completely-).\n\ + * Common Weakness Enumeration: [CWE-116](https://cwe.mitre.org/data/definitions/116.html).\n" + - + pack: codeql/javascript-queries#0 + relativeQueryPath: AngularJS/DoubleCompilation.ql + relativeBqrsPath: codeql/javascript-queries/AngularJS/DoubleCompilation.bqrs + metadata: + name: Double compilation + description: |- + Recompiling an already compiled part of the DOM can lead to + unexpected behavior of directives, performance problems, and memory leaks. + kind: problem + problem.severity: warning + security-severity: 8.8 + id: js/angular/double-compilation + tags: |- + reliability + frameworks/angularjs + security + external/cwe/cwe-1176 + precision: very-high + queryHelp: | + # Double compilation + The AngularJS compiler processes (parts of) the DOM, determining which directives match which DOM elements, and then applies the directives to the elements. Each DOM element should only be compiled once, otherwise unexpected behavior may result. + + + ## Recommendation + Only compile new DOM elements. + + + ## Example + The following example (adapted from the AngularJS developer guide) shows a directive that adds a tooltip to a DOM element, and then compiles the entire element to apply nested directives. + + + ```javascript + angular.module('myapp') + .directive('addToolTip', function($compile) { + return { + link: function(scope, element, attrs) { + var tooltip = angular.element('A tooltip'); + tooltip.on('mouseenter mouseleave', function() { + scope.$apply('showToolTip = !showToolTip'); + }); + element.append(tooltip); + $compile(element)(scope); // NOT OK + } + }; + }); + + ``` + This is problematic, since it will recompile all of `element`, including parts that have already been compiled. + + Instead, only the new element should be compiled: + + + ```javascript + angular.module('myapp') + .directive('addToolTip', function($compile) { + return { + link: function(scope, element, attrs) { + var tooltip = angular.element('A tooltip'); + tooltip.on('mouseenter mouseleave', function() { + scope.$apply('showToolTip = !showToolTip'); + }); + element.append(tooltip); + $compile(tooltip)(scope); // OK + } + }; + }); + + ``` + + ## References + * AngularJS Developer Guide: [Double Compilation, and how to avoid it](https://docs.angularjs.org/guide/compiler#double-compilation-and-how-to-avoid-it). + * Common Weakness Enumeration: [CWE-1176](https://cwe.mitre.org/data/definitions/1176.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: AngularJS/InsecureUrlWhitelist.ql + relativeBqrsPath: codeql/javascript-queries/AngularJS/InsecureUrlWhitelist.bqrs + metadata: + name: Insecure URL whitelist + description: URL whitelists that are too permissive can cause security vulnerabilities. + kind: problem + problem.severity: warning + security-severity: 7.5 + precision: very-high + id: js/angular/insecure-url-whitelist + tags: |- + security + frameworks/angularjs + external/cwe/cwe-183 + external/cwe/cwe-625 + queryHelp: | + # Insecure URL whitelist + AngularJS uses filters to ensure that the URLs used for sourcing AngularJS templates and other script-running URLs are safe. One such filter is a whitelist of URL patterns to allow. + + A URL pattern that is too permissive can cause security vulnerabilities. + + + ## Recommendation + Make the whitelist URL patterns as restrictive as possible. + + + ## Example + The following example shows an AngularJS application with whitelist URL patterns that all are too permissive. + + + ```javascript + angular.module('myApp', []) + .config(function($sceDelegateProvider) { + $sceDelegateProvider.resourceUrlWhitelist([ + "*://example.org/*", // BAD + "https://**.example.com/*", // BAD + "https://example.**", // BAD + "https://example.*" // BAD + ]); + }); + + ``` + This is problematic, since the four patterns match the following malicious URLs, respectively: + + * `javascript://example.org/a%0A%0Dalert(1)` (`%0A%0D` is a linebreak) + * `https://evil.com/?ignore=://example.com/a` + * `https://example.evil.com` + * `https://example.evilTld` + + ## References + * OWASP/Google presentation: [Securing AngularJS Applications](https://www.owasp.org/images/6/6e/Benelus_day_20161125_S_Lekies_Securing_AngularJS_Applications.pdf) + * AngularJS Developer Guide: [Format of items in resourceUrlWhitelist/Blacklist](https://docs.angularjs.org/api/ng/service/$sce#resourceUrlPatternItem). + * Common Weakness Enumeration: [CWE-183](https://cwe.mitre.org/data/definitions/183.html). + * Common Weakness Enumeration: [CWE-625](https://cwe.mitre.org/data/definitions/625.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Diagnostics/ExtractedFiles.ql + relativeBqrsPath: codeql/javascript-queries/Diagnostics/ExtractedFiles.bqrs + metadata: + name: Extracted files + description: Lists all files in the source code directory that were extracted. + kind: diagnostic + id: js/diagnostics/successfully-extracted-files + tags: successfully-extracted-files + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Diagnostics/ExtractionErrors.ql + relativeBqrsPath: codeql/javascript-queries/Diagnostics/ExtractionErrors.bqrs + metadata: + name: Extraction errors + description: List all extraction errors for files in the source code directory. + kind: diagnostic + id: js/diagnostics/extraction-errors + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Electron/AllowRunningInsecureContent.ql + relativeBqrsPath: codeql/javascript-queries/Electron/AllowRunningInsecureContent.bqrs + metadata: + name: Enabling Electron allowRunningInsecureContent + description: Enabling allowRunningInsecureContent can allow remote code execution. + kind: problem + problem.severity: error + security-severity: 8.8 + precision: very-high + tags: |- + security + frameworks/electron + external/cwe/cwe-494 + id: js/enabling-electron-insecure-content + queryHelp: | + # Enabling Electron allowRunningInsecureContent + Electron is secure by default through a policy banning the execution of content loaded over HTTP. Setting the `allowRunningInsecureContent` property of a `webPreferences` object to `true` will disable this policy. + + Enabling the execution of insecure content is strongly discouraged. + + + ## Recommendation + Do not enable the `allowRunningInsecureContent` property. + + + ## Example + The following example shows `allowRunningInsecureContent` being enabled. + + + ```javascript + const mainWindow = new BrowserWindow({ + webPreferences: { + allowRunningInsecureContent: true + } + }) + ``` + This is problematic, since it allows the execution of code from an untrusted origin. + + + ## References + * Electron Documentation: [Security, Native Capabilities, and Your Responsibility](https://electronjs.org/docs/tutorial/security#8-do-not-set-allowrunninginsecurecontent-to-true) + * Common Weakness Enumeration: [CWE-494](https://cwe.mitre.org/data/definitions/494.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Electron/DisablingWebSecurity.ql + relativeBqrsPath: codeql/javascript-queries/Electron/DisablingWebSecurity.bqrs + metadata: + name: Disabling Electron webSecurity + description: Disabling webSecurity can cause critical security vulnerabilities. + kind: problem + problem.severity: error + security-severity: 6.1 + precision: very-high + tags: |- + security + frameworks/electron + external/cwe/cwe-079 + id: js/disabling-electron-websecurity + queryHelp: | + # Disabling Electron webSecurity + Electron is secure by default through a same-origin policy requiring all JavaScript and CSS code to originate from the machine running the Electron application. Setting the `webSecurity` property of a `webPreferences` object to `false` will disable the same-origin policy. + + Disabling the same-origin policy is strongly discouraged. + + + ## Recommendation + Do not disable `webSecurity`. + + + ## Example + The following example shows `webSecurity` being disabled. + + + ```javascript + const mainWindow = new BrowserWindow({ + webPreferences: { + webSecurity: false + } + }) + ``` + This is problematic, since it allows the execution of insecure code from other domains. + + + ## References + * Electron Documentation: [Security, Native Capabilities, and Your Responsibility](https://electronjs.org/docs/tutorial/security#5-do-not-disable-websecurity) + * Common Weakness Enumeration: [CWE-79](https://cwe.mitre.org/data/definitions/79.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Performance/PolynomialReDoS.ql + relativeBqrsPath: codeql/javascript-queries/Performance/PolynomialReDoS.bqrs + metadata: + name: Polynomial regular expression used on uncontrolled data + description: |- + A regular expression that can require polynomial time + to match may be vulnerable to denial-of-service attacks. + kind: path-problem + problem.severity: warning + security-severity: 7.5 + precision: high + id: js/polynomial-redos + tags: |- + security + external/cwe/cwe-1333 + external/cwe/cwe-730 + external/cwe/cwe-400 + queryHelp: | + # Polynomial regular expression used on uncontrolled data + Some regular expressions take a long time to match certain input strings to the point where the time it takes to match a string of length *n* is proportional to *nk* or even *2n*. Such regular expressions can negatively affect performance, or even allow a malicious user to perform a Denial of Service ("DoS") attack by crafting an expensive input string for the regular expression to match. + + The regular expression engines provided by many popular JavaScript platforms use backtracking non-deterministic finite automata to implement regular expression matching. While this approach is space-efficient and allows supporting advanced features like capture groups, it is not time-efficient in general. The worst-case time complexity of such an automaton can be polynomial or even exponential, meaning that for strings of a certain shape, increasing the input length by ten characters may make the automaton about 1000 times slower. + + Typically, a regular expression is affected by this problem if it contains a repetition of the form `r*` or `r+` where the sub-expression `r` is ambiguous in the sense that it can match some string in multiple ways. More information about the precise circumstances can be found in the references. + + + ## Recommendation + Modify the regular expression to remove the ambiguity, or ensure that the strings matched with the regular expression are short enough that the time-complexity does not matter. + + + ## Example + Consider this use of a regular expression, which removes all leading and trailing whitespace in a string: + + ```javascript + + text.replace(/^\s+|\s+$/g, ''); // BAD + ``` + The sub-expression `"\s+$"` will match the whitespace characters in `text` from left to right, but it can start matching anywhere within a whitespace sequence. This is problematic for strings that do **not** end with a whitespace character. Such a string will force the regular expression engine to process each whitespace sequence once per whitespace character in the sequence. + + This ultimately means that the time cost of trimming a string is quadratic in the length of the string. So a string like `"a b"` will take milliseconds to process, but a similar string with a million spaces instead of just one will take several minutes. + + Avoid this problem by rewriting the regular expression to not contain the ambiguity about when to start matching whitespace sequences. For instance, by using a negative look-behind (`/^\s+|(? 1000) { + throw new Error("Input too long"); + } + + /^(\+|-)?(\d+|(\d*\.\d*))?(E|e)?([-+])?(\d+)?$/.test(str) + ``` + + ## References + * OWASP: [Regular expression Denial of Service - ReDoS](https://www.owasp.org/index.php/Regular_expression_Denial_of_Service_-_ReDoS). + * Wikipedia: [ReDoS](https://en.wikipedia.org/wiki/ReDoS). + * Wikipedia: [Time complexity](https://en.wikipedia.org/wiki/Time_complexity). + * James Kirrage, Asiri Rathnayake, Hayo Thielecke: [Static Analysis for Regular Expression Denial-of-Service Attack](https://arxiv.org/abs/1301.0849). + * Common Weakness Enumeration: [CWE-1333](https://cwe.mitre.org/data/definitions/1333.html). + * Common Weakness Enumeration: [CWE-730](https://cwe.mitre.org/data/definitions/730.html). + * Common Weakness Enumeration: [CWE-400](https://cwe.mitre.org/data/definitions/400.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Performance/ReDoS.ql + relativeBqrsPath: codeql/javascript-queries/Performance/ReDoS.bqrs + metadata: + name: Inefficient regular expression + description: |- + A regular expression that requires exponential time to match certain inputs + can be a performance bottleneck, and may be vulnerable to denial-of-service + attacks. + kind: problem + problem.severity: error + security-severity: 7.5 + precision: high + id: js/redos + tags: |- + security + external/cwe/cwe-1333 + external/cwe/cwe-730 + external/cwe/cwe-400 + queryHelp: | + # Inefficient regular expression + Some regular expressions take a long time to match certain input strings to the point where the time it takes to match a string of length *n* is proportional to *nk* or even *2n*. Such regular expressions can negatively affect performance, or even allow a malicious user to perform a Denial of Service ("DoS") attack by crafting an expensive input string for the regular expression to match. + + The regular expression engines provided by many popular JavaScript platforms use backtracking non-deterministic finite automata to implement regular expression matching. While this approach is space-efficient and allows supporting advanced features like capture groups, it is not time-efficient in general. The worst-case time complexity of such an automaton can be polynomial or even exponential, meaning that for strings of a certain shape, increasing the input length by ten characters may make the automaton about 1000 times slower. + + Typically, a regular expression is affected by this problem if it contains a repetition of the form `r*` or `r+` where the sub-expression `r` is ambiguous in the sense that it can match some string in multiple ways. More information about the precise circumstances can be found in the references. + + + ## Recommendation + Modify the regular expression to remove the ambiguity, or ensure that the strings matched with the regular expression are short enough that the time-complexity does not matter. + + + ## Example + Consider this regular expression: + + ```javascript + + /^_(__|.)+_$/ + ``` + Its sub-expression `"(__|.)+?"` can match the string `"__"` either by the first alternative `"__"` to the left of the `"|"` operator, or by two repetitions of the second alternative `"."` to the right. Thus, a string consisting of an odd number of underscores followed by some other character will cause the regular expression engine to run for an exponential amount of time before rejecting the input. + + This problem can be avoided by rewriting the regular expression to remove the ambiguity between the two branches of the alternative inside the repetition: + + ```javascript + + /^_(__|[^_])+_$/ + ``` + + ## References + * OWASP: [Regular expression Denial of Service - ReDoS](https://www.owasp.org/index.php/Regular_expression_Denial_of_Service_-_ReDoS). + * Wikipedia: [ReDoS](https://en.wikipedia.org/wiki/ReDoS). + * Wikipedia: [Time complexity](https://en.wikipedia.org/wiki/Time_complexity). + * James Kirrage, Asiri Rathnayake, Hayo Thielecke: [Static Analysis for Regular Expression Denial-of-Service Attack](https://arxiv.org/abs/1301.0849). + * Common Weakness Enumeration: [CWE-1333](https://cwe.mitre.org/data/definitions/1333.html). + * Common Weakness Enumeration: [CWE-730](https://cwe.mitre.org/data/definitions/730.html). + * Common Weakness Enumeration: [CWE-400](https://cwe.mitre.org/data/definitions/400.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: RegExp/IdentityReplacement.ql + relativeBqrsPath: codeql/javascript-queries/RegExp/IdentityReplacement.bqrs + metadata: + name: Replacement of a substring with itself + description: Replacing a substring with itself has no effect and may indicate + a mistake. + kind: problem + problem.severity: warning + security-severity: 5.0 + id: js/identity-replacement + precision: very-high + tags: |- + correctness + security + external/cwe/cwe-116 + queryHelp: | + # Replacement of a substring with itself + Replacing a substring with itself has no effect and usually indicates a mistake, such as misspelling a backslash escape. + + + ## Recommendation + Examine the string replacement to find and correct any typos. + + + ## Example + The following code snippet attempts to backslash-escape all double quotes in `raw` by replacing all instances of `"` with `\"`: + + + ```javascript + var escaped = raw.replace(/"/g, '\"'); + + ``` + However, the replacement string `'\"'` is actually the same as `'"'`, with `\"` interpreted as an identity escape, so the replacement does nothing. Instead, the replacement string should be `'\\"'`: + + + ```javascript + var escaped = raw.replace(/"/g, '\\"'); + + ``` + + ## References + * Mozilla Developer Network: [String escape notation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String#Escape_notation). + * Common Weakness Enumeration: [CWE-116](https://cwe.mitre.org/data/definitions/116.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Security/CWE-020/IncompleteHostnameRegExp.ql + relativeBqrsPath: codeql/javascript-queries/Security/CWE-020/IncompleteHostnameRegExp.bqrs + metadata: + name: Incomplete regular expression for hostnames + description: Matching a URL or hostname against a regular expression that contains + an unescaped dot as part of the hostname might match more hostnames than expected. + kind: problem + problem.severity: warning + security-severity: 7.8 + precision: high + id: js/incomplete-hostname-regexp + tags: |- + correctness + security + external/cwe/cwe-020 + queryHelp: | + # Incomplete regular expression for hostnames + Sanitizing untrusted URLs is an important technique for preventing attacks such as request forgeries and malicious redirections. Often, this is done by checking that the host of a URL is in a set of allowed hosts. + + If a regular expression implements such a check, it is easy to accidentally make the check too permissive by not escaping the `.` meta-characters appropriately. Even if the check is not used in a security-critical context, the incomplete check may still cause undesirable behaviors when it accidentally succeeds. + + + ## Recommendation + Escape all meta-characters appropriately when constructing regular expressions for security checks, and pay special attention to the `.` meta-character. + + + ## Example + The following example code checks that a URL redirection will reach the `example.com` domain, or one of its subdomains. + + + ```javascript + app.get('/some/path', function(req, res) { + let url = req.param('url'), + host = urlLib.parse(url).host; + // BAD: the host of `url` may be controlled by an attacker + let regex = /^((www|beta).)?example.com/; + if (host.match(regex)) { + res.redirect(url); + } + }); + + ``` + The check is however easy to bypass because the unescaped `.` allows for any character before `example.com`, effectively allowing the redirect to go to an attacker-controlled domain such as `wwwXexample.com`. + + Address this vulnerability by escaping `.` appropriately: `let regex = /^((www|beta)\.)?example\.com/`. + + + ## References + * MDN: [Regular Expressions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions) + * OWASP: [SSRF](https://www.owasp.org/index.php/Server_Side_Request_Forgery) + * OWASP: [XSS Unvalidated Redirects and Forwards Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html). + * Common Weakness Enumeration: [CWE-20](https://cwe.mitre.org/data/definitions/20.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Security/CWE-020/IncompleteUrlSchemeCheck.ql + relativeBqrsPath: codeql/javascript-queries/Security/CWE-020/IncompleteUrlSchemeCheck.bqrs + metadata: + name: Incomplete URL scheme check + description: |- + Checking for the "javascript:" URL scheme without also checking for "vbscript:" + and "data:" suggests a logic error or even a security vulnerability. + kind: problem + problem.severity: warning + security-severity: 7.8 + precision: high + id: js/incomplete-url-scheme-check + tags: |- + security + correctness + external/cwe/cwe-020 + external/cwe/cwe-184 + queryHelp: | + # Incomplete URL scheme check + URLs starting with `javascript:` can be used to encode JavaScript code to be executed when the URL is visited. While this is a powerful mechanism for creating feature-rich and responsive web applications, it is also a potential security risk: if the URL comes from an untrusted source, it might contain harmful JavaScript code. For this reason, many frameworks and libraries first check the URL scheme of any untrusted URL, and reject URLs with the `javascript:` scheme. + + However, the `data:` and `vbscript:` schemes can be used to represent executable code in a very similar way, so any validation logic that checks against `javascript:`, but not against `data:` and `vbscript:`, is likely to be insufficient. + + + ## Recommendation + Add checks covering both `data:` and `vbscript:`. + + + ## Example + The following function validates a (presumably untrusted) URL `url`. If it starts with `javascript:` (case-insensitive and potentially preceded by whitespace), the harmless placeholder URL `about:blank` is returned to prevent code injection; otherwise `url` itself is returned. + + + ```javascript + function sanitizeUrl(url) { + let u = decodeURI(url).trim().toLowerCase(); + if (u.startsWith("javascript:")) + return "about:blank"; + return url; + } + + ``` + While this check provides partial projection, it should be extended to cover `data:` and `vbscript:` as well: + + + ```javascript + function sanitizeUrl(url) { + let u = decodeURI(url).trim().toLowerCase(); + if (u.startsWith("javascript:") || u.startsWith("data:") || u.startsWith("vbscript:")) + return "about:blank"; + return url; + } + + ``` + + ## References + * WHATWG: [URL schemes](https://wiki.whatwg.org/wiki/URL_schemes). + * Common Weakness Enumeration: [CWE-20](https://cwe.mitre.org/data/definitions/20.html). + * Common Weakness Enumeration: [CWE-184](https://cwe.mitre.org/data/definitions/184.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Security/CWE-020/IncompleteUrlSubstringSanitization.ql + relativeBqrsPath: codeql/javascript-queries/Security/CWE-020/IncompleteUrlSubstringSanitization.bqrs + metadata: + name: Incomplete URL substring sanitization + description: Security checks on the substrings of an unparsed URL are often vulnerable + to bypassing. + kind: problem + problem.severity: warning + security-severity: 7.8 + precision: high + id: js/incomplete-url-substring-sanitization + tags: |- + correctness + security + external/cwe/cwe-020 + queryHelp: | + # Incomplete URL substring sanitization + Sanitizing untrusted URLs is an important technique for preventing attacks such as request forgeries and malicious redirections. Usually, this is done by checking that the host of a URL is in a set of allowed hosts. + + However, treating the URL as a string and checking if one of the allowed hosts is a substring of the URL is very prone to errors. Malicious URLs can bypass such security checks by embedding one of the allowed hosts in an unexpected location. + + Even if the substring check is not used in a security-critical context, the incomplete check may still cause undesirable behaviors when the check succeeds accidentally. + + + ## Recommendation + Parse a URL before performing a check on its host value, and ensure that the check handles arbitrary subdomain sequences correctly. + + + ## Example + The following example code checks that a URL redirection will reach the `example.com` domain, or one of its subdomains, and not some malicious site. + + + ```javascript + app.get('/some/path', function(req, res) { + let url = req.param("url"); + // BAD: the host of `url` may be controlled by an attacker + if (url.includes("example.com")) { + res.redirect(url); + } + }); + + ``` + The substring check is, however, easy to bypass. For example by embedding `example.com` in the path component: `http://evil-example.net/example.com`, or in the query string component: `http://evil-example.net/?x=example.com`. Address these shortcomings by checking the host of the parsed URL instead: + + + ```javascript + app.get('/some/path', function(req, res) { + let url = req.param("url"), + host = urlLib.parse(url).host; + // BAD: the host of `url` may be controlled by an attacker + if (host.includes("example.com")) { + res.redirect(url); + } + }); + + ``` + This is still not a sufficient check as the following URLs bypass it: `http://evil-example.com` `http://example.com.evil-example.net`. Instead, use an explicit whitelist of allowed hosts to make the redirect secure: + + + ```javascript + app.get('/some/path', function(req, res) { + let url = req.param('url'), + host = urlLib.parse(url).host; + // GOOD: the host of `url` can not be controlled by an attacker + let allowedHosts = [ + 'example.com', + 'beta.example.com', + 'www.example.com' + ]; + if (allowedHosts.includes(host)) { + res.redirect(url); + } + }); + + ``` + + ## References + * OWASP: [SSRF](https://www.owasp.org/index.php/Server_Side_Request_Forgery) + * OWASP: [XSS Unvalidated Redirects and Forwards Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html). + * Common Weakness Enumeration: [CWE-20](https://cwe.mitre.org/data/definitions/20.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Security/CWE-020/IncorrectSuffixCheck.ql + relativeBqrsPath: codeql/javascript-queries/Security/CWE-020/IncorrectSuffixCheck.bqrs + metadata: + name: Incorrect suffix check + description: Using indexOf to implement endsWith functionality is error-prone + if the -1 case is not explicitly handled. + kind: problem + problem.severity: error + security-severity: 7.8 + precision: high + id: js/incorrect-suffix-check + tags: |- + security + correctness + external/cwe/cwe-020 + queryHelp: | + # Incorrect suffix check + The `indexOf` and `lastIndexOf` methods are sometimes used to check if a substring occurs at a certain position in a string. However, if the returned index is compared to an expression that might evaluate to -1, the check may pass in some cases where the substring was not found at all. + + Specifically, this can easily happen when implementing `endsWith` using `indexOf`. + + + ## Recommendation + Use `String.prototype.endsWith` if it is available. Otherwise, explicitly handle the -1 case, either by checking the relative lengths of the strings, or by checking if the returned index is -1. + + + ## Example + The following example uses `lastIndexOf` to determine if the string `x` ends with the string `y`: + + + ```javascript + function endsWith(x, y) { + return x.lastIndexOf(y) === x.length - y.length; + } + + ``` + However, if `y` is one character longer than `x`, the right-hand side `x.length - y.length` becomes -1, which then equals the return value of `lastIndexOf`. This will make the test pass, even though `x` does not end with `y`. + + To avoid this, explicitly check for the -1 case: + + + ```javascript + function endsWith(x, y) { + let index = x.lastIndexOf(y); + return index !== -1 && index === x.length - y.length; + } + + ``` + + ## References + * MDN: [String.prototype.endsWith](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith) + * MDN: [String.prototype.indexOf](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf) + * Common Weakness Enumeration: [CWE-20](https://cwe.mitre.org/data/definitions/20.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Security/CWE-020/OverlyLargeRange.ql + relativeBqrsPath: codeql/javascript-queries/Security/CWE-020/OverlyLargeRange.bqrs + metadata: + name: Overly permissive regular expression range + description: |- + Overly permissive regular expression ranges match a wider range of characters than intended. + This may allow an attacker to bypass a filter or sanitizer. + kind: problem + problem.severity: warning + security-severity: 4.0 + precision: high + id: js/overly-large-range + tags: |- + correctness + security + external/cwe/cwe-020 + queryHelp: | + # Overly permissive regular expression range + It's easy to write a regular expression range that matches a wider range of characters than you intended. For example, `/[a-zA-z]/` matches all lowercase and all uppercase letters, as you would expect, but it also matches the characters: `` [ \ ] ^ _ ` ``. + + Another common problem is failing to escape the dash character in a regular expression. An unescaped dash is interpreted as part of a range. For example, in the character class `[a-zA-Z0-9%=.,-_]` the last character range matches the 55 characters between `,` and `_` (both included), which overlaps with the range `[0-9]` and is clearly not intended by the writer. + + + ## Recommendation + Avoid any confusion about which characters are included in the range by writing unambiguous regular expressions. Always check that character ranges match only the expected characters. + + + ## Example + The following example code is intended to check whether a string is a valid 6 digit hex color. + + ```javascript + + function isValidHexColor(color) { + return /^#[0-9a-fA-f]{6}$/i.test(color); + } + + ``` + However, the `A-f` range is overly large and matches every uppercase character. It would parse a "color" like `#XXYYZZ` as valid. + + The fix is to use an uppercase `A-F` range instead. + + ```javascript + + function isValidHexColor(color) { + return /^#[0-9A-F]{6}$/i.test(color); + } + + ``` + + ## References + * GitHub Advisory Database: [CVE-2021-42740: Improper Neutralization of Special Elements used in a Command in Shell-quote](https://github.com/advisories/GHSA-g4rg-993r-mgx7) + * wh0.github.io: [Exploiting CVE-2021-42740](https://wh0.github.io/2021/10/28/shell-quote-rce-exploiting.html) + * Yosuke Ota: [no-obscure-range](https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-obscure-range.html) + * Paul Boyd: [The regex \[,-.\]](https://pboyd.io/posts/comma-dash-dot/) + * Common Weakness Enumeration: [CWE-20](https://cwe.mitre.org/data/definitions/20.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Security/CWE-020/UselessRegExpCharacterEscape.ql + relativeBqrsPath: codeql/javascript-queries/Security/CWE-020/UselessRegExpCharacterEscape.bqrs + metadata: + name: Useless regular-expression character escape + description: |- + Prepending a backslash to an ordinary character in a string + does not have any effect, and may make regular expressions constructed from this string + behave unexpectedly. + kind: problem + problem.severity: error + security-severity: 7.8 + precision: high + id: js/useless-regexp-character-escape + tags: |- + correctness + security + external/cwe/cwe-020 + queryHelp: | + # Useless regular-expression character escape + When a character in a string literal or regular expression literal is preceded by a backslash, it is interpreted as part of an escape sequence. For example, the escape sequence `\n` in a string literal corresponds to a single `newline` character, and not the `\` and `n` characters. However, not all characters change meaning when used in an escape sequence. In this case, the backslash just makes the character appear to mean something else, and the backslash actually has no effect. For example, the escape sequence `\k` in a string literal just means `k`. Such superfluous escape sequences are usually benign, and do not change the behavior of the program. + + The set of characters that change meaning when in escape sequences is different for regular expression literals and string literals. This can be problematic when a regular expression literal is turned into a regular expression that is built from one or more string literals. The problem occurs when a regular expression escape sequence loses its special meaning in a string literal. + + + ## Recommendation + Ensure that the right amount of backslashes is used when escaping characters in strings, template literals and regular expressions. Pay special attention to the number of backslashes when rewriting a regular expression as a string literal. + + + ## Example + The following example code checks that a string is `"my-marker"`, possibly surrounded by white space: + + + ```javascript + let regex = new RegExp('(^\s*)my-marker(\s*$)'), + isMyMarkerText = regex.test(text); + + ``` + However, the check does not work properly for white space as the two `\s` occurrences are semantically equivalent to just `s`, meaning that the check will succeed for strings like `"smy-markers"` instead of `" my-marker "`. Address these shortcomings by either using a regular expression literal (`/(^\s*)my-marker(\s*$)/`), or by adding extra backslashes (`'(^\\s*)my-marker(\\s*$)'`). + + + ## References + * MDN: [Regular expression escape notation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Escaping) + * MDN: [String escape notation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String#Escape_notation) + * Common Weakness Enumeration: [CWE-20](https://cwe.mitre.org/data/definitions/20.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Security/CWE-022/TaintedPath.ql + relativeBqrsPath: codeql/javascript-queries/Security/CWE-022/TaintedPath.bqrs + metadata: + name: Uncontrolled data used in path expression + description: |- + Accessing paths influenced by users can allow an attacker to access + unexpected resources. + kind: path-problem + problem.severity: error + security-severity: 7.5 + precision: high + id: js/path-injection + tags: |- + security + external/cwe/cwe-022 + external/cwe/cwe-023 + external/cwe/cwe-036 + external/cwe/cwe-073 + external/cwe/cwe-099 + queryHelp: | + # Uncontrolled data used in path expression + Accessing files using paths constructed from user-controlled data can allow an attacker to access unexpected resources. This can result in sensitive information being revealed or deleted, or an attacker being able to influence behavior by modifying unexpected files. + + + ## Recommendation + Validate user input before using it to construct a file path. + + The validation method you should use depends on whether you want to allow the user to specify complex paths with multiple components that may span multiple folders, or only simple filenames without a path component. + + In the former case, a common strategy is to make sure that the constructed file path is contained within a safe root folder. First, normalize the path using `path.resolve` or `fs.realpathSync` to remove any ".." segments. You should always normalize the file path since an unnormalized path that starts with the root folder can still be used to access files outside the root folder. Then, after you have normalized the path, check that the path starts with the root folder. + + In the latter case, you can use a library like the `sanitize-filename` npm package to eliminate any special characters from the file path. Note that it is *not* sufficient to only remove "../" sequences: for example, applying this filter to ".../...//" would still result in the string "../". + + Finally, the simplest (but most restrictive) option is to use an allow list of safe patterns and make sure that the user input matches one of these patterns. + + + ## Example + In the first (bad) example, the code reads the file name from an HTTP request, then accesses that file within a root folder. A malicious user could enter a file name containing "../" segments to navigate outside the root folder and access sensitive files. + + + ```javascript + const fs = require('fs'), + http = require('http'), + url = require('url'); + + const ROOT = "/var/www/"; + + var server = http.createServer(function(req, res) { + let filePath = url.parse(req.url, true).query.path; + + // BAD: This function uses unsanitized input that can read any file on the file system. + res.write(fs.readFileSync(ROOT + filePath, 'utf8')); + }); + ``` + The second (good) example shows how to avoid access to sensitive files by sanitizing the file path. First, the code resolves the file name relative to a root folder, normalizing the path and removing any "../" segments in the process. Then, the code calls `fs.realpathSync` to resolve any symbolic links in the path. Finally, the code checks that the normalized path starts with the path of the root folder, ensuring the file is contained within the root folder. + + + ```javascript + const fs = require('fs'), + http = require('http'), + path = require('path'), + url = require('url'); + + const ROOT = "/var/www/"; + + var server = http.createServer(function(req, res) { + let filePath = url.parse(req.url, true).query.path; + + // GOOD: Verify that the file path is under the root directory + filePath = fs.realpathSync(path.resolve(ROOT, filePath)); + if (!filePath.startsWith(ROOT)) { + res.statusCode = 403; + res.end(); + return; + } + res.write(fs.readFileSync(filePath, 'utf8')); + }); + ``` + + ## References + * OWASP: [Path Traversal](https://owasp.org/www-community/attacks/Path_Traversal). + * npm: [sanitize-filename](https://www.npmjs.com/package/sanitize-filename) package. + * Common Weakness Enumeration: [CWE-22](https://cwe.mitre.org/data/definitions/22.html). + * Common Weakness Enumeration: [CWE-23](https://cwe.mitre.org/data/definitions/23.html). + * Common Weakness Enumeration: [CWE-36](https://cwe.mitre.org/data/definitions/36.html). + * Common Weakness Enumeration: [CWE-73](https://cwe.mitre.org/data/definitions/73.html). + * Common Weakness Enumeration: [CWE-99](https://cwe.mitre.org/data/definitions/99.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Security/CWE-022/ZipSlip.ql + relativeBqrsPath: codeql/javascript-queries/Security/CWE-022/ZipSlip.bqrs + metadata: + name: Arbitrary file access during archive extraction ("Zip Slip") + description: |- + Extracting files from a malicious ZIP file, or similar type of archive, without + validating that the destination file path is within the destination directory + can allow an attacker to unexpectedly gain access to resources. + kind: path-problem + id: js/zipslip + problem.severity: error + security-severity: 7.5 + precision: high + tags: |- + security + external/cwe/cwe-022 + queryHelp: | + # Arbitrary file access during archive extraction ("Zip Slip") + Extracting files from a malicious zip file, or similar type of archive, is at risk of directory traversal attacks if filenames from the archive are not properly validated. archive paths. + + Zip archives contain archive entries representing each file in the archive. These entries include a file path for the entry, but these file paths are not restricted and may contain unexpected special elements such as the directory traversal element (`..`). If these file paths are used to create a filesystem path, then a file operation may happen in an unexpected location. This can result in sensitive information being revealed or deleted, or an attacker being able to influence behavior by modifying unexpected files. + + For example, if a zip file contains a file entry `..\sneaky-file`, and the zip file is extracted to the directory `c:\output`, then naively combining the paths would result in an output file path of `c:\output\..\sneaky-file`, which would cause the file to be written to `c:\sneaky-file`. + + + ## Recommendation + Ensure that output paths constructed from zip archive entries are validated to prevent writing files to unexpected locations. + + The recommended way of writing an output file from a zip archive entry is to check that `".."` does not occur in the path. + + + ## Example + In this example an archive is extracted without validating file paths. If `archive.zip` contained relative paths (for instance, if it were created by something like `zip archive.zip ../file.txt`) then executing this code could write to locations outside the destination directory. + + + ```javascript + const fs = require('fs'); + const unzip = require('unzip'); + + fs.createReadStream('archive.zip') + .pipe(unzip.Parse()) + .on('entry', entry => { + const fileName = entry.path; + // BAD: This could write any file on the filesystem. + entry.pipe(fs.createWriteStream(fileName)); + }); + + ``` + To fix this vulnerability, we need to check that the path does not contain any `".."` elements in it. + + + ```javascript + const fs = require('fs'); + const unzip = require('unzip'); + + fs.createReadStream('archive.zip') + .pipe(unzip.Parse()) + .on('entry', entry => { + const fileName = entry.path; + // GOOD: ensures the path is safe to write to. + if (fileName.indexOf('..') == -1) { + entry.pipe(fs.createWriteStream(fileName)); + } + else { + console.log('skipping bad path', fileName); + } + }); + + ``` + + ## References + * Snyk: [Zip Slip Vulnerability](https://snyk.io/research/zip-slip-vulnerability). + * OWASP: [Path Traversal](https://owasp.org/www-community/attacks/Path_Traversal). + * Common Weakness Enumeration: [CWE-22](https://cwe.mitre.org/data/definitions/22.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Security/CWE-073/TemplateObjectInjection.ql + relativeBqrsPath: codeql/javascript-queries/Security/CWE-073/TemplateObjectInjection.bqrs + metadata: + name: Template Object Injection + description: Instantiating a template using a user-controlled object is vulnerable + to local file read and potential remote code execution. + kind: path-problem + problem.severity: error + security-severity: 9.3 + precision: high + id: js/template-object-injection + tags: |- + security + external/cwe/cwe-073 + external/cwe/cwe-094 + queryHelp: | + # Template Object Injection + Directly using user-controlled objects as arguments to template engines might allow an attacker to do local file reads or even remote code execution. + + + ## Recommendation + Avoid using user-controlled objects as arguments to a template engine. Instead, construct the object explicitly with the specific properties needed by the template. + + + ## Example + In the example below a server uses the user-controlled `profile` object to render the `index` template. + + + ```javascript + var app = require('express')(); + app.set('view engine', 'hbs'); + + app.post('/', function (req, res, next) { + var profile = req.body.profile; + res.render('index', profile); + }); + ``` + However, if an attacker adds a `layout` property to the `profile` object then the server will load the file specified by the `layout` property, thereby allowing an attacker to do local file reads. + + The fix is to have the server construct the object, and only add the properties that are needed by the template. + + + ```javascript + var app = require('express')(); + app.set('view engine', 'hbs'); + + app.post('/', function (req, res, next) { + var profile = req.body.profile; + res.render('index', { + name: profile.name, + location: profile.location + }); + }); + ``` + + ## References + * blog.shoebpatel.com: [The Secret Parameter, LFR, and Potential RCE in NodeJS Apps](https://blog.shoebpatel.com/2021/01/23/The-Secret-Parameter-LFR-and-Potential-RCE-in-NodeJS-Apps/). + * cwe.mitre.org: [CWE-73: External Control of File Name or Path](https://cwe.mitre.org/data/definitions/73.html) + * Common Weakness Enumeration: [CWE-73](https://cwe.mitre.org/data/definitions/73.html). + * Common Weakness Enumeration: [CWE-94](https://cwe.mitre.org/data/definitions/94.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Security/CWE-078/CommandInjection.ql + relativeBqrsPath: codeql/javascript-queries/Security/CWE-078/CommandInjection.bqrs + metadata: + name: Uncontrolled command line + description: |- + Using externally controlled strings in a command line may allow a malicious + user to change the meaning of the command. + kind: path-problem + problem.severity: error + security-severity: 9.8 + precision: high + id: js/command-line-injection + tags: |- + correctness + security + external/cwe/cwe-078 + external/cwe/cwe-088 + queryHelp: | + # Uncontrolled command line + Code that passes untrusted user input directly to `child_process.exec` or similar APIs that execute shell commands allows the user to execute malicious code. + + + ## Recommendation + If possible, use APIs that don't run shell commands and that accept command arguments as an array of strings rather than a single concatenated string. This is both safer and more portable. + + If given arguments as a single string, avoid simply splitting the string on whitespace. Arguments may contain quoted whitespace, causing them to split into multiple arguments. Use a library like `shell-quote` to parse the string into an array of arguments instead. + + If this approach is not viable, then add code to verify that the user input string is safe before using it. + + + ## Example + The following example shows code that extracts a filename from an HTTP query parameter that may contain untrusted data, and then embeds it into a shell command to count its lines without examining it first: + + + ```javascript + var cp = require("child_process"), + http = require('http'), + url = require('url'); + + var server = http.createServer(function(req, res) { + let file = url.parse(req.url, true).query.path; + + cp.execSync(`wc -l ${file}`); // BAD + }); + + ``` + A malicious user can take advantage of this code by executing arbitrary shell commands. For example, by providing a filename like `foo.txt; rm -rf .`, the user can first count the lines in `foo.txt` and subsequently delete all files in the current directory. + + To avoid this catastrophic behavior, use an API such as `child_process.execFileSync` that does not spawn a shell by default: + + + ```javascript + var cp = require("child_process"), + http = require('http'), + url = require('url'); + + var server = http.createServer(function(req, res) { + let file = url.parse(req.url, true).query.path; + + cp.execFileSync('wc', ['-l', file]); // GOOD + }); + + ``` + If you want to allow the user to specify other options to `wc`, you can use a library like `shell-quote` to parse the user input into an array of arguments without risking command injection: + + + ```javascript + var cp = require("child_process"), + http = require('http'), + url = require('url'), + shellQuote = require('shell-quote'); + + var server = http.createServer(function(req, res) { + let options = url.parse(req.url, true).query.options; + + cp.execFileSync('wc', shellQuote.parse(options)); // GOOD + }); + + ``` + Alternatively, the original example can be made safe by checking the filename against an allowlist of safe characters before using it: + + + ```javascript + var cp = require("child_process"), + http = require('http'), + url = require('url'); + + var server = http.createServer(function(req, res) { + let file = url.parse(req.url, true).query.path; + + // only allow safe characters in file name + if (file.match(/^[\w\.\-\/]+$/)) { + cp.execSync(`wc -l ${file}`); // GOOD + } + }); + + ``` + + ## References + * OWASP: [Command Injection](https://www.owasp.org/index.php/Command_Injection). + * npm: [shell-quote](https://www.npmjs.com/package/shell-quote). + * Common Weakness Enumeration: [CWE-78](https://cwe.mitre.org/data/definitions/78.html). + * Common Weakness Enumeration: [CWE-88](https://cwe.mitre.org/data/definitions/88.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Security/CWE-078/SecondOrderCommandInjection.ql + relativeBqrsPath: codeql/javascript-queries/Security/CWE-078/SecondOrderCommandInjection.bqrs + metadata: + name: Second order command injection + description: |- + Using user-controlled data as arguments to some commands, such as git clone, + can allow arbitrary commands to be executed. + kind: path-problem + problem.severity: error + security-severity: 7.0 + precision: high + id: js/second-order-command-line-injection + tags: |- + correctness + security + external/cwe/cwe-078 + external/cwe/cwe-088 + queryHelp: | + # Second order command injection + Some shell commands, like `git ls-remote`, can execute arbitrary commands if a user provides a malicious URL that starts with `--upload-pack`. This can be used to execute arbitrary code on the server. + + + ## Recommendation + Sanitize user input before passing it to the shell command. For example, ensure that URLs are valid and do not contain malicious commands. + + + ## Example + The following example shows code that executes `git ls-remote` on a URL that can be controlled by a malicious user. + + + ```javascript + const express = require("express"); + const app = express(); + + const cp = require("child_process"); + + app.get("/ls-remote", (req, res) => { + const remote = req.query.remote; + cp.execFile("git", ["ls-remote", remote]); // NOT OK + }); + + ``` + The problem has been fixed in the snippet below, where the URL is validated before being passed to the shell command. + + + ```javascript + const express = require("express"); + const app = express(); + + const cp = require("child_process"); + + app.get("/ls-remote", (req, res) => { + const remote = req.query.remote; + if (!(remote.startsWith("git@") || remote.startsWith("https://"))) { + throw new Error("Invalid remote: " + remote); + } + cp.execFile("git", ["ls-remote", remote]); // OK + }); + + ``` + + ## References + * Max Justicz: [Hacking 3,000,000 apps at once through CocoaPods](https://justi.cz/security/2021/04/20/cocoapods-rce.html). + * Git: [Git - git-ls-remote Documentation](https://git-scm.com/docs/git-ls-remote/2.22.0#Documentation/git-ls-remote.txt---upload-packltexecgt). + * OWASP: [Command Injection](https://www.owasp.org/index.php/Command_Injection). + * Common Weakness Enumeration: [CWE-78](https://cwe.mitre.org/data/definitions/78.html). + * Common Weakness Enumeration: [CWE-88](https://cwe.mitre.org/data/definitions/88.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Security/CWE-078/ShellCommandInjectionFromEnvironment.ql + relativeBqrsPath: codeql/javascript-queries/Security/CWE-078/ShellCommandInjectionFromEnvironment.bqrs + metadata: + name: Shell command built from environment values + description: |- + Building a shell command string with values from the enclosing + environment may cause subtle bugs or vulnerabilities. + kind: path-problem + problem.severity: warning + security-severity: 6.3 + precision: high + id: js/shell-command-injection-from-environment + tags: |- + correctness + security + external/cwe/cwe-078 + external/cwe/cwe-088 + queryHelp: | + # Shell command built from environment values + Dynamically constructing a shell command with values from the local environment, such as file paths, may inadvertently change the meaning of the shell command. Such changes can occur when an environment value contains characters that the shell interprets in a special way, for instance quotes and spaces. This can result in the shell command misbehaving, or even allowing a malicious user to execute arbitrary commands on the system. + + + ## Recommendation + If possible, use hard-coded string literals to specify the shell command to run, and provide the dynamic arguments to the shell command separately to avoid interpretation by the shell. + + Alternatively, if the shell command must be constructed dynamically, then add code to ensure that special characters in environment values do not alter the shell command unexpectedly. + + + ## Example + The following example shows a dynamically constructed shell command that recursively removes a temporary directory that is located next to the currently executing JavaScript file. Such utilities are often found in custom build scripts. + + + ```javascript + var cp = require("child_process"), + path = require("path"); + function cleanupTemp() { + let cmd = "rm -rf " + path.join(__dirname, "temp"); + cp.execSync(cmd); // BAD + } + + ``` + The shell command will, however, fail to work as intended if the absolute path of the script's directory contains spaces. In that case, the shell command will interpret the absolute path as multiple paths, instead of a single path. + + For instance, if the absolute path of the temporary directory is `/home/username/important project/temp`, then the shell command will recursively delete `/home/username/important` and `project/temp`, where the latter path gets resolved relative to the working directory of the JavaScript process. + + Even worse, although less likely, a malicious user could provide the path `/home/username/; cat /etc/passwd #/important project/temp` in order to execute the command `cat /etc/passwd`. + + To avoid such potentially catastrophic behaviors, provide the directory as an argument that does not get interpreted by a shell: + + + ```javascript + var cp = require("child_process"), + path = require("path"); + function cleanupTemp() { + let cmd = "rm", + args = ["-rf", path.join(__dirname, "temp")]; + cp.execFileSync(cmd, args); // GOOD + } + + ``` + + ## References + * OWASP: [Command Injection](https://www.owasp.org/index.php/Command_Injection). + * Common Weakness Enumeration: [CWE-78](https://cwe.mitre.org/data/definitions/78.html). + * Common Weakness Enumeration: [CWE-88](https://cwe.mitre.org/data/definitions/88.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Security/CWE-078/UnsafeShellCommandConstruction.ql + relativeBqrsPath: codeql/javascript-queries/Security/CWE-078/UnsafeShellCommandConstruction.bqrs + metadata: + name: Unsafe shell command constructed from library input + description: |- + Using externally controlled strings in a command line may allow a malicious + user to change the meaning of the command. + kind: path-problem + problem.severity: error + security-severity: 6.3 + precision: high + id: js/shell-command-constructed-from-input + tags: |- + correctness + security + external/cwe/cwe-078 + external/cwe/cwe-088 + queryHelp: | + # Unsafe shell command constructed from library input + Dynamically constructing a shell command with inputs from exported functions may inadvertently change the meaning of the shell command. Clients using the exported function may use inputs containing characters that the shell interprets in a special way, for instance quotes and spaces. This can result in the shell command misbehaving, or even allowing a malicious user to execute arbitrary commands on the system. + + + ## Recommendation + If possible, provide the dynamic arguments to the shell as an array using a safe API such as `child_process.execFile` to avoid interpretation by the shell. + + If given arguments as a single string, avoid simply splitting the string on whitespace. Arguments may contain quoted whitespace, causing them to split into multiple arguments. Use a library like `shell-quote` to parse the string into an array of arguments instead. + + Alternatively, if the command must be interpreted by a shell (for example because it includes I/O redirections), you can use `shell-quote` to escape any special characters in the input before embedding it in the command. + + + ## Example + The following example shows a dynamically constructed shell command that downloads a file from a remote URL. + + + ```javascript + var cp = require("child_process"); + + module.exports = function download(path, callback) { + cp.exec("wget " + path, callback); + } + + ``` + The shell command will, however, fail to work as intended if the input contains spaces or other special characters interpreted in a special way by the shell. + + Even worse, a client might pass in user-controlled data, not knowing that the input is interpreted as a shell command. This could allow a malicious user to provide the input `http://example.org; cat /etc/passwd` in order to execute the command `cat /etc/passwd`. + + To avoid such potentially catastrophic behaviors, provide the inputs from exported functions as an argument that does not get interpreted by a shell: + + + ```javascript + var cp = require("child_process"); + + module.exports = function download(path, callback) { + cp.execFile("wget", [path], callback); + } + + ``` + As another example, consider the following code which is similar to the preceding example, but pipes the output of `wget` into `wc -l` to count the number of lines in the downloaded file. + + + ```javascript + var cp = require("child_process"); + + module.exports = function download(path, callback) { + cp.exec("wget " + path + " | wc -l", callback); + }; + + ``` + In this case, using `child_process.execFile` is not an option because the shell is needed to interpret the pipe operator. Instead, you can use `shell-quote` to escape the input before embedding it in the command: + + + ```javascript + var cp = require("child_process"); + + module.exports = function download(path, callback) { + cp.exec("wget " + shellQuote.quote([path]) + " | wc -l", callback); + }; + + ``` + + ## References + * OWASP: [Command Injection](https://www.owasp.org/index.php/Command_Injection). + * npm: [shell-quote](https://www.npmjs.com/package/shell-quote). + * Common Weakness Enumeration: [CWE-78](https://cwe.mitre.org/data/definitions/78.html). + * Common Weakness Enumeration: [CWE-88](https://cwe.mitre.org/data/definitions/88.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Security/CWE-078/UselessUseOfCat.ql + relativeBqrsPath: codeql/javascript-queries/Security/CWE-078/UselessUseOfCat.bqrs + metadata: + name: Unnecessary use of `cat` process + description: "Using the `cat` process to read a file is unnecessarily complex,\ + \ inefficient, unportable, and can lead to subtle bugs, or even security vulnerabilities." + kind: problem + problem.severity: error + security-severity: 6.3 + precision: high + id: js/unnecessary-use-of-cat + tags: |- + correctness + security + maintainability + external/cwe/cwe-078 + queryHelp: | + # Unnecessary use of `cat` process + Using the unix command `cat` only to read a file is an unnecessarily complex way to achieve something that can be done in a simpler and safer manner using the Node.js `fs.readFile` API. + + The use of `cat` for simple file reads leads to code that is unportable, inefficient, complex, and can lead to subtle bugs or even security vulnerabilities. + + + ## Recommendation + Use `fs.readFile` or `fs.readFileSync` to read files from the file system. + + + ## Example + The following example shows code that reads a file using `cat`: + + + ```javascript + var child_process = require('child_process'); + + module.exports = function (name) { + return child_process.execSync("cat " + name).toString(); + }; + + ``` + The code in the example will break if the input `name` contains special characters (including space). Additionally, it does not work on Windows and if the input is user-controlled, a command injection attack can happen. + + The `fs.readFile` API should be used to avoid these potential issues: + + + ```javascript + var fs = require('fs'); + + module.exports = function (name) { + return fs.readFileSync(name).toString(); + }; + + ``` + + ## References + * OWASP: [Command Injection](https://www.owasp.org/index.php/Command_Injection). + * Node.js: [File System API](https://nodejs.org/api/fs.html). + * [The Useless Use of Cat Award](http://porkmail.org/era/unix/award.html#cat). + * Common Weakness Enumeration: [CWE-78](https://cwe.mitre.org/data/definitions/78.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Security/CWE-079/ExceptionXss.ql + relativeBqrsPath: codeql/javascript-queries/Security/CWE-079/ExceptionXss.bqrs + metadata: + name: Exception text reinterpreted as HTML + description: |- + Reinterpreting text from an exception as HTML + can lead to a cross-site scripting vulnerability. + kind: path-problem + problem.severity: warning + security-severity: 6.1 + precision: high + id: js/xss-through-exception + tags: |- + security + external/cwe/cwe-079 + external/cwe/cwe-116 + queryHelp: "# Exception text reinterpreted as HTML\nDirectly writing error messages\ + \ to a webpage without sanitization allows for a cross-site scripting vulnerability\ + \ if parts of the error message can be influenced by a user.\n\n\n## Recommendation\n\ + To guard against cross-site scripting, consider using contextual output encoding/escaping\ + \ before writing user input to the page, or one of the other solutions that are\ + \ mentioned in the references.\n\n\n## Example\nThe following example shows an\ + \ exception being written directly to the document, and this exception can potentially\ + \ be influenced by the page URL, leaving the website vulnerable to cross-site\ + \ scripting.\n\n\n```javascript\nfunction setLanguageOptions() {\n var href\ + \ = document.location.href,\n deflt = href.substring(href.indexOf(\"default=\"\ + )+8);\n \n try {\n var parsed = unknownParseFunction(deflt); \n \ + \ } catch(e) {\n document.write(\"Had an error: \" + e + \".\");\n \ + \ }\n}\n\n```\n\n## Example\nThis second example shows an input being validated\ + \ using the JSON schema validator `ajv`, and in case of an error, the error message\ + \ is sent directly back in the response.\n\n\n```javascript\nimport express from\ + \ 'express';\nimport Ajv from 'ajv';\n\nlet app = express();\nlet ajv = new Ajv();\n\ + \najv.addSchema({type: 'object', additionalProperties: {type: 'number'}}, 'pollData');\n\ + \napp.post('/polldata', (req, res) => {\n if (!ajv.validate('pollData', req.body))\ + \ {\n res.send(ajv.errorsText());\n }\n});\n\n```\nThis is unsafe, because\ + \ the error message can contain parts of the input. For example, the input `{'': 'foo'}` will generate the error `data/\ + \ should be number`, causing reflected XSS.\n\n\n## References\n* OWASP: [DOM\ + \ based XSS Prevention Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/DOM_based_XSS_Prevention_Cheat_Sheet.html).\n\ + * OWASP: [XSS (Cross Site Scripting) Prevention Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html).\n\ + * OWASP [DOM Based XSS](https://www.owasp.org/index.php/DOM_Based_XSS).\n* OWASP\ + \ [Types of Cross-Site Scripting](https://www.owasp.org/index.php/Types_of_Cross-Site_Scripting).\n\ + * Wikipedia: [Cross-site scripting](http://en.wikipedia.org/wiki/Cross-site_scripting).\n\ + * Common Weakness Enumeration: [CWE-79](https://cwe.mitre.org/data/definitions/79.html).\n\ + * Common Weakness Enumeration: [CWE-116](https://cwe.mitre.org/data/definitions/116.html).\n" + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Security/CWE-079/ReflectedXss.ql + relativeBqrsPath: codeql/javascript-queries/Security/CWE-079/ReflectedXss.bqrs + metadata: + name: Reflected cross-site scripting + description: |- + Writing user input directly to an HTTP response allows for + a cross-site scripting vulnerability. + kind: path-problem + problem.severity: error + security-severity: 7.8 + precision: high + id: js/reflected-xss + tags: |- + security + external/cwe/cwe-079 + external/cwe/cwe-116 + queryHelp: | + # Reflected cross-site scripting + Directly writing user input (for example, an HTTP request parameter) to an HTTP response without properly sanitizing the input first, allows for a cross-site scripting vulnerability. + + This kind of vulnerability is also called *reflected* cross-site scripting, to distinguish it from other types of cross-site scripting. + + + ## Recommendation + To guard against cross-site scripting, consider using contextual output encoding/escaping before writing user input to the response, or one of the other solutions that are mentioned in the references. + + + ## Example + The following example code writes part of an HTTP request (which is controlled by the user) directly to the response. This leaves the website vulnerable to cross-site scripting. + + + ```javascript + var app = require('express')(); + + app.get('/user/:id', function(req, res) { + if (!isValidUserId(req.params.id)) + // BAD: a request parameter is incorporated without validation into the response + res.send("Unknown user: " + req.params.id); + else + // TODO: do something exciting + ; + }); + + ``` + Sanitizing the user-controlled data prevents the vulnerability: + + + ```javascript + var escape = require('escape-html'); + + var app = require('express')(); + + app.get('/user/:id', function(req, res) { + if (!isValidUserId(req.params.id)) + // GOOD: request parameter is sanitized before incorporating it into the response + res.send("Unknown user: " + escape(req.params.id)); + else + // TODO: do something exciting + ; + }); + + ``` + + ## References + * OWASP: [XSS (Cross Site Scripting) Prevention Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html). + * OWASP [Types of Cross-Site Scripting](https://www.owasp.org/index.php/Types_of_Cross-Site_Scripting). + * Wikipedia: [Cross-site scripting](http://en.wikipedia.org/wiki/Cross-site_scripting). + * Common Weakness Enumeration: [CWE-79](https://cwe.mitre.org/data/definitions/79.html). + * Common Weakness Enumeration: [CWE-116](https://cwe.mitre.org/data/definitions/116.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Security/CWE-079/StoredXss.ql + relativeBqrsPath: codeql/javascript-queries/Security/CWE-079/StoredXss.bqrs + metadata: + name: Stored cross-site scripting + description: |- + Using uncontrolled stored values in HTML allows for + a stored cross-site scripting vulnerability. + kind: path-problem + problem.severity: error + security-severity: 7.8 + precision: high + id: js/stored-xss + tags: |- + security + external/cwe/cwe-079 + external/cwe/cwe-116 + queryHelp: | + # Stored cross-site scripting + Directly using uncontrolled stored value (for example, file names) to create HTML content without properly sanitizing the input first, allows for a cross-site scripting vulnerability. + + This kind of vulnerability is also called *stored* cross-site scripting, to distinguish it from other types of cross-site scripting. + + + ## Recommendation + To guard against cross-site scripting, consider using contextual output encoding/escaping before using uncontrolled stored values to create HTML content, or one of the other solutions that are mentioned in the references. + + + ## Example + The following example code writes file names directly to a HTTP response. This leaves the website vulnerable to cross-site scripting, if an attacker can choose the file names on the disk. + + + ```javascript + var express = require('express'), + fs = require('fs'); + + express().get('/list-directory', function(req, res) { + fs.readdir('/public', function (error, fileNames) { + var list = '
    '; + fileNames.forEach(fileName => { + // BAD: `fileName` can contain HTML elements + list += '
  • ' + fileName + '
  • '; + }); + list += '
' + res.send(list); + }); + }); + + ``` + Sanitizing the file names prevents the vulnerability: + + + ```javascript + var express = require('express'), + fs = require('fs'), + escape = require('escape-html'); + + express().get('/list-directory', function(req, res) { + fs.readdir('/public', function (error, fileNames) { + var list = '
    '; + fileNames.forEach(fileName => { + // GOOD: escaped `fileName` can not contain HTML elements + list += '
  • ' + escape(fileName) + '
  • '; + }); + list += '
' + res.send(list); + }); + }); + + ``` + + ## References + * OWASP: [XSS (Cross Site Scripting) Prevention Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html). + * OWASP [Types of Cross-Site Scripting](https://www.owasp.org/index.php/Types_of_Cross-Site_Scripting). + * Wikipedia: [Cross-site scripting](http://en.wikipedia.org/wiki/Cross-site_scripting). + * Common Weakness Enumeration: [CWE-79](https://cwe.mitre.org/data/definitions/79.html). + * Common Weakness Enumeration: [CWE-116](https://cwe.mitre.org/data/definitions/116.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Security/CWE-079/UnsafeHtmlConstruction.ql + relativeBqrsPath: codeql/javascript-queries/Security/CWE-079/UnsafeHtmlConstruction.bqrs + metadata: + name: Unsafe HTML constructed from library input + description: |- + Using externally controlled strings to construct HTML might allow a malicious + user to perform a cross-site scripting attack. + kind: path-problem + problem.severity: error + security-severity: 6.1 + precision: high + id: js/html-constructed-from-input + tags: |- + security + external/cwe/cwe-079 + external/cwe/cwe-116 + queryHelp: | + # Unsafe HTML constructed from library input + When a library function dynamically constructs HTML in a potentially unsafe way, then it's important to document to clients of the library that the function should only be used with trusted inputs. If the function is not documented as being potentially unsafe, then a client may inadvertently use inputs containing unsafe HTML fragments, and thereby leave the client vulnerable to cross-site scripting attacks. + + + ## Recommendation + Document all library functions that can lead to cross-site scripting attacks, and guard against unsafe inputs where dynamic HTML construction is not intended. + + + ## Example + The following example has a library function that renders a boldface name by writing to the `innerHTML` property of an element. + + + ```javascript + module.exports = function showBoldName(name) { + document.getElementById('name').innerHTML = "" + name + ""; + } + + ``` + This library function, however, does not escape unsafe HTML, and a client that calls the function with user-supplied input may be vulnerable to cross-site scripting attacks. + + The library could either document that this function should not be used with unsafe inputs, or use safe APIs such as `innerText`. + + + ```javascript + module.exports = function showBoldName(name) { + const bold = document.createElement('b'); + bold.innerText = name; + document.getElementById('name').appendChild(bold); + } + + ``` + Alternatively, an HTML sanitizer can be used to remove unsafe content. + + + ```javascript + + const striptags = require('striptags'); + module.exports = function showBoldName(name) { + document.getElementById('name').innerHTML = "" + striptags(name) + ""; + } + + ``` + + ## References + * OWASP: [DOM based XSS Prevention Cheat Sheet](https://www.owasp.org/index.php/DOM_based_XSS_Prevention_Cheat_Sheet). + * OWASP: [XSS (Cross Site Scripting) Prevention Cheat Sheet](https://www.owasp.org/index.php/XSS_%28Cross_Site_Scripting%29_Prevention_Cheat_Sheet). + * OWASP [DOM Based XSS](https://www.owasp.org/index.php/DOM_Based_XSS). + * OWASP [Types of Cross-Site Scripting](https://www.owasp.org/index.php/Types_of_Cross-Site_Scripting). + * Wikipedia: [Cross-site scripting](http://en.wikipedia.org/wiki/Cross-site_scripting). + * Common Weakness Enumeration: [CWE-79](https://cwe.mitre.org/data/definitions/79.html). + * Common Weakness Enumeration: [CWE-116](https://cwe.mitre.org/data/definitions/116.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Security/CWE-079/UnsafeJQueryPlugin.ql + relativeBqrsPath: codeql/javascript-queries/Security/CWE-079/UnsafeJQueryPlugin.bqrs + metadata: + name: Unsafe jQuery plugin + description: A jQuery plugin that unintentionally constructs HTML from some of + its options may be unsafe to use for clients. + kind: path-problem + problem.severity: warning + security-severity: 6.1 + precision: high + id: js/unsafe-jquery-plugin + tags: |- + security + external/cwe/cwe-079 + external/cwe/cwe-116 + frameworks/jquery + queryHelp: "# Unsafe jQuery plugin\nLibrary plugins, such as those for the jQuery\ + \ library, are often configurable through options provided by the clients of the\ + \ plugin. Clients, however, do not know the implementation details of the plugin,\ + \ so it is important to document the capabilities of each option. The documentation\ + \ for the plugin options that the client is responsible for sanitizing is of particular\ + \ importance. Otherwise, the plugin may write user input (for example, a URL query\ + \ parameter) to a web page without properly sanitizing it first, which allows\ + \ for a cross-site scripting vulnerability in the client application through dynamic\ + \ HTML construction.\n\n\n## Recommendation\nDocument all options that can lead\ + \ to cross-site scripting attacks, and guard against unsafe inputs where dynamic\ + \ HTML construction is not intended.\n\n\n## Example\nThe following example shows\ + \ a jQuery plugin that selects a DOM element, and copies its text content to another\ + \ DOM element. The selection is performed by using the plugin option `sourceSelector`\ + \ as a CSS selector.\n\n\n```javascript\njQuery.fn.copyText = function(options)\ + \ {\n\t// BAD may evaluate `options.sourceSelector` as HTML\n\tvar source = jQuery(options.sourceSelector),\n\ + \t text = source.text();\n\tjQuery(this).text(text);\n}\n\n```\nThis is, however,\ + \ not a safe plugin, since the call to `jQuery` interprets `sourceSelector` as\ + \ HTML if it is a string that starts with `<`.\n\nInstead of documenting that\ + \ the client is responsible for sanitizing `sourceSelector`, the plugin can use\ + \ `jQuery.find` to always interpret `sourceSelector` as a CSS selector:\n\n\n\ + ```javascript\njQuery.fn.copyText = function(options) {\n\t// GOOD may not evaluate\ + \ `options.sourceSelector` as HTML\n\tvar source = jQuery.find(options.sourceSelector),\n\ + \t text = source.text();\n\tjQuery(this).text(text);\n}\n\n```\n\n## References\n\ + * OWASP: [DOM based XSS Prevention Cheat Sheet](https://www.owasp.org/index.php/DOM_based_XSS_Prevention_Cheat_Sheet).\n\ + * OWASP: [XSS (Cross Site Scripting) Prevention Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html).\n\ + * OWASP [DOM Based XSS](https://www.owasp.org/index.php/DOM_Based_XSS).\n* OWASP\ + \ [Types of Cross-Site Scripting](https://www.owasp.org/index.php/Types_of_Cross-Site_Scripting).\n\ + * Wikipedia: [Cross-site scripting](http://en.wikipedia.org/wiki/Cross-site_scripting).\n\ + * jQuery: [Plugin creation](https://learn.jquery.com/plugins/basic-plugin-creation/).\n\ + * Bootstrap: [XSS vulnerable bootstrap plugins](https://github.com/twbs/bootstrap/pull/27047).\n\ + * Common Weakness Enumeration: [CWE-79](https://cwe.mitre.org/data/definitions/79.html).\n\ + * Common Weakness Enumeration: [CWE-116](https://cwe.mitre.org/data/definitions/116.html).\n" + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Security/CWE-079/Xss.ql + relativeBqrsPath: codeql/javascript-queries/Security/CWE-079/Xss.bqrs + metadata: + name: Client-side cross-site scripting + description: |- + Writing user input directly to the DOM allows for + a cross-site scripting vulnerability. + kind: path-problem + problem.severity: error + security-severity: 7.8 + precision: high + id: js/xss + tags: |- + security + external/cwe/cwe-079 + external/cwe/cwe-116 + queryHelp: | + # Client-side cross-site scripting + Directly writing user input (for example, a URL query parameter) to a webpage without properly sanitizing the input first, allows for a cross-site scripting vulnerability. + + This kind of vulnerability is also called *DOM-based* cross-site scripting, to distinguish it from other types of cross-site scripting. + + + ## Recommendation + To guard against cross-site scripting, consider using contextual output encoding/escaping before writing user input to the page, or one of the other solutions that are mentioned in the references. + + + ## Example + The following example shows part of the page URL being written directly to the document, leaving the website vulnerable to cross-site scripting. + + + ```javascript + function setLanguageOptions() { + var href = document.location.href, + deflt = href.substring(href.indexOf("default=")+8); + document.write(""); + document.write(""); + } + + ``` + + ## References + * OWASP: [DOM based XSS Prevention Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/DOM_based_XSS_Prevention_Cheat_Sheet.html). + * OWASP: [XSS (Cross Site Scripting) Prevention Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html). + * OWASP [DOM Based XSS](https://www.owasp.org/index.php/DOM_Based_XSS). + * OWASP [Types of Cross-Site Scripting](https://www.owasp.org/index.php/Types_of_Cross-Site_Scripting). + * Wikipedia: [Cross-site scripting](http://en.wikipedia.org/wiki/Cross-site_scripting). + * Common Weakness Enumeration: [CWE-79](https://cwe.mitre.org/data/definitions/79.html). + * Common Weakness Enumeration: [CWE-116](https://cwe.mitre.org/data/definitions/116.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Security/CWE-079/XssThroughDom.ql + relativeBqrsPath: codeql/javascript-queries/Security/CWE-079/XssThroughDom.bqrs + metadata: + name: DOM text reinterpreted as HTML + description: |- + Reinterpreting text from the DOM as HTML + can lead to a cross-site scripting vulnerability. + kind: path-problem + problem.severity: warning + security-severity: 7.8 + precision: high + id: js/xss-through-dom + tags: |- + security + external/cwe/cwe-079 + external/cwe/cwe-116 + queryHelp: "# DOM text reinterpreted as HTML\nExtracting text from a DOM node and\ + \ interpreting it as HTML can lead to a cross-site scripting vulnerability.\n\n\ + A webpage with this vulnerability reads text from the DOM, and afterwards adds\ + \ the text as HTML to the DOM. Using text from the DOM as HTML effectively unescapes\ + \ the text, and thereby invalidates any escaping done on the text. If an attacker\ + \ is able to control the safe sanitized text, then this vulnerability can be exploited\ + \ to perform a cross-site scripting attack.\n\n\n## Recommendation\nTo guard against\ + \ cross-site scripting, consider using contextual output encoding/escaping before\ + \ writing text to the page, or one of the other solutions that are mentioned in\ + \ the References section below.\n\n\n## Example\nThe following example shows a\ + \ webpage using a `data-target` attribute to select and manipulate a DOM element\ + \ using the JQuery library. In the example, the `data-target` attribute is read\ + \ into the `target` variable, and the `$` function is then supposed to use the\ + \ `target` variable as a CSS selector to determine which element should be manipulated.\n\ + \n\n```javascript\n$(\"button\").click(function () {\n var target = $(this).attr(\"\ + data-target\");\n $(target).hide();\n});\n\n```\nHowever, if an attacker can\ + \ control the `data-target` attribute, then the value of `target` can be used\ + \ to cause the `$` function to execute arbitrary JavaScript.\n\nThe above vulnerability\ + \ can be fixed by using `$.find` instead of `$`. The `$.find` function will only\ + \ interpret `target` as a CSS selector and never as HTML, thereby preventing an\ + \ XSS attack.\n\n\n```javascript\n$(\"button\").click(function () {\n var target\ + \ = $(this).attr(\"data-target\");\n\t$.find(target).hide();\n});\n\n```\n\n##\ + \ References\n* OWASP: [DOM based XSS Prevention Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/DOM_based_XSS_Prevention_Cheat_Sheet.html).\n\ + * OWASP: [XSS (Cross Site Scripting) Prevention Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html).\n\ + * OWASP [DOM Based XSS](https://owasp.org/www-community/attacks/DOM_Based_XSS).\n\ + * OWASP [Types of Cross-Site Scripting](https://owasp.org/www-community/Types_of_Cross-Site_Scripting).\n\ + * Wikipedia: [Cross-site scripting](http://en.wikipedia.org/wiki/Cross-site_scripting).\n\ + * Common Weakness Enumeration: [CWE-79](https://cwe.mitre.org/data/definitions/79.html).\n\ + * Common Weakness Enumeration: [CWE-116](https://cwe.mitre.org/data/definitions/116.html).\n" + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Security/CWE-089/SqlInjection.ql + relativeBqrsPath: codeql/javascript-queries/Security/CWE-089/SqlInjection.bqrs + metadata: + name: Database query built from user-controlled sources + description: |- + Building a database query from user-controlled sources is vulnerable to insertion of + malicious code by the user. + kind: path-problem + problem.severity: error + security-severity: 8.8 + precision: high + id: js/sql-injection + tags: |- + security + external/cwe/cwe-089 + external/cwe/cwe-090 + external/cwe/cwe-943 + queryHelp: | + # Database query built from user-controlled sources + If a database query (such as a SQL or NoSQL query) is built from user-provided data without sufficient sanitization, a malicious user may be able to run malicious database queries. + + + ## Recommendation + Most database connector libraries offer a way of safely embedding untrusted data into a query by means of query parameters or prepared statements. + + For NoSQL queries, make use of an operator like MongoDB's `$eq` to ensure that untrusted data is interpreted as a literal value and not as a query object. Alternatively, check that the untrusted data is a literal value and not a query object before using it in a query. + + For SQL queries, use query parameters or prepared statements to embed untrusted data into the query string, or use a library like `sqlstring` to escape untrusted data. + + + ## Example + In the following example, assume the function `handler` is an HTTP request handler in a web application, whose parameter `req` contains the request object. + + The handler constructs an SQL query string from user input and executes it as a database query using the `pg` library. The user input may contain quote characters, so this code is vulnerable to a SQL injection attack. + + + ```javascript + const app = require("express")(), + pg = require("pg"), + pool = new pg.Pool(config); + + app.get("search", function handler(req, res) { + // BAD: the category might have SQL special characters in it + var query1 = + "SELECT ITEM,PRICE FROM PRODUCT WHERE ITEM_CATEGORY='" + + req.params.category + + "' ORDER BY PRICE"; + pool.query(query1, [], function(err, results) { + // process results + }); + }); + + ``` + To fix this vulnerability, we can use query parameters to embed the user input into the query string. In this example, we use the API offered by the `pg` Postgres database connector library, but other libraries offer similar features. This version is immune to injection attacks. + + + ```javascript + const app = require("express")(), + pg = require("pg"), + pool = new pg.Pool(config); + + app.get("search", function handler(req, res) { + // GOOD: use parameters + var query2 = + "SELECT ITEM,PRICE FROM PRODUCT WHERE ITEM_CATEGORY=$1 ORDER BY PRICE"; + pool.query(query2, [req.params.category], function(err, results) { + // process results + }); + }); + + ``` + Alternatively, we can use a library like `sqlstring` to escape the user input before embedding it into the query string: + + + ```javascript + const app = require("express")(), + pg = require("pg"), + SqlString = require('sqlstring'), + pool = new pg.Pool(config); + + app.get("search", function handler(req, res) { + // GOOD: the category is escaped using mysql.escape + var query1 = + "SELECT ITEM,PRICE FROM PRODUCT WHERE ITEM_CATEGORY='" + + SqlString.escape(req.params.category) + + "' ORDER BY PRICE"; + pool.query(query1, [], function(err, results) { + // process results + }); + }); + + ``` + + ## Example + In the following example, an express handler attempts to delete a single document from a MongoDB collection. The document to be deleted is identified by its `_id` field, which is constructed from user input. The user input may contain a query object, so this code is vulnerable to a NoSQL injection attack. + + + ```javascript + const express = require("express"); + const mongoose = require("mongoose"); + const Todo = mongoose.model( + "Todo", + new mongoose.Schema({ text: { type: String } }, { timestamps: true }) + ); + + const app = express(); + app.use(express.json()); + app.use(express.urlencoded({ extended: false })); + + app.delete("/api/delete", async (req, res) => { + let id = req.body.id; + + await Todo.deleteOne({ _id: id }); // BAD: id might be an object with special properties + + res.json({ status: "ok" }); + }); + + ``` + To fix this vulnerability, we can use the `$eq` operator to ensure that the user input is interpreted as a literal value and not as a query object: + + + ```javascript + app.delete("/api/delete", async (req, res) => { + let id = req.body.id; + await Todo.deleteOne({ _id: { $eq: id } }); // GOOD: using $eq operator for the comparison + + res.json({ status: "ok" }); + }); + ``` + Alternatively check that the user input is a literal value and not a query object before using it: + + + ```javascript + app.delete("/api/delete", async (req, res) => { + let id = req.body.id; + if (typeof id !== "string") { + res.status(400).json({ status: "error" }); + return; + } + await Todo.deleteOne({ _id: id }); // GOOD: id is guaranteed to be a string + + res.json({ status: "ok" }); + }); + + ``` + + ## References + * Wikipedia: [SQL injection](https://en.wikipedia.org/wiki/SQL_injection). + * MongoDB: [$eq operator](https://docs.mongodb.com/manual/reference/operator/query/eq). + * OWASP: [NoSQL injection](https://owasp.org/www-pdf-archive/GOD16-NOSQL.pdf). + * Common Weakness Enumeration: [CWE-89](https://cwe.mitre.org/data/definitions/89.html). + * Common Weakness Enumeration: [CWE-90](https://cwe.mitre.org/data/definitions/90.html). + * Common Weakness Enumeration: [CWE-943](https://cwe.mitre.org/data/definitions/943.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Security/CWE-094/CodeInjection.ql + relativeBqrsPath: codeql/javascript-queries/Security/CWE-094/CodeInjection.bqrs + metadata: + name: Code injection + description: |- + Interpreting unsanitized user input as code allows a malicious user arbitrary + code execution. + kind: path-problem + problem.severity: error + security-severity: 9.3 + precision: high + id: js/code-injection + tags: |- + security + external/cwe/cwe-094 + external/cwe/cwe-095 + external/cwe/cwe-079 + external/cwe/cwe-116 + queryHelp: | + # Code injection + Directly evaluating user input (for example, an HTTP request parameter) as code without properly sanitizing the input first allows an attacker arbitrary code execution. This can occur when user input is treated as JavaScript, or passed to a framework which interprets it as an expression to be evaluated. Examples include AngularJS expressions or JQuery selectors. + + + ## Recommendation + Avoid including user input in any expression which may be dynamically evaluated. If user input must be included, use context-specific escaping before including it. It is important that the correct escaping is used for the type of evaluation that will occur. + + + ## Example + The following example shows part of the page URL being evaluated as JavaScript code. This allows an attacker to provide JavaScript within the URL. If an attacker can persuade a user to click on a link to such a URL, the attacker can evaluate arbitrary JavaScript in the browser of the user to, for example, steal cookies containing session information. + + + ```javascript + eval(document.location.href.substring(document.location.href.indexOf("default=")+8)) + + ``` + The following example shows a Pug template being constructed from user input, allowing attackers to run arbitrary code via a payload such as `#{global.process.exit(1)}`. + + + ```javascript + const express = require('express') + var pug = require('pug'); + const app = express() + + app.post('/', (req, res) => { + var input = req.query.username; + var template = ` + doctype + html + head + title= 'Hello world' + body + form(action='/' method='post') + input#name.form-control(type='text) + button.btn.btn-primary(type='submit') Submit + p Hello `+ input + var fn = pug.compile(template); + var html = fn(); + res.send(html); + }) + + ``` + Below is an example of how to use a template engine without any risk of template injection. The user input is included via an interpolation expression `#{username}` whose value is provided as an option to the template, instead of being part of the template string itself: + + + ```javascript + const express = require('express') + var pug = require('pug'); + const app = express() + + app.post('/', (req, res) => { + var input = req.query.username; + var template = ` + doctype + html + head + title= 'Hello world' + body + form(action='/' method='post') + input#name.form-control(type='text) + button.btn.btn-primary(type='submit') Submit + p Hello #{username}` + var fn = pug.compile(template); + var html = fn({username: input}); + res.send(html); + }) + + ``` + + ## References + * OWASP: [Code Injection](https://www.owasp.org/index.php/Code_Injection). + * Wikipedia: [Code Injection](https://en.wikipedia.org/wiki/Code_injection). + * PortSwigger Research Blog: [Server-Side Template Injection](https://portswigger.net/research/server-side-template-injection). + * Common Weakness Enumeration: [CWE-94](https://cwe.mitre.org/data/definitions/94.html). + * Common Weakness Enumeration: [CWE-95](https://cwe.mitre.org/data/definitions/95.html). + * Common Weakness Enumeration: [CWE-79](https://cwe.mitre.org/data/definitions/79.html). + * Common Weakness Enumeration: [CWE-116](https://cwe.mitre.org/data/definitions/116.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Security/CWE-094/ImproperCodeSanitization.ql + relativeBqrsPath: codeql/javascript-queries/Security/CWE-094/ImproperCodeSanitization.bqrs + metadata: + name: Improper code sanitization + description: Escaping code as HTML does not provide protection against code injection. + kind: path-problem + problem.severity: error + security-severity: 6.1 + precision: high + id: js/bad-code-sanitization + tags: |- + security + external/cwe/cwe-094 + external/cwe/cwe-079 + external/cwe/cwe-116 + queryHelp: | + # Improper code sanitization + Using string concatenation to construct JavaScript code can be error-prone, or in the worst case, enable code injection if an input is constructed by an attacker. + + + ## Recommendation + If using `JSON.stringify` or an HTML sanitizer to sanitize a string inserted into JavaScript code, then make sure to perform additional sanitization or remove potentially dangerous characters. + + + ## Example + The example below constructs a function that assigns the number 42 to the property `key` on an object `obj`. However, if `key` contains ``, then the generated code will break out of a `` if inserted into a `` tag. + + + ```javascript + function createObjectWrite() { + const assignment = `obj[${JSON.stringify(key)}]=42`; + return `(function(){${assignment}})` // NOT OK + } + ``` + The issue has been fixed by escaping potentially dangerous characters, as shown below. + + + ```javascript + const charMap = { + '<': '\\u003C', + '>' : '\\u003E', + '/': '\\u002F', + '\\': '\\\\', + '\b': '\\b', + '\f': '\\f', + '\n': '\\n', + '\r': '\\r', + '\t': '\\t', + '\0': '\\0', + '\u2028': '\\u2028', + '\u2029': '\\u2029' + }; + + function escapeUnsafeChars(str) { + return str.replace(/[<>\b\f\n\r\t\0\u2028\u2029]/g, x => charMap[x]) + } + + function createObjectWrite() { + const assignment = `obj[${escapeUnsafeChars(JSON.stringify(key))}]=42`; + return `(function(){${assignment}})` // OK + } + ``` + + ## References + * OWASP: [Code Injection](https://www.owasp.org/index.php/Code_Injection). + * Common Weakness Enumeration: [CWE-94](https://cwe.mitre.org/data/definitions/94.html). + * Common Weakness Enumeration: [CWE-79](https://cwe.mitre.org/data/definitions/79.html). + * Common Weakness Enumeration: [CWE-116](https://cwe.mitre.org/data/definitions/116.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Security/CWE-094/UnsafeDynamicMethodAccess.ql + relativeBqrsPath: codeql/javascript-queries/Security/CWE-094/UnsafeDynamicMethodAccess.bqrs + metadata: + name: Unsafe dynamic method access + description: Invoking user-controlled methods on certain objects can lead to remote + code execution. + kind: path-problem + problem.severity: error + security-severity: 9.3 + precision: high + id: js/unsafe-dynamic-method-access + tags: |- + security + external/cwe/cwe-094 + queryHelp: "# Unsafe dynamic method access\nCalling a user-controlled method on\ + \ certain objects can lead to invocation of unsafe functions, such as `eval` or\ + \ the `Function` constructor. In particular, the global object contains the `eval`\ + \ function, and any function object contains the `Function` constructor in its\ + \ `constructor` property.\n\n\n## Recommendation\nAvoid invoking user-controlled\ + \ methods on the global object or on any function object. Whitelist the permitted\ + \ method names or change the type of object the methods are stored on.\n\n\n##\ + \ Example\nIn the following example, a message from the document's parent frame\ + \ can invoke the `play` or `pause` method. However, it can also invoke `eval`.\ + \ A malicious website could embed the page in an iframe and execute arbitrary\ + \ code by sending a message with the name `eval`.\n\n\n```javascript\n// API methods\n\ + function play(data) {\n // ...\n}\nfunction pause(data) {\n // ...\n}\n\nwindow.addEventListener(\"\ + message\", (ev) => {\n let message = JSON.parse(ev.data);\n\n // Let the\ + \ parent frame call the 'play' or 'pause' function \n window[message.name](message.payload);\n\ + });\n\n```\nInstead of storing the API methods in the global scope, put them in\ + \ an API object or Map. It is also good practice to prevent invocation of inherited\ + \ methods like `toString` and `valueOf`.\n\n\n```javascript\n// API methods\n\ + let api = {\n play: function(data) {\n // ...\n },\n pause: function(data)\ + \ {\n // ...\n }\n};\n\nwindow.addEventListener(\"message\", (ev) => {\n \ + \ let message = JSON.parse(ev.data);\n\n // Let the parent frame call the\ + \ 'play' or 'pause' function\n if (!api.hasOwnProperty(message.name)) {\n \ + \ return;\n }\n api[message.name](message.payload);\n});\n\n```\n\n\ + ## References\n* OWASP: [Code Injection](https://www.owasp.org/index.php/Code_Injection).\n\ + * MDN: [Global functions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects#Function_properties).\n\ + * MDN: [Function constructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function).\n\ + * Common Weakness Enumeration: [CWE-94](https://cwe.mitre.org/data/definitions/94.html).\n" + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Security/CWE-1004/ClientExposedCookie.ql + relativeBqrsPath: codeql/javascript-queries/Security/CWE-1004/ClientExposedCookie.bqrs + metadata: + name: Sensitive server cookie exposed to the client + description: Sensitive cookies set by a server can be read by the client if the + `httpOnly` flag is not set. + kind: problem + problem.severity: warning + security-severity: 5.0 + precision: high + id: js/client-exposed-cookie + tags: |- + security + external/cwe/cwe-1004 + queryHelp: | + # Sensitive server cookie exposed to the client + Authentication cookies stored by a server can be accessed by a client if the `httpOnly` flag is not set. + + An attacker that manages a cross-site scripting (XSS) attack can read the cookie and hijack the session. + + + ## Recommendation + Set the `httpOnly` flag on all cookies that are not needed by the client. + + + ## Example + The following example stores an authentication token in a cookie that can be viewed by the client. + + + ```javascript + const http = require('http'); + + const server = http.createServer((req, res) => { + res.setHeader("Set-Cookie", `authKey=${makeAuthkey()}`); + res.writeHead(200, { 'Content-Type': 'text/html' }); + res.end('

Hello world

'); + }); + ``` + To force the cookie to be transmitted using SSL, set the `secure` attribute on the cookie. + + + ```javascript + const http = require('http'); + + const server = http.createServer((req, res) => { + res.setHeader("Set-Cookie", `authKey=${makeAuthkey()}; secure; httpOnly`); + res.writeHead(200, { 'Content-Type': 'text/html' }); + res.end('

Hello world

'); + }); + ``` + + ## References + * ExpressJS: [Use cookies securely](https://expressjs.com/en/advanced/best-practice-security.html#use-cookies-securely). + * OWASP: [Set cookie flags appropriately](https://cheatsheetseries.owasp.org/cheatsheets/Nodejs_Security_Cheat_Sheet.html#set-cookie-flags-appropriately). + * Mozilla: [Set-Cookie](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie). + * Common Weakness Enumeration: [CWE-1004](https://cwe.mitre.org/data/definitions/1004.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Security/CWE-116/BadTagFilter.ql + relativeBqrsPath: codeql/javascript-queries/Security/CWE-116/BadTagFilter.bqrs + metadata: + name: Bad HTML filtering regexp + description: "Matching HTML tags using regular expressions is hard to do right,\ + \ and can easily lead to security issues." + kind: problem + problem.severity: warning + security-severity: 7.8 + precision: high + id: js/bad-tag-filter + tags: |- + correctness + security + external/cwe/cwe-020 + external/cwe/cwe-080 + external/cwe/cwe-116 + external/cwe/cwe-184 + external/cwe/cwe-185 + external/cwe/cwe-186 + queryHelp: | + # Bad HTML filtering regexp + It is possible to match some single HTML tags using regular expressions (parsing general HTML using regular expressions is impossible). However, if the regular expression is not written well it might be possible to circumvent it, which can lead to cross-site scripting or other security issues. + + Some of these mistakes are caused by browsers having very forgiving HTML parsers, and will often render invalid HTML containing syntax errors. Regular expressions that attempt to match HTML should also recognize tags containing such syntax errors. + + + ## Recommendation + Use a well-tested sanitization or parser library if at all possible. These libraries are much more likely to handle corner cases correctly than a custom implementation. + + + ## Example + The following example attempts to filters out all `` as script end tags, but also tags such as `` even though it is a parser error. This means that an attack string such as `` will not be filtered by the function, and `alert(1)` will be executed by a browser if the string is rendered as HTML. + + Other corner cases include that HTML comments can end with `--!>`, and that HTML tag names can contain upper case characters. + + + ## References + * Securitum: [The Curious Case of Copy & Paste](https://research.securitum.com/the-curious-case-of-copy-paste/). + * stackoverflow.com: [You can't parse \[X\]HTML with regex](https://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags#answer-1732454). + * HTML Standard: [Comment end bang state](https://html.spec.whatwg.org/multipage/parsing.html#comment-end-bang-state). + * stackoverflow.com: [Why aren't browsers strict about HTML?](https://stackoverflow.com/questions/25559999/why-arent-browsers-strict-about-html). + * Common Weakness Enumeration: [CWE-20](https://cwe.mitre.org/data/definitions/20.html). + * Common Weakness Enumeration: [CWE-80](https://cwe.mitre.org/data/definitions/80.html). + * Common Weakness Enumeration: [CWE-116](https://cwe.mitre.org/data/definitions/116.html). + * Common Weakness Enumeration: [CWE-184](https://cwe.mitre.org/data/definitions/184.html). + * Common Weakness Enumeration: [CWE-185](https://cwe.mitre.org/data/definitions/185.html). + * Common Weakness Enumeration: [CWE-186](https://cwe.mitre.org/data/definitions/186.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Security/CWE-116/DoubleEscaping.ql + relativeBqrsPath: codeql/javascript-queries/Security/CWE-116/DoubleEscaping.bqrs + metadata: + name: Double escaping or unescaping + description: |- + When escaping special characters using a meta-character like backslash or + ampersand, the meta-character has to be escaped first to avoid double-escaping, + and conversely it has to be unescaped last to avoid double-unescaping. + kind: problem + problem.severity: warning + security-severity: 7.8 + precision: high + id: js/double-escaping + tags: |- + correctness + security + external/cwe/cwe-116 + external/cwe/cwe-020 + queryHelp: | + # Double escaping or unescaping + Escaping meta-characters in untrusted input is an important technique for preventing injection attacks such as cross-site scripting. One particular example of this is HTML entity encoding, where HTML special characters are replaced by HTML character entities to prevent them from being interpreted as HTML markup. For example, the less-than character is encoded as `<` and the double-quote character as `"`. Other examples include backslash-escaping for including untrusted data in string literals and percent-encoding for URI components. + + The reverse process of replacing escape sequences with the characters they represent is known as unescaping. + + Note that the escape characters themselves (such as ampersand in the case of HTML encoding) play a special role during escaping and unescaping: they are themselves escaped, but also form part of the escaped representations of other characters. Hence care must be taken to avoid double escaping and unescaping: when escaping, the escape character must be escaped first, when unescaping it has to be unescaped last. + + If used in the context of sanitization, double unescaping may render the sanitization ineffective. Even if it is not used in a security-critical context, it may still result in confusing or garbled output. + + + ## Recommendation + Use a (well-tested) sanitization library if at all possible. These libraries are much more likely to handle corner cases correctly than a custom implementation. For URI encoding, you can use the standard `encodeURIComponent` and `decodeURIComponent` functions. + + Otherwise, make sure to always escape the escape character first, and unescape it last. + + + ## Example + The following example shows a pair of hand-written HTML encoding and decoding functions: + + + ```javascript + module.exports.encode = function(s) { + return s.replace(/&/g, "&") + .replace(/"/g, """) + .replace(/'/g, "'"); + }; + + module.exports.decode = function(s) { + return s.replace(/&/g, "&") + .replace(/"/g, "\"") + .replace(/'/g, "'"); + }; + + ``` + The encoding function correctly handles ampersand before the other characters. For example, the string `me & "you"` is encoded as `me & "you"`, and the string `"` is encoded as `&quot;`. + + The decoding function, however, incorrectly decodes `&` into `&` before handling the other characters. So while it correctly decodes the first example above, it decodes the second example (`&quot;`) to `"` (a single double quote), which is not correct. + + Instead, the decoding function should decode the ampersand last: + + + ```javascript + module.exports.encode = function(s) { + return s.replace(/&/g, "&") + .replace(/"/g, """) + .replace(/'/g, "'"); + }; + + module.exports.decode = function(s) { + return s.replace(/"/g, "\"") + .replace(/'/g, "'") + .replace(/&/g, "&"); + }; + + ``` + + ## References + * OWASP Top 10: [A1 Injection](https://www.owasp.org/index.php/Top_10-2017_A1-Injection). + * npm: [html-entities](https://www.npmjs.com/package/html-entities) package. + * npm: [js-string-escape](https://www.npmjs.com/package/js-string-escape) package. + * Common Weakness Enumeration: [CWE-116](https://cwe.mitre.org/data/definitions/116.html). + * Common Weakness Enumeration: [CWE-20](https://cwe.mitre.org/data/definitions/20.html). + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Security/CWE-116/IncompleteHtmlAttributeSanitization.ql + relativeBqrsPath: codeql/javascript-queries/Security/CWE-116/IncompleteHtmlAttributeSanitization.bqrs + metadata: + name: Incomplete HTML attribute sanitization + description: |- + Writing incompletely sanitized values to HTML + attribute strings can lead to a cross-site + scripting vulnerability. + kind: path-problem + problem.severity: warning + security-severity: 6.1 + precision: high + id: js/incomplete-html-attribute-sanitization + tags: |- + security + external/cwe/cwe-079 + external/cwe/cwe-116 + external/cwe/cwe-020 + queryHelp: "# Incomplete HTML attribute sanitization\nSanitizing untrusted input\ + \ for HTML meta-characters is a common technique for preventing cross-site scripting\ + \ attacks. Usually, this is done by escaping `<`, `>`, `&` and `\"`. However,\ + \ the context in which the sanitized value is used decides the characters that\ + \ need to be sanitized.\n\nAs a consequence, some programs only sanitize `<` and\ + \ `>` since those are the most common dangerous characters. The lack of sanitization\ + \ for `\"` is problematic when an incompletely sanitized value is used as an HTML\ + \ attribute in a string that later is parsed as HTML.\n\n\n## Recommendation\n\ + Sanitize all relevant HTML meta-characters when constructing HTML dynamically,\ + \ and pay special attention to where the sanitized value is used.\n\nAn even safer\ + \ alternative is to design the application so that sanitization is not needed,\ + \ for instance by using HTML templates that are explicit about the values they\ + \ treat as HTML.\n\n\n## Example\nThe following example code writes part of an\ + \ HTTP request (which is controlled by the user) to an HTML attribute of the server\ + \ response. The user-controlled value is, however, not sanitized for `\"`. This\ + \ leaves the website vulnerable to cross-site scripting since an attacker can\ + \ use a string like `\" onclick=\"alert(42)` to inject JavaScript code into the\ + \ response.\n\n\n```javascript\nvar app = require('express')();\n\napp.get('/user/:id',\ + \ function(req, res) {\n\tlet id = req.params.id;\n\tid = id.replace(/<|>/g, \"\ + \"); // BAD\n\tlet userHtml = `
${getUserName(id) || \"\ + Unknown name\"}
`;\n\t// ...\n\tres.send(prefix + userHtml + suffix);\n});\n\ + \n```\nSanitizing the user-controlled data for `\"` helps prevent the vulnerability:\n\ + \n\n```javascript\nvar app = require('express')();\n\napp.get('/user/:id', function(req,\ + \ res) {\n\tlet id = req.params.id;\n\tid = id.replace(/<|>|&|\"/g, \"\"); //\ + \ GOOD\n\tlet userHtml = `
${getUserName(id) || \"Unknown\ + \ name\"}
`;\n\t// ...\n\tres.send(prefix + userHtml + suffix);\n});\n\n\ + ```\n\n## References\n* OWASP: [DOM based XSS Prevention Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/DOM_based_XSS_Prevention_Cheat_Sheet.html).\n\ + * OWASP: [XSS (Cross Site Scripting) Prevention Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html).\n\ + * OWASP [Types of Cross-Site](https://owasp.org/www-community/Types_of_Cross-Site_Scripting).\n\ + * Wikipedia: [Cross-site scripting](http://en.wikipedia.org/wiki/Cross-site_scripting).\n\ + * Common Weakness Enumeration: [CWE-79](https://cwe.mitre.org/data/definitions/79.html).\n\ + * Common Weakness Enumeration: [CWE-116](https://cwe.mitre.org/data/definitions/116.html).\n\ + * Common Weakness Enumeration: [CWE-20](https://cwe.mitre.org/data/definitions/20.html).\n" + - + pack: codeql/javascript-queries#0 + relativeQueryPath: Security/CWE-116/IncompleteMultiCharacterSanitization.ql + relativeBqrsPath: codeql/javascript-queries/Security/CWE-116/IncompleteMultiCharacterSanitization.bqrs + metadata: + name: Incomplete multi-character sanitization + description: A sanitizer that removes a sequence of characters may reintroduce + the dangerous sequence. + kind: problem + problem.severity: warning + security-severity: 7.8 + precision: high + id: js/incomplete-multi-character-sanitization + tags: |- + correctness + security + external/cwe/cwe-020 + external/cwe/cwe-080 + external/cwe/cwe-116 + queryHelp: "# Incomplete multi-character sanitization\nSanitizing untrusted input\ + \ is a common technique for preventing injection attacks and other security vulnerabilities.\ + \ Regular expressions are often used to perform this sanitization. However, when\ + \ the regular expression matches multiple consecutive characters, replacing it\ + \ just once can result in the unsafe text reappearing in the sanitized input.\n\ + \nAttackers can exploit this issue by crafting inputs that, when sanitized with\ + \ an ineffective regular expression, still contain malicious code or content.\ + \ This can lead to code execution, data exposure, or other vulnerabilities.\n\n\ + \n## Recommendation\nTo prevent this issue, it is highly recommended to use a\ + \ well-tested sanitization library whenever possible. These libraries are more\ + \ likely to handle corner cases and ensure effective sanitization.\n\nIf a library\ + \ is not an option, you can consider alternative strategies to fix the issue.\ + \ For example, applying the regular expression replacement repeatedly until no\ + \ more replacements can be performed, or rewriting the regular expression to match\ + \ single characters instead of the entire unsafe text.\n\n\n## Example\nConsider\ + \ the following JavaScript code that aims to remove all HTML comment start and\ + \ end tags:\n\n```javascript\n\nstr.replace(/