Hi! Could we please enable some services and cookies to improve your experience and our website?

SQLize | PHPize | SQLtest

Online Sandbox for SQL and PHP: Write, Run, Test, and Share SQL Queries and PHP Code

A A A
Login    Share code      Blog   FAQ
Copy Format Clear
function isCompatible() { return !!('querySelector'in document && 'localStorage'in window && typeof Promise === 'function' && Promise.prototype['finally'] && (function() { try { new Function('(a = 0) => a'); return true; } catch (e) { return false; } }()) && /./g.flags === 'g'); } if (!isCompatible()) { document.documentElement.className = document.documentElement.className.replace(/(^|\s)client-js(\s|$)/, '$1client-nojs$2'); while (window.NORLQ && NORLQ[0]) { NORLQ.shift()(); } NORLQ = { push: function(fn) { fn(); } }; RLQ = { push: function() {} }; } else { if (window.performance && performance.mark) { performance.mark('mwStartup'); } (function() { 'use strict'; var con = window.console; function Map() { this.values = Object.create(null); } Map.prototype = { constructor: Map, get: function(selection, fallback) { if (arguments.length < 2) { fallback = null; } if (typeof selection === 'string') { return selection in this.values ? this.values[selection] : fallback; } var results; if (Array.isArray(selection)) { results = {}; for (var i = 0; i < selection.length; i++) { if (typeof selection[i] === 'string') { results[selection[i]] = selection[i]in this.values ? this.values[selection[i]] : fallback; } } return results; } if (selection === undefined) { results = {}; for (var key in this.values) { results[key] = this.values[key]; } return results; } return fallback; }, set: function(selection, value) { if (arguments.length > 1) { if (typeof selection === 'string') { this.values[selection] = value; return true; } } else if (typeof selection === 'object') { for (var key in selection) { this.values[key] = selection[key]; } return true; } return false; }, exists: function(selection) { return typeof selection === 'string' && selection in this.values; } }; var log = function() {}; log.warn = Function.prototype.bind.call(con.warn, con); var mw = { now: function() { var perf = window.performance; var navStart = perf && perf.timing && perf.timing.navigationStart; mw.now = navStart && perf.now ? function() { return navStart + perf.now(); } : Date.now; return mw.now(); }, trackQueue: [], trackError: function(data) { if (mw.track) { mw.track('resourceloader.exception', data); } else { mw.trackQueue.push({ topic: 'resourceloader.exception', data: data }); } var e = data.exception; var msg = (e ? 'Exception' : 'Error') + ' in ' + data.source + (data.module ? ' in module ' + data.module : '') + (e ? ':' : '.'); con.log(msg); if (e) { con.warn(e); } }, Map: Map, config: new Map(), messages: new Map(), templates: new Map(), log: log }; window.mw = window.mediaWiki = mw; window.QUnit = undefined; }()); (function() { 'use strict'; var store, hasOwn = Object.hasOwnProperty; function fnv132(str) { var hash = 0x811C9DC5; for (var i = 0; i < str.length; i++) { hash += (hash << 1) + (hash << 4) + (hash << 7) + (hash << 8) + (hash << 24); hash ^= str.charCodeAt(i); } hash = (hash >>> 0).toString(36).slice(0, 5); while (hash.length < 5) { hash = '0' + hash; } return hash; } var registry = Object.create(null), sources = Object.create(null), handlingPendingRequests = false, pendingRequests = [], queue = [], jobs = [], willPropagate = false, errorModules = [], baseModules = ["jquery", "mediawiki.base"], marker = document.querySelector('meta[name="ResourceLoaderDynamicStyles"]'), lastCssBuffer; function addToHead(el, nextNode) { if (nextNode && nextNode.parentNode) { nextNode.parentNode.insertBefore(el, nextNode); } else { document.head.appendChild(el); } } function newStyleTag(text, nextNode) { var el = document.createElement('style'); el.appendChild(document.createTextNode(text)); addToHead(el, nextNode); return el; } function flushCssBuffer(cssBuffer) { if (cssBuffer === lastCssBuffer) { lastCssBuffer = null; } newStyleTag(cssBuffer.cssText, marker); for (var i = 0; i < cssBuffer.callbacks.length; i++) { cssBuffer.callbacks[i](); } } function addEmbeddedCSS(cssText, callback) { if (!lastCssBuffer || cssText.startsWith('@import')) { lastCssBuffer = { cssText: '', callbacks: [] }; requestAnimationFrame(flushCssBuffer.bind(null, lastCssBuffer)); } lastCssBuffer.cssText += '\n' + cssText; lastCssBuffer.callbacks.push(callback); } function getCombinedVersion(modules) { var hashes = modules.reduce(function(result, module) { return result + registry[module].version; }, ''); return fnv132(hashes); } function allReady(modules) { for (var i = 0; i < modules.length; i++) { if (mw.loader.getState(modules[i]) !== 'ready') { return false; } } return true; } function allWithImplicitReady(module) { return allReady(registry[module].dependencies) && (baseModules.indexOf(module) !== -1 || allReady(baseModules)); } function anyFailed(modules) { for (var i = 0; i < modules.length; i++) { var state = mw.loader.getState(modules[i]); if (state === 'error' || state === 'missing') { return modules[i]; } } return false; } function doPropagation() { var didPropagate = true; var module; while (didPropagate) { didPropagate = false; while (errorModules.length) { var errorModule = errorModules.shift() , baseModuleError = baseModules.indexOf(errorModule) !== -1; for (module in registry) { if (registry[module].state !== 'error' && registry[module].state !== 'missing') { if (baseModuleError && baseModules.indexOf(module) === -1) { registry[module].state = 'error'; didPropagate = true; } else if (registry[module].dependencies.indexOf(errorModule) !== -1) { registry[module].state = 'error'; errorModules.push(module); didPropagate = true; } } } } for (module in registry) { if (registry[module].state === 'loaded' && allWithImplicitReady(module)) { execute(module); didPropagate = true; } } for (var i = 0; i < jobs.length; i++) { var job = jobs[i]; var failed = anyFailed(job.dependencies); if (failed !== false || allReady(job.dependencies)) { jobs.splice(i, 1); i -= 1; try { if (failed !== false && job.error) { job.error(new Error('Failed dependency: ' + failed), job.dependencies); } else if (failed === false && job.ready) { job.ready(); } } catch (e) { mw.trackError({ exception: e, source: 'load-callback' }); } didPropagate = true; } } } willPropagate = false; } function setAndPropagate(module, state) { registry[module].state = state; if (state === 'ready') { store.add(module); } else if (state === 'error' || state === 'missing') { errorModules.push(module); } else if (state !== 'loaded') { return; } if (willPropagate) { return; } willPropagate = true; mw.requestIdleCallback(doPropagation, { timeout: 1 }); } function sortDependencies(module, resolved, unresolved) { if (!(module in registry)) { throw new Error('Unknown module: ' + module); } if (typeof registry[module].skip === 'string') { var skip = (new Function(registry[module].skip)()); registry[module].skip = !!skip; if (skip) { registry[module].dependencies = []; setAndPropagate(module, 'ready'); return; } } if (!unresolved) { unresolved = new Set(); } var deps = registry[module].dependencies; unresolved.add(module); for (var i = 0; i < deps.length; i++) { if (resolved.indexOf(deps[i]) === -1) { if (unresolved.has(deps[i])) { throw new Error('Circular reference detected: ' + module + ' -> ' + deps[i]); } sortDependencies(deps[i], resolved, unresolved); } } resolved.push(module); } function resolve(modules) { var resolved = baseModules.slice(); for (var i = 0; i < modules.length; i++) { sortDependencies(modules[i], resolved); } return resolved; } function resolveStubbornly(modules) { var resolved = baseModules.slice(); for (var i = 0; i < modules.length; i++) { var saved = resolved.slice(); try { sortDependencies(modules[i], resolved); } catch (err) { resolved = saved; mw.log.warn('Skipped unavailable module ' + modules[i]); if (modules[i]in registry) { mw.trackError({ exception: err, source: 'resolve' }); } } } return resolved; } function resolveRelativePath(relativePath, basePath) { var relParts = relativePath.match(/^((?:\.\.?\/)+)(.*)$/); if (!relParts) { return null; } var baseDirParts = basePath.split('/'); baseDirParts.pop(); var prefixes = relParts[1].split('/'); prefixes.pop(); var prefix; var reachedRoot = false; while ((prefix = prefixes.pop()) !== undefined) { if (prefix === '..') { reachedRoot = !baseDirParts.length || reachedRoot; if (!reachedRoot) { baseDirParts.pop(); } else { baseDirParts.push(prefix); } } } return (baseDirParts.length ? baseDirParts.join('/') + '/' : '') + relParts[2]; } function makeRequireFunction(moduleObj, basePath) { return function require(moduleName) { var fileName = resolveRelativePath(moduleName, basePath); if (fileName === null) { return mw.loader.require(moduleName); } if (hasOwn.call(moduleObj.packageExports, fileName)) { return moduleObj.packageExports[fileName]; } var scriptFiles = moduleObj.script.files; if (!hasOwn.call(scriptFiles, fileName)) { throw new Error('Cannot require undefined file ' + fileName); } var result, fileContent = scriptFiles[fileName]; if (typeof fileContent === 'function') { var moduleParam = { exports: {} }; fileContent(makeRequireFunction(moduleObj, fileName), moduleParam, moduleParam.exports); result = moduleParam.exports; } else { result = fileContent; } moduleObj.packageExports[fileName] = result; return result; } ; } function addScript(src, callback, modules) { var script = document.createElement('script'); script.src = src; function onComplete() { if (script.parentNode) { script.parentNode.removeChild(script); } if (callback) { callback(); callback = null; } } script.onload = onComplete; script.onerror = function() { onComplete(); if (modules) { for (var i = 0; i < modules.length; i++) { setAndPropagate(modules[i], 'error'); } } } ; document.head.appendChild(script); return script; } function queueModuleScript(src, moduleName, callback) { pendingRequests.push(function() { if (moduleName !== 'jquery') { window.require = mw.loader.require; window.module = registry[moduleName].module; } addScript(src, function() { delete window.module; callback(); if (pendingRequests[0]) { pendingRequests.shift()(); } else { handlingPendingRequests = false; } }); }); if (!handlingPendingRequests && pendingRequests[0]) { handlingPendingRequests = true; pendingRequests.shift()(); } } function addLink(url, media, nextNode) { var el = document.createElement('link'); el.rel = 'stylesheet'; if (media) { el.media = media; } el.href = url; addToHead(el, nextNode); return el; } function globalEval(code) { var script = document.createElement('script'); script.text = code; document.head.appendChild(script); script.parentNode.removeChild(script); } function indirectEval(code) { (1, eval)(code); } function enqueue(dependencies, ready, error) { if (allReady(dependencies)) { if (ready) { ready(); } return; } var failed = anyFailed(dependencies); if (failed !== false) { if (error) { error(new Error('Dependency ' + failed + ' failed to load'), dependencies); } return; } if (ready || error) { jobs.push({ dependencies: dependencies.filter(function(module) { var state = registry[module].state; return state === 'registered' || state === 'loaded' || state === 'loading' || state === 'executing'; }), ready: ready, error: error }); } dependencies.forEach(function(module) { if (registry[module].state === 'registered' && queue.indexOf(module) === -1) { queue.push(module); } }); mw.loader.work(); } function execute(module) { if (registry[module].state !== 'loaded') { throw new Error('Module in state "' + registry[module].state + '" may not execute: ' + module); } registry[module].state = 'executing'; var runScript = function() { var script = registry[module].script; var markModuleReady = function() { setAndPropagate(module, 'ready'); }; var nestedAddScript = function(arr, offset) { if (offset >= arr.length) { markModuleReady(); return; } queueModuleScript(arr[offset], module, function() { nestedAddScript(arr, offset + 1); }); }; try { if (Array.isArray(script)) { nestedAddScript(script, 0); } else if (typeof script === 'function') { if (module === 'jquery') { script(); } else { script(window.$, window.$, mw.loader.require, registry[module].module); } markModuleReady(); } else if (typeof script === 'object' && script !== null) { var mainScript = script.files[script.main]; if (typeof mainScript !== 'function') { throw new Error('Main file in module ' + module + ' must be a function'); } mainScript(makeRequireFunction(registry[module], script.main), registry[module].module, registry[module].module.exports); markModuleReady(); } else if (typeof script === 'string') { globalEval(script); markModuleReady(); } else { markModuleReady(); } } catch (e) { setAndPropagate(module, 'error'); mw.trackError({ exception: e, module: module, source: 'module-execute' }); } }; if (registry[module].deprecationWarning) { mw.log.warn(registry[module].deprecationWarning); } if (registry[module].messages) { mw.messages.set(registry[module].messages); } if (registry[module].templates) { mw.templates.set(module, registry[module].templates); } var cssPending = 0; var cssHandle = function() { cssPending++; return function() { cssPending--; if (cssPending === 0) { var runScriptCopy = runScript; runScript = undefined; runScriptCopy(); } } ; }; var style = registry[module].style; if (style) { if ('css'in style) { for (var i = 0; i < style.css.length; i++) { addEmbeddedCSS(style.css[i], cssHandle()); } } if ('url'in style) { for (var media in style.url) { var urls = style.url[media]; for (var j = 0; j < urls.length; j++) { addLink(urls[j], media, marker); } } } } if (module === 'user') { var siteDeps; var siteDepErr; try { siteDeps = resolve(['site']); } catch (e) { siteDepErr = e; runScript(); } if (!siteDepErr) { enqueue(siteDeps, runScript, runScript); } } else if (cssPending === 0) { runScript(); } } function sortQuery(o) { var sorted = {}; var list = []; for (var key in o) { list.push(key); } list.sort(); for (var i = 0; i < list.length; i++) { sorted[list[i]] = o[list[i]]; } return sorted; } function buildModulesString(moduleMap) { var str = []; var list = []; var p; function restore(suffix) { return p + suffix; } for (var prefix in moduleMap) { p = prefix === '' ? '' : prefix + '.'; str.push(p + moduleMap[prefix].join(',')); list.push.apply(list, moduleMap[prefix].map(restore)); } return { str: str.join('|'), list: list }; } function makeQueryString(params) { var str = ''; for (var key in params) { str += (str ? '&' : '') + encodeURIComponent(key) + '=' + encodeURIComponent(params[key]); } return str; } function batchRequest(batch) { if (!batch.length) { return; } var sourceLoadScript, currReqBase, moduleMap; function doRequest() { var query = Object.create(currReqBase) , packed = buildModulesString(moduleMap); query.modules = packed.str; query.version = getCombinedVersion(packed.list); query = sortQuery(query); addScript(sourceLoadScript + '?' + makeQueryString(query), null, packed.list); } batch.sort(); var reqBase = { "lang": "en-gb", "skin": "timeless" }; var splits = Object.create(null); for (var b = 0; b < batch.length; b++) { var bSource = registry[batch[b]].source; var bGroup = registry[batch[b]].group; if (!splits[bSource]) { splits[bSource] = Object.create(null); } if (!splits[bSource][bGroup]) { splits[bSource][bGroup] = []; } splits[bSource][bGroup].push(batch[b]); } for (var source in splits) { sourceLoadScript = sources[source]; for (var group in splits[source]) { var modules = splits[source][group]; currReqBase = Object.create(reqBase); if (group === 0 && mw.config.get('wgUserName') !== null) { currReqBase.user = mw.config.get('wgUserName'); } var currReqBaseLength = makeQueryString(currReqBase).length + 23; var length = 0; moduleMap = Object.create(null); for (var i = 0; i < modules.length; i++) { var lastDotIndex = modules[i].lastIndexOf('.') , prefix = modules[i].slice(0, Math.max(0, lastDotIndex)) , suffix = modules[i].slice(lastDotIndex + 1) , bytesAdded = moduleMap[prefix] ? suffix.length + 3 : modules[i].length + 3; if (length && length + currReqBaseLength + bytesAdded > mw.loader.maxQueryLength) { doRequest(); length = 0; moduleMap = Object.create(null); } if (!moduleMap[prefix]) { moduleMap[prefix] = []; } length += bytesAdded; moduleMap[prefix].push(suffix); } doRequest(); } } } function asyncEval(implementations, cb, offset) { if (!implementations.length) { return; } offset = offset || 0; mw.requestIdleCallback(function(deadline) { asyncEvalTask(deadline, implementations, cb, offset); }); } function asyncEvalTask(deadline, implementations, cb, offset) { for (var i = offset; i < implementations.length; i++) { if (deadline.timeRemaining() <= 0) { asyncEval(implementations, cb, i); return; } try { indirectEval(implementations[i]); } catch (err) { cb(err); } } } function getModuleKey(module) { return module in registry ? (module + '@' + registry[module].version) : null; } function splitModuleKey(key) { var index = key.lastIndexOf('@'); if (index === -1 || index === 0) { return { name: key, version: '' }; } return { name: key.slice(0, index), version: key.slice(index + 1) }; } function registerOne(module, version, dependencies, group, source, skip) { if (module in registry) { throw new Error('module already registered: ' + module); } registry[module] = { module: { exports: {} }, packageExports: {}, version: version || '', dependencies: dependencies || [], group: typeof group === 'undefined' ? null : group, source: typeof source === 'string' ? source : 'local', state: 'registered', skip: typeof skip === 'string' ? skip : null }; } mw.loader = { moduleRegistry: registry, maxQueryLength: 2000, addStyleTag: newStyleTag, addScriptTag: addScript, addLinkTag: addLink, enqueue: enqueue, resolve: resolve, work: function() { store.init(); var q = queue.length , storedImplementations = [] , storedNames = [] , requestNames = [] , batch = new Set(); while (q--) { var module = queue[q]; if (mw.loader.getState(module) === 'registered' && !batch.has(module)) { registry[module].state = 'loading'; batch.add(module); var implementation = store.get(module); if (implementation) { storedImplementations.push(implementation); storedNames.push(module); } else { requestNames.push(module); } } } queue = []; asyncEval(storedImplementations, function(err) { store.stats.failed++; store.clear(); mw.trackError({ exception: err, source: 'store-eval' }); var failed = storedNames.filter(function(name) { return registry[name].state === 'loading'; }); batchRequest(failed); }); batchRequest(requestNames); }, addSource: function(ids) { for (var id in ids) { if (id in sources) { throw new Error('source already registered: ' + id); } sources[id] = ids[id]; } }, register: function(modules) { if (typeof modules !== 'object') { registerOne.apply(null, arguments); return; } function resolveIndex(dep) { return typeof dep === 'number' ? modules[dep][0] : dep; } for (var i = 0; i < modules.length; i++) { var deps = modules[i][2]; if (deps) { for (var j = 0; j < deps.length; j++) { deps[j] = resolveIndex(deps[j]); } } registerOne.apply(null, modules[i]); } }, implement: function(module, script, style, messages, templates, deprecationWarning) { var split = splitModuleKey(module) , name = split.name , version = split.version; if (!(name in registry)) { mw.loader.register(name); } if (registry[name].script !== undefined) { throw new Error('module already implemented: ' + name); } registry[name].version = version; registry[name].declarator = null; registry[name].script = script; registry[name].style = style; registry[name].messages = messages; registry[name].templates = templates; registry[name].deprecationWarning = deprecationWarning; if (registry[name].state !== 'error' && registry[name].state !== 'missing') { setAndPropagate(name, 'loaded'); } }, impl: function(declarator) { var data = declarator() , module = data[0] , script = data[1] || null , style = data[2] || null , messages = data[3] || null , templates = data[4] || null , deprecationWarning = data[5] || null , split = splitModuleKey(module) , name = split.name , version = split.version; if (!(name in registry)) { mw.loader.register(name); } if (registry[name].script !== undefined) { throw new Error('module already implemented: ' + name); } registry[name].version = version; registry[name].declarator = declarator; registry[name].script = script; registry[name].style = style; registry[name].messages = messages; registry[name].templates = templates; registry[name].deprecationWarning = deprecationWarning; if (registry[name].state !== 'error' && registry[name].state !== 'missing') { setAndPropagate(name, 'loaded'); } }, load: function(modules, type) { if (typeof modules === 'string' && /^(https?:)?\/?\//.test(modules)) { if (type === 'text/css') { addLink(modules); } else if (type === 'text/javascript' || type === undefined) { addScript(modules); } else { throw new Error('Invalid type ' + type); } } else { modules = typeof modules === 'string' ? [modules] : modules; enqueue(resolveStubbornly(modules)); } }, state: function(states) { for (var module in states) { if (!(module in registry)) { mw.loader.register(module); } setAndPropagate(module, states[module]); } }, getState: function(module) { return module in registry ? registry[module].state : null; }, require: function(moduleName) { var path; if (window.QUnit) { var paths = moduleName.startsWith('@') ? /^(@[^/]+\/[^/]+)\/(.*)$/.exec(moduleName) : /^([^/]+)\/(.*)$/.exec(moduleName); if (paths) { moduleName = paths[1]; path = paths[2]; } } if (mw.loader.getState(moduleName) !== 'ready') { throw new Error('Module "' + moduleName + '" is not loaded'); } return path ? makeRequireFunction(registry[moduleName], '')('./' + path) : registry[moduleName].module.exports; } }; var hasPendingFlush = false , hasPendingWrites = false; function flushWrites() { while (store.queue.length) { store.set(store.queue.shift()); } if (hasPendingWrites) { store.prune(); try { localStorage.removeItem(store.key); localStorage.setItem(store.key, JSON.stringify({ items: store.items, vary: store.vary, asOf: Math.ceil(Date.now() / 1e7) })); } catch (e) { mw.trackError({ exception: e, source: 'store-localstorage-update' }); } } hasPendingFlush = hasPendingWrites = false; } mw.loader.store = store = { enabled: null, items: {}, queue: [], stats: { hits: 0, misses: 0, expired: 0, failed: 0 }, key: "MediaWikiModuleStore:sqlzoo_wiki", vary: "timeless:2:1:en-gb", init: function() { if (this.enabled === null) { this.enabled = false; if (true) { this.load(); } else { this.clear(); } } }, load: function() { try { var raw = localStorage.getItem(this.key); this.enabled = true; var data = JSON.parse(raw); if (data && data.vary === this.vary && data.items && Date.now() < (data.asOf * 1e7) + 259e7) { this.items = data.items; } } catch (e) {} }, get: function(module) { if (this.enabled) { var key = getModuleKey(module); if (key in this.items) { this.stats.hits++; return this.items[key]; } this.stats.misses++; } return false; }, add: function(module) { if (this.enabled) { this.queue.push(module); this.requestUpdate(); } }, set: function(module) { var descriptor = registry[module] , key = getModuleKey(module); if (key in this.items || !descriptor || descriptor.state !== 'ready' || !descriptor.version || descriptor.group === 1 || descriptor.group === 0 || !descriptor.declarator) { return; } var script = String(descriptor.declarator); if (script.length > 1e5) { return; } var srcParts = ['mw.loader.impl(', script, ');\n']; if (true) { srcParts.push('// Saved in localStorage at ', (new Date()).toISOString(), '\n'); var sourceLoadScript = sources[descriptor.source]; var query = Object.create({ "lang": "en-gb", "skin": "timeless" }); query.modules = module; query.version = getCombinedVersion([module]); query = sortQuery(query); srcParts.push('//# sourceURL=', (new URL(sourceLoadScript,location)).href, '?', makeQueryString(query), '\n'); query.sourcemap = '1'; query = sortQuery(query); srcParts.push('//# sourceMappingURL=', sourceLoadScript, '?', makeQueryString(query)); } this.items[key] = srcParts.join(''); hasPendingWrites = true; }, prune: function() { for (var key in this.items) { if (getModuleKey(splitModuleKey(key).name) !== key) { this.stats.expired++; delete this.items[key]; } } }, clear: function() { this.items = {}; try { localStorage.removeItem(this.key); } catch (e) {} }, requestUpdate: function() { if (!hasPendingFlush) { hasPendingFlush = setTimeout(function() { mw.requestIdleCallback(flushWrites); }, 2000); } } }; }()); mw.requestIdleCallbackInternal = function(callback) { setTimeout(function() { var start = mw.now(); callback({ didTimeout: false, timeRemaining: function() { return Math.max(0, 50 - (mw.now() - start)); } }); }, 1); } ; mw.requestIdleCallback = window.requestIdleCallback ? window.requestIdleCallback.bind(window) : mw.requestIdleCallbackInternal; (function() { var queue; mw.loader.addSource({ "local": "/w/load.php" }); mw.loader.register([["site", "1110s", [1]], ["site.styles", "1df6d", [], 2], ["filepage", "1ljys"], ["user", "1tdkc", [], 0], ["user.styles", "18fec", [], 0], ["user.options", "12s5i", [], 1], ["mediawiki.skinning.interface", "11tfp"], ["jquery.makeCollapsible.styles", "1wptx"], ["mediawiki.skinning.content.parsoid", "2p1t4"], ["web2017-polyfills", "174re", [], null, null, "return'IntersectionObserver'in window\u0026\u0026typeof fetch==='function'\u0026\u0026typeof URL==='function'\u0026\u0026'toJSON'in URL.prototype;"], ["jquery", "xt2am"], ["mediawiki.base", "1u8ay", [10]], ["jquery.chosen", "1ft2a"], ["jquery.client", "5k8ja"], ["jquery.confirmable", "opab7", [101]], ["jquery.highlightText", "9qzq7", [75]], ["jquery.i18n", "1tati", [100]], ["jquery.lengthLimit", "tlk9z", [60]], ["jquery.makeCollapsible", "ro1b1", [7, 75]], ["jquery.spinner", "iute0", [20]], ["jquery.spinner.styles", "1ktvw"], ["jquery.suggestions", "xoi3f", [15]], ["jquery.tablesorter", "1ql0h", [23, 102, 75]], ["jquery.tablesorter.styles", "1m1x6"], ["jquery.textSelection", "18yom", [13]], ["jquery.ui", "1byxg"], ["moment", "eomsf", [98, 75]], ["vue", "254op", [109]], ["vuex", "qipuu", [27]], ["pinia", "10e4u", [27]], ["@wikimedia/codex", "165pd", [31, 27]], ["codex-styles", "e5wr7"], ["mediawiki.codex.messagebox.styles", "14gh0"], ["@wikimedia/codex-search", "171ub", [34, 27]], ["codex-search-styles", "dh4nx"], ["mediawiki.template", "72v1k"], ["mediawiki.template.mustache", "1m2gq", [35]], ["mediawiki.apipretty", "qt7g6"], ["mediawiki.api", "90v19", [101]], ["mediawiki.content.json", "jk5cc"], ["mediawiki.confirmCloseWindow", "96tmj"], ["mediawiki.debug", "9qt9a", [196]], ["mediawiki.diff", "11fhk", [38]], ["mediawiki.diff.styles", "1gkif"], ["mediawiki.feedback", "h5jlq", [263, 204]], ["mediawiki.feedlink", "qn8vo"], ["mediawiki.filewarning", "amgzj", [196, 208]], ["mediawiki.ForeignApi", "r63m6", [48]], ["mediawiki.ForeignApi.core", "gpvmk", [38, 193]], ["mediawiki.helplink", "149oj"], ["mediawiki.hlist", "artqm"], ["mediawiki.htmlform", "14wb0", [171]], ["mediawiki.htmlform.ooui", "qp5p1", [196]], ["mediawiki.htmlform.styles", "au6xy"], ["mediawiki.htmlform.codex.styles", "1eyik"], ["mediawiki.htmlform.ooui.styles", "xh9wu"], ["mediawiki.inspect", "2ufuk", [60, 75]], ["mediawiki.notification", "1hr6t", [75, 81]], ["mediawiki.notification.convertmessagebox", "1qfxt", [57]], ["mediawiki.notification.convertmessagebox.styles", "15u5e"], ["mediawiki.String", "rowro"], ["mediawiki.pager.styles", "1u5ad"], ["mediawiki.pulsatingdot", "4zx23"], ["mediawiki.searchSuggest", "1u2vm", [21, 38]], ["mediawiki.storage", "3wu0d", [75]], ["mediawiki.Title", "szj3g", [60, 75]], ["mediawiki.Upload", "352gg", [38]], ["mediawiki.ForeignUpload", "g8bfm", [47, 66]], ["mediawiki.Upload.Dialog", "ne04e", [69]], ["mediawiki.Upload.BookletLayout", "2n63h", [66, 73, 26, 199, 204, 209, 210]], ["mediawiki.ForeignStructuredUpload.BookletLayout", "1cp8m", [67, 69, 105, 175, 169]], ["mediawiki.toc", "ui5eu", [78]], ["mediawiki.Uri", "d1uk7", [75]], ["mediawiki.user", "w2qqj", [38, 78]], ["mediawiki.userSuggest", "ba9yz", [21, 38]], ["mediawiki.util", "vx55h", [13, 9]], ["mediawiki.checkboxtoggle", "snz0j"], ["mediawiki.checkboxtoggle.styles", "10qw3"], ["mediawiki.cookie", "1wmru"], ["mediawiki.experiments", "15xww"], ["mediawiki.editfont.styles", "1qsn9"], ["mediawiki.visibleTimeout", "40nxy"], ["mediawiki.action.edit", "vsv7i", [24, 83, 80, 171]], ["mediawiki.action.edit.styles", "zzfnc"], ["mediawiki.action.edit.collapsibleFooter", "198xc", [18, 64]], ["mediawiki.action.edit.preview", "7xt7u", [19, 111]], ["mediawiki.action.history", "1c95i", [18]], ["mediawiki.action.history.styles", "z5yr8"], ["mediawiki.action.protect", "gjfux", [171]], ["mediawiki.action.view.metadata", "1is7o", [96]], ["mediawiki.editRecovery.postEdit", "wh5q0"], ["mediawiki.editRecovery.edit", "1r1hr", [57, 168, 212]], ["mediawiki.action.view.postEdit", "26zx1", [57, 64, 158, 196, 216]], ["mediawiki.action.view.redirect", "9jbdf"], ["mediawiki.action.view.redirectPage", "eb0yw"], ["mediawiki.action.edit.editWarning", "15on3", [24, 40, 101]], ["mediawiki.action.view.filepage", "xih42"], ["mediawiki.action.styles", "10uxz"], ["mediawiki.language", "zgt0q", [99]], ["mediawiki.cldr", "1dc8t", [100]], ["mediawiki.libs.pluralruleparser", "1sv4p"], ["mediawiki.jqueryMsg", "hc8ue", [65, 98, 5]], ["mediawiki.language.months", "md5qj", [98]], ["mediawiki.language.names", "1semj", [98]], ["mediawiki.language.specialCharacters", "1cldx", [98]], ["mediawiki.libs.jpegmeta", "n7h67"], ["mediawiki.page.gallery", "1pso7", [107, 75]], ["mediawiki.page.gallery.styles", "asdfr"], ["mediawiki.page.gallery.slideshow", "1q8h5", [199, 219, 221]], ["mediawiki.page.ready", "14a4r", [38]], ["mediawiki.page.watch.ajax", "2bxko", [73]], ["mediawiki.page.preview", "d3mbg", [18, 24, 42, 43, 73, 196]], ["mediawiki.page.image.pagination", "1qg8v", [19, 75]], ["mediawiki.page.media", "1oc5n"], ["mediawiki.rcfilters.filters.base.styles", "jeuid"], ["mediawiki.rcfilters.highlightCircles.seenunseen.styles", "cq6vv"], ["mediawiki.rcfilters.filters.ui", "jgv8m", [18, 72, 73, 166, 205, 212, 215, 216, 217, 219, 220]], ["mediawiki.interface.helpers.styles", "12s0u"], ["mediawiki.special", "169qw"], ["mediawiki.special.apisandbox", "i8sid", [18, 186, 172, 195]], ["mediawiki.special.restsandbox.styles", "tjxcg"], ["mediawiki.special.restsandbox", "snzcl", [120]], ["mediawiki.special.block", "7etr6", [51, 169, 185, 176, 186, 183, 212]], ["mediawiki.misc-authed-ooui", "179gl", [19, 52, 166, 171]], ["mediawiki.misc-authed-pref", "1fmt6", [5]], ["mediawiki.misc-authed-curate", "anc0a", [12, 14, 17, 19, 38]], ["mediawiki.special.block.codex", "1nfx1", [30, 29]], ["mediawiki.protectionIndicators.styles", "mii98"], ["mediawiki.special.changeslist", "1pae0"], ["mediawiki.special.changeslist.watchlistexpiry", "3fiv4", [118, 216]], ["mediawiki.special.changeslist.enhanced", "1m4ka"], ["mediawiki.special.changeslist.legend", "xa6jz"], ["mediawiki.special.changeslist.legend.js", "13r7x", [78]], ["mediawiki.special.contributions", "1203g", [18, 169, 195]], ["mediawiki.special.import.styles.ooui", "15hlr"], ["mediawiki.special.changecredentials", "1eqrg"], ["mediawiki.special.changeemail", "q0qtr"], ["mediawiki.special.preferences.ooui", "1tsai", [40, 80, 58, 64, 176, 171, 204]], ["mediawiki.special.preferences.styles.ooui", "nasmi"], ["mediawiki.special.editrecovery.styles", "1o89f"], ["mediawiki.special.editrecovery", "1nomj", [27]], ["mediawiki.special.search", "1slvn", [188]], ["mediawiki.special.search.commonsInterwikiWidget", "twkga", [38]], ["mediawiki.special.search.interwikiwidget.styles", "zh4tb"], ["mediawiki.special.search.styles", "1mzaf"], ["mediawiki.special.unwatchedPages", "1tz16", [38]], ["mediawiki.special.upload", "nu80r", [19, 38, 40, 105, 118, 35]], ["mediawiki.authenticationPopup", "zr443", [19, 204]], ["mediawiki.authenticationPopup.success", "6zddp"], ["mediawiki.special.userlogin.common.styles", "12y0l"], ["mediawiki.special.userlogin.login.styles", "1sitc"], ["mediawiki.special.userlogin.authentication-popup", "114ns"], ["mediawiki.special.createaccount", "10bmi", [38]], ["mediawiki.special.userlogin.signup.styles", "zef1m"], ["mediawiki.special.userrights", "1des1", [17, 58]], ["mediawiki.special.watchlist", "59oek", [196, 216]], ["mediawiki.tempUserBanner.styles", "3pp37"], ["mediawiki.tempUserBanner", "wpaj9", [101]], ["mediawiki.tempUserCreated", "ecwit", [75]], ["mediawiki.ui", "1mqqz"], ["mediawiki.ui.checkbox", "kwkz2"], ["mediawiki.ui.radio", "mflx2"], ["mediawiki.legacy.messageBox", "e5ekb"], ["mediawiki.ui.button", "1vr9p"], ["mediawiki.ui.input", "1et0o"], ["mediawiki.ui.icon", "t1lvz"], ["mediawiki.widgets", "5rbzv", [167, 199, 209, 210]], ["mediawiki.widgets.styles", "z6m6x"], ["mediawiki.widgets.AbandonEditDialog", "s3y63", [204]], ["mediawiki.widgets.DateInputWidget", "27mhi", [170, 26, 199, 221]], ["mediawiki.widgets.DateInputWidget.styles", "4vrdz"], ["mediawiki.widgets.visibleLengthLimit", "4i5bv", [17, 196]], ["mediawiki.widgets.datetime", "16jk1", [196, 216, 220, 221]], ["mediawiki.widgets.expiry", "zixfl", [172, 26, 199]], ["mediawiki.widgets.CheckMatrixWidget", "1lq0f", [196]], ["mediawiki.widgets.CategoryMultiselectWidget", "19khw", [47, 199]], ["mediawiki.widgets.SelectWithInputWidget", "11wi8", [177, 199]], ["mediawiki.widgets.SelectWithInputWidget.styles", "1muue"], ["mediawiki.widgets.SizeFilterWidget", "1bq7m", [179, 199]], ["mediawiki.widgets.SizeFilterWidget.styles", "jozhq"], ["mediawiki.widgets.MediaSearch", "cutqp", [47, 73, 199]], ["mediawiki.widgets.Table", "hlri2", [199]], ["mediawiki.widgets.TagMultiselectWidget", "1y5hq", [199]], ["mediawiki.widgets.UserInputWidget", "1tc82", [199]], ["mediawiki.widgets.UsersMultiselectWidget", "1dllb", [199]], ["mediawiki.widgets.NamespacesMultiselectWidget", "1skcg", [166]], ["mediawiki.widgets.TitlesMultiselectWidget", "1xq8g", [166]], ["mediawiki.widgets.TagMultiselectWidget.styles", "z8nel"], ["mediawiki.widgets.SearchInputWidget", "kfr5t", [63, 166, 216]], ["mediawiki.widgets.SearchInputWidget.styles", "1784o"], ["mediawiki.widgets.ToggleSwitchWidget", "1yf2l", [199]], ["mediawiki.watchstar.widgets", "9n7ag", [195]], ["mediawiki.deflate", "wsaxh"], ["oojs", "1u2cw"], ["mediawiki.router", "1l3dg", [193]], ["oojs-ui", "19txf", [202, 199, 204]], ["oojs-ui-core", "1x8ng", [109, 193, 198, 197, 206]], ["oojs-ui-core.styles", "frpv0"], ["oojs-ui-core.icons", "moot2"], ["oojs-ui-widgets", "mcb4l", [196, 201]], ["oojs-ui-widgets.styles", "17t6n"], ["oojs-ui-widgets.icons", "rs3k7"], ["oojs-ui-toolbars", "skm9c", [196, 203]], ["oojs-ui-toolbars.icons", "yoyui"], ["oojs-ui-windows", "zvzod", [196, 205]], ["oojs-ui-windows.icons", "1la0c"], ["oojs-ui.styles.indicators", "1lo90"], ["oojs-ui.styles.icons-accessibility", "1857t"], ["oojs-ui.styles.icons-alerts", "x3pv4"], ["oojs-ui.styles.icons-content", "1e3ai"], ["oojs-ui.styles.icons-editing-advanced", "q7ubi"], ["oojs-ui.styles.icons-editing-citation", "do37b"], ["oojs-ui.styles.icons-editing-core", "yddy1"], ["oojs-ui.styles.icons-editing-functions", "1uqcn"], ["oojs-ui.styles.icons-editing-list", "fzzdp"], ["oojs-ui.styles.icons-editing-styling", "u39x9"], ["oojs-ui.styles.icons-interactions", "xvld9"], ["oojs-ui.styles.icons-layout", "12tdi"], ["oojs-ui.styles.icons-location", "1xm4f"], ["oojs-ui.styles.icons-media", "1jf0b"], ["oojs-ui.styles.icons-moderation", "19ibw"], ["oojs-ui.styles.icons-movement", "11djl"], ["oojs-ui.styles.icons-user", "19hqm"], ["oojs-ui.styles.icons-wikimedia", "1kq3w"], ["skins.minerva.base.styles", "1gbw3"], ["skins.minerva.content.styles.images", "7mr8d"], ["skins.minerva.amc.styles", "1vqc6"], ["skins.minerva.overflow.icons", "13j2w"], ["skins.minerva.icons.wikimedia", "64i2g"], ["skins.minerva.mainPage.styles", "17ofj"], ["skins.minerva.userpage.styles", "1dm31"], ["skins.minerva.personalMenu.icons", "170ce"], ["skins.minerva.mainMenu.advanced.icons", "n5vzy"], ["skins.minerva.mainMenu.icons", "kpfms"], ["skins.minerva.mainMenu.styles", "127qy"], ["skins.minerva.loggedin.styles", "1pgbm"], ["skins.minerva.scripts", "1p1mv", [72, 79, 110, 194, 64, 261, 233, 234, 237, 36]], ["skins.minerva.messageBox.styles", "14gh0"], ["skins.minerva.categories.styles", "e5ekb"], ["skins.minerva.codex.styles", "14gh0"], ["skins.monobook.styles", "1hft5"], ["skins.monobook.scripts", "8rt2r", [73, 208]], ["skins.timeless", "i1zlx"], ["skins.timeless.js", "1flbr"], ["skins.vector.search.codex.styles", "1fq55"], ["skins.vector.search.codex.scripts", "10vxt", [244, 27]], ["skins.vector.search", "1mjlc", [245]], ["skins.vector.styles.legacy", "1ytqc"], ["skins.vector.styles", "gz719"], ["skins.vector.icons.js", "1k7e6"], ["skins.vector.icons", "13kt4"], ["skins.vector.clientPreferences", "1mzng", [73]], ["skins.vector.js", "zoake", [79, 110, 64, 251, 249]], ["skins.vector.legacy.js", "1rxls", [109]], ["ext.linter.edit", "4rnx9", [24]], ["ext.nuke.confirm", "38myg", [101]], ["ext.nuke.styles", "oasli"], ["ext.ReplaceText", "1w4ui"], ["ext.ReplaceTextStyles", "n96ga"], ["ext.pygments", "d1din"], ["ext.geshi.visualEditor", "1bp42", ["ext.visualEditor.mwcore", 210]], ["mobile.startup", "8xdhy", [63]], ["ext.pygments.view", "1lhqj", [65]], ["mediawiki.messagePoster", "41hnc", [47]]]); mw.config.set(window.RLCONF || {}); mw.loader.state(window.RLSTATE || {}); mw.loader.load(window.RLPAGEMODULES || []); queue = window.RLQ || []; RLQ = []; RLQ.push = function(fn) { if (typeof fn === 'function') { fn(); } else { RLQ[RLQ.length] = fn; } } ; while (queue[0]) { RLQ.push(queue.shift()); } NORLQ = { push: function() {} }; }()); }

Stuck with a problem? Got Error? Ask AI support!

Copy Clear