diff --git a/javascripts/massviews/config.js b/javascripts/massviews/config.js index 0ad38ef90..79e5d9a21 100644 --- a/javascripts/massviews/config.js +++ b/javascripts/massviews/config.js @@ -37,10 +37,18 @@ const config = { placeholder: 'https://en.wikipedia.org/wiki/Category:Folk_musicians_from_New_York', type: 'text' }, + wikilinks: { + placeholder: 'https://en.wikipedia.org/wiki/Book:New_York_City', + type: 'text' + }, pagepile: { placeholder: '12345', type: 'number' }, + subpages: { + placeholder: 'https://en.wikipedia.org/wiki/User:Example', + type: 'text' + }, transclusions: { placeholder: 'https://en.wikipedia.org/wiki/Template:Infobox_Olympic_games', type: 'text' @@ -59,7 +67,7 @@ const config = { validParams: { direction: ['-1', '1'], sort: ['title', 'views', 'original'], - source: ['pagepile', 'category', 'transclusions', 'quarry'], + source: ['pagepile', 'category', 'subpages', 'transclusions', 'quarry'], view: ['list', 'chart'], subjectpage: ['0', '1'] } diff --git a/javascripts/massviews/massviews.js b/javascripts/massviews/massviews.js index 2967a0336..b4e86dfa1 100644 --- a/javascripts/massviews/massviews.js +++ b/javascripts/massviews/massviews.js @@ -652,10 +652,7 @@ class MassViews extends mix(Pv).with(ChartHelpers, ListHelpers) { }); } - processCategory(cb) { - const [project, category] = this.getWikiPageFromURL($(this.config.sourceInput).val()); - if (!this.validateProject(project)) return; - + processCategory(project, category, cb) { if (!category) { return this.setState('initial', () => { this.writeMessage($.i18n('invalid-category-url')); @@ -672,11 +669,6 @@ class MassViews extends mix(Pv).with(ChartHelpers, ListHelpers) { titles: decodeURIComponent(category) }; - if ($('.category-subject-toggle--input').is(':checked')) { - requestData.meta = 'siteinfo'; - requestData.siprop = 'namespaces'; - } - const promise = $.ajax({ url: `https://${project}/w/api.php`, jsonp: 'callback', @@ -704,7 +696,9 @@ class MassViews extends mix(Pv).with(ChartHelpers, ListHelpers) { } const size = data.query.pages[queryKey].categoryinfo.size, - namespaces = data.query.namespaces; + // siteInfo is only populated if they've opted to see subject pages instead of talk pages + // Otherwise namespaces are not needed by this.mapCategoryPageNames + namespaces = this.siteInfo ? this.siteInfo.namespaces : undefined; let pages = data.query.categorymembers; if (!pages.length) { @@ -751,6 +745,114 @@ class MassViews extends mix(Pv).with(ChartHelpers, ListHelpers) { }); } + processSubpages(project, targetPage, cb) { + if (!targetPage) { + return this.setState('initial', () => { + this.writeMessage($.i18n('invalid-page-url')); + }); + } + + this.sourceProject = project; // for caching purposes + + // determine what namespace the targetPage is in + const descoredTargetPage = targetPage.descore(); + let namespace = 0, queryTargetPage; + for (const ns in this.siteInfo.namespaces) { + if (ns === '0') continue; // skip mainspace + + const nsName = this.siteInfo.namespaces[ns]['*'] + ':'; + if (descoredTargetPage.startsWith(nsName)) { + namespace = this.siteInfo.namespaces[ns].id; + queryTargetPage = targetPage.substring(nsName.length); + } + } + + // get namespace number of corresponding talk or subject page + const inverseNamespace = namespace % 2 === 0 ? namespace + 1 : namespace - 1; + + let promises = []; + + [namespace, inverseNamespace].forEach(apnamespace => { + promises.push( + $.ajax({ + url: `https://${project}/w/api.php`, + jsonp: 'callback', + dataType: 'jsonp', + data: { + action: 'query', + format: 'json', + list: 'allpages', + aplimit: 500, + apnamespace, + apprefix: decodeURIComponent(queryTargetPage) + '/' + } + }) + ); + }); + + const pageLink = this.getPageLink(decodeURIComponent(targetPage), project); + + $.when(...promises).done((data, data2) => { + // show errors, if any + const errors = [data, data2].filter(resp => !!resp[0].error); + if (errors.length) { + errors.forEach(error => { + this.setState('initial', () => { + this.writeMessage( + `${$.i18n('api-error', 'Allpages API')}: ${error[0].error.info.escape()}` + ); + }); + }); + return false; + } + + let pages = data[0].query.allpages.concat(data2[0].query.allpages); + const size = pages.length; + + if (size === 0) { + return this.setState('initial', () => { + this.writeMessage($.i18n('api-error-no-data')); + }); + } + + if (size > this.config.pageLimit) { + this.writeMessage( + $.i18n('massviews-oversized-set', pageLink, this.formatNumber(size), this.config.pageLimit) + ); + + pages = pages.slice(0, this.config.pageLimit); + } + + /** + * XXX: throttling + * At this point we know we have data to process, + * so set the throttle flag to disallow additional requests for the next 90 seconds + */ + if (size > 10) this.setThrottle(); + + const pageNames = pages.map(page => page.title).concat([targetPage]); + + this.getPageViewsData(project, pageNames).done(pageViewsData => { + $('.output-title').html(pageLink); + $('.output-params').html($(this.config.dateRangeSelector).val()); + this.buildMotherDataset(targetPage, pageLink, pageViewsData); + + cb(); + }); + }).fail(data => { + this.setState('initial'); + + /** structured error comes back as a string, otherwise we don't know what happened */ + if (data && typeof data.error === 'string') { + this.writeMessage( + $.i18n('api-error', pageLink + ': ' + data.error) + ); + } else { + this.writeMessage($.i18n('api-error-unknown', pageLink)); + } + }); + } + processTemplate(cb) { const [project, template] = this.getWikiPageFromURL($(this.config.sourceInput).val()); if (!this.validateProject(project)) return; @@ -836,6 +938,91 @@ class MassViews extends mix(Pv).with(ChartHelpers, ListHelpers) { }); } + processWikiPage(cb) { + const [project, page] = this.getWikiPageFromURL($(this.config.sourceInput).val()); + if (!this.validateProject(project)) return; + + if (!page) { + return this.setState('initial', () => { + this.writeMessage($.i18n('invalid-page-url')); + }); + } + + const promise = $.ajax({ + url: `https://${project}/w/api.php`, + jsonp: 'callback', + dataType: 'jsonp', + data: { + action: 'query', + format: 'json', + pllimit: 500, + titles: decodeURIComponent(page), + prop: 'links' + } + }); + const pageLink = this.getPageLink(decodeURIComponent(page), project); + this.sourceProject = project; // for caching purposes + + promise.done(data => { + if (data.error) { + return this.setState('initial', () => { + this.writeMessage( + `${$.i18n('api-error', 'Links API')}: ${data.error.info.escape()}` + ); + }); + } + + const queryKey = Object.keys(data.query.pages)[0]; + + if (queryKey === '-1' || !data.query.pages[queryKey].links) { + return this.setState('initial', () => { + this.writeMessage($.i18n('api-error-no-data')); + }); + } + + const pages = data.query.pages[queryKey].links.map(page => page.title); + + if (!pages.length) { + return this.setState('initial', () => { + this.writeMessage($.i18n('massviews-empty-set', pageLink)); + }); + } + + // in this case we are limited by the API to 500 pages, not this.config.pageLimit + if (data.continue) { + this.writeMessage( + $.i18n('massviews-oversized-set-unknown', pageLink, 500) + ); + } + + /** + * XXX: throttling + * At this point we know we have data to process, + * so set the throttle flag to disallow additional requests for the next 90 seconds + */ + if (pages.length > 10) this.setThrottle(); + + this.getPageViewsData(project, pages).done(pageViewsData => { + $('.output-title').html(pageLink); + $('.output-params').html($(this.config.dateRangeSelector).val()); + this.buildMotherDataset(page, pageLink, pageViewsData); + + cb(); + }); + }).fail(data => { + this.setState('initial'); + + /** structured error comes back as a string, otherwise we don't know what happened */ + if (data && typeof data.error === 'string') { + this.writeMessage( + $.i18n('api-error', pageLink + ': ' + data.error) + ); + } else { + this.writeMessage($.i18n('api-error-unknown', pageLink)); + } + }); + } + processQuarry(cb) { const project = $('.quarry-project').val(), id = $(this.config.sourceInput).val(); @@ -946,12 +1133,36 @@ class MassViews extends mix(Pv).with(ChartHelpers, ListHelpers) { this.renderData(); }; + let project, target; + switch ($('#source_button').data('value')) { case 'pagepile': this.processPagePile(cb); break; case 'category': - this.processCategory(cb); + // parse input before calling processCategory, so we can query for siteinfo if needed + [project, target] = this.getWikiPageFromURL($(this.config.sourceInput).val()); + if (!this.validateProject(project)) return; + + // fetch siteinfo to get namespaces if they've opted to use subject page instead of talk + if ($('.category-subject-toggle--input').is(':checked')) { + this.getSiteInfo(project).then(() => { + this.processCategory(project, target, cb); + }); + } else { + this.processCategory(project, target, cb); + } + break; + case 'subpages': + // parse input before calling processSubpages so we can query for siteinfo + [project, target] = this.getWikiPageFromURL($(this.config.sourceInput).val()); + if (!this.validateProject(project)) return; + + // fetch namespaces first + this.getSiteInfo(project).then(() => this.processSubpages(project, target, cb)); + break; + case 'wikilinks': + this.processWikiPage(cb); break; case 'transclusions': this.processTemplate(cb); diff --git a/javascripts/shared/pv.js b/javascripts/shared/pv.js index 3d474c659..c3c49d14e 100644 --- a/javascripts/shared/pv.js +++ b/javascripts/shared/pv.js @@ -598,6 +598,47 @@ class Pv extends PvConfig { } } + /** + * Get general information about a project, such as namespaces, title of the main page, etc. + * Data returned by the api is also stored in this.siteInfo + * @param {String} project - project such as en.wikipedia (with or without .org) + * @returns {Deferred} promise resolving with siteinfo + */ + getSiteInfo(project) { + project = project.replace(/\.org$/, ''); + const dfd = $.Deferred(), + cacheKey = `pageviews-siteinfo-${project}`; + + // use cached site info if present + if (simpleStorage.hasKey(cacheKey)) { + this.siteInfo = simpleStorage.get(cacheKey); + dfd.resolve(this.siteInfo); + } else { + // otherwise fetch siteinfo and store in cache + $.ajax({ + url: `https://${project}.org/w/api.php`, + data: { + action: 'query', + meta: 'siteinfo', + siprop: 'general|namespaces', + format: 'json' + }, + dataType: 'jsonp' + }).done(data => { + this.siteInfo = data.query; + + // cache for one week (TTL is in milliseconds) + simpleStorage.set(cacheKey, this.siteInfo, {TTL: 1000 * 60 * 60 * 24 * 7}); + + dfd.resolve(this.siteInfo); + }).fail(data => { + dfd.reject(data); + }); + } + + return dfd; + } + /** * Get user agent, if supported * @returns {string} user-agent diff --git a/javascripts/topviews/topviews.js b/javascripts/topviews/topviews.js index f949ab635..d7b28d8ff 100644 --- a/javascripts/topviews/topviews.js +++ b/javascripts/topviews/topviews.js @@ -748,7 +748,7 @@ class TopViews extends Pv { }); }; - const processPages = () => { + this.getSiteInfo(this.project).done(() => { let unacceptableNamespaces = []; // for non-mainspace, count 'Wikipedia' and 'Special' since API seems to @@ -769,33 +769,10 @@ class TopViews extends Pv { this.excludes = doFiltering(this.excludes, unacceptableNamespaces); dfd.resolve(pages); - }; - - const cacheKey = `pageviews-siteinfo-${this.project}`; - - // use cached site info if present - if (simpleStorage.hasKey(cacheKey)) { - this.siteInfo = simpleStorage.get(cacheKey); - processPages(); - } else { - // otherwise fetch siteinfo and store in cache - $.ajax({ - url: `https://${this.project}.org/w/api.php`, - data: { - action: 'query', - meta: 'siteinfo', - siprop: 'general|namespaces', - format: 'json' - }, - dataType: 'jsonp' - }).always(data => { - this.siteInfo = data.query; - - // cache for one week (TTL is in milliseconds) - simpleStorage.set(cacheKey, this.siteInfo, {TTL: 1000 * 60 * 60 * 24 * 7}); - processPages(); - }); - } + }).fail(() => { + this.writeMessage(`${$.i18n('api-error', 'Siteinfo API')}`); + dfd.resolve(pages); + }); return dfd; } diff --git a/messages/be-tarask.json b/messages/be-tarask.json index 8ba8f157e..bb3cb9aa5 100644 --- a/messages/be-tarask.json +++ b/messages/be-tarask.json @@ -151,8 +151,8 @@ "faq-source-unique-devices": "— колькасьць унікальных прыладаў, якія наведалі сайт.", "faq-massviews-sources-title": "Што такое «Крыніцы»?", "faq-massviews-sources-pagepile": "— лічбавы ідэнтыфікатар старонак, створаных з $1. Вы можаце ствараць сьпісы ды імпартаваць іх у Масавыя прагляды дзеля аналізу колькасьці іхніх праглядаў.", - "faq-massviews-sources-category-url": "— поўны URL старонкі катэгорыі, напрыклад $1.", - "faq-massviews-sources-template-url": "— поўны URL старонкі шаблёну, напрыклад $1. Выніковы набор уключацьме старонкі, на якіх выкарыстоўваецца шаблён.", + "faq-massviews-sources-category": "— поўны URL старонкі катэгорыі, напрыклад $1.", + "faq-massviews-sources-template": "— поўны URL старонкі шаблёну, напрыклад $1. Выніковы набор уключацьме старонкі, на якіх выкарыстоўваецца шаблён.", "faq-massviews-sources-quarry": "— лічбавы ідэнтыфікатар праекту набору зьвестак $1. Слупок $2 (абавязковы) — тое, што будзе выкарыстанае як назвы старонак.", "faq-massviews-subject-page-title": "Што азначае опцыя «$1»?", "faq-throttle-wait-title": "Чаму я мушу чакаць {{PLURAL:$1|сэкунду|сэкунды|сэкундаў}}, перш чым скарыстацца інструмэнтам паўторна?", @@ -219,12 +219,11 @@ "invalid-template-url": "Няслушны шаблён! Калі ласка, увядзіце поўны вікі-URL шаблёну або старонкі.", "invalid-quarry-dataset": "Няслушны набор зьвестак Quarry! Неабходны слупок $1 ня знойдзены.", "source": "Крыніца", - "page-pile-id": "ідэнтыфікатар Page Pile", - "category-url": "URL катэгорыі", + "category": "катэгорыі", "elapsed-time": "Мінула часу: $1 {{PLURAL:$1|сэкунда|сэкунды|сэкундаў}}", "num-pages": "$1 {{PLURAL:$1|старонка|старонкі|старонак}}", "category-subject-toggle": "Выкарыстоўваць асноўную старонку замест старонкі абмеркаваньня", - "template-url": "URL шаблёну", + "template": "шаблёну", "logarithmic-scale": "Лягарытмічная шкала", "bezier-curve-option": "Выкарыстоўваць на лінейных дыяграмах крывую Бэзье", "list": "Сьпіс", diff --git a/messages/bn.json b/messages/bn.json index 5dad5cda7..6bdf540d3 100644 --- a/messages/bn.json +++ b/messages/bn.json @@ -186,12 +186,11 @@ "invalid-template-url": "অবৈধ টেমপ্লেট! দয়া করে টেমপ্লেট বা পৃষ্ঠার পূর্ণ উইকি URL লিখুন।", "invalid-quarry-dataset": "ডেটাসেটের কোয়েরি অবৈধ! $1 কলামটি প্রয়োজনীয় কিন্তু তা পাওয়া যায়নি।", "source": "উৎস", - "page-pile-id": "Page Pile আইডি", - "category-url": "বিষয়শ্রেণীর URL", + "category": "বিষয়শ্রেণীর", "elapsed-time": "অতিবাহিত সময়: $1 {{PLURAL:$1|সেকেন্ড}}", "num-pages": "$1টি {{PLURAL:$1|পাতা}}", "category-subject-toggle": "আলাপ পাতার পরিবর্তে বিষয়ের পাতা ব্যবহার করুন", - "template-url": "টেমপ্লেট URL", + "template": "টেমপ্লেট", "logarithmic-scale": "লগারিদমী স্কেল", "bezier-curve-option": "রেখার চার্টে বেজিয়ে বক্ররেখা ব্যবহার করুন", "list": "তালিকা", diff --git a/messages/ca.json b/messages/ca.json index a4908b24b..d9e8f4ee6 100644 --- a/messages/ca.json +++ b/messages/ca.json @@ -143,8 +143,8 @@ "faq-source-unique-devices": "és el nombre de dispositius únics que han visitat el lloc.", "faq-massviews-sources-title": "Quins són els \"fonts de dades\"?", "faq-massviews-sources-pagepile": "és l'IDENTIFICADOR numèric d'un conjunt de pàgines creades amb $1. Podeu crear llistes i importar-los a Massviews a analitzar el nombre de les pàgines vistes.", - "faq-massviews-sources-category-url": "és la URL completa d'una pàgina de categoria, per exemple $1.", - "faq-massviews-sources-template-url": "és la URL completa d'una plantilla de pàgina, per exemple $1. El resultat serà les pàgines que transcluien la plantilla.", + "faq-massviews-sources-category": "és la URL completa d'una pàgina de categoria, per exemple $1.", + "faq-massviews-sources-template": "és la URL completa d'una plantilla de pàgina, per exemple $1. El resultat serà les pàgines que transcluien la plantilla.", "faq-massviews-subject-page-title": "Què és la \"$1\" opció?", "faq-massviews-subject-page-body": "Aquesta opció és per a quan vulgueu utilitzar una categoria com la font. En alguns casos la categoria pot contenir pàgines de discussió quan vostè realment vol trobar el tema de les pàgines. Per exemple FA-Classe de la Ciutat de Nova York articles, que llista les pàgines de discussió de l'articles de qualitat FA dins del viquiprojecte de la Ciutat de Nova York.", "faq-throttle-wait-title": "Per què m'he d'esperar $1 segons abans que jo pugui usar l'eina per la segona vegada?", diff --git a/messages/cs.json b/messages/cs.json index 656f4eab7..4f58a693a 100644 --- a/messages/cs.json +++ b/messages/cs.json @@ -135,7 +135,7 @@ "massviews-redirect": "Byli jste přesměrováni z $1 , protože jste požádali o více než $2 stránky.
$3 byla automaticky vytvořena a bude zpracována.", "elapsed-time": "Uplynulý čas: $1 {{PLURAL:$1|sekunda|sekundy|sekund}}", "num-pages": "$1 {{PLURAL:$1|stránka|stránky|stránek}}", - "template-url": "URL šablony", + "template": "šablony", "logarithmic-scale": "Logaritmické měřítko", "bezier-curve-option": "Použít Bézierovu křivku na lineární grafy", "list": "Seznam", diff --git a/messages/de.json b/messages/de.json index ad6756a2b..cd3cf04a0 100644 --- a/messages/de.json +++ b/messages/de.json @@ -157,8 +157,8 @@ "faq-source-unique-devices": "ist die Anzahl der eindeutigen Geräte, die die Website besucht haben.", "faq-massviews-sources-title": "Was sind die „Quellen“?", "faq-massviews-sources-pagepile": "ist die numerische Kennung eines Satzes von Seiten, die mit $1 erstellt wurden. Du kannst Listen erstellen und sie in Massviews importieren, um ihre Seitenaufrufe zu analysieren.", - "faq-massviews-sources-category-url": "ist die vollständige URL einer Kategorieseite, zum Beispiel $1.", - "faq-massviews-sources-template-url": "ist die vollständige URL einer Vorlagenseite, zum Beispiel $1. Der Ergebnissatz werden die Seiten sein, die die Vorlage einbinden.", + "faq-massviews-sources-category": "ist die vollständige URL einer Kategorieseite, zum Beispiel $1.", + "faq-massviews-sources-template": "ist die vollständige URL einer Vorlagenseite, zum Beispiel $1. Der Ergebnissatz werden die Seiten sein, die die Vorlage einbinden.", "faq-massviews-sources-quarry": "ist die numerische Kennung und das Projekt eines $1-Datensatzes. Die Spalte $2 (erforderlich) wird als die Seitennamen verwendet.", "faq-massviews-subject-page-title": "Was ist die Option „$1“?", "faq-massviews-subject-page-body": "Diese Option ist dafür, wenn du eine Kategorie als Quelle verwendest. In einigen Fällen kann die Kategorie Diskussionsseiten enthalten, obwohl du die dazugehörigen Seiten möchtest. Zum Beispiel „exzellente Artikel zu New York City“, die die Diskussionsseiten von exzellenten Artikeln innerhalb des Wikiprojekts „New York City“ auflistet.", @@ -232,12 +232,11 @@ "invalid-template-url": "Ungültige Vorlage! Bitte gib die vollständige Wiki-URL der Vorlage oder Seite ein.", "invalid-quarry-dataset": "Ungültiger Quarry-Datensatz! Die Spalte $1 ist erforderlich, wurde aber nicht gefunden.", "source": "Quelle", - "page-pile-id": "„Page Pile“-Kennung", - "category-url": "Kategorie-URL", + "category": "Kategorie", "elapsed-time": "Verstrichene Zeit: {{PLURAL:$1|Eine Sekunde|$1 Sekunden}}", "num-pages": "{{PLURAL:$1|Eine Seite|$1 Seiten}}", "category-subject-toggle": "Die dazugehörige Seite anstatt die Diskussionsseite verwenden", - "template-url": "Vorlagen-URL", + "template": "Vorlagen", "logarithmic-scale": "Logarithmische Skala", "bezier-curve-option": "Bézierkurven auf Liniendiagrammen verwenden", "list": "Liste", diff --git a/messages/el.json b/messages/el.json index 0688fdb61..0a12e3aef 100644 --- a/messages/el.json +++ b/messages/el.json @@ -149,6 +149,5 @@ "unique-devices": "Ατομικές συσκευές", "massviews-empty-set": "Το $1 δεν περιέχει σελίδες!", "source": "Πηγή", - "category-url": "Κατηγορία URL", - "template-url": "Πρότυπο URL" + "category": "Κατηγορία" } diff --git a/messages/en.json b/messages/en.json index a9a63ccd1..dc7e50f9b 100644 --- a/messages/en.json +++ b/messages/en.json @@ -155,10 +155,12 @@ "faq-source-pageviews": "is the total number of pageviews the project received.", "faq-source-unique-devices": "is the number of unique devices that visited the site.", "faq-massviews-sources-title": "What are the \"Sources\"?", - "faq-massviews-sources-pagepile": "is the numeric ID of a set of pages created with $1. You can create lists and import them into Massviews to analyze their pageviews.", - "faq-massviews-sources-category-url": "is the full URL of a category page, for example $1.", - "faq-massviews-sources-template-url": "is the full URL of a template page, for example $1. The result set will be the pages that transclude the template.", - "faq-massviews-sources-quarry": "is the numeric ID and project of a $1 dataset. The $2 column (required) is what will be used as the page titles.", + "faq-massviews-sources-pagepile": "Enter the numeric ID of a set of pages created with $1. You can create lists and import them into Massviews to analyze their pageviews.", + "faq-massviews-sources-category": "Enter the full URL of a category page, for example $1. The result set will be the pages in the category.", + "faq-massviews-sources-wikilinks": "Enter the full URL of any page, for example $1. The result set will be all of the wikilinks that are on the page.", + "faq-massviews-sources-template": "Enter the full URL of a template page, for example $1. The result set will be the pages that transclude the template.", + "faq-massviews-sources-subpages": "Enter the full URL of any page, for example $1. The result set will be the target page and all of its subpages.", + "faq-massviews-sources-quarry": "Enter the numeric ID and project of a $1 dataset. The $2 column (required) is what will be used as the page titles.", "faq-massviews-subject-page-title": "What is the \"$1\" option?", "faq-massviews-subject-page-body": "This option is for when you are using a category as the source. In some cases the category may contain talk pages when you actually want the subject pages. For instance FA-Class New York City articles, which lists the talk pages of FA-quality articles within WikiProject New York City.", "faq-throttle-wait-title": "Why do I have to wait $1 seconds before I can use the tool a second time?", @@ -190,7 +192,7 @@ "url-structure-sort-redirectviews": "Which column to sort. One of $1, $2 or $3", "url-structure-source": "Either $1 (total page views) or $2 (number of unique devices that viewed the site)", "url-structure-massviews-example": "Example URL for PagePile: $1\nExample URL for a category: $2\nTo link to Massviews on a category page on your wiki, use:\n$3", - "url-structure-massviews-source": "One of $1, $2, $3 or $4", + "url-structure-massviews-source": "One of $1, $2, $3, $4 or $5", "url-structure-massviews-target": "The Page Pile ID, or full URL to a category. If a question mark ? is in the URL, it must be encoded.", "url-structure-massviews-target-example": "For instance, do not use:\n$1\nInstead use:\n$2\nOr you could simply use the shorter wiki URL:\n$3", "url-structure-massviews-project": "A valid $1 for the pages of Quarry results.", @@ -228,15 +230,17 @@ "siteviews-description": "Comparison of total pageviews across multiple projects", "redirectviews-description": "Pageviews of all redirects to a page", "invalid-category-url": "Invalid category! Please enter the full wiki URL of the category.", + "invalid-page-url": "Invalid page! Please enter the full wiki URL of the page.", "invalid-template-url": "Invalid template! Please enter the full wiki URL of the template or page.", "invalid-quarry-dataset": "Invalid Quarry dataset! The $1 column is required but was not found.", "source": "Source", - "page-pile-id": "Page Pile ID", - "category-url": "Category URL", + "category": "Category", + "wikilinks": "Wikilinks", + "transclusions": "Transclusions", + "subpages": "Subpages", "elapsed-time": "Elapsed time: $1 {{PLURAL:$1|second|seconds}}", "num-pages": "$1 {{PLURAL:$1|page|pages}}", "category-subject-toggle": "Use subject page instead of talk page", - "template-url": "Template URL", "logarithmic-scale": "Logarithmic scale", "bezier-curve-option": "Use Bézier curve on line charts", "list": "List", diff --git a/messages/es.json b/messages/es.json index 1e533d3b2..5f4122dc6 100644 --- a/messages/es.json +++ b/messages/es.json @@ -169,7 +169,7 @@ "invalid-category-url": "Categoría no válida. Escribe el URL wiki completo de la categoría.", "invalid-template-url": "¡Plantilla no válida! Escribe el URL wiki completo de la plantilla o la página.", "source": "Fuente", - "category-url": "URL de la categoría", + "category": "Categoría", "elapsed-time": "Tiempo transcurrido: $1 {{PLURAL:$1|segundo|segundos}}", "num-pages": "$1 {{PLURAL:$1|página|páginas}}", "logarithmic-scale": "Escala logarítmica", diff --git a/messages/eu.json b/messages/eu.json index fc9da2c4f..52a0a97f5 100644 --- a/messages/eu.json +++ b/messages/eu.json @@ -135,7 +135,7 @@ "statistics": "Estatistikak", "most-viewed-pages": "Orrialde ikusienak", "source": "Iturria", - "category-url": "URL Kategoria", + "category": "Kategoria", "logarithmic-scale": "Eskala logaritmikoa", "list": "Zerrenda", "chart": "Grafikoa", diff --git a/messages/fa.json b/messages/fa.json index 555c49940..e38c42178 100644 --- a/messages/fa.json +++ b/messages/fa.json @@ -124,7 +124,7 @@ "most-viewed-pages": "صفحه‌هایی که بیشترین تعداد بازدیدکننده را داشته‌اند", "topviews-description": "بیشترین بازدید صفحات از یک پروژه", "source": "منبع", - "category-url": "رده نشانی", + "category": "رده نشانی", "elapsed-time": "زمان گذشته: $1 {{PLURAL:$1|ثانیه|ثانیه}}", "num-pages": "$1 {{PLURAL:$1|صفحه|صفحات}}", "list": "فهرست", diff --git a/messages/fr.json b/messages/fr.json index 4b532314b..25d82a6a5 100644 --- a/messages/fr.json +++ b/messages/fr.json @@ -164,8 +164,8 @@ "faq-source-unique-devices": "est le nombre de machines uniques qui ont visité le site.", "faq-massviews-sources-title": "Quelles sont les \"sources\" ?", "faq-massviews-sources-pagepile": "est l'IDENTIFIANT numérique d'un ensemble de pages créées avec $1. Vous pouvez créer des listes et les importer dans Massviews pour analyser leurs pages vues.", - "faq-massviews-sources-category-url": "est l'URL complète d'une page de catégorie, par exemple $1.", - "faq-massviews-sources-template-url": "est l’URL complète de la page du modèle, par exemple $1. L’ensemble des résultats sera les pages qui incluent le modèle.", + "faq-massviews-sources-category": "est l'URL complète d'une page de catégorie, par exemple $1.", + "faq-massviews-sources-template": "est l’URL complète de la page du modèle, par exemple $1. L’ensemble des résultats sera les pages qui incluent le modèle.", "faq-massviews-sources-quarry": "est l’ID numérique et le projet d’un ensemble de données $1. La colonne $2 (obligatoire) est ce qui sera utilisé pour les titres de page.", "faq-massviews-subject-page-title": "Qu’est-ce que l’option « $1 » ?", "faq-massviews-subject-page-body": "Cette option sert quand vous utilisez une catégorie comme source. Dans certains cas, la catégorie peut contenir des pages de discussion alors que vous souhaitez les pages du sujet. Par exemple les articles de classe FA de la ville de New-York, qui liste les pages de discussion de qualité FA dans le projet wiki Ville de New-York.", @@ -239,12 +239,10 @@ "invalid-template-url": "Modèle invalide! Veuillez entrer l'URL complet du wiki pour le modèle ou la page.", "invalid-quarry-dataset": "Ensemble de données Quarry non valide ! La colonne $1 est obligatoire mais n’a pas été trouvée.", "source": "Source", - "page-pile-id": "ID de la pile de pages", - "category-url": "URL de la catégorie", + "category": "Catégorie", "elapsed-time": "Temps écoulé : $1 seconde{{PLURAL:$1||s}}", "num-pages": "$1 page{{PLURAL:$1||s}}", "category-subject-toggle": "Utiliser la page de l’article au lieu de la page de discussion", - "template-url": "URL du modèle", "logarithmic-scale": "Échelle logarithmique", "bezier-curve-option": "Utiliser une courbe de Bézier dans les graphes en ligne", "list": "Liste", diff --git a/messages/gl.json b/messages/gl.json index 12256b20e..55f70da2b 100644 --- a/messages/gl.json +++ b/messages/gl.json @@ -137,8 +137,8 @@ "faq-source-pageviews": "é o número total de páxinas vistas que recibeu o proxecto.", "faq-source-unique-devices": "é o número de dispositivos únicos que visitaron o sitio.", "faq-massviews-sources-title": "Que son as \"Fontes\"?", - "faq-massviews-sources-category-url": "é a URL completa da páxina de categoría, por exemplo $1.", - "faq-massviews-sources-template-url": "é a URL completa da páxina do modelo, por exemplo $1. O conxunto dos resultados serán as páxinas que transclúen o modelo", + "faq-massviews-sources-category": "é a URL completa da páxina de categoría, por exemplo $1.", + "faq-massviews-sources-template": "é a URL completa da páxina do modelo, por exemplo $1. O conxunto dos resultados serán as páxinas que transclúen o modelo", "faq-massviews-subject-page-title": "Que é a opción \"$1\"?", "url-structure-parameters": "Parámetros", "url-structure-parameters-order": "Pode usarse en calquera orde", @@ -162,9 +162,8 @@ "massviews-oversized-set-unknown": "$1 contén máis de $2 páxinas. Por motivos de rendemento, só as $2 primeiras páxinas serán procesadas.", "topviews-description": "Páxinas máis vistas dun proxecto", "source": "Fonte", - "category-url": "URL da categoría", + "category": "Categoría", "num-pages": "$1 {{PLURAL:$1|páxina|páxinas}}", - "template-url": "URL do modelo", "logarithmic-scale": "Escala logarítmica", "list": "Lista", "chart": "Gráfica", diff --git a/messages/he.json b/messages/he.json index 64f78f202..2be181b28 100644 --- a/messages/he.json +++ b/messages/he.json @@ -155,8 +155,8 @@ "faq-source-unique-devices": "מספר ההתקנים הייחודיים שמשתמשים ביקרו באתר באמצעותם.", "faq-massviews-sources-title": "מהם ה\"מקורות\"?", "faq-massviews-sources-pagepile": "המזהה המספרי של ערכת דפים שנוצרו עם $1. אפשר ליצור רשימות ולייצא אותן לצפיות המוניות כדי לנתח את הצפיות בהם.", - "faq-massviews-sources-category-url": "הוא כתובת ה־URL המלאה של דף הקטגוריה, לדוגמה $1.", - "faq-massviews-sources-template-url": "ה־URL המלא של דף התבנית, למשל $1. ערכת התוצאות תהיה הדפים שמכלילים את התבנית.", + "faq-massviews-sources-category": "הוא כתובת ה־URL המלאה של דף הקטגוריה, לדוגמה $1.", + "faq-massviews-sources-template": "ה־URL המלא של דף התבנית, למשל $1. ערכת התוצאות תהיה הדפים שמכלילים את התבנית.", "faq-massviews-sources-quarry": "המזהה המספרי והמיזם של ערכת הנתונים $1. העמודה $2 (נדרשת) זה מה שישמש לכותרות הדפים.", "faq-massviews-subject-page-title": "מהי האפשרות \"$1\"?", "faq-massviews-subject-page-body": "האפשרות הזאת מיועדת למצב שבו קטגוריה משמשת כמקור. במקרים מסוימים הקטגוריה יכולה להכיל דפי שיחה כשבעצם רצית דפי נושא. למשל FA-Class New York City articles, שבה יש רשימת דפי שיחה עם ערכים ברמת „ערך מומלץ” במיזם הוויקי בנושא ניו יורק סיטי.", @@ -230,12 +230,10 @@ "invalid-template-url": "התבנית אינה תקינה! נא להקליד את כתובת ה־URL המלאה של התבנית או הדף.", "invalid-quarry-dataset": "ערכת נתונים בלתי־תקינה של Quarry! העמודה $1 נדרשת, אבל לא נמצאה.", "source": "מקור", - "page-pile-id": "מזהה ערמת דפים", - "category-url": "כתובת ה־URL של הקטגוריה", + "category": "כתובת ה־URL של הקטגוריה", "elapsed-time": "הזמן שחלף: {{PLURAL:$1|שנייה אחת|$1 שניות}}", "num-pages": "{{PLURAL:$1|דף אחד|$1 דפים}}", "category-subject-toggle": "שימוש בשם של הדף עצמו ולא בשם של דף השיחה", - "template-url": "כתובת ה־URL של התבנית", "logarithmic-scale": "סולם לוגריתמי", "bezier-curve-option": "להשתמש בעקום בזייה בתרשימי קו", "list": "רשימה", diff --git a/messages/hi.json b/messages/hi.json index 5b3eb714f..153fc484f 100644 --- a/messages/hi.json +++ b/messages/hi.json @@ -126,6 +126,6 @@ "projects-placeholder": "परियोजना का नाम लिखें...", "most-viewed-pages": "अधिक देखे गए पन्ने", "source": "स्रोत", - "category-url": "श्रेणी यूआरएल", + "category": "श्रेणी यूआरएल", "num-pages": "$1 पन्ने" } diff --git a/messages/hu.json b/messages/hu.json index c3d829ce7..1da7b2837 100644 --- a/messages/hu.json +++ b/messages/hu.json @@ -126,8 +126,8 @@ "faq-source-pageviews": "a projekt lapmegtekintéseinek teljes száma.", "faq-source-unique-devices": "a wikit meglátogató egyedi eszközök száma.", "faq-massviews-sources-title": "Mik a „források”?", - "faq-massviews-sources-category-url": "egy kategórialap teljes URL-je, például $1.", - "faq-massviews-sources-template-url": "egy sablon teljes URL-je, például $1. Az eredményhalmaz a sablont beillesztő lapokból fog állni.", + "faq-massviews-sources-category": "egy kategórialap teljes URL-je, például $1.", + "faq-massviews-sources-template": "egy sablon teljes URL-je, például $1. Az eredményhalmaz a sablont beillesztő lapokból fog állni.", "faq-massviews-sources-quarry": "egy $1-adathalmaz numerikus azonosítója. A $2 oszlopból (kötelező) lesznek a lapcímek.", "faq-massviews-subject-page-title": "Mi az a „$1” opció?", "faq-massviews-subject-page-body": "Ez az opció arra való, amikor egy kategóriát használsz forrásként. Bizonyos esetekben a kategória vitalapokat tartalmaz, de valójában a tartalmi lapokra van szükség. Például a Kitüntetett besorolású magyar településekkel kapcsolatos szócikkek kategória a Magyar települések műhelyének érdeklődési körébe tartozó kiemelt szócikkek vitalapjait tartalmazza.", diff --git a/messages/it.json b/messages/it.json index 10f65e00c..ee0b53f84 100644 --- a/messages/it.json +++ b/messages/it.json @@ -150,7 +150,7 @@ "faq-source-pageviews": "è il numero totale di visualizzazioni delle pagine che il progetto ha ricevuto.", "faq-source-unique-devices": "è il numero di dispositivi unici che hanno visitato il sito.", "faq-massviews-sources-pagepile": "è l'ID numerico di un insieme di pagine create con $1. E' possibile creare elenchi e importarli dentro Massviews per analizzare le loro visualizzazioni delle pagine.", - "faq-massviews-sources-category-url": "è l'URL completo della pagina di una categoria, per esempio $1.", + "faq-massviews-sources-category": "è l'URL completo della pagina di una categoria, per esempio $1.", "faq-massviews-sources-quarry": "è l'ID numerico e progetto di un set di dati $1. La colonna $2 (obbligatoria) è quella che verrà utilizzata come titoli di pagina.", "faq-throttle-wait-title": "Perché devo aspettare $1 secondi prima di poter utilizzare lo strumento una seconda volta?", "faq-throttle-wait-body": "Le API Wikimedia sulle visualizzazioni delle pagine possono gestire solo un certo numero di richieste in un lasso di tempo. Per garantire che le API non falliscano e che tu ottenga tutti i dati di cui hai bisogno, devi aspettare $1 secondi dopo aver usato lo strumento, prima che tu possa usarlo nuovamente.", @@ -216,11 +216,9 @@ "invalid-template-url": "Template non valido! Inserisci l'URL wiki completo del template o della pagina.", "invalid-quarry-dataset": "Set di dati $1 non valido! La colonna $1 è obbligatoria ma non è stata trovata.", "source": "Sorgente", - "page-pile-id": "ID Page Pile", - "category-url": "URL categoria", + "category": "URL categoria", "elapsed-time": "Tempo trascorso: $1 {{PLURAL:$1|secondo|secondi}}", "num-pages": "$1 {{PLURAL:$1|pagina|pagine}}", - "template-url": "URL template", "logarithmic-scale": "Scala logarítmica", "bezier-curve-option": "Usa curva di Bézier su grafici a linee", "list": "Elenco", diff --git a/messages/ko.json b/messages/ko.json index 412cc2fec..bbd234f91 100644 --- a/messages/ko.json +++ b/messages/ko.json @@ -130,8 +130,8 @@ "faq-source-title": "\"데이터 소스\"가 무엇입니까?", "faq-massviews-sources-title": "\"소스\"가 무엇입니까?", "faq-massviews-sources-pagepile": "는 $1로 만든 페이지 모음의 숫자형태 ID입니다. 여러분은 목록을 만들 수 있고, 페이지 조회수를 분석하기 위해서 Massview로 가져올 수 있습니다.", - "faq-massviews-sources-category-url": "는 분류 페이지의 전제 URL입니다. 예를 들면, $1", - "faq-massviews-sources-template-url": "는 예를 들면, $1과 같은 템플릿 페이지의 전체 주소입니다. 결과는 템플릿을 참조 포함하는 페이지가 됩니다.", + "faq-massviews-sources-category": "는 분류 페이지의 전제 URL입니다. 예를 들면, $1", + "faq-massviews-sources-template": "는 예를 들면, $1과 같은 템플릿 페이지의 전체 주소입니다. 결과는 템플릿을 참조 포함하는 페이지가 됩니다.", "faq-massviews-subject-page-title": "\"$1\"옵션이 뭔가요?", "faq-massviews-subject-page-body": "이 옵션은 여러분이 출처(소스)로서 해당 분류정보를 사용할 때 이용합니다. 어떤 경우에는 여러분이 관련 주제 페이지를 넣고자 할 때, 분류정보에 대화페이지를 넣을 수도 있습니다.\n\n예를 들면, FA-Class New York City articles는 WikiProject New York City안에 FA-quality기사의 대화 페이지를 넣었습니다.", "url-structure-example-siteviews": "기본 옵션으로 위키의 모든 문서의 총 조회수에 대한 최신 데이터를 가져오려면 이것을 사용하세요:\n$1", @@ -165,7 +165,6 @@ "elapsed-time": "지연 시간: $1 {{PLURAL:$1|초|초}}", "num-pages": "$1{{PLURAL:$1|페이지}}", "category-subject-toggle": "대화 페이지 대신 주제 페이지 사용", - "template-url": "템플릿 URL", "chart": "차트", "begin-at-zero": "0에서 시작", "search": "검색", diff --git a/messages/ksh.json b/messages/ksh.json index f708336a8..ee378a735 100644 --- a/messages/ksh.json +++ b/messages/ksh.json @@ -117,10 +117,9 @@ "statistics": "Schtatesteke", "most-viewed-pages": "De mihts aanjelohrte Sigge", "source": "Quäll", - "category-url": "Dä Saachjrobb ier URL", + "category": "Dä Saachjrobb ier URL", "elapsed-time": "Verjange Zigg: {{PLURAL:$1|Ein Sekond|$1 Sekonde|Kein Sekond}}", "num-pages": "$1 Sigge ", - "template-url": "De Schablohn ier URL", "logarithmic-scale": "En lojaretmesche Skahla", "bezier-curve-option": "Mohl en Kurv nohm Bézier op Dijaramme met Linnije", "list": "Leß", diff --git a/messages/lb.json b/messages/lb.json index 519c02d1b..14f26a05e 100644 --- a/messages/lb.json +++ b/messages/lb.json @@ -126,7 +126,7 @@ "faq-try-tool": "Dir kënnt dëst op $1 fannen.", "faq-bug-report-title": "Ech hunn en Ufro fir eng Funktioun oder e Feeler ze mellen", "faq-massviews-sources-title": "Wat sinn d'''Quellen''?", - "faq-massviews-sources-category-url": "ass déi komplett URL vun enger Kategoriesäit, zum Beispill $1.", + "faq-massviews-sources-category": "ass déi komplett URL vun enger Kategoriesäit, zum Beispill $1.", "faq-massviews-subject-page-title": "Wat ass d'Optioun \"$1\"?", "faq-throttle-wait-title": "Firwat muss ech $1 Sekonne waarden ier ech den Tool nach eng Kéier benotze kann?", "url-structure-topviews-date-month": "E spezifesche Mount am Format $1", @@ -161,9 +161,8 @@ "langviews-description": "Gekuckt Säite vun enger Säit op alle Sproochen", "massviews-description": "Eng Lëscht vu Säiten importéieren an déi gekuckt Säite vergläichen", "source": "Quell", - "category-url": "Kategorie-URL", + "category": "Kategorie", "num-pages": "$1 {{PLURAL:$1|Säit|Säiten}}", - "template-url": "URL vun der Schabloun", "logarithmic-scale": "Logarithmesch Skala", "list": "Lëscht", "chart": "Diagramm", diff --git a/messages/lt.json b/messages/lt.json index d2412f5df..af562ed59 100644 --- a/messages/lt.json +++ b/messages/lt.json @@ -122,9 +122,7 @@ "most-viewed-pages": "Lankomiausi puslapiai", "unique-devices": "Unikalūs įrenginiai", "source": "Šaltinis", - "page-pile-id": "„Page Pile“ ID", - "category-url": "Kategorijos URL", - "template-url": "Šablono URL", + "category": "Kategorijos", "logarithmic-scale": "Logaritminė skalė", "list": "Sąrašas", "chart": "Diagrama", diff --git a/messages/lv.json b/messages/lv.json index 00eca1a38..525f946f4 100644 --- a/messages/lv.json +++ b/messages/lv.json @@ -97,7 +97,7 @@ "massviews-empty-set": "$1 nesatur nevienu lapu!", "topviews-description": "Visvairāk apskatītās lapas projektā", "source": "Avots", - "category-url": "Kategorijas URL", + "category": "Kategorijas", "num-pages": "$1 {{PLURAL:$1|lapas|lapa|lapas}}", "logarithmic-scale": "Logaritmiskā skala", "list": "Saraksts", diff --git a/messages/mi.json b/messages/mi.json index 0e03c773c..be34b7da3 100644 --- a/messages/mi.json +++ b/messages/mi.json @@ -148,8 +148,8 @@ "faq-source-unique-devices": "- te tapeke o ngā rorohiko e tuku ana te wahi ipurangi", "faq-massviews-sources-title": "He aha te \"sources\"?", "faq-massviews-sources-pagepile": "ko te nama o tētahi kāhui whārangi e hangaia ana ki $1. Ka taea e koe te hanga ngā ripanga, ka tukua atu ēna ki te taputapu ko Massviews, ki te tātaritia ō ēna whārangi titiro.", - "faq-massviews-sources-category-url": "ko te katoa o te hononga o tētahi whārangi momo (whakatuaira: $1)", - "faq-massviews-sources-template-url": "ko te katoa o te URL o tētahi whārangi tauira (whakatauira: $1). Ko te kāhui hua ngā whārangi e mahi ana i te tauira.", + "faq-massviews-sources-category": "ko te katoa o te hononga o tētahi whārangi momo (whakatuaira: $1)", + "faq-massviews-sources-template": "ko te katoa o te URL o tētahi whārangi tauira (whakatauira: $1). Ko te kāhui hua ngā whārangi e mahi ana i te tauira.", "faq-massviews-sources-quarry": "ko te nama me te whakakaupapa o ngā raraunga $1. Ko $2 ō ngā whārangi ingoa.", "faq-massviews-subject-page-title": "He aha te kowhiringa \"$1\"?", "faq-massviews-subject-page-body": "I a koe e whakamahi ana i tētahi momo whārangi hei ūkaipō, ka taea e koe te whakamahi tēnei kōwhiringa. I ētahi wā, kei roto ngā whārangi kōrero i te momo whārangi, engari kei te pīrangi koe ki ngā whārangi kaupapa. Ko tētahi whakatauira e rārangi ana i ngā whārangi kōrero : FA-Class New York City articles", @@ -214,12 +214,10 @@ "invalid-template-url": "Kei te manakore te tauira. Tukua mai te katoa o te hononga o te tauira, o te whārangi rānei.", "invalid-quarry-dataset": "Kei te manakore te kahui raraunga Maina! Kāhore te tīwae ko $1 i te kitea.", "source": "Ūkaipō", - "page-pile-id": "Nama Page Pile", - "category-url": "Hononga momo", + "category": "Hononga momo", "elapsed-time": "Te roanga o te wā kua hipa: $1 {{PLURAL:$1|te|ngā}} hēkene", "num-pages": "{{PLURAL:$1|Kotahi|E rua ngā|E toru ngā|E whā ngā|E rima ngā|E ono ngā|E whitu ngā|E waru ngā|E iwa ngā|$1 ngā|0=Kāhore ngā}} whārangi ipurangi", "category-subject-toggle": "Whakamahitia te whārangi kaupapa, tē whakamatitia ke te whārangi kōrero", - "template-url": "Hononga o te tauira", "logarithmic-scale": "Āwhata rongariti", "bezier-curve-option": "Whakamahitia te tāwhana Bézier i roto i ngā tūtohi raina", "list": "Ripanga", diff --git a/messages/mk.json b/messages/mk.json index fad03ecbc..1288f1660 100644 --- a/messages/mk.json +++ b/messages/mk.json @@ -156,8 +156,8 @@ "faq-source-unique-devices": "е бројот на поединечни уреди кои го посетиле викито.", "faq-massviews-sources-title": "Што се тоа „Извори“?", "faq-massviews-sources-pagepile": "е бројчената назнака за збир страници создадени со $1. Можете да создавате списоци и да ги увезувате во Масовни посети за да ги анализирате посетите", - "faq-massviews-sources-category-url": "е полната URL на категоријата; на пример $1.", - "faq-massviews-sources-template-url": "во полната URL на шаблонската страница, на пр. $1. Произлезениот збир ќе бидат страниците што го превметнуваат шаблонот.", + "faq-massviews-sources-category": "е полната URL на категоријата; на пример $1.", + "faq-massviews-sources-template": "во полната URL на шаблонската страница, на пр. $1. Произлезениот збир ќе бидат страниците што го превметнуваат шаблонот.", "faq-massviews-sources-quarry": "е бројчената назнака и проектот на податочен збир од $1. Колоната $2 (задолжителна) ќе се користи за наслови на страниците.", "faq-massviews-subject-page-title": "Што е можноста „$1“?", "faq-massviews-subject-page-body": "Оваа можност е предвидена за кога користите категорија како извор. Во некои случаи, категоријата може да содржи страници за разговор, а вие впрочем да барате предметни страници. На пример статии за Њујорк од класа FA, каде се наведени страниците за разговор на статиите прогласени за избрани во рамките на википроектот „Њујорк“ на англиската Википедија.", @@ -231,12 +231,10 @@ "invalid-template-url": "Неважечки шаблон! Внесете ја полната URL на шаблонот или страницата.", "invalid-quarry-dataset": "Неважечки податочен збир од Quarry! Колоната $1 е задолжителна, но не ја најдов.", "source": "Извор", - "page-pile-id": "Назнака на купот страници", - "category-url": "URL на категоријата", + "category": "категоријата", "elapsed-time": "Изминато време: $1 {{PLURAL:$1|секунда|секунди}}", "num-pages": "$1 {{PLURAL:$1|страница|страници}}", "category-subject-toggle": "Користи ја предметната место разговорната страница", - "template-url": "URL на шаблонот", "logarithmic-scale": "Логаритамски размер", "bezier-curve-option": "Користи Безјеова крива во линиските графикони", "list": "Список", diff --git a/messages/mn.json b/messages/mn.json index 4aeed4666..079337415 100644 --- a/messages/mn.json +++ b/messages/mn.json @@ -129,8 +129,7 @@ "statistics": "Статистик мэдээлэл", "most-viewed-pages": "Хамгийн олон үзсэн хуудаснууд", "source": "Эx код", - "page-pile-id": "„Page Pile“-Танилт", - "category-url": "Ангилал URL", + "category": "Ангилал", "elapsed-time": "Зарцуулсан цаг: $1 {{PLURAL:$1|секунд|секунд}}", "num-pages": "$1 {{PLURAL:$1|xуудас|$1 хуудаснууд}}", "template-url": "Загвар-URL" diff --git a/messages/nb.json b/messages/nb.json index 7bbe9c25e..3dcb8f774 100644 --- a/messages/nb.json +++ b/messages/nb.json @@ -174,7 +174,7 @@ "massviews-description": "Importer en liste av sider og analyser antall sidevisninger", "invalid-category-url": "Ugyldig kategori! Vennlist elgg inn full nettadresse til kategorien.", "source": "Kilde", - "category-url": "Kategoriadresse", + "category": "Kategoriadresse", "elapsed-time": "Tid som har gått: $1 sekunder", "num-pages": "$1 sider" } diff --git a/messages/pl.json b/messages/pl.json index e2231e71c..057a5b73d 100644 --- a/messages/pl.json +++ b/messages/pl.json @@ -135,10 +135,9 @@ "invalid-category-url": "Nieprawidłowa kategoria! Podaj pełny URL kategorii.", "invalid-template-url": "Nieprawidłowy szablon! Podaj pełny URL szablonu lub strony.", "source": "Źródło", - "category-url": "URL kategorii", + "category": "Kategorii", "elapsed-time": "Czas, który upłynął: $1 {{PLURAL:$1|sekunda|sekundy|sekund}}", "num-pages": "$1 {{PLURAL:$1|strona|strony|stron}}", - "template-url": "URL szablonu", "logarithmic-scale": "Skala logarytmiczna", "bezier-curve-option": "Użyj krzywej Béziera na wykresach liniowych", "list": "Lista", diff --git a/messages/pt.json b/messages/pt.json index 4f2b92cb6..c5ab1b18c 100644 --- a/messages/pt.json +++ b/messages/pt.json @@ -159,7 +159,6 @@ "redirectviews-description": "Visualizações de todos os redirecionamentos para uma página", "elapsed-time": "Tempo decorrido: $1 {{PLURAL:$1|segundo|segundos}}", "num-pages": "$1 {{PLURAL:$1|página|páginas}}", - "template-url": "URL da predefinição", "logarithmic-scale": "Escada logarítmica", "bezier-curve-option": "Usar curva de Bézier nos gráficos em linha", "list": "Lista", diff --git a/messages/qqq.json b/messages/qqq.json index 80ef2277a..91ba7750b 100644 --- a/messages/qqq.json +++ b/messages/qqq.json @@ -163,9 +163,11 @@ "faq-source-pageviews": "FAQ - body of the section explaining what the 'source' options are.", "faq-source-unique-devices": "is the number of unique devices that visited the site.", "faq-massviews-sources-title": "FAQ - title of the section explaining what the sources are in the Massviews tool.", - "faq-massviews-sources-pagepile": "FAQ - explanation of what the 'Page Pile ID' source in the Massviews tool is.", - "faq-massviews-sources-category-url": "FAQ - explanation of what the 'Category URL' source in the Massviews tool is.", - "faq-massviews-sources-template-url": "FAQ - explanation of what the 'Template URL' source in the Massviews tool is.", + "faq-massviews-sources-pagepile": "FAQ - explanation of what the 'Page Pile' source in the Massviews tool is.", + "faq-massviews-sources-category": "FAQ - explanation of what the 'Category' source in the Massviews tool is.", + "faq-massviews-sources-wikilinks": "FAQ - explanation of what the 'Wikilinks' source in the Massviews tool is.", + "faq-massviews-sources-template": "FAQ - explanation of what the 'Template' source in the Massviews tool is.", + "faq-massviews-sources-subpages": "FAQ - explanation of what the 'Subpages' source in the Massviews tool is.", "faq-massviews-sources-quarry": "FAQ - explanation of what the 'Quarry' source in the Massviews tool is. $1 is the name of the Quarry tool. $2 is the name of the column that the Quarry dataset is required to have.", "faq-massviews-subject-page-title": "FAQ - title of the section explaining what the 'use subject page' option is. $1 is the i18n message 'category-subject-toggle'.", "faq-massviews-subject-page-body": "FAQ - explanation of what the 'use subject page' option is", @@ -198,7 +200,7 @@ "url-structure-sort-redirectviews": "Documentation for the 'sort' parameter in the Redirectviews application. $1, $2, and $3 are the valid values. This message is the same as the 'url-structure-sort' message except there are 3 values instead of 4.", "url-structure-source": "Documentation for the 'source' parameter. $1 and $2 are valid values", "url-structure-massviews-example": "Example of how to link to Massviews Analysis. $1 is the example for Page Piles, $2 for categories, and $3 for linking on a category wiki page. Shown on https://tools.wmflabs.org/massviews/url_structure/ . Every parameter is shown as a separate paragraph in monospaced font (in a <pre> tag).", - "url-structure-massviews-source": "States the 'source' parameter can have one of the values 'pagepile' ($1), 'category' ($2) or 'transclusions' ($3)", + "url-structure-massviews-source": "States the 'source' parameter can any of the values $1, $2, $3, $4 or $5", "url-structure-massviews-target": "Explains what the 'target' parameter is, and that if a question mark is in the URL than the URL must be encoded.", "url-structure-massviews-target-example": "Example of valid and invalid target values. $1 is an invalid example, $2 is the valid equivalent. $3 is the shortened wiki URL which is also valid. Please closely follow the English translation for this message. All parameters are HTML elements that show up on their own line.", "url-structure-massviews-project": "Similar to the 'url-structure-project' message except indicates this parameter only applies to Quarry results. $1 is the message for 'project' that is a link to the sitematrix (list of valid projects).", @@ -236,15 +238,17 @@ "siteviews-description": "Brief description of the Siteviews tool. Shown directly under the header.", "redirectviews-description": "Brief description of the Redirectviews tool. Shown directly under the header.", "invalid-category-url": "Error message saying the user inputted wiki URL is not a valid category (as in the Category namespace).", + "invalid-page-url": "Error message saying the user inputted wiki URL is not a valid page.", "invalid-template-url": "Error message saying the user inputted wiki URL is not a valid template or page. In this case it does not have to be in the Template namespace, rather it just needs to be a valid page.", "invalid-quarry-dataset": "Error message saying the user inputted a Quarry dataset without the required column. $1 is the name of the column that is required.", "source": "Label for the 'source' input field in the Massviews tool.\n{{Identical|Source}}", - "page-pile-id": "Label for the 'Page Pile ID' input field on the Massviews tool. The proper noun 'Page Pile' should not be translated.", - "category-url": "Label for the 'Category URL' input field on the Massviews tool. This indicates they should enter a full URL to the wiki category.", + "category": "Label for the 'Category' input field on the Massviews tool.\n{{Identical|Category}}", + "wikilinks": "Label for the 'Wikilinks' input field on the Massviews tool. Wikilinks are links on a page that link to other pages.\n{{Identical|Wikilinks}}", + "transclusions": "Label for the 'Transclusions' input field on the Massviews tool. See the wikidata item for 'transclusion' for possible translations: https://www.wikidata.org/wiki/Q1207412\n{{Identical|Transclusions}}", + "subpages": "Label for the 'Subpages' input field on the Massviews tool. See the wikidata item for 'Project:Subpages' for possible translations: https://www.wikidata.org/wiki/Q4592255\n{{Identical|Subpages}}", "elapsed-time": "Message saying the amount of time the operation took. $1 is the number of seconds.", "num-pages": "Text simply indicating a number of pages. $1 is the number. This is used as a label in the Massviews app, indicating how many pages are in the collection.\n{{Identical|Page}}", "category-subject-toggle": "Option shown on Massviews when the 'Category URL' source is selected. This option tells the tool to use the subject page of any talk pages in the category.", - "template-url": "Label for the 'Template URL' input field on the Massviews tool. This indicates they should enter a full URL to the wiki template.", "logarithmic-scale": "Label to show the chart using a logarithmic scale. Translation may easily be found on Wikidata, see https://www.wikidata.org/wiki/Q937378\n{{Identical|Logarithmic scale}}", "bezier-curve-option": "Label for option to plot line charts using the Bézier curve", "list": "Label for the button to show the 'list view' of Massviews. 'Table' might also be a fitting translation.\n{{Identical|List}}", diff --git a/messages/ro.json b/messages/ro.json index 773e62ae2..3bcfbb2d4 100644 --- a/messages/ro.json +++ b/messages/ro.json @@ -155,8 +155,8 @@ "faq-source-unique-devices": "este numărul de dispozitive unice care au vizitat saitul.", "faq-massviews-sources-title": "Ce sunt „Sursele”?", "faq-massviews-sources-pagepile": "este identificatorul numeric al unui grup de pagini creat cu $1. Puteți crea liste și le puteți importa în „Analiza vizualizărilor pe liste” pentru a le analiza vizualizările.", - "faq-massviews-sources-category-url": "este URL-ul întreg al unei pagini categorie, de exemplu $1.", - "faq-massviews-sources-template-url": "este adresa URL completă a unei pagini de tip format, de exemplu $1. Setul rezultat va fi alcătuit din paginile care transclud (încorporează) formatul.", + "faq-massviews-sources-category": "este URL-ul întreg al unei pagini categorie, de exemplu $1.", + "faq-massviews-sources-template": "este adresa URL completă a unei pagini de tip format, de exemplu $1. Setul rezultat va fi alcătuit din paginile care transclud (încorporează) formatul.", "faq-massviews-sources-quarry": "este identificatorul numeric și proiectul unui set de date $1. Coloana $2 (necesară) este ceea ce va fi folosit pentru titlurile paginilor.", "faq-massviews-subject-page-title": "Ce reprezintă opțiunea „$1”?", "faq-massviews-subject-page-body": "Această opțiune este pentru cazul în care folosiți o categorie ca sursă. În unele cazuri categoria poate conține pagini de discuție ale articolelor când de fapt ați dori paginile articolelor propriu-zise. De exemplu FA-Class New York City articles, care listează paginile de discuție ale articolelor de calitate din cadrul WikiProiectului New York City al Wikipediei în limba engleză.", @@ -225,11 +225,10 @@ "invalid-quarry-dataset": "Set de date Quarry incorect! Coloana $1 este necesară dar nu a fost găsită.", "source": "Sursă", "page-pile-id": "ID-ul Page Pile", - "category-url": "Adresa URL a categoriei", + "category": "Categoriei", "elapsed-time": "Timpul scurs: $1 {{PLURAL:$1|secundă|secunde}}", "num-pages": "$1 {{PLURAL:$1|pagină|pagini}}", "category-subject-toggle": "Folosește pagina articolului în locul paginii de discuție", - "template-url": "Adresa URL a formatului", "logarithmic-scale": "Scară logaritmică", "bezier-curve-option": "Folosire curbă Bézier la graficele cu linii", "list": "Listă", diff --git a/messages/ru.json b/messages/ru.json index 05f3adf4b..e329e5522 100644 --- a/messages/ru.json +++ b/messages/ru.json @@ -134,10 +134,9 @@ "massviews-oversized-set": "$1 содержит $2 страниц. По техническим причинам, будут показаны только первые $3 страниц.", "massviews-oversized-set-unknown": "$1 содержит более $2 страниц. По техническим причинам, будут показаны только первые $2 страниц.", "source": "Источник", - "category-url": "URL категории", + "category": "категории", "elapsed-time": "Прошедшее время: $1 {{PLURAL:$1|секунда|секунд|секунды}}", "num-pages": "$1 {{PLURAL:$1|страница|страниц|страницы}}", - "template-url": "URL шаблона", "list": "Список", "chart": "Диаграмма", "search": "Поиск" diff --git a/messages/sv.json b/messages/sv.json index 114640a25..49a1364c7 100644 --- a/messages/sv.json +++ b/messages/sv.json @@ -153,7 +153,7 @@ "faq-source-pageviews": "är det totala antalet sidbesök som projektet får", "faq-source-unique-devices": "är antalet unika enheter som besöker webbplatsen.", "faq-massviews-sources-title": "Vilka är \"källorna\"?", - "faq-massviews-sources-category-url": "är den fullständiga adressen för en kategorisida, t.ex. $1.", + "faq-massviews-sources-category": "är den fullständiga adressen för en kategorisida, t.ex. $1.", "faq-massviews-subject-page-title": "Vad är alternativet \"$1\"?", "faq-throttle-wait-title": "Varför måste jag vänta $1 sekunder innan jag kan använda verktyget igen?", "url-structure-example-siteviews": "Använd följande för att få den senaste datan för totala antalet sidbesök för alla artiklar med standardalternativen:\n$1", @@ -213,11 +213,10 @@ "invalid-template-url": "Ogiltig mall! Ange den fullständiga wikiadressen till mallen eller sidan.", "source": "Källa", "page-pile-id": "Sidhögs-ID", - "category-url": "Kategori-adress", + "category": "Kategori-adress", "elapsed-time": "Förfluten tid: $1 {{PLURAL:$1|sekund|sekunder}}", "num-pages": "$1 {{PLURAL:$1|sida|sidor}}", "category-subject-toggle": "Använd ämnessidan istället för diskussionssidan", - "template-url": "Malladress", "logarithmic-scale": "Logaritmisk skala", "bezier-curve-option": "Använd Bézierkurvor i linjediagram", "list": "Lista", diff --git a/messages/th.json b/messages/th.json index f9148c998..ff37d9fb0 100644 --- a/messages/th.json +++ b/messages/th.json @@ -177,11 +177,10 @@ "invalid-quarry-dataset": "กลุ่มข้อมูลควอรีไม่ถูกต้อง! $1 คอลัมน์ต้องการ แต่หาไม่พบ", "source": "แหล่งที่มา", "page-pile-id": "ไอดี Page Pile", - "category-url": "หมวดหมู่ URL", + "category": "หมวดหมู่", "elapsed-time": "เวลาล่วงผ่าน: $1 {{PLURAL:$1|วินาที|วินาที}}", "num-pages": "$1 {{PLURAL:$1|หน้า|หน้า}}", "category-subject-toggle": "ใช้หัวข้อของหน้าแทนของหน้าพูดคุย", - "template-url": "แม่แบบยูอาร์แอล", "logarithmic-scale": "มาตราส่วนเชิงลอการิทึม", "bezier-curve-option": "ใช้เส้นโค้งเบซิเอร์บนเส้นแผนภูมิ", "list": "รายการ", diff --git a/messages/tr.json b/messages/tr.json index 57bb42280..0fe059e1e 100644 --- a/messages/tr.json +++ b/messages/tr.json @@ -151,8 +151,8 @@ "faq-source-unique-devices": "siteyi ziyaret eden benzersiz cihazların sayısıdır.", "faq-massviews-sources-title": "\"Kaynaklar\" nelerdir?", "faq-massviews-sources-pagepile": "$1 ile oluşturulan sayfaların bir dizi sayısal kimliğidir. Siz listeler oluşturmak ve bunların sayfa gösterimini analiz etmek amacıyla bunları sihirli kelimeler ile görüntülemelere aktarabilirsiniz.", - "faq-massviews-sources-category-url": "örneğin $1, bir kategori sayfasının tam URL adresidir.", - "faq-massviews-sources-template-url": "örneğin $1, bir şablon sayfasının tam URL adresidir. Sonuç olarak bu şablon girdisi olarak ayarlanacaktır.", + "faq-massviews-sources-category": "örneğin $1, bir kategori sayfasının tam URL adresidir.", + "faq-massviews-sources-template": "örneğin $1, bir şablon sayfasının tam URL adresidir. Sonuç olarak bu şablon girdisi olarak ayarlanacaktır.", "faq-massviews-sources-quarry": "sayısal bir kimlik ve $1 projesinin veri setidir. $2 sütunu (gerekli) sayfa başlığı olarak kullanılacaktır.", "faq-massviews-subject-page-title": "\"$1\" seçeneği nedir?", "faq-massviews-subject-page-body": "Bu seçenek kaynak olarak bir kategori kullanıldığında geçerlidir. Aslında konu sayfaları bazı tartışma sayfalarının kategorilerini içerebilir. Örneğin New York City maddesi ile birlikte New York City VikiProjesine ait benzer kategorideki tartışma sayfasını da listeler.", @@ -217,11 +217,10 @@ "invalid-quarry-dataset": "Geçersiz Sorgu veri seti. $1 sütunu gerekli ancak bulunamadı.", "source": "Kaynak", "page-pile-id": "Sayfa Kütük Kimliği", - "category-url": "Kategori URL", + "category": "Kategori", "elapsed-time": "Geçen süre: $1 {{PLURAL:$1|saniye|saniye}}", "num-pages": "$1 {{PLURAL:$1|sayfa|sayfa}}", "category-subject-toggle": "Konu sayfası yerine tartışma sayfasını kullanın", - "template-url": "Şablon URL", "logarithmic-scale": "Logaritmik ölçek", "bezier-curve-option": "Çizgi grafiklerde eğri kullanın", "list": "Liste", diff --git a/messages/uk.json b/messages/uk.json index a8c344038..ac3dcadb3 100644 --- a/messages/uk.json +++ b/messages/uk.json @@ -157,8 +157,8 @@ "faq-source-unique-devices": "— це кількість унікальних пристроїв, що відвідали цей сайт.", "faq-massviews-sources-title": "Що таке «Джерела»?", "faq-massviews-sources-pagepile": "— це числовий ідентифікатор набору сторінок, створеного за допомогою $1. Ви можете створювати списки та імпортувати їх у Масові перегляди для аналізу кількості їх переглядів.", - "faq-massviews-sources-category-url": "— це повна URL-адреса сторінки категорії, наприклад, $1.", - "faq-massviews-sources-template-url": "— це повна URL-адреса сторінки шаблону, наприклад, $1. Результатом буде виведення сторінок, що включають цей шаблон.", + "faq-massviews-sources-category": "— це повна URL-адреса сторінки категорії, наприклад, $1.", + "faq-massviews-sources-template": "— це повна URL-адреса сторінки шаблону, наприклад, $1. Результатом буде виведення сторінок, що включають цей шаблон.", "faq-massviews-sources-quarry": "— це числовий ідентифікатор та проект набору даних $1. Стовпець $2 (обов'язковий) — це те, що буде використано як назви сторінок.", "faq-massviews-subject-page-title": "Що означає опція «$1»?", "faq-massviews-subject-page-body": "Ця опція призначена для тих випадків, коли Ви використовуєте категорію як джерело. у деяких випадках така категорія може містити сторінки обговорень, тоді як Ви насправді хочете брати до уваги лише основні сторінки. Наприклад, категорія FA-Class New York City articles, що містить сторінки обговорень вибраних статей із вікіпроекту «New York City».", @@ -227,11 +227,10 @@ "invalid-quarry-dataset": "Недійсний набір даних Quarry! Стовпець $1 є обов'язковим, але його не було знайдено.", "source": "Джерело", "page-pile-id": "Page Pile ID", - "category-url": "URL категорії", + "category": "категорії", "elapsed-time": "Час, що минув: $1 {{PLURAL:$1|секунда|секунди|секунд}}", "num-pages": "$1 {{PLURAL:$1|сторінка|сторінки|сторінок}}", "category-subject-toggle": "Використовувати основні сторінки замість сторінок обговорення", - "template-url": "URL шаблону", "logarithmic-scale": "Логарифмічна шкала", "bezier-curve-option": "Використовувати на лінійних діаграмах криву Безьє", "list": "Список", diff --git a/messages/vi.json b/messages/vi.json index 6fdf23dd1..34ff5280f 100644 --- a/messages/vi.json +++ b/messages/vi.json @@ -175,11 +175,9 @@ "topviews-description": "Các trang được xem nhiều nhất của một dự án", "massviews-description": "Nhập một danh sách trang và so sánh các số lượt xem", "source": "Nguồn", - "page-pile-id": "ID Page Pile", - "category-url": "URL thể loại", + "category": "URL thể loại", "elapsed-time": "Thời gian mất: $1 giây", "num-pages": "$1 trang", - "template-url": "URL của bản mẫu", "logarithmic-scale": "Tỉ lệ lôgarit", "bezier-curve-option": "Dùng đường cong Bézier cho các biểu đồ đường thẳng", "list": "Danh sách", diff --git a/messages/zh-hans.json b/messages/zh-hans.json index d637fdb47..56c21d455 100644 --- a/messages/zh-hans.json +++ b/messages/zh-hans.json @@ -158,8 +158,8 @@ "faq-source-unique-devices": "是访问网站的单一设备数量。", "faq-massviews-sources-title": "什么是“来源”?", "faq-massviews-sources-pagepile": "是由$1创建的一系列页面的数字ID。您可以创建列表并将其导入进大量浏览工具,以分析它们的页面浏览统计。", - "faq-massviews-sources-category-url": "是分类页面的完整URL,例如$1。", - "faq-massviews-sources-template-url": "是分类页面的完整URL,例如$1。结果集将成为嵌入模板的页面。", + "faq-massviews-sources-category": "是分类页面的完整URL,例如$1。", + "faq-massviews-sources-template": "是分类页面的完整URL,例如$1。结果集将成为嵌入模板的页面。", "faq-massviews-sources-quarry": "是$1数据集的数字ID和项目。$2列(必填)将用作页面标题。", "faq-massviews-subject-page-title": "什么是“$1”选项?", "faq-massviews-subject-page-body": "此选项用在当您使用分类作为来源的情况。一些情况下,当您实际上想要主题页面时,分类可能包含讨论页。例如FA-Class New York City articles,它列举了在纽约专题中特色条目的讨论页。", @@ -233,12 +233,10 @@ "invalid-template-url": "无效模板!请输入模板或页面的完整wiki URL。", "invalid-quarry-dataset": "无效的Quarry数据集!$1列必填,但未找到。", "source": "来源", - "page-pile-id": "页面堆ID", - "category-url": "分类URL", + "category": "分类", "elapsed-time": "运行时间:$1{{PLURAL:$1|秒}}", "num-pages": "$1个{{PLURAL:$1|页面}}", "category-subject-toggle": "使用主题页面而不是讨论页", - "template-url": "模板URL", "logarithmic-scale": "对数尺度", "bezier-curve-option": "在折线图上使用贝塞尔曲线", "list": "列表", diff --git a/messages/zh-hant.json b/messages/zh-hant.json index 8fddbe64c..c9a8084fc 100644 --- a/messages/zh-hant.json +++ b/messages/zh-hant.json @@ -160,8 +160,8 @@ "faq-source-unique-devices": "為瀏覽該網站各設備的數量", "faq-massviews-sources-title": "什麼是來源", "faq-massviews-sources-pagepile": "是使用$1所創建頁面的ID號碼。您可以建立一份匯入至大量瀏覽工具的號碼清單來分析這些頁面的瀏覽次數。", - "faq-massviews-sources-category-url": "是完整分類頁面的網址,如$1", - "faq-massviews-sources-template-url": "是模板頁面的完整網址,例如像$1。結果集合內容會成為嵌入至模板的頁面。", + "faq-massviews-sources-category": "是完整分類頁面的網址,如$1", + "faq-massviews-sources-template": "是模板頁面的完整網址,例如像$1。結果集合內容會成為嵌入至模板的頁面。", "faq-massviews-sources-quarry": "為數字ID和$1資料集的項目。必填的 $2列是用作頁面標題。", "faq-massviews-subject-page-title": "什麼是$1選項?", "faq-massviews-subject-page-body": "此選項使用在以分類作為來源時。某些情形下,您所想要用的主題中,分類裡頭可能包含著討論頁面。如英語維基上與紐約市有關的特色條目分類中,此分類頁面裡便列出紐約市專題裡各特色條目的討論頁連結。", @@ -235,12 +235,10 @@ "invalid-template-url": "無效模板!請輸入模板或頁面在維基上的完整網址。", "invalid-quarry-dataset": "無效的查詢資料集!未找出必填的$1列。", "source": "來源", - "page-pile-id": "頁面堆疊ID", - "category-url": "分類項目網址", + "category": "分類項目網址", "elapsed-time": "花費時間:$1{{PLURAL:$1|秒|秒}}", "num-pages": "$1{{PLURAL:$1|個頁面|個頁面}}", "category-subject-toggle": "使用專題頁面取代討論頁面", - "template-url": "模板網址", "logarithmic-scale": "對數尺度", "bezier-curve-option": "在線狀圖上啟用貝茲曲線", "list": "清單", diff --git a/public_html/application.js b/public_html/application.js index 383739da6..d0d5c1698 100644 --- a/public_html/application.js +++ b/public_html/application.js @@ -11,6 +11,6 @@ if(this.timePicker){var h=parseInt(this.container.find(".left .hourselect").val( g.easing=f.easing,g.render=function(a,c){var d=b.easingEffects[c.easing],e=c.currentStep/c.numSteps,f=d(e);a.draw(f,e,c.currentStep)},g.onAnimationProgress=f.onProgress,g.onAnimationComplete=f.onComplete,a.animationService.addAnimation(e,g,c,d)}else e.draw(),f&&f.onComplete&&f.onComplete.call&&f.onComplete.call(e);return e},draw:function(c){var d=this,e=c||1;d.clear(),a.plugins.notify("beforeDraw",[d,e]),b.each(d.boxes,function(a){a.draw(d.chartArea)},d),d.scale&&d.scale.draw(),a.plugins.notify("beforeDatasetsDraw",[d,e]),b.each(d.data.datasets,function(a,b){d.isDatasetVisible(b)&&d.getDatasetMeta(b).controller.draw(c)},d,!0),a.plugins.notify("afterDatasetsDraw",[d,e]),d.tooltip.transition(e).draw(),a.plugins.notify("afterDraw",[d,e])},getElementAtEvent:function(a){var c=this,d=b.getRelativePosition(a,c.chart),e=[];return b.each(c.data.datasets,function(a,f){if(c.isDatasetVisible(f)){var g=c.getDatasetMeta(f);b.each(g.data,function(a,b){return a.inRange(d.x,d.y)?(e.push(a),e):void 0})}}),e},getElementsAtEvent:function(a){var c=this,d=b.getRelativePosition(a,c.chart),e=[],f=function(){if(c.data.datasets)for(var a=0;a0&&(b=this.getDatasetMeta(b[0]._datasetIndex).data),b},getDatasetMeta:function(a){var b=this,c=b.data.datasets[a];c._meta||(c._meta={});var d=c._meta[b.id];return d||(d=c._meta[b.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null}),d},getVisibleDatasetCount:function(){for(var a=0,b=0,c=this.data.datasets.length;c>b;++b)this.isDatasetVisible(b)&&a++;return a},isDatasetVisible:function(a){var b=this.getDatasetMeta(a);return"boolean"==typeof b.hidden?!b.hidden:!this.data.datasets[a].hidden},generateLegend:function(){return this.options.legendCallback(this)},destroy:function(){var c=this;c.stop(),c.clear(),b.unbindEvents(c,c.events),b.removeResizeListener(c.chart.canvas.parentNode);var d=c.chart.canvas;d.width=c.chart.width,d.height=c.chart.height,void 0!==c.chart.originalDevicePixelRatio&&c.chart.ctx.scale(1/c.chart.originalDevicePixelRatio,1/c.chart.originalDevicePixelRatio),d.style.width=c.chart.originalCanvasStyleWidth,d.style.height=c.chart.originalCanvasStyleHeight,a.plugins.notify("destroy",[c]),delete a.instances[c.id]},toBase64Image:function(){return this.chart.canvas.toDataURL.apply(this.chart.canvas,arguments)},initToolTip:function(){var b=this;b.tooltip=new a.Tooltip({_chart:b.chart,_chartInstance:b,_data:b.data,_options:b.options.tooltips},b)},bindEvents:function(){var a=this;b.bindEvents(a,a.options.events,function(b){a.eventHandler(b)})},updateHoverStyle:function(a,b,c){var d,e,f,g=c?"setHoverStyle":"removeHoverStyle";switch(b){case"single":a=[a[0]];break;case"label":case"dataset":break;default:return}for(e=0,f=a.length;f>e;++e)d=a[e],d&&this.getDatasetMeta(d._datasetIndex).controller[g](d)},eventHandler:function(a){var c=this,d=c.tooltip,e=c.options||{},f=e.hover,g=e.tooltips;return c.lastActive=c.lastActive||[],c.lastTooltipActive=c.lastTooltipActive||[],"mouseout"===a.type?(c.active=[],c.tooltipActive=[]):(c.active=c.getElementsAtEventForMode(a,f.mode),c.tooltipActive=c.getElementsAtEventForMode(a,g.mode)),f.onHover&&f.onHover.call(c,c.active),("mouseup"===a.type||"click"===a.type)&&(e.onClick&&e.onClick.call(c,a,c.active),c.legend&&c.legend.handleEvent&&c.legend.handleEvent(a)),c.lastActive.length&&c.updateHoverStyle(c.lastActive,f.mode,!1),c.active.length&&f.mode&&c.updateHoverStyle(c.active,f.mode,!0),(g.enabled||g.custom)&&(d.initialize(),d._active=c.tooltipActive,d.update(!0)),d.pivot(),c.animating||b.arrayEquals(c.active,c.lastActive)&&b.arrayEquals(c.tooltipActive,c.lastTooltipActive)||(c.stop(),(g.enabled||g.custom)&&d.update(!0),c.render(f.animationDuration,!0)),c.lastActive=c.active,c.lastTooltipActive=c.tooltipActive,c}})}},{}],23:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers,c=b.noop;a.DatasetController=function(a,b){this.initialize.call(this,a,b)},b.extend(a.DatasetController.prototype,{datasetElementType:null,dataElementType:null,initialize:function(a,b){var c=this;c.chart=a,c.index=b,c.linkScales(),c.addElements()},updateIndex:function(a){this.index=a},linkScales:function(){var a=this,b=a.getMeta(),c=a.getDataset();null===b.xAxisID&&(b.xAxisID=c.xAxisID||a.chart.options.scales.xAxes[0].id),null===b.yAxisID&&(b.yAxisID=c.yAxisID||a.chart.options.scales.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(a){return this.chart.scales[a]},reset:function(){this.update(!0)},createMetaDataset:function(){var a=this,b=a.datasetElementType;return b&&new b({_chart:a.chart.chart,_datasetIndex:a.index})},createMetaData:function(a){var b=this,c=b.dataElementType;return c&&new c({_chart:b.chart.chart,_datasetIndex:b.index,_index:a})},addElements:function(){var a,b,c=this,d=c.getMeta(),e=c.getDataset().data||[],f=d.data;for(a=0,b=e.length;b>a;++a)f[a]=f[a]||c.createMetaData(d,a);d.dataset=d.dataset||c.createMetaDataset()},addElementAndReset:function(a){var b=this,c=b.createMetaData(a);b.getMeta().data.splice(a,0,c),b.updateElement(c,a,!0)},buildOrUpdateElements:function(){var a=this.getMeta(),b=a.data,c=this.getDataset().data.length,d=b.length;if(d>c)b.splice(c,d-c);else if(c>d)for(var e=d;c>e;++e)this.addElementAndReset(e)},update:c,draw:function(a){var c=a||1;b.each(this.getMeta().data,function(a,b){a.transition(c).draw()})},removeHoverStyle:function(a,c){var d=this.chart.data.datasets[a._datasetIndex],e=a._index,f=a.custom||{},g=b.getValueAtIndexOrDefault,h=(b.color,a._model);h.backgroundColor=f.backgroundColor?f.backgroundColor:g(d.backgroundColor,e,c.backgroundColor),h.borderColor=f.borderColor?f.borderColor:g(d.borderColor,e,c.borderColor),h.borderWidth=f.borderWidth?f.borderWidth:g(d.borderWidth,e,c.borderWidth)},setHoverStyle:function(a){var c=this.chart.data.datasets[a._datasetIndex],d=a._index,e=a.custom||{},f=b.getValueAtIndexOrDefault,g=(b.color,b.getHoverColor),h=a._model;h.backgroundColor=e.hoverBackgroundColor?e.hoverBackgroundColor:f(c.hoverBackgroundColor,d,g(h.backgroundColor)),h.borderColor=e.hoverBorderColor?e.hoverBorderColor:f(c.hoverBorderColor,d,g(h.borderColor)),h.borderWidth=e.hoverBorderWidth?e.hoverBorderWidth:f(c.hoverBorderWidth,d,h.borderWidth)}}),a.DatasetController.extend=b.inherits}},{}],24:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers;a.elements={},a.Element=function(a){b.extend(this,a),this.initialize.apply(this,arguments)},b.extend(a.Element.prototype,{initialize:function(){this.hidden=!1},pivot:function(){var a=this;return a._view||(a._view=b.clone(a._model)),a._start=b.clone(a._view),a},transition:function(a){var c=this;return c._view||(c._view=b.clone(c._model)),1===a?(c._view=c._model,c._start=null,c):(c._start||c.pivot(),b.each(c._model,function(d,e){if("_"===e[0]);else if(c._view.hasOwnProperty(e))if(d===c._view[e]);else if("string"==typeof d)try{var f=b.color(c._model[e]).mix(b.color(c._start[e]),a);c._view[e]=f.rgbString()}catch(g){c._view[e]=d}else if("number"==typeof d){var h=void 0!==c._start[e]&&isNaN(c._start[e])===!1?c._start[e]:0;c._view[e]=(c._model[e]-h)*a+h}else c._view[e]=d;else"number"!=typeof d||isNaN(c._view[e])?c._view[e]=d:c._view[e]=d*a},c),c)},tooltipPosition:function(){return{x:this._model.x,y:this._model.y}},hasValue:function(){return b.isNumber(this._model.x)&&b.isNumber(this._model.y)}}),a.Element.extend=b.inherits}},{}],25:[function(a,b,c){"use strict";var d=a(3);b.exports=function(a){function b(a,b,c){var d;return"string"==typeof a?(d=parseInt(a,10),-1!=a.indexOf("%")&&(d=d/100*b.parentNode[c])):d=a,d}function c(a){return void 0!==a&&null!==a&&"none"!==a}function e(a,d,e){var f=document.defaultView,g=a.parentNode,h=f.getComputedStyle(a)[d],i=f.getComputedStyle(g)[d],j=c(h),k=c(i),l=Number.POSITIVE_INFINITY;return j||k?Math.min(j?b(h,a,e):l,k?b(i,g,e):l):"none"}var f=a.helpers={};f.each=function(a,b,c,d){var e,g;if(f.isArray(a))if(g=a.length,d)for(e=g-1;e>=0;e--)b.call(c,a[e],e);else for(e=0;g>e;e++)b.call(c,a[e],e);else if("object"==typeof a){var h=Object.keys(a);for(g=h.length,e=0;g>e;e++)b.call(c,a[h[e]],h[e])}},f.clone=function(a){var b={};return f.each(a,function(a,c){f.isArray(a)?b[c]=a.slice(0):"object"==typeof a&&null!==a?b[c]=f.clone(a):b[c]=a}),b},f.extend=function(a){for(var b=function(b,c){a[c]=b},c=1,d=arguments.length;d>c;c++)f.each(arguments[c],b);return a},f.configMerge=function(b){var c=f.clone(b);return f.each(Array.prototype.slice.call(arguments,1),function(b){f.each(b,function(b,d){if("scales"===d)c[d]=f.scaleMerge(c.hasOwnProperty(d)?c[d]:{},b);else if("scale"===d)c[d]=f.configMerge(c.hasOwnProperty(d)?c[d]:{},a.scaleService.getScaleDefaults(b.type),b);else if(c.hasOwnProperty(d)&&f.isArray(c[d])&&f.isArray(b)){var e=c[d];f.each(b,function(a,b){b=d[c].length||!d[c][e].type?d[c].push(f.configMerge(h,b)):b.type&&b.type!==d[c][e].type?d[c][e]=f.configMerge(d[c][e],h,b):d[c][e]=f.configMerge(d[c][e],b)}):(d[c]=[],f.each(b,function(b){var e=f.getValueOrDefault(b.type,"xAxes"===c?"category":"linear");d[c].push(f.configMerge(a.scaleService.getScaleDefaults(e),b))})):d.hasOwnProperty(c)&&"object"==typeof d[c]&&null!==d[c]&&"object"==typeof b?d[c]=f.configMerge(d[c],b):d[c]=b}),d},f.getValueAtIndexOrDefault=function(a,b,c){return void 0===a||null===a?c:f.isArray(a)?bc;++c)if(a[c]===b)return c;return-1},f.where=function(a,b){if(f.isArray(a)&&Array.prototype.filter)return a.filter(b);var c=[];return f.each(a,function(a){b(a)&&c.push(a)}),c},f.findIndex=Array.prototype.findIndex?function(a,b,c){return a.findIndex(b,c)}:function(a,b,c){c=void 0===c?a:c;for(var d=0,e=a.length;e>d;++d)if(b.call(c,a[d],d,a))return d;return-1},f.findNextWhere=function(a,b,c){(void 0===c||null===c)&&(c=-1);for(var d=c+1;d=0;d--){var e=a[d];if(b(e))return e}},f.inherits=function(a){var b=this,c=a&&a.hasOwnProperty("constructor")?a.constructor:function(){return b.apply(this,arguments)},d=function(){this.constructor=c};return d.prototype=b.prototype,c.prototype=new d,c.extend=f.inherits,a&&f.extend(c.prototype,a),c.__super__=b.prototype,c},f.noop=function(){},f.uid=function(){var a=0;return function(){return a++}}(),f.isNumber=function(a){return!isNaN(parseFloat(a))&&isFinite(a)},f.almostEquals=function(a,b,c){return Math.abs(a-b)0?1:-1},f.log10=Math.log10?function(a){return Math.log10(a)}:function(a){return Math.log(a)/Math.LN10},f.toRadians=function(a){return a*(Math.PI/180)},f.toDegrees=function(a){return a*(180/Math.PI)},f.getAngleFromPoint=function(a,b){var c=b.x-a.x,d=b.y-a.y,e=Math.sqrt(c*c+d*d),f=Math.atan2(d,c);return f<-.5*Math.PI&&(f+=2*Math.PI),{angle:f,distance:e}},f.aliasPixel=function(a){return a%2===0?0:.5},f.splineCurve=function(a,b,c,d){var e=a.skip?b:a,f=b,g=c.skip?b:c,h=Math.sqrt(Math.pow(f.x-e.x,2)+Math.pow(f.y-e.y,2)),i=Math.sqrt(Math.pow(g.x-f.x,2)+Math.pow(g.y-f.y,2)),j=h/(h+i),k=i/(h+i);j=isNaN(j)?0:j,k=isNaN(k)?0:k;var l=d*j,m=d*k;return{previous:{x:f.x-l*(g.x-e.x),y:f.y-l*(g.y-e.y)},next:{x:f.x+m*(g.x-e.x),y:f.y+m*(g.y-e.y)}}},f.nextItem=function(a,b,c){return c?b>=a.length-1?a[0]:a[b+1]:b>=a.length-1?a[a.length-1]:a[b+1]},f.previousItem=function(a,b,c){return c?0>=b?a[a.length-1]:a[b-1]:0>=b?a[0]:a[b-1]},f.niceNum=function(a,b){var c,d=Math.floor(f.log10(a)),e=a/Math.pow(10,d);return c=b?1.5>e?1:3>e?2:7>e?5:10:1>=e?1:2>=e?2:5>=e?5:10,c*Math.pow(10,d)};var g=f.easingEffects={linear:function(a){return a},easeInQuad:function(a){return a*a},easeOutQuad:function(a){return-1*a*(a-2)},easeInOutQuad:function(a){return(a/=.5)<1?.5*a*a:-.5*(--a*(a-2)-1)},easeInCubic:function(a){return a*a*a},easeOutCubic:function(a){return 1*((a=a/1-1)*a*a+1)},easeInOutCubic:function(a){return(a/=.5)<1?.5*a*a*a:.5*((a-=2)*a*a+2)},easeInQuart:function(a){return a*a*a*a},easeOutQuart:function(a){return-1*((a=a/1-1)*a*a*a-1)},easeInOutQuart:function(a){return(a/=.5)<1?.5*a*a*a*a:-.5*((a-=2)*a*a*a-2)},easeInQuint:function(a){return 1*(a/=1)*a*a*a*a},easeOutQuint:function(a){return 1*((a=a/1-1)*a*a*a*a+1)},easeInOutQuint:function(a){return(a/=.5)<1?.5*a*a*a*a*a:.5*((a-=2)*a*a*a*a+2)},easeInSine:function(a){return-1*Math.cos(a/1*(Math.PI/2))+1},easeOutSine:function(a){return 1*Math.sin(a/1*(Math.PI/2))},easeInOutSine:function(a){return-.5*(Math.cos(Math.PI*a/1)-1)},easeInExpo:function(a){return 0===a?1:1*Math.pow(2,10*(a/1-1))},easeOutExpo:function(a){return 1===a?1:1*(-Math.pow(2,-10*a/1)+1)},easeInOutExpo:function(a){return 0===a?0:1===a?1:(a/=.5)<1?.5*Math.pow(2,10*(a-1)):.5*(-Math.pow(2,-10*--a)+2)},easeInCirc:function(a){return a>=1?a:-1*(Math.sqrt(1-(a/=1)*a)-1)},easeOutCirc:function(a){return 1*Math.sqrt(1-(a=a/1-1)*a)},easeInOutCirc:function(a){return(a/=.5)<1?-.5*(Math.sqrt(1-a*a)-1):.5*(Math.sqrt(1-(a-=2)*a)+1)},easeInElastic:function(a){var b=1.70158,c=0,d=1;return 0===a?0:1===(a/=1)?1:(c||(c=.3),da?-.5*(d*Math.pow(2,10*(a-=1))*Math.sin((1*a-b)*(2*Math.PI)/c)):d*Math.pow(2,-10*(a-=1))*Math.sin((1*a-b)*(2*Math.PI)/c)*.5+1)},easeInBack:function(a){var b=1.70158;return 1*(a/=1)*a*((b+1)*a-b)},easeOutBack:function(a){var b=1.70158;return 1*((a=a/1-1)*a*((b+1)*a+b)+1)},easeInOutBack:function(a){var b=1.70158;return(a/=.5)<1?.5*(a*a*(((b*=1.525)+1)*a-b)):.5*((a-=2)*a*(((b*=1.525)+1)*a+b)+2)},easeInBounce:function(a){return 1-g.easeOutBounce(1-a)},easeOutBounce:function(a){return(a/=1)<1/2.75?1*(7.5625*a*a):2/2.75>a?1*(7.5625*(a-=1.5/2.75)*a+.75):2.5/2.75>a?1*(7.5625*(a-=2.25/2.75)*a+.9375):1*(7.5625*(a-=2.625/2.75)*a+.984375)},easeInOutBounce:function(a){return.5>a?.5*g.easeInBounce(2*a):.5*g.easeOutBounce(2*a-1)+.5}};f.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){return window.setTimeout(a,1e3/60)}}(),f.cancelAnimFrame=function(){return window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.oCancelAnimationFrame||window.msCancelAnimationFrame||function(a){return window.clearTimeout(a,1e3/60)}}(),f.getRelativePosition=function(a,b){var c,d,e=a.originalEvent||a,g=a.currentTarget||a.srcElement,h=g.getBoundingClientRect(),i=e.touches;i&&i.length>0?(c=i[0].clientX,d=i[0].clientY):(c=e.clientX,d=e.clientY);var j=parseFloat(f.getStyle(g,"padding-left")),k=parseFloat(f.getStyle(g,"padding-top")),l=parseFloat(f.getStyle(g,"padding-right")),m=parseFloat(f.getStyle(g,"padding-bottom")),n=h.right-h.left-j-l,o=h.bottom-h.top-k-m;return c=Math.round((c-h.left-j)/n*g.width/b.currentDevicePixelRatio),d=Math.round((d-h.top-k)/o*g.height/b.currentDevicePixelRatio),{x:c,y:d}},f.addEvent=function(a,b,c){a.addEventListener?a.addEventListener(b,c):a.attachEvent?a.attachEvent("on"+b,c):a["on"+b]=c},f.removeEvent=function(a,b,c){a.removeEventListener?a.removeEventListener(b,c,!1):a.detachEvent?a.detachEvent("on"+b,c):a["on"+b]=f.noop},f.bindEvents=function(a,b,c){var d=a.events=a.events||{};f.each(b,function(b){d[b]=function(){c.apply(a,arguments)},f.addEvent(a.chart.canvas,b,d[b])})},f.unbindEvents=function(a,b){var c=a.chart.canvas;f.each(b,function(a,b){f.removeEvent(c,b,a)})},f.getConstraintWidth=function(a){return e(a,"max-width","clientWidth")},f.getConstraintHeight=function(a){return e(a,"max-height","clientHeight")},f.getMaximumWidth=function(a){var b=a.parentNode,c=parseInt(f.getStyle(b,"padding-left"))+parseInt(f.getStyle(b,"padding-right")),d=b.clientWidth-c,e=f.getConstraintWidth(a);return isNaN(e)?d:Math.min(d,e)},f.getMaximumHeight=function(a){var b=a.parentNode,c=parseInt(f.getStyle(b,"padding-top"))+parseInt(f.getStyle(b,"padding-bottom")),d=b.clientHeight-c,e=f.getConstraintHeight(a);return isNaN(e)?d:Math.min(d,e)},f.getStyle=function(a,b){return a.currentStyle?a.currentStyle[b]:document.defaultView.getComputedStyle(a,null).getPropertyValue(b)},f.retinaScale=function(a){var b=a.ctx,c=a.canvas,d=c.width,e=c.height,f=a.currentDevicePixelRatio=window.devicePixelRatio||1;1!==f&&(c.height=e*f,c.width=d*f,b.scale(f,f),a.originalDevicePixelRatio=a.originalDevicePixelRatio||f),c.style.width=d+"px",c.style.height=e+"px"},f.clear=function(a){a.ctx.clearRect(0,0,a.width,a.height)},f.fontString=function(a,b,c){return b+" "+a+"px "+c},f.longestText=function(a,b,c,d){d=d||{};var e=d.data=d.data||{},g=d.garbageCollect=d.garbageCollect||[];d.font!==b&&(e=d.data={},g=d.garbageCollect=[],d.font=b),a.font=b;var h=0;f.each(c,function(b){void 0!==b&&null!==b&&f.isArray(b)!==!0?h=f.measureText(a,e,g,h,b):f.isArray(b)&&f.each(b,function(b){void 0===b||null===b||f.isArray(b)||(h=f.measureText(a,e,g,h,b))})});var i=g.length/2;if(i>c.length){for(var j=0;i>j;j++)delete e[g[j]];g.splice(0,i)}return h},f.measureText=function(a,b,c,d,e){var f=b[e];return f||(f=b[e]=a.measureText(e).width,c.push(e)),f>d&&(d=f),d},f.numberOfLabelLines=function(a){var b=1;return f.each(a,function(a){f.isArray(a)&&a.length>b&&(b=a.length)}),b},f.drawRoundedRectangle=function(a,b,c,d,e,f){a.beginPath(),a.moveTo(b+f,c),a.lineTo(b+d-f,c),a.quadraticCurveTo(b+d,c,b+d,c+f),a.lineTo(b+d,c+e-f),a.quadraticCurveTo(b+d,c+e,b+d-f,c+e),a.lineTo(b+f,c+e),a.quadraticCurveTo(b,c+e,b,c+e-f),a.lineTo(b,c+f),a.quadraticCurveTo(b,c,b+f,c),a.closePath()},f.color=function(b){return d?d(b instanceof CanvasGradient?a.defaults.global.defaultColor:b):(console.log("Color.js not found!"),b)},f.addResizeListener=function(a,b){var c=document.createElement("iframe"),d="chartjs-hidden-iframe";c.classlist?c.classlist.add(d):c.setAttribute("class",d);var e=c.style;e.width="100%",e.display="block",e.border=0,e.height=0,e.margin=0,e.position="absolute",e.left=0,e.right=0,e.top=0,e.bottom=0,a.insertBefore(c,a.firstChild),(c.contentWindow||c).onresize=function(){b&&b()}},f.removeResizeListener=function(a){var b=a.querySelector(".chartjs-hidden-iframe");b&&b.parentNode.removeChild(b)},f.isArray=Array.isArray?function(a){return Array.isArray(a)}:function(a){return"[object Array]"===Object.prototype.toString.call(a)},f.arrayEquals=function(a,b){var c,d,e,g;if(!a||!b||a.length!=b.length)return!1;for(c=0,d=a.length;d>c;++c)if(e=a[c],g=b[c],e instanceof Array&&g instanceof Array){if(!f.arrayEquals(e,g))return!1}else if(e!=g)return!1;return!0},f.callCallback=function(a,b,c){a&&"function"==typeof a.call&&a.apply(c,b)},f.getHoverColor=function(a){return a instanceof CanvasPattern?a:f.color(a).saturate(.5).darken(.1).rgbString()}}},{3:3}],26:[function(a,b,c){"use strict";b.exports=function(){var a=function(b,c){var d=this,e=a.helpers;return d.config=c,b.length&&b[0].getContext&&(b=b[0]),b.getContext&&(b=b.getContext("2d")),d.ctx=b,d.canvas=b.canvas,b.canvas.style.display=b.canvas.style.display||"block",d.width=b.canvas.width||parseInt(e.getStyle(b.canvas,"width"),10)||e.getMaximumWidth(b.canvas),d.height=b.canvas.height||parseInt(e.getStyle(b.canvas,"height"),10)||e.getMaximumHeight(b.canvas),d.aspectRatio=d.width/d.height,(isNaN(d.aspectRatio)||isFinite(d.aspectRatio)===!1)&&(d.aspectRatio=void 0!==c.aspectRatio?c.aspectRatio:2),d.originalCanvasStyleWidth=b.canvas.style.width,d.originalCanvasStyleHeight=b.canvas.style.height,e.retinaScale(d),c&&(d.controller=new a.Controller(d)),e.addResizeListener(b.canvas.parentNode,function(){d.controller&&d.controller.config.options.responsive&&d.controller.resize()}),d.controller?d.controller:d};return a.defaults={global:{responsive:!0,responsiveAnimationDuration:0,maintainAspectRatio:!0,events:["mousemove","mouseout","click","touchstart","touchmove"],hover:{onHover:null,mode:"single",animationDuration:400},onClick:null,defaultColor:"rgba(0,0,0,0.1)",defaultFontColor:"#666",defaultFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",defaultFontSize:12,defaultFontStyle:"normal",showLines:!0,elements:{},legendCallback:function(a){var b=[];b.push('
    ');for(var c=0;c'),a.data.datasets[c].label&&b.push(a.data.datasets[c].label),b.push("");return b.push("
"),b.join("")}}},a.Chart=a,a}},{}],27:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers;a.layoutService={defaults:{},addBox:function(a,b){a.boxes||(a.boxes=[]),a.boxes.push(b)},removeBox:function(a,b){a.boxes&&a.boxes.splice(a.boxes.indexOf(b),1)},update:function(a,c,d){function e(a){var b,c=a.isHorizontal();c?(b=a.update(a.options.fullWidth?p:v,u),w-=b.height):(b=a.update(t,s),v-=b.width),x.push({horizontal:c,minSize:b,box:a})}function f(a){var c=b.findNextWhere(x,function(b){return b.box===a});if(c)if(a.isHorizontal()){var d={left:y,right:z,top:0,bottom:0};a.update(a.options.fullWidth?p:v,q/2,d)}else a.update(c.minSize.width,w)}function g(a){var c=b.findNextWhere(x,function(b){return b.box===a}),d={left:0,right:0,top:A,bottom:B};c&&a.update(c.minSize.width,w,d)}function h(a){a.isHorizontal()?(a.left=a.options.fullWidth?i:y,a.right=a.options.fullWidth?c-i:y+v,a.top=F,a.bottom=F+a.height,F=a.bottom):(a.left=E,a.right=E+a.width,a.top=A,a.bottom=A+w,E=a.right)}if(a){var i=0,j=0,k=b.where(a.boxes,function(a){return"left"===a.options.position}),l=b.where(a.boxes,function(a){return"right"===a.options.position}),m=b.where(a.boxes,function(a){return"top"===a.options.position}),n=b.where(a.boxes,function(a){return"bottom"===a.options.position}),o=b.where(a.boxes,function(a){return"chartArea"===a.options.position});m.sort(function(a,b){return(b.options.fullWidth?1:0)-(a.options.fullWidth?1:0)}),n.sort(function(a,b){return(a.options.fullWidth?1:0)-(b.options.fullWidth?1:0)});var p=c-2*i,q=d-2*j,r=p/2,s=q/2,t=(c-r)/(k.length+l.length),u=(d-s)/(m.length+n.length),v=p,w=q,x=[];b.each(k.concat(l,m,n),e);var y=i,z=i,A=j,B=j;b.each(k.concat(l),f),b.each(k,function(a){y+=a.width}),b.each(l,function(a){z+=a.width}),b.each(m.concat(n),f),b.each(m,function(a){A+=a.height}),b.each(n,function(a){B+=a.height}),b.each(k.concat(l),g),y=i,z=i,A=j,B=j,b.each(k,function(a){y+=a.width}),b.each(l,function(a){z+=a.width}),b.each(m,function(a){A+=a.height}),b.each(n,function(a){B+=a.height});var C=d-A-B,D=c-y-z;(D!==v||C!==w)&&(b.each(k,function(a){a.height=C}),b.each(l,function(a){a.height=C}),b.each(m,function(a){a.options.fullWidth||(a.width=D)}),b.each(n,function(a){a.options.fullWidth||(a.width=D)}),w=C,v=D);var E=i,F=j;b.each(k.concat(m),h),E+=v,F+=w,b.each(l,h),b.each(n,h),a.chartArea={left:y,top:A,right:y+v,bottom:A+w},b.each(o,function(b){b.left=a.chartArea.left,b.top=a.chartArea.top,b.right=a.chartArea.right,b.bottom=a.chartArea.bottom,b.update(v,w)})}}}}},{}],28:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers,c=b.noop;a.defaults.global.legend={display:!0,position:"top",fullWidth:!0,reverse:!1,onClick:function(a,b){var c=b.datasetIndex,d=this.chart,e=d.getDatasetMeta(c);e.hidden=null===e.hidden?!d.data.datasets[c].hidden:null,d.update()},labels:{boxWidth:40,padding:10,generateLabels:function(a){var c=a.data;return b.isArray(c.datasets)?c.datasets.map(function(c,d){return{text:c.label,fillStyle:b.isArray(c.backgroundColor)?c.backgroundColor[0]:c.backgroundColor,hidden:!a.isDatasetVisible(d),lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:c.borderWidth,strokeStyle:c.borderColor,datasetIndex:d}},this):[]}}},a.Legend=a.Element.extend({initialize:function(a){b.extend(this,a),this.legendHitBoxes=[],this.doughnutMode=!1},beforeUpdate:c,update:function(a,b,c){var d=this;return d.beforeUpdate(),d.maxWidth=a,d.maxHeight=b,d.margins=c,d.beforeSetDimensions(),d.setDimensions(),d.afterSetDimensions(),d.beforeBuildLabels(),d.buildLabels(),d.afterBuildLabels(),d.beforeFit(),d.fit(),d.afterFit(),d.afterUpdate(),d.minSize},afterUpdate:c,beforeSetDimensions:c,setDimensions:function(){var a=this;a.isHorizontal()?(a.width=a.maxWidth,a.left=0,a.right=a.width):(a.height=a.maxHeight,a.top=0,a.bottom=a.height),a.paddingLeft=0,a.paddingTop=0,a.paddingRight=0,a.paddingBottom=0,a.minSize={width:0,height:0}},afterSetDimensions:c,beforeBuildLabels:c,buildLabels:function(){var a=this;a.legendItems=a.options.labels.generateLabels.call(a,a.chart),a.options.reverse&&a.legendItems.reverse()},afterBuildLabels:c,beforeFit:c,fit:function(){var c=this,d=c.options,e=d.labels,f=d.display,g=c.ctx,h=a.defaults.global,i=b.getValueOrDefault,j=i(e.fontSize,h.defaultFontSize),k=i(e.fontStyle,h.defaultFontStyle),l=i(e.fontFamily,h.defaultFontFamily),m=b.fontString(j,k,l),n=c.legendHitBoxes=[],o=c.minSize,p=c.isHorizontal();if(p?(o.width=c.maxWidth,o.height=f?10:0):(o.width=f?10:0,o.height=c.maxHeight),f)if(g.font=m,p){var q=c.lineWidths=[0],r=c.legendItems.length?j+e.padding:0;g.textAlign="left",g.textBaseline="top",b.each(c.legendItems,function(a,b){var d=e.boxWidth+j/2+g.measureText(a.text).width;q[q.length-1]+d+e.padding>=c.width&&(r+=j+e.padding,q[q.length]=c.left),n[b]={left:0,top:0,width:d,height:j},q[q.length-1]+=d+e.padding}),o.height+=r}else{var s=e.padding,t=c.columnWidths=[],u=e.padding,v=0,w=0,x=j+s;b.each(c.legendItems,function(a,b){var c=e.boxWidth+j/2+g.measureText(a.text).width;w+x>o.height&&(u+=v+e.padding,t.push(v),v=0,w=0),v=Math.max(v,c),w+=x,n[b]={left:0,top:0,width:c,height:j}}),u+=v,t.push(v),o.width+=u}c.width=o.width,c.height=o.height},afterFit:c,isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},draw:function(){var c=this,d=c.options,e=d.labels,f=a.defaults.global,g=f.elements.line,h=c.width,i=(c.height,c.lineWidths);if(d.display){var j,k=c.ctx,l=b.getValueOrDefault,m=l(e.fontColor,f.defaultFontColor),n=l(e.fontSize,f.defaultFontSize),o=l(e.fontStyle,f.defaultFontStyle),p=l(e.fontFamily,f.defaultFontFamily),q=b.fontString(n,o,p);k.textAlign="left",k.textBaseline="top",k.lineWidth=.5,k.strokeStyle=m,k.fillStyle=m,k.font=q;var r=e.boxWidth,s=c.legendHitBoxes,t=function(a,b,c){k.save(),k.fillStyle=l(c.fillStyle,f.defaultColor),k.lineCap=l(c.lineCap,g.borderCapStyle),k.lineDashOffset=l(c.lineDashOffset,g.borderDashOffset),k.lineJoin=l(c.lineJoin,g.borderJoinStyle),k.lineWidth=l(c.lineWidth,g.borderWidth),k.strokeStyle=l(c.strokeStyle,f.defaultColor),k.setLineDash&&k.setLineDash(l(c.lineDash,g.borderDash)),k.strokeRect(a,b,r,n),k.fillRect(a,b,r,n),k.restore()},u=function(a,b,c,d){k.fillText(c.text,r+n/2+a,b),c.hidden&&(k.beginPath(),k.lineWidth=2,k.moveTo(r+n/2+a,b+n/2),k.lineTo(r+n/2+a+d,b+n/2),k.stroke())},v=c.isHorizontal();j=v?{x:c.left+(h-i[0])/2,y:c.top+e.padding,line:0}:{x:c.left+e.padding,y:c.top,line:0};var w=n+e.padding;b.each(c.legendItems,function(a,b){var d=k.measureText(a.text).width,f=r+n/2+d,g=j.x,l=j.y;v?g+f>=h&&(l=j.y+=n+e.padding,j.line++,g=j.x=c.left+(h-i[j.line])/2):l+w>c.bottom&&(g=j.x=g+c.columnWidths[j.line]+e.padding,l=j.y=c.top,j.line++),t(g,l,a),s[b].left=g,s[b].top=l,u(g,l,a,d),v?j.x+=f+e.padding:j.y+=w})}},handleEvent:function(a){var c=this,d=b.getRelativePosition(a,c.chart.chart),e=d.x,f=d.y,g=c.options;if(e>=c.left&&e<=c.right&&f>=c.top&&f<=c.bottom)for(var h=c.legendHitBoxes,i=0;i=j.left&&e<=j.left+j.width&&f>=j.top&&f<=j.top+j.height){g.onClick&&g.onClick.call(c,a,c.legendItems[i]);break}}}}),a.plugins.register({beforeInit:function(b){var c=b.options,d=c.legend;d&&(b.legend=new a.Legend({ctx:b.chart.ctx,options:d,chart:b}),a.layoutService.addBox(b,b.legend))}})}},{}],29:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers.noop;a.plugins={_plugins:[],register:function(a){var b=this._plugins;[].concat(a).forEach(function(a){-1===b.indexOf(a)&&b.push(a)})},unregister:function(a){var b=this._plugins;[].concat(a).forEach(function(a){var c=b.indexOf(a);-1!==c&&b.splice(c,1)})},clear:function(){this._plugins=[]},count:function(){return this._plugins.length},getAll:function(){return this._plugins},notify:function(a,b){var c,d,e=this._plugins,f=e.length;for(c=0;f>c;++c)if(d=e[c],"function"==typeof d[a]&&d[a].apply(d,b||[])===!1)return!1;return!0}},a.PluginBase=a.Element.extend({beforeInit:b,afterInit:b,beforeUpdate:b,afterUpdate:b,beforeDraw:b,afterDraw:b,destroy:b}),a.pluginService=a.plugins}},{}],30:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers;a.defaults.scale={display:!0,position:"left",gridLines:{display:!0,color:"rgba(0, 0, 0, 0.1)",lineWidth:1,drawBorder:!0,drawOnChartArea:!0,drawTicks:!0,tickMarkLength:10,zeroLineWidth:1,zeroLineColor:"rgba(0,0,0,0.25)",offsetGridLines:!1},scaleLabel:{labelString:"",display:!1},ticks:{beginAtZero:!1,minRotation:0,maxRotation:50,mirror:!1,padding:10,reverse:!1,display:!0,autoSkip:!0,autoSkipPadding:0,labelOffset:0,callback:function(a){return b.isArray(a)?a:""+a}}},a.Scale=a.Element.extend({beforeUpdate:function(){b.callCallback(this.options.beforeUpdate,[this])},update:function(a,c,d){var e=this;return e.beforeUpdate(),e.maxWidth=a,e.maxHeight=c,e.margins=b.extend({left:0,right:0,top:0,bottom:0},d),e.beforeSetDimensions(),e.setDimensions(),e.afterSetDimensions(),e.beforeDataLimits(),e.determineDataLimits(),e.afterDataLimits(),e.beforeBuildTicks(),e.buildTicks(),e.afterBuildTicks(),e.beforeTickToLabelConversion(),e.convertTicksToLabels(),e.afterTickToLabelConversion(),e.beforeCalculateTickRotation(),e.calculateTickRotation(),e.afterCalculateTickRotation(),e.beforeFit(),e.fit(),e.afterFit(),e.afterUpdate(),e.minSize},afterUpdate:function(){b.callCallback(this.options.afterUpdate,[this])},beforeSetDimensions:function(){b.callCallback(this.options.beforeSetDimensions,[this])},setDimensions:function(){var a=this;a.isHorizontal()?(a.width=a.maxWidth,a.left=0,a.right=a.width):(a.height=a.maxHeight,a.top=0,a.bottom=a.height),a.paddingLeft=0,a.paddingTop=0,a.paddingRight=0,a.paddingBottom=0},afterSetDimensions:function(){b.callCallback(this.options.afterSetDimensions,[this])},beforeDataLimits:function(){b.callCallback(this.options.beforeDataLimits,[this])},determineDataLimits:b.noop,afterDataLimits:function(){ b.callCallback(this.options.afterDataLimits,[this])},beforeBuildTicks:function(){b.callCallback(this.options.beforeBuildTicks,[this])},buildTicks:b.noop,afterBuildTicks:function(){b.callCallback(this.options.afterBuildTicks,[this])},beforeTickToLabelConversion:function(){b.callCallback(this.options.beforeTickToLabelConversion,[this])},convertTicksToLabels:function(){var a=this;a.ticks=a.ticks.map(function(b,c,d){return a.options.ticks.userCallback?a.options.ticks.userCallback(b,c,d):a.options.ticks.callback(b,c,d)},a)},afterTickToLabelConversion:function(){b.callCallback(this.options.afterTickToLabelConversion,[this])},beforeCalculateTickRotation:function(){b.callCallback(this.options.beforeCalculateTickRotation,[this])},calculateTickRotation:function(){var c=this,d=c.ctx,e=a.defaults.global,f=c.options.ticks,g=b.getValueOrDefault(f.fontSize,e.defaultFontSize),h=b.getValueOrDefault(f.fontStyle,e.defaultFontStyle),i=b.getValueOrDefault(f.fontFamily,e.defaultFontFamily),j=b.fontString(g,h,i);d.font=j;var k,l=d.measureText(c.ticks[0]).width,m=d.measureText(c.ticks[c.ticks.length-1]).width;if(c.labelRotation=f.minRotation||0,c.paddingRight=0,c.paddingLeft=0,c.options.display&&c.isHorizontal()){c.paddingRight=m/2+3,c.paddingLeft=l/2+3,c.longestTextCache||(c.longestTextCache={});for(var n,o,p=b.longestText(d,j,c.ticks,c.longestTextCache),q=p,r=c.getPixelForTick(1)-c.getPixelForTick(0)-6;q>r&&c.labelRotationc.yLabelWidth&&(c.paddingLeft=k+g/2),c.paddingRight=g/2,o*p>c.maxHeight){c.labelRotation--;break}c.labelRotation++,q=n*p}}c.margins&&(c.paddingLeft=Math.max(c.paddingLeft-c.margins.left,0),c.paddingRight=Math.max(c.paddingRight-c.margins.right,0))},afterCalculateTickRotation:function(){b.callCallback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){b.callCallback(this.options.beforeFit,[this])},fit:function(){var c=this,d=c.minSize={width:0,height:0},e=c.options,f=a.defaults.global,g=e.ticks,h=e.scaleLabel,i=e.display,j=c.isHorizontal(),k=b.getValueOrDefault(g.fontSize,f.defaultFontSize),l=b.getValueOrDefault(g.fontStyle,f.defaultFontStyle),m=b.getValueOrDefault(g.fontFamily,f.defaultFontFamily),n=b.fontString(k,l,m),o=b.getValueOrDefault(h.fontSize,f.defaultFontSize),p=b.getValueOrDefault(h.fontStyle,f.defaultFontStyle),q=b.getValueOrDefault(h.fontFamily,f.defaultFontFamily),r=(b.fontString(o,p,q),e.gridLines.tickMarkLength);if(j?d.width=c.isFullWidth()?c.maxWidth-c.margins.left-c.margins.right:c.maxWidth:d.width=i?r:0,j?d.height=i?r:0:d.height=c.maxHeight,h.display&&i&&(j?d.height+=1.5*o:d.width+=1.5*o),g.display&&i){c.longestTextCache||(c.longestTextCache={});var s=b.longestText(c.ctx,n,c.ticks,c.longestTextCache),t=b.numberOfLabelLines(c.ticks),u=.5*k;if(j){c.longestLabelWidth=s;var v=Math.sin(b.toRadians(c.labelRotation))*c.longestLabelWidth+k*t+u*t;d.height=Math.min(c.maxHeight,d.height+v),c.ctx.font=n;var w=c.ctx.measureText(c.ticks[0]).width,x=c.ctx.measureText(c.ticks[c.ticks.length-1]).width,y=Math.cos(b.toRadians(c.labelRotation)),z=Math.sin(b.toRadians(c.labelRotation));c.paddingLeft=0!==c.labelRotation?y*w+3:w/2+3,c.paddingRight=0!==c.labelRotation?z*(k/2)+3:x/2+3}else{var A=c.maxWidth-d.width,B=g.mirror;B?s=0:s+=c.options.ticks.padding,A>s?d.width+=s:d.width=c.maxWidth,c.paddingTop=k/2,c.paddingBottom=k/2}}c.margins&&(c.paddingLeft=Math.max(c.paddingLeft-c.margins.left,0),c.paddingTop=Math.max(c.paddingTop-c.margins.top,0),c.paddingRight=Math.max(c.paddingRight-c.margins.right,0),c.paddingBottom=Math.max(c.paddingBottom-c.margins.bottom,0)),c.width=d.width,c.height=d.height},afterFit:function(){b.callCallback(this.options.afterFit,[this])},isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},isFullWidth:function(){return this.options.fullWidth},getRightValue:function c(a){return null===a||"undefined"==typeof a?NaN:"number"==typeof a&&isNaN(a)?NaN:"object"==typeof a?a instanceof Date||a.isValid?a:c(this.isHorizontal()?a.x:a.y):a},getLabelForIndex:b.noop,getPixelForValue:b.noop,getValueForPixel:b.noop,getPixelForTick:function(a,b){var c=this;if(c.isHorizontal()){var d=c.width-(c.paddingLeft+c.paddingRight),e=d/Math.max(c.ticks.length-(c.options.gridLines.offsetGridLines?0:1),1),f=e*a+c.paddingLeft;b&&(f+=e/2);var g=c.left+Math.round(f);return g+=c.isFullWidth()?c.margins.left:0}var h=c.height-(c.paddingTop+c.paddingBottom);return c.top+a*(h/(c.ticks.length-1))},getPixelForDecimal:function(a){var b=this;if(b.isHorizontal()){var c=b.width-(b.paddingLeft+b.paddingRight),d=c*a+b.paddingLeft,e=b.left+Math.round(d);return e+=b.isFullWidth()?b.margins.left:0}return b.top+a*b.height},getBasePixel:function(){var a=this,b=a.min,c=a.max;return a.getPixelForValue(a.beginAtZero?0:0>b&&0>c?c:b>0&&c>0?b:0)},draw:function(c){var d=this,e=d.options;if(e.display){var f,g,h=d.ctx,i=a.defaults.global,j=e.ticks,k=e.gridLines,l=e.scaleLabel,m=0!==d.labelRotation,n=j.autoSkip,o=d.isHorizontal();j.maxTicksLimit&&(g=j.maxTicksLimit);var p=b.getValueOrDefault(j.fontColor,i.defaultFontColor),q=b.getValueOrDefault(j.fontSize,i.defaultFontSize),r=b.getValueOrDefault(j.fontStyle,i.defaultFontStyle),s=b.getValueOrDefault(j.fontFamily,i.defaultFontFamily),t=b.fontString(q,r,s),u=k.tickMarkLength,v=b.getValueOrDefault(l.fontColor,i.defaultFontColor),w=b.getValueOrDefault(l.fontSize,i.defaultFontSize),x=b.getValueOrDefault(l.fontStyle,i.defaultFontStyle),y=b.getValueOrDefault(l.fontFamily,i.defaultFontFamily),z=b.fontString(w,x,y),A=b.toRadians(d.labelRotation),B=Math.cos(A),C=(Math.sin(A),d.longestLabelWidth*B);h.fillStyle=p;var D=[];if(o){if(f=!1,m&&(C/=2),(C+j.autoSkipPadding)*d.ticks.length>d.width-(d.paddingLeft+d.paddingRight)&&(f=1+Math.floor((C+j.autoSkipPadding)*d.ticks.length/(d.width-(d.paddingLeft+d.paddingRight)))),g&&d.ticks.length>g)for(;!f||d.ticks.length/(f||1)>g;)f||(f=1),f+=1;n||(f=!1)}var E="right"===e.position?d.left:d.right-u,F="right"===e.position?d.left+u:d.right,G="bottom"===e.position?d.top:d.bottom-u,H="bottom"===e.position?d.top+u:d.bottom;if(b.each(d.ticks,function(a,g){if(void 0!==a&&null!==a){var h=d.ticks.length===g+1,i=f>1&&g%f>0||g%f===0&&g+f>=d.ticks.length;if((!i||h)&&void 0!==a&&null!==a){var l,n;g===("undefined"!=typeof d.zeroLineIndex?d.zeroLineIndex:0)?(l=k.zeroLineWidth,n=k.zeroLineColor):(l=b.getValueAtIndexOrDefault(k.lineWidth,g),n=b.getValueAtIndexOrDefault(k.color,g));var p,q,r,s,t,v,w,x,y,z,B,C="middle";if(o){m||(C="top"===e.position?"bottom":"top"),B=m?"right":"center";var I=d.getPixelForTick(g)+b.aliasPixel(l);y=d.getPixelForTick(g,k.offsetGridLines)+j.labelOffset,z=m?d.top+12:"top"===e.position?d.bottom-u:d.top+u,p=r=t=w=I,q=G,s=H,v=c.top,x=c.bottom}else{"left"===e.position?j.mirror?(y=d.right+j.padding,B="left"):(y=d.right-j.padding,B="right"):j.mirror?(y=d.left-j.padding,B="right"):(y=d.left+j.padding,B="left");var J=d.getPixelForTick(g);J+=b.aliasPixel(l),z=d.getPixelForTick(g,k.offsetGridLines),p=E,r=F,t=c.left,w=c.right,q=s=v=x=J}D.push({tx1:p,ty1:q,tx2:r,ty2:s,x1:t,y1:v,x2:w,y2:x,labelX:y,labelY:z,glWidth:l,glColor:n,rotation:-1*A,label:a,textBaseline:C,textAlign:B})}}}),b.each(D,function(a){if(k.display&&(h.lineWidth=a.glWidth,h.strokeStyle=a.glColor,h.beginPath(),k.drawTicks&&(h.moveTo(a.tx1,a.ty1),h.lineTo(a.tx2,a.ty2)),k.drawOnChartArea&&(h.moveTo(a.x1,a.y1),h.lineTo(a.x2,a.y2)),h.stroke()),j.display){h.save(),h.translate(a.labelX,a.labelY),h.rotate(a.rotation),h.font=t,h.textBaseline=a.textBaseline,h.textAlign=a.textAlign;var c=a.label;if(b.isArray(c))for(var d=0,e=0;db;++b){var f=a[b];if(f&&f.hasValue()){var g=f.tooltipPosition();d.push(g.x),e.push(g.y)}}var h=0,i=0;for(b=0,c-d.length;c>b;++b)h+=d[b],i+=e[b];return{x:Math.round(h/d.length),y:Math.round(i/d.length)}}function d(a){var b=a._xScale,c=a._yScale||a._scale,d=a._index,e=a._datasetIndex;return{xLabel:b?b.getLabelForIndex(d,e):"",yLabel:c?c.getLabelForIndex(d,e):"",index:d,datasetIndex:e}}var e=a.helpers;a.defaults.global.tooltips={enabled:!0,custom:null,mode:"single",backgroundColor:"rgba(0,0,0,0.8)",titleFontStyle:"bold",titleSpacing:2,titleMarginBottom:6,titleFontColor:"#fff",titleAlign:"left",bodySpacing:2,bodyFontColor:"#fff",bodyAlign:"left",footerFontStyle:"bold",footerSpacing:2,footerMarginTop:6,footerFontColor:"#fff",footerAlign:"left",yPadding:6,xPadding:6,yAlign:"center",xAlign:"center",caretSize:5,cornerRadius:6,multiKeyBackground:"#fff",callbacks:{beforeTitle:e.noop,title:function(a,b){var c="",d=b.labels,e=d?d.length:0;if(a.length>0){var f=a[0];f.xLabel?c=f.xLabel:e>0&&f.indexb;++b)o.push(d(j[b]));h.itemSort&&(o=o.sort(h.itemSort)),j.length>1&&e.each(o,function(a){m.push(h.callbacks.labelColor.call(g,a,l))}),e.extend(i,{title:g.getTitle(o,k),beforeBody:g.getBeforeBody(o,k),body:g.getBody(o,k),afterBody:g.getAfterBody(o,k),footer:g.getFooter(o,k),x:Math.round(n.x),y:Math.round(n.y),caretPadding:e.getValueOrDefault(n.padding,2),labelColors:m});var p=g.getTooltipSize(i);g.determineAlignment(p),e.extend(i,g.getBackgroundPoint(i,p))}else g._model.opacity=0;return a&&h.custom&&h.custom.call(g,i),g},getTooltipSize:function(a){var b=this._chart.ctx,c={height:2*a.yPadding,width:0},d=a.body,f=d.reduce(function(a,b){return a+b.before.length+b.lines.length+b.after.length},0);f+=a.beforeBody.length+a.afterBody.length;var g=a.title.length,h=a.footer.length,i=a.titleFontSize,j=a.bodyFontSize,k=a.footerFontSize;c.height+=g*i,c.height+=(g-1)*a.titleSpacing,c.height+=g?a.titleMarginBottom:0,c.height+=f*j,c.height+=f?(f-1)*a.bodySpacing:0,c.height+=h?a.footerMarginTop:0,c.height+=h*k,c.height+=h?(h-1)*a.footerSpacing:0;var l=0,m=function(a){c.width=Math.max(c.width,b.measureText(a).width+l)};return b.font=e.fontString(i,a._titleFontStyle,a._titleFontFamily),e.each(a.title,m),b.font=e.fontString(j,a._bodyFontStyle,a._bodyFontFamily),e.each(a.beforeBody.concat(a.afterBody),m),l=d.length>1?j+2:0,e.each(d,function(a){e.each(a.before,m),e.each(a.lines,m),e.each(a.after,m)}),l=0,b.font=e.fontString(k,a._footerFontStyle,a._footerFontFamily),e.each(a.footer,m),c.width+=2*a.xPadding,c},determineAlignment:function(a){var b=this,c=b._model,d=b._chart,e=b._chartInstance.chartArea;c.yd.height-a.height&&(c.yAlign="bottom");var f,g,h,i,j,k=(e.left+e.right)/2,l=(e.top+e.bottom)/2;"center"===c.yAlign?(f=function(a){return k>=a},g=function(a){return a>k}):(f=function(b){return b<=a.width/2},g=function(b){return b>=d.width-a.width/2}),h=function(b){return b+a.width>d.width},i=function(b){return b-a.width<0},j=function(a){return l>=a?"top":"bottom"},f(c.x)?(c.xAlign="left",h(c.x)&&(c.xAlign="center",c.yAlign=j(c.y))):g(c.x)&&(c.xAlign="right",i(c.x)&&(c.xAlign="center",c.yAlign=j(c.y)))},getBackgroundPoint:function(a,b){var c={x:a.x,y:a.y},d=a.caretSize,e=a.caretPadding,f=a.cornerRadius,g=a.xAlign,h=a.yAlign,i=d+e,j=f+e;return"right"===g?c.x-=b.width:"center"===g&&(c.x-=b.width/2),"top"===h?c.y+=i:"bottom"===h?c.y-=b.height+i:c.y-=b.height/2,"center"===h?"left"===g?c.x+=i:"right"===g&&(c.x-=i):"left"===g?c.x-=j:"right"===g&&(c.x+=j),c},drawCaret:function(a,b,c,d){var f,g,h,i,j,k,l=this._view,m=this._chart.ctx,n=l.caretSize,o=l.cornerRadius,p=l.xAlign,q=l.yAlign,r=a.x,s=a.y,t=b.width,u=b.height;"center"===q?("left"===p?(f=r,g=f-n,h=f):(f=r+t,g=f+n,h=f),j=s+u/2,i=j-n,k=j+n):("left"===p?(f=r+o,g=f+n,h=g+n):"right"===p?(f=r+t-o,g=f-n,h=g-n):(g=r+t/2,f=g-n,h=g+n),"top"===q?(i=s,j=i-n,k=i):(i=s+u,j=i+n,k=i));var v=e.color(l.backgroundColor);m.fillStyle=v.alpha(c*v.alpha()).rgbString(),m.beginPath(),m.moveTo(f,i),m.lineTo(g,j),m.lineTo(h,k),m.closePath(),m.fill()},drawTitle:function(a,b,c,d){var f=b.title;if(f.length){c.textAlign=b._titleAlign,c.textBaseline="top";var g=b.titleFontSize,h=b.titleSpacing,i=e.color(b.titleFontColor);c.fillStyle=i.alpha(d*i.alpha()).rgbString(),c.font=e.fontString(g,b._titleFontStyle,b._titleFontFamily);var j,k;for(j=0,k=f.length;k>j;++j)c.fillText(f[j],a.x,a.y),a.y+=g+h,j+1===f.length&&(a.y+=b.titleMarginBottom-h)}},drawBody:function(a,b,c,d){var f=b.bodyFontSize,g=b.bodySpacing,h=b.body;c.textAlign=b._bodyAlign,c.textBaseline="top";var i=e.color(b.bodyFontColor),j=i.alpha(d*i.alpha()).rgbString();c.fillStyle=j,c.font=e.fontString(f,b._bodyFontStyle,b._bodyFontFamily);var k=0,l=function(b){c.fillText(b,a.x+k,a.y),a.y+=f+g};e.each(b.beforeBody,l);var m=h.length>1;k=m?f+2:0,e.each(h,function(g,h){e.each(g.before,l),e.each(g.lines,function(g){m&&(c.fillStyle=e.color(b.legendColorBackground).alpha(d).rgbaString(),c.fillRect(a.x,a.y,f,f),c.strokeStyle=e.color(b.labelColors[h].borderColor).alpha(d).rgbaString(),c.strokeRect(a.x,a.y,f,f),c.fillStyle=e.color(b.labelColors[h].backgroundColor).alpha(d).rgbaString(),c.fillRect(a.x+1,a.y+1,f-2,f-2),c.fillStyle=j),l(g)}),e.each(g.after,l)}),k=0,e.each(b.afterBody,l),a.y-=g},drawFooter:function(a,b,c,d){var f=b.footer;if(f.length){a.y+=b.footerMarginTop,c.textAlign=b._footerAlign,c.textBaseline="top";var g=e.color(b.footerFontColor);c.fillStyle=g.alpha(d*g.alpha()).rgbString(),c.font=e.fontString(b.footerFontSize,b._footerFontStyle,b._footerFontFamily),e.each(f,function(d){c.fillText(d,a.x,a.y),a.y+=b.footerFontSize+b.footerSpacing})}},draw:function(){var a=this._chart.ctx,b=this._view;if(0!==b.opacity){var c=this.getTooltipSize(b),d={x:b.x,y:b.y},f=Math.abs(b.opacity<.001)?0:b.opacity;if(this._options.enabled){var g=e.color(b.backgroundColor);a.fillStyle=g.alpha(f*g.alpha()).rgbString(),e.drawRoundedRectangle(a,d.x,d.y,c.width,c.height,b.cornerRadius),a.fill(),this.drawCaret(d,c,f,b.caretPadding),d.x+=b.xPadding,d.y+=b.yPadding,this.drawTitle(d,b,a,f),this.drawBody(d,b,a,f),this.drawFooter(d,b,a,f)}}}})}},{}],34:[function(a,b,c){"use strict";b.exports=function(a,b){var c=a.helpers,d=a.defaults.global;d.elements.arc={backgroundColor:d.defaultColor,borderColor:"#fff",borderWidth:2},a.elements.Arc=a.Element.extend({inLabelRange:function(a){var b=this._view;return b?Math.pow(a-b.x,2)i;)i+=2*Math.PI;for(;f>i;)f-=2*Math.PI;for(;h>f;)f+=2*Math.PI;var j=f>=h&&i>=f,k=g>=d.innerRadius&&g<=d.outerRadius;return j&&k}return!1},tooltipPosition:function(){var a=this._view,b=a.startAngle+(a.endAngle-a.startAngle)/2,c=(a.outerRadius-a.innerRadius)/2+a.innerRadius;return{x:a.x+Math.cos(b)*c,y:a.y+Math.sin(b)*c}},draw:function(){var a=this._chart.ctx,b=this._view,c=b.startAngle,d=b.endAngle;a.beginPath(),a.arc(b.x,b.y,b.outerRadius,c,d),a.arc(b.x,b.y,b.innerRadius,d,c,!0),a.closePath(),a.strokeStyle=b.borderColor,a.lineWidth=b.borderWidth,a.fillStyle=b.backgroundColor,a.fill(),a.lineJoin="bevel",b.borderWidth&&a.stroke()}})}},{}],35:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers,c=a.defaults.global;a.defaults.global.elements.line={tension:.4,backgroundColor:c.defaultColor,borderWidth:3,borderColor:c.defaultColor,borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",fill:!0},a.elements.Line=a.Element.extend({lineToNextPoint:function(a,b,c,d,e){var f=this,g=f._chart.ctx,h=f._view?f._view.spanGaps:!1;b._view.skip&&!h?d.call(f,a,b,c):a._view.skip&&!h?e.call(f,a,b,c):0===b._view.tension?g.lineTo(b._view.x,b._view.y):g.bezierCurveTo(a._view.controlPointNextX,a._view.controlPointNextY,b._view.controlPointPreviousX,b._view.controlPointPreviousY,b._view.x,b._view.y)},draw:function(){function a(a){g._view.skip||h._view.skip?a&&f.lineTo(d._view.scaleZero.x,d._view.scaleZero.y):f.bezierCurveTo(h._view.controlPointNextX,h._view.controlPointNextY,g._view.controlPointPreviousX,g._view.controlPointPreviousY,g._view.x,g._view.y)}var d=this,e=d._view,f=d._chart.ctx,g=d._children[0],h=d._children[d._children.length-1];f.save(),d._children.length>0&&e.fill&&(f.beginPath(),b.each(d._children,function(a,c){var g=b.previousItem(d._children,c),h=b.nextItem(d._children,c);0===c?(d._loop?f.moveTo(e.scaleZero.x,e.scaleZero.y):f.moveTo(a._view.x,e.scaleZero),a._view.skip?d._loop||f.moveTo(h._view.x,d._view.scaleZero):f.lineTo(a._view.x,a._view.y)):d.lineToNextPoint(g,a,h,function(a,b,c){d._loop?f.lineTo(d._view.scaleZero.x,d._view.scaleZero.y):(f.lineTo(a._view.x,d._view.scaleZero),f.moveTo(c._view.x,d._view.scaleZero))},function(a,b){f.lineTo(b._view.x,b._view.y)})},d),d._loop?a(!0):(f.lineTo(d._children[d._children.length-1]._view.x,e.scaleZero),f.lineTo(d._children[0]._view.x,e.scaleZero)),f.fillStyle=e.backgroundColor||c.defaultColor,f.closePath(),f.fill());var i=c.elements.line;f.lineCap=e.borderCapStyle||i.borderCapStyle,f.setLineDash&&f.setLineDash(e.borderDash||i.borderDash),f.lineDashOffset=e.borderDashOffset||i.borderDashOffset,f.lineJoin=e.borderJoinStyle||i.borderJoinStyle,f.lineWidth=e.borderWidth||i.borderWidth,f.strokeStyle=e.borderColor||c.defaultColor,f.beginPath(),b.each(d._children,function(a,c){var e=b.previousItem(d._children,c),g=b.nextItem(d._children,c);0===c?f.moveTo(a._view.x,a._view.y):d.lineToNextPoint(e,a,g,function(a,b,c){f.moveTo(c._view.x,c._view.y)},function(a,b){f.moveTo(b._view.x,b._view.y)})},d),d._loop&&d._children.length>0&&a(),f.stroke(),f.restore()}})}},{}],36:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers,c=a.defaults.global,d=c.defaultColor;c.elements.point={radius:3,pointStyle:"circle",backgroundColor:d,borderWidth:1,borderColor:d,hitRadius:1,hoverRadius:4,hoverBorderWidth:1},a.elements.Point=a.Element.extend({inRange:function(a,b){var c=this._view;return c?Math.pow(a-c.x,2)+Math.pow(b-c.y,2)=m)){switch(k.strokeStyle=j.borderColor||d,k.lineWidth=b.getValueOrDefault(j.borderWidth,c.elements.point.borderWidth),k.fillStyle=j.backgroundColor||d,l){default:k.beginPath(),k.arc(n,o,m,0,2*Math.PI),k.closePath(),k.fill();break;case"triangle":k.beginPath(),e=3*m/Math.sqrt(3),h=e*Math.sqrt(3)/2,k.moveTo(n-e/2,o+h/3),k.lineTo(n+e/2,o+h/3),k.lineTo(n,o-2*h/3),k.closePath(),k.fill();break;case"rect":i=1/Math.SQRT2*m,k.fillRect(n-i,o-i,2*i,2*i),k.strokeRect(n-i,o-i,2*i,2*i);break;case"rectRot":i=1/Math.SQRT2*m,k.beginPath(),k.moveTo(n-i,o),k.lineTo(n,o+i),k.lineTo(n+i,o),k.lineTo(n,o-i),k.closePath(),k.fill();break;case"cross":k.beginPath(),k.moveTo(n,o+m),k.lineTo(n,o-m),k.moveTo(n-m,o),k.lineTo(n+m,o),k.closePath();break;case"crossRot":k.beginPath(),f=Math.cos(Math.PI/4)*m,g=Math.sin(Math.PI/4)*m,k.moveTo(n-f,o-g),k.lineTo(n+f,o+g),k.moveTo(n-f,o+g),k.lineTo(n+f,o-g),k.closePath();break;case"star":k.beginPath(),k.moveTo(n,o+m),k.lineTo(n,o-m),k.moveTo(n-m,o),k.lineTo(n+m,o),f=Math.cos(Math.PI/4)*m,g=Math.sin(Math.PI/4)*m,k.moveTo(n-f,o-g),k.lineTo(n+f,o+g),k.moveTo(n-f,o+g),k.lineTo(n+f,o-g),k.closePath();break;case"line":k.beginPath(),k.moveTo(n-m,o),k.lineTo(n+m,o),k.closePath();break;case"dash":k.beginPath(),k.moveTo(n,o),k.lineTo(n+m,o),k.closePath()}k.stroke()}}}})}},{}],37:[function(a,b,c){"use strict";b.exports=function(a){var b=(a.helpers,a.defaults.global);b.elements.rectangle={backgroundColor:b.defaultColor,borderWidth:0,borderColor:b.defaultColor,borderSkipped:"bottom"},a.elements.Rectangle=a.Element.extend({draw:function(){function a(a){return i[(k+a)%4]}var b=this._chart.ctx,c=this._view,d=c.width/2,e=c.x-d,f=c.x+d,g=c.base-(c.base-c.y),h=c.borderWidth/2;c.borderWidth&&(e+=h,f-=h,g+=h),b.beginPath(),b.fillStyle=c.backgroundColor,b.strokeStyle=c.borderColor,b.lineWidth=c.borderWidth;var i=[[e,c.base],[e,g],[f,g],[f,c.base]],j=["bottom","left","top","right"],k=j.indexOf(c.borderSkipped,0);-1===k&&(k=0),b.moveTo.apply(b,a(0));for(var l=1;4>l;l++)b.lineTo.apply(b,a(l));b.fill(),c.borderWidth&&b.stroke()},height:function(){var a=this._view;return a.base-a.y},inRange:function(a,b){var c=this._view;return c?c.y=c.x-c.width/2&&a<=c.x+c.width/2&&b>=c.y&&b<=c.base:a>=c.x-c.width/2&&a<=c.x+c.width/2&&b>=c.base&&b<=c.y:!1},inLabelRange:function(a){var b=this._view;return b?a>=b.x-b.width/2&&a<=b.x+b.width/2:!1},tooltipPosition:function(){var a=this._view;return{x:a.x,y:a.y}}})}},{}],38:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers,c={position:"bottom"},d=a.Scale.extend({determineDataLimits:function(){var a=this;a.minIndex=0,a.maxIndex=a.chart.data.labels.length-1;var c;void 0!==a.options.ticks.min&&(c=b.indexOf(a.chart.data.labels,a.options.ticks.min),a.minIndex=-1!==c?c:a.minIndex),void 0!==a.options.ticks.max&&(c=b.indexOf(a.chart.data.labels,a.options.ticks.max),a.maxIndex=-1!==c?c:a.maxIndex),a.min=a.chart.data.labels[a.minIndex],a.max=a.chart.data.labels[a.maxIndex]},buildTicks:function(a){var b=this;b.ticks=0===b.minIndex&&b.maxIndex===b.chart.data.labels.length-1?b.chart.data.labels:b.chart.data.labels.slice(b.minIndex,b.maxIndex+1)},getLabelForIndex:function(a,b){return this.ticks[a]},getPixelForValue:function(a,b,c,d){var e=this,f=Math.max(e.maxIndex+1-e.minIndex-(e.options.gridLines.offsetGridLines?0:1),1);if(e.isHorizontal()){var g=e.width-(e.paddingLeft+e.paddingRight),h=g/f,i=h*(b-e.minIndex)+e.paddingLeft;return e.options.gridLines.offsetGridLines&&d&&(i+=h/2),e.left+Math.round(i)}var j=e.height-(e.paddingTop+e.paddingBottom),k=j/f,l=k*(b-e.minIndex)+e.paddingTop;return e.options.gridLines.offsetGridLines&&d&&(l+=k/2),e.top+Math.round(l)},getPixelForTick:function(a,b){return this.getPixelForValue(this.ticks[a],a+this.minIndex,null,b)},getValueForPixel:function(a){var b,c=this,d=Math.max(c.ticks.length-(c.options.gridLines.offsetGridLines?0:1),1),e=c.isHorizontal(),f=e?c.width-(c.paddingLeft+c.paddingRight):c.height-(c.paddingTop+c.paddingBottom),g=f/d;return c.options.gridLines.offsetGridLines&&(a-=g/2),a-=e?c.paddingLeft:c.paddingTop,b=0>=a?0:Math.round(a/g)}});a.scaleService.registerScaleType("category",d,c)}},{}],39:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers,c={position:"left",ticks:{callback:function(a,c,d){var e=d.length>3?d[2]-d[1]:d[1]-d[0];Math.abs(e)>1&&a!==Math.floor(a)&&(e=a-Math.floor(a));var f=b.log10(Math.abs(e)),g="";if(0!==a){var h=-1*Math.floor(f);h=Math.max(Math.min(h,20),0),g=a.toFixed(h)}else g="0";return g}}},d=a.LinearScaleBase.extend({determineDataLimits:function(){function a(a){return h?a.xAxisID===c.id:a.yAxisID===c.id}var c=this,d=c.options,e=(d.ticks,c.chart),f=e.data,g=f.datasets,h=c.isHorizontal();if(c.min=null,c.max=null,d.stacked){var i={},j=!1,k=!1;b.each(g,function(f,g){var h=e.getDatasetMeta(g);void 0===i[h.type]&&(i[h.type]={positiveValues:[],negativeValues:[]});var l=i[h.type].positiveValues,m=i[h.type].negativeValues;e.isDatasetVisible(g)&&a(h)&&b.each(f.data,function(a,b){var e=+c.getRightValue(a);isNaN(e)||h.data[b].hidden||(l[b]=l[b]||0,m[b]=m[b]||0,d.relativePoints?l[b]=100:0>e?(k=!0,m[b]+=e):(j=!0,l[b]+=e))})}),b.each(i,function(a){var d=a.positiveValues.concat(a.negativeValues),e=b.min(d),f=b.max(d);c.min=null===c.min?e:Math.min(c.min,e),c.max=null===c.max?f:Math.max(c.max,f)})}else b.each(g,function(d,f){var g=e.getDatasetMeta(f);e.isDatasetVisible(f)&&a(g)&&b.each(d.data,function(a,b){var d=+c.getRightValue(a);isNaN(d)||g.data[b].hidden||(null===c.min?c.min=d:dc.max&&(c.max=d))})});this.handleTickRangeOptions()},getTickLimit:function(){var c,d=this,e=d.options.ticks;if(d.isHorizontal())c=Math.min(e.maxTicksLimit?e.maxTicksLimit:11,Math.ceil(d.width/50));else{var f=b.getValueOrDefault(e.fontSize,a.defaults.global.defaultFontSize);c=Math.min(e.maxTicksLimit?e.maxTicksLimit:11,Math.ceil(d.height/(2*f)))}return c},handleDirectionalChanges:function(){this.isHorizontal()||this.ticks.reverse()},getLabelForIndex:function(a,b){return+this.getRightValue(this.chart.data.datasets[b].data[a])},getPixelForValue:function(a,b,c,d){var e,f,g=this,h=g.paddingLeft,i=g.paddingBottom,j=g.start,k=+g.getRightValue(a),l=g.end-j;return g.isHorizontal()?(f=g.width-(h+g.paddingRight),e=g.left+f/l*(k-j),Math.round(e+h)):(f=g.height-(g.paddingTop+i),e=g.bottom-i-f/l*(k-j),Math.round(e))},getValueForPixel:function(a){var b=this,c=b.isHorizontal(),d=b.paddingLeft,e=b.paddingBottom,f=c?b.width-(d+b.paddingRight):b.height-(b.paddingTop+e),g=(c?a-b.left-d:b.bottom-e-a)/f;return b.start+(b.end-b.start)*g},getPixelForTick:function(a,b){return this.getPixelForValue(this.ticksAsNumbers[a],null,null,b)}});a.scaleService.registerScaleType("linear",d,c)}},{}],40:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers,c=b.noop;a.LinearScaleBase=a.Scale.extend({handleTickRangeOptions:function(){var a=this,c=a.options,d=c.ticks;if(d.beginAtZero){var e=b.sign(a.min),f=b.sign(a.max);0>e&&0>f?a.max=0:e>0&&f>0&&(a.min=0)}void 0!==d.min?a.min=d.min:void 0!==d.suggestedMin&&(a.min=Math.min(a.min,d.suggestedMin)),void 0!==d.max?a.max=d.max:void 0!==d.suggestedMax&&(a.max=Math.max(a.max,d.suggestedMax)),a.min===a.max&&(a.max++,d.beginAtZero||a.min--)},getTickLimit:c,handleDirectionalChanges:c,buildTicks:function(){var a=this,c=a.options,d=c.ticks,e=b.getValueOrDefault,f=(a.isHorizontal(), a.ticks=[]),g=a.getTickLimit();g=Math.max(2,g);var h,i=d.fixedStepSize&&d.fixedStepSize>0||d.stepSize&&d.stepSize>0;if(i)h=e(d.fixedStepSize,d.stepSize);else{var j=b.niceNum(a.max-a.min,!1);h=b.niceNum(j/(g-1),!0)}var k=Math.floor(a.min/h)*h,l=Math.ceil(a.max/h)*h,m=(l-k)/h;m=b.almostEquals(m,Math.round(m),h/1e3)?Math.round(m):Math.ceil(m),f.push(void 0!==d.min?d.min:k);for(var n=1;m>n;++n)f.push(k+n*h);f.push(void 0!==d.max?d.max:l),a.handleDirectionalChanges(),a.max=b.max(f),a.min=b.min(f),d.reverse?(f.reverse(),a.start=a.max,a.end=a.min):(a.start=a.min,a.end=a.max)},convertTicksToLabels:function(){var b=this;b.ticksAsNumbers=b.ticks.slice(),b.zeroLineIndex=b.ticks.indexOf(0),a.Scale.prototype.convertTicksToLabels.call(b)}})}},{}],41:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers,c={position:"left",ticks:{callback:function(a,c,d){var e=a/Math.pow(10,Math.floor(b.log10(a)));return 1===e||2===e||5===e||0===c||c===d.length-1?a.toExponential():""}}},d=a.Scale.extend({determineDataLimits:function(){function a(a){return j?a.xAxisID===c.id:a.yAxisID===c.id}var c=this,d=c.options,e=d.ticks,f=c.chart,g=f.data,h=g.datasets,i=b.getValueOrDefault,j=c.isHorizontal();if(c.min=null,c.max=null,d.stacked){var k={};b.each(h,function(e,g){var h=f.getDatasetMeta(g);f.isDatasetVisible(g)&&a(h)&&(void 0===k[h.type]&&(k[h.type]=[]),b.each(e.data,function(a,b){var e=k[h.type],f=+c.getRightValue(a);isNaN(f)||h.data[b].hidden||(e[b]=e[b]||0,d.relativePoints?e[b]=100:e[b]+=f)}))}),b.each(k,function(a){var d=b.min(a),e=b.max(a);c.min=null===c.min?d:Math.min(c.min,d),c.max=null===c.max?e:Math.max(c.max,e)})}else b.each(h,function(d,e){var g=f.getDatasetMeta(e);f.isDatasetVisible(e)&&a(g)&&b.each(d.data,function(a,b){var d=+c.getRightValue(a);isNaN(d)||g.data[b].hidden||(null===c.min?c.min=d:dc.max&&(c.max=d))})});c.min=i(e.min,c.min),c.max=i(e.max,c.max),c.min===c.max&&(0!==c.min&&null!==c.min?(c.min=Math.pow(10,Math.floor(b.log10(c.min))-1),c.max=Math.pow(10,Math.floor(b.log10(c.max))+1)):(c.min=1,c.max=10))},buildTicks:function(){for(var a=this,c=a.options,d=c.ticks,e=b.getValueOrDefault,f=a.ticks=[],g=e(d.min,Math.pow(10,Math.floor(b.log10(a.min))));ga.max&&(a.max=d))})}}),a.handleTickRangeOptions()},getTickLimit:function(){var a=this.options.ticks,d=b.getValueOrDefault(a.fontSize,c.defaultFontSize);return Math.min(a.maxTicksLimit?a.maxTicksLimit:11,Math.ceil(this.drawingArea/(1.5*d)))},convertTicksToLabels:function(){var b=this;a.LinearScaleBase.prototype.convertTicksToLabels.call(b),b.pointLabels=b.chart.data.labels.map(b.options.pointLabels.callback,b)},getLabelForIndex:function(a,b){return+this.getRightValue(this.chart.data.datasets[b].data[a])},fit:function(){var a,d,e,f,g,h,i,j,k,l,m,n,o=this.options.pointLabels,p=b.getValueOrDefault(o.fontSize,c.defaultFontSize),q=b.getValueOrDefault(o.fontStyle,c.defaultFontStyle),r=b.getValueOrDefault(o.fontFamily,c.defaultFontFamily),s=b.fontString(p,q,r),t=b.min([this.height/2-p-5,this.width/2]),u=this.width,v=0;for(this.ctx.font=s,d=0;du&&(u=a.x+f,g=d),a.x-fu&&(u=a.x+e,g=d):d>this.getValueCount()/2&&a.x-eb&&0>c?c:b>0&&c>0?b:0)},draw:function(){var a=this,d=a.options,e=d.gridLines,f=d.ticks,g=d.angleLines,h=d.pointLabels,i=b.getValueOrDefault;if(d.display){var j=a.ctx,k=i(f.fontSize,c.defaultFontSize),l=i(f.fontStyle,c.defaultFontStyle),m=i(f.fontFamily,c.defaultFontFamily),n=b.fontString(k,l,m);if(b.each(a.ticks,function(g,h){if(h>0||d.reverse){var l=a.getDistanceFromCenterForValue(a.ticksAsNumbers[h]),m=a.yCenter-l;if(e.display&&0!==h)if(j.strokeStyle=b.getValueAtIndexOrDefault(e.color,h-1),j.lineWidth=b.getValueAtIndexOrDefault(e.lineWidth,h-1),d.lineArc)j.beginPath(),j.arc(a.xCenter,a.yCenter,l,0,2*Math.PI),j.closePath(),j.stroke();else{j.beginPath();for(var o=0;o=0;t--){if(g.display){var u=a.getPointPosition(t,o);j.beginPath(),j.moveTo(a.xCenter,a.yCenter),j.lineTo(u.x,u.y),j.stroke(),j.closePath()}var v=a.getPointPosition(t,o+5),w=i(h.fontColor,c.defaultFontColor);j.font=s,j.fillStyle=w;var x=a.pointLabels,y=x.length,z=x.length/2,A=z/2,B=A>t||t>y-A,C=t===A||t===y-A;0===t?j.textAlign="center":t===z?j.textAlign="center":z>t?j.textAlign="left":j.textAlign="right",C?j.textBaseline="middle":B?j.textBaseline="bottom":j.textBaseline="top",j.fillText(x[t]?x[t]:"",v.x,v.y)}}}}});a.scaleService.registerScaleType("radialLinear",e,d)}},{}],43:[function(a,b,c){"use strict";var d=a(1);d="function"==typeof d?d:window.moment,b.exports=function(a){var b=a.helpers,c={units:[{name:"millisecond",steps:[1,2,5,10,20,50,100,250,500]},{name:"second",steps:[1,2,5,10,30]},{name:"minute",steps:[1,2,5,10,30]},{name:"hour",steps:[1,2,3,6,12]},{name:"day",steps:[1,2,5]},{name:"week",maxStep:4},{name:"month",maxStep:3},{name:"quarter",maxStep:4},{name:"year",maxStep:!1}]},e={position:"bottom",time:{parser:!1,format:!1,unit:!1,round:!1,displayFormat:!1,isoWeekday:!1,displayFormats:{millisecond:"h:mm:ss.SSS a",second:"h:mm:ss a",minute:"h:mm:ss a",hour:"MMM D, hA",day:"ll",week:"ll",month:"MMM YYYY",quarter:"[Q]Q - YYYY",year:"YYYY"}},ticks:{autoSkip:!1}},f=a.Scale.extend({initialize:function(){if(!d)throw new Error("Chart.js - Moment.js could not be found! You must include it before Chart.js to use the time scale. Download at https://momentjs.com");a.Scale.prototype.initialize.call(this)},getLabelMoment:function(a,b){return this.labelMoments[a][b]},getMomentStartOf:function(a){var b=this;return"week"===b.options.time.unit&&b.options.time.isoWeekday!==!1?a.clone().startOf("isoWeek").isoWeekday(b.options.time.isoWeekday):a.clone().startOf(b.tickUnit)},determineDataLimits:function(){var a=this;a.labelMoments=[];var c=[];a.chart.data.labels&&a.chart.data.labels.length>0?(b.each(a.chart.data.labels,function(b,d){var e=a.parseTime(b);e.isValid()&&(a.options.time.round&&e.startOf(a.options.time.round),c.push(e))},a),a.firstTick=d.min.call(a,c),a.lastTick=d.max.call(a,c)):(a.firstTick=null,a.lastTick=null),b.each(a.chart.data.datasets,function(e,f){var g=[],h=a.chart.isDatasetVisible(f);"object"==typeof e.data[0]&&null!==e.data[0]?b.each(e.data,function(b,c){var e=a.parseTime(a.getRightValue(b));e.isValid()&&(a.options.time.round&&e.startOf(a.options.time.round),g.push(e),h&&(a.firstTick=null!==a.firstTick?d.min(a.firstTick,e):e,a.lastTick=null!==a.lastTick?d.max(a.lastTick,e):e))},a):g=c,a.labelMoments.push(g)},a),a.options.time.min&&(a.firstTick=a.parseTime(a.options.time.min)),a.options.time.max&&(a.lastTick=a.parseTime(a.options.time.max)),a.firstTick=(a.firstTick||d()).clone(),a.lastTick=(a.lastTick||d()).clone()},buildTicks:function(d){var e=this;e.ctx.save();var f=b.getValueOrDefault(e.options.ticks.fontSize,a.defaults.global.defaultFontSize),g=b.getValueOrDefault(e.options.ticks.fontStyle,a.defaults.global.defaultFontStyle),h=b.getValueOrDefault(e.options.ticks.fontFamily,a.defaults.global.defaultFontFamily),i=b.fontString(f,g,h);if(e.ctx.font=i,e.ticks=[],e.unitScale=1,e.scaleSizeInUnits=0,e.options.time.unit)e.tickUnit=e.options.time.unit||"day",e.displayFormat=e.options.time.displayFormats[e.tickUnit],e.scaleSizeInUnits=e.lastTick.diff(e.firstTick,e.tickUnit,!0),e.unitScale=b.getValueOrDefault(e.options.time.unitStepSize,1);else{var j=e.isHorizontal()?e.width-(e.paddingLeft+e.paddingRight):e.height-(e.paddingTop+e.paddingBottom),k=e.tickFormatFunction(e.firstTick,0,[]),l=e.ctx.measureText(k).width,m=Math.cos(b.toRadians(e.options.ticks.maxRotation)),n=Math.sin(b.toRadians(e.options.ticks.maxRotation));l=l*m+f*n;var o=j/l;e.tickUnit="millisecond",e.scaleSizeInUnits=e.lastTick.diff(e.firstTick,e.tickUnit,!0),e.displayFormat=e.options.time.displayFormats[e.tickUnit];for(var p=0,q=c.units[p];p=Math.ceil(e.scaleSizeInUnits/o)){e.unitScale=b.getValueOrDefault(e.options.time.unitStepSize,q.steps[r]);break}break}if(q.maxStep===!1||Math.ceil(e.scaleSizeInUnits/o)=0)break;w%e.unitScale===0&&e.ticks.push(x)}var y=e.ticks[e.ticks.length-1].diff(e.lastTick,e.tickUnit);(0!==y||0===e.scaleSizeInUnits)&&(e.options.time.max?(e.ticks.push(e.lastTick.clone()),e.scaleSizeInUnits=e.lastTick.diff(e.ticks[0],e.tickUnit,!0)):(e.ticks.push(e.lastTick.clone()),e.scaleSizeInUnits=e.lastTick.diff(e.firstTick,e.tickUnit,!0))),e.ctx.restore()},getLabelForIndex:function(a,b){var c=this,d=c.chart.data.labels&&a10?this.massviewsRedirectWithPagePile(b.pages).then(c):(this.setInitialChartType(b.pages.length),c(b.pages)):"en.wikipedia"===this.project?(b.pages=["Cat","Dog"],this.setInitialChartType(b.pages.length),c(b.pages)):(this.focusSelect2(),this.stopSpinny(),this.setInitialChartType())}},{key:"processSearchResults",value:function(a){var b=a?a.query:{},c=[];return b?("autocomplete"===this.autocomplete?b.prefixsearch.length&&(c=b.prefixsearch.map(function(a){return{id:a.title.score(),text:a.title}})):"autocomplete_redirects"===this.autocomplete&&(b.redirects&&(c=b.redirects.map(function(a){return{id:a.from.score(),text:a.from}})),Object.keys(b.pages).forEach(function(a){var d=b.pages[a];c.push({id:d.title.score(),text:d.title})})),{results:c}):{results:c}}},{key:"getParams",value:function(){var a=arguments.length<=0||void 0===arguments[0]?!0:arguments[0],b={project:$(this.config.projectInput).val(),platform:$(this.config.platformSelector).val(),agent:$(this.config.agentSelector).val()};return this.specialRange&&a?b.range=this.specialRange.range:(b.start=this.daterangepicker.startDate.format("YYYY-MM-DD"),b.end=this.daterangepicker.endDate.format("YYYY-MM-DD")),this.noLogScale&&(b.autolog="false"),b}},{key:"pushParams",value:function(){var a=$(this.config.select2Input).select2("val")||[],b=a.join("|").replace(/[&%]/g,escape);window.history&&window.history.replaceState&&window.history.replaceState({},document.title,"?"+$.param(this.getParams())+"&pages="+b),$(".permalink").prop("href","?"+$.param(this.getPermaLink())+"&pages="+b)}},{key:"setupSelect2",value:function(){var a=$(this.config.select2Input),b={ajax:this.getArticleSelectorAjax(),tags:"no_autocomplete"===this.autocomplete,placeholder:$.i18n("article-placeholder"),maximumSelectionLength:10,minimumInputLength:1};a.select2(b),a.on("change",this.processInput.bind(this))}},{key:"getArticleSelectorAjax",value:function(){var a=this;return"no_autocomplete"!==this.autocomplete?{url:"https://"+this.project+".org/w/api.php",dataType:"jsonp",delay:200,jsonpCallback:"articleSuggestionCallback",data:function(b){return a.getSearchParams(b.term)},processResults:this.processSearchResults.bind(this),cache:!0}:null}},{key:"validateProject",value:function(){h(Object.getPrototypeOf(b.prototype),"validateProject",this).call(this)&&(this.resetView(!0),this.focusSelect2())}},{key:"setupListeners",value:function(){h(Object.getPrototypeOf(b.prototype),"setupListeners",this).call(this),$("#platform-select, #agent-select").on("change",this.processInput.bind(this))}},{key:"processInput",value:function(a){var b=this;if(this.pushParams(),a||location.search!==this.params||this.prevChartType!==this.chartType){this.params=location.search;var c=$(i.select2Input).select2("val")||[];if(!c.length)return this.resetView();this.clearMessages(),this.prevChartType=this.chartType,this.destroyChart(),this.startSpinny(),this.getPageViewsData(c).done(function(a){return b.updateChart(a)})}}},{key:"massviewsRedirectWithPagePile",value:function(a){var b=this,c=$.Deferred(),d=Object.keys(j).find(function(a){return j[a]===b.project+".org"});return $.ajax({url:"//tools.wmflabs.org/pagepile/api.php",data:{action:"create_pile_with_data",wiki:d,data:a.join("\n")}}).success(function(a){var c=b.getParams();delete c.project,document.location="/massviews?overflow=1&"+$.param(c)+"&source=pagepile&target="+a.pile.id}).fail(function(){b.writeMessage($.i18n("auto-pagepile-error","PagePile",10)),c.resolve(a.slice(0,10))}),c}}]),b}(mix(k)["with"](l));$(document).ready(function(){return document.location.hash&&!document.location.search?document.location.href=document.location.href.replace("#","?"):document.location.hash?document.location.href=document.location.href.replace(/\#.*/,""):void new m})},{"./config":1,"./shared/chart_helpers":3,"./shared/pv":7,"./shared/site_map":9}],3:[function(a,b,c){"use strict";function d(a){if(Array.isArray(a)){for(var b=0,c=Array(a.length);b=g;g.add(1,"d"))if(f[g])a.items.push(f[g]);else{var h=g.isSame(this.config.maxDate)||g.isSame(moment(this.config.maxDate).subtract(1,"days"));a.items.push(e({timestamp:g.format(this.config.timestampFormat)},this.isPageviews()?"views":"devices",h?null:0))}return a}},{key:"getCircularData",value:function(a,b,c){var d=this,e=a.items.map(function(a){return d.isPageviews()?a.views:a.devices}),f=this.config.colors[c],g=e.reduce(function(a,b){return a+b}),h=Math.round(g/e.length);return Object.assign({label:b.descore(),value:g,average:h},this.config.chartConfig[this.chartType].dataset(f))}},{key:"getLinearData",value:function(a,b,c){var e=this,f=a.items.map(function(a){return e.isPageviews()?a.views:a.devices}),g=f.reduce(function(a,b){return a+b}),h=Math.round(g/f.length),i=Math.max.apply(Math,d(f)),j=Math.min.apply(Math,d(f)),k=this.config.colors[c%10];return Object.assign({label:b.descore(),data:f,sum:g,average:h,max:i,min:j,color:k},this.config.chartConfig[this.chartType].dataset(k))}},{key:"getApiUrl",value:function(a,b,c){var d=encodeURIComponent(a);return"siteviews"===this.app?this.isPageviews()?"https://wikimedia.org/api/rest_v1/metrics/pageviews/aggregate/"+d+("/"+$(this.config.platformSelector).val()+"/"+$(this.config.agentSelector).val()+"/daily")+("/"+b.format(this.config.timestampFormat)+"/"+c.format(this.config.timestampFormat)):"https://wikimedia.org/api/rest_v1/metrics/unique-devices/"+d+"/"+$(this.config.platformSelector).val()+"/daily"+("/"+b.format(this.config.timestampFormat)+"/"+c.format(this.config.timestampFormat)):"https://wikimedia.org/api/rest_v1/metrics/pageviews/per-article/"+this.project+("/"+$(this.config.platformSelector).val()+"/"+$(this.config.agentSelector).val()+"/"+d+"/daily")+("/"+b.format(this.config.timestampFormat)+"/"+c.format(this.config.timestampFormat))}},{key:"getPageViewsData",value:function(a){var b=this,c=$.Deferred(),d=0,e={},f=a.length,g=[],h={entities:a,labels:[],datasets:[],errors:[],fatalErrors:[],promises:[]},i=function j(a,i){var k=b.daterangepicker.startDate.startOf("day"),l=b.daterangepicker.endDate.startOf("day"),m=b.getApiUrl(a,k,l),n=$.ajax({url:m,dataType:"json"});h.promises.push(n),n.done(function(c){try{c=b.fillInZeros(c,k,l),b.config.linearCharts.includes(b.chartType)?h.datasets.push(b.getLinearData(c,a,i)):h.datasets.push(b.getCircularData(c,a,i)),c.items&&!h.labels.length&&(h.labels=c.items.map(function(a){return moment(a.timestamp,b.config.timestampFormat).format(b.dateFormat)}))}catch(d){return h.fatalErrors.push(d)}}).fail(function(c){var d="Error in Cassandra table storage backend"===c.responseJSON.title;if(d&&(e[b.project]?e[b.project]++:e[b.project]=1,e[b.project]<3))return f++,b.rateLimit(j,100,b)(a,i);if(h.entities=h.entities.filter(function(b){return b!==a}),d)g.push(a);else{var k="siteviews"===b.app?b.getSiteLink(a):b.getPageLink(a,b.project);h.errors.push(k+": "+$.i18n("api-error","Pageviews API")+" - "+c.responseJSON.title)}}).always(function(){++d===f&&(c.resolve(h),g.length&&b.writeMessage($.i18n("api-error-timeout","
    "+g.map(function(a){return"
  • "+b.getPageLink(a,b.project.escape())+"
  • "}).join("")+"
")))})};return a.forEach(function(a,b){return i(a,b)}),c}},{key:"getPermaLink",value:function(){var a=this.getParams(!1);return delete a.range,a}},{key:"isLogarithmic",value:function(){return $(this.config.logarithmicCheckbox).is(":checked")&&this.isLogarithmicCapable()}},{key:"isLogarithmicCapable",value:function(){return["line","bar"].includes(this.chartType)}},{key:"isPageviews",value:function(){return"pageviews"===this.app||"pageviews"===$(this.config.dataSourceSelector).val()}},{key:"isUniqueDevices",value:function(){return!this.isPageviews()}},{key:"printChart",value:function(){var a=window.open();a.document.write(''),a.print(),a.close()}},{key:"resetView",value:function(){var a=arguments.length<=0||void 0===arguments[0]?!1:arguments[0];try{this.destroyChart(),a&&this.resetSelect2()}catch(b){}finally{this.stopSpinny(),$(".data-links").addClass("invisible"), -$(this.config.chart).hide(),this.clearMessages()}}},{key:"setChartPointDetectionRadius",value:function(){"line"===this.chartType&&(this.numDaysInRange()>50?Chart.defaults.global.elements.point.hitRadius=3:this.numDaysInRange()>30?Chart.defaults.global.elements.point.hitRadius=5:this.numDaysInRange()>20?Chart.defaults.global.elements.point.hitRadius=10:Chart.defaults.global.elements.point.hitRadius=30)}},{key:"shouldBeLogarithmic",value:function(a){var b;if(!this.isLogarithmicCapable()||this.noLogScale)return!1;var c=[];a.forEach(function(a){c.push(a.map(function(a){return a||0}))});var e=Math.max.apply(Math,d((b=[]).concat.apply(b,c)));if(10>=e)return!1;var f=!1;return c.forEach(function(a){a.push(e);var b=a.reduce(function(a,b){return a+b}),c=b/a.length,d=0;return a.forEach(function(a){return d+=a?a*Math.log(a/c):0}),d/b>.5?f=!0:void 0}),f}},{key:"setupDateRangeSelector",value:function(){var a=this;if(j(Object.getPrototypeOf(b.prototype),"setupDateRangeSelector",this).call(this),this.isChartApp()){var c=$(this.config.dateRangeSelector);$(".date-latest a").on("click",function(b){a.setSpecialRange("latest-"+$(b.target).data("value"))}),c.on("change",function(b){a.setChartPointDetectionRadius(),a.processInput(),a.specialRange&&a.specialRange.value!==b.target.value&&(a.specialRange=null)})}}},{key:"updateChart",value:function(a){var b=this;if($("#chart-legend").html(""),!this.showErrors(a)){if(!a.entities.length)return this.stopSpinny();if(1===a.entities.length?$(".multi-page-chart-node").hide():$(".multi-page-chart-node").show(),"true"===this.autoLogDetection){var c=this.shouldBeLogarithmic(a.datasets.map(function(a){return a.data}));$(this.config.logarithmicCheckbox).prop("checked",c),$(".begin-at-zero").toggleClass("disabled",c)}var d=new Array(a.entities.length);a.datasets.forEach(function(c){b.isLogarithmic()&&(c.data=c.data.map(function(a){return a||null})),d[a.entities.indexOf(c.label.score())]=c});var e=Object.assign({scales:{}},this.config.chartConfig[this.chartType].opts,this.config.globalChartOpts);this.isLogarithmic()&&(e.scales=Object.assign({},e.scales,{yAxes:[{type:"logarithmic",ticks:{callback:function(a,c,d){var e=a/Math.pow(10,Math.floor(Chart.helpers.log10(a)));return 1===e||2===e||5===e||0===c||c===d.length-1?b.formatNumber(a):""}}}]})),this.stopSpinny();try{$(".chart-container").html("").append(""),this.setChartPointDetectionRadius();var f=$(this.config.chart)[0].getContext("2d");if(this.config.linearCharts.includes(this.chartType)){var g={labels:a.labels,datasets:d};"radar"===this.chartType?e.scale.ticks.beginAtZero=$(".begin-at-zero-option").is(":checked"):e.scales.yAxes[0].ticks.beginAtZero=$(".begin-at-zero-option").is(":checked"),this.chartObj=new Chart(f,{type:this.chartType,data:g,options:e})}else this.chartObj=new Chart(f,{type:this.chartType,data:{labels:d.map(function(a){return a.label}),datasets:[{data:d.map(function(a){return a.value}),backgroundColor:d.map(function(a){return a.backgroundColor}),hoverBackgroundColor:d.map(function(a){return a.hoverBackgroundColor}),averages:d.map(function(a){return a.average})}]},options:e})}catch(h){return this.showErrors({errors:[],fatalErrors:[h]})}$("#chart-legend").html(this.chartObj.generateLegend()),$(".data-links").removeClass("invisible")}}},{key:"showErrors",value:function(a){var b=this;if(a.fatalErrors.length){this.resetView(!0);var c=a.fatalErrors.unique();return this.showFatalErrors(c),!0}return a.errors.length&&(!a.entities||a.errors.length!==a.entities.length&&a.entities.length||this.resetView(),a.errors.unique().forEach(function(a){return b.writeMessage(a)})),!1}}]),b}(a)};b.exports=k},{}],4:[function(a,b,c){"use strict";function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var e=function(){function a(a,b){for(var c=0;c":">",'"':""","'":"'","/":"/"};return this.replace(/[&<>"'\/]/g,function(b){return a[b]})},Array.prototype.unique=function(){return this.filter(function(a,b,c){return c.indexOf(a)===b})},window.mix=function(a){return new f(a)};var f=function(){function a(b){d(this,a),this.superclass=b}return e(a,[{key:"with",value:function(){for(var a=arguments.length,b=Array(a),c=0;a>c;c++)b[c]=arguments[c];return b.reduce(function(a,b){return b(a)},this.superclass)}}]),a}();"undefined"!=typeof Chart&&(Chart.Controller.prototype.getElementsAtEvent=function(a){var b=Chart.helpers,c=b.getRelativePosition(a,this.chart),d=[],e=function(){if(this.data.datasets)for(var a=0;a=h;h.add(1,"d"))if(e[h])f.push(e[h]);else{var i=h.isSame(this.config.maxDate)||h.isSame(moment(this.config.maxDate).subtract(1,"days"));f.push({timestamp:h.format(this.config.timestampFormat),views:i?null:0}),i&&g.push(h.format())}return[f,g]}},{key:"getCacheKey",value:function(){return"lv-cache-"+this.hashCode(JSON.stringify(this.getParams(!0)))}},{key:"getPageviewsURL",value:function(a,b){var c=moment(this.daterangepicker.startDate),d=moment(this.daterangepicker.endDate),e=$(this.config.platformSelector).val();return 0===d.diff(c,"days")&&(c.subtract(3,"days"),d.add(3,"days")),"/pageviews?start="+c.format("YYYY-MM-DD")+("&end="+d.format("YYYY-MM-DD")+"&project="+a+"&platform="+e+"&pages="+b)}},{key:"getPermaLink",value:function(){var a=this.getParams(!0);return a.sort=this.sort,a.direction=this.direction,a}},{key:"getState",value:function(){var a=$("main")[0].classList;return this.config.formStates.filter(function(b){return a.contains(b)})[0]}},{key:"isRequestCached",value:function(){return simpleStorage.hasKey(this.getCacheKey())}},{key:"renderData",value:function(a){var b=this,c=this.outputData.listData,d=c.sort(function(a,c){var d=b.getSortProperty(a,b.sort),e=b.getSortProperty(c,b.sort);return e>d?b.direction:d>e?-b.direction:0});$(".sort-link span").removeClass("glyphicon-sort-by-alphabet-alt glyphicon-sort-by-alphabet").addClass("glyphicon-sort");var e=1===parseInt(this.direction,10)?"glyphicon-sort-by-alphabet-alt":"glyphicon-sort-by-alphabet";$(".sort-link--"+this.sort+" span").addClass(e).removeClass("glyphicon-sort");try{a(d)}catch(f){this.setState("complete"),this.showFatalErrors([f])}finally{this.pushParams()}this.toggleView(this.view),"complete"!==this.getState()&&this.setState("complete")}},{key:"toggleView",value:function(a){var b=this;if($(".view-btn").removeClass("active"),$(".view-btn--"+a).addClass("active"),$("output").removeClass("list-mode").removeClass("chart-mode").addClass(a+"-mode"),"chart"===a){this.destroyChart(),this.config.circularCharts.includes(this.chartType)&&(this.chartType="bar");var c=Object.assign({},this.config.chartConfig[this.chartType].opts,this.config.globalChartOpts);if(this.assignOutputDataChartOpts(),this.setChartPointDetectionRadius(),"true"===this.autoLogDetection){var d=this.shouldBeLogarithmic([this.outputData.datasets[0].data]);$(this.config.logarithmicCheckbox).prop("checked",d)}this.isLogarithmic()&&(c.scales=Object.assign({},c.scales,{yAxes:[{type:"logarithmic",ticks:{callback:function(a,c,d){var e=a/Math.pow(10,Math.floor(Chart.helpers.log10(a)));return 1===e||2===e||5===e||0===c||c===d.length-1?b.formatNumber(a):""}}}]})),"radar"===this.chartType?c.scale.ticks.beginAtZero=$(".begin-at-zero-option").is(":checked"):c.scales.yAxes[0].ticks.beginAtZero=$(".begin-at-zero-option").is(":checked");var e=$(this.config.chart)[0].getContext("2d");this.chartObj=new Chart(e,{type:this.chartType,data:this.outputData,options:c}),$(".chart-specific").show(),$("#chart-legend").html(this.chartObj.generateLegend())}else $(".chart-specific").hide();this.pushParams()}},{key:"updateProgressBar",value:function(a){$(".progress-bar").css("width",a.toFixed(2)+"%")}}]),b}(a)};b.exports=h},{}],6:[function(a,b,c){"use strict";Array.prototype.includes||(Array.prototype.includes=function(a){return-1!==this.indexOf(a)}),String.prototype.includes||(String.prototype.includes=function(a,b){return"number"!=typeof b&&(b=0),b+a.length>this.length?!1:-1!==this.indexOf(a,b)}),"function"!=typeof Object.assign&&!function(){Object.assign=function(a){if(void 0===a||null===a)throw new TypeError("Cannot convert undefined or null to object");for(var b=Object(a),c=1;c>>0,d=arguments[1],e=void 0,f=0;c>f;f++)if(e=b[f],a.call(d,e,f,b))return e}),Array.prototype.fill||(Array.prototype.fill=function(a){if(null===this)throw new TypeError("this is null or not defined");for(var b=Object(this),c=b.length>>>0,d=arguments[1],e=d>>0,f=0>e?Math.max(c+e,0):Math.min(e,c),g=arguments[2],h=void 0===g?c:g>>0,i=0>h?Math.max(c+h,0):Math.min(h,c);i>f;)b[f]=a,f++;return b})},{}],7:[function(a,b,c){"use strict";function d(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function e(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function g(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var h=function(){function a(a,b){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!b||c.length!==b);d=!0);}catch(i){e=!0,f=i}finally{try{!d&&h["return"]&&h["return"]()}finally{if(e)throw f}}return c}return function(b,c){if(Array.isArray(b))return b;if(Symbol.iterator in Object(b))return a(b,c);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),i=function(){function a(a,b){for(var c=0;c"+location.hostname+i+"")}var j=d({},i18nLang,"/pageviews/messages/"+i18nLang+".json");return"en"!==i18nLang&&(j.en="/pageviews/messages/en.json"),$.i18n({locale:i18nLang}).load(j).then(c.initialize.bind(c)),c}return g(b,a),i(b,[{key:"addSiteNotice",value:function(a,b,c,d){c=c?""+c+" ":"";var e=c+b;d?(d=" alert-dismissable",e='\n '+e):d="",$(".site-notice").append("
"+e+"
")}},{key:"addInvalidParamNotice",value:function(a){this.addSiteNotice("danger",$.i18n("param-error-3",a,"/"+this.app+"/url_structure"),$.i18n("invalid-params"),!0)}},{key:"validateDateRange",value:function(a){if(a.range)this.setSpecialRange(a.range)||(this.addInvalidParamNotice("range"),this.setSpecialRange(this.config.defaults.dateRange));else if(a.start){var b=/\d{4}-\d{2}-\d{2}$/,c=void 0,d=void 0;if(!a.start||!b.test(a.start))return this.addInvalidParamNotice("start"),!1;if(c=moment(a.start),!a.end||!b.test(a.end))return this.addInvalidParamNotice("end"),!1;if(d=moment(a.end),cd)return this.addSiteNotice("danger",$.i18n("param-error-2"),$.i18n("invalid-params"),!0),!1;this.daterangepicker.startDate=c,this.daterangepicker.setEndDate(d)}else this.setSpecialRange(this.config.defaults.dateRange);return!0}},{key:"clearSiteNotices",value:function(){$(".site-notice").html("")}},{key:"clearMessages",value:function(){$(".message-container").html("")}},{key:"downloadData",value:function(a,b){var c=encodeURI(a),d=document.createElement("a");if("string"==typeof d.download){document.body.appendChild(d);var e=this.getExportFilename()+"."+b;d.download=e,d.href=c,d.click(),document.body.removeChild(d)}else window.open(c)}},{key:"fillInSettings",value:function(){var a=this;$.each($("#settings-modal input"),function(b,c){"checkbox"===c.type?c.checked="true"===a[c.name]:c.checked=a[c.name]===c.value})}},{key:"focusSelect2",value:function(){$(".select2-selection").trigger("click"),$(".select2-search__field").focus()}},{key:"formatNumber",value:function(a){var b=this.getFromLocalStorage("pageviews-settings-numericalFormatting")||this.config.defaults.numericalFormatting;return"true"===b?this.n(a):a}},{key:"formatYAxisNumber",value:function(a){return a%1===0?this.formatNumber(a):null}},{key:"getDateHeadings",value:function(a){for(var b=[],c=moment(this.daterangepicker.endDate).add(1,"d"),d=moment(this.daterangepicker.startDate);d.isBefore(c);d.add(1,"d"))a?b.push(d.format(this.dateFormat)):b.push(d.format("YYYY-MM-DD"));return b}},{key:"getExpandedPageURL",value:function(a){return"//"+this.project+".org/w/index.php?title="+encodeURIComponent(a.score()).replace(/'/,escape)}},{key:"getExportFilename",value:function(){var a=this.daterangepicker.startDate.startOf("day").format("YYYYMMDD"),b=this.daterangepicker.endDate.startOf("day").format("YYYYMMDD");return this.app+"-"+a+"-"+b}},{key:"getPageLink",value:function(a,b){return''+a.descore().escape()+""}},{key:"getPageURL",value:function(a){var b=arguments.length<=1||void 0===arguments[1]?this.project:arguments[1];return"//"+b.replace(/\.org$/,"").escape()+".org/wiki/"+encodeURIComponent(a.score()).replace(/'/,escape)}},{key:"getSiteLink",value:function(a){return''+a+""}},{key:"getLocaleDateString",value:function(){if(!navigator.language)return this.config.defaults.dateFormat;var a={"ar-sa":"DD/MM/YY","bg-bg":"DD.M.YYYY","ca-es":"DD/MM/YYYY","zh-tw":"YYYY/M/D","cs-cz":"D.M.YYYY","da-dk":"DD-MM-YYYY","de-de":"DD.MM.YYYY","el-gr":"D/M/YYYY","en-us":"M/D/YYYY","fi-fi":"D.M.YYYY","fr-fr":"DD/MM/YYYY","he-il":"DD/MM/YYYY","hu-hu":"YYYY. MM. DD.","is-is":"D.M.YYYY","it-it":"DD/MM/YYYY","ja-jp":"YYYY/MM/DD","ko-kr":"YYYY-MM-DD","nl-nl":"D-M-YYYY","nb-no":"DD.MM.YYYY","pl-pl":"YYYY-MM-DD","pt-br":"D/M/YYYY","ro-ro":"DD.MM.YYYY","ru-ru":"DD.MM.YYYY","hr-hr":"D.M.YYYY","sk-sk":"D. M. YYYY","sq-al":"YYYY-MM-DD","sv-se":"YYYY-MM-DD","th-th":"D/M/YYYY","tr-tr":"DD.MM.YYYY","ur-pk":"DD/MM/YYYY","id-id":"DD/MM/YYYY","uk-ua":"DD.MM.YYYY","be-by":"DD.MM.YYYY","sl-si":"D.M.YYYY","et-ee":"D.MM.YYYY","lv-lv":"YYYY.MM.DD.","lt-lt":"YYYY.MM.DD","fa-ir":"MM/DD/YYYY","vi-vn":"DD/MM/YYYY","hy-am":"DD.MM.YYYY","az-latn-az":"DD.MM.YYYY","eu-es":"YYYY/MM/DD","mk-mk":"DD.MM.YYYY","af-za":"YYYY/MM/DD","ka-ge":"DD.MM.YYYY","fo-fo":"DD-MM-YYYY","hi-in":"DD-MM-YYYY","ms-my":"DD/MM/YYYY","kk-kz":"DD.MM.YYYY","ky-kg":"DD.MM.YY","sw-ke":"M/d/YYYY","uz-latn-uz":"DD/MM YYYY","tt-ru":"DD.MM.YYYY","pa-in":"DD-MM-YY","gu-in":"DD-MM-YY","ta-in":"DD-MM-YYYY","te-in":"DD-MM-YY","kn-in":"DD-MM-YY","mr-in":"DD-MM-YYYY","sa-in":"DD-MM-YYYY","mn-mn":"YY.MM.DD","gl-es":"DD/MM/YY","kok-in":"DD-MM-YYYY","syr-sy":"DD/MM/YYYY","dv-mv":"DD/MM/YY","ar-iq":"DD/MM/YYYY","zh-cn":"YYYY/M/D","de-ch":"DD.MM.YYYY","en-gb":"DD/MM/YYYY","es-mx":"DD/MM/YYYY","fr-be":"D/MM/YYYY","it-ch":"DD.MM.YYYY","nl-be":"D/MM/YYYY","nn-no":"DD.MM.YYYY","pt-pt":"DD-MM-YYYY","sr-latn-cs":"D.M.YYYY","sv-fi":"D.M.YYYY","az-cyrl-az":"DD.MM.YYYY","ms-bn":"DD/MM/YYYY","uz-cyrl-uz":"DD.MM.YYYY","ar-eg":"DD/MM/YYYY","zh-hk":"D/M/YYYY","de-at":"DD.MM.YYYY","en-au":"D/MM/YYYY","es-es":"DD/MM/YYYY","fr-ca":"YYYY-MM-DD","sr-cyrl-cs":"D.M.YYYY","ar-ly":"DD/MM/YYYY","zh-sg":"D/M/YYYY","de-lu":"DD.MM.YYYY","en-ca":"DD/MM/YYYY","es-gt":"DD/MM/YYYY","fr-ch":"DD.MM.YYYY","ar-dz":"DD-MM-YYYY","zh-mo":"D/M/YYYY","de-li":"DD.MM.YYYY","en-nz":"D/MM/YYYY","es-cr":"DD/MM/YYYY","fr-lu":"DD/MM/YYYY","ar-ma":"DD-MM-YYYY","en-ie":"DD/MM/YYYY","es-pa":"MM/DD/YYYY","fr-mc":"DD/MM/YYYY","ar-tn":"DD-MM-YYYY","en-za":"YYYY/MM/DD","es-do":"DD/MM/YYYY","ar-om":"DD/MM/YYYY","en-jm":"DD/MM/YYYY","es-ve":"DD/MM/YYYY","ar-ye":"DD/MM/YYYY","en-029":"MM/DD/YYYY","es-co":"DD/MM/YYYY","ar-sy":"DD/MM/YYYY","en-bz":"DD/MM/YYYY","es-pe":"DD/MM/YYYY","ar-jo":"DD/MM/YYYY","en-tt":"DD/MM/YYYY","es-ar":"DD/MM/YYYY","ar-lb":"DD/MM/YYYY","en-zw":"M/D/YYYY","es-ec":"DD/MM/YYYY","ar-kw":"DD/MM/YYYY","en-ph":"M/D/YYYY","es-cl":"DD-MM-YYYY","ar-ae":"DD/MM/YYYY","es-uy":"DD/MM/YYYY","ar-bh":"DD/MM/YYYY","es-py":"DD/MM/YYYY","ar-qa":"DD/MM/YYYY","es-bo":"DD/MM/YYYY","es-sv":"DD/MM/YYYY","es-hn":"DD/MM/YYYY","es-ni":"DD/MM/YYYY","es-pr":"DD/MM/YYYY","am-et":"D/M/YYYY","tzm-latn-dz":"DD-MM-YYYY","iu-latn-ca":"D/MM/YYYY","sma-no":"DD.MM.YYYY","mn-mong-cn":"YYYY/M/D","gd-gb":"DD/MM/YYYY","en-my":"D/M/YYYY","prs-af":"DD/MM/YY","bn-bd":"DD-MM-YY","wo-sn":"DD/MM/YYYY","rw-rw":"M/D/YYYY","qut-gt":"DD/MM/YYYY","sah-ru":"MM.DD.YYYY","gsw-fr":"DD/MM/YYYY","co-fr":"DD/MM/YYYY","oc-fr":"DD/MM/YYYY","mi-nz":"DD/MM/YYYY","ga-ie":"DD/MM/YYYY","se-se":"YYYY-MM-DD","br-fr":"DD/MM/YYYY","smn-fi":"D.M.YYYY","moh-ca":"M/D/YYYY","arn-cl":"DD-MM-YYYY","ii-cn":"YYYY/M/D","dsb-de":"D. M. YYYY","ig-ng":"D/M/YYYY","kl-gl":"DD-MM-YYYY","lb-lu":"DD/MM/YYYY","ba-ru":"DD.MM.YY","nso-za":"YYYY/MM/DD","quz-bo":"DD/MM/YYYY","yo-ng":"D/M/YYYY","ha-latn-ng":"D/M/YYYY","fil-ph":"M/D/YYYY","ps-af":"DD/MM/YY","fy-nl":"D-M-YYYY","ne-np":"M/D/YYYY","se-no":"DD.MM.YYYY","iu-cans-ca":"D/M/YYYY","sr-latn-rs":"D.M.YYYY","si-lk":"YYYY-MM-DD","sr-cyrl-rs":"D.M.YYYY","lo-la":"DD/MM/YYYY","km-kh":"YYYY-MM-DD","cy-gb":"DD/MM/YYYY","bo-cn":"YYYY/M/D","sms-fi":"D.M.YYYY","as-in":"DD-MM-YYYY","ml-in":"DD-MM-YY","en-in":"DD-MM-YYYY","or-in":"DD-MM-YY","bn-in":"DD-MM-YY","tk-tm":"DD.MM.YY","bs-latn-ba":"D.M.YYYY","mt-mt":"DD/MM/YYYY","sr-cyrl-me":"D.M.YYYY","se-fi":"D.M.YYYY","zu-za":"YYYY/MM/DD","xh-za":"YYYY/MM/DD","tn-za":"YYYY/MM/DD","hsb-de":"D. M. YYYY","bs-cyrl-ba":"D.M.YYYY","tg-cyrl-tj":"DD.MM.yy","sr-latn-ba":"D.M.YYYY","smj-no":"DD.MM.YYYY","rm-ch":"DD/MM/YYYY","smj-se":"YYYY-MM-DD","quz-ec":"DD/MM/YYYY","quz-pe":"DD/MM/YYYY","hr-ba":"D.M.YYYY.","sr-latn-me":"D.M.YYYY","sma-se":"YYYY-MM-DD","en-sg":"D/M/YYYY","ug-cn":"YYYY-M-D","sr-cyrl-ba":"D.M.YYYY","es-us":"M/D/YYYY"},b=navigator.language.toLowerCase();return a[b]||this.config.defaults.dateFormat}},{key:"getFromLocalStorage",value:function(a){try{return localStorage.getItem(a)}catch(b){return storage[a]}}},{key:"getBugReportURL",value:function(a){var b="https://meta.wikimedia.org/w/index.php?title=Talk:Pageviews_Analysis&action=edit"+("§ion=new&preloadtitle="+this.app.upcase()+" bug report");return a?b+"&preload=Talk:Pageviews_Analysis/Preload&preloadparams[]="+a:b}},{key:"getUserAgent",value:function(){return navigator.userAgent?navigator.userAgent:"Unknown"}},{key:"setLocalStorage",value:function(a,b){try{return localStorage.setItem(a,b)}catch(c){return storage[a]=b}}},{key:"hashCode",value:function(a){return a.split("").reduce(function(a,b){return(a<<5)-a+b.charCodeAt(0)},0)}},{key:"isChartApp",value:function(){return!this.isListApp()}},{key:"isListApp",value:function(){return["langviews","massviews","redirectviews"].includes(this.app)}},{key:"isMultilangProject",value:function(){return new RegExp(".*?\\.("+b.multilangProjects.join("|")+")").test(this.project)}},{key:"mapNormalizedPageNames",value:function(a,b){return b.forEach(function(b){a=a.map(function(a){return b.from===a?b.to:a})}),a}},{key:"n",value:function(a){return new Number(a).toLocaleString()}},{key:"normalizePageNames",value:function(a){var b=this,c=$.Deferred();return $.ajax({url:"https://"+this.project+".org/w/api.php?action=query&prop=info&format=json&titles="+a.join("|"),dataType:"jsonp"}).then(function(d){return d.query.normalized&&(a=b.mapNormalizedPageNames(a,d.query.normalized)),c.resolve(a)})}},{key:"numDaysInRange",value:function(){return this.daterangepicker.endDate.diff(this.daterangepicker.startDate,"days")+1}},{key:"parseQueryString",value:function(a){for(var b=decodeURI(location.search.slice(1)),c=b.split("&"),d={},e=0;e").text(a).html();$("").appendTo(b.config.select2Input)}),$(this.config.select2Input).select2("val",a),$(this.config.select2Input).select2("close"),a}},{key:"setSpecialRange",value:function(a){var b=Object.keys(this.config.specialRanges).indexOf(a),c=void 0,d=void 0;if(a.includes("latest-")){var e=parseInt(a.replace("latest-",""),10)||20,f=this.config.specialRanges.latest(e),g=h(f,2);c=g[0],d=g[1]}else{if(!(b>=0))return;var i="latest"===a?this.config.specialRanges.latest():this.config.specialRanges[a],j=h(i,2);c=j[0],d=j[1],$(".daterangepicker .ranges li").eq(b).trigger("click")}return this.specialRange={range:a,value:c.format(this.dateFormat)+" - "+d.format(this.dateFormat)},this.daterangepicker.startDate=c,this.daterangepicker.setEndDate(d),this.specialRange}},{key:"setupSelect2Colors",value:function(){var a=this;return this.colorsStyleEl&&this.colorsStyleEl.remove(),this.colorsStyleEl=document.createElement("style"),this.colorsStyleEl.appendChild(document.createTextNode("")),document.head.appendChild(this.colorsStyleEl),this.config.colors.forEach(function(b,c){a.colorsStyleEl.sheet.insertRule(".select2-selection__choice:nth-of-type("+(c+1)+") { background: "+b+" !important }",0)}),this.colorsStyleEl.sheet}},{key:"setupListeners",value:function(){var a=this;$("a[href='#']").on("click",function(a){return a.preventDefault()}),$(".lang-link").on("click",function(b){var c=moment().add(a.config.cookieExpiry,"days").toDate().toGMTString();document.cookie="TsIntuition_userlang="+$(b.target).data("lang")+"; expires="+c+"; path=/";var d=Math.floor(Date.now()/1e3)+24*a.config.cookieExpiry*60*60;document.cookie="TsIntuition_expiry="+d+"; expires="+c+"; path=/",location.reload()}),$(".download-csv").on("click",this.exportCSV.bind(this)),$(".download-json").on("click",this.exportJSON.bind(this)),$(this.config.projectInput).on("focusin",function(){this.dataset.value=this.value}),$(this.config.projectInput).on("change",function(b){return a.validateProject(b)})}},{key:"setupSettingsModal",value:function(){this.fillInSettings(),$(".save-settings-btn").on("click",this.saveSettings.bind(this)),$(".cancel-settings-btn").on("click",this.fillInSettings.bind(this))}},{key:"setupDateRangeSelector",value:function(){var a=this,b=$(this.config.dateRangeSelector),c={};Object.keys(this.config.specialRanges).forEach(function(b){"latest"!==b&&(c[$.i18n(b)]=a.config.specialRanges[b])});var d={locale:{format:this.dateFormat,applyLabel:$.i18n("apply"),cancelLabel:$.i18n("cancel"),customRangeLabel:$.i18n("custom-range"),daysOfWeek:[$.i18n("su"),$.i18n("mo"),$.i18n("tu"),$.i18n("we"),$.i18n("th"),$.i18n("fr"),$.i18n("sa")],monthNames:[$.i18n("january"),$.i18n("february"),$.i18n("march"),$.i18n("april"),$.i18n("may"),$.i18n("june"),$.i18n("july"),$.i18n("august"),$.i18n("september"),$.i18n("october"),$.i18n("november"),$.i18n("december")]},startDate:moment().subtract(this.config.daysAgo,"days"),minDate:this.config.minDate,maxDate:this.config.maxDate,ranges:c};this.config.dateLimit&&(d.dateLimit={days:this.config.dateLimit}),b.daterangepicker(d),$(".daterangepicker").append($("
").addClass("daterange-notice").html($.i18n("date-notice",document.title,"stats.grok.se",$.i18n("july")+" 2015"))),$(".daterangepicker .ranges li").on("click",function(b){var c=$(".daterangepicker .ranges li").index(b.target),d=a.daterangepicker.container,e=d.find(".daterangepicker_input input");a.specialRange={range:Object.keys(a.config.specialRanges)[c],value:e[0].value+" - "+e[1].value}}),$(this.config.dateRangeSelector).on("apply.daterangepicker",function(b,c){c.chosenLabel===$.i18n("custom-range")&&(a.specialRange=null,a.daterangepicker.updateElement())})}},{key:"setThrottle",value:function(){this.isRequestCached()||simpleStorage.set("pageviews-throttle",!0,{TTL:9e4})}},{key:"showFatalErrors",value:function(a){var b=this;if(this.clearMessages(),a.forEach(function(a){b.writeMessage(""+$.i18n("fatal-error")+": "+a+"")}),this.debug)throw a[0];a&&a[0]&&a[0].stack&&$.ajax({method:"POST",url:"//tools.wmflabs.org/musikanimal/paste",data:{content:"\ndate: "+moment().utc().format()+("\ntool: "+this.app)+("\nlanguage: "+i18nLang)+("\nchart: "+this.chartType)+("\nurl: "+document.location.href)+("\nuserAgent: "+this.getUserAgent())+("\ntrace: "+a[0].stack),title:"Pageviews Analysis error report: "+a[0]}}).done(function(a){a&&a.result&&a.result.objectName?b.writeMessage($.i18n("error-please-report",b.getBugReportURL(a.result.objectName))):b.writeMessage($.i18n("error-please-report",b.getBugReportURL()))}).fail(function(){b.writeMessage($.i18n("error-please-report",b.getBugReportURL()))})}},{key:"splash",value:function(){var a="background: #eee; color: #555; padding: 4px; font-family:monospace";console.log("%c ___ __ _ _ ",a),console.log("%c | _ \\ __ _ / _` | ___ __ __ (_) ___ __ __ __ ___ ",a),console.log("%c | _/ / _` | \\__, | / -_) \\ V / | | / -_) \\ V V / (_-< ",a),console.log("%c _|_|_ \\__,_| |___/ \\___| _\\_/_ _|_|_ \\___| \\_/\\_/ /__/_ ",a),console.log('%c _| """ |_|"""""|_|"""""|_|"""""|_|"""""|_|"""""|_|"""""|_|"""""|_|"""""| ',a),console.log("%c \"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-' ",a),console.log("%c ___ _ _ _ _ ",a),console.log("%c o O O / \\ _ _ __ _ | || | | | ___ (_) ___ ",a),console.log("%c o | - | | ' \\ / _` | \\_, | | | (_-< | | (_-< ",a),console.log("%c TS__[O] |_|_| |_||_| \\__,_| _|__/ _|_|_ /__/_ _|_|_ /__/_ ",a),console.log('%c {======|_|"""""|_|"""""|_|"""""|_| """"|_|"""""|_|"""""|_|"""""|_|"""""| ',a), -console.log("%c ./o--000'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-' ",a),console.log("%c ",a),console.log("%c Copyright © "+(new Date).getFullYear()+" MusikAnimal, Kaldari, Marcel Ruiz Forns ",a)}},{key:"startSpinny",value:function(){var a=this;$(".chart-container").addClass("loading"),clearTimeout(this.timeout),this.timeout=setTimeout(function(b){a.resetView(),a.writeMessage(""+$.i18n("fatal-error")+":\n "+$.i18n("error-timed-out")+"\n "+$.i18n("error-please-report",a.getBugReportURL())+"\n ",!0)},2e4)}},{key:"stopSpinny",value:function(){$(".chart-container").removeClass("loading"),clearTimeout(this.timeout)}},{key:"underscorePageNames",value:function(a){return a.map(function(a){return decodeURIComponent(a).score()})}},{key:"updateInterAppLinks",value:function(){var a=this;$(".interapp-link").each(function(b,c){var d=c.href.split("?")[0];c.classList.contains("interapp-link--siteviews")?c.href=d+"?sites="+a.project.escape()+".org":c.href=d+"?project="+a.project.escape()+".org"})}},{key:"validateParams",value:function(a){var b=this;return this.config.validateParams.forEach(function(c){"project"===c&&a.project&&(a.project=a.project.replace(/^www\./,""));var d=b.config.defaults[c],e=a[c];d&&!b.config.validParams[c].includes(e)&&(e&&b.addInvalidParamNotice(c),a[c]=d)}),a}},{key:"validateProject",value:function(){var a=arguments.length<=0||void 0===arguments[0]?!1:arguments[0],b=$(this.config.projectInput)[0],c=b.value.replace(/^www\./,""),d=!1;return a&&!this.isMultilangProject()?(this.writeMessage($.i18n("invalid-lang-project",""+c.escape()+""),!0),c=b.dataset.value):l.includes(c)?(this.clearMessages(),this.updateInterAppLinks(),d=!0):(this.writeMessage($.i18n("invalid-project",""+c.escape()+""),!0),c=b.dataset.value),b.value=c,d}},{key:"writeMessage",value:function(a,b){return b&&this.clearMessages(),$(".message-container").append("
"+a+"
")}},{key:"dateFormat",get:function(){return"true"===this.localizeDateFormat?this.getLocaleDateString():this.config.defaults.dateFormat}},{key:"daterangepicker",get:function(){return $(this.config.dateRangeSelector).data("daterangepicker")}},{key:"project",get:function(){var a=$(this.config.projectInput).val();return a?a.toLowerCase().replace(/.org$/,""):null}}],[{key:"multilangProjects",get:function(){return["wikipedia","wikibooks","wikinews","wikiquote","wikisource","wikiversity","wikivoyage"]}}]),b}(j);b.exports=m},{"./pv_config":8,"./site_map":9}],8:[function(a,b,c){"use strict";function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var e=function(){function a(a,b){for(var c=0;c1?"line":"bar"},dateFormat:"YYYY-MM-DD",localizeDateFormat:"true",numericalFormatting:"true",bezierCurve:"false",autoLogDetection:"true",beginAtZero:"false",rememberChart:"true",agent:"user",platform:"all-access",project:"en.wikipedia.org"},globalChartOpts:{animation:{duration:500,easing:"easeInOutQuart"},hover:{animationDuration:0},legend:{display:!1}},linearCharts:["line","bar","radar"],linearOpts:{scales:{yAxes:[{ticks:{callback:function(a){return b.formatNumber(a)}}}]},legendCallback:function(a){return b.config.linearLegend(a.data.datasets,c)}},daysAgo:20,minDate:moment("2015-07-01").startOf("day"),maxDate:moment().subtract(1,"days").startOf("day"),specialRanges:{"last-week":[moment().subtract(1,"week").startOf("week"),moment().subtract(1,"week").endOf("week")],"this-month":[moment().startOf("month"),moment().subtract(1,"days").startOf("day")],"last-month":[moment().subtract(1,"month").startOf("month"),moment().subtract(1,"month").endOf("month")],latest:function(){var a=arguments.length<=0||void 0===arguments[0]?c.config.daysAgo:arguments[0];return[moment().subtract(a,"days").startOf("day"),c.config.maxDate]}},timestampFormat:"YYYYMMDD00",validParams:{agent:["all-agents","user","spider","bot"],platform:["all-access","desktop","mobile-app","mobile-web"],project:g}}}return e(a,[{key:"linearTooltips",get:function(){var a=this;return{mode:"label",callbacks:{label:function(b){return Number.isNaN(b.yLabel)?" "+$.i18n("unknown"):" "+a.formatNumber(b.yLabel)}},bodyFontSize:14,bodySpacing:7,caretSize:0,titleFontSize:14}}},{key:"circularTooltips",get:function(){var a=this;return{callbacks:{label:function b(c,d){var e=d.datasets[c.datasetIndex].data[c.index],b=d.labels[c.index];return Number.isNaN(e)?b+": "+$.i18n("unknown"):b+": "+a.formatNumber(e)}},bodyFontSize:14,bodySpacing:7,caretSize:0,titleFontSize:14}}}]),a}();b.exports=h},{"./site_map":9}],9:[function(a,b,c){"use strict";var d={aawiki:"aa.wikipedia.org",aawiktionary:"aa.wiktionary.org",aawikibooks:"aa.wikibooks.org",abwiki:"ab.wikipedia.org",abwiktionary:"ab.wiktionary.org",acewiki:"ace.wikipedia.org",adywiki:"ady.wikipedia.org",afwiki:"af.wikipedia.org",afwiktionary:"af.wiktionary.org",afwikibooks:"af.wikibooks.org",afwikiquote:"af.wikiquote.org",akwiki:"ak.wikipedia.org",akwiktionary:"ak.wiktionary.org",akwikibooks:"ak.wikibooks.org",alswiki:"als.wikipedia.org",alswiktionary:"als.wiktionary.org",alswikibooks:"als.wikibooks.org",alswikiquote:"als.wikiquote.org",amwiki:"am.wikipedia.org",amwiktionary:"am.wiktionary.org",amwikiquote:"am.wikiquote.org",anwiki:"an.wikipedia.org",anwiktionary:"an.wiktionary.org",angwiki:"ang.wikipedia.org",angwiktionary:"ang.wiktionary.org",angwikibooks:"ang.wikibooks.org",angwikiquote:"ang.wikiquote.org",angwikisource:"ang.wikisource.org",arwiki:"ar.wikipedia.org",arwiktionary:"ar.wiktionary.org",arwikibooks:"ar.wikibooks.org",arwikinews:"ar.wikinews.org",arwikiquote:"ar.wikiquote.org",arwikisource:"ar.wikisource.org",arwikiversity:"ar.wikiversity.org",arcwiki:"arc.wikipedia.org",arzwiki:"arz.wikipedia.org",aswiki:"as.wikipedia.org",aswiktionary:"as.wiktionary.org",aswikibooks:"as.wikibooks.org",aswikisource:"as.wikisource.org",astwiki:"ast.wikipedia.org",astwiktionary:"ast.wiktionary.org",astwikibooks:"ast.wikibooks.org",astwikiquote:"ast.wikiquote.org",avwiki:"av.wikipedia.org",avwiktionary:"av.wiktionary.org",aywiki:"ay.wikipedia.org",aywiktionary:"ay.wiktionary.org",aywikibooks:"ay.wikibooks.org",azwiki:"az.wikipedia.org",azwiktionary:"az.wiktionary.org",azwikibooks:"az.wikibooks.org",azwikiquote:"az.wikiquote.org",azwikisource:"az.wikisource.org",azbwiki:"azb.wikipedia.org",bawiki:"ba.wikipedia.org",bawikibooks:"ba.wikibooks.org",barwiki:"bar.wikipedia.org",bat_smgwiki:"bat-smg.wikipedia.org",bclwiki:"bcl.wikipedia.org",bewiki:"be.wikipedia.org",bewiktionary:"be.wiktionary.org",bewikibooks:"be.wikibooks.org",bewikiquote:"be.wikiquote.org",bewikisource:"be.wikisource.org",be_x_oldwiki:"be-tarask.wikipedia.org",bgwiki:"bg.wikipedia.org",bgwiktionary:"bg.wiktionary.org",bgwikibooks:"bg.wikibooks.org",bgwikinews:"bg.wikinews.org",bgwikiquote:"bg.wikiquote.org",bgwikisource:"bg.wikisource.org",bhwiki:"bh.wikipedia.org",bhwiktionary:"bh.wiktionary.org",biwiki:"bi.wikipedia.org",biwiktionary:"bi.wiktionary.org",biwikibooks:"bi.wikibooks.org",bjnwiki:"bjn.wikipedia.org",bmwiki:"bm.wikipedia.org",bmwiktionary:"bm.wiktionary.org",bmwikibooks:"bm.wikibooks.org",bmwikiquote:"bm.wikiquote.org",bnwiki:"bn.wikipedia.org",bnwiktionary:"bn.wiktionary.org",bnwikibooks:"bn.wikibooks.org",bnwikisource:"bn.wikisource.org",bowiki:"bo.wikipedia.org",bowiktionary:"bo.wiktionary.org",bowikibooks:"bo.wikibooks.org",bpywiki:"bpy.wikipedia.org",brwiki:"br.wikipedia.org",brwiktionary:"br.wiktionary.org",brwikiquote:"br.wikiquote.org",brwikisource:"br.wikisource.org",bswiki:"bs.wikipedia.org",bswiktionary:"bs.wiktionary.org",bswikibooks:"bs.wikibooks.org",bswikinews:"bs.wikinews.org",bswikiquote:"bs.wikiquote.org",bswikisource:"bs.wikisource.org",bugwiki:"bug.wikipedia.org",bxrwiki:"bxr.wikipedia.org",cawiki:"ca.wikipedia.org",cawiktionary:"ca.wiktionary.org",cawikibooks:"ca.wikibooks.org",cawikinews:"ca.wikinews.org",cawikiquote:"ca.wikiquote.org",cawikisource:"ca.wikisource.org",cbk_zamwiki:"cbk-zam.wikipedia.org",cdowiki:"cdo.wikipedia.org",cewiki:"ce.wikipedia.org",cebwiki:"ceb.wikipedia.org",chwiki:"ch.wikipedia.org",chwiktionary:"ch.wiktionary.org",chwikibooks:"ch.wikibooks.org",chowiki:"cho.wikipedia.org",chrwiki:"chr.wikipedia.org",chrwiktionary:"chr.wiktionary.org",chywiki:"chy.wikipedia.org",ckbwiki:"ckb.wikipedia.org",cowiki:"co.wikipedia.org",cowiktionary:"co.wiktionary.org",cowikibooks:"co.wikibooks.org",cowikiquote:"co.wikiquote.org",crwiki:"cr.wikipedia.org",crwiktionary:"cr.wiktionary.org",crwikiquote:"cr.wikiquote.org",crhwiki:"crh.wikipedia.org",cswiki:"cs.wikipedia.org",cswiktionary:"cs.wiktionary.org",cswikibooks:"cs.wikibooks.org",cswikinews:"cs.wikinews.org",cswikiquote:"cs.wikiquote.org",cswikisource:"cs.wikisource.org",cswikiversity:"cs.wikiversity.org",csbwiki:"csb.wikipedia.org",csbwiktionary:"csb.wiktionary.org",cuwiki:"cu.wikipedia.org",cvwiki:"cv.wikipedia.org",cvwikibooks:"cv.wikibooks.org",cywiki:"cy.wikipedia.org",cywiktionary:"cy.wiktionary.org",cywikibooks:"cy.wikibooks.org",cywikiquote:"cy.wikiquote.org",cywikisource:"cy.wikisource.org",dawiki:"da.wikipedia.org",dawiktionary:"da.wiktionary.org",dawikibooks:"da.wikibooks.org",dawikiquote:"da.wikiquote.org",dawikisource:"da.wikisource.org",dewiki:"de.wikipedia.org",dewiktionary:"de.wiktionary.org",dewikibooks:"de.wikibooks.org",dewikinews:"de.wikinews.org",dewikiquote:"de.wikiquote.org",dewikisource:"de.wikisource.org",dewikiversity:"de.wikiversity.org",dewikivoyage:"de.wikivoyage.org",diqwiki:"diq.wikipedia.org",dsbwiki:"dsb.wikipedia.org",dvwiki:"dv.wikipedia.org",dvwiktionary:"dv.wiktionary.org",dzwiki:"dz.wikipedia.org",dzwiktionary:"dz.wiktionary.org",eewiki:"ee.wikipedia.org",elwiki:"el.wikipedia.org",elwiktionary:"el.wiktionary.org",elwikibooks:"el.wikibooks.org",elwikinews:"el.wikinews.org",elwikiquote:"el.wikiquote.org",elwikisource:"el.wikisource.org",elwikiversity:"el.wikiversity.org",elwikivoyage:"el.wikivoyage.org",emlwiki:"eml.wikipedia.org",enwiki:"en.wikipedia.org",enwiktionary:"en.wiktionary.org",enwikibooks:"en.wikibooks.org",enwikinews:"en.wikinews.org",enwikiquote:"en.wikiquote.org",enwikisource:"en.wikisource.org",enwikiversity:"en.wikiversity.org",enwikivoyage:"en.wikivoyage.org",eowiki:"eo.wikipedia.org",eowiktionary:"eo.wiktionary.org",eowikibooks:"eo.wikibooks.org",eowikinews:"eo.wikinews.org",eowikiquote:"eo.wikiquote.org",eowikisource:"eo.wikisource.org",eswiki:"es.wikipedia.org",eswiktionary:"es.wiktionary.org",eswikibooks:"es.wikibooks.org",eswikinews:"es.wikinews.org",eswikiquote:"es.wikiquote.org",eswikisource:"es.wikisource.org",eswikiversity:"es.wikiversity.org",eswikivoyage:"es.wikivoyage.org",etwiki:"et.wikipedia.org",etwiktionary:"et.wiktionary.org",etwikibooks:"et.wikibooks.org",etwikiquote:"et.wikiquote.org",etwikisource:"et.wikisource.org",euwiki:"eu.wikipedia.org",euwiktionary:"eu.wiktionary.org",euwikibooks:"eu.wikibooks.org",euwikiquote:"eu.wikiquote.org",extwiki:"ext.wikipedia.org",fawiki:"fa.wikipedia.org",fawiktionary:"fa.wiktionary.org",fawikibooks:"fa.wikibooks.org",fawikinews:"fa.wikinews.org",fawikiquote:"fa.wikiquote.org",fawikisource:"fa.wikisource.org",fawikivoyage:"fa.wikivoyage.org",ffwiki:"ff.wikipedia.org",fiwiki:"fi.wikipedia.org",fiwiktionary:"fi.wiktionary.org",fiwikibooks:"fi.wikibooks.org",fiwikinews:"fi.wikinews.org",fiwikiquote:"fi.wikiquote.org",fiwikisource:"fi.wikisource.org",fiwikiversity:"fi.wikiversity.org",fiu_vrowiki:"fiu-vro.wikipedia.org",fjwiki:"fj.wikipedia.org",fjwiktionary:"fj.wiktionary.org",fowiki:"fo.wikipedia.org",fowiktionary:"fo.wiktionary.org",fowikisource:"fo.wikisource.org",frwiki:"fr.wikipedia.org",frwiktionary:"fr.wiktionary.org",frwikibooks:"fr.wikibooks.org",frwikinews:"fr.wikinews.org",frwikiquote:"fr.wikiquote.org",frwikisource:"fr.wikisource.org",frwikiversity:"fr.wikiversity.org",frwikivoyage:"fr.wikivoyage.org",frpwiki:"frp.wikipedia.org",frrwiki:"frr.wikipedia.org",furwiki:"fur.wikipedia.org",fywiki:"fy.wikipedia.org",fywiktionary:"fy.wiktionary.org",fywikibooks:"fy.wikibooks.org",gawiki:"ga.wikipedia.org",gawiktionary:"ga.wiktionary.org",gawikibooks:"ga.wikibooks.org",gawikiquote:"ga.wikiquote.org",gagwiki:"gag.wikipedia.org",ganwiki:"gan.wikipedia.org",gdwiki:"gd.wikipedia.org",gdwiktionary:"gd.wiktionary.org",glwiki:"gl.wikipedia.org",glwiktionary:"gl.wiktionary.org",glwikibooks:"gl.wikibooks.org",glwikiquote:"gl.wikiquote.org",glwikisource:"gl.wikisource.org",glkwiki:"glk.wikipedia.org",gnwiki:"gn.wikipedia.org",gnwiktionary:"gn.wiktionary.org",gnwikibooks:"gn.wikibooks.org",gomwiki:"gom.wikipedia.org",gotwiki:"got.wikipedia.org",gotwikibooks:"got.wikibooks.org",guwiki:"gu.wikipedia.org",guwiktionary:"gu.wiktionary.org",guwikibooks:"gu.wikibooks.org",guwikiquote:"gu.wikiquote.org",guwikisource:"gu.wikisource.org",gvwiki:"gv.wikipedia.org",gvwiktionary:"gv.wiktionary.org",hawiki:"ha.wikipedia.org",hawiktionary:"ha.wiktionary.org",hakwiki:"hak.wikipedia.org",hawwiki:"haw.wikipedia.org",hewiki:"he.wikipedia.org",hewiktionary:"he.wiktionary.org",hewikibooks:"he.wikibooks.org",hewikinews:"he.wikinews.org",hewikiquote:"he.wikiquote.org",hewikisource:"he.wikisource.org",hewikivoyage:"he.wikivoyage.org",hiwiki:"hi.wikipedia.org",hiwiktionary:"hi.wiktionary.org",hiwikibooks:"hi.wikibooks.org",hiwikiquote:"hi.wikiquote.org",hifwiki:"hif.wikipedia.org",howiki:"ho.wikipedia.org",hrwiki:"hr.wikipedia.org",hrwiktionary:"hr.wiktionary.org",hrwikibooks:"hr.wikibooks.org",hrwikiquote:"hr.wikiquote.org",hrwikisource:"hr.wikisource.org",hsbwiki:"hsb.wikipedia.org",hsbwiktionary:"hsb.wiktionary.org",htwiki:"ht.wikipedia.org",htwikisource:"ht.wikisource.org",huwiki:"hu.wikipedia.org",huwiktionary:"hu.wiktionary.org",huwikibooks:"hu.wikibooks.org",huwikinews:"hu.wikinews.org",huwikiquote:"hu.wikiquote.org",huwikisource:"hu.wikisource.org",hywiki:"hy.wikipedia.org",hywiktionary:"hy.wiktionary.org",hywikibooks:"hy.wikibooks.org",hywikiquote:"hy.wikiquote.org",hywikisource:"hy.wikisource.org",hzwiki:"hz.wikipedia.org",iawiki:"ia.wikipedia.org",iawiktionary:"ia.wiktionary.org",iawikibooks:"ia.wikibooks.org",idwiki:"id.wikipedia.org",idwiktionary:"id.wiktionary.org",idwikibooks:"id.wikibooks.org",idwikiquote:"id.wikiquote.org",idwikisource:"id.wikisource.org",iewiki:"ie.wikipedia.org",iewiktionary:"ie.wiktionary.org",iewikibooks:"ie.wikibooks.org",igwiki:"ig.wikipedia.org",iiwiki:"ii.wikipedia.org",ikwiki:"ik.wikipedia.org",ikwiktionary:"ik.wiktionary.org",ilowiki:"ilo.wikipedia.org",iowiki:"io.wikipedia.org",iowiktionary:"io.wiktionary.org",iswiki:"is.wikipedia.org",iswiktionary:"is.wiktionary.org",iswikibooks:"is.wikibooks.org",iswikiquote:"is.wikiquote.org",iswikisource:"is.wikisource.org",itwiki:"it.wikipedia.org",itwiktionary:"it.wiktionary.org",itwikibooks:"it.wikibooks.org",itwikinews:"it.wikinews.org",itwikiquote:"it.wikiquote.org",itwikisource:"it.wikisource.org",itwikiversity:"it.wikiversity.org",itwikivoyage:"it.wikivoyage.org",iuwiki:"iu.wikipedia.org",iuwiktionary:"iu.wiktionary.org",jawiki:"ja.wikipedia.org",jawiktionary:"ja.wiktionary.org",jawikibooks:"ja.wikibooks.org",jawikinews:"ja.wikinews.org",jawikiquote:"ja.wikiquote.org",jawikisource:"ja.wikisource.org",jawikiversity:"ja.wikiversity.org",jbowiki:"jbo.wikipedia.org",jbowiktionary:"jbo.wiktionary.org",jvwiki:"jv.wikipedia.org",jvwiktionary:"jv.wiktionary.org",kawiki:"ka.wikipedia.org",kawiktionary:"ka.wiktionary.org",kawikibooks:"ka.wikibooks.org",kawikiquote:"ka.wikiquote.org",kaawiki:"kaa.wikipedia.org",kabwiki:"kab.wikipedia.org",kbdwiki:"kbd.wikipedia.org",kgwiki:"kg.wikipedia.org",kiwiki:"ki.wikipedia.org",kjwiki:"kj.wikipedia.org",kkwiki:"kk.wikipedia.org",kkwiktionary:"kk.wiktionary.org",kkwikibooks:"kk.wikibooks.org",kkwikiquote:"kk.wikiquote.org",klwiki:"kl.wikipedia.org",klwiktionary:"kl.wiktionary.org",kmwiki:"km.wikipedia.org",kmwiktionary:"km.wiktionary.org",kmwikibooks:"km.wikibooks.org",knwiki:"kn.wikipedia.org",knwiktionary:"kn.wiktionary.org",knwikibooks:"kn.wikibooks.org",knwikiquote:"kn.wikiquote.org",knwikisource:"kn.wikisource.org",kowiki:"ko.wikipedia.org",kowiktionary:"ko.wiktionary.org",kowikibooks:"ko.wikibooks.org",kowikinews:"ko.wikinews.org",kowikiquote:"ko.wikiquote.org",kowikisource:"ko.wikisource.org",kowikiversity:"ko.wikiversity.org",koiwiki:"koi.wikipedia.org",krwiki:"kr.wikipedia.org",krwikiquote:"kr.wikiquote.org",krcwiki:"krc.wikipedia.org",kswiki:"ks.wikipedia.org",kswiktionary:"ks.wiktionary.org",kswikibooks:"ks.wikibooks.org",kswikiquote:"ks.wikiquote.org",kshwiki:"ksh.wikipedia.org",kuwiki:"ku.wikipedia.org",kuwiktionary:"ku.wiktionary.org",kuwikibooks:"ku.wikibooks.org",kuwikiquote:"ku.wikiquote.org",kvwiki:"kv.wikipedia.org",kwwiki:"kw.wikipedia.org",kwwiktionary:"kw.wiktionary.org",kwwikiquote:"kw.wikiquote.org",kywiki:"ky.wikipedia.org",kywiktionary:"ky.wiktionary.org",kywikibooks:"ky.wikibooks.org",kywikiquote:"ky.wikiquote.org",lawiki:"la.wikipedia.org",lawiktionary:"la.wiktionary.org",lawikibooks:"la.wikibooks.org",lawikiquote:"la.wikiquote.org",lawikisource:"la.wikisource.org",ladwiki:"lad.wikipedia.org",lbwiki:"lb.wikipedia.org",lbwiktionary:"lb.wiktionary.org",lbwikibooks:"lb.wikibooks.org",lbwikiquote:"lb.wikiquote.org",lbewiki:"lbe.wikipedia.org",lezwiki:"lez.wikipedia.org",lgwiki:"lg.wikipedia.org",liwiki:"li.wikipedia.org",liwiktionary:"li.wiktionary.org",liwikibooks:"li.wikibooks.org",liwikiquote:"li.wikiquote.org",liwikisource:"li.wikisource.org",lijwiki:"lij.wikipedia.org",lmowiki:"lmo.wikipedia.org",lnwiki:"ln.wikipedia.org",lnwiktionary:"ln.wiktionary.org",lnwikibooks:"ln.wikibooks.org",lowiki:"lo.wikipedia.org",lowiktionary:"lo.wiktionary.org",lrcwiki:"lrc.wikipedia.org",ltwiki:"lt.wikipedia.org",ltwiktionary:"lt.wiktionary.org",ltwikibooks:"lt.wikibooks.org",ltwikiquote:"lt.wikiquote.org",ltwikisource:"lt.wikisource.org",ltgwiki:"ltg.wikipedia.org",lvwiki:"lv.wikipedia.org",lvwiktionary:"lv.wiktionary.org",lvwikibooks:"lv.wikibooks.org",maiwiki:"mai.wikipedia.org",map_bmswiki:"map-bms.wikipedia.org",mdfwiki:"mdf.wikipedia.org",mgwiki:"mg.wikipedia.org",mgwiktionary:"mg.wiktionary.org",mgwikibooks:"mg.wikibooks.org",mhwiki:"mh.wikipedia.org",mhwiktionary:"mh.wiktionary.org",mhrwiki:"mhr.wikipedia.org",miwiki:"mi.wikipedia.org",miwiktionary:"mi.wiktionary.org",miwikibooks:"mi.wikibooks.org",minwiki:"min.wikipedia.org",mkwiki:"mk.wikipedia.org",mkwiktionary:"mk.wiktionary.org",mkwikibooks:"mk.wikibooks.org",mkwikisource:"mk.wikisource.org",mlwiki:"ml.wikipedia.org",mlwiktionary:"ml.wiktionary.org",mlwikibooks:"ml.wikibooks.org",mlwikiquote:"ml.wikiquote.org",mlwikisource:"ml.wikisource.org",mnwiki:"mn.wikipedia.org",mnwiktionary:"mn.wiktionary.org",mnwikibooks:"mn.wikibooks.org",mowiki:"mo.wikipedia.org",mowiktionary:"mo.wiktionary.org",mrwiki:"mr.wikipedia.org",mrwiktionary:"mr.wiktionary.org",mrwikibooks:"mr.wikibooks.org",mrwikiquote:"mr.wikiquote.org",mrwikisource:"mr.wikisource.org",mrjwiki:"mrj.wikipedia.org",mswiki:"ms.wikipedia.org",mswiktionary:"ms.wiktionary.org",mswikibooks:"ms.wikibooks.org",mtwiki:"mt.wikipedia.org",mtwiktionary:"mt.wiktionary.org",muswiki:"mus.wikipedia.org",mwlwiki:"mwl.wikipedia.org",mywiki:"my.wikipedia.org",mywiktionary:"my.wiktionary.org",mywikibooks:"my.wikibooks.org",myvwiki:"myv.wikipedia.org",mznwiki:"mzn.wikipedia.org",nawiki:"na.wikipedia.org",nawiktionary:"na.wiktionary.org",nawikibooks:"na.wikibooks.org",nawikiquote:"na.wikiquote.org",nahwiki:"nah.wikipedia.org",nahwiktionary:"nah.wiktionary.org",nahwikibooks:"nah.wikibooks.org",napwiki:"nap.wikipedia.org",ndswiki:"nds.wikipedia.org",ndswiktionary:"nds.wiktionary.org",ndswikibooks:"nds.wikibooks.org",ndswikiquote:"nds.wikiquote.org",nds_nlwiki:"nds-nl.wikipedia.org",newiki:"ne.wikipedia.org",newiktionary:"ne.wiktionary.org",newikibooks:"ne.wikibooks.org",newwiki:"new.wikipedia.org",ngwiki:"ng.wikipedia.org",nlwiki:"nl.wikipedia.org",nlwiktionary:"nl.wiktionary.org",nlwikibooks:"nl.wikibooks.org",nlwikinews:"nl.wikinews.org",nlwikiquote:"nl.wikiquote.org",nlwikisource:"nl.wikisource.org",nlwikivoyage:"nl.wikivoyage.org",nnwiki:"nn.wikipedia.org",nnwiktionary:"nn.wiktionary.org",nnwikiquote:"nn.wikiquote.org",nowiki:"no.wikipedia.org",nowiktionary:"no.wiktionary.org",nowikibooks:"no.wikibooks.org",nowikinews:"no.wikinews.org",nowikiquote:"no.wikiquote.org",nowikisource:"no.wikisource.org",novwiki:"nov.wikipedia.org",nrmwiki:"nrm.wikipedia.org",nsowiki:"nso.wikipedia.org",nvwiki:"nv.wikipedia.org",nywiki:"ny.wikipedia.org",ocwiki:"oc.wikipedia.org",ocwiktionary:"oc.wiktionary.org",ocwikibooks:"oc.wikibooks.org",omwiki:"om.wikipedia.org",omwiktionary:"om.wiktionary.org",orwiki:"or.wikipedia.org",orwiktionary:"or.wiktionary.org",orwikisource:"or.wikisource.org",oswiki:"os.wikipedia.org",pawiki:"pa.wikipedia.org",pawiktionary:"pa.wiktionary.org",pawikibooks:"pa.wikibooks.org",pagwiki:"pag.wikipedia.org",pamwiki:"pam.wikipedia.org",papwiki:"pap.wikipedia.org",pcdwiki:"pcd.wikipedia.org",pdcwiki:"pdc.wikipedia.org",pflwiki:"pfl.wikipedia.org",piwiki:"pi.wikipedia.org",piwiktionary:"pi.wiktionary.org",pihwiki:"pih.wikipedia.org",plwiki:"pl.wikipedia.org",plwiktionary:"pl.wiktionary.org",plwikibooks:"pl.wikibooks.org",plwikinews:"pl.wikinews.org",plwikiquote:"pl.wikiquote.org",plwikisource:"pl.wikisource.org",plwikivoyage:"pl.wikivoyage.org",pmswiki:"pms.wikipedia.org",pnbwiki:"pnb.wikipedia.org",pnbwiktionary:"pnb.wiktionary.org",pntwiki:"pnt.wikipedia.org",pswiki:"ps.wikipedia.org",pswiktionary:"ps.wiktionary.org",pswikibooks:"ps.wikibooks.org",ptwiki:"pt.wikipedia.org",ptwiktionary:"pt.wiktionary.org",ptwikibooks:"pt.wikibooks.org",ptwikinews:"pt.wikinews.org",ptwikiquote:"pt.wikiquote.org",ptwikisource:"pt.wikisource.org",ptwikiversity:"pt.wikiversity.org",ptwikivoyage:"pt.wikivoyage.org",quwiki:"qu.wikipedia.org",quwiktionary:"qu.wiktionary.org",quwikibooks:"qu.wikibooks.org",quwikiquote:"qu.wikiquote.org",rmwiki:"rm.wikipedia.org",rmwiktionary:"rm.wiktionary.org",rmwikibooks:"rm.wikibooks.org",rmywiki:"rmy.wikipedia.org",rnwiki:"rn.wikipedia.org",rnwiktionary:"rn.wiktionary.org",rowiki:"ro.wikipedia.org",rowiktionary:"ro.wiktionary.org",rowikibooks:"ro.wikibooks.org",rowikinews:"ro.wikinews.org",rowikiquote:"ro.wikiquote.org",rowikisource:"ro.wikisource.org",rowikivoyage:"ro.wikivoyage.org",roa_rupwiki:"roa-rup.wikipedia.org",roa_rupwiktionary:"roa-rup.wiktionary.org",roa_tarawiki:"roa-tara.wikipedia.org",ruwiki:"ru.wikipedia.org",ruwiktionary:"ru.wiktionary.org",ruwikibooks:"ru.wikibooks.org",ruwikinews:"ru.wikinews.org",ruwikiquote:"ru.wikiquote.org",ruwikisource:"ru.wikisource.org",ruwikiversity:"ru.wikiversity.org",ruwikivoyage:"ru.wikivoyage.org",ruewiki:"rue.wikipedia.org",rwwiki:"rw.wikipedia.org",rwwiktionary:"rw.wiktionary.org",sawiki:"sa.wikipedia.org",sawiktionary:"sa.wiktionary.org",sawikibooks:"sa.wikibooks.org",sawikiquote:"sa.wikiquote.org",sawikisource:"sa.wikisource.org",sahwiki:"sah.wikipedia.org",sahwikisource:"sah.wikisource.org",scwiki:"sc.wikipedia.org",scwiktionary:"sc.wiktionary.org",scnwiki:"scn.wikipedia.org",scnwiktionary:"scn.wiktionary.org",scowiki:"sco.wikipedia.org",sdwiki:"sd.wikipedia.org",sdwiktionary:"sd.wiktionary.org",sdwikinews:"sd.wikinews.org",sewiki:"se.wikipedia.org",sewikibooks:"se.wikibooks.org",sgwiki:"sg.wikipedia.org",sgwiktionary:"sg.wiktionary.org",shwiki:"sh.wikipedia.org",shwiktionary:"sh.wiktionary.org",siwiki:"si.wikipedia.org",siwiktionary:"si.wiktionary.org",siwikibooks:"si.wikibooks.org",simplewiki:"simple.wikipedia.org",simplewiktionary:"simple.wiktionary.org",simplewikibooks:"simple.wikibooks.org",simplewikiquote:"simple.wikiquote.org",skwiki:"sk.wikipedia.org",skwiktionary:"sk.wiktionary.org",skwikibooks:"sk.wikibooks.org",skwikiquote:"sk.wikiquote.org",skwikisource:"sk.wikisource.org",slwiki:"sl.wikipedia.org",slwiktionary:"sl.wiktionary.org",slwikibooks:"sl.wikibooks.org",slwikiquote:"sl.wikiquote.org",slwikisource:"sl.wikisource.org",slwikiversity:"sl.wikiversity.org",smwiki:"sm.wikipedia.org",smwiktionary:"sm.wiktionary.org",snwiki:"sn.wikipedia.org",snwiktionary:"sn.wiktionary.org",sowiki:"so.wikipedia.org",sowiktionary:"so.wiktionary.org",sqwiki:"sq.wikipedia.org",sqwiktionary:"sq.wiktionary.org",sqwikibooks:"sq.wikibooks.org",sqwikinews:"sq.wikinews.org",sqwikiquote:"sq.wikiquote.org",srwiki:"sr.wikipedia.org",srwiktionary:"sr.wiktionary.org",srwikibooks:"sr.wikibooks.org",srwikinews:"sr.wikinews.org",srwikiquote:"sr.wikiquote.org",srwikisource:"sr.wikisource.org",srnwiki:"srn.wikipedia.org",sswiki:"ss.wikipedia.org",sswiktionary:"ss.wiktionary.org",stwiki:"st.wikipedia.org",stwiktionary:"st.wiktionary.org",stqwiki:"stq.wikipedia.org",suwiki:"su.wikipedia.org",suwiktionary:"su.wiktionary.org",suwikibooks:"su.wikibooks.org",suwikiquote:"su.wikiquote.org",svwiki:"sv.wikipedia.org",svwiktionary:"sv.wiktionary.org",svwikibooks:"sv.wikibooks.org",svwikinews:"sv.wikinews.org",svwikiquote:"sv.wikiquote.org",svwikisource:"sv.wikisource.org",svwikiversity:"sv.wikiversity.org",svwikivoyage:"sv.wikivoyage.org",swwiki:"sw.wikipedia.org",swwiktionary:"sw.wiktionary.org",swwikibooks:"sw.wikibooks.org",szlwiki:"szl.wikipedia.org",tawiki:"ta.wikipedia.org",tawiktionary:"ta.wiktionary.org",tawikibooks:"ta.wikibooks.org",tawikinews:"ta.wikinews.org",tawikiquote:"ta.wikiquote.org",tawikisource:"ta.wikisource.org",tewiki:"te.wikipedia.org",tewiktionary:"te.wiktionary.org",tewikibooks:"te.wikibooks.org",tewikiquote:"te.wikiquote.org",tewikisource:"te.wikisource.org",tetwiki:"tet.wikipedia.org",tgwiki:"tg.wikipedia.org",tgwiktionary:"tg.wiktionary.org",tgwikibooks:"tg.wikibooks.org",thwiki:"th.wikipedia.org",thwiktionary:"th.wiktionary.org",thwikibooks:"th.wikibooks.org",thwikinews:"th.wikinews.org",thwikiquote:"th.wikiquote.org",thwikisource:"th.wikisource.org",tiwiki:"ti.wikipedia.org",tiwiktionary:"ti.wiktionary.org",tkwiki:"tk.wikipedia.org",tkwiktionary:"tk.wiktionary.org",tkwikibooks:"tk.wikibooks.org",tkwikiquote:"tk.wikiquote.org",tlwiki:"tl.wikipedia.org",tlwiktionary:"tl.wiktionary.org",tlwikibooks:"tl.wikibooks.org",tnwiki:"tn.wikipedia.org",tnwiktionary:"tn.wiktionary.org",towiki:"to.wikipedia.org",towiktionary:"to.wiktionary.org",tpiwiki:"tpi.wikipedia.org",tpiwiktionary:"tpi.wiktionary.org",trwiki:"tr.wikipedia.org",trwiktionary:"tr.wiktionary.org",trwikibooks:"tr.wikibooks.org",trwikinews:"tr.wikinews.org",trwikiquote:"tr.wikiquote.org",trwikisource:"tr.wikisource.org",tswiki:"ts.wikipedia.org",tswiktionary:"ts.wiktionary.org",ttwiki:"tt.wikipedia.org",ttwiktionary:"tt.wiktionary.org",ttwikibooks:"tt.wikibooks.org",ttwikiquote:"tt.wikiquote.org",tumwiki:"tum.wikipedia.org",twwiki:"tw.wikipedia.org",twwiktionary:"tw.wiktionary.org",tywiki:"ty.wikipedia.org",tyvwiki:"tyv.wikipedia.org",udmwiki:"udm.wikipedia.org",ugwiki:"ug.wikipedia.org",ugwiktionary:"ug.wiktionary.org",ugwikibooks:"ug.wikibooks.org",ugwikiquote:"ug.wikiquote.org",ukwiki:"uk.wikipedia.org",ukwiktionary:"uk.wiktionary.org",ukwikibooks:"uk.wikibooks.org",ukwikinews:"uk.wikinews.org",ukwikiquote:"uk.wikiquote.org",ukwikisource:"uk.wikisource.org",ukwikivoyage:"uk.wikivoyage.org",urwiki:"ur.wikipedia.org",urwiktionary:"ur.wiktionary.org",urwikibooks:"ur.wikibooks.org",urwikiquote:"ur.wikiquote.org",uzwiki:"uz.wikipedia.org",uzwiktionary:"uz.wiktionary.org",uzwikibooks:"uz.wikibooks.org",uzwikiquote:"uz.wikiquote.org",vewiki:"ve.wikipedia.org",vecwiki:"vec.wikipedia.org",vecwiktionary:"vec.wiktionary.org",vecwikisource:"vec.wikisource.org",vepwiki:"vep.wikipedia.org",viwiki:"vi.wikipedia.org",viwiktionary:"vi.wiktionary.org",viwikibooks:"vi.wikibooks.org",viwikiquote:"vi.wikiquote.org",viwikisource:"vi.wikisource.org",viwikivoyage:"vi.wikivoyage.org",vlswiki:"vls.wikipedia.org",vowiki:"vo.wikipedia.org",vowiktionary:"vo.wiktionary.org",vowikibooks:"vo.wikibooks.org",vowikiquote:"vo.wikiquote.org",wawiki:"wa.wikipedia.org",wawiktionary:"wa.wiktionary.org",wawikibooks:"wa.wikibooks.org",warwiki:"war.wikipedia.org",wowiki:"wo.wikipedia.org",wowiktionary:"wo.wiktionary.org",wowikiquote:"wo.wikiquote.org",wuuwiki:"wuu.wikipedia.org",xalwiki:"xal.wikipedia.org",xhwiki:"xh.wikipedia.org",xhwiktionary:"xh.wiktionary.org",xhwikibooks:"xh.wikibooks.org",xmfwiki:"xmf.wikipedia.org",yiwiki:"yi.wikipedia.org",yiwiktionary:"yi.wiktionary.org",yiwikisource:"yi.wikisource.org",yowiki:"yo.wikipedia.org",yowiktionary:"yo.wiktionary.org",yowikibooks:"yo.wikibooks.org",zawiki:"za.wikipedia.org",zawiktionary:"za.wiktionary.org",zawikibooks:"za.wikibooks.org",zawikiquote:"za.wikiquote.org",zeawiki:"zea.wikipedia.org",zhwiki:"zh.wikipedia.org",zhwiktionary:"zh.wiktionary.org",zhwikibooks:"zh.wikibooks.org",zhwikinews:"zh.wikinews.org",zhwikiquote:"zh.wikiquote.org",zhwikisource:"zh.wikisource.org",zhwikivoyage:"zh.wikivoyage.org",zh_classicalwiki:"zh-classical.wikipedia.org",zh_min_nanwiki:"zh-min-nan.wikipedia.org",zh_min_nanwiktionary:"zh-min-nan.wiktionary.org",zh_min_nanwikibooks:"zh-min-nan.wikibooks.org",zh_min_nanwikiquote:"zh-min-nan.wikiquote.org",zh_min_nanwikisource:"zh-min-nan.wikisource.org",zh_yuewiki:"zh-yue.wikipedia.org",zuwiki:"zu.wikipedia.org", -zuwiktionary:"zu.wiktionary.org",zuwikibooks:"zu.wikibooks.org",advisorywiki:"advisory.wikimedia.org",arwikimedia:"ar.wikimedia.org",arbcom_dewiki:"arbcom-de.wikipedia.org",arbcom_enwiki:"arbcom-en.wikipedia.org",arbcom_fiwiki:"arbcom-fi.wikipedia.org",arbcom_nlwiki:"arbcom-nl.wikipedia.org",auditcomwiki:"auditcom.wikimedia.org",bdwikimedia:"bd.wikimedia.org",bewikimedia:"be.wikimedia.org",betawikiversity:"beta.wikiversity.org",boardwiki:"board.wikimedia.org",boardgovcomwiki:"boardgovcom.wikimedia.org",brwikimedia:"br.wikimedia.org",cawikimedia:"ca.wikimedia.org",chairwiki:"chair.wikimedia.org",chapcomwiki:"affcom.wikimedia.org",checkuserwiki:"checkuser.wikimedia.org",cnwikimedia:"cn.wikimedia.org",cowikimedia:"co.wikimedia.org",collabwiki:"collab.wikimedia.org",commonswiki:"commons.wikimedia.org",dkwikimedia:"dk.wikimedia.org",donatewiki:"donate.wikimedia.org",etwikimedia:"ee.wikimedia.org",execwiki:"exec.wikimedia.org",fdcwiki:"fdc.wikimedia.org",fiwikimedia:"fi.wikimedia.org",foundationwiki:"wikimediafoundation.org",grantswiki:"grants.wikimedia.org",iegcomwiki:"iegcom.wikimedia.org",ilwikimedia:"il.wikimedia.org",incubatorwiki:"incubator.wikimedia.org",internalwiki:"internal.wikimedia.org",labswiki:"wikitech.wikimedia.org",labtestwiki:"labtestwikitech.wikimedia.org",legalteamwiki:"legalteam.wikimedia.org",loginwiki:"login.wikimedia.org",mediawikiwiki:"mediawiki.org",metawiki:"meta.wikimedia.org",mkwikimedia:"mk.wikimedia.org",movementroleswiki:"movementroles.wikimedia.org",mxwikimedia:"mx.wikimedia.org",nlwikimedia:"nl.wikimedia.org",nowikimedia:"no.wikimedia.org",noboard_chapterswikimedia:"noboard-chapters.wikimedia.org",nostalgiawiki:"nostalgia.wikipedia.org",nycwikimedia:"nyc.wikimedia.org",nzwikimedia:"nz.wikimedia.org",officewiki:"office.wikimedia.org",ombudsmenwiki:"ombudsmen.wikimedia.org",otrs_wikiwiki:"otrs-wiki.wikimedia.org",outreachwiki:"outreach.wikimedia.org",pa_uswikimedia:"pa-us.wikimedia.org",plwikimedia:"pl.wikimedia.org",qualitywiki:"quality.wikimedia.org",rswikimedia:"rs.wikimedia.org",ruwikimedia:"ru.wikimedia.org",sewikimedia:"se.wikimedia.org",searchcomwiki:"searchcom.wikimedia.org",sourceswiki:"wikisource.org",spcomwiki:"spcom.wikimedia.org",specieswiki:"species.wikimedia.org",stewardwiki:"steward.wikimedia.org",strategywiki:"strategy.wikimedia.org",tenwiki:"ten.wikipedia.org",testwiki:"test.wikipedia.org",test2wiki:"test2.wikipedia.org",testwikidatawiki:"test.wikidata.org",trwikimedia:"tr.wikimedia.org",transitionteamwiki:"transitionteam.wikimedia.org",uawikimedia:"ua.wikimedia.org",ukwikimedia:"uk.wikimedia.org",usabilitywiki:"usability.wikimedia.org",votewiki:"vote.wikimedia.org",wg_enwiki:"wg-en.wikipedia.org",wikidatawiki:"wikidata.org",wikimania2005wiki:"wikimania2005.wikimedia.org",wikimania2006wiki:"wikimania2006.wikimedia.org",wikimania2007wiki:"wikimania2007.wikimedia.org",wikimania2008wiki:"wikimania2008.wikimedia.org",wikimania2009wiki:"wikimania2009.wikimedia.org",wikimania2010wiki:"wikimania2010.wikimedia.org",wikimania2011wiki:"wikimania2011.wikimedia.org",wikimania2012wiki:"wikimania2012.wikimedia.org",wikimania2013wiki:"wikimania2013.wikimedia.org",wikimania2014wiki:"wikimania2014.wikimedia.org",wikimania2015wiki:"wikimania2015.wikimedia.org",wikimania2016wiki:"wikimania2016.wikimedia.org",wikimania2017wiki:"wikimania2017.wikimedia.org",wikimaniateamwiki:"wikimaniateam.wikimedia.org",zerowiki:"zero.wikimedia.org"};b.exports=d},{}],10:[function(a,b,c){"use strict";var d={linearLegend:function(a,b){var c="";if(1===a.length){var d=a[0];return'
\n '+$.i18n("totals")+":\n "+b.formatNumber(d.sum)+" ("+b.formatNumber(d.average)+"/"+$.i18n("day")+')\n •\n '+$.i18n("all-languages")+'\n •\n '+$.i18n("redirects")+'\n •\n '+$.i18n("history")+'\n •\n '+$.i18n("info")+"\n
"}if(a.length>1){var e=a.reduce(function(a,b){return a+b.sum},0);c='
\n '+$.i18n("totals")+":\n "+b.formatNumber(e)+" ("+b.formatNumber(Math.round(e/b.numDaysInRange()))+"/"+$.i18n("day")+")\n
"}c+='
';for(var f=0;f\n \n
\n '+b.formatNumber(a[f].sum)+" ("+b.formatNumber(a[f].average)+"/"+$.i18n("day")+')\n
\n \n \n ";return c+="
"},circularLegend:function(a,b){var c=a[0],d=c.data.reduce(function(a,b){return a+b}),e='
\n '+$.i18n("totals")+":\n "+b.formatNumber(d)+" ("+b.formatNumber(Math.round(d/b.numDaysInRange()))+"/"+$.i18n("day")+")\n
";e+='
';for(var f=0;f\n
\n '+h+'\n
\n
\n '+b.formatNumber(c.data[f])+" ("+b.formatNumber(c.averages[f])+"/"+$.i18n("day")+')\n
\n \n \n '}return e+="
"}};b.exports=d},{}]},{},[3,4,5,6,7,8,9,2]); \ No newline at end of file +$(this.config.chart).hide(),this.clearMessages()}}},{key:"setChartPointDetectionRadius",value:function(){"line"===this.chartType&&(this.numDaysInRange()>50?Chart.defaults.global.elements.point.hitRadius=3:this.numDaysInRange()>30?Chart.defaults.global.elements.point.hitRadius=5:this.numDaysInRange()>20?Chart.defaults.global.elements.point.hitRadius=10:Chart.defaults.global.elements.point.hitRadius=30)}},{key:"shouldBeLogarithmic",value:function(a){var b;if(!this.isLogarithmicCapable()||this.noLogScale)return!1;var c=[];a.forEach(function(a){c.push(a.map(function(a){return a||0}))});var e=Math.max.apply(Math,d((b=[]).concat.apply(b,c)));if(10>=e)return!1;var f=!1;return c.forEach(function(a){a.push(e);var b=a.reduce(function(a,b){return a+b}),c=b/a.length,d=0;return a.forEach(function(a){return d+=a?a*Math.log(a/c):0}),d/b>.5?f=!0:void 0}),f}},{key:"setupDateRangeSelector",value:function(){var a=this;if(j(Object.getPrototypeOf(b.prototype),"setupDateRangeSelector",this).call(this),this.isChartApp()){var c=$(this.config.dateRangeSelector);$(".date-latest a").on("click",function(b){a.setSpecialRange("latest-"+$(b.target).data("value"))}),c.on("change",function(b){a.setChartPointDetectionRadius(),a.processInput(),a.specialRange&&a.specialRange.value!==b.target.value&&(a.specialRange=null)})}}},{key:"updateChart",value:function(a){var b=this;if($("#chart-legend").html(""),!this.showErrors(a)){if(!a.entities.length)return this.stopSpinny();if(1===a.entities.length?$(".multi-page-chart-node").hide():$(".multi-page-chart-node").show(),"true"===this.autoLogDetection){var c=this.shouldBeLogarithmic(a.datasets.map(function(a){return a.data}));$(this.config.logarithmicCheckbox).prop("checked",c),$(".begin-at-zero").toggleClass("disabled",c)}var d=new Array(a.entities.length);a.datasets.forEach(function(c){b.isLogarithmic()&&(c.data=c.data.map(function(a){return a||null})),d[a.entities.indexOf(c.label.score())]=c});var e=Object.assign({scales:{}},this.config.chartConfig[this.chartType].opts,this.config.globalChartOpts);this.isLogarithmic()&&(e.scales=Object.assign({},e.scales,{yAxes:[{type:"logarithmic",ticks:{callback:function(a,c,d){var e=a/Math.pow(10,Math.floor(Chart.helpers.log10(a)));return 1===e||2===e||5===e||0===c||c===d.length-1?b.formatNumber(a):""}}}]})),this.stopSpinny();try{$(".chart-container").html("").append(""),this.setChartPointDetectionRadius();var f=$(this.config.chart)[0].getContext("2d");if(this.config.linearCharts.includes(this.chartType)){var g={labels:a.labels,datasets:d};"radar"===this.chartType?e.scale.ticks.beginAtZero=$(".begin-at-zero-option").is(":checked"):e.scales.yAxes[0].ticks.beginAtZero=$(".begin-at-zero-option").is(":checked"),this.chartObj=new Chart(f,{type:this.chartType,data:g,options:e})}else this.chartObj=new Chart(f,{type:this.chartType,data:{labels:d.map(function(a){return a.label}),datasets:[{data:d.map(function(a){return a.value}),backgroundColor:d.map(function(a){return a.backgroundColor}),hoverBackgroundColor:d.map(function(a){return a.hoverBackgroundColor}),averages:d.map(function(a){return a.average})}]},options:e})}catch(h){return this.showErrors({errors:[],fatalErrors:[h]})}$("#chart-legend").html(this.chartObj.generateLegend()),$(".data-links").removeClass("invisible")}}},{key:"showErrors",value:function(a){var b=this;if(a.fatalErrors.length){this.resetView(!0);var c=a.fatalErrors.unique();return this.showFatalErrors(c),!0}return a.errors.length&&(!a.entities||a.errors.length!==a.entities.length&&a.entities.length||this.resetView(),a.errors.unique().forEach(function(a){return b.writeMessage(a)})),!1}}]),b}(a)};b.exports=k},{}],4:[function(a,b,c){"use strict";function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var e=function(){function a(a,b){for(var c=0;c":">",'"':""","'":"'","/":"/"};return this.replace(/[&<>"'\/]/g,function(b){return a[b]})},Array.prototype.unique=function(){return this.filter(function(a,b,c){return c.indexOf(a)===b})},window.mix=function(a){return new f(a)};var f=function(){function a(b){d(this,a),this.superclass=b}return e(a,[{key:"with",value:function(){for(var a=arguments.length,b=Array(a),c=0;a>c;c++)b[c]=arguments[c];return b.reduce(function(a,b){return b(a)},this.superclass)}}]),a}();"undefined"!=typeof Chart&&(Chart.Controller.prototype.getElementsAtEvent=function(a){var b=Chart.helpers,c=b.getRelativePosition(a,this.chart),d=[],e=function(){if(this.data.datasets)for(var a=0;a=h;h.add(1,"d"))if(e[h])f.push(e[h]);else{var i=h.isSame(this.config.maxDate)||h.isSame(moment(this.config.maxDate).subtract(1,"days"));f.push({timestamp:h.format(this.config.timestampFormat),views:i?null:0}),i&&g.push(h.format())}return[f,g]}},{key:"getCacheKey",value:function(){return"lv-cache-"+this.hashCode(JSON.stringify(this.getParams(!0)))}},{key:"getPageviewsURL",value:function(a,b){var c=moment(this.daterangepicker.startDate),d=moment(this.daterangepicker.endDate),e=$(this.config.platformSelector).val();return 0===d.diff(c,"days")&&(c.subtract(3,"days"),d.add(3,"days")),"/pageviews?start="+c.format("YYYY-MM-DD")+("&end="+d.format("YYYY-MM-DD")+"&project="+a+"&platform="+e+"&pages="+b)}},{key:"getPermaLink",value:function(){var a=this.getParams(!0);return a.sort=this.sort,a.direction=this.direction,a}},{key:"getState",value:function(){var a=$("main")[0].classList;return this.config.formStates.filter(function(b){return a.contains(b)})[0]}},{key:"isRequestCached",value:function(){return simpleStorage.hasKey(this.getCacheKey())}},{key:"renderData",value:function(a){var b=this,c=this.outputData.listData,d=c.sort(function(a,c){var d=b.getSortProperty(a,b.sort),e=b.getSortProperty(c,b.sort);return e>d?b.direction:d>e?-b.direction:0});$(".sort-link span").removeClass("glyphicon-sort-by-alphabet-alt glyphicon-sort-by-alphabet").addClass("glyphicon-sort");var e=1===parseInt(this.direction,10)?"glyphicon-sort-by-alphabet-alt":"glyphicon-sort-by-alphabet";$(".sort-link--"+this.sort+" span").addClass(e).removeClass("glyphicon-sort");try{a(d)}catch(f){this.setState("complete"),this.showFatalErrors([f])}finally{this.pushParams()}this.toggleView(this.view),"complete"!==this.getState()&&this.setState("complete")}},{key:"toggleView",value:function(a){var b=this;if($(".view-btn").removeClass("active"),$(".view-btn--"+a).addClass("active"),$("output").removeClass("list-mode").removeClass("chart-mode").addClass(a+"-mode"),"chart"===a){this.destroyChart(),this.config.circularCharts.includes(this.chartType)&&(this.chartType="bar");var c=Object.assign({},this.config.chartConfig[this.chartType].opts,this.config.globalChartOpts);if(this.assignOutputDataChartOpts(),this.setChartPointDetectionRadius(),"true"===this.autoLogDetection){var d=this.shouldBeLogarithmic([this.outputData.datasets[0].data]);$(this.config.logarithmicCheckbox).prop("checked",d)}this.isLogarithmic()&&(c.scales=Object.assign({},c.scales,{yAxes:[{type:"logarithmic",ticks:{callback:function(a,c,d){var e=a/Math.pow(10,Math.floor(Chart.helpers.log10(a)));return 1===e||2===e||5===e||0===c||c===d.length-1?b.formatNumber(a):""}}}]})),"radar"===this.chartType?c.scale.ticks.beginAtZero=$(".begin-at-zero-option").is(":checked"):c.scales.yAxes[0].ticks.beginAtZero=$(".begin-at-zero-option").is(":checked");var e=$(this.config.chart)[0].getContext("2d");this.chartObj=new Chart(e,{type:this.chartType,data:this.outputData,options:c}),$(".chart-specific").show(),$("#chart-legend").html(this.chartObj.generateLegend())}else $(".chart-specific").hide();this.pushParams()}},{key:"updateProgressBar",value:function(a){$(".progress-bar").css("width",a.toFixed(2)+"%")}}]),b}(a)};b.exports=h},{}],6:[function(a,b,c){"use strict";Array.prototype.includes||(Array.prototype.includes=function(a){return-1!==this.indexOf(a)}),String.prototype.includes||(String.prototype.includes=function(a,b){return"number"!=typeof b&&(b=0),b+a.length>this.length?!1:-1!==this.indexOf(a,b)}),"function"!=typeof Object.assign&&!function(){Object.assign=function(a){if(void 0===a||null===a)throw new TypeError("Cannot convert undefined or null to object");for(var b=Object(a),c=1;c>>0,d=arguments[1],e=void 0,f=0;c>f;f++)if(e=b[f],a.call(d,e,f,b))return e}),Array.prototype.fill||(Array.prototype.fill=function(a){if(null===this)throw new TypeError("this is null or not defined");for(var b=Object(this),c=b.length>>>0,d=arguments[1],e=d>>0,f=0>e?Math.max(c+e,0):Math.min(e,c),g=arguments[2],h=void 0===g?c:g>>0,i=0>h?Math.max(c+h,0):Math.min(h,c);i>f;)b[f]=a,f++;return b})},{}],7:[function(a,b,c){"use strict";function d(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function e(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function g(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var h=function(){function a(a,b){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!b||c.length!==b);d=!0);}catch(i){e=!0,f=i}finally{try{!d&&h["return"]&&h["return"]()}finally{if(e)throw f}}return c}return function(b,c){if(Array.isArray(b))return b;if(Symbol.iterator in Object(b))return a(b,c);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),i=function(){function a(a,b){for(var c=0;c"+location.hostname+i+"")}var j=d({},i18nLang,"/pageviews/messages/"+i18nLang+".json");return"en"!==i18nLang&&(j.en="/pageviews/messages/en.json"),$.i18n({locale:i18nLang}).load(j).then(c.initialize.bind(c)),c}return g(b,a),i(b,[{key:"addSiteNotice",value:function(a,b,c,d){c=c?""+c+" ":"";var e=c+b;d?(d=" alert-dismissable",e='\n '+e):d="",$(".site-notice").append("
"+e+"
")}},{key:"addInvalidParamNotice",value:function(a){this.addSiteNotice("danger",$.i18n("param-error-3",a,"/"+this.app+"/url_structure"),$.i18n("invalid-params"),!0)}},{key:"validateDateRange",value:function(a){if(a.range)this.setSpecialRange(a.range)||(this.addInvalidParamNotice("range"),this.setSpecialRange(this.config.defaults.dateRange));else if(a.start){var b=/\d{4}-\d{2}-\d{2}$/,c=void 0,d=void 0;if(!a.start||!b.test(a.start))return this.addInvalidParamNotice("start"),!1;if(c=moment(a.start),!a.end||!b.test(a.end))return this.addInvalidParamNotice("end"),!1;if(d=moment(a.end),cd)return this.addSiteNotice("danger",$.i18n("param-error-2"),$.i18n("invalid-params"),!0),!1;this.daterangepicker.startDate=c,this.daterangepicker.setEndDate(d)}else this.setSpecialRange(this.config.defaults.dateRange);return!0}},{key:"clearSiteNotices",value:function(){$(".site-notice").html("")}},{key:"clearMessages",value:function(){$(".message-container").html("")}},{key:"downloadData",value:function(a,b){var c=encodeURI(a),d=document.createElement("a");if("string"==typeof d.download){document.body.appendChild(d);var e=this.getExportFilename()+"."+b;d.download=e,d.href=c,d.click(),document.body.removeChild(d)}else window.open(c)}},{key:"fillInSettings",value:function(){var a=this;$.each($("#settings-modal input"),function(b,c){"checkbox"===c.type?c.checked="true"===a[c.name]:c.checked=a[c.name]===c.value})}},{key:"focusSelect2",value:function(){$(".select2-selection").trigger("click"),$(".select2-search__field").focus()}},{key:"formatNumber",value:function(a){var b=this.getFromLocalStorage("pageviews-settings-numericalFormatting")||this.config.defaults.numericalFormatting;return"true"===b?this.n(a):a}},{key:"formatYAxisNumber",value:function(a){return a%1===0?this.formatNumber(a):null}},{key:"getDateHeadings",value:function(a){for(var b=[],c=moment(this.daterangepicker.endDate).add(1,"d"),d=moment(this.daterangepicker.startDate);d.isBefore(c);d.add(1,"d"))a?b.push(d.format(this.dateFormat)):b.push(d.format("YYYY-MM-DD"));return b}},{key:"getExpandedPageURL",value:function(a){return"//"+this.project+".org/w/index.php?title="+encodeURIComponent(a.score()).replace(/'/,escape)}},{key:"getExportFilename",value:function(){var a=this.daterangepicker.startDate.startOf("day").format("YYYYMMDD"),b=this.daterangepicker.endDate.startOf("day").format("YYYYMMDD");return this.app+"-"+a+"-"+b}},{key:"getPageLink",value:function(a,b){return''+a.descore().escape()+""}},{key:"getPageURL",value:function(a){var b=arguments.length<=1||void 0===arguments[1]?this.project:arguments[1];return"//"+b.replace(/\.org$/,"").escape()+".org/wiki/"+encodeURIComponent(a.score()).replace(/'/,escape)}},{key:"getSiteLink",value:function(a){return''+a+""}},{key:"getLocaleDateString",value:function(){if(!navigator.language)return this.config.defaults.dateFormat;var a={"ar-sa":"DD/MM/YY","bg-bg":"DD.M.YYYY","ca-es":"DD/MM/YYYY","zh-tw":"YYYY/M/D","cs-cz":"D.M.YYYY","da-dk":"DD-MM-YYYY","de-de":"DD.MM.YYYY","el-gr":"D/M/YYYY","en-us":"M/D/YYYY","fi-fi":"D.M.YYYY","fr-fr":"DD/MM/YYYY","he-il":"DD/MM/YYYY","hu-hu":"YYYY. MM. DD.","is-is":"D.M.YYYY","it-it":"DD/MM/YYYY","ja-jp":"YYYY/MM/DD","ko-kr":"YYYY-MM-DD","nl-nl":"D-M-YYYY","nb-no":"DD.MM.YYYY","pl-pl":"YYYY-MM-DD","pt-br":"D/M/YYYY","ro-ro":"DD.MM.YYYY","ru-ru":"DD.MM.YYYY","hr-hr":"D.M.YYYY","sk-sk":"D. M. YYYY","sq-al":"YYYY-MM-DD","sv-se":"YYYY-MM-DD","th-th":"D/M/YYYY","tr-tr":"DD.MM.YYYY","ur-pk":"DD/MM/YYYY","id-id":"DD/MM/YYYY","uk-ua":"DD.MM.YYYY","be-by":"DD.MM.YYYY","sl-si":"D.M.YYYY","et-ee":"D.MM.YYYY","lv-lv":"YYYY.MM.DD.","lt-lt":"YYYY.MM.DD","fa-ir":"MM/DD/YYYY","vi-vn":"DD/MM/YYYY","hy-am":"DD.MM.YYYY","az-latn-az":"DD.MM.YYYY","eu-es":"YYYY/MM/DD","mk-mk":"DD.MM.YYYY","af-za":"YYYY/MM/DD","ka-ge":"DD.MM.YYYY","fo-fo":"DD-MM-YYYY","hi-in":"DD-MM-YYYY","ms-my":"DD/MM/YYYY","kk-kz":"DD.MM.YYYY","ky-kg":"DD.MM.YY","sw-ke":"M/d/YYYY","uz-latn-uz":"DD/MM YYYY","tt-ru":"DD.MM.YYYY","pa-in":"DD-MM-YY","gu-in":"DD-MM-YY","ta-in":"DD-MM-YYYY","te-in":"DD-MM-YY","kn-in":"DD-MM-YY","mr-in":"DD-MM-YYYY","sa-in":"DD-MM-YYYY","mn-mn":"YY.MM.DD","gl-es":"DD/MM/YY","kok-in":"DD-MM-YYYY","syr-sy":"DD/MM/YYYY","dv-mv":"DD/MM/YY","ar-iq":"DD/MM/YYYY","zh-cn":"YYYY/M/D","de-ch":"DD.MM.YYYY","en-gb":"DD/MM/YYYY","es-mx":"DD/MM/YYYY","fr-be":"D/MM/YYYY","it-ch":"DD.MM.YYYY","nl-be":"D/MM/YYYY","nn-no":"DD.MM.YYYY","pt-pt":"DD-MM-YYYY","sr-latn-cs":"D.M.YYYY","sv-fi":"D.M.YYYY","az-cyrl-az":"DD.MM.YYYY","ms-bn":"DD/MM/YYYY","uz-cyrl-uz":"DD.MM.YYYY","ar-eg":"DD/MM/YYYY","zh-hk":"D/M/YYYY","de-at":"DD.MM.YYYY","en-au":"D/MM/YYYY","es-es":"DD/MM/YYYY","fr-ca":"YYYY-MM-DD","sr-cyrl-cs":"D.M.YYYY","ar-ly":"DD/MM/YYYY","zh-sg":"D/M/YYYY","de-lu":"DD.MM.YYYY","en-ca":"DD/MM/YYYY","es-gt":"DD/MM/YYYY","fr-ch":"DD.MM.YYYY","ar-dz":"DD-MM-YYYY","zh-mo":"D/M/YYYY","de-li":"DD.MM.YYYY","en-nz":"D/MM/YYYY","es-cr":"DD/MM/YYYY","fr-lu":"DD/MM/YYYY","ar-ma":"DD-MM-YYYY","en-ie":"DD/MM/YYYY","es-pa":"MM/DD/YYYY","fr-mc":"DD/MM/YYYY","ar-tn":"DD-MM-YYYY","en-za":"YYYY/MM/DD","es-do":"DD/MM/YYYY","ar-om":"DD/MM/YYYY","en-jm":"DD/MM/YYYY","es-ve":"DD/MM/YYYY","ar-ye":"DD/MM/YYYY","en-029":"MM/DD/YYYY","es-co":"DD/MM/YYYY","ar-sy":"DD/MM/YYYY","en-bz":"DD/MM/YYYY","es-pe":"DD/MM/YYYY","ar-jo":"DD/MM/YYYY","en-tt":"DD/MM/YYYY","es-ar":"DD/MM/YYYY","ar-lb":"DD/MM/YYYY","en-zw":"M/D/YYYY","es-ec":"DD/MM/YYYY","ar-kw":"DD/MM/YYYY","en-ph":"M/D/YYYY","es-cl":"DD-MM-YYYY","ar-ae":"DD/MM/YYYY","es-uy":"DD/MM/YYYY","ar-bh":"DD/MM/YYYY","es-py":"DD/MM/YYYY","ar-qa":"DD/MM/YYYY","es-bo":"DD/MM/YYYY","es-sv":"DD/MM/YYYY","es-hn":"DD/MM/YYYY","es-ni":"DD/MM/YYYY","es-pr":"DD/MM/YYYY","am-et":"D/M/YYYY","tzm-latn-dz":"DD-MM-YYYY","iu-latn-ca":"D/MM/YYYY","sma-no":"DD.MM.YYYY","mn-mong-cn":"YYYY/M/D","gd-gb":"DD/MM/YYYY","en-my":"D/M/YYYY","prs-af":"DD/MM/YY","bn-bd":"DD-MM-YY","wo-sn":"DD/MM/YYYY","rw-rw":"M/D/YYYY","qut-gt":"DD/MM/YYYY","sah-ru":"MM.DD.YYYY","gsw-fr":"DD/MM/YYYY","co-fr":"DD/MM/YYYY","oc-fr":"DD/MM/YYYY","mi-nz":"DD/MM/YYYY","ga-ie":"DD/MM/YYYY","se-se":"YYYY-MM-DD","br-fr":"DD/MM/YYYY","smn-fi":"D.M.YYYY","moh-ca":"M/D/YYYY","arn-cl":"DD-MM-YYYY","ii-cn":"YYYY/M/D","dsb-de":"D. M. YYYY","ig-ng":"D/M/YYYY","kl-gl":"DD-MM-YYYY","lb-lu":"DD/MM/YYYY","ba-ru":"DD.MM.YY","nso-za":"YYYY/MM/DD","quz-bo":"DD/MM/YYYY","yo-ng":"D/M/YYYY","ha-latn-ng":"D/M/YYYY","fil-ph":"M/D/YYYY","ps-af":"DD/MM/YY","fy-nl":"D-M-YYYY","ne-np":"M/D/YYYY","se-no":"DD.MM.YYYY","iu-cans-ca":"D/M/YYYY","sr-latn-rs":"D.M.YYYY","si-lk":"YYYY-MM-DD","sr-cyrl-rs":"D.M.YYYY","lo-la":"DD/MM/YYYY","km-kh":"YYYY-MM-DD","cy-gb":"DD/MM/YYYY","bo-cn":"YYYY/M/D","sms-fi":"D.M.YYYY","as-in":"DD-MM-YYYY","ml-in":"DD-MM-YY","en-in":"DD-MM-YYYY","or-in":"DD-MM-YY","bn-in":"DD-MM-YY","tk-tm":"DD.MM.YY","bs-latn-ba":"D.M.YYYY","mt-mt":"DD/MM/YYYY","sr-cyrl-me":"D.M.YYYY","se-fi":"D.M.YYYY","zu-za":"YYYY/MM/DD","xh-za":"YYYY/MM/DD","tn-za":"YYYY/MM/DD","hsb-de":"D. M. YYYY","bs-cyrl-ba":"D.M.YYYY","tg-cyrl-tj":"DD.MM.yy","sr-latn-ba":"D.M.YYYY","smj-no":"DD.MM.YYYY","rm-ch":"DD/MM/YYYY","smj-se":"YYYY-MM-DD","quz-ec":"DD/MM/YYYY","quz-pe":"DD/MM/YYYY","hr-ba":"D.M.YYYY.","sr-latn-me":"D.M.YYYY","sma-se":"YYYY-MM-DD","en-sg":"D/M/YYYY","ug-cn":"YYYY-M-D","sr-cyrl-ba":"D.M.YYYY","es-us":"M/D/YYYY"},b=navigator.language.toLowerCase();return a[b]||this.config.defaults.dateFormat}},{key:"getFromLocalStorage",value:function(a){try{return localStorage.getItem(a)}catch(b){return storage[a]}}},{key:"getBugReportURL",value:function(a){var b="https://meta.wikimedia.org/w/index.php?title=Talk:Pageviews_Analysis&action=edit"+("§ion=new&preloadtitle="+this.app.upcase()+" bug report");return a?b+"&preload=Talk:Pageviews_Analysis/Preload&preloadparams[]="+a:b}},{key:"getSiteInfo",value:function(a){var b=this;a=a.replace(/\.org$/,"");var c=$.Deferred(),d="pageviews-siteinfo-"+a;return simpleStorage.hasKey(d)?(this.siteInfo=simpleStorage.get(d),c.resolve(this.siteInfo)):$.ajax({url:"https://"+a+".org/w/api.php",data:{action:"query",meta:"siteinfo",siprop:"general|namespaces",format:"json"},dataType:"jsonp"}).done(function(a){b.siteInfo=a.query,simpleStorage.set(d,b.siteInfo,{TTL:6048e5}),c.resolve(b.siteInfo)}).fail(function(a){c.reject(a)}),c}},{key:"getUserAgent",value:function(){return navigator.userAgent?navigator.userAgent:"Unknown"}},{key:"setLocalStorage",value:function(a,b){try{return localStorage.setItem(a,b)}catch(c){return storage[a]=b}}},{key:"hashCode",value:function(a){return a.split("").reduce(function(a,b){return(a<<5)-a+b.charCodeAt(0)},0)}},{key:"isChartApp",value:function(){return!this.isListApp()}},{key:"isListApp",value:function(){return["langviews","massviews","redirectviews"].includes(this.app)}},{key:"isMultilangProject",value:function(){return new RegExp(".*?\\.("+b.multilangProjects.join("|")+")").test(this.project)}},{key:"mapNormalizedPageNames",value:function(a,b){return b.forEach(function(b){a=a.map(function(a){return b.from===a?b.to:a})}),a}},{key:"n",value:function(a){return new Number(a).toLocaleString()}},{key:"normalizePageNames",value:function(a){var b=this,c=$.Deferred();return $.ajax({url:"https://"+this.project+".org/w/api.php?action=query&prop=info&format=json&titles="+a.join("|"),dataType:"jsonp"}).then(function(d){return d.query.normalized&&(a=b.mapNormalizedPageNames(a,d.query.normalized)),c.resolve(a)})}},{key:"numDaysInRange",value:function(){return this.daterangepicker.endDate.diff(this.daterangepicker.startDate,"days")+1}},{key:"parseQueryString",value:function(a){for(var b=decodeURI(location.search.slice(1)),c=b.split("&"),d={},e=0;e").text(a).html();$("").appendTo(b.config.select2Input)}),$(this.config.select2Input).select2("val",a),$(this.config.select2Input).select2("close"),a}},{key:"setSpecialRange",value:function(a){var b=Object.keys(this.config.specialRanges).indexOf(a),c=void 0,d=void 0;if(a.includes("latest-")){var e=parseInt(a.replace("latest-",""),10)||20,f=this.config.specialRanges.latest(e),g=h(f,2);c=g[0],d=g[1]}else{if(!(b>=0))return;var i="latest"===a?this.config.specialRanges.latest():this.config.specialRanges[a],j=h(i,2);c=j[0],d=j[1],$(".daterangepicker .ranges li").eq(b).trigger("click")}return this.specialRange={range:a,value:c.format(this.dateFormat)+" - "+d.format(this.dateFormat)},this.daterangepicker.startDate=c,this.daterangepicker.setEndDate(d),this.specialRange}},{key:"setupSelect2Colors",value:function(){var a=this;return this.colorsStyleEl&&this.colorsStyleEl.remove(),this.colorsStyleEl=document.createElement("style"),this.colorsStyleEl.appendChild(document.createTextNode("")),document.head.appendChild(this.colorsStyleEl),this.config.colors.forEach(function(b,c){a.colorsStyleEl.sheet.insertRule(".select2-selection__choice:nth-of-type("+(c+1)+") { background: "+b+" !important }",0)}),this.colorsStyleEl.sheet}},{key:"setupListeners",value:function(){var a=this;$("a[href='#']").on("click",function(a){return a.preventDefault()}),$(".lang-link").on("click",function(b){var c=moment().add(a.config.cookieExpiry,"days").toDate().toGMTString();document.cookie="TsIntuition_userlang="+$(b.target).data("lang")+"; expires="+c+"; path=/";var d=Math.floor(Date.now()/1e3)+24*a.config.cookieExpiry*60*60;document.cookie="TsIntuition_expiry="+d+"; expires="+c+"; path=/",location.reload()}),$(".download-csv").on("click",this.exportCSV.bind(this)),$(".download-json").on("click",this.exportJSON.bind(this)),$(this.config.projectInput).on("focusin",function(){this.dataset.value=this.value}),$(this.config.projectInput).on("change",function(b){return a.validateProject(b)})}},{key:"setupSettingsModal",value:function(){this.fillInSettings(),$(".save-settings-btn").on("click",this.saveSettings.bind(this)),$(".cancel-settings-btn").on("click",this.fillInSettings.bind(this))}},{key:"setupDateRangeSelector",value:function(){var a=this,b=$(this.config.dateRangeSelector),c={};Object.keys(this.config.specialRanges).forEach(function(b){"latest"!==b&&(c[$.i18n(b)]=a.config.specialRanges[b])});var d={locale:{format:this.dateFormat,applyLabel:$.i18n("apply"),cancelLabel:$.i18n("cancel"),customRangeLabel:$.i18n("custom-range"),daysOfWeek:[$.i18n("su"),$.i18n("mo"),$.i18n("tu"),$.i18n("we"),$.i18n("th"),$.i18n("fr"),$.i18n("sa")],monthNames:[$.i18n("january"),$.i18n("february"),$.i18n("march"),$.i18n("april"),$.i18n("may"),$.i18n("june"),$.i18n("july"),$.i18n("august"),$.i18n("september"),$.i18n("october"),$.i18n("november"),$.i18n("december")]},startDate:moment().subtract(this.config.daysAgo,"days"),minDate:this.config.minDate,maxDate:this.config.maxDate,ranges:c};this.config.dateLimit&&(d.dateLimit={days:this.config.dateLimit}),b.daterangepicker(d),$(".daterangepicker").append($("
").addClass("daterange-notice").html($.i18n("date-notice",document.title,"stats.grok.se",$.i18n("july")+" 2015"))),$(".daterangepicker .ranges li").on("click",function(b){var c=$(".daterangepicker .ranges li").index(b.target),d=a.daterangepicker.container,e=d.find(".daterangepicker_input input");a.specialRange={range:Object.keys(a.config.specialRanges)[c],value:e[0].value+" - "+e[1].value}}),$(this.config.dateRangeSelector).on("apply.daterangepicker",function(b,c){c.chosenLabel===$.i18n("custom-range")&&(a.specialRange=null,a.daterangepicker.updateElement())})}},{key:"setThrottle",value:function(){this.isRequestCached()||simpleStorage.set("pageviews-throttle",!0,{TTL:9e4})}},{key:"showFatalErrors",value:function(a){var b=this;if(this.clearMessages(),a.forEach(function(a){b.writeMessage(""+$.i18n("fatal-error")+": "+a+"")}),this.debug)throw a[0];a&&a[0]&&a[0].stack&&$.ajax({method:"POST",url:"//tools.wmflabs.org/musikanimal/paste",data:{content:"\ndate: "+moment().utc().format()+("\ntool: "+this.app)+("\nlanguage: "+i18nLang)+("\nchart: "+this.chartType)+("\nurl: "+document.location.href)+("\nuserAgent: "+this.getUserAgent())+("\ntrace: "+a[0].stack),title:"Pageviews Analysis error report: "+a[0]}}).done(function(a){a&&a.result&&a.result.objectName?b.writeMessage($.i18n("error-please-report",b.getBugReportURL(a.result.objectName))):b.writeMessage($.i18n("error-please-report",b.getBugReportURL()))}).fail(function(){b.writeMessage($.i18n("error-please-report",b.getBugReportURL()))})}},{key:"splash",value:function(){var a="background: #eee; color: #555; padding: 4px; font-family:monospace";console.log("%c ___ __ _ _ ",a),console.log("%c | _ \\ __ _ / _` | ___ __ __ (_) ___ __ __ __ ___ ",a),console.log("%c | _/ / _` | \\__, | / -_) \\ V / | | / -_) \\ V V / (_-< ",a),console.log("%c _|_|_ \\__,_| |___/ \\___| _\\_/_ _|_|_ \\___| \\_/\\_/ /__/_ ",a),console.log('%c _| """ |_|"""""|_|"""""|_|"""""|_|"""""|_|"""""|_|"""""|_|"""""|_|"""""| ',a),console.log("%c \"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-' ",a), +console.log("%c ___ _ _ _ _ ",a),console.log("%c o O O / \\ _ _ __ _ | || | | | ___ (_) ___ ",a),console.log("%c o | - | | ' \\ / _` | \\_, | | | (_-< | | (_-< ",a),console.log("%c TS__[O] |_|_| |_||_| \\__,_| _|__/ _|_|_ /__/_ _|_|_ /__/_ ",a),console.log('%c {======|_|"""""|_|"""""|_|"""""|_| """"|_|"""""|_|"""""|_|"""""|_|"""""| ',a),console.log("%c ./o--000'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-' ",a),console.log("%c ",a),console.log("%c Copyright © "+(new Date).getFullYear()+" MusikAnimal, Kaldari, Marcel Ruiz Forns ",a)}},{key:"startSpinny",value:function(){var a=this;$(".chart-container").addClass("loading"),clearTimeout(this.timeout),this.timeout=setTimeout(function(b){a.resetView(),a.writeMessage(""+$.i18n("fatal-error")+":\n "+$.i18n("error-timed-out")+"\n "+$.i18n("error-please-report",a.getBugReportURL())+"\n ",!0)},2e4)}},{key:"stopSpinny",value:function(){$(".chart-container").removeClass("loading"),clearTimeout(this.timeout)}},{key:"underscorePageNames",value:function(a){return a.map(function(a){return decodeURIComponent(a).score()})}},{key:"updateInterAppLinks",value:function(){var a=this;$(".interapp-link").each(function(b,c){var d=c.href.split("?")[0];c.classList.contains("interapp-link--siteviews")?c.href=d+"?sites="+a.project.escape()+".org":c.href=d+"?project="+a.project.escape()+".org"})}},{key:"validateParams",value:function(a){var b=this;return this.config.validateParams.forEach(function(c){"project"===c&&a.project&&(a.project=a.project.replace(/^www\./,""));var d=b.config.defaults[c],e=a[c];d&&!b.config.validParams[c].includes(e)&&(e&&b.addInvalidParamNotice(c),a[c]=d)}),a}},{key:"validateProject",value:function(){var a=arguments.length<=0||void 0===arguments[0]?!1:arguments[0],b=$(this.config.projectInput)[0],c=b.value.replace(/^www\./,""),d=!1;return a&&!this.isMultilangProject()?(this.writeMessage($.i18n("invalid-lang-project",""+c.escape()+""),!0),c=b.dataset.value):l.includes(c)?(this.clearMessages(),this.updateInterAppLinks(),d=!0):(this.writeMessage($.i18n("invalid-project",""+c.escape()+""),!0),c=b.dataset.value),b.value=c,d}},{key:"writeMessage",value:function(a,b){return b&&this.clearMessages(),$(".message-container").append("
"+a+"
")}},{key:"dateFormat",get:function(){return"true"===this.localizeDateFormat?this.getLocaleDateString():this.config.defaults.dateFormat}},{key:"daterangepicker",get:function(){return $(this.config.dateRangeSelector).data("daterangepicker")}},{key:"project",get:function(){var a=$(this.config.projectInput).val();return a?a.toLowerCase().replace(/.org$/,""):null}}],[{key:"multilangProjects",get:function(){return["wikipedia","wikibooks","wikinews","wikiquote","wikisource","wikiversity","wikivoyage"]}}]),b}(j);b.exports=m},{"./pv_config":8,"./site_map":9}],8:[function(a,b,c){"use strict";function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var e=function(){function a(a,b){for(var c=0;c1?"line":"bar"},dateFormat:"YYYY-MM-DD",localizeDateFormat:"true",numericalFormatting:"true",bezierCurve:"false",autoLogDetection:"true",beginAtZero:"false",rememberChart:"true",agent:"user",platform:"all-access",project:"en.wikipedia.org"},globalChartOpts:{animation:{duration:500,easing:"easeInOutQuart"},hover:{animationDuration:0},legend:{display:!1}},linearCharts:["line","bar","radar"],linearOpts:{scales:{yAxes:[{ticks:{callback:function(a){return b.formatNumber(a)}}}]},legendCallback:function(a){return b.config.linearLegend(a.data.datasets,c)}},daysAgo:20,minDate:moment("2015-07-01").startOf("day"),maxDate:moment().subtract(1,"days").startOf("day"),specialRanges:{"last-week":[moment().subtract(1,"week").startOf("week"),moment().subtract(1,"week").endOf("week")],"this-month":[moment().startOf("month"),moment().subtract(1,"days").startOf("day")],"last-month":[moment().subtract(1,"month").startOf("month"),moment().subtract(1,"month").endOf("month")],latest:function(){var a=arguments.length<=0||void 0===arguments[0]?c.config.daysAgo:arguments[0];return[moment().subtract(a,"days").startOf("day"),c.config.maxDate]}},timestampFormat:"YYYYMMDD00",validParams:{agent:["all-agents","user","spider","bot"],platform:["all-access","desktop","mobile-app","mobile-web"],project:g}}}return e(a,[{key:"linearTooltips",get:function(){var a=this;return{mode:"label",callbacks:{label:function(b){return Number.isNaN(b.yLabel)?" "+$.i18n("unknown"):" "+a.formatNumber(b.yLabel)}},bodyFontSize:14,bodySpacing:7,caretSize:0,titleFontSize:14}}},{key:"circularTooltips",get:function(){var a=this;return{callbacks:{label:function b(c,d){var e=d.datasets[c.datasetIndex].data[c.index],b=d.labels[c.index];return Number.isNaN(e)?b+": "+$.i18n("unknown"):b+": "+a.formatNumber(e)}},bodyFontSize:14,bodySpacing:7,caretSize:0,titleFontSize:14}}}]),a}();b.exports=h},{"./site_map":9}],9:[function(a,b,c){"use strict";var d={aawiki:"aa.wikipedia.org",aawiktionary:"aa.wiktionary.org",aawikibooks:"aa.wikibooks.org",abwiki:"ab.wikipedia.org",abwiktionary:"ab.wiktionary.org",acewiki:"ace.wikipedia.org",adywiki:"ady.wikipedia.org",afwiki:"af.wikipedia.org",afwiktionary:"af.wiktionary.org",afwikibooks:"af.wikibooks.org",afwikiquote:"af.wikiquote.org",akwiki:"ak.wikipedia.org",akwiktionary:"ak.wiktionary.org",akwikibooks:"ak.wikibooks.org",alswiki:"als.wikipedia.org",alswiktionary:"als.wiktionary.org",alswikibooks:"als.wikibooks.org",alswikiquote:"als.wikiquote.org",amwiki:"am.wikipedia.org",amwiktionary:"am.wiktionary.org",amwikiquote:"am.wikiquote.org",anwiki:"an.wikipedia.org",anwiktionary:"an.wiktionary.org",angwiki:"ang.wikipedia.org",angwiktionary:"ang.wiktionary.org",angwikibooks:"ang.wikibooks.org",angwikiquote:"ang.wikiquote.org",angwikisource:"ang.wikisource.org",arwiki:"ar.wikipedia.org",arwiktionary:"ar.wiktionary.org",arwikibooks:"ar.wikibooks.org",arwikinews:"ar.wikinews.org",arwikiquote:"ar.wikiquote.org",arwikisource:"ar.wikisource.org",arwikiversity:"ar.wikiversity.org",arcwiki:"arc.wikipedia.org",arzwiki:"arz.wikipedia.org",aswiki:"as.wikipedia.org",aswiktionary:"as.wiktionary.org",aswikibooks:"as.wikibooks.org",aswikisource:"as.wikisource.org",astwiki:"ast.wikipedia.org",astwiktionary:"ast.wiktionary.org",astwikibooks:"ast.wikibooks.org",astwikiquote:"ast.wikiquote.org",avwiki:"av.wikipedia.org",avwiktionary:"av.wiktionary.org",aywiki:"ay.wikipedia.org",aywiktionary:"ay.wiktionary.org",aywikibooks:"ay.wikibooks.org",azwiki:"az.wikipedia.org",azwiktionary:"az.wiktionary.org",azwikibooks:"az.wikibooks.org",azwikiquote:"az.wikiquote.org",azwikisource:"az.wikisource.org",azbwiki:"azb.wikipedia.org",bawiki:"ba.wikipedia.org",bawikibooks:"ba.wikibooks.org",barwiki:"bar.wikipedia.org",bat_smgwiki:"bat-smg.wikipedia.org",bclwiki:"bcl.wikipedia.org",bewiki:"be.wikipedia.org",bewiktionary:"be.wiktionary.org",bewikibooks:"be.wikibooks.org",bewikiquote:"be.wikiquote.org",bewikisource:"be.wikisource.org",be_x_oldwiki:"be-tarask.wikipedia.org",bgwiki:"bg.wikipedia.org",bgwiktionary:"bg.wiktionary.org",bgwikibooks:"bg.wikibooks.org",bgwikinews:"bg.wikinews.org",bgwikiquote:"bg.wikiquote.org",bgwikisource:"bg.wikisource.org",bhwiki:"bh.wikipedia.org",bhwiktionary:"bh.wiktionary.org",biwiki:"bi.wikipedia.org",biwiktionary:"bi.wiktionary.org",biwikibooks:"bi.wikibooks.org",bjnwiki:"bjn.wikipedia.org",bmwiki:"bm.wikipedia.org",bmwiktionary:"bm.wiktionary.org",bmwikibooks:"bm.wikibooks.org",bmwikiquote:"bm.wikiquote.org",bnwiki:"bn.wikipedia.org",bnwiktionary:"bn.wiktionary.org",bnwikibooks:"bn.wikibooks.org",bnwikisource:"bn.wikisource.org",bowiki:"bo.wikipedia.org",bowiktionary:"bo.wiktionary.org",bowikibooks:"bo.wikibooks.org",bpywiki:"bpy.wikipedia.org",brwiki:"br.wikipedia.org",brwiktionary:"br.wiktionary.org",brwikiquote:"br.wikiquote.org",brwikisource:"br.wikisource.org",bswiki:"bs.wikipedia.org",bswiktionary:"bs.wiktionary.org",bswikibooks:"bs.wikibooks.org",bswikinews:"bs.wikinews.org",bswikiquote:"bs.wikiquote.org",bswikisource:"bs.wikisource.org",bugwiki:"bug.wikipedia.org",bxrwiki:"bxr.wikipedia.org",cawiki:"ca.wikipedia.org",cawiktionary:"ca.wiktionary.org",cawikibooks:"ca.wikibooks.org",cawikinews:"ca.wikinews.org",cawikiquote:"ca.wikiquote.org",cawikisource:"ca.wikisource.org",cbk_zamwiki:"cbk-zam.wikipedia.org",cdowiki:"cdo.wikipedia.org",cewiki:"ce.wikipedia.org",cebwiki:"ceb.wikipedia.org",chwiki:"ch.wikipedia.org",chwiktionary:"ch.wiktionary.org",chwikibooks:"ch.wikibooks.org",chowiki:"cho.wikipedia.org",chrwiki:"chr.wikipedia.org",chrwiktionary:"chr.wiktionary.org",chywiki:"chy.wikipedia.org",ckbwiki:"ckb.wikipedia.org",cowiki:"co.wikipedia.org",cowiktionary:"co.wiktionary.org",cowikibooks:"co.wikibooks.org",cowikiquote:"co.wikiquote.org",crwiki:"cr.wikipedia.org",crwiktionary:"cr.wiktionary.org",crwikiquote:"cr.wikiquote.org",crhwiki:"crh.wikipedia.org",cswiki:"cs.wikipedia.org",cswiktionary:"cs.wiktionary.org",cswikibooks:"cs.wikibooks.org",cswikinews:"cs.wikinews.org",cswikiquote:"cs.wikiquote.org",cswikisource:"cs.wikisource.org",cswikiversity:"cs.wikiversity.org",csbwiki:"csb.wikipedia.org",csbwiktionary:"csb.wiktionary.org",cuwiki:"cu.wikipedia.org",cvwiki:"cv.wikipedia.org",cvwikibooks:"cv.wikibooks.org",cywiki:"cy.wikipedia.org",cywiktionary:"cy.wiktionary.org",cywikibooks:"cy.wikibooks.org",cywikiquote:"cy.wikiquote.org",cywikisource:"cy.wikisource.org",dawiki:"da.wikipedia.org",dawiktionary:"da.wiktionary.org",dawikibooks:"da.wikibooks.org",dawikiquote:"da.wikiquote.org",dawikisource:"da.wikisource.org",dewiki:"de.wikipedia.org",dewiktionary:"de.wiktionary.org",dewikibooks:"de.wikibooks.org",dewikinews:"de.wikinews.org",dewikiquote:"de.wikiquote.org",dewikisource:"de.wikisource.org",dewikiversity:"de.wikiversity.org",dewikivoyage:"de.wikivoyage.org",diqwiki:"diq.wikipedia.org",dsbwiki:"dsb.wikipedia.org",dvwiki:"dv.wikipedia.org",dvwiktionary:"dv.wiktionary.org",dzwiki:"dz.wikipedia.org",dzwiktionary:"dz.wiktionary.org",eewiki:"ee.wikipedia.org",elwiki:"el.wikipedia.org",elwiktionary:"el.wiktionary.org",elwikibooks:"el.wikibooks.org",elwikinews:"el.wikinews.org",elwikiquote:"el.wikiquote.org",elwikisource:"el.wikisource.org",elwikiversity:"el.wikiversity.org",elwikivoyage:"el.wikivoyage.org",emlwiki:"eml.wikipedia.org",enwiki:"en.wikipedia.org",enwiktionary:"en.wiktionary.org",enwikibooks:"en.wikibooks.org",enwikinews:"en.wikinews.org",enwikiquote:"en.wikiquote.org",enwikisource:"en.wikisource.org",enwikiversity:"en.wikiversity.org",enwikivoyage:"en.wikivoyage.org",eowiki:"eo.wikipedia.org",eowiktionary:"eo.wiktionary.org",eowikibooks:"eo.wikibooks.org",eowikinews:"eo.wikinews.org",eowikiquote:"eo.wikiquote.org",eowikisource:"eo.wikisource.org",eswiki:"es.wikipedia.org",eswiktionary:"es.wiktionary.org",eswikibooks:"es.wikibooks.org",eswikinews:"es.wikinews.org",eswikiquote:"es.wikiquote.org",eswikisource:"es.wikisource.org",eswikiversity:"es.wikiversity.org",eswikivoyage:"es.wikivoyage.org",etwiki:"et.wikipedia.org",etwiktionary:"et.wiktionary.org",etwikibooks:"et.wikibooks.org",etwikiquote:"et.wikiquote.org",etwikisource:"et.wikisource.org",euwiki:"eu.wikipedia.org",euwiktionary:"eu.wiktionary.org",euwikibooks:"eu.wikibooks.org",euwikiquote:"eu.wikiquote.org",extwiki:"ext.wikipedia.org",fawiki:"fa.wikipedia.org",fawiktionary:"fa.wiktionary.org",fawikibooks:"fa.wikibooks.org",fawikinews:"fa.wikinews.org",fawikiquote:"fa.wikiquote.org",fawikisource:"fa.wikisource.org",fawikivoyage:"fa.wikivoyage.org",ffwiki:"ff.wikipedia.org",fiwiki:"fi.wikipedia.org",fiwiktionary:"fi.wiktionary.org",fiwikibooks:"fi.wikibooks.org",fiwikinews:"fi.wikinews.org",fiwikiquote:"fi.wikiquote.org",fiwikisource:"fi.wikisource.org",fiwikiversity:"fi.wikiversity.org",fiu_vrowiki:"fiu-vro.wikipedia.org",fjwiki:"fj.wikipedia.org",fjwiktionary:"fj.wiktionary.org",fowiki:"fo.wikipedia.org",fowiktionary:"fo.wiktionary.org",fowikisource:"fo.wikisource.org",frwiki:"fr.wikipedia.org",frwiktionary:"fr.wiktionary.org",frwikibooks:"fr.wikibooks.org",frwikinews:"fr.wikinews.org",frwikiquote:"fr.wikiquote.org",frwikisource:"fr.wikisource.org",frwikiversity:"fr.wikiversity.org",frwikivoyage:"fr.wikivoyage.org",frpwiki:"frp.wikipedia.org",frrwiki:"frr.wikipedia.org",furwiki:"fur.wikipedia.org",fywiki:"fy.wikipedia.org",fywiktionary:"fy.wiktionary.org",fywikibooks:"fy.wikibooks.org",gawiki:"ga.wikipedia.org",gawiktionary:"ga.wiktionary.org",gawikibooks:"ga.wikibooks.org",gawikiquote:"ga.wikiquote.org",gagwiki:"gag.wikipedia.org",ganwiki:"gan.wikipedia.org",gdwiki:"gd.wikipedia.org",gdwiktionary:"gd.wiktionary.org",glwiki:"gl.wikipedia.org",glwiktionary:"gl.wiktionary.org",glwikibooks:"gl.wikibooks.org",glwikiquote:"gl.wikiquote.org",glwikisource:"gl.wikisource.org",glkwiki:"glk.wikipedia.org",gnwiki:"gn.wikipedia.org",gnwiktionary:"gn.wiktionary.org",gnwikibooks:"gn.wikibooks.org",gomwiki:"gom.wikipedia.org",gotwiki:"got.wikipedia.org",gotwikibooks:"got.wikibooks.org",guwiki:"gu.wikipedia.org",guwiktionary:"gu.wiktionary.org",guwikibooks:"gu.wikibooks.org",guwikiquote:"gu.wikiquote.org",guwikisource:"gu.wikisource.org",gvwiki:"gv.wikipedia.org",gvwiktionary:"gv.wiktionary.org",hawiki:"ha.wikipedia.org",hawiktionary:"ha.wiktionary.org",hakwiki:"hak.wikipedia.org",hawwiki:"haw.wikipedia.org",hewiki:"he.wikipedia.org",hewiktionary:"he.wiktionary.org",hewikibooks:"he.wikibooks.org",hewikinews:"he.wikinews.org",hewikiquote:"he.wikiquote.org",hewikisource:"he.wikisource.org",hewikivoyage:"he.wikivoyage.org",hiwiki:"hi.wikipedia.org",hiwiktionary:"hi.wiktionary.org",hiwikibooks:"hi.wikibooks.org",hiwikiquote:"hi.wikiquote.org",hifwiki:"hif.wikipedia.org",howiki:"ho.wikipedia.org",hrwiki:"hr.wikipedia.org",hrwiktionary:"hr.wiktionary.org",hrwikibooks:"hr.wikibooks.org",hrwikiquote:"hr.wikiquote.org",hrwikisource:"hr.wikisource.org",hsbwiki:"hsb.wikipedia.org",hsbwiktionary:"hsb.wiktionary.org",htwiki:"ht.wikipedia.org",htwikisource:"ht.wikisource.org",huwiki:"hu.wikipedia.org",huwiktionary:"hu.wiktionary.org",huwikibooks:"hu.wikibooks.org",huwikinews:"hu.wikinews.org",huwikiquote:"hu.wikiquote.org",huwikisource:"hu.wikisource.org",hywiki:"hy.wikipedia.org",hywiktionary:"hy.wiktionary.org",hywikibooks:"hy.wikibooks.org",hywikiquote:"hy.wikiquote.org",hywikisource:"hy.wikisource.org",hzwiki:"hz.wikipedia.org",iawiki:"ia.wikipedia.org",iawiktionary:"ia.wiktionary.org",iawikibooks:"ia.wikibooks.org",idwiki:"id.wikipedia.org",idwiktionary:"id.wiktionary.org",idwikibooks:"id.wikibooks.org",idwikiquote:"id.wikiquote.org",idwikisource:"id.wikisource.org",iewiki:"ie.wikipedia.org",iewiktionary:"ie.wiktionary.org",iewikibooks:"ie.wikibooks.org",igwiki:"ig.wikipedia.org",iiwiki:"ii.wikipedia.org",ikwiki:"ik.wikipedia.org",ikwiktionary:"ik.wiktionary.org",ilowiki:"ilo.wikipedia.org",iowiki:"io.wikipedia.org",iowiktionary:"io.wiktionary.org",iswiki:"is.wikipedia.org",iswiktionary:"is.wiktionary.org",iswikibooks:"is.wikibooks.org",iswikiquote:"is.wikiquote.org",iswikisource:"is.wikisource.org",itwiki:"it.wikipedia.org",itwiktionary:"it.wiktionary.org",itwikibooks:"it.wikibooks.org",itwikinews:"it.wikinews.org",itwikiquote:"it.wikiquote.org",itwikisource:"it.wikisource.org",itwikiversity:"it.wikiversity.org",itwikivoyage:"it.wikivoyage.org",iuwiki:"iu.wikipedia.org",iuwiktionary:"iu.wiktionary.org",jawiki:"ja.wikipedia.org",jawiktionary:"ja.wiktionary.org",jawikibooks:"ja.wikibooks.org",jawikinews:"ja.wikinews.org",jawikiquote:"ja.wikiquote.org",jawikisource:"ja.wikisource.org",jawikiversity:"ja.wikiversity.org",jbowiki:"jbo.wikipedia.org",jbowiktionary:"jbo.wiktionary.org",jvwiki:"jv.wikipedia.org",jvwiktionary:"jv.wiktionary.org",kawiki:"ka.wikipedia.org",kawiktionary:"ka.wiktionary.org",kawikibooks:"ka.wikibooks.org",kawikiquote:"ka.wikiquote.org",kaawiki:"kaa.wikipedia.org",kabwiki:"kab.wikipedia.org",kbdwiki:"kbd.wikipedia.org",kgwiki:"kg.wikipedia.org",kiwiki:"ki.wikipedia.org",kjwiki:"kj.wikipedia.org",kkwiki:"kk.wikipedia.org",kkwiktionary:"kk.wiktionary.org",kkwikibooks:"kk.wikibooks.org",kkwikiquote:"kk.wikiquote.org",klwiki:"kl.wikipedia.org",klwiktionary:"kl.wiktionary.org",kmwiki:"km.wikipedia.org",kmwiktionary:"km.wiktionary.org",kmwikibooks:"km.wikibooks.org",knwiki:"kn.wikipedia.org",knwiktionary:"kn.wiktionary.org",knwikibooks:"kn.wikibooks.org",knwikiquote:"kn.wikiquote.org",knwikisource:"kn.wikisource.org",kowiki:"ko.wikipedia.org",kowiktionary:"ko.wiktionary.org",kowikibooks:"ko.wikibooks.org",kowikinews:"ko.wikinews.org",kowikiquote:"ko.wikiquote.org",kowikisource:"ko.wikisource.org",kowikiversity:"ko.wikiversity.org",koiwiki:"koi.wikipedia.org",krwiki:"kr.wikipedia.org",krwikiquote:"kr.wikiquote.org",krcwiki:"krc.wikipedia.org",kswiki:"ks.wikipedia.org",kswiktionary:"ks.wiktionary.org",kswikibooks:"ks.wikibooks.org",kswikiquote:"ks.wikiquote.org",kshwiki:"ksh.wikipedia.org",kuwiki:"ku.wikipedia.org",kuwiktionary:"ku.wiktionary.org",kuwikibooks:"ku.wikibooks.org",kuwikiquote:"ku.wikiquote.org",kvwiki:"kv.wikipedia.org",kwwiki:"kw.wikipedia.org",kwwiktionary:"kw.wiktionary.org",kwwikiquote:"kw.wikiquote.org",kywiki:"ky.wikipedia.org",kywiktionary:"ky.wiktionary.org",kywikibooks:"ky.wikibooks.org",kywikiquote:"ky.wikiquote.org",lawiki:"la.wikipedia.org",lawiktionary:"la.wiktionary.org",lawikibooks:"la.wikibooks.org",lawikiquote:"la.wikiquote.org",lawikisource:"la.wikisource.org",ladwiki:"lad.wikipedia.org",lbwiki:"lb.wikipedia.org",lbwiktionary:"lb.wiktionary.org",lbwikibooks:"lb.wikibooks.org",lbwikiquote:"lb.wikiquote.org",lbewiki:"lbe.wikipedia.org",lezwiki:"lez.wikipedia.org",lgwiki:"lg.wikipedia.org",liwiki:"li.wikipedia.org",liwiktionary:"li.wiktionary.org",liwikibooks:"li.wikibooks.org",liwikiquote:"li.wikiquote.org",liwikisource:"li.wikisource.org",lijwiki:"lij.wikipedia.org",lmowiki:"lmo.wikipedia.org",lnwiki:"ln.wikipedia.org",lnwiktionary:"ln.wiktionary.org",lnwikibooks:"ln.wikibooks.org",lowiki:"lo.wikipedia.org",lowiktionary:"lo.wiktionary.org",lrcwiki:"lrc.wikipedia.org",ltwiki:"lt.wikipedia.org",ltwiktionary:"lt.wiktionary.org",ltwikibooks:"lt.wikibooks.org",ltwikiquote:"lt.wikiquote.org",ltwikisource:"lt.wikisource.org",ltgwiki:"ltg.wikipedia.org",lvwiki:"lv.wikipedia.org",lvwiktionary:"lv.wiktionary.org",lvwikibooks:"lv.wikibooks.org",maiwiki:"mai.wikipedia.org",map_bmswiki:"map-bms.wikipedia.org",mdfwiki:"mdf.wikipedia.org",mgwiki:"mg.wikipedia.org",mgwiktionary:"mg.wiktionary.org",mgwikibooks:"mg.wikibooks.org",mhwiki:"mh.wikipedia.org",mhwiktionary:"mh.wiktionary.org",mhrwiki:"mhr.wikipedia.org",miwiki:"mi.wikipedia.org",miwiktionary:"mi.wiktionary.org",miwikibooks:"mi.wikibooks.org",minwiki:"min.wikipedia.org",mkwiki:"mk.wikipedia.org",mkwiktionary:"mk.wiktionary.org",mkwikibooks:"mk.wikibooks.org",mkwikisource:"mk.wikisource.org",mlwiki:"ml.wikipedia.org",mlwiktionary:"ml.wiktionary.org",mlwikibooks:"ml.wikibooks.org",mlwikiquote:"ml.wikiquote.org",mlwikisource:"ml.wikisource.org",mnwiki:"mn.wikipedia.org",mnwiktionary:"mn.wiktionary.org",mnwikibooks:"mn.wikibooks.org",mowiki:"mo.wikipedia.org",mowiktionary:"mo.wiktionary.org",mrwiki:"mr.wikipedia.org",mrwiktionary:"mr.wiktionary.org",mrwikibooks:"mr.wikibooks.org",mrwikiquote:"mr.wikiquote.org",mrwikisource:"mr.wikisource.org",mrjwiki:"mrj.wikipedia.org",mswiki:"ms.wikipedia.org",mswiktionary:"ms.wiktionary.org",mswikibooks:"ms.wikibooks.org",mtwiki:"mt.wikipedia.org",mtwiktionary:"mt.wiktionary.org",muswiki:"mus.wikipedia.org",mwlwiki:"mwl.wikipedia.org",mywiki:"my.wikipedia.org",mywiktionary:"my.wiktionary.org",mywikibooks:"my.wikibooks.org",myvwiki:"myv.wikipedia.org",mznwiki:"mzn.wikipedia.org",nawiki:"na.wikipedia.org",nawiktionary:"na.wiktionary.org",nawikibooks:"na.wikibooks.org",nawikiquote:"na.wikiquote.org",nahwiki:"nah.wikipedia.org",nahwiktionary:"nah.wiktionary.org",nahwikibooks:"nah.wikibooks.org",napwiki:"nap.wikipedia.org",ndswiki:"nds.wikipedia.org",ndswiktionary:"nds.wiktionary.org",ndswikibooks:"nds.wikibooks.org",ndswikiquote:"nds.wikiquote.org",nds_nlwiki:"nds-nl.wikipedia.org",newiki:"ne.wikipedia.org",newiktionary:"ne.wiktionary.org",newikibooks:"ne.wikibooks.org",newwiki:"new.wikipedia.org",ngwiki:"ng.wikipedia.org",nlwiki:"nl.wikipedia.org",nlwiktionary:"nl.wiktionary.org",nlwikibooks:"nl.wikibooks.org",nlwikinews:"nl.wikinews.org",nlwikiquote:"nl.wikiquote.org",nlwikisource:"nl.wikisource.org",nlwikivoyage:"nl.wikivoyage.org",nnwiki:"nn.wikipedia.org",nnwiktionary:"nn.wiktionary.org",nnwikiquote:"nn.wikiquote.org",nowiki:"no.wikipedia.org",nowiktionary:"no.wiktionary.org",nowikibooks:"no.wikibooks.org",nowikinews:"no.wikinews.org",nowikiquote:"no.wikiquote.org",nowikisource:"no.wikisource.org",novwiki:"nov.wikipedia.org",nrmwiki:"nrm.wikipedia.org",nsowiki:"nso.wikipedia.org",nvwiki:"nv.wikipedia.org",nywiki:"ny.wikipedia.org",ocwiki:"oc.wikipedia.org",ocwiktionary:"oc.wiktionary.org",ocwikibooks:"oc.wikibooks.org",omwiki:"om.wikipedia.org",omwiktionary:"om.wiktionary.org",orwiki:"or.wikipedia.org",orwiktionary:"or.wiktionary.org",orwikisource:"or.wikisource.org",oswiki:"os.wikipedia.org",pawiki:"pa.wikipedia.org",pawiktionary:"pa.wiktionary.org",pawikibooks:"pa.wikibooks.org",pagwiki:"pag.wikipedia.org",pamwiki:"pam.wikipedia.org",papwiki:"pap.wikipedia.org",pcdwiki:"pcd.wikipedia.org",pdcwiki:"pdc.wikipedia.org",pflwiki:"pfl.wikipedia.org",piwiki:"pi.wikipedia.org",piwiktionary:"pi.wiktionary.org",pihwiki:"pih.wikipedia.org",plwiki:"pl.wikipedia.org",plwiktionary:"pl.wiktionary.org",plwikibooks:"pl.wikibooks.org",plwikinews:"pl.wikinews.org",plwikiquote:"pl.wikiquote.org",plwikisource:"pl.wikisource.org",plwikivoyage:"pl.wikivoyage.org",pmswiki:"pms.wikipedia.org",pnbwiki:"pnb.wikipedia.org",pnbwiktionary:"pnb.wiktionary.org",pntwiki:"pnt.wikipedia.org",pswiki:"ps.wikipedia.org",pswiktionary:"ps.wiktionary.org",pswikibooks:"ps.wikibooks.org",ptwiki:"pt.wikipedia.org",ptwiktionary:"pt.wiktionary.org",ptwikibooks:"pt.wikibooks.org",ptwikinews:"pt.wikinews.org",ptwikiquote:"pt.wikiquote.org",ptwikisource:"pt.wikisource.org",ptwikiversity:"pt.wikiversity.org",ptwikivoyage:"pt.wikivoyage.org",quwiki:"qu.wikipedia.org",quwiktionary:"qu.wiktionary.org",quwikibooks:"qu.wikibooks.org",quwikiquote:"qu.wikiquote.org",rmwiki:"rm.wikipedia.org",rmwiktionary:"rm.wiktionary.org",rmwikibooks:"rm.wikibooks.org",rmywiki:"rmy.wikipedia.org",rnwiki:"rn.wikipedia.org",rnwiktionary:"rn.wiktionary.org",rowiki:"ro.wikipedia.org",rowiktionary:"ro.wiktionary.org",rowikibooks:"ro.wikibooks.org",rowikinews:"ro.wikinews.org",rowikiquote:"ro.wikiquote.org",rowikisource:"ro.wikisource.org",rowikivoyage:"ro.wikivoyage.org",roa_rupwiki:"roa-rup.wikipedia.org",roa_rupwiktionary:"roa-rup.wiktionary.org",roa_tarawiki:"roa-tara.wikipedia.org",ruwiki:"ru.wikipedia.org",ruwiktionary:"ru.wiktionary.org",ruwikibooks:"ru.wikibooks.org",ruwikinews:"ru.wikinews.org",ruwikiquote:"ru.wikiquote.org",ruwikisource:"ru.wikisource.org",ruwikiversity:"ru.wikiversity.org",ruwikivoyage:"ru.wikivoyage.org",ruewiki:"rue.wikipedia.org",rwwiki:"rw.wikipedia.org",rwwiktionary:"rw.wiktionary.org",sawiki:"sa.wikipedia.org",sawiktionary:"sa.wiktionary.org",sawikibooks:"sa.wikibooks.org",sawikiquote:"sa.wikiquote.org",sawikisource:"sa.wikisource.org",sahwiki:"sah.wikipedia.org",sahwikisource:"sah.wikisource.org",scwiki:"sc.wikipedia.org",scwiktionary:"sc.wiktionary.org",scnwiki:"scn.wikipedia.org",scnwiktionary:"scn.wiktionary.org",scowiki:"sco.wikipedia.org",sdwiki:"sd.wikipedia.org",sdwiktionary:"sd.wiktionary.org",sdwikinews:"sd.wikinews.org",sewiki:"se.wikipedia.org",sewikibooks:"se.wikibooks.org",sgwiki:"sg.wikipedia.org",sgwiktionary:"sg.wiktionary.org",shwiki:"sh.wikipedia.org",shwiktionary:"sh.wiktionary.org",siwiki:"si.wikipedia.org",siwiktionary:"si.wiktionary.org",siwikibooks:"si.wikibooks.org",simplewiki:"simple.wikipedia.org",simplewiktionary:"simple.wiktionary.org",simplewikibooks:"simple.wikibooks.org",simplewikiquote:"simple.wikiquote.org",skwiki:"sk.wikipedia.org",skwiktionary:"sk.wiktionary.org",skwikibooks:"sk.wikibooks.org",skwikiquote:"sk.wikiquote.org",skwikisource:"sk.wikisource.org",slwiki:"sl.wikipedia.org",slwiktionary:"sl.wiktionary.org",slwikibooks:"sl.wikibooks.org",slwikiquote:"sl.wikiquote.org",slwikisource:"sl.wikisource.org",slwikiversity:"sl.wikiversity.org",smwiki:"sm.wikipedia.org",smwiktionary:"sm.wiktionary.org",snwiki:"sn.wikipedia.org",snwiktionary:"sn.wiktionary.org",sowiki:"so.wikipedia.org",sowiktionary:"so.wiktionary.org",sqwiki:"sq.wikipedia.org",sqwiktionary:"sq.wiktionary.org",sqwikibooks:"sq.wikibooks.org",sqwikinews:"sq.wikinews.org",sqwikiquote:"sq.wikiquote.org",srwiki:"sr.wikipedia.org",srwiktionary:"sr.wiktionary.org",srwikibooks:"sr.wikibooks.org",srwikinews:"sr.wikinews.org",srwikiquote:"sr.wikiquote.org",srwikisource:"sr.wikisource.org",srnwiki:"srn.wikipedia.org",sswiki:"ss.wikipedia.org",sswiktionary:"ss.wiktionary.org",stwiki:"st.wikipedia.org",stwiktionary:"st.wiktionary.org",stqwiki:"stq.wikipedia.org",suwiki:"su.wikipedia.org",suwiktionary:"su.wiktionary.org",suwikibooks:"su.wikibooks.org",suwikiquote:"su.wikiquote.org",svwiki:"sv.wikipedia.org",svwiktionary:"sv.wiktionary.org",svwikibooks:"sv.wikibooks.org",svwikinews:"sv.wikinews.org",svwikiquote:"sv.wikiquote.org",svwikisource:"sv.wikisource.org",svwikiversity:"sv.wikiversity.org",svwikivoyage:"sv.wikivoyage.org",swwiki:"sw.wikipedia.org",swwiktionary:"sw.wiktionary.org",swwikibooks:"sw.wikibooks.org",szlwiki:"szl.wikipedia.org",tawiki:"ta.wikipedia.org",tawiktionary:"ta.wiktionary.org",tawikibooks:"ta.wikibooks.org",tawikinews:"ta.wikinews.org",tawikiquote:"ta.wikiquote.org",tawikisource:"ta.wikisource.org",tewiki:"te.wikipedia.org",tewiktionary:"te.wiktionary.org",tewikibooks:"te.wikibooks.org",tewikiquote:"te.wikiquote.org",tewikisource:"te.wikisource.org",tetwiki:"tet.wikipedia.org",tgwiki:"tg.wikipedia.org",tgwiktionary:"tg.wiktionary.org",tgwikibooks:"tg.wikibooks.org",thwiki:"th.wikipedia.org",thwiktionary:"th.wiktionary.org",thwikibooks:"th.wikibooks.org",thwikinews:"th.wikinews.org",thwikiquote:"th.wikiquote.org",thwikisource:"th.wikisource.org",tiwiki:"ti.wikipedia.org",tiwiktionary:"ti.wiktionary.org",tkwiki:"tk.wikipedia.org",tkwiktionary:"tk.wiktionary.org",tkwikibooks:"tk.wikibooks.org",tkwikiquote:"tk.wikiquote.org",tlwiki:"tl.wikipedia.org",tlwiktionary:"tl.wiktionary.org",tlwikibooks:"tl.wikibooks.org",tnwiki:"tn.wikipedia.org",tnwiktionary:"tn.wiktionary.org",towiki:"to.wikipedia.org",towiktionary:"to.wiktionary.org",tpiwiki:"tpi.wikipedia.org",tpiwiktionary:"tpi.wiktionary.org",trwiki:"tr.wikipedia.org",trwiktionary:"tr.wiktionary.org",trwikibooks:"tr.wikibooks.org",trwikinews:"tr.wikinews.org",trwikiquote:"tr.wikiquote.org",trwikisource:"tr.wikisource.org",tswiki:"ts.wikipedia.org",tswiktionary:"ts.wiktionary.org",ttwiki:"tt.wikipedia.org",ttwiktionary:"tt.wiktionary.org",ttwikibooks:"tt.wikibooks.org",ttwikiquote:"tt.wikiquote.org",tumwiki:"tum.wikipedia.org",twwiki:"tw.wikipedia.org",twwiktionary:"tw.wiktionary.org",tywiki:"ty.wikipedia.org",tyvwiki:"tyv.wikipedia.org",udmwiki:"udm.wikipedia.org",ugwiki:"ug.wikipedia.org",ugwiktionary:"ug.wiktionary.org",ugwikibooks:"ug.wikibooks.org",ugwikiquote:"ug.wikiquote.org",ukwiki:"uk.wikipedia.org",ukwiktionary:"uk.wiktionary.org",ukwikibooks:"uk.wikibooks.org",ukwikinews:"uk.wikinews.org",ukwikiquote:"uk.wikiquote.org",ukwikisource:"uk.wikisource.org",ukwikivoyage:"uk.wikivoyage.org",urwiki:"ur.wikipedia.org",urwiktionary:"ur.wiktionary.org",urwikibooks:"ur.wikibooks.org",urwikiquote:"ur.wikiquote.org",uzwiki:"uz.wikipedia.org",uzwiktionary:"uz.wiktionary.org",uzwikibooks:"uz.wikibooks.org",uzwikiquote:"uz.wikiquote.org",vewiki:"ve.wikipedia.org",vecwiki:"vec.wikipedia.org",vecwiktionary:"vec.wiktionary.org",vecwikisource:"vec.wikisource.org",vepwiki:"vep.wikipedia.org",viwiki:"vi.wikipedia.org",viwiktionary:"vi.wiktionary.org",viwikibooks:"vi.wikibooks.org",viwikiquote:"vi.wikiquote.org",viwikisource:"vi.wikisource.org",viwikivoyage:"vi.wikivoyage.org",vlswiki:"vls.wikipedia.org",vowiki:"vo.wikipedia.org",vowiktionary:"vo.wiktionary.org",vowikibooks:"vo.wikibooks.org",vowikiquote:"vo.wikiquote.org",wawiki:"wa.wikipedia.org",wawiktionary:"wa.wiktionary.org",wawikibooks:"wa.wikibooks.org",warwiki:"war.wikipedia.org",wowiki:"wo.wikipedia.org",wowiktionary:"wo.wiktionary.org",wowikiquote:"wo.wikiquote.org",wuuwiki:"wuu.wikipedia.org",xalwiki:"xal.wikipedia.org",xhwiki:"xh.wikipedia.org",xhwiktionary:"xh.wiktionary.org",xhwikibooks:"xh.wikibooks.org",xmfwiki:"xmf.wikipedia.org",yiwiki:"yi.wikipedia.org",yiwiktionary:"yi.wiktionary.org",yiwikisource:"yi.wikisource.org",yowiki:"yo.wikipedia.org",yowiktionary:"yo.wiktionary.org",yowikibooks:"yo.wikibooks.org",zawiki:"za.wikipedia.org",zawiktionary:"za.wiktionary.org",zawikibooks:"za.wikibooks.org",zawikiquote:"za.wikiquote.org",zeawiki:"zea.wikipedia.org",zhwiki:"zh.wikipedia.org",zhwiktionary:"zh.wiktionary.org",zhwikibooks:"zh.wikibooks.org", +zhwikinews:"zh.wikinews.org",zhwikiquote:"zh.wikiquote.org",zhwikisource:"zh.wikisource.org",zhwikivoyage:"zh.wikivoyage.org",zh_classicalwiki:"zh-classical.wikipedia.org",zh_min_nanwiki:"zh-min-nan.wikipedia.org",zh_min_nanwiktionary:"zh-min-nan.wiktionary.org",zh_min_nanwikibooks:"zh-min-nan.wikibooks.org",zh_min_nanwikiquote:"zh-min-nan.wikiquote.org",zh_min_nanwikisource:"zh-min-nan.wikisource.org",zh_yuewiki:"zh-yue.wikipedia.org",zuwiki:"zu.wikipedia.org",zuwiktionary:"zu.wiktionary.org",zuwikibooks:"zu.wikibooks.org",advisorywiki:"advisory.wikimedia.org",arwikimedia:"ar.wikimedia.org",arbcom_dewiki:"arbcom-de.wikipedia.org",arbcom_enwiki:"arbcom-en.wikipedia.org",arbcom_fiwiki:"arbcom-fi.wikipedia.org",arbcom_nlwiki:"arbcom-nl.wikipedia.org",auditcomwiki:"auditcom.wikimedia.org",bdwikimedia:"bd.wikimedia.org",bewikimedia:"be.wikimedia.org",betawikiversity:"beta.wikiversity.org",boardwiki:"board.wikimedia.org",boardgovcomwiki:"boardgovcom.wikimedia.org",brwikimedia:"br.wikimedia.org",cawikimedia:"ca.wikimedia.org",chairwiki:"chair.wikimedia.org",chapcomwiki:"affcom.wikimedia.org",checkuserwiki:"checkuser.wikimedia.org",cnwikimedia:"cn.wikimedia.org",cowikimedia:"co.wikimedia.org",collabwiki:"collab.wikimedia.org",commonswiki:"commons.wikimedia.org",dkwikimedia:"dk.wikimedia.org",donatewiki:"donate.wikimedia.org",etwikimedia:"ee.wikimedia.org",execwiki:"exec.wikimedia.org",fdcwiki:"fdc.wikimedia.org",fiwikimedia:"fi.wikimedia.org",foundationwiki:"wikimediafoundation.org",grantswiki:"grants.wikimedia.org",iegcomwiki:"iegcom.wikimedia.org",ilwikimedia:"il.wikimedia.org",incubatorwiki:"incubator.wikimedia.org",internalwiki:"internal.wikimedia.org",labswiki:"wikitech.wikimedia.org",labtestwiki:"labtestwikitech.wikimedia.org",legalteamwiki:"legalteam.wikimedia.org",loginwiki:"login.wikimedia.org",mediawikiwiki:"mediawiki.org",metawiki:"meta.wikimedia.org",mkwikimedia:"mk.wikimedia.org",movementroleswiki:"movementroles.wikimedia.org",mxwikimedia:"mx.wikimedia.org",nlwikimedia:"nl.wikimedia.org",nowikimedia:"no.wikimedia.org",noboard_chapterswikimedia:"noboard-chapters.wikimedia.org",nostalgiawiki:"nostalgia.wikipedia.org",nycwikimedia:"nyc.wikimedia.org",nzwikimedia:"nz.wikimedia.org",officewiki:"office.wikimedia.org",ombudsmenwiki:"ombudsmen.wikimedia.org",otrs_wikiwiki:"otrs-wiki.wikimedia.org",outreachwiki:"outreach.wikimedia.org",pa_uswikimedia:"pa-us.wikimedia.org",plwikimedia:"pl.wikimedia.org",qualitywiki:"quality.wikimedia.org",rswikimedia:"rs.wikimedia.org",ruwikimedia:"ru.wikimedia.org",sewikimedia:"se.wikimedia.org",searchcomwiki:"searchcom.wikimedia.org",sourceswiki:"wikisource.org",spcomwiki:"spcom.wikimedia.org",specieswiki:"species.wikimedia.org",stewardwiki:"steward.wikimedia.org",strategywiki:"strategy.wikimedia.org",tenwiki:"ten.wikipedia.org",testwiki:"test.wikipedia.org",test2wiki:"test2.wikipedia.org",testwikidatawiki:"test.wikidata.org",trwikimedia:"tr.wikimedia.org",transitionteamwiki:"transitionteam.wikimedia.org",uawikimedia:"ua.wikimedia.org",ukwikimedia:"uk.wikimedia.org",usabilitywiki:"usability.wikimedia.org",votewiki:"vote.wikimedia.org",wg_enwiki:"wg-en.wikipedia.org",wikidatawiki:"wikidata.org",wikimania2005wiki:"wikimania2005.wikimedia.org",wikimania2006wiki:"wikimania2006.wikimedia.org",wikimania2007wiki:"wikimania2007.wikimedia.org",wikimania2008wiki:"wikimania2008.wikimedia.org",wikimania2009wiki:"wikimania2009.wikimedia.org",wikimania2010wiki:"wikimania2010.wikimedia.org",wikimania2011wiki:"wikimania2011.wikimedia.org",wikimania2012wiki:"wikimania2012.wikimedia.org",wikimania2013wiki:"wikimania2013.wikimedia.org",wikimania2014wiki:"wikimania2014.wikimedia.org",wikimania2015wiki:"wikimania2015.wikimedia.org",wikimania2016wiki:"wikimania2016.wikimedia.org",wikimania2017wiki:"wikimania2017.wikimedia.org",wikimaniateamwiki:"wikimaniateam.wikimedia.org",zerowiki:"zero.wikimedia.org"};b.exports=d},{}],10:[function(a,b,c){"use strict";var d={linearLegend:function(a,b){var c="";if(1===a.length){var d=a[0];return'
\n '+$.i18n("totals")+":\n "+b.formatNumber(d.sum)+" ("+b.formatNumber(d.average)+"/"+$.i18n("day")+')\n •\n '+$.i18n("all-languages")+'\n •\n '+$.i18n("redirects")+'\n •\n '+$.i18n("history")+'\n •\n '+$.i18n("info")+"\n
"}if(a.length>1){var e=a.reduce(function(a,b){return a+b.sum},0);c='
\n '+$.i18n("totals")+":\n "+b.formatNumber(e)+" ("+b.formatNumber(Math.round(e/b.numDaysInRange()))+"/"+$.i18n("day")+")\n
"}c+='
';for(var f=0;f\n \n
\n '+b.formatNumber(a[f].sum)+" ("+b.formatNumber(a[f].average)+"/"+$.i18n("day")+')\n
\n \n \n ";return c+="
"},circularLegend:function(a,b){var c=a[0],d=c.data.reduce(function(a,b){return a+b}),e='
\n '+$.i18n("totals")+":\n "+b.formatNumber(d)+" ("+b.formatNumber(Math.round(d/b.numDaysInRange()))+"/"+$.i18n("day")+")\n
";e+='
';for(var f=0;f\n
\n '+h+'\n
\n
\n '+b.formatNumber(c.data[f])+" ("+b.formatNumber(c.averages[f])+"/"+$.i18n("day")+')\n
\n \n \n '}return e+="
"}};b.exports=d},{}]},{},[3,4,5,6,7,8,9,2]); \ No newline at end of file diff --git a/public_html/langviews/application.js b/public_html/langviews/application.js index 55e9834e0..68f8f3407 100644 --- a/public_html/langviews/application.js +++ b/public_html/langviews/application.js @@ -10,5 +10,5 @@ if(0==h)return f=255*i,[f,f,f];c=.5>i?i*(1+h):i+h-i*h,b=2*i-c,e=[0,0,0];for(var return c=Math.round((c-h.left-j)/n*g.width/b.currentDevicePixelRatio),d=Math.round((d-h.top-k)/o*g.height/b.currentDevicePixelRatio),{x:c,y:d}},f.addEvent=function(a,b,c){a.addEventListener?a.addEventListener(b,c):a.attachEvent?a.attachEvent("on"+b,c):a["on"+b]=c},f.removeEvent=function(a,b,c){a.removeEventListener?a.removeEventListener(b,c,!1):a.detachEvent?a.detachEvent("on"+b,c):a["on"+b]=f.noop},f.bindEvents=function(a,b,c){var d=a.events=a.events||{};f.each(b,function(b){d[b]=function(){c.apply(a,arguments)},f.addEvent(a.chart.canvas,b,d[b])})},f.unbindEvents=function(a,b){var c=a.chart.canvas;f.each(b,function(a,b){f.removeEvent(c,b,a)})},f.getConstraintWidth=function(a){return e(a,"max-width","clientWidth")},f.getConstraintHeight=function(a){return e(a,"max-height","clientHeight")},f.getMaximumWidth=function(a){var b=a.parentNode,c=parseInt(f.getStyle(b,"padding-left"))+parseInt(f.getStyle(b,"padding-right")),d=b.clientWidth-c,e=f.getConstraintWidth(a);return isNaN(e)?d:Math.min(d,e)},f.getMaximumHeight=function(a){var b=a.parentNode,c=parseInt(f.getStyle(b,"padding-top"))+parseInt(f.getStyle(b,"padding-bottom")),d=b.clientHeight-c,e=f.getConstraintHeight(a);return isNaN(e)?d:Math.min(d,e)},f.getStyle=function(a,b){return a.currentStyle?a.currentStyle[b]:document.defaultView.getComputedStyle(a,null).getPropertyValue(b)},f.retinaScale=function(a){var b=a.ctx,c=a.canvas,d=c.width,e=c.height,f=a.currentDevicePixelRatio=window.devicePixelRatio||1;1!==f&&(c.height=e*f,c.width=d*f,b.scale(f,f),a.originalDevicePixelRatio=a.originalDevicePixelRatio||f),c.style.width=d+"px",c.style.height=e+"px"},f.clear=function(a){a.ctx.clearRect(0,0,a.width,a.height)},f.fontString=function(a,b,c){return b+" "+a+"px "+c},f.longestText=function(a,b,c,d){d=d||{};var e=d.data=d.data||{},g=d.garbageCollect=d.garbageCollect||[];d.font!==b&&(e=d.data={},g=d.garbageCollect=[],d.font=b),a.font=b;var h=0;f.each(c,function(b){void 0!==b&&null!==b&&f.isArray(b)!==!0?h=f.measureText(a,e,g,h,b):f.isArray(b)&&f.each(b,function(b){void 0===b||null===b||f.isArray(b)||(h=f.measureText(a,e,g,h,b))})});var i=g.length/2;if(i>c.length){for(var j=0;i>j;j++)delete e[g[j]];g.splice(0,i)}return h},f.measureText=function(a,b,c,d,e){var f=b[e];return f||(f=b[e]=a.measureText(e).width,c.push(e)),f>d&&(d=f),d},f.numberOfLabelLines=function(a){var b=1;return f.each(a,function(a){f.isArray(a)&&a.length>b&&(b=a.length)}),b},f.drawRoundedRectangle=function(a,b,c,d,e,f){a.beginPath(),a.moveTo(b+f,c),a.lineTo(b+d-f,c),a.quadraticCurveTo(b+d,c,b+d,c+f),a.lineTo(b+d,c+e-f),a.quadraticCurveTo(b+d,c+e,b+d-f,c+e),a.lineTo(b+f,c+e),a.quadraticCurveTo(b,c+e,b,c+e-f),a.lineTo(b,c+f),a.quadraticCurveTo(b,c,b+f,c),a.closePath()},f.color=function(b){return d?d(b instanceof CanvasGradient?a.defaults.global.defaultColor:b):(console.log("Color.js not found!"),b)},f.addResizeListener=function(a,b){var c=document.createElement("iframe"),d="chartjs-hidden-iframe";c.classlist?c.classlist.add(d):c.setAttribute("class",d);var e=c.style;e.width="100%",e.display="block",e.border=0,e.height=0,e.margin=0,e.position="absolute",e.left=0,e.right=0,e.top=0,e.bottom=0,a.insertBefore(c,a.firstChild),(c.contentWindow||c).onresize=function(){b&&b()}},f.removeResizeListener=function(a){var b=a.querySelector(".chartjs-hidden-iframe");b&&b.parentNode.removeChild(b)},f.isArray=Array.isArray?function(a){return Array.isArray(a)}:function(a){return"[object Array]"===Object.prototype.toString.call(a)},f.arrayEquals=function(a,b){var c,d,e,g;if(!a||!b||a.length!=b.length)return!1;for(c=0,d=a.length;d>c;++c)if(e=a[c],g=b[c],e instanceof Array&&g instanceof Array){if(!f.arrayEquals(e,g))return!1}else if(e!=g)return!1;return!0},f.callCallback=function(a,b,c){a&&"function"==typeof a.call&&a.apply(c,b)},f.getHoverColor=function(a){return a instanceof CanvasPattern?a:f.color(a).saturate(.5).darken(.1).rgbString()}}},{3:3}],26:[function(a,b,c){"use strict";b.exports=function(){var a=function(b,c){var d=this,e=a.helpers;return d.config=c,b.length&&b[0].getContext&&(b=b[0]),b.getContext&&(b=b.getContext("2d")),d.ctx=b,d.canvas=b.canvas,b.canvas.style.display=b.canvas.style.display||"block",d.width=b.canvas.width||parseInt(e.getStyle(b.canvas,"width"),10)||e.getMaximumWidth(b.canvas),d.height=b.canvas.height||parseInt(e.getStyle(b.canvas,"height"),10)||e.getMaximumHeight(b.canvas),d.aspectRatio=d.width/d.height,(isNaN(d.aspectRatio)||isFinite(d.aspectRatio)===!1)&&(d.aspectRatio=void 0!==c.aspectRatio?c.aspectRatio:2),d.originalCanvasStyleWidth=b.canvas.style.width,d.originalCanvasStyleHeight=b.canvas.style.height,e.retinaScale(d),c&&(d.controller=new a.Controller(d)),e.addResizeListener(b.canvas.parentNode,function(){d.controller&&d.controller.config.options.responsive&&d.controller.resize()}),d.controller?d.controller:d};return a.defaults={global:{responsive:!0,responsiveAnimationDuration:0,maintainAspectRatio:!0,events:["mousemove","mouseout","click","touchstart","touchmove"],hover:{onHover:null,mode:"single",animationDuration:400},onClick:null,defaultColor:"rgba(0,0,0,0.1)",defaultFontColor:"#666",defaultFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",defaultFontSize:12,defaultFontStyle:"normal",showLines:!0,elements:{},legendCallback:function(a){var b=[];b.push('
    ');for(var c=0;c'),a.data.datasets[c].label&&b.push(a.data.datasets[c].label),b.push("");return b.push("
"),b.join("")}}},a.Chart=a,a}},{}],27:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers;a.layoutService={defaults:{},addBox:function(a,b){a.boxes||(a.boxes=[]),a.boxes.push(b)},removeBox:function(a,b){a.boxes&&a.boxes.splice(a.boxes.indexOf(b),1)},update:function(a,c,d){function e(a){var b,c=a.isHorizontal();c?(b=a.update(a.options.fullWidth?p:v,u),w-=b.height):(b=a.update(t,s),v-=b.width),x.push({horizontal:c,minSize:b,box:a})}function f(a){var c=b.findNextWhere(x,function(b){return b.box===a});if(c)if(a.isHorizontal()){var d={left:y,right:z,top:0,bottom:0};a.update(a.options.fullWidth?p:v,q/2,d)}else a.update(c.minSize.width,w)}function g(a){var c=b.findNextWhere(x,function(b){return b.box===a}),d={left:0,right:0,top:A,bottom:B};c&&a.update(c.minSize.width,w,d)}function h(a){a.isHorizontal()?(a.left=a.options.fullWidth?i:y,a.right=a.options.fullWidth?c-i:y+v,a.top=F,a.bottom=F+a.height,F=a.bottom):(a.left=E,a.right=E+a.width,a.top=A,a.bottom=A+w,E=a.right)}if(a){var i=0,j=0,k=b.where(a.boxes,function(a){return"left"===a.options.position}),l=b.where(a.boxes,function(a){return"right"===a.options.position}),m=b.where(a.boxes,function(a){return"top"===a.options.position}),n=b.where(a.boxes,function(a){return"bottom"===a.options.position}),o=b.where(a.boxes,function(a){return"chartArea"===a.options.position});m.sort(function(a,b){return(b.options.fullWidth?1:0)-(a.options.fullWidth?1:0)}),n.sort(function(a,b){return(a.options.fullWidth?1:0)-(b.options.fullWidth?1:0)});var p=c-2*i,q=d-2*j,r=p/2,s=q/2,t=(c-r)/(k.length+l.length),u=(d-s)/(m.length+n.length),v=p,w=q,x=[];b.each(k.concat(l,m,n),e);var y=i,z=i,A=j,B=j;b.each(k.concat(l),f),b.each(k,function(a){y+=a.width}),b.each(l,function(a){z+=a.width}),b.each(m.concat(n),f),b.each(m,function(a){A+=a.height}),b.each(n,function(a){B+=a.height}),b.each(k.concat(l),g),y=i,z=i,A=j,B=j,b.each(k,function(a){y+=a.width}),b.each(l,function(a){z+=a.width}),b.each(m,function(a){A+=a.height}),b.each(n,function(a){B+=a.height});var C=d-A-B,D=c-y-z;(D!==v||C!==w)&&(b.each(k,function(a){a.height=C}),b.each(l,function(a){a.height=C}),b.each(m,function(a){a.options.fullWidth||(a.width=D)}),b.each(n,function(a){a.options.fullWidth||(a.width=D)}),w=C,v=D);var E=i,F=j;b.each(k.concat(m),h),E+=v,F+=w,b.each(l,h),b.each(n,h),a.chartArea={left:y,top:A,right:y+v,bottom:A+w},b.each(o,function(b){b.left=a.chartArea.left,b.top=a.chartArea.top,b.right=a.chartArea.right,b.bottom=a.chartArea.bottom,b.update(v,w)})}}}}},{}],28:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers,c=b.noop;a.defaults.global.legend={display:!0,position:"top",fullWidth:!0,reverse:!1,onClick:function(a,b){var c=b.datasetIndex,d=this.chart,e=d.getDatasetMeta(c);e.hidden=null===e.hidden?!d.data.datasets[c].hidden:null,d.update()},labels:{boxWidth:40,padding:10,generateLabels:function(a){var c=a.data;return b.isArray(c.datasets)?c.datasets.map(function(c,d){return{text:c.label,fillStyle:b.isArray(c.backgroundColor)?c.backgroundColor[0]:c.backgroundColor,hidden:!a.isDatasetVisible(d),lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:c.borderWidth,strokeStyle:c.borderColor,datasetIndex:d}},this):[]}}},a.Legend=a.Element.extend({initialize:function(a){b.extend(this,a),this.legendHitBoxes=[],this.doughnutMode=!1},beforeUpdate:c,update:function(a,b,c){var d=this;return d.beforeUpdate(),d.maxWidth=a,d.maxHeight=b,d.margins=c,d.beforeSetDimensions(),d.setDimensions(),d.afterSetDimensions(),d.beforeBuildLabels(),d.buildLabels(),d.afterBuildLabels(),d.beforeFit(),d.fit(),d.afterFit(),d.afterUpdate(),d.minSize},afterUpdate:c,beforeSetDimensions:c,setDimensions:function(){var a=this;a.isHorizontal()?(a.width=a.maxWidth,a.left=0,a.right=a.width):(a.height=a.maxHeight,a.top=0,a.bottom=a.height),a.paddingLeft=0,a.paddingTop=0,a.paddingRight=0,a.paddingBottom=0,a.minSize={width:0,height:0}},afterSetDimensions:c,beforeBuildLabels:c,buildLabels:function(){var a=this;a.legendItems=a.options.labels.generateLabels.call(a,a.chart),a.options.reverse&&a.legendItems.reverse()},afterBuildLabels:c,beforeFit:c,fit:function(){var c=this,d=c.options,e=d.labels,f=d.display,g=c.ctx,h=a.defaults.global,i=b.getValueOrDefault,j=i(e.fontSize,h.defaultFontSize),k=i(e.fontStyle,h.defaultFontStyle),l=i(e.fontFamily,h.defaultFontFamily),m=b.fontString(j,k,l),n=c.legendHitBoxes=[],o=c.minSize,p=c.isHorizontal();if(p?(o.width=c.maxWidth,o.height=f?10:0):(o.width=f?10:0,o.height=c.maxHeight),f)if(g.font=m,p){var q=c.lineWidths=[0],r=c.legendItems.length?j+e.padding:0;g.textAlign="left",g.textBaseline="top",b.each(c.legendItems,function(a,b){var d=e.boxWidth+j/2+g.measureText(a.text).width;q[q.length-1]+d+e.padding>=c.width&&(r+=j+e.padding,q[q.length]=c.left),n[b]={left:0,top:0,width:d,height:j},q[q.length-1]+=d+e.padding}),o.height+=r}else{var s=e.padding,t=c.columnWidths=[],u=e.padding,v=0,w=0,x=j+s;b.each(c.legendItems,function(a,b){var c=e.boxWidth+j/2+g.measureText(a.text).width;w+x>o.height&&(u+=v+e.padding,t.push(v),v=0,w=0),v=Math.max(v,c),w+=x,n[b]={left:0,top:0,width:c,height:j}}),u+=v,t.push(v),o.width+=u}c.width=o.width,c.height=o.height},afterFit:c,isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},draw:function(){var c=this,d=c.options,e=d.labels,f=a.defaults.global,g=f.elements.line,h=c.width,i=(c.height,c.lineWidths);if(d.display){var j,k=c.ctx,l=b.getValueOrDefault,m=l(e.fontColor,f.defaultFontColor),n=l(e.fontSize,f.defaultFontSize),o=l(e.fontStyle,f.defaultFontStyle),p=l(e.fontFamily,f.defaultFontFamily),q=b.fontString(n,o,p);k.textAlign="left",k.textBaseline="top",k.lineWidth=.5,k.strokeStyle=m,k.fillStyle=m,k.font=q;var r=e.boxWidth,s=c.legendHitBoxes,t=function(a,b,c){k.save(),k.fillStyle=l(c.fillStyle,f.defaultColor),k.lineCap=l(c.lineCap,g.borderCapStyle),k.lineDashOffset=l(c.lineDashOffset,g.borderDashOffset),k.lineJoin=l(c.lineJoin,g.borderJoinStyle),k.lineWidth=l(c.lineWidth,g.borderWidth),k.strokeStyle=l(c.strokeStyle,f.defaultColor),k.setLineDash&&k.setLineDash(l(c.lineDash,g.borderDash)),k.strokeRect(a,b,r,n),k.fillRect(a,b,r,n),k.restore()},u=function(a,b,c,d){k.fillText(c.text,r+n/2+a,b),c.hidden&&(k.beginPath(),k.lineWidth=2,k.moveTo(r+n/2+a,b+n/2),k.lineTo(r+n/2+a+d,b+n/2),k.stroke())},v=c.isHorizontal();j=v?{x:c.left+(h-i[0])/2,y:c.top+e.padding,line:0}:{x:c.left+e.padding,y:c.top,line:0};var w=n+e.padding;b.each(c.legendItems,function(a,b){var d=k.measureText(a.text).width,f=r+n/2+d,g=j.x,l=j.y;v?g+f>=h&&(l=j.y+=n+e.padding,j.line++,g=j.x=c.left+(h-i[j.line])/2):l+w>c.bottom&&(g=j.x=g+c.columnWidths[j.line]+e.padding,l=j.y=c.top,j.line++),t(g,l,a),s[b].left=g,s[b].top=l,u(g,l,a,d),v?j.x+=f+e.padding:j.y+=w})}},handleEvent:function(a){var c=this,d=b.getRelativePosition(a,c.chart.chart),e=d.x,f=d.y,g=c.options;if(e>=c.left&&e<=c.right&&f>=c.top&&f<=c.bottom)for(var h=c.legendHitBoxes,i=0;i=j.left&&e<=j.left+j.width&&f>=j.top&&f<=j.top+j.height){g.onClick&&g.onClick.call(c,a,c.legendItems[i]);break}}}}),a.plugins.register({beforeInit:function(b){var c=b.options,d=c.legend;d&&(b.legend=new a.Legend({ctx:b.chart.ctx,options:d,chart:b}),a.layoutService.addBox(b,b.legend))}})}},{}],29:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers.noop;a.plugins={_plugins:[],register:function(a){var b=this._plugins;[].concat(a).forEach(function(a){-1===b.indexOf(a)&&b.push(a)})},unregister:function(a){var b=this._plugins;[].concat(a).forEach(function(a){var c=b.indexOf(a);-1!==c&&b.splice(c,1)})},clear:function(){this._plugins=[]},count:function(){return this._plugins.length},getAll:function(){return this._plugins},notify:function(a,b){var c,d,e=this._plugins,f=e.length;for(c=0;f>c;++c)if(d=e[c],"function"==typeof d[a]&&d[a].apply(d,b||[])===!1)return!1;return!0}},a.PluginBase=a.Element.extend({beforeInit:b,afterInit:b,beforeUpdate:b,afterUpdate:b,beforeDraw:b,afterDraw:b,destroy:b}),a.pluginService=a.plugins}},{}],30:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers;a.defaults.scale={display:!0,position:"left",gridLines:{display:!0,color:"rgba(0, 0, 0, 0.1)",lineWidth:1,drawBorder:!0,drawOnChartArea:!0,drawTicks:!0,tickMarkLength:10,zeroLineWidth:1,zeroLineColor:"rgba(0,0,0,0.25)",offsetGridLines:!1},scaleLabel:{labelString:"",display:!1},ticks:{beginAtZero:!1,minRotation:0,maxRotation:50,mirror:!1,padding:10,reverse:!1,display:!0,autoSkip:!0,autoSkipPadding:0,labelOffset:0,callback:function(a){return b.isArray(a)?a:""+a}}},a.Scale=a.Element.extend({beforeUpdate:function(){b.callCallback(this.options.beforeUpdate,[this])},update:function(a,c,d){var e=this;return e.beforeUpdate(),e.maxWidth=a,e.maxHeight=c,e.margins=b.extend({left:0,right:0,top:0,bottom:0},d),e.beforeSetDimensions(),e.setDimensions(),e.afterSetDimensions(),e.beforeDataLimits(),e.determineDataLimits(),e.afterDataLimits(),e.beforeBuildTicks(),e.buildTicks(),e.afterBuildTicks(),e.beforeTickToLabelConversion(),e.convertTicksToLabels(),e.afterTickToLabelConversion(),e.beforeCalculateTickRotation(),e.calculateTickRotation(),e.afterCalculateTickRotation(),e.beforeFit(),e.fit(),e.afterFit(),e.afterUpdate(),e.minSize},afterUpdate:function(){b.callCallback(this.options.afterUpdate,[this])},beforeSetDimensions:function(){b.callCallback(this.options.beforeSetDimensions,[this])},setDimensions:function(){var a=this;a.isHorizontal()?(a.width=a.maxWidth,a.left=0,a.right=a.width):(a.height=a.maxHeight,a.top=0,a.bottom=a.height),a.paddingLeft=0,a.paddingTop=0,a.paddingRight=0,a.paddingBottom=0},afterSetDimensions:function(){b.callCallback(this.options.afterSetDimensions,[this])},beforeDataLimits:function(){b.callCallback(this.options.beforeDataLimits,[this])},determineDataLimits:b.noop,afterDataLimits:function(){b.callCallback(this.options.afterDataLimits,[this])},beforeBuildTicks:function(){b.callCallback(this.options.beforeBuildTicks,[this])},buildTicks:b.noop,afterBuildTicks:function(){b.callCallback(this.options.afterBuildTicks,[this])},beforeTickToLabelConversion:function(){b.callCallback(this.options.beforeTickToLabelConversion,[this])},convertTicksToLabels:function(){var a=this;a.ticks=a.ticks.map(function(b,c,d){return a.options.ticks.userCallback?a.options.ticks.userCallback(b,c,d):a.options.ticks.callback(b,c,d)},a)},afterTickToLabelConversion:function(){b.callCallback(this.options.afterTickToLabelConversion,[this])},beforeCalculateTickRotation:function(){b.callCallback(this.options.beforeCalculateTickRotation,[this])},calculateTickRotation:function(){var c=this,d=c.ctx,e=a.defaults.global,f=c.options.ticks,g=b.getValueOrDefault(f.fontSize,e.defaultFontSize),h=b.getValueOrDefault(f.fontStyle,e.defaultFontStyle),i=b.getValueOrDefault(f.fontFamily,e.defaultFontFamily),j=b.fontString(g,h,i);d.font=j;var k,l=d.measureText(c.ticks[0]).width,m=d.measureText(c.ticks[c.ticks.length-1]).width;if(c.labelRotation=f.minRotation||0,c.paddingRight=0,c.paddingLeft=0,c.options.display&&c.isHorizontal()){c.paddingRight=m/2+3,c.paddingLeft=l/2+3,c.longestTextCache||(c.longestTextCache={});for(var n,o,p=b.longestText(d,j,c.ticks,c.longestTextCache),q=p,r=c.getPixelForTick(1)-c.getPixelForTick(0)-6;q>r&&c.labelRotationc.yLabelWidth&&(c.paddingLeft=k+g/2),c.paddingRight=g/2,o*p>c.maxHeight){c.labelRotation--;break}c.labelRotation++,q=n*p}}c.margins&&(c.paddingLeft=Math.max(c.paddingLeft-c.margins.left,0),c.paddingRight=Math.max(c.paddingRight-c.margins.right,0))},afterCalculateTickRotation:function(){b.callCallback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){b.callCallback(this.options.beforeFit,[this])},fit:function(){var c=this,d=c.minSize={width:0,height:0},e=c.options,f=a.defaults.global,g=e.ticks,h=e.scaleLabel,i=e.display,j=c.isHorizontal(),k=b.getValueOrDefault(g.fontSize,f.defaultFontSize),l=b.getValueOrDefault(g.fontStyle,f.defaultFontStyle),m=b.getValueOrDefault(g.fontFamily,f.defaultFontFamily),n=b.fontString(k,l,m),o=b.getValueOrDefault(h.fontSize,f.defaultFontSize),p=b.getValueOrDefault(h.fontStyle,f.defaultFontStyle),q=b.getValueOrDefault(h.fontFamily,f.defaultFontFamily),r=(b.fontString(o,p,q),e.gridLines.tickMarkLength);if(j?d.width=c.isFullWidth()?c.maxWidth-c.margins.left-c.margins.right:c.maxWidth:d.width=i?r:0,j?d.height=i?r:0:d.height=c.maxHeight,h.display&&i&&(j?d.height+=1.5*o:d.width+=1.5*o),g.display&&i){c.longestTextCache||(c.longestTextCache={});var s=b.longestText(c.ctx,n,c.ticks,c.longestTextCache),t=b.numberOfLabelLines(c.ticks),u=.5*k;if(j){c.longestLabelWidth=s;var v=Math.sin(b.toRadians(c.labelRotation))*c.longestLabelWidth+k*t+u*t;d.height=Math.min(c.maxHeight,d.height+v),c.ctx.font=n;var w=c.ctx.measureText(c.ticks[0]).width,x=c.ctx.measureText(c.ticks[c.ticks.length-1]).width,y=Math.cos(b.toRadians(c.labelRotation)),z=Math.sin(b.toRadians(c.labelRotation));c.paddingLeft=0!==c.labelRotation?y*w+3:w/2+3,c.paddingRight=0!==c.labelRotation?z*(k/2)+3:x/2+3}else{var A=c.maxWidth-d.width,B=g.mirror;B?s=0:s+=c.options.ticks.padding,A>s?d.width+=s:d.width=c.maxWidth,c.paddingTop=k/2,c.paddingBottom=k/2}}c.margins&&(c.paddingLeft=Math.max(c.paddingLeft-c.margins.left,0),c.paddingTop=Math.max(c.paddingTop-c.margins.top,0),c.paddingRight=Math.max(c.paddingRight-c.margins.right,0),c.paddingBottom=Math.max(c.paddingBottom-c.margins.bottom,0)),c.width=d.width,c.height=d.height},afterFit:function(){b.callCallback(this.options.afterFit,[this])},isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},isFullWidth:function(){return this.options.fullWidth},getRightValue:function c(a){return null===a||"undefined"==typeof a?NaN:"number"==typeof a&&isNaN(a)?NaN:"object"==typeof a?a instanceof Date||a.isValid?a:c(this.isHorizontal()?a.x:a.y):a},getLabelForIndex:b.noop,getPixelForValue:b.noop,getValueForPixel:b.noop,getPixelForTick:function(a,b){var c=this;if(c.isHorizontal()){var d=c.width-(c.paddingLeft+c.paddingRight),e=d/Math.max(c.ticks.length-(c.options.gridLines.offsetGridLines?0:1),1),f=e*a+c.paddingLeft;b&&(f+=e/2);var g=c.left+Math.round(f);return g+=c.isFullWidth()?c.margins.left:0}var h=c.height-(c.paddingTop+c.paddingBottom);return c.top+a*(h/(c.ticks.length-1))},getPixelForDecimal:function(a){var b=this;if(b.isHorizontal()){var c=b.width-(b.paddingLeft+b.paddingRight),d=c*a+b.paddingLeft,e=b.left+Math.round(d);return e+=b.isFullWidth()?b.margins.left:0}return b.top+a*b.height},getBasePixel:function(){var a=this,b=a.min,c=a.max;return a.getPixelForValue(a.beginAtZero?0:0>b&&0>c?c:b>0&&c>0?b:0)},draw:function(c){var d=this,e=d.options;if(e.display){var f,g,h=d.ctx,i=a.defaults.global,j=e.ticks,k=e.gridLines,l=e.scaleLabel,m=0!==d.labelRotation,n=j.autoSkip,o=d.isHorizontal();j.maxTicksLimit&&(g=j.maxTicksLimit);var p=b.getValueOrDefault(j.fontColor,i.defaultFontColor),q=b.getValueOrDefault(j.fontSize,i.defaultFontSize),r=b.getValueOrDefault(j.fontStyle,i.defaultFontStyle),s=b.getValueOrDefault(j.fontFamily,i.defaultFontFamily),t=b.fontString(q,r,s),u=k.tickMarkLength,v=b.getValueOrDefault(l.fontColor,i.defaultFontColor),w=b.getValueOrDefault(l.fontSize,i.defaultFontSize),x=b.getValueOrDefault(l.fontStyle,i.defaultFontStyle),y=b.getValueOrDefault(l.fontFamily,i.defaultFontFamily),z=b.fontString(w,x,y),A=b.toRadians(d.labelRotation),B=Math.cos(A),C=(Math.sin(A),d.longestLabelWidth*B);h.fillStyle=p;var D=[];if(o){if(f=!1,m&&(C/=2),(C+j.autoSkipPadding)*d.ticks.length>d.width-(d.paddingLeft+d.paddingRight)&&(f=1+Math.floor((C+j.autoSkipPadding)*d.ticks.length/(d.width-(d.paddingLeft+d.paddingRight)))),g&&d.ticks.length>g)for(;!f||d.ticks.length/(f||1)>g;)f||(f=1),f+=1;n||(f=!1)}var E="right"===e.position?d.left:d.right-u,F="right"===e.position?d.left+u:d.right,G="bottom"===e.position?d.top:d.bottom-u,H="bottom"===e.position?d.top+u:d.bottom;if(b.each(d.ticks,function(a,g){if(void 0!==a&&null!==a){var h=d.ticks.length===g+1,i=f>1&&g%f>0||g%f===0&&g+f>=d.ticks.length;if((!i||h)&&void 0!==a&&null!==a){var l,n;g===("undefined"!=typeof d.zeroLineIndex?d.zeroLineIndex:0)?(l=k.zeroLineWidth,n=k.zeroLineColor):(l=b.getValueAtIndexOrDefault(k.lineWidth,g),n=b.getValueAtIndexOrDefault(k.color,g));var p,q,r,s,t,v,w,x,y,z,B,C="middle";if(o){m||(C="top"===e.position?"bottom":"top"),B=m?"right":"center";var I=d.getPixelForTick(g)+b.aliasPixel(l);y=d.getPixelForTick(g,k.offsetGridLines)+j.labelOffset,z=m?d.top+12:"top"===e.position?d.bottom-u:d.top+u,p=r=t=w=I,q=G,s=H,v=c.top,x=c.bottom}else{"left"===e.position?j.mirror?(y=d.right+j.padding,B="left"):(y=d.right-j.padding,B="right"):j.mirror?(y=d.left-j.padding,B="right"):(y=d.left+j.padding,B="left");var J=d.getPixelForTick(g);J+=b.aliasPixel(l),z=d.getPixelForTick(g,k.offsetGridLines),p=E,r=F,t=c.left,w=c.right,q=s=v=x=J}D.push({tx1:p,ty1:q,tx2:r,ty2:s,x1:t,y1:v,x2:w,y2:x,labelX:y,labelY:z,glWidth:l,glColor:n,rotation:-1*A,label:a,textBaseline:C,textAlign:B})}}}),b.each(D,function(a){if(k.display&&(h.lineWidth=a.glWidth,h.strokeStyle=a.glColor,h.beginPath(),k.drawTicks&&(h.moveTo(a.tx1,a.ty1),h.lineTo(a.tx2,a.ty2)),k.drawOnChartArea&&(h.moveTo(a.x1,a.y1),h.lineTo(a.x2,a.y2)),h.stroke()),j.display){h.save(),h.translate(a.labelX,a.labelY),h.rotate(a.rotation),h.font=t,h.textBaseline=a.textBaseline,h.textAlign=a.textAlign;var c=a.label;if(b.isArray(c))for(var d=0,e=0;db;++b){var f=a[b];if(f&&f.hasValue()){var g=f.tooltipPosition();d.push(g.x),e.push(g.y)}}var h=0,i=0;for(b=0,c-d.length;c>b;++b)h+=d[b],i+=e[b];return{x:Math.round(h/d.length),y:Math.round(i/d.length)}}function d(a){var b=a._xScale,c=a._yScale||a._scale,d=a._index,e=a._datasetIndex;return{xLabel:b?b.getLabelForIndex(d,e):"",yLabel:c?c.getLabelForIndex(d,e):"",index:d,datasetIndex:e}}var e=a.helpers;a.defaults.global.tooltips={enabled:!0,custom:null,mode:"single",backgroundColor:"rgba(0,0,0,0.8)",titleFontStyle:"bold",titleSpacing:2,titleMarginBottom:6,titleFontColor:"#fff",titleAlign:"left",bodySpacing:2,bodyFontColor:"#fff",bodyAlign:"left",footerFontStyle:"bold",footerSpacing:2,footerMarginTop:6,footerFontColor:"#fff",footerAlign:"left",yPadding:6,xPadding:6,yAlign:"center",xAlign:"center",caretSize:5,cornerRadius:6,multiKeyBackground:"#fff",callbacks:{beforeTitle:e.noop,title:function(a,b){var c="",d=b.labels,e=d?d.length:0;if(a.length>0){var f=a[0];f.xLabel?c=f.xLabel:e>0&&f.indexb;++b)o.push(d(j[b]));h.itemSort&&(o=o.sort(h.itemSort)),j.length>1&&e.each(o,function(a){m.push(h.callbacks.labelColor.call(g,a,l))}),e.extend(i,{title:g.getTitle(o,k),beforeBody:g.getBeforeBody(o,k),body:g.getBody(o,k),afterBody:g.getAfterBody(o,k),footer:g.getFooter(o,k),x:Math.round(n.x),y:Math.round(n.y),caretPadding:e.getValueOrDefault(n.padding,2),labelColors:m});var p=g.getTooltipSize(i);g.determineAlignment(p),e.extend(i,g.getBackgroundPoint(i,p))}else g._model.opacity=0;return a&&h.custom&&h.custom.call(g,i),g},getTooltipSize:function(a){var b=this._chart.ctx,c={height:2*a.yPadding,width:0},d=a.body,f=d.reduce(function(a,b){return a+b.before.length+b.lines.length+b.after.length},0);f+=a.beforeBody.length+a.afterBody.length;var g=a.title.length,h=a.footer.length,i=a.titleFontSize,j=a.bodyFontSize,k=a.footerFontSize;c.height+=g*i,c.height+=(g-1)*a.titleSpacing,c.height+=g?a.titleMarginBottom:0,c.height+=f*j,c.height+=f?(f-1)*a.bodySpacing:0,c.height+=h?a.footerMarginTop:0,c.height+=h*k,c.height+=h?(h-1)*a.footerSpacing:0;var l=0,m=function(a){c.width=Math.max(c.width,b.measureText(a).width+l)};return b.font=e.fontString(i,a._titleFontStyle,a._titleFontFamily),e.each(a.title,m),b.font=e.fontString(j,a._bodyFontStyle,a._bodyFontFamily),e.each(a.beforeBody.concat(a.afterBody),m),l=d.length>1?j+2:0,e.each(d,function(a){e.each(a.before,m),e.each(a.lines,m),e.each(a.after,m)}),l=0,b.font=e.fontString(k,a._footerFontStyle,a._footerFontFamily), e.each(a.footer,m),c.width+=2*a.xPadding,c},determineAlignment:function(a){var b=this,c=b._model,d=b._chart,e=b._chartInstance.chartArea;c.yd.height-a.height&&(c.yAlign="bottom");var f,g,h,i,j,k=(e.left+e.right)/2,l=(e.top+e.bottom)/2;"center"===c.yAlign?(f=function(a){return k>=a},g=function(a){return a>k}):(f=function(b){return b<=a.width/2},g=function(b){return b>=d.width-a.width/2}),h=function(b){return b+a.width>d.width},i=function(b){return b-a.width<0},j=function(a){return l>=a?"top":"bottom"},f(c.x)?(c.xAlign="left",h(c.x)&&(c.xAlign="center",c.yAlign=j(c.y))):g(c.x)&&(c.xAlign="right",i(c.x)&&(c.xAlign="center",c.yAlign=j(c.y)))},getBackgroundPoint:function(a,b){var c={x:a.x,y:a.y},d=a.caretSize,e=a.caretPadding,f=a.cornerRadius,g=a.xAlign,h=a.yAlign,i=d+e,j=f+e;return"right"===g?c.x-=b.width:"center"===g&&(c.x-=b.width/2),"top"===h?c.y+=i:"bottom"===h?c.y-=b.height+i:c.y-=b.height/2,"center"===h?"left"===g?c.x+=i:"right"===g&&(c.x-=i):"left"===g?c.x-=j:"right"===g&&(c.x+=j),c},drawCaret:function(a,b,c,d){var f,g,h,i,j,k,l=this._view,m=this._chart.ctx,n=l.caretSize,o=l.cornerRadius,p=l.xAlign,q=l.yAlign,r=a.x,s=a.y,t=b.width,u=b.height;"center"===q?("left"===p?(f=r,g=f-n,h=f):(f=r+t,g=f+n,h=f),j=s+u/2,i=j-n,k=j+n):("left"===p?(f=r+o,g=f+n,h=g+n):"right"===p?(f=r+t-o,g=f-n,h=g-n):(g=r+t/2,f=g-n,h=g+n),"top"===q?(i=s,j=i-n,k=i):(i=s+u,j=i+n,k=i));var v=e.color(l.backgroundColor);m.fillStyle=v.alpha(c*v.alpha()).rgbString(),m.beginPath(),m.moveTo(f,i),m.lineTo(g,j),m.lineTo(h,k),m.closePath(),m.fill()},drawTitle:function(a,b,c,d){var f=b.title;if(f.length){c.textAlign=b._titleAlign,c.textBaseline="top";var g=b.titleFontSize,h=b.titleSpacing,i=e.color(b.titleFontColor);c.fillStyle=i.alpha(d*i.alpha()).rgbString(),c.font=e.fontString(g,b._titleFontStyle,b._titleFontFamily);var j,k;for(j=0,k=f.length;k>j;++j)c.fillText(f[j],a.x,a.y),a.y+=g+h,j+1===f.length&&(a.y+=b.titleMarginBottom-h)}},drawBody:function(a,b,c,d){var f=b.bodyFontSize,g=b.bodySpacing,h=b.body;c.textAlign=b._bodyAlign,c.textBaseline="top";var i=e.color(b.bodyFontColor),j=i.alpha(d*i.alpha()).rgbString();c.fillStyle=j,c.font=e.fontString(f,b._bodyFontStyle,b._bodyFontFamily);var k=0,l=function(b){c.fillText(b,a.x+k,a.y),a.y+=f+g};e.each(b.beforeBody,l);var m=h.length>1;k=m?f+2:0,e.each(h,function(g,h){e.each(g.before,l),e.each(g.lines,function(g){m&&(c.fillStyle=e.color(b.legendColorBackground).alpha(d).rgbaString(),c.fillRect(a.x,a.y,f,f),c.strokeStyle=e.color(b.labelColors[h].borderColor).alpha(d).rgbaString(),c.strokeRect(a.x,a.y,f,f),c.fillStyle=e.color(b.labelColors[h].backgroundColor).alpha(d).rgbaString(),c.fillRect(a.x+1,a.y+1,f-2,f-2),c.fillStyle=j),l(g)}),e.each(g.after,l)}),k=0,e.each(b.afterBody,l),a.y-=g},drawFooter:function(a,b,c,d){var f=b.footer;if(f.length){a.y+=b.footerMarginTop,c.textAlign=b._footerAlign,c.textBaseline="top";var g=e.color(b.footerFontColor);c.fillStyle=g.alpha(d*g.alpha()).rgbString(),c.font=e.fontString(b.footerFontSize,b._footerFontStyle,b._footerFontFamily),e.each(f,function(d){c.fillText(d,a.x,a.y),a.y+=b.footerFontSize+b.footerSpacing})}},draw:function(){var a=this._chart.ctx,b=this._view;if(0!==b.opacity){var c=this.getTooltipSize(b),d={x:b.x,y:b.y},f=Math.abs(b.opacity<.001)?0:b.opacity;if(this._options.enabled){var g=e.color(b.backgroundColor);a.fillStyle=g.alpha(f*g.alpha()).rgbString(),e.drawRoundedRectangle(a,d.x,d.y,c.width,c.height,b.cornerRadius),a.fill(),this.drawCaret(d,c,f,b.caretPadding),d.x+=b.xPadding,d.y+=b.yPadding,this.drawTitle(d,b,a,f),this.drawBody(d,b,a,f),this.drawFooter(d,b,a,f)}}}})}},{}],34:[function(a,b,c){"use strict";b.exports=function(a,b){var c=a.helpers,d=a.defaults.global;d.elements.arc={backgroundColor:d.defaultColor,borderColor:"#fff",borderWidth:2},a.elements.Arc=a.Element.extend({inLabelRange:function(a){var b=this._view;return b?Math.pow(a-b.x,2)i;)i+=2*Math.PI;for(;f>i;)f-=2*Math.PI;for(;h>f;)f+=2*Math.PI;var j=f>=h&&i>=f,k=g>=d.innerRadius&&g<=d.outerRadius;return j&&k}return!1},tooltipPosition:function(){var a=this._view,b=a.startAngle+(a.endAngle-a.startAngle)/2,c=(a.outerRadius-a.innerRadius)/2+a.innerRadius;return{x:a.x+Math.cos(b)*c,y:a.y+Math.sin(b)*c}},draw:function(){var a=this._chart.ctx,b=this._view,c=b.startAngle,d=b.endAngle;a.beginPath(),a.arc(b.x,b.y,b.outerRadius,c,d),a.arc(b.x,b.y,b.innerRadius,d,c,!0),a.closePath(),a.strokeStyle=b.borderColor,a.lineWidth=b.borderWidth,a.fillStyle=b.backgroundColor,a.fill(),a.lineJoin="bevel",b.borderWidth&&a.stroke()}})}},{}],35:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers,c=a.defaults.global;a.defaults.global.elements.line={tension:.4,backgroundColor:c.defaultColor,borderWidth:3,borderColor:c.defaultColor,borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",fill:!0},a.elements.Line=a.Element.extend({lineToNextPoint:function(a,b,c,d,e){var f=this,g=f._chart.ctx,h=f._view?f._view.spanGaps:!1;b._view.skip&&!h?d.call(f,a,b,c):a._view.skip&&!h?e.call(f,a,b,c):0===b._view.tension?g.lineTo(b._view.x,b._view.y):g.bezierCurveTo(a._view.controlPointNextX,a._view.controlPointNextY,b._view.controlPointPreviousX,b._view.controlPointPreviousY,b._view.x,b._view.y)},draw:function(){function a(a){g._view.skip||h._view.skip?a&&f.lineTo(d._view.scaleZero.x,d._view.scaleZero.y):f.bezierCurveTo(h._view.controlPointNextX,h._view.controlPointNextY,g._view.controlPointPreviousX,g._view.controlPointPreviousY,g._view.x,g._view.y)}var d=this,e=d._view,f=d._chart.ctx,g=d._children[0],h=d._children[d._children.length-1];f.save(),d._children.length>0&&e.fill&&(f.beginPath(),b.each(d._children,function(a,c){var g=b.previousItem(d._children,c),h=b.nextItem(d._children,c);0===c?(d._loop?f.moveTo(e.scaleZero.x,e.scaleZero.y):f.moveTo(a._view.x,e.scaleZero),a._view.skip?d._loop||f.moveTo(h._view.x,d._view.scaleZero):f.lineTo(a._view.x,a._view.y)):d.lineToNextPoint(g,a,h,function(a,b,c){d._loop?f.lineTo(d._view.scaleZero.x,d._view.scaleZero.y):(f.lineTo(a._view.x,d._view.scaleZero),f.moveTo(c._view.x,d._view.scaleZero))},function(a,b){f.lineTo(b._view.x,b._view.y)})},d),d._loop?a(!0):(f.lineTo(d._children[d._children.length-1]._view.x,e.scaleZero),f.lineTo(d._children[0]._view.x,e.scaleZero)),f.fillStyle=e.backgroundColor||c.defaultColor,f.closePath(),f.fill());var i=c.elements.line;f.lineCap=e.borderCapStyle||i.borderCapStyle,f.setLineDash&&f.setLineDash(e.borderDash||i.borderDash),f.lineDashOffset=e.borderDashOffset||i.borderDashOffset,f.lineJoin=e.borderJoinStyle||i.borderJoinStyle,f.lineWidth=e.borderWidth||i.borderWidth,f.strokeStyle=e.borderColor||c.defaultColor,f.beginPath(),b.each(d._children,function(a,c){var e=b.previousItem(d._children,c),g=b.nextItem(d._children,c);0===c?f.moveTo(a._view.x,a._view.y):d.lineToNextPoint(e,a,g,function(a,b,c){f.moveTo(c._view.x,c._view.y)},function(a,b){f.moveTo(b._view.x,b._view.y)})},d),d._loop&&d._children.length>0&&a(),f.stroke(),f.restore()}})}},{}],36:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers,c=a.defaults.global,d=c.defaultColor;c.elements.point={radius:3,pointStyle:"circle",backgroundColor:d,borderWidth:1,borderColor:d,hitRadius:1,hoverRadius:4,hoverBorderWidth:1},a.elements.Point=a.Element.extend({inRange:function(a,b){var c=this._view;return c?Math.pow(a-c.x,2)+Math.pow(b-c.y,2)=m)){switch(k.strokeStyle=j.borderColor||d,k.lineWidth=b.getValueOrDefault(j.borderWidth,c.elements.point.borderWidth),k.fillStyle=j.backgroundColor||d,l){default:k.beginPath(),k.arc(n,o,m,0,2*Math.PI),k.closePath(),k.fill();break;case"triangle":k.beginPath(),e=3*m/Math.sqrt(3),h=e*Math.sqrt(3)/2,k.moveTo(n-e/2,o+h/3),k.lineTo(n+e/2,o+h/3),k.lineTo(n,o-2*h/3),k.closePath(),k.fill();break;case"rect":i=1/Math.SQRT2*m,k.fillRect(n-i,o-i,2*i,2*i),k.strokeRect(n-i,o-i,2*i,2*i);break;case"rectRot":i=1/Math.SQRT2*m,k.beginPath(),k.moveTo(n-i,o),k.lineTo(n,o+i),k.lineTo(n+i,o),k.lineTo(n,o-i),k.closePath(),k.fill();break;case"cross":k.beginPath(),k.moveTo(n,o+m),k.lineTo(n,o-m),k.moveTo(n-m,o),k.lineTo(n+m,o),k.closePath();break;case"crossRot":k.beginPath(),f=Math.cos(Math.PI/4)*m,g=Math.sin(Math.PI/4)*m,k.moveTo(n-f,o-g),k.lineTo(n+f,o+g),k.moveTo(n-f,o+g),k.lineTo(n+f,o-g),k.closePath();break;case"star":k.beginPath(),k.moveTo(n,o+m),k.lineTo(n,o-m),k.moveTo(n-m,o),k.lineTo(n+m,o),f=Math.cos(Math.PI/4)*m,g=Math.sin(Math.PI/4)*m,k.moveTo(n-f,o-g),k.lineTo(n+f,o+g),k.moveTo(n-f,o+g),k.lineTo(n+f,o-g),k.closePath();break;case"line":k.beginPath(),k.moveTo(n-m,o),k.lineTo(n+m,o),k.closePath();break;case"dash":k.beginPath(),k.moveTo(n,o),k.lineTo(n+m,o),k.closePath()}k.stroke()}}}})}},{}],37:[function(a,b,c){"use strict";b.exports=function(a){var b=(a.helpers,a.defaults.global);b.elements.rectangle={backgroundColor:b.defaultColor,borderWidth:0,borderColor:b.defaultColor,borderSkipped:"bottom"},a.elements.Rectangle=a.Element.extend({draw:function(){function a(a){return i[(k+a)%4]}var b=this._chart.ctx,c=this._view,d=c.width/2,e=c.x-d,f=c.x+d,g=c.base-(c.base-c.y),h=c.borderWidth/2;c.borderWidth&&(e+=h,f-=h,g+=h),b.beginPath(),b.fillStyle=c.backgroundColor,b.strokeStyle=c.borderColor,b.lineWidth=c.borderWidth;var i=[[e,c.base],[e,g],[f,g],[f,c.base]],j=["bottom","left","top","right"],k=j.indexOf(c.borderSkipped,0);-1===k&&(k=0),b.moveTo.apply(b,a(0));for(var l=1;4>l;l++)b.lineTo.apply(b,a(l));b.fill(),c.borderWidth&&b.stroke()},height:function(){var a=this._view;return a.base-a.y},inRange:function(a,b){var c=this._view;return c?c.y=c.x-c.width/2&&a<=c.x+c.width/2&&b>=c.y&&b<=c.base:a>=c.x-c.width/2&&a<=c.x+c.width/2&&b>=c.base&&b<=c.y:!1},inLabelRange:function(a){var b=this._view;return b?a>=b.x-b.width/2&&a<=b.x+b.width/2:!1},tooltipPosition:function(){var a=this._view;return{x:a.x,y:a.y}}})}},{}],38:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers,c={position:"bottom"},d=a.Scale.extend({determineDataLimits:function(){var a=this;a.minIndex=0,a.maxIndex=a.chart.data.labels.length-1;var c;void 0!==a.options.ticks.min&&(c=b.indexOf(a.chart.data.labels,a.options.ticks.min),a.minIndex=-1!==c?c:a.minIndex),void 0!==a.options.ticks.max&&(c=b.indexOf(a.chart.data.labels,a.options.ticks.max),a.maxIndex=-1!==c?c:a.maxIndex),a.min=a.chart.data.labels[a.minIndex],a.max=a.chart.data.labels[a.maxIndex]},buildTicks:function(a){var b=this;b.ticks=0===b.minIndex&&b.maxIndex===b.chart.data.labels.length-1?b.chart.data.labels:b.chart.data.labels.slice(b.minIndex,b.maxIndex+1)},getLabelForIndex:function(a,b){return this.ticks[a]},getPixelForValue:function(a,b,c,d){var e=this,f=Math.max(e.maxIndex+1-e.minIndex-(e.options.gridLines.offsetGridLines?0:1),1);if(e.isHorizontal()){var g=e.width-(e.paddingLeft+e.paddingRight),h=g/f,i=h*(b-e.minIndex)+e.paddingLeft;return e.options.gridLines.offsetGridLines&&d&&(i+=h/2),e.left+Math.round(i)}var j=e.height-(e.paddingTop+e.paddingBottom),k=j/f,l=k*(b-e.minIndex)+e.paddingTop;return e.options.gridLines.offsetGridLines&&d&&(l+=k/2),e.top+Math.round(l)},getPixelForTick:function(a,b){return this.getPixelForValue(this.ticks[a],a+this.minIndex,null,b)},getValueForPixel:function(a){var b,c=this,d=Math.max(c.ticks.length-(c.options.gridLines.offsetGridLines?0:1),1),e=c.isHorizontal(),f=e?c.width-(c.paddingLeft+c.paddingRight):c.height-(c.paddingTop+c.paddingBottom),g=f/d;return c.options.gridLines.offsetGridLines&&(a-=g/2),a-=e?c.paddingLeft:c.paddingTop,b=0>=a?0:Math.round(a/g)}});a.scaleService.registerScaleType("category",d,c)}},{}],39:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers,c={position:"left",ticks:{callback:function(a,c,d){var e=d.length>3?d[2]-d[1]:d[1]-d[0];Math.abs(e)>1&&a!==Math.floor(a)&&(e=a-Math.floor(a));var f=b.log10(Math.abs(e)),g="";if(0!==a){var h=-1*Math.floor(f);h=Math.max(Math.min(h,20),0),g=a.toFixed(h)}else g="0";return g}}},d=a.LinearScaleBase.extend({determineDataLimits:function(){function a(a){return h?a.xAxisID===c.id:a.yAxisID===c.id}var c=this,d=c.options,e=(d.ticks,c.chart),f=e.data,g=f.datasets,h=c.isHorizontal();if(c.min=null,c.max=null,d.stacked){var i={},j=!1,k=!1;b.each(g,function(f,g){var h=e.getDatasetMeta(g);void 0===i[h.type]&&(i[h.type]={positiveValues:[],negativeValues:[]});var l=i[h.type].positiveValues,m=i[h.type].negativeValues;e.isDatasetVisible(g)&&a(h)&&b.each(f.data,function(a,b){var e=+c.getRightValue(a);isNaN(e)||h.data[b].hidden||(l[b]=l[b]||0,m[b]=m[b]||0,d.relativePoints?l[b]=100:0>e?(k=!0,m[b]+=e):(j=!0,l[b]+=e))})}),b.each(i,function(a){var d=a.positiveValues.concat(a.negativeValues),e=b.min(d),f=b.max(d);c.min=null===c.min?e:Math.min(c.min,e),c.max=null===c.max?f:Math.max(c.max,f)})}else b.each(g,function(d,f){var g=e.getDatasetMeta(f);e.isDatasetVisible(f)&&a(g)&&b.each(d.data,function(a,b){var d=+c.getRightValue(a);isNaN(d)||g.data[b].hidden||(null===c.min?c.min=d:dc.max&&(c.max=d))})});this.handleTickRangeOptions()},getTickLimit:function(){var c,d=this,e=d.options.ticks;if(d.isHorizontal())c=Math.min(e.maxTicksLimit?e.maxTicksLimit:11,Math.ceil(d.width/50));else{var f=b.getValueOrDefault(e.fontSize,a.defaults.global.defaultFontSize);c=Math.min(e.maxTicksLimit?e.maxTicksLimit:11,Math.ceil(d.height/(2*f)))}return c},handleDirectionalChanges:function(){this.isHorizontal()||this.ticks.reverse()},getLabelForIndex:function(a,b){return+this.getRightValue(this.chart.data.datasets[b].data[a])},getPixelForValue:function(a,b,c,d){var e,f,g=this,h=g.paddingLeft,i=g.paddingBottom,j=g.start,k=+g.getRightValue(a),l=g.end-j;return g.isHorizontal()?(f=g.width-(h+g.paddingRight),e=g.left+f/l*(k-j),Math.round(e+h)):(f=g.height-(g.paddingTop+i),e=g.bottom-i-f/l*(k-j),Math.round(e))},getValueForPixel:function(a){var b=this,c=b.isHorizontal(),d=b.paddingLeft,e=b.paddingBottom,f=c?b.width-(d+b.paddingRight):b.height-(b.paddingTop+e),g=(c?a-b.left-d:b.bottom-e-a)/f;return b.start+(b.end-b.start)*g},getPixelForTick:function(a,b){return this.getPixelForValue(this.ticksAsNumbers[a],null,null,b)}});a.scaleService.registerScaleType("linear",d,c)}},{}],40:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers,c=b.noop;a.LinearScaleBase=a.Scale.extend({handleTickRangeOptions:function(){var a=this,c=a.options,d=c.ticks;if(d.beginAtZero){var e=b.sign(a.min),f=b.sign(a.max);0>e&&0>f?a.max=0:e>0&&f>0&&(a.min=0)}void 0!==d.min?a.min=d.min:void 0!==d.suggestedMin&&(a.min=Math.min(a.min,d.suggestedMin)),void 0!==d.max?a.max=d.max:void 0!==d.suggestedMax&&(a.max=Math.max(a.max,d.suggestedMax)),a.min===a.max&&(a.max++,d.beginAtZero||a.min--)},getTickLimit:c,handleDirectionalChanges:c,buildTicks:function(){var a=this,c=a.options,d=c.ticks,e=b.getValueOrDefault,f=(a.isHorizontal(),a.ticks=[]),g=a.getTickLimit();g=Math.max(2,g);var h,i=d.fixedStepSize&&d.fixedStepSize>0||d.stepSize&&d.stepSize>0;if(i)h=e(d.fixedStepSize,d.stepSize);else{var j=b.niceNum(a.max-a.min,!1);h=b.niceNum(j/(g-1),!0)}var k=Math.floor(a.min/h)*h,l=Math.ceil(a.max/h)*h,m=(l-k)/h;m=b.almostEquals(m,Math.round(m),h/1e3)?Math.round(m):Math.ceil(m),f.push(void 0!==d.min?d.min:k);for(var n=1;m>n;++n)f.push(k+n*h);f.push(void 0!==d.max?d.max:l),a.handleDirectionalChanges(),a.max=b.max(f),a.min=b.min(f),d.reverse?(f.reverse(),a.start=a.max,a.end=a.min):(a.start=a.min,a.end=a.max)},convertTicksToLabels:function(){var b=this;b.ticksAsNumbers=b.ticks.slice(),b.zeroLineIndex=b.ticks.indexOf(0),a.Scale.prototype.convertTicksToLabels.call(b)}})}},{}],41:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers,c={position:"left",ticks:{callback:function(a,c,d){var e=a/Math.pow(10,Math.floor(b.log10(a)));return 1===e||2===e||5===e||0===c||c===d.length-1?a.toExponential():""}}},d=a.Scale.extend({determineDataLimits:function(){function a(a){return j?a.xAxisID===c.id:a.yAxisID===c.id}var c=this,d=c.options,e=d.ticks,f=c.chart,g=f.data,h=g.datasets,i=b.getValueOrDefault,j=c.isHorizontal();if(c.min=null,c.max=null,d.stacked){var k={};b.each(h,function(e,g){var h=f.getDatasetMeta(g);f.isDatasetVisible(g)&&a(h)&&(void 0===k[h.type]&&(k[h.type]=[]),b.each(e.data,function(a,b){var e=k[h.type],f=+c.getRightValue(a);isNaN(f)||h.data[b].hidden||(e[b]=e[b]||0,d.relativePoints?e[b]=100:e[b]+=f)}))}),b.each(k,function(a){var d=b.min(a),e=b.max(a);c.min=null===c.min?d:Math.min(c.min,d),c.max=null===c.max?e:Math.max(c.max,e)})}else b.each(h,function(d,e){var g=f.getDatasetMeta(e);f.isDatasetVisible(e)&&a(g)&&b.each(d.data,function(a,b){var d=+c.getRightValue(a);isNaN(d)||g.data[b].hidden||(null===c.min?c.min=d:dc.max&&(c.max=d))})});c.min=i(e.min,c.min),c.max=i(e.max,c.max),c.min===c.max&&(0!==c.min&&null!==c.min?(c.min=Math.pow(10,Math.floor(b.log10(c.min))-1),c.max=Math.pow(10,Math.floor(b.log10(c.max))+1)):(c.min=1,c.max=10))},buildTicks:function(){for(var a=this,c=a.options,d=c.ticks,e=b.getValueOrDefault,f=a.ticks=[],g=e(d.min,Math.pow(10,Math.floor(b.log10(a.min))));ga.max&&(a.max=d))})}}),a.handleTickRangeOptions()},getTickLimit:function(){var a=this.options.ticks,d=b.getValueOrDefault(a.fontSize,c.defaultFontSize);return Math.min(a.maxTicksLimit?a.maxTicksLimit:11,Math.ceil(this.drawingArea/(1.5*d)))},convertTicksToLabels:function(){var b=this;a.LinearScaleBase.prototype.convertTicksToLabels.call(b),b.pointLabels=b.chart.data.labels.map(b.options.pointLabels.callback,b)},getLabelForIndex:function(a,b){return+this.getRightValue(this.chart.data.datasets[b].data[a])},fit:function(){var a,d,e,f,g,h,i,j,k,l,m,n,o=this.options.pointLabels,p=b.getValueOrDefault(o.fontSize,c.defaultFontSize),q=b.getValueOrDefault(o.fontStyle,c.defaultFontStyle),r=b.getValueOrDefault(o.fontFamily,c.defaultFontFamily),s=b.fontString(p,q,r),t=b.min([this.height/2-p-5,this.width/2]),u=this.width,v=0;for(this.ctx.font=s,d=0;du&&(u=a.x+f,g=d),a.x-fu&&(u=a.x+e,g=d):d>this.getValueCount()/2&&a.x-eb&&0>c?c:b>0&&c>0?b:0)},draw:function(){var a=this,d=a.options,e=d.gridLines,f=d.ticks,g=d.angleLines,h=d.pointLabels,i=b.getValueOrDefault;if(d.display){var j=a.ctx,k=i(f.fontSize,c.defaultFontSize),l=i(f.fontStyle,c.defaultFontStyle),m=i(f.fontFamily,c.defaultFontFamily),n=b.fontString(k,l,m);if(b.each(a.ticks,function(g,h){if(h>0||d.reverse){var l=a.getDistanceFromCenterForValue(a.ticksAsNumbers[h]),m=a.yCenter-l;if(e.display&&0!==h)if(j.strokeStyle=b.getValueAtIndexOrDefault(e.color,h-1),j.lineWidth=b.getValueAtIndexOrDefault(e.lineWidth,h-1),d.lineArc)j.beginPath(),j.arc(a.xCenter,a.yCenter,l,0,2*Math.PI),j.closePath(),j.stroke();else{j.beginPath();for(var o=0;o=0;t--){if(g.display){var u=a.getPointPosition(t,o);j.beginPath(),j.moveTo(a.xCenter,a.yCenter),j.lineTo(u.x,u.y),j.stroke(),j.closePath()}var v=a.getPointPosition(t,o+5),w=i(h.fontColor,c.defaultFontColor);j.font=s,j.fillStyle=w;var x=a.pointLabels,y=x.length,z=x.length/2,A=z/2,B=A>t||t>y-A,C=t===A||t===y-A;0===t?j.textAlign="center":t===z?j.textAlign="center":z>t?j.textAlign="left":j.textAlign="right",C?j.textBaseline="middle":B?j.textBaseline="bottom":j.textBaseline="top",j.fillText(x[t]?x[t]:"",v.x,v.y)}}}}});a.scaleService.registerScaleType("radialLinear",e,d)}},{}],43:[function(a,b,c){"use strict";var d=a(1);d="function"==typeof d?d:window.moment,b.exports=function(a){var b=a.helpers,c={units:[{name:"millisecond",steps:[1,2,5,10,20,50,100,250,500]},{name:"second",steps:[1,2,5,10,30]},{name:"minute",steps:[1,2,5,10,30]},{name:"hour",steps:[1,2,3,6,12]},{name:"day",steps:[1,2,5]},{name:"week",maxStep:4},{name:"month",maxStep:3},{name:"quarter",maxStep:4},{name:"year",maxStep:!1}]},e={position:"bottom",time:{parser:!1,format:!1,unit:!1,round:!1,displayFormat:!1,isoWeekday:!1,displayFormats:{millisecond:"h:mm:ss.SSS a",second:"h:mm:ss a",minute:"h:mm:ss a",hour:"MMM D, hA",day:"ll",week:"ll",month:"MMM YYYY",quarter:"[Q]Q - YYYY",year:"YYYY"}},ticks:{autoSkip:!1}},f=a.Scale.extend({initialize:function(){if(!d)throw new Error("Chart.js - Moment.js could not be found! You must include it before Chart.js to use the time scale. Download at https://momentjs.com");a.Scale.prototype.initialize.call(this)},getLabelMoment:function(a,b){return this.labelMoments[a][b]},getMomentStartOf:function(a){var b=this;return"week"===b.options.time.unit&&b.options.time.isoWeekday!==!1?a.clone().startOf("isoWeek").isoWeekday(b.options.time.isoWeekday):a.clone().startOf(b.tickUnit)},determineDataLimits:function(){var a=this;a.labelMoments=[];var c=[];a.chart.data.labels&&a.chart.data.labels.length>0?(b.each(a.chart.data.labels,function(b,d){var e=a.parseTime(b);e.isValid()&&(a.options.time.round&&e.startOf(a.options.time.round),c.push(e))},a),a.firstTick=d.min.call(a,c),a.lastTick=d.max.call(a,c)):(a.firstTick=null,a.lastTick=null),b.each(a.chart.data.datasets,function(e,f){var g=[],h=a.chart.isDatasetVisible(f);"object"==typeof e.data[0]&&null!==e.data[0]?b.each(e.data,function(b,c){var e=a.parseTime(a.getRightValue(b));e.isValid()&&(a.options.time.round&&e.startOf(a.options.time.round),g.push(e),h&&(a.firstTick=null!==a.firstTick?d.min(a.firstTick,e):e,a.lastTick=null!==a.lastTick?d.max(a.lastTick,e):e))},a):g=c,a.labelMoments.push(g)},a),a.options.time.min&&(a.firstTick=a.parseTime(a.options.time.min)),a.options.time.max&&(a.lastTick=a.parseTime(a.options.time.max)),a.firstTick=(a.firstTick||d()).clone(),a.lastTick=(a.lastTick||d()).clone()},buildTicks:function(d){var e=this;e.ctx.save();var f=b.getValueOrDefault(e.options.ticks.fontSize,a.defaults.global.defaultFontSize),g=b.getValueOrDefault(e.options.ticks.fontStyle,a.defaults.global.defaultFontStyle),h=b.getValueOrDefault(e.options.ticks.fontFamily,a.defaults.global.defaultFontFamily),i=b.fontString(f,g,h);if(e.ctx.font=i,e.ticks=[],e.unitScale=1,e.scaleSizeInUnits=0,e.options.time.unit)e.tickUnit=e.options.time.unit||"day",e.displayFormat=e.options.time.displayFormats[e.tickUnit],e.scaleSizeInUnits=e.lastTick.diff(e.firstTick,e.tickUnit,!0),e.unitScale=b.getValueOrDefault(e.options.time.unitStepSize,1);else{var j=e.isHorizontal()?e.width-(e.paddingLeft+e.paddingRight):e.height-(e.paddingTop+e.paddingBottom),k=e.tickFormatFunction(e.firstTick,0,[]),l=e.ctx.measureText(k).width,m=Math.cos(b.toRadians(e.options.ticks.maxRotation)),n=Math.sin(b.toRadians(e.options.ticks.maxRotation));l=l*m+f*n;var o=j/l;e.tickUnit="millisecond",e.scaleSizeInUnits=e.lastTick.diff(e.firstTick,e.tickUnit,!0),e.displayFormat=e.options.time.displayFormats[e.tickUnit];for(var p=0,q=c.units[p];p=Math.ceil(e.scaleSizeInUnits/o)){e.unitScale=b.getValueOrDefault(e.options.time.unitStepSize,q.steps[r]);break}break}if(q.maxStep===!1||Math.ceil(e.scaleSizeInUnits/o)=0)break;w%e.unitScale===0&&e.ticks.push(x)}var y=e.ticks[e.ticks.length-1].diff(e.lastTick,e.tickUnit);(0!==y||0===e.scaleSizeInUnits)&&(e.options.time.max?(e.ticks.push(e.lastTick.clone()),e.scaleSizeInUnits=e.lastTick.diff(e.ticks[0],e.tickUnit,!0)):(e.ticks.push(e.lastTick.clone()),e.scaleSizeInUnits=e.lastTick.diff(e.firstTick,e.tickUnit,!0))),e.ctx.restore()},getLabelForIndex:function(a,b){var c=this,d=c.chart.data.labels&&a"+$.i18n("totals")+": "+b.formatNumber(b.outputData.sum)+"\n ("+b.formatNumber(Math.round(b.outputData.average))+"/"+$.i18n("day")+")"},logarithmicCheckbox:".logarithmic-scale-option",platformSelector:"#platform_select",projectInput:"#project_input",formStates:["initial","processing","complete","invalid"],sourceInput:"#source_input",timestampFormat:"YYYYMMDD00",validateParams:["project","platform","agent","direction","sort","view"],validParams:{direction:["-1","1"],sort:["title","views","badges","lang"],view:["list","chart"]}};b.exports=d},{}],2:[function(a,b,c){"use strict";function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function f(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var g=function(){function a(a,b){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!b||c.length!==b);d=!0);}catch(i){e=!0,f=i}finally{try{!d&&h["return"]&&h["return"]()}finally{if(e)throw f}}return c}return function(b,c){if(Array.isArray(b))return b;if(Symbol.iterator in Object(b))return a(b,c);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),h=function(){function a(a,b){for(var c=0;c"}},{key:"renderData",value:function(){var a=this;i(Object.getPrototypeOf(b.prototype),"renderData",this).call(this,function(b){var c=Object.keys(a.outputData.badges).map(function(b){return""+a.getBadgeMarkup(b)+" × "+a.outputData.badges[b]+""}).join(", ");$(".output-totals").html(""+$.i18n("totals")+"\n "+$.i18n("num-languages",b.length)+"\n "+$.i18n("unique-titles",a.outputData.titles.length)+"\n "+c+"\n "+a.formatNumber(a.outputData.sum)+"\n "+a.formatNumber(Math.round(a.outputData.average))+" / "+$.i18n("day")+""),$("#output_list").html(""),b.forEach(function(b,c){var d="";b.badges&&(d=b.badges.map(a.getBadgeMarkup.bind(a)).join()),$("#output_list").append("\n "+(c+1)+"\n "+b.lang+'\n '+b.label+"\n "+d+"\n "+a.formatNumber(b.sum)+"\n "+a.formatNumber(Math.round(b.average))+" / "+$.i18n("day")+"\n ")})})}},{key:"getSortProperty",value:function(a,b){switch(b){case"lang":return a.lang;case"title":return a.label;case"badges":return a.badges.sort().join("");case"views":return Number(a.sum)}}},{key:"getPageViewsData",value:function(a){var b=this,c=this.daterangepicker.startDate.startOf("day"),d=this.daterangepicker.endDate.startOf("day"),e=Object.keys(a),f=$.Deferred(),g=[],h=0,i=void 0,j={},k=e.length,l=[],m=[],n=function p(e){var n=a[e],o=encodeURIComponent(n.title),q="https://wikimedia.org/api/rest_v1/metrics/pageviews/per-article/"+n.lang+"."+b.baseProject+("/"+$(b.config.platformSelector).val()+"/"+$(b.config.agentSelector).val()+"/"+o+"/daily")+("/"+c.format(b.config.timestampFormat)+"/"+d.format(b.config.timestampFormat)),r=$.ajax({url:q,dataType:"json"});g.push(r),r.done(function(a){m.push({badges:n.badges,dbName:e,lang:n.lang,title:n.title,url:n.url,items:a.items})}).fail(function(a){var c="Error in Cassandra table storage backend"===a.responseJSON.title,d=b.getPageLink(n.title,n.lang+"."+b.baseProject+".org");if(c){if(j[e]?j[e]++:j[e]=1,j[e]<3)return k++,b.rateLimit(p,100,b)(e);l.push(d)}else b.writeMessage(d+": "+$.i18n("api-error","Pageviews API")+" - "+a.responseJSON.title);i=!0}).always(function(){b.updateProgressBar(++h/k*100),h===k&&(f.resolve(m),l.length&&b.writeMessage($.i18n("api-error-timeout","
    "+l.map(function(a){return"
  • "+a+"
  • "}).join("")+"
")),i||simpleStorage.set(b.getCacheKey(),!0,{TTL:6e5}))})},o=this.isRequestCached()?n:this.rateLimit(n,100,this);return e.forEach(function(a,b){o(a)}),f}},{key:"getInterwikiData",value:function(a,b){var c=this,d=$.Deferred(),e="https://www.wikidata.org/w/api.php?action=wbgetentities&sites="+a+("&titles="+encodeURIComponent(b)+"&props=sitelinks/urls|datatype&format=json&callback=?");return $.getJSON(e).done(function(a){if(a.error)return d.reject($.i18n("api-error","Wikidata")+": "+a.error.info);if(a.entities[-1])return d.reject(""+b.descore().escape()+" - "+$.i18n("api-error-no-data"));var e=Object.keys(a.entities)[0],f=a.entities[e].sitelinks,g={},h=new RegExp("^https://[\\w-]+\\."+c.baseProject+"\\.org");return Object.keys(f).forEach(function(a){var b=f[a].site.replace(/-/g,"_");h.test(f[a].url)&&k[b]&&(f[a].lang=k[b].replace(/\.wiki.*$/,""),g[a]=f[a])}),d.resolve(g)}),d}},{key:"getPageNameFromURL",value:function(a){return a.includes("?")?a.match(/\?(?:.*\b)?title=(.*?)(?:&|$)/)[1]:a.match(/\/wiki\/(.*?)(?:\?|$)/)[1]}},{key:"popParams",value:function(){var a=this,b=this.validateParams(this.parseQueryString("pages"));$(this.config.projectInput).val(b.project),this.validateDateRange(b),this.patchUsage(),b.page&&$(this.config.sourceInput).val(decodeURIComponent(b.page).descore()),$(".site-notice .alert-danger").length&&delete b.page,$(this.config.platformSelector).val(b.platform),$(this.config.agentSelector).val(b.agent),["sort","direction","view"].forEach(function(c){a[c]=b[c]}),this.setupSourceInput(),b.page&&this.processInput()}},{key:"setState",value:function(a){switch($("main").removeClass(this.config.formStates.join(" ")).addClass(a),a){case"initial":this.clearMessages(),this.assignDefaults(),this.destroyChart(),$("output").removeClass("list-mode").removeClass("chart-mode"),$(".data-links").addClass("invisible"),this.typeahead&&this.typeahead.hide(),$(this.config.sourceInput).val("").focus();break;case"processing":this.processStarted(),this.clearMessages(),document.activeElement.blur(),$(".progress-bar").addClass("active");break;case"complete":this.processEnded(),this.updateProgressBar(0),$(".progress-bar").removeClass("active"),$(".data-links").removeClass("invisible");break;case"invalid":}}},{key:"processInput",value:function(){var a=this;if(!this.isRequestCached()&&simpleStorage.hasKey("pageviews-throttle")){var b=Math.round(simpleStorage.getTTL("pageviews-throttle")/1e3);if(b>0)return this.writeMessage($.i18n("api-throttle-wait",""+b+"",'phab:T124314'),!0)}var c=$(this.config.sourceInput).val();this.setState("processing");var d=Object.keys(k).find(function(b){return k[b]===$(a.config.projectInput).val()});this.getInterwikiData(d,c).done(function(b){var d=Object.keys(b).length;d>10&&a.setThrottle(),a.getPageViewsData(b).done(function(b){var e=a.getPageLink(decodeURIComponent(c),a.project);$(".output-title").html(e),$(".output-params").text($(a.config.dateRangeSelector).val()),a.buildMotherDataset(c,e,b),a.updateProgressBar(100),a.setInitialChartType(),a.renderData(),d>10&&a.setThrottle()})}).fail(function(b){a.setState("initial"),"string"==typeof b?a.writeMessage(b):a.writeMessage($.i18n("api-error-unknown","Wikidata"))})}},{key:"setupSourceInput",value:function(){this.typeahead&&this.typeahead.destroy(),$(this.config.sourceInput).typeahead({ajax:{url:"https://"+this.project+".org/w/api.php",timeout:200,triggerLength:1,method:"get",preDispatch:function(a){return{action:"query",list:"prefixsearch",format:"json",pssearch:a}},preProcess:function(a){var b=a.query.prefixsearch.map(function(a){return a.title});return b}}})}},{key:"validateProject",value:function(){i(Object.getPrototypeOf(b.prototype),"validateProject",this).call(this,!0)&&(this.setState("initial"),this.setupSourceInput())}},{key:"exportCSV",value:function(){var a=this,b="data:text/csv;charset=utf-8,Language,Title,Badges,"+this.getDateHeadings(!1).join(",")+"\n";this.outputData.listData.forEach(function(c){var d='"'+c.label.descore().replace(/"/g,'""')+'"',e='"'+c.badges.map(function(b){return a.config.badges[b].name.replace(/"/g,'""')})+'"';b+=[c.lang,d,e].concat(c.data).join(",")+"\n"}),this.downloadData(b,"csv")}},{key:"baseProject",get:function(){return this.project.split(".")[1]}},{key:"typeahead",get:function(){return $(this.config.sourceInput).data("typeahead")}}]),b}(mix(l)["with"](m,n));$(document).ready(function(){return document.location.hash&&!document.location.search?document.location.href=document.location.href.replace("#","?"):document.location.hash?document.location.href=document.location.href.replace(/\#.*/,""):void new o})},{"../shared/chart_helpers":3,"../shared/list_helpers":5,"../shared/pv":7,"../shared/site_map":9,"./config":1}],3:[function(a,b,c){"use strict";function d(a){if(Array.isArray(a)){for(var b=0,c=Array(a.length);b=g;g.add(1,"d"))if(f[g])a.items.push(f[g]);else{var h=g.isSame(this.config.maxDate)||g.isSame(moment(this.config.maxDate).subtract(1,"days"));a.items.push(e({timestamp:g.format(this.config.timestampFormat)},this.isPageviews()?"views":"devices",h?null:0))}return a}},{key:"getCircularData",value:function(a,b,c){var d=this,e=a.items.map(function(a){return d.isPageviews()?a.views:a.devices}),f=this.config.colors[c],g=e.reduce(function(a,b){return a+b}),h=Math.round(g/e.length);return Object.assign({label:b.descore(),value:g,average:h},this.config.chartConfig[this.chartType].dataset(f))}},{key:"getLinearData",value:function(a,b,c){var e=this,f=a.items.map(function(a){return e.isPageviews()?a.views:a.devices}),g=f.reduce(function(a,b){return a+b}),h=Math.round(g/f.length),i=Math.max.apply(Math,d(f)),j=Math.min.apply(Math,d(f)),k=this.config.colors[c%10];return Object.assign({label:b.descore(),data:f,sum:g,average:h,max:i,min:j,color:k},this.config.chartConfig[this.chartType].dataset(k))}},{key:"getApiUrl",value:function(a,b,c){var d=encodeURIComponent(a);return"siteviews"===this.app?this.isPageviews()?"https://wikimedia.org/api/rest_v1/metrics/pageviews/aggregate/"+d+("/"+$(this.config.platformSelector).val()+"/"+$(this.config.agentSelector).val()+"/daily")+("/"+b.format(this.config.timestampFormat)+"/"+c.format(this.config.timestampFormat)):"https://wikimedia.org/api/rest_v1/metrics/unique-devices/"+d+"/"+$(this.config.platformSelector).val()+"/daily"+("/"+b.format(this.config.timestampFormat)+"/"+c.format(this.config.timestampFormat)):"https://wikimedia.org/api/rest_v1/metrics/pageviews/per-article/"+this.project+("/"+$(this.config.platformSelector).val()+"/"+$(this.config.agentSelector).val()+"/"+d+"/daily")+("/"+b.format(this.config.timestampFormat)+"/"+c.format(this.config.timestampFormat))}},{key:"getPageViewsData",value:function(a){var b=this,c=$.Deferred(),d=0,e={},f=a.length,g=[],h={entities:a,labels:[],datasets:[],errors:[],fatalErrors:[],promises:[]},i=function j(a,i){var k=b.daterangepicker.startDate.startOf("day"),l=b.daterangepicker.endDate.startOf("day"),m=b.getApiUrl(a,k,l),n=$.ajax({url:m,dataType:"json"});h.promises.push(n),n.done(function(c){try{c=b.fillInZeros(c,k,l),b.config.linearCharts.includes(b.chartType)?h.datasets.push(b.getLinearData(c,a,i)):h.datasets.push(b.getCircularData(c,a,i)),c.items&&!h.labels.length&&(h.labels=c.items.map(function(a){return moment(a.timestamp,b.config.timestampFormat).format(b.dateFormat)}))}catch(d){return h.fatalErrors.push(d)}}).fail(function(c){var d="Error in Cassandra table storage backend"===c.responseJSON.title;if(d&&(e[b.project]?e[b.project]++:e[b.project]=1,e[b.project]<3))return f++,b.rateLimit(j,100,b)(a,i);if(h.entities=h.entities.filter(function(b){return b!==a}),d)g.push(a);else{var k="siteviews"===b.app?b.getSiteLink(a):b.getPageLink(a,b.project);h.errors.push(k+": "+$.i18n("api-error","Pageviews API")+" - "+c.responseJSON.title)}}).always(function(){++d===f&&(c.resolve(h),g.length&&b.writeMessage($.i18n("api-error-timeout","
    "+g.map(function(a){return"
  • "+b.getPageLink(a,b.project.escape())+"
  • "}).join("")+"
")))})};return a.forEach(function(a,b){return i(a,b)}),c}},{key:"getPermaLink",value:function(){var a=this.getParams(!1);return delete a.range,a}},{key:"isLogarithmic",value:function(){return $(this.config.logarithmicCheckbox).is(":checked")&&this.isLogarithmicCapable()}},{key:"isLogarithmicCapable",value:function(){return["line","bar"].includes(this.chartType)}},{key:"isPageviews",value:function(){return"pageviews"===this.app||"pageviews"===$(this.config.dataSourceSelector).val()}},{key:"isUniqueDevices",value:function(){return!this.isPageviews()}},{key:"printChart",value:function(){var a=window.open();a.document.write(''),a.print(),a.close()}},{key:"resetView",value:function(){var a=arguments.length<=0||void 0===arguments[0]?!1:arguments[0];try{this.destroyChart(),a&&this.resetSelect2()}catch(b){}finally{this.stopSpinny(),$(".data-links").addClass("invisible"),$(this.config.chart).hide(),this.clearMessages()}}},{key:"setChartPointDetectionRadius",value:function(){"line"===this.chartType&&(this.numDaysInRange()>50?Chart.defaults.global.elements.point.hitRadius=3:this.numDaysInRange()>30?Chart.defaults.global.elements.point.hitRadius=5:this.numDaysInRange()>20?Chart.defaults.global.elements.point.hitRadius=10:Chart.defaults.global.elements.point.hitRadius=30)}},{key:"shouldBeLogarithmic",value:function(a){var b;if(!this.isLogarithmicCapable()||this.noLogScale)return!1;var c=[];a.forEach(function(a){c.push(a.map(function(a){return a||0}))});var e=Math.max.apply(Math,d((b=[]).concat.apply(b,c)));if(10>=e)return!1;var f=!1;return c.forEach(function(a){a.push(e);var b=a.reduce(function(a,b){return a+b}),c=b/a.length,d=0;return a.forEach(function(a){return d+=a?a*Math.log(a/c):0}),d/b>.5?f=!0:void 0}),f}},{key:"setupDateRangeSelector",value:function(){var a=this;if(j(Object.getPrototypeOf(b.prototype),"setupDateRangeSelector",this).call(this),this.isChartApp()){var c=$(this.config.dateRangeSelector);$(".date-latest a").on("click",function(b){a.setSpecialRange("latest-"+$(b.target).data("value"))}),c.on("change",function(b){a.setChartPointDetectionRadius(),a.processInput(),a.specialRange&&a.specialRange.value!==b.target.value&&(a.specialRange=null)})}}},{key:"updateChart",value:function(a){var b=this;if($("#chart-legend").html(""),!this.showErrors(a)){if(!a.entities.length)return this.stopSpinny();if(1===a.entities.length?$(".multi-page-chart-node").hide():$(".multi-page-chart-node").show(),"true"===this.autoLogDetection){var c=this.shouldBeLogarithmic(a.datasets.map(function(a){return a.data}));$(this.config.logarithmicCheckbox).prop("checked",c),$(".begin-at-zero").toggleClass("disabled",c)}var d=new Array(a.entities.length);a.datasets.forEach(function(c){b.isLogarithmic()&&(c.data=c.data.map(function(a){return a||null})),d[a.entities.indexOf(c.label.score())]=c});var e=Object.assign({scales:{}},this.config.chartConfig[this.chartType].opts,this.config.globalChartOpts);this.isLogarithmic()&&(e.scales=Object.assign({},e.scales,{yAxes:[{type:"logarithmic",ticks:{callback:function(a,c,d){var e=a/Math.pow(10,Math.floor(Chart.helpers.log10(a)));return 1===e||2===e||5===e||0===c||c===d.length-1?b.formatNumber(a):""}}}]})),this.stopSpinny();try{$(".chart-container").html("").append(""),this.setChartPointDetectionRadius();var f=$(this.config.chart)[0].getContext("2d");if(this.config.linearCharts.includes(this.chartType)){var g={labels:a.labels,datasets:d};"radar"===this.chartType?e.scale.ticks.beginAtZero=$(".begin-at-zero-option").is(":checked"):e.scales.yAxes[0].ticks.beginAtZero=$(".begin-at-zero-option").is(":checked"),this.chartObj=new Chart(f,{type:this.chartType,data:g,options:e})}else this.chartObj=new Chart(f,{type:this.chartType,data:{labels:d.map(function(a){return a.label}),datasets:[{data:d.map(function(a){return a.value}),backgroundColor:d.map(function(a){return a.backgroundColor}),hoverBackgroundColor:d.map(function(a){return a.hoverBackgroundColor}),averages:d.map(function(a){return a.average})}]},options:e})}catch(h){return this.showErrors({errors:[],fatalErrors:[h]})}$("#chart-legend").html(this.chartObj.generateLegend()),$(".data-links").removeClass("invisible")}}},{key:"showErrors",value:function(a){var b=this;if(a.fatalErrors.length){this.resetView(!0);var c=a.fatalErrors.unique();return this.showFatalErrors(c),!0}return a.errors.length&&(!a.entities||a.errors.length!==a.entities.length&&a.entities.length||this.resetView(),a.errors.unique().forEach(function(a){return b.writeMessage(a)})),!1}}]),b}(a)};b.exports=k},{}],4:[function(a,b,c){"use strict";function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var e=function(){function a(a,b){for(var c=0;c":">",'"':""","'":"'","/":"/"};return this.replace(/[&<>"'\/]/g,function(b){return a[b]})},Array.prototype.unique=function(){return this.filter(function(a,b,c){return c.indexOf(a)===b})},window.mix=function(a){return new f(a)};var f=function(){function a(b){d(this,a),this.superclass=b}return e(a,[{key:"with",value:function(){for(var a=arguments.length,b=Array(a),c=0;a>c;c++)b[c]=arguments[c];return b.reduce(function(a,b){return b(a)},this.superclass)}}]),a}();"undefined"!=typeof Chart&&(Chart.Controller.prototype.getElementsAtEvent=function(a){var b=Chart.helpers,c=b.getRelativePosition(a,this.chart),d=[],e=function(){if(this.data.datasets)for(var a=0;a=h;h.add(1,"d"))if(e[h])f.push(e[h]);else{var i=h.isSame(this.config.maxDate)||h.isSame(moment(this.config.maxDate).subtract(1,"days"));f.push({timestamp:h.format(this.config.timestampFormat),views:i?null:0}),i&&g.push(h.format())}return[f,g]}},{key:"getCacheKey",value:function(){return"lv-cache-"+this.hashCode(JSON.stringify(this.getParams(!0)))}},{key:"getPageviewsURL",value:function(a,b){var c=moment(this.daterangepicker.startDate),d=moment(this.daterangepicker.endDate),e=$(this.config.platformSelector).val();return 0===d.diff(c,"days")&&(c.subtract(3,"days"),d.add(3,"days")),"/pageviews?start="+c.format("YYYY-MM-DD")+("&end="+d.format("YYYY-MM-DD")+"&project="+a+"&platform="+e+"&pages="+b)}},{key:"getPermaLink",value:function(){var a=this.getParams(!0);return a.sort=this.sort,a.direction=this.direction,a}},{key:"getState",value:function(){var a=$("main")[0].classList;return this.config.formStates.filter(function(b){return a.contains(b)})[0]}},{key:"isRequestCached",value:function(){return simpleStorage.hasKey(this.getCacheKey())}},{key:"renderData",value:function(a){var b=this,c=this.outputData.listData,d=c.sort(function(a,c){var d=b.getSortProperty(a,b.sort),e=b.getSortProperty(c,b.sort);return e>d?b.direction:d>e?-b.direction:0});$(".sort-link span").removeClass("glyphicon-sort-by-alphabet-alt glyphicon-sort-by-alphabet").addClass("glyphicon-sort");var e=1===parseInt(this.direction,10)?"glyphicon-sort-by-alphabet-alt":"glyphicon-sort-by-alphabet";$(".sort-link--"+this.sort+" span").addClass(e).removeClass("glyphicon-sort");try{a(d)}catch(f){this.setState("complete"),this.showFatalErrors([f])}finally{this.pushParams()}this.toggleView(this.view),"complete"!==this.getState()&&this.setState("complete")}},{key:"toggleView",value:function(a){var b=this;if($(".view-btn").removeClass("active"),$(".view-btn--"+a).addClass("active"),$("output").removeClass("list-mode").removeClass("chart-mode").addClass(a+"-mode"),"chart"===a){this.destroyChart(),this.config.circularCharts.includes(this.chartType)&&(this.chartType="bar");var c=Object.assign({},this.config.chartConfig[this.chartType].opts,this.config.globalChartOpts);if(this.assignOutputDataChartOpts(),this.setChartPointDetectionRadius(),"true"===this.autoLogDetection){var d=this.shouldBeLogarithmic([this.outputData.datasets[0].data]); -$(this.config.logarithmicCheckbox).prop("checked",d)}this.isLogarithmic()&&(c.scales=Object.assign({},c.scales,{yAxes:[{type:"logarithmic",ticks:{callback:function(a,c,d){var e=a/Math.pow(10,Math.floor(Chart.helpers.log10(a)));return 1===e||2===e||5===e||0===c||c===d.length-1?b.formatNumber(a):""}}}]})),"radar"===this.chartType?c.scale.ticks.beginAtZero=$(".begin-at-zero-option").is(":checked"):c.scales.yAxes[0].ticks.beginAtZero=$(".begin-at-zero-option").is(":checked");var e=$(this.config.chart)[0].getContext("2d");this.chartObj=new Chart(e,{type:this.chartType,data:this.outputData,options:c}),$(".chart-specific").show(),$("#chart-legend").html(this.chartObj.generateLegend())}else $(".chart-specific").hide();this.pushParams()}},{key:"updateProgressBar",value:function(a){$(".progress-bar").css("width",a.toFixed(2)+"%")}}]),b}(a)};b.exports=h},{}],6:[function(a,b,c){"use strict";Array.prototype.includes||(Array.prototype.includes=function(a){return-1!==this.indexOf(a)}),String.prototype.includes||(String.prototype.includes=function(a,b){return"number"!=typeof b&&(b=0),b+a.length>this.length?!1:-1!==this.indexOf(a,b)}),"function"!=typeof Object.assign&&!function(){Object.assign=function(a){if(void 0===a||null===a)throw new TypeError("Cannot convert undefined or null to object");for(var b=Object(a),c=1;c>>0,d=arguments[1],e=void 0,f=0;c>f;f++)if(e=b[f],a.call(d,e,f,b))return e}),Array.prototype.fill||(Array.prototype.fill=function(a){if(null===this)throw new TypeError("this is null or not defined");for(var b=Object(this),c=b.length>>>0,d=arguments[1],e=d>>0,f=0>e?Math.max(c+e,0):Math.min(e,c),g=arguments[2],h=void 0===g?c:g>>0,i=0>h?Math.max(c+h,0):Math.min(h,c);i>f;)b[f]=a,f++;return b})},{}],7:[function(a,b,c){"use strict";function d(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function e(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function g(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var h=function(){function a(a,b){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!b||c.length!==b);d=!0);}catch(i){e=!0,f=i}finally{try{!d&&h["return"]&&h["return"]()}finally{if(e)throw f}}return c}return function(b,c){if(Array.isArray(b))return b;if(Symbol.iterator in Object(b))return a(b,c);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),i=function(){function a(a,b){for(var c=0;c"+location.hostname+i+"")}var j=d({},i18nLang,"/pageviews/messages/"+i18nLang+".json");return"en"!==i18nLang&&(j.en="/pageviews/messages/en.json"),$.i18n({locale:i18nLang}).load(j).then(c.initialize.bind(c)),c}return g(b,a),i(b,[{key:"addSiteNotice",value:function(a,b,c,d){c=c?""+c+" ":"";var e=c+b;d?(d=" alert-dismissable",e='\n '+e):d="",$(".site-notice").append("
"+e+"
")}},{key:"addInvalidParamNotice",value:function(a){this.addSiteNotice("danger",$.i18n("param-error-3",a,"/"+this.app+"/url_structure"),$.i18n("invalid-params"),!0)}},{key:"validateDateRange",value:function(a){if(a.range)this.setSpecialRange(a.range)||(this.addInvalidParamNotice("range"),this.setSpecialRange(this.config.defaults.dateRange));else if(a.start){var b=/\d{4}-\d{2}-\d{2}$/,c=void 0,d=void 0;if(!a.start||!b.test(a.start))return this.addInvalidParamNotice("start"),!1;if(c=moment(a.start),!a.end||!b.test(a.end))return this.addInvalidParamNotice("end"),!1;if(d=moment(a.end),cd)return this.addSiteNotice("danger",$.i18n("param-error-2"),$.i18n("invalid-params"),!0),!1;this.daterangepicker.startDate=c,this.daterangepicker.setEndDate(d)}else this.setSpecialRange(this.config.defaults.dateRange);return!0}},{key:"clearSiteNotices",value:function(){$(".site-notice").html("")}},{key:"clearMessages",value:function(){$(".message-container").html("")}},{key:"downloadData",value:function(a,b){var c=encodeURI(a),d=document.createElement("a");if("string"==typeof d.download){document.body.appendChild(d);var e=this.getExportFilename()+"."+b;d.download=e,d.href=c,d.click(),document.body.removeChild(d)}else window.open(c)}},{key:"fillInSettings",value:function(){var a=this;$.each($("#settings-modal input"),function(b,c){"checkbox"===c.type?c.checked="true"===a[c.name]:c.checked=a[c.name]===c.value})}},{key:"focusSelect2",value:function(){$(".select2-selection").trigger("click"),$(".select2-search__field").focus()}},{key:"formatNumber",value:function(a){var b=this.getFromLocalStorage("pageviews-settings-numericalFormatting")||this.config.defaults.numericalFormatting;return"true"===b?this.n(a):a}},{key:"formatYAxisNumber",value:function(a){return a%1===0?this.formatNumber(a):null}},{key:"getDateHeadings",value:function(a){for(var b=[],c=moment(this.daterangepicker.endDate).add(1,"d"),d=moment(this.daterangepicker.startDate);d.isBefore(c);d.add(1,"d"))a?b.push(d.format(this.dateFormat)):b.push(d.format("YYYY-MM-DD"));return b}},{key:"getExpandedPageURL",value:function(a){return"//"+this.project+".org/w/index.php?title="+encodeURIComponent(a.score()).replace(/'/,escape)}},{key:"getExportFilename",value:function(){var a=this.daterangepicker.startDate.startOf("day").format("YYYYMMDD"),b=this.daterangepicker.endDate.startOf("day").format("YYYYMMDD");return this.app+"-"+a+"-"+b}},{key:"getPageLink",value:function(a,b){return''+a.descore().escape()+""}},{key:"getPageURL",value:function(a){var b=arguments.length<=1||void 0===arguments[1]?this.project:arguments[1];return"//"+b.replace(/\.org$/,"").escape()+".org/wiki/"+encodeURIComponent(a.score()).replace(/'/,escape)}},{key:"getSiteLink",value:function(a){return''+a+""}},{key:"getLocaleDateString",value:function(){if(!navigator.language)return this.config.defaults.dateFormat;var a={"ar-sa":"DD/MM/YY","bg-bg":"DD.M.YYYY","ca-es":"DD/MM/YYYY","zh-tw":"YYYY/M/D","cs-cz":"D.M.YYYY","da-dk":"DD-MM-YYYY","de-de":"DD.MM.YYYY","el-gr":"D/M/YYYY","en-us":"M/D/YYYY","fi-fi":"D.M.YYYY","fr-fr":"DD/MM/YYYY","he-il":"DD/MM/YYYY","hu-hu":"YYYY. MM. DD.","is-is":"D.M.YYYY","it-it":"DD/MM/YYYY","ja-jp":"YYYY/MM/DD","ko-kr":"YYYY-MM-DD","nl-nl":"D-M-YYYY","nb-no":"DD.MM.YYYY","pl-pl":"YYYY-MM-DD","pt-br":"D/M/YYYY","ro-ro":"DD.MM.YYYY","ru-ru":"DD.MM.YYYY","hr-hr":"D.M.YYYY","sk-sk":"D. M. YYYY","sq-al":"YYYY-MM-DD","sv-se":"YYYY-MM-DD","th-th":"D/M/YYYY","tr-tr":"DD.MM.YYYY","ur-pk":"DD/MM/YYYY","id-id":"DD/MM/YYYY","uk-ua":"DD.MM.YYYY","be-by":"DD.MM.YYYY","sl-si":"D.M.YYYY","et-ee":"D.MM.YYYY","lv-lv":"YYYY.MM.DD.","lt-lt":"YYYY.MM.DD","fa-ir":"MM/DD/YYYY","vi-vn":"DD/MM/YYYY","hy-am":"DD.MM.YYYY","az-latn-az":"DD.MM.YYYY","eu-es":"YYYY/MM/DD","mk-mk":"DD.MM.YYYY","af-za":"YYYY/MM/DD","ka-ge":"DD.MM.YYYY","fo-fo":"DD-MM-YYYY","hi-in":"DD-MM-YYYY","ms-my":"DD/MM/YYYY","kk-kz":"DD.MM.YYYY","ky-kg":"DD.MM.YY","sw-ke":"M/d/YYYY","uz-latn-uz":"DD/MM YYYY","tt-ru":"DD.MM.YYYY","pa-in":"DD-MM-YY","gu-in":"DD-MM-YY","ta-in":"DD-MM-YYYY","te-in":"DD-MM-YY","kn-in":"DD-MM-YY","mr-in":"DD-MM-YYYY","sa-in":"DD-MM-YYYY","mn-mn":"YY.MM.DD","gl-es":"DD/MM/YY","kok-in":"DD-MM-YYYY","syr-sy":"DD/MM/YYYY","dv-mv":"DD/MM/YY","ar-iq":"DD/MM/YYYY","zh-cn":"YYYY/M/D","de-ch":"DD.MM.YYYY","en-gb":"DD/MM/YYYY","es-mx":"DD/MM/YYYY","fr-be":"D/MM/YYYY","it-ch":"DD.MM.YYYY","nl-be":"D/MM/YYYY","nn-no":"DD.MM.YYYY","pt-pt":"DD-MM-YYYY","sr-latn-cs":"D.M.YYYY","sv-fi":"D.M.YYYY","az-cyrl-az":"DD.MM.YYYY","ms-bn":"DD/MM/YYYY","uz-cyrl-uz":"DD.MM.YYYY","ar-eg":"DD/MM/YYYY","zh-hk":"D/M/YYYY","de-at":"DD.MM.YYYY","en-au":"D/MM/YYYY","es-es":"DD/MM/YYYY","fr-ca":"YYYY-MM-DD","sr-cyrl-cs":"D.M.YYYY","ar-ly":"DD/MM/YYYY","zh-sg":"D/M/YYYY","de-lu":"DD.MM.YYYY","en-ca":"DD/MM/YYYY","es-gt":"DD/MM/YYYY","fr-ch":"DD.MM.YYYY","ar-dz":"DD-MM-YYYY","zh-mo":"D/M/YYYY","de-li":"DD.MM.YYYY","en-nz":"D/MM/YYYY","es-cr":"DD/MM/YYYY","fr-lu":"DD/MM/YYYY","ar-ma":"DD-MM-YYYY","en-ie":"DD/MM/YYYY","es-pa":"MM/DD/YYYY","fr-mc":"DD/MM/YYYY","ar-tn":"DD-MM-YYYY","en-za":"YYYY/MM/DD","es-do":"DD/MM/YYYY","ar-om":"DD/MM/YYYY","en-jm":"DD/MM/YYYY","es-ve":"DD/MM/YYYY","ar-ye":"DD/MM/YYYY","en-029":"MM/DD/YYYY","es-co":"DD/MM/YYYY","ar-sy":"DD/MM/YYYY","en-bz":"DD/MM/YYYY","es-pe":"DD/MM/YYYY","ar-jo":"DD/MM/YYYY","en-tt":"DD/MM/YYYY","es-ar":"DD/MM/YYYY","ar-lb":"DD/MM/YYYY","en-zw":"M/D/YYYY","es-ec":"DD/MM/YYYY","ar-kw":"DD/MM/YYYY","en-ph":"M/D/YYYY","es-cl":"DD-MM-YYYY","ar-ae":"DD/MM/YYYY","es-uy":"DD/MM/YYYY","ar-bh":"DD/MM/YYYY","es-py":"DD/MM/YYYY","ar-qa":"DD/MM/YYYY","es-bo":"DD/MM/YYYY","es-sv":"DD/MM/YYYY","es-hn":"DD/MM/YYYY","es-ni":"DD/MM/YYYY","es-pr":"DD/MM/YYYY","am-et":"D/M/YYYY","tzm-latn-dz":"DD-MM-YYYY","iu-latn-ca":"D/MM/YYYY","sma-no":"DD.MM.YYYY","mn-mong-cn":"YYYY/M/D","gd-gb":"DD/MM/YYYY","en-my":"D/M/YYYY","prs-af":"DD/MM/YY","bn-bd":"DD-MM-YY","wo-sn":"DD/MM/YYYY","rw-rw":"M/D/YYYY","qut-gt":"DD/MM/YYYY","sah-ru":"MM.DD.YYYY","gsw-fr":"DD/MM/YYYY","co-fr":"DD/MM/YYYY","oc-fr":"DD/MM/YYYY","mi-nz":"DD/MM/YYYY","ga-ie":"DD/MM/YYYY","se-se":"YYYY-MM-DD","br-fr":"DD/MM/YYYY","smn-fi":"D.M.YYYY","moh-ca":"M/D/YYYY","arn-cl":"DD-MM-YYYY","ii-cn":"YYYY/M/D","dsb-de":"D. M. YYYY","ig-ng":"D/M/YYYY","kl-gl":"DD-MM-YYYY","lb-lu":"DD/MM/YYYY","ba-ru":"DD.MM.YY","nso-za":"YYYY/MM/DD","quz-bo":"DD/MM/YYYY","yo-ng":"D/M/YYYY","ha-latn-ng":"D/M/YYYY","fil-ph":"M/D/YYYY","ps-af":"DD/MM/YY","fy-nl":"D-M-YYYY","ne-np":"M/D/YYYY","se-no":"DD.MM.YYYY","iu-cans-ca":"D/M/YYYY","sr-latn-rs":"D.M.YYYY","si-lk":"YYYY-MM-DD","sr-cyrl-rs":"D.M.YYYY","lo-la":"DD/MM/YYYY","km-kh":"YYYY-MM-DD","cy-gb":"DD/MM/YYYY","bo-cn":"YYYY/M/D","sms-fi":"D.M.YYYY","as-in":"DD-MM-YYYY","ml-in":"DD-MM-YY","en-in":"DD-MM-YYYY","or-in":"DD-MM-YY","bn-in":"DD-MM-YY","tk-tm":"DD.MM.YY","bs-latn-ba":"D.M.YYYY","mt-mt":"DD/MM/YYYY","sr-cyrl-me":"D.M.YYYY","se-fi":"D.M.YYYY","zu-za":"YYYY/MM/DD","xh-za":"YYYY/MM/DD","tn-za":"YYYY/MM/DD","hsb-de":"D. M. YYYY","bs-cyrl-ba":"D.M.YYYY","tg-cyrl-tj":"DD.MM.yy","sr-latn-ba":"D.M.YYYY","smj-no":"DD.MM.YYYY","rm-ch":"DD/MM/YYYY","smj-se":"YYYY-MM-DD","quz-ec":"DD/MM/YYYY","quz-pe":"DD/MM/YYYY","hr-ba":"D.M.YYYY.","sr-latn-me":"D.M.YYYY","sma-se":"YYYY-MM-DD","en-sg":"D/M/YYYY","ug-cn":"YYYY-M-D","sr-cyrl-ba":"D.M.YYYY","es-us":"M/D/YYYY"},b=navigator.language.toLowerCase();return a[b]||this.config.defaults.dateFormat}},{key:"getFromLocalStorage",value:function(a){try{return localStorage.getItem(a)}catch(b){return storage[a]}}},{key:"getBugReportURL",value:function(a){var b="https://meta.wikimedia.org/w/index.php?title=Talk:Pageviews_Analysis&action=edit"+("§ion=new&preloadtitle="+this.app.upcase()+" bug report");return a?b+"&preload=Talk:Pageviews_Analysis/Preload&preloadparams[]="+a:b}},{key:"getUserAgent",value:function(){return navigator.userAgent?navigator.userAgent:"Unknown"}},{key:"setLocalStorage",value:function(a,b){try{return localStorage.setItem(a,b)}catch(c){return storage[a]=b}}},{key:"hashCode",value:function(a){return a.split("").reduce(function(a,b){return(a<<5)-a+b.charCodeAt(0)},0)}},{key:"isChartApp",value:function(){return!this.isListApp()}},{key:"isListApp",value:function(){return["langviews","massviews","redirectviews"].includes(this.app)}},{key:"isMultilangProject",value:function(){return new RegExp(".*?\\.("+b.multilangProjects.join("|")+")").test(this.project)}},{key:"mapNormalizedPageNames",value:function(a,b){return b.forEach(function(b){a=a.map(function(a){return b.from===a?b.to:a})}),a}},{key:"n",value:function(a){return new Number(a).toLocaleString()}},{key:"normalizePageNames",value:function(a){var b=this,c=$.Deferred();return $.ajax({url:"https://"+this.project+".org/w/api.php?action=query&prop=info&format=json&titles="+a.join("|"),dataType:"jsonp"}).then(function(d){return d.query.normalized&&(a=b.mapNormalizedPageNames(a,d.query.normalized)),c.resolve(a)})}},{key:"numDaysInRange",value:function(){return this.daterangepicker.endDate.diff(this.daterangepicker.startDate,"days")+1}},{key:"parseQueryString",value:function(a){for(var b=decodeURI(location.search.slice(1)),c=b.split("&"),d={},e=0;e").text(a).html();$("").appendTo(b.config.select2Input)}),$(this.config.select2Input).select2("val",a),$(this.config.select2Input).select2("close"),a}},{key:"setSpecialRange",value:function(a){var b=Object.keys(this.config.specialRanges).indexOf(a),c=void 0,d=void 0;if(a.includes("latest-")){var e=parseInt(a.replace("latest-",""),10)||20,f=this.config.specialRanges.latest(e),g=h(f,2);c=g[0],d=g[1]}else{if(!(b>=0))return;var i="latest"===a?this.config.specialRanges.latest():this.config.specialRanges[a],j=h(i,2);c=j[0],d=j[1],$(".daterangepicker .ranges li").eq(b).trigger("click")}return this.specialRange={range:a,value:c.format(this.dateFormat)+" - "+d.format(this.dateFormat)},this.daterangepicker.startDate=c,this.daterangepicker.setEndDate(d),this.specialRange}},{key:"setupSelect2Colors",value:function(){var a=this;return this.colorsStyleEl&&this.colorsStyleEl.remove(),this.colorsStyleEl=document.createElement("style"),this.colorsStyleEl.appendChild(document.createTextNode("")),document.head.appendChild(this.colorsStyleEl),this.config.colors.forEach(function(b,c){a.colorsStyleEl.sheet.insertRule(".select2-selection__choice:nth-of-type("+(c+1)+") { background: "+b+" !important }",0)}),this.colorsStyleEl.sheet}},{key:"setupListeners",value:function(){var a=this;$("a[href='#']").on("click",function(a){return a.preventDefault()}),$(".lang-link").on("click",function(b){var c=moment().add(a.config.cookieExpiry,"days").toDate().toGMTString();document.cookie="TsIntuition_userlang="+$(b.target).data("lang")+"; expires="+c+"; path=/";var d=Math.floor(Date.now()/1e3)+24*a.config.cookieExpiry*60*60;document.cookie="TsIntuition_expiry="+d+"; expires="+c+"; path=/",location.reload()}),$(".download-csv").on("click",this.exportCSV.bind(this)),$(".download-json").on("click",this.exportJSON.bind(this)),$(this.config.projectInput).on("focusin",function(){this.dataset.value=this.value}),$(this.config.projectInput).on("change",function(b){return a.validateProject(b)})}},{key:"setupSettingsModal",value:function(){this.fillInSettings(),$(".save-settings-btn").on("click",this.saveSettings.bind(this)),$(".cancel-settings-btn").on("click",this.fillInSettings.bind(this))}},{key:"setupDateRangeSelector",value:function(){var a=this,b=$(this.config.dateRangeSelector),c={};Object.keys(this.config.specialRanges).forEach(function(b){"latest"!==b&&(c[$.i18n(b)]=a.config.specialRanges[b])});var d={locale:{format:this.dateFormat,applyLabel:$.i18n("apply"),cancelLabel:$.i18n("cancel"),customRangeLabel:$.i18n("custom-range"),daysOfWeek:[$.i18n("su"),$.i18n("mo"),$.i18n("tu"),$.i18n("we"),$.i18n("th"),$.i18n("fr"),$.i18n("sa")],monthNames:[$.i18n("january"),$.i18n("february"),$.i18n("march"),$.i18n("april"),$.i18n("may"),$.i18n("june"),$.i18n("july"),$.i18n("august"),$.i18n("september"),$.i18n("october"),$.i18n("november"),$.i18n("december")]},startDate:moment().subtract(this.config.daysAgo,"days"),minDate:this.config.minDate,maxDate:this.config.maxDate,ranges:c};this.config.dateLimit&&(d.dateLimit={days:this.config.dateLimit}),b.daterangepicker(d),$(".daterangepicker").append($("
").addClass("daterange-notice").html($.i18n("date-notice",document.title,"stats.grok.se",$.i18n("july")+" 2015"))),$(".daterangepicker .ranges li").on("click",function(b){var c=$(".daterangepicker .ranges li").index(b.target),d=a.daterangepicker.container,e=d.find(".daterangepicker_input input");a.specialRange={range:Object.keys(a.config.specialRanges)[c],value:e[0].value+" - "+e[1].value}}),$(this.config.dateRangeSelector).on("apply.daterangepicker",function(b,c){c.chosenLabel===$.i18n("custom-range")&&(a.specialRange=null,a.daterangepicker.updateElement())})}},{key:"setThrottle",value:function(){this.isRequestCached()||simpleStorage.set("pageviews-throttle",!0,{TTL:9e4})}},{key:"showFatalErrors",value:function(a){var b=this;if(this.clearMessages(),a.forEach(function(a){b.writeMessage(""+$.i18n("fatal-error")+": "+a+"")}),this.debug)throw a[0];a&&a[0]&&a[0].stack&&$.ajax({method:"POST",url:"//tools.wmflabs.org/musikanimal/paste",data:{content:"\ndate: "+moment().utc().format()+("\ntool: "+this.app)+("\nlanguage: "+i18nLang)+("\nchart: "+this.chartType)+("\nurl: "+document.location.href)+("\nuserAgent: "+this.getUserAgent())+("\ntrace: "+a[0].stack),title:"Pageviews Analysis error report: "+a[0]}}).done(function(a){a&&a.result&&a.result.objectName?b.writeMessage($.i18n("error-please-report",b.getBugReportURL(a.result.objectName))):b.writeMessage($.i18n("error-please-report",b.getBugReportURL()))}).fail(function(){b.writeMessage($.i18n("error-please-report",b.getBugReportURL()))})}},{key:"splash",value:function(){var a="background: #eee; color: #555; padding: 4px; font-family:monospace";console.log("%c ___ __ _ _ ",a),console.log("%c | _ \\ __ _ / _` | ___ __ __ (_) ___ __ __ __ ___ ",a),console.log("%c | _/ / _` | \\__, | / -_) \\ V / | | / -_) \\ V V / (_-< ",a),console.log("%c _|_|_ \\__,_| |___/ \\___| _\\_/_ _|_|_ \\___| \\_/\\_/ /__/_ ",a),console.log('%c _| """ |_|"""""|_|"""""|_|"""""|_|"""""|_|"""""|_|"""""|_|"""""|_|"""""| ',a),console.log("%c \"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-' ",a),console.log("%c ___ _ _ _ _ ",a),console.log("%c o O O / \\ _ _ __ _ | || | | | ___ (_) ___ ",a),console.log("%c o | - | | ' \\ / _` | \\_, | | | (_-< | | (_-< ",a),console.log("%c TS__[O] |_|_| |_||_| \\__,_| _|__/ _|_|_ /__/_ _|_|_ /__/_ ",a),console.log('%c {======|_|"""""|_|"""""|_|"""""|_| """"|_|"""""|_|"""""|_|"""""|_|"""""| ',a),console.log("%c ./o--000'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-' ",a),console.log("%c ",a),console.log("%c Copyright © "+(new Date).getFullYear()+" MusikAnimal, Kaldari, Marcel Ruiz Forns ",a)}},{key:"startSpinny",value:function(){var a=this;$(".chart-container").addClass("loading"),clearTimeout(this.timeout),this.timeout=setTimeout(function(b){a.resetView(),a.writeMessage(""+$.i18n("fatal-error")+":\n "+$.i18n("error-timed-out")+"\n "+$.i18n("error-please-report",a.getBugReportURL())+"\n ",!0)},2e4)}},{key:"stopSpinny",value:function(){$(".chart-container").removeClass("loading"),clearTimeout(this.timeout)}},{key:"underscorePageNames",value:function(a){return a.map(function(a){return decodeURIComponent(a).score()})}},{key:"updateInterAppLinks",value:function(){var a=this;$(".interapp-link").each(function(b,c){var d=c.href.split("?")[0];c.classList.contains("interapp-link--siteviews")?c.href=d+"?sites="+a.project.escape()+".org":c.href=d+"?project="+a.project.escape()+".org"})}},{key:"validateParams",value:function(a){var b=this;return this.config.validateParams.forEach(function(c){"project"===c&&a.project&&(a.project=a.project.replace(/^www\./,""));var d=b.config.defaults[c],e=a[c];d&&!b.config.validParams[c].includes(e)&&(e&&b.addInvalidParamNotice(c),a[c]=d)}),a}},{key:"validateProject",value:function(){var a=arguments.length<=0||void 0===arguments[0]?!1:arguments[0],b=$(this.config.projectInput)[0],c=b.value.replace(/^www\./,""),d=!1;return a&&!this.isMultilangProject()?(this.writeMessage($.i18n("invalid-lang-project",""+c.escape()+""),!0),c=b.dataset.value):l.includes(c)?(this.clearMessages(),this.updateInterAppLinks(),d=!0):(this.writeMessage($.i18n("invalid-project",""+c.escape()+""),!0),c=b.dataset.value),b.value=c,d}},{key:"writeMessage",value:function(a,b){return b&&this.clearMessages(),$(".message-container").append("
"+a+"
")}},{key:"dateFormat",get:function(){return"true"===this.localizeDateFormat?this.getLocaleDateString():this.config.defaults.dateFormat}},{key:"daterangepicker",get:function(){return $(this.config.dateRangeSelector).data("daterangepicker")}},{key:"project",get:function(){var a=$(this.config.projectInput).val();return a?a.toLowerCase().replace(/.org$/,""):null}}],[{key:"multilangProjects",get:function(){return["wikipedia","wikibooks","wikinews","wikiquote","wikisource","wikiversity","wikivoyage"]}}]),b}(j);b.exports=m},{"./pv_config":8,"./site_map":9}],8:[function(a,b,c){"use strict";function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var e=function(){function a(a,b){for(var c=0;c1?"line":"bar"},dateFormat:"YYYY-MM-DD",localizeDateFormat:"true",numericalFormatting:"true",bezierCurve:"false",autoLogDetection:"true",beginAtZero:"false",rememberChart:"true",agent:"user",platform:"all-access",project:"en.wikipedia.org"},globalChartOpts:{animation:{duration:500,easing:"easeInOutQuart"},hover:{animationDuration:0},legend:{display:!1}},linearCharts:["line","bar","radar"],linearOpts:{scales:{yAxes:[{ticks:{callback:function(a){return b.formatNumber(a)}}}]},legendCallback:function(a){return b.config.linearLegend(a.data.datasets,c)}},daysAgo:20,minDate:moment("2015-07-01").startOf("day"),maxDate:moment().subtract(1,"days").startOf("day"),specialRanges:{"last-week":[moment().subtract(1,"week").startOf("week"),moment().subtract(1,"week").endOf("week")],"this-month":[moment().startOf("month"),moment().subtract(1,"days").startOf("day")],"last-month":[moment().subtract(1,"month").startOf("month"),moment().subtract(1,"month").endOf("month")],latest:function(){var a=arguments.length<=0||void 0===arguments[0]?c.config.daysAgo:arguments[0];return[moment().subtract(a,"days").startOf("day"),c.config.maxDate]}},timestampFormat:"YYYYMMDD00",validParams:{agent:["all-agents","user","spider","bot"],platform:["all-access","desktop","mobile-app","mobile-web"],project:g}}}return e(a,[{key:"linearTooltips",get:function(){var a=this;return{mode:"label",callbacks:{label:function(b){return Number.isNaN(b.yLabel)?" "+$.i18n("unknown"):" "+a.formatNumber(b.yLabel)}},bodyFontSize:14,bodySpacing:7,caretSize:0,titleFontSize:14}}},{key:"circularTooltips",get:function(){var a=this;return{callbacks:{label:function b(c,d){var e=d.datasets[c.datasetIndex].data[c.index],b=d.labels[c.index];return Number.isNaN(e)?b+": "+$.i18n("unknown"):b+": "+a.formatNumber(e)}},bodyFontSize:14,bodySpacing:7,caretSize:0,titleFontSize:14}}}]),a}();b.exports=h},{"./site_map":9}],9:[function(a,b,c){"use strict";var d={aawiki:"aa.wikipedia.org",aawiktionary:"aa.wiktionary.org",aawikibooks:"aa.wikibooks.org",abwiki:"ab.wikipedia.org",abwiktionary:"ab.wiktionary.org",acewiki:"ace.wikipedia.org",adywiki:"ady.wikipedia.org",afwiki:"af.wikipedia.org",afwiktionary:"af.wiktionary.org",afwikibooks:"af.wikibooks.org",afwikiquote:"af.wikiquote.org",akwiki:"ak.wikipedia.org",akwiktionary:"ak.wiktionary.org",akwikibooks:"ak.wikibooks.org",alswiki:"als.wikipedia.org",alswiktionary:"als.wiktionary.org",alswikibooks:"als.wikibooks.org",alswikiquote:"als.wikiquote.org",amwiki:"am.wikipedia.org",amwiktionary:"am.wiktionary.org",amwikiquote:"am.wikiquote.org",anwiki:"an.wikipedia.org",anwiktionary:"an.wiktionary.org",angwiki:"ang.wikipedia.org",angwiktionary:"ang.wiktionary.org",angwikibooks:"ang.wikibooks.org",angwikiquote:"ang.wikiquote.org",angwikisource:"ang.wikisource.org",arwiki:"ar.wikipedia.org",arwiktionary:"ar.wiktionary.org",arwikibooks:"ar.wikibooks.org",arwikinews:"ar.wikinews.org",arwikiquote:"ar.wikiquote.org",arwikisource:"ar.wikisource.org",arwikiversity:"ar.wikiversity.org",arcwiki:"arc.wikipedia.org",arzwiki:"arz.wikipedia.org",aswiki:"as.wikipedia.org",aswiktionary:"as.wiktionary.org",aswikibooks:"as.wikibooks.org",aswikisource:"as.wikisource.org",astwiki:"ast.wikipedia.org",astwiktionary:"ast.wiktionary.org",astwikibooks:"ast.wikibooks.org",astwikiquote:"ast.wikiquote.org",avwiki:"av.wikipedia.org",avwiktionary:"av.wiktionary.org",aywiki:"ay.wikipedia.org",aywiktionary:"ay.wiktionary.org",aywikibooks:"ay.wikibooks.org",azwiki:"az.wikipedia.org",azwiktionary:"az.wiktionary.org",azwikibooks:"az.wikibooks.org",azwikiquote:"az.wikiquote.org",azwikisource:"az.wikisource.org",azbwiki:"azb.wikipedia.org",bawiki:"ba.wikipedia.org",bawikibooks:"ba.wikibooks.org",barwiki:"bar.wikipedia.org",bat_smgwiki:"bat-smg.wikipedia.org",bclwiki:"bcl.wikipedia.org",bewiki:"be.wikipedia.org",bewiktionary:"be.wiktionary.org", -bewikibooks:"be.wikibooks.org",bewikiquote:"be.wikiquote.org",bewikisource:"be.wikisource.org",be_x_oldwiki:"be-tarask.wikipedia.org",bgwiki:"bg.wikipedia.org",bgwiktionary:"bg.wiktionary.org",bgwikibooks:"bg.wikibooks.org",bgwikinews:"bg.wikinews.org",bgwikiquote:"bg.wikiquote.org",bgwikisource:"bg.wikisource.org",bhwiki:"bh.wikipedia.org",bhwiktionary:"bh.wiktionary.org",biwiki:"bi.wikipedia.org",biwiktionary:"bi.wiktionary.org",biwikibooks:"bi.wikibooks.org",bjnwiki:"bjn.wikipedia.org",bmwiki:"bm.wikipedia.org",bmwiktionary:"bm.wiktionary.org",bmwikibooks:"bm.wikibooks.org",bmwikiquote:"bm.wikiquote.org",bnwiki:"bn.wikipedia.org",bnwiktionary:"bn.wiktionary.org",bnwikibooks:"bn.wikibooks.org",bnwikisource:"bn.wikisource.org",bowiki:"bo.wikipedia.org",bowiktionary:"bo.wiktionary.org",bowikibooks:"bo.wikibooks.org",bpywiki:"bpy.wikipedia.org",brwiki:"br.wikipedia.org",brwiktionary:"br.wiktionary.org",brwikiquote:"br.wikiquote.org",brwikisource:"br.wikisource.org",bswiki:"bs.wikipedia.org",bswiktionary:"bs.wiktionary.org",bswikibooks:"bs.wikibooks.org",bswikinews:"bs.wikinews.org",bswikiquote:"bs.wikiquote.org",bswikisource:"bs.wikisource.org",bugwiki:"bug.wikipedia.org",bxrwiki:"bxr.wikipedia.org",cawiki:"ca.wikipedia.org",cawiktionary:"ca.wiktionary.org",cawikibooks:"ca.wikibooks.org",cawikinews:"ca.wikinews.org",cawikiquote:"ca.wikiquote.org",cawikisource:"ca.wikisource.org",cbk_zamwiki:"cbk-zam.wikipedia.org",cdowiki:"cdo.wikipedia.org",cewiki:"ce.wikipedia.org",cebwiki:"ceb.wikipedia.org",chwiki:"ch.wikipedia.org",chwiktionary:"ch.wiktionary.org",chwikibooks:"ch.wikibooks.org",chowiki:"cho.wikipedia.org",chrwiki:"chr.wikipedia.org",chrwiktionary:"chr.wiktionary.org",chywiki:"chy.wikipedia.org",ckbwiki:"ckb.wikipedia.org",cowiki:"co.wikipedia.org",cowiktionary:"co.wiktionary.org",cowikibooks:"co.wikibooks.org",cowikiquote:"co.wikiquote.org",crwiki:"cr.wikipedia.org",crwiktionary:"cr.wiktionary.org",crwikiquote:"cr.wikiquote.org",crhwiki:"crh.wikipedia.org",cswiki:"cs.wikipedia.org",cswiktionary:"cs.wiktionary.org",cswikibooks:"cs.wikibooks.org",cswikinews:"cs.wikinews.org",cswikiquote:"cs.wikiquote.org",cswikisource:"cs.wikisource.org",cswikiversity:"cs.wikiversity.org",csbwiki:"csb.wikipedia.org",csbwiktionary:"csb.wiktionary.org",cuwiki:"cu.wikipedia.org",cvwiki:"cv.wikipedia.org",cvwikibooks:"cv.wikibooks.org",cywiki:"cy.wikipedia.org",cywiktionary:"cy.wiktionary.org",cywikibooks:"cy.wikibooks.org",cywikiquote:"cy.wikiquote.org",cywikisource:"cy.wikisource.org",dawiki:"da.wikipedia.org",dawiktionary:"da.wiktionary.org",dawikibooks:"da.wikibooks.org",dawikiquote:"da.wikiquote.org",dawikisource:"da.wikisource.org",dewiki:"de.wikipedia.org",dewiktionary:"de.wiktionary.org",dewikibooks:"de.wikibooks.org",dewikinews:"de.wikinews.org",dewikiquote:"de.wikiquote.org",dewikisource:"de.wikisource.org",dewikiversity:"de.wikiversity.org",dewikivoyage:"de.wikivoyage.org",diqwiki:"diq.wikipedia.org",dsbwiki:"dsb.wikipedia.org",dvwiki:"dv.wikipedia.org",dvwiktionary:"dv.wiktionary.org",dzwiki:"dz.wikipedia.org",dzwiktionary:"dz.wiktionary.org",eewiki:"ee.wikipedia.org",elwiki:"el.wikipedia.org",elwiktionary:"el.wiktionary.org",elwikibooks:"el.wikibooks.org",elwikinews:"el.wikinews.org",elwikiquote:"el.wikiquote.org",elwikisource:"el.wikisource.org",elwikiversity:"el.wikiversity.org",elwikivoyage:"el.wikivoyage.org",emlwiki:"eml.wikipedia.org",enwiki:"en.wikipedia.org",enwiktionary:"en.wiktionary.org",enwikibooks:"en.wikibooks.org",enwikinews:"en.wikinews.org",enwikiquote:"en.wikiquote.org",enwikisource:"en.wikisource.org",enwikiversity:"en.wikiversity.org",enwikivoyage:"en.wikivoyage.org",eowiki:"eo.wikipedia.org",eowiktionary:"eo.wiktionary.org",eowikibooks:"eo.wikibooks.org",eowikinews:"eo.wikinews.org",eowikiquote:"eo.wikiquote.org",eowikisource:"eo.wikisource.org",eswiki:"es.wikipedia.org",eswiktionary:"es.wiktionary.org",eswikibooks:"es.wikibooks.org",eswikinews:"es.wikinews.org",eswikiquote:"es.wikiquote.org",eswikisource:"es.wikisource.org",eswikiversity:"es.wikiversity.org",eswikivoyage:"es.wikivoyage.org",etwiki:"et.wikipedia.org",etwiktionary:"et.wiktionary.org",etwikibooks:"et.wikibooks.org",etwikiquote:"et.wikiquote.org",etwikisource:"et.wikisource.org",euwiki:"eu.wikipedia.org",euwiktionary:"eu.wiktionary.org",euwikibooks:"eu.wikibooks.org",euwikiquote:"eu.wikiquote.org",extwiki:"ext.wikipedia.org",fawiki:"fa.wikipedia.org",fawiktionary:"fa.wiktionary.org",fawikibooks:"fa.wikibooks.org",fawikinews:"fa.wikinews.org",fawikiquote:"fa.wikiquote.org",fawikisource:"fa.wikisource.org",fawikivoyage:"fa.wikivoyage.org",ffwiki:"ff.wikipedia.org",fiwiki:"fi.wikipedia.org",fiwiktionary:"fi.wiktionary.org",fiwikibooks:"fi.wikibooks.org",fiwikinews:"fi.wikinews.org",fiwikiquote:"fi.wikiquote.org",fiwikisource:"fi.wikisource.org",fiwikiversity:"fi.wikiversity.org",fiu_vrowiki:"fiu-vro.wikipedia.org",fjwiki:"fj.wikipedia.org",fjwiktionary:"fj.wiktionary.org",fowiki:"fo.wikipedia.org",fowiktionary:"fo.wiktionary.org",fowikisource:"fo.wikisource.org",frwiki:"fr.wikipedia.org",frwiktionary:"fr.wiktionary.org",frwikibooks:"fr.wikibooks.org",frwikinews:"fr.wikinews.org",frwikiquote:"fr.wikiquote.org",frwikisource:"fr.wikisource.org",frwikiversity:"fr.wikiversity.org",frwikivoyage:"fr.wikivoyage.org",frpwiki:"frp.wikipedia.org",frrwiki:"frr.wikipedia.org",furwiki:"fur.wikipedia.org",fywiki:"fy.wikipedia.org",fywiktionary:"fy.wiktionary.org",fywikibooks:"fy.wikibooks.org",gawiki:"ga.wikipedia.org",gawiktionary:"ga.wiktionary.org",gawikibooks:"ga.wikibooks.org",gawikiquote:"ga.wikiquote.org",gagwiki:"gag.wikipedia.org",ganwiki:"gan.wikipedia.org",gdwiki:"gd.wikipedia.org",gdwiktionary:"gd.wiktionary.org",glwiki:"gl.wikipedia.org",glwiktionary:"gl.wiktionary.org",glwikibooks:"gl.wikibooks.org",glwikiquote:"gl.wikiquote.org",glwikisource:"gl.wikisource.org",glkwiki:"glk.wikipedia.org",gnwiki:"gn.wikipedia.org",gnwiktionary:"gn.wiktionary.org",gnwikibooks:"gn.wikibooks.org",gomwiki:"gom.wikipedia.org",gotwiki:"got.wikipedia.org",gotwikibooks:"got.wikibooks.org",guwiki:"gu.wikipedia.org",guwiktionary:"gu.wiktionary.org",guwikibooks:"gu.wikibooks.org",guwikiquote:"gu.wikiquote.org",guwikisource:"gu.wikisource.org",gvwiki:"gv.wikipedia.org",gvwiktionary:"gv.wiktionary.org",hawiki:"ha.wikipedia.org",hawiktionary:"ha.wiktionary.org",hakwiki:"hak.wikipedia.org",hawwiki:"haw.wikipedia.org",hewiki:"he.wikipedia.org",hewiktionary:"he.wiktionary.org",hewikibooks:"he.wikibooks.org",hewikinews:"he.wikinews.org",hewikiquote:"he.wikiquote.org",hewikisource:"he.wikisource.org",hewikivoyage:"he.wikivoyage.org",hiwiki:"hi.wikipedia.org",hiwiktionary:"hi.wiktionary.org",hiwikibooks:"hi.wikibooks.org",hiwikiquote:"hi.wikiquote.org",hifwiki:"hif.wikipedia.org",howiki:"ho.wikipedia.org",hrwiki:"hr.wikipedia.org",hrwiktionary:"hr.wiktionary.org",hrwikibooks:"hr.wikibooks.org",hrwikiquote:"hr.wikiquote.org",hrwikisource:"hr.wikisource.org",hsbwiki:"hsb.wikipedia.org",hsbwiktionary:"hsb.wiktionary.org",htwiki:"ht.wikipedia.org",htwikisource:"ht.wikisource.org",huwiki:"hu.wikipedia.org",huwiktionary:"hu.wiktionary.org",huwikibooks:"hu.wikibooks.org",huwikinews:"hu.wikinews.org",huwikiquote:"hu.wikiquote.org",huwikisource:"hu.wikisource.org",hywiki:"hy.wikipedia.org",hywiktionary:"hy.wiktionary.org",hywikibooks:"hy.wikibooks.org",hywikiquote:"hy.wikiquote.org",hywikisource:"hy.wikisource.org",hzwiki:"hz.wikipedia.org",iawiki:"ia.wikipedia.org",iawiktionary:"ia.wiktionary.org",iawikibooks:"ia.wikibooks.org",idwiki:"id.wikipedia.org",idwiktionary:"id.wiktionary.org",idwikibooks:"id.wikibooks.org",idwikiquote:"id.wikiquote.org",idwikisource:"id.wikisource.org",iewiki:"ie.wikipedia.org",iewiktionary:"ie.wiktionary.org",iewikibooks:"ie.wikibooks.org",igwiki:"ig.wikipedia.org",iiwiki:"ii.wikipedia.org",ikwiki:"ik.wikipedia.org",ikwiktionary:"ik.wiktionary.org",ilowiki:"ilo.wikipedia.org",iowiki:"io.wikipedia.org",iowiktionary:"io.wiktionary.org",iswiki:"is.wikipedia.org",iswiktionary:"is.wiktionary.org",iswikibooks:"is.wikibooks.org",iswikiquote:"is.wikiquote.org",iswikisource:"is.wikisource.org",itwiki:"it.wikipedia.org",itwiktionary:"it.wiktionary.org",itwikibooks:"it.wikibooks.org",itwikinews:"it.wikinews.org",itwikiquote:"it.wikiquote.org",itwikisource:"it.wikisource.org",itwikiversity:"it.wikiversity.org",itwikivoyage:"it.wikivoyage.org",iuwiki:"iu.wikipedia.org",iuwiktionary:"iu.wiktionary.org",jawiki:"ja.wikipedia.org",jawiktionary:"ja.wiktionary.org",jawikibooks:"ja.wikibooks.org",jawikinews:"ja.wikinews.org",jawikiquote:"ja.wikiquote.org",jawikisource:"ja.wikisource.org",jawikiversity:"ja.wikiversity.org",jbowiki:"jbo.wikipedia.org",jbowiktionary:"jbo.wiktionary.org",jvwiki:"jv.wikipedia.org",jvwiktionary:"jv.wiktionary.org",kawiki:"ka.wikipedia.org",kawiktionary:"ka.wiktionary.org",kawikibooks:"ka.wikibooks.org",kawikiquote:"ka.wikiquote.org",kaawiki:"kaa.wikipedia.org",kabwiki:"kab.wikipedia.org",kbdwiki:"kbd.wikipedia.org",kgwiki:"kg.wikipedia.org",kiwiki:"ki.wikipedia.org",kjwiki:"kj.wikipedia.org",kkwiki:"kk.wikipedia.org",kkwiktionary:"kk.wiktionary.org",kkwikibooks:"kk.wikibooks.org",kkwikiquote:"kk.wikiquote.org",klwiki:"kl.wikipedia.org",klwiktionary:"kl.wiktionary.org",kmwiki:"km.wikipedia.org",kmwiktionary:"km.wiktionary.org",kmwikibooks:"km.wikibooks.org",knwiki:"kn.wikipedia.org",knwiktionary:"kn.wiktionary.org",knwikibooks:"kn.wikibooks.org",knwikiquote:"kn.wikiquote.org",knwikisource:"kn.wikisource.org",kowiki:"ko.wikipedia.org",kowiktionary:"ko.wiktionary.org",kowikibooks:"ko.wikibooks.org",kowikinews:"ko.wikinews.org",kowikiquote:"ko.wikiquote.org",kowikisource:"ko.wikisource.org",kowikiversity:"ko.wikiversity.org",koiwiki:"koi.wikipedia.org",krwiki:"kr.wikipedia.org",krwikiquote:"kr.wikiquote.org",krcwiki:"krc.wikipedia.org",kswiki:"ks.wikipedia.org",kswiktionary:"ks.wiktionary.org",kswikibooks:"ks.wikibooks.org",kswikiquote:"ks.wikiquote.org",kshwiki:"ksh.wikipedia.org",kuwiki:"ku.wikipedia.org",kuwiktionary:"ku.wiktionary.org",kuwikibooks:"ku.wikibooks.org",kuwikiquote:"ku.wikiquote.org",kvwiki:"kv.wikipedia.org",kwwiki:"kw.wikipedia.org",kwwiktionary:"kw.wiktionary.org",kwwikiquote:"kw.wikiquote.org",kywiki:"ky.wikipedia.org",kywiktionary:"ky.wiktionary.org",kywikibooks:"ky.wikibooks.org",kywikiquote:"ky.wikiquote.org",lawiki:"la.wikipedia.org",lawiktionary:"la.wiktionary.org",lawikibooks:"la.wikibooks.org",lawikiquote:"la.wikiquote.org",lawikisource:"la.wikisource.org",ladwiki:"lad.wikipedia.org",lbwiki:"lb.wikipedia.org",lbwiktionary:"lb.wiktionary.org",lbwikibooks:"lb.wikibooks.org",lbwikiquote:"lb.wikiquote.org",lbewiki:"lbe.wikipedia.org",lezwiki:"lez.wikipedia.org",lgwiki:"lg.wikipedia.org",liwiki:"li.wikipedia.org",liwiktionary:"li.wiktionary.org",liwikibooks:"li.wikibooks.org",liwikiquote:"li.wikiquote.org",liwikisource:"li.wikisource.org",lijwiki:"lij.wikipedia.org",lmowiki:"lmo.wikipedia.org",lnwiki:"ln.wikipedia.org",lnwiktionary:"ln.wiktionary.org",lnwikibooks:"ln.wikibooks.org",lowiki:"lo.wikipedia.org",lowiktionary:"lo.wiktionary.org",lrcwiki:"lrc.wikipedia.org",ltwiki:"lt.wikipedia.org",ltwiktionary:"lt.wiktionary.org",ltwikibooks:"lt.wikibooks.org",ltwikiquote:"lt.wikiquote.org",ltwikisource:"lt.wikisource.org",ltgwiki:"ltg.wikipedia.org",lvwiki:"lv.wikipedia.org",lvwiktionary:"lv.wiktionary.org",lvwikibooks:"lv.wikibooks.org",maiwiki:"mai.wikipedia.org",map_bmswiki:"map-bms.wikipedia.org",mdfwiki:"mdf.wikipedia.org",mgwiki:"mg.wikipedia.org",mgwiktionary:"mg.wiktionary.org",mgwikibooks:"mg.wikibooks.org",mhwiki:"mh.wikipedia.org",mhwiktionary:"mh.wiktionary.org",mhrwiki:"mhr.wikipedia.org",miwiki:"mi.wikipedia.org",miwiktionary:"mi.wiktionary.org",miwikibooks:"mi.wikibooks.org",minwiki:"min.wikipedia.org",mkwiki:"mk.wikipedia.org",mkwiktionary:"mk.wiktionary.org",mkwikibooks:"mk.wikibooks.org",mkwikisource:"mk.wikisource.org",mlwiki:"ml.wikipedia.org",mlwiktionary:"ml.wiktionary.org",mlwikibooks:"ml.wikibooks.org",mlwikiquote:"ml.wikiquote.org",mlwikisource:"ml.wikisource.org",mnwiki:"mn.wikipedia.org",mnwiktionary:"mn.wiktionary.org",mnwikibooks:"mn.wikibooks.org",mowiki:"mo.wikipedia.org",mowiktionary:"mo.wiktionary.org",mrwiki:"mr.wikipedia.org",mrwiktionary:"mr.wiktionary.org",mrwikibooks:"mr.wikibooks.org",mrwikiquote:"mr.wikiquote.org",mrwikisource:"mr.wikisource.org",mrjwiki:"mrj.wikipedia.org",mswiki:"ms.wikipedia.org",mswiktionary:"ms.wiktionary.org",mswikibooks:"ms.wikibooks.org",mtwiki:"mt.wikipedia.org",mtwiktionary:"mt.wiktionary.org",muswiki:"mus.wikipedia.org",mwlwiki:"mwl.wikipedia.org",mywiki:"my.wikipedia.org",mywiktionary:"my.wiktionary.org",mywikibooks:"my.wikibooks.org",myvwiki:"myv.wikipedia.org",mznwiki:"mzn.wikipedia.org",nawiki:"na.wikipedia.org",nawiktionary:"na.wiktionary.org",nawikibooks:"na.wikibooks.org",nawikiquote:"na.wikiquote.org",nahwiki:"nah.wikipedia.org",nahwiktionary:"nah.wiktionary.org",nahwikibooks:"nah.wikibooks.org",napwiki:"nap.wikipedia.org",ndswiki:"nds.wikipedia.org",ndswiktionary:"nds.wiktionary.org",ndswikibooks:"nds.wikibooks.org",ndswikiquote:"nds.wikiquote.org",nds_nlwiki:"nds-nl.wikipedia.org",newiki:"ne.wikipedia.org",newiktionary:"ne.wiktionary.org",newikibooks:"ne.wikibooks.org",newwiki:"new.wikipedia.org",ngwiki:"ng.wikipedia.org",nlwiki:"nl.wikipedia.org",nlwiktionary:"nl.wiktionary.org",nlwikibooks:"nl.wikibooks.org",nlwikinews:"nl.wikinews.org",nlwikiquote:"nl.wikiquote.org",nlwikisource:"nl.wikisource.org",nlwikivoyage:"nl.wikivoyage.org",nnwiki:"nn.wikipedia.org",nnwiktionary:"nn.wiktionary.org",nnwikiquote:"nn.wikiquote.org",nowiki:"no.wikipedia.org",nowiktionary:"no.wiktionary.org",nowikibooks:"no.wikibooks.org",nowikinews:"no.wikinews.org",nowikiquote:"no.wikiquote.org",nowikisource:"no.wikisource.org",novwiki:"nov.wikipedia.org",nrmwiki:"nrm.wikipedia.org",nsowiki:"nso.wikipedia.org",nvwiki:"nv.wikipedia.org",nywiki:"ny.wikipedia.org",ocwiki:"oc.wikipedia.org",ocwiktionary:"oc.wiktionary.org",ocwikibooks:"oc.wikibooks.org",omwiki:"om.wikipedia.org",omwiktionary:"om.wiktionary.org",orwiki:"or.wikipedia.org",orwiktionary:"or.wiktionary.org",orwikisource:"or.wikisource.org",oswiki:"os.wikipedia.org",pawiki:"pa.wikipedia.org",pawiktionary:"pa.wiktionary.org",pawikibooks:"pa.wikibooks.org",pagwiki:"pag.wikipedia.org",pamwiki:"pam.wikipedia.org",papwiki:"pap.wikipedia.org",pcdwiki:"pcd.wikipedia.org",pdcwiki:"pdc.wikipedia.org",pflwiki:"pfl.wikipedia.org",piwiki:"pi.wikipedia.org",piwiktionary:"pi.wiktionary.org",pihwiki:"pih.wikipedia.org",plwiki:"pl.wikipedia.org",plwiktionary:"pl.wiktionary.org",plwikibooks:"pl.wikibooks.org",plwikinews:"pl.wikinews.org",plwikiquote:"pl.wikiquote.org",plwikisource:"pl.wikisource.org",plwikivoyage:"pl.wikivoyage.org",pmswiki:"pms.wikipedia.org",pnbwiki:"pnb.wikipedia.org",pnbwiktionary:"pnb.wiktionary.org",pntwiki:"pnt.wikipedia.org",pswiki:"ps.wikipedia.org",pswiktionary:"ps.wiktionary.org",pswikibooks:"ps.wikibooks.org",ptwiki:"pt.wikipedia.org",ptwiktionary:"pt.wiktionary.org",ptwikibooks:"pt.wikibooks.org",ptwikinews:"pt.wikinews.org",ptwikiquote:"pt.wikiquote.org",ptwikisource:"pt.wikisource.org",ptwikiversity:"pt.wikiversity.org",ptwikivoyage:"pt.wikivoyage.org",quwiki:"qu.wikipedia.org",quwiktionary:"qu.wiktionary.org",quwikibooks:"qu.wikibooks.org",quwikiquote:"qu.wikiquote.org",rmwiki:"rm.wikipedia.org",rmwiktionary:"rm.wiktionary.org",rmwikibooks:"rm.wikibooks.org",rmywiki:"rmy.wikipedia.org",rnwiki:"rn.wikipedia.org",rnwiktionary:"rn.wiktionary.org",rowiki:"ro.wikipedia.org",rowiktionary:"ro.wiktionary.org",rowikibooks:"ro.wikibooks.org",rowikinews:"ro.wikinews.org",rowikiquote:"ro.wikiquote.org",rowikisource:"ro.wikisource.org",rowikivoyage:"ro.wikivoyage.org",roa_rupwiki:"roa-rup.wikipedia.org",roa_rupwiktionary:"roa-rup.wiktionary.org",roa_tarawiki:"roa-tara.wikipedia.org",ruwiki:"ru.wikipedia.org",ruwiktionary:"ru.wiktionary.org",ruwikibooks:"ru.wikibooks.org",ruwikinews:"ru.wikinews.org",ruwikiquote:"ru.wikiquote.org",ruwikisource:"ru.wikisource.org",ruwikiversity:"ru.wikiversity.org",ruwikivoyage:"ru.wikivoyage.org",ruewiki:"rue.wikipedia.org",rwwiki:"rw.wikipedia.org",rwwiktionary:"rw.wiktionary.org",sawiki:"sa.wikipedia.org",sawiktionary:"sa.wiktionary.org",sawikibooks:"sa.wikibooks.org",sawikiquote:"sa.wikiquote.org",sawikisource:"sa.wikisource.org",sahwiki:"sah.wikipedia.org",sahwikisource:"sah.wikisource.org",scwiki:"sc.wikipedia.org",scwiktionary:"sc.wiktionary.org",scnwiki:"scn.wikipedia.org",scnwiktionary:"scn.wiktionary.org",scowiki:"sco.wikipedia.org",sdwiki:"sd.wikipedia.org",sdwiktionary:"sd.wiktionary.org",sdwikinews:"sd.wikinews.org",sewiki:"se.wikipedia.org",sewikibooks:"se.wikibooks.org",sgwiki:"sg.wikipedia.org",sgwiktionary:"sg.wiktionary.org",shwiki:"sh.wikipedia.org",shwiktionary:"sh.wiktionary.org",siwiki:"si.wikipedia.org",siwiktionary:"si.wiktionary.org",siwikibooks:"si.wikibooks.org",simplewiki:"simple.wikipedia.org",simplewiktionary:"simple.wiktionary.org",simplewikibooks:"simple.wikibooks.org",simplewikiquote:"simple.wikiquote.org",skwiki:"sk.wikipedia.org",skwiktionary:"sk.wiktionary.org",skwikibooks:"sk.wikibooks.org",skwikiquote:"sk.wikiquote.org",skwikisource:"sk.wikisource.org",slwiki:"sl.wikipedia.org",slwiktionary:"sl.wiktionary.org",slwikibooks:"sl.wikibooks.org",slwikiquote:"sl.wikiquote.org",slwikisource:"sl.wikisource.org",slwikiversity:"sl.wikiversity.org",smwiki:"sm.wikipedia.org",smwiktionary:"sm.wiktionary.org",snwiki:"sn.wikipedia.org",snwiktionary:"sn.wiktionary.org",sowiki:"so.wikipedia.org",sowiktionary:"so.wiktionary.org",sqwiki:"sq.wikipedia.org",sqwiktionary:"sq.wiktionary.org",sqwikibooks:"sq.wikibooks.org",sqwikinews:"sq.wikinews.org",sqwikiquote:"sq.wikiquote.org",srwiki:"sr.wikipedia.org",srwiktionary:"sr.wiktionary.org",srwikibooks:"sr.wikibooks.org",srwikinews:"sr.wikinews.org",srwikiquote:"sr.wikiquote.org",srwikisource:"sr.wikisource.org",srnwiki:"srn.wikipedia.org",sswiki:"ss.wikipedia.org",sswiktionary:"ss.wiktionary.org",stwiki:"st.wikipedia.org",stwiktionary:"st.wiktionary.org",stqwiki:"stq.wikipedia.org",suwiki:"su.wikipedia.org",suwiktionary:"su.wiktionary.org",suwikibooks:"su.wikibooks.org",suwikiquote:"su.wikiquote.org",svwiki:"sv.wikipedia.org",svwiktionary:"sv.wiktionary.org",svwikibooks:"sv.wikibooks.org",svwikinews:"sv.wikinews.org",svwikiquote:"sv.wikiquote.org",svwikisource:"sv.wikisource.org",svwikiversity:"sv.wikiversity.org",svwikivoyage:"sv.wikivoyage.org",swwiki:"sw.wikipedia.org",swwiktionary:"sw.wiktionary.org",swwikibooks:"sw.wikibooks.org",szlwiki:"szl.wikipedia.org",tawiki:"ta.wikipedia.org",tawiktionary:"ta.wiktionary.org",tawikibooks:"ta.wikibooks.org",tawikinews:"ta.wikinews.org",tawikiquote:"ta.wikiquote.org",tawikisource:"ta.wikisource.org",tewiki:"te.wikipedia.org",tewiktionary:"te.wiktionary.org",tewikibooks:"te.wikibooks.org",tewikiquote:"te.wikiquote.org",tewikisource:"te.wikisource.org",tetwiki:"tet.wikipedia.org",tgwiki:"tg.wikipedia.org",tgwiktionary:"tg.wiktionary.org",tgwikibooks:"tg.wikibooks.org",thwiki:"th.wikipedia.org",thwiktionary:"th.wiktionary.org",thwikibooks:"th.wikibooks.org",thwikinews:"th.wikinews.org",thwikiquote:"th.wikiquote.org",thwikisource:"th.wikisource.org",tiwiki:"ti.wikipedia.org",tiwiktionary:"ti.wiktionary.org",tkwiki:"tk.wikipedia.org",tkwiktionary:"tk.wiktionary.org",tkwikibooks:"tk.wikibooks.org",tkwikiquote:"tk.wikiquote.org",tlwiki:"tl.wikipedia.org",tlwiktionary:"tl.wiktionary.org",tlwikibooks:"tl.wikibooks.org",tnwiki:"tn.wikipedia.org",tnwiktionary:"tn.wiktionary.org",towiki:"to.wikipedia.org",towiktionary:"to.wiktionary.org",tpiwiki:"tpi.wikipedia.org",tpiwiktionary:"tpi.wiktionary.org",trwiki:"tr.wikipedia.org",trwiktionary:"tr.wiktionary.org",trwikibooks:"tr.wikibooks.org",trwikinews:"tr.wikinews.org",trwikiquote:"tr.wikiquote.org",trwikisource:"tr.wikisource.org",tswiki:"ts.wikipedia.org",tswiktionary:"ts.wiktionary.org",ttwiki:"tt.wikipedia.org",ttwiktionary:"tt.wiktionary.org",ttwikibooks:"tt.wikibooks.org",ttwikiquote:"tt.wikiquote.org",tumwiki:"tum.wikipedia.org",twwiki:"tw.wikipedia.org",twwiktionary:"tw.wiktionary.org",tywiki:"ty.wikipedia.org",tyvwiki:"tyv.wikipedia.org",udmwiki:"udm.wikipedia.org",ugwiki:"ug.wikipedia.org",ugwiktionary:"ug.wiktionary.org",ugwikibooks:"ug.wikibooks.org",ugwikiquote:"ug.wikiquote.org",ukwiki:"uk.wikipedia.org",ukwiktionary:"uk.wiktionary.org",ukwikibooks:"uk.wikibooks.org",ukwikinews:"uk.wikinews.org",ukwikiquote:"uk.wikiquote.org",ukwikisource:"uk.wikisource.org",ukwikivoyage:"uk.wikivoyage.org",urwiki:"ur.wikipedia.org",urwiktionary:"ur.wiktionary.org",urwikibooks:"ur.wikibooks.org",urwikiquote:"ur.wikiquote.org",uzwiki:"uz.wikipedia.org",uzwiktionary:"uz.wiktionary.org",uzwikibooks:"uz.wikibooks.org",uzwikiquote:"uz.wikiquote.org",vewiki:"ve.wikipedia.org",vecwiki:"vec.wikipedia.org",vecwiktionary:"vec.wiktionary.org",vecwikisource:"vec.wikisource.org",vepwiki:"vep.wikipedia.org",viwiki:"vi.wikipedia.org",viwiktionary:"vi.wiktionary.org",viwikibooks:"vi.wikibooks.org",viwikiquote:"vi.wikiquote.org",viwikisource:"vi.wikisource.org",viwikivoyage:"vi.wikivoyage.org",vlswiki:"vls.wikipedia.org",vowiki:"vo.wikipedia.org",vowiktionary:"vo.wiktionary.org",vowikibooks:"vo.wikibooks.org",vowikiquote:"vo.wikiquote.org",wawiki:"wa.wikipedia.org",wawiktionary:"wa.wiktionary.org",wawikibooks:"wa.wikibooks.org",warwiki:"war.wikipedia.org",wowiki:"wo.wikipedia.org",wowiktionary:"wo.wiktionary.org",wowikiquote:"wo.wikiquote.org",wuuwiki:"wuu.wikipedia.org",xalwiki:"xal.wikipedia.org",xhwiki:"xh.wikipedia.org",xhwiktionary:"xh.wiktionary.org",xhwikibooks:"xh.wikibooks.org",xmfwiki:"xmf.wikipedia.org",yiwiki:"yi.wikipedia.org",yiwiktionary:"yi.wiktionary.org",yiwikisource:"yi.wikisource.org",yowiki:"yo.wikipedia.org",yowiktionary:"yo.wiktionary.org",yowikibooks:"yo.wikibooks.org",zawiki:"za.wikipedia.org",zawiktionary:"za.wiktionary.org",zawikibooks:"za.wikibooks.org",zawikiquote:"za.wikiquote.org",zeawiki:"zea.wikipedia.org",zhwiki:"zh.wikipedia.org",zhwiktionary:"zh.wiktionary.org",zhwikibooks:"zh.wikibooks.org",zhwikinews:"zh.wikinews.org",zhwikiquote:"zh.wikiquote.org",zhwikisource:"zh.wikisource.org",zhwikivoyage:"zh.wikivoyage.org",zh_classicalwiki:"zh-classical.wikipedia.org",zh_min_nanwiki:"zh-min-nan.wikipedia.org",zh_min_nanwiktionary:"zh-min-nan.wiktionary.org",zh_min_nanwikibooks:"zh-min-nan.wikibooks.org",zh_min_nanwikiquote:"zh-min-nan.wikiquote.org",zh_min_nanwikisource:"zh-min-nan.wikisource.org",zh_yuewiki:"zh-yue.wikipedia.org",zuwiki:"zu.wikipedia.org",zuwiktionary:"zu.wiktionary.org",zuwikibooks:"zu.wikibooks.org",advisorywiki:"advisory.wikimedia.org",arwikimedia:"ar.wikimedia.org",arbcom_dewiki:"arbcom-de.wikipedia.org",arbcom_enwiki:"arbcom-en.wikipedia.org",arbcom_fiwiki:"arbcom-fi.wikipedia.org",arbcom_nlwiki:"arbcom-nl.wikipedia.org",auditcomwiki:"auditcom.wikimedia.org",bdwikimedia:"bd.wikimedia.org",bewikimedia:"be.wikimedia.org",betawikiversity:"beta.wikiversity.org",boardwiki:"board.wikimedia.org",boardgovcomwiki:"boardgovcom.wikimedia.org",brwikimedia:"br.wikimedia.org",cawikimedia:"ca.wikimedia.org",chairwiki:"chair.wikimedia.org",chapcomwiki:"affcom.wikimedia.org",checkuserwiki:"checkuser.wikimedia.org",cnwikimedia:"cn.wikimedia.org",cowikimedia:"co.wikimedia.org",collabwiki:"collab.wikimedia.org",commonswiki:"commons.wikimedia.org",dkwikimedia:"dk.wikimedia.org",donatewiki:"donate.wikimedia.org",etwikimedia:"ee.wikimedia.org",execwiki:"exec.wikimedia.org",fdcwiki:"fdc.wikimedia.org",fiwikimedia:"fi.wikimedia.org",foundationwiki:"wikimediafoundation.org",grantswiki:"grants.wikimedia.org",iegcomwiki:"iegcom.wikimedia.org",ilwikimedia:"il.wikimedia.org",incubatorwiki:"incubator.wikimedia.org",internalwiki:"internal.wikimedia.org",labswiki:"wikitech.wikimedia.org",labtestwiki:"labtestwikitech.wikimedia.org",legalteamwiki:"legalteam.wikimedia.org",loginwiki:"login.wikimedia.org",mediawikiwiki:"mediawiki.org",metawiki:"meta.wikimedia.org",mkwikimedia:"mk.wikimedia.org",movementroleswiki:"movementroles.wikimedia.org",mxwikimedia:"mx.wikimedia.org",nlwikimedia:"nl.wikimedia.org",nowikimedia:"no.wikimedia.org",noboard_chapterswikimedia:"noboard-chapters.wikimedia.org",nostalgiawiki:"nostalgia.wikipedia.org",nycwikimedia:"nyc.wikimedia.org",nzwikimedia:"nz.wikimedia.org",officewiki:"office.wikimedia.org",ombudsmenwiki:"ombudsmen.wikimedia.org",otrs_wikiwiki:"otrs-wiki.wikimedia.org",outreachwiki:"outreach.wikimedia.org",pa_uswikimedia:"pa-us.wikimedia.org",plwikimedia:"pl.wikimedia.org",qualitywiki:"quality.wikimedia.org",rswikimedia:"rs.wikimedia.org",ruwikimedia:"ru.wikimedia.org",sewikimedia:"se.wikimedia.org",searchcomwiki:"searchcom.wikimedia.org",sourceswiki:"wikisource.org",spcomwiki:"spcom.wikimedia.org",specieswiki:"species.wikimedia.org",stewardwiki:"steward.wikimedia.org",strategywiki:"strategy.wikimedia.org",tenwiki:"ten.wikipedia.org",testwiki:"test.wikipedia.org",test2wiki:"test2.wikipedia.org",testwikidatawiki:"test.wikidata.org",trwikimedia:"tr.wikimedia.org",transitionteamwiki:"transitionteam.wikimedia.org",uawikimedia:"ua.wikimedia.org",ukwikimedia:"uk.wikimedia.org",usabilitywiki:"usability.wikimedia.org",votewiki:"vote.wikimedia.org",wg_enwiki:"wg-en.wikipedia.org",wikidatawiki:"wikidata.org",wikimania2005wiki:"wikimania2005.wikimedia.org",wikimania2006wiki:"wikimania2006.wikimedia.org",wikimania2007wiki:"wikimania2007.wikimedia.org",wikimania2008wiki:"wikimania2008.wikimedia.org",wikimania2009wiki:"wikimania2009.wikimedia.org",wikimania2010wiki:"wikimania2010.wikimedia.org",wikimania2011wiki:"wikimania2011.wikimedia.org",wikimania2012wiki:"wikimania2012.wikimedia.org",wikimania2013wiki:"wikimania2013.wikimedia.org",wikimania2014wiki:"wikimania2014.wikimedia.org",wikimania2015wiki:"wikimania2015.wikimedia.org",wikimania2016wiki:"wikimania2016.wikimedia.org",wikimania2017wiki:"wikimania2017.wikimedia.org",wikimaniateamwiki:"wikimaniateam.wikimedia.org",zerowiki:"zero.wikimedia.org"};b.exports=d},{}]},{},[3,4,5,6,7,8,9,2]); \ No newline at end of file +$(this.config.logarithmicCheckbox).prop("checked",d)}this.isLogarithmic()&&(c.scales=Object.assign({},c.scales,{yAxes:[{type:"logarithmic",ticks:{callback:function(a,c,d){var e=a/Math.pow(10,Math.floor(Chart.helpers.log10(a)));return 1===e||2===e||5===e||0===c||c===d.length-1?b.formatNumber(a):""}}}]})),"radar"===this.chartType?c.scale.ticks.beginAtZero=$(".begin-at-zero-option").is(":checked"):c.scales.yAxes[0].ticks.beginAtZero=$(".begin-at-zero-option").is(":checked");var e=$(this.config.chart)[0].getContext("2d");this.chartObj=new Chart(e,{type:this.chartType,data:this.outputData,options:c}),$(".chart-specific").show(),$("#chart-legend").html(this.chartObj.generateLegend())}else $(".chart-specific").hide();this.pushParams()}},{key:"updateProgressBar",value:function(a){$(".progress-bar").css("width",a.toFixed(2)+"%")}}]),b}(a)};b.exports=h},{}],6:[function(a,b,c){"use strict";Array.prototype.includes||(Array.prototype.includes=function(a){return-1!==this.indexOf(a)}),String.prototype.includes||(String.prototype.includes=function(a,b){return"number"!=typeof b&&(b=0),b+a.length>this.length?!1:-1!==this.indexOf(a,b)}),"function"!=typeof Object.assign&&!function(){Object.assign=function(a){if(void 0===a||null===a)throw new TypeError("Cannot convert undefined or null to object");for(var b=Object(a),c=1;c>>0,d=arguments[1],e=void 0,f=0;c>f;f++)if(e=b[f],a.call(d,e,f,b))return e}),Array.prototype.fill||(Array.prototype.fill=function(a){if(null===this)throw new TypeError("this is null or not defined");for(var b=Object(this),c=b.length>>>0,d=arguments[1],e=d>>0,f=0>e?Math.max(c+e,0):Math.min(e,c),g=arguments[2],h=void 0===g?c:g>>0,i=0>h?Math.max(c+h,0):Math.min(h,c);i>f;)b[f]=a,f++;return b})},{}],7:[function(a,b,c){"use strict";function d(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function e(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function g(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var h=function(){function a(a,b){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!b||c.length!==b);d=!0);}catch(i){e=!0,f=i}finally{try{!d&&h["return"]&&h["return"]()}finally{if(e)throw f}}return c}return function(b,c){if(Array.isArray(b))return b;if(Symbol.iterator in Object(b))return a(b,c);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),i=function(){function a(a,b){for(var c=0;c"+location.hostname+i+"")}var j=d({},i18nLang,"/pageviews/messages/"+i18nLang+".json");return"en"!==i18nLang&&(j.en="/pageviews/messages/en.json"),$.i18n({locale:i18nLang}).load(j).then(c.initialize.bind(c)),c}return g(b,a),i(b,[{key:"addSiteNotice",value:function(a,b,c,d){c=c?""+c+" ":"";var e=c+b;d?(d=" alert-dismissable",e='\n '+e):d="",$(".site-notice").append("
"+e+"
")}},{key:"addInvalidParamNotice",value:function(a){this.addSiteNotice("danger",$.i18n("param-error-3",a,"/"+this.app+"/url_structure"),$.i18n("invalid-params"),!0)}},{key:"validateDateRange",value:function(a){if(a.range)this.setSpecialRange(a.range)||(this.addInvalidParamNotice("range"),this.setSpecialRange(this.config.defaults.dateRange));else if(a.start){var b=/\d{4}-\d{2}-\d{2}$/,c=void 0,d=void 0;if(!a.start||!b.test(a.start))return this.addInvalidParamNotice("start"),!1;if(c=moment(a.start),!a.end||!b.test(a.end))return this.addInvalidParamNotice("end"),!1;if(d=moment(a.end),cd)return this.addSiteNotice("danger",$.i18n("param-error-2"),$.i18n("invalid-params"),!0),!1;this.daterangepicker.startDate=c,this.daterangepicker.setEndDate(d)}else this.setSpecialRange(this.config.defaults.dateRange);return!0}},{key:"clearSiteNotices",value:function(){$(".site-notice").html("")}},{key:"clearMessages",value:function(){$(".message-container").html("")}},{key:"downloadData",value:function(a,b){var c=encodeURI(a),d=document.createElement("a");if("string"==typeof d.download){document.body.appendChild(d);var e=this.getExportFilename()+"."+b;d.download=e,d.href=c,d.click(),document.body.removeChild(d)}else window.open(c)}},{key:"fillInSettings",value:function(){var a=this;$.each($("#settings-modal input"),function(b,c){"checkbox"===c.type?c.checked="true"===a[c.name]:c.checked=a[c.name]===c.value})}},{key:"focusSelect2",value:function(){$(".select2-selection").trigger("click"),$(".select2-search__field").focus()}},{key:"formatNumber",value:function(a){var b=this.getFromLocalStorage("pageviews-settings-numericalFormatting")||this.config.defaults.numericalFormatting;return"true"===b?this.n(a):a}},{key:"formatYAxisNumber",value:function(a){return a%1===0?this.formatNumber(a):null}},{key:"getDateHeadings",value:function(a){for(var b=[],c=moment(this.daterangepicker.endDate).add(1,"d"),d=moment(this.daterangepicker.startDate);d.isBefore(c);d.add(1,"d"))a?b.push(d.format(this.dateFormat)):b.push(d.format("YYYY-MM-DD"));return b}},{key:"getExpandedPageURL",value:function(a){return"//"+this.project+".org/w/index.php?title="+encodeURIComponent(a.score()).replace(/'/,escape)}},{key:"getExportFilename",value:function(){var a=this.daterangepicker.startDate.startOf("day").format("YYYYMMDD"),b=this.daterangepicker.endDate.startOf("day").format("YYYYMMDD");return this.app+"-"+a+"-"+b}},{key:"getPageLink",value:function(a,b){return''+a.descore().escape()+""}},{key:"getPageURL",value:function(a){var b=arguments.length<=1||void 0===arguments[1]?this.project:arguments[1];return"//"+b.replace(/\.org$/,"").escape()+".org/wiki/"+encodeURIComponent(a.score()).replace(/'/,escape)}},{key:"getSiteLink",value:function(a){return''+a+""}},{key:"getLocaleDateString",value:function(){if(!navigator.language)return this.config.defaults.dateFormat;var a={"ar-sa":"DD/MM/YY","bg-bg":"DD.M.YYYY","ca-es":"DD/MM/YYYY","zh-tw":"YYYY/M/D","cs-cz":"D.M.YYYY","da-dk":"DD-MM-YYYY","de-de":"DD.MM.YYYY","el-gr":"D/M/YYYY","en-us":"M/D/YYYY","fi-fi":"D.M.YYYY","fr-fr":"DD/MM/YYYY","he-il":"DD/MM/YYYY","hu-hu":"YYYY. MM. DD.","is-is":"D.M.YYYY","it-it":"DD/MM/YYYY","ja-jp":"YYYY/MM/DD","ko-kr":"YYYY-MM-DD","nl-nl":"D-M-YYYY","nb-no":"DD.MM.YYYY","pl-pl":"YYYY-MM-DD","pt-br":"D/M/YYYY","ro-ro":"DD.MM.YYYY","ru-ru":"DD.MM.YYYY","hr-hr":"D.M.YYYY","sk-sk":"D. M. YYYY","sq-al":"YYYY-MM-DD","sv-se":"YYYY-MM-DD","th-th":"D/M/YYYY","tr-tr":"DD.MM.YYYY","ur-pk":"DD/MM/YYYY","id-id":"DD/MM/YYYY","uk-ua":"DD.MM.YYYY","be-by":"DD.MM.YYYY","sl-si":"D.M.YYYY","et-ee":"D.MM.YYYY","lv-lv":"YYYY.MM.DD.","lt-lt":"YYYY.MM.DD","fa-ir":"MM/DD/YYYY","vi-vn":"DD/MM/YYYY","hy-am":"DD.MM.YYYY","az-latn-az":"DD.MM.YYYY","eu-es":"YYYY/MM/DD","mk-mk":"DD.MM.YYYY","af-za":"YYYY/MM/DD","ka-ge":"DD.MM.YYYY","fo-fo":"DD-MM-YYYY","hi-in":"DD-MM-YYYY","ms-my":"DD/MM/YYYY","kk-kz":"DD.MM.YYYY","ky-kg":"DD.MM.YY","sw-ke":"M/d/YYYY","uz-latn-uz":"DD/MM YYYY","tt-ru":"DD.MM.YYYY","pa-in":"DD-MM-YY","gu-in":"DD-MM-YY","ta-in":"DD-MM-YYYY","te-in":"DD-MM-YY","kn-in":"DD-MM-YY","mr-in":"DD-MM-YYYY","sa-in":"DD-MM-YYYY","mn-mn":"YY.MM.DD","gl-es":"DD/MM/YY","kok-in":"DD-MM-YYYY","syr-sy":"DD/MM/YYYY","dv-mv":"DD/MM/YY","ar-iq":"DD/MM/YYYY","zh-cn":"YYYY/M/D","de-ch":"DD.MM.YYYY","en-gb":"DD/MM/YYYY","es-mx":"DD/MM/YYYY","fr-be":"D/MM/YYYY","it-ch":"DD.MM.YYYY","nl-be":"D/MM/YYYY","nn-no":"DD.MM.YYYY","pt-pt":"DD-MM-YYYY","sr-latn-cs":"D.M.YYYY","sv-fi":"D.M.YYYY","az-cyrl-az":"DD.MM.YYYY","ms-bn":"DD/MM/YYYY","uz-cyrl-uz":"DD.MM.YYYY","ar-eg":"DD/MM/YYYY","zh-hk":"D/M/YYYY","de-at":"DD.MM.YYYY","en-au":"D/MM/YYYY","es-es":"DD/MM/YYYY","fr-ca":"YYYY-MM-DD","sr-cyrl-cs":"D.M.YYYY","ar-ly":"DD/MM/YYYY","zh-sg":"D/M/YYYY","de-lu":"DD.MM.YYYY","en-ca":"DD/MM/YYYY","es-gt":"DD/MM/YYYY","fr-ch":"DD.MM.YYYY","ar-dz":"DD-MM-YYYY","zh-mo":"D/M/YYYY","de-li":"DD.MM.YYYY","en-nz":"D/MM/YYYY","es-cr":"DD/MM/YYYY","fr-lu":"DD/MM/YYYY","ar-ma":"DD-MM-YYYY","en-ie":"DD/MM/YYYY","es-pa":"MM/DD/YYYY","fr-mc":"DD/MM/YYYY","ar-tn":"DD-MM-YYYY","en-za":"YYYY/MM/DD","es-do":"DD/MM/YYYY","ar-om":"DD/MM/YYYY","en-jm":"DD/MM/YYYY","es-ve":"DD/MM/YYYY","ar-ye":"DD/MM/YYYY","en-029":"MM/DD/YYYY","es-co":"DD/MM/YYYY","ar-sy":"DD/MM/YYYY","en-bz":"DD/MM/YYYY","es-pe":"DD/MM/YYYY","ar-jo":"DD/MM/YYYY","en-tt":"DD/MM/YYYY","es-ar":"DD/MM/YYYY","ar-lb":"DD/MM/YYYY","en-zw":"M/D/YYYY","es-ec":"DD/MM/YYYY","ar-kw":"DD/MM/YYYY","en-ph":"M/D/YYYY","es-cl":"DD-MM-YYYY","ar-ae":"DD/MM/YYYY","es-uy":"DD/MM/YYYY","ar-bh":"DD/MM/YYYY","es-py":"DD/MM/YYYY","ar-qa":"DD/MM/YYYY","es-bo":"DD/MM/YYYY","es-sv":"DD/MM/YYYY","es-hn":"DD/MM/YYYY","es-ni":"DD/MM/YYYY","es-pr":"DD/MM/YYYY","am-et":"D/M/YYYY","tzm-latn-dz":"DD-MM-YYYY","iu-latn-ca":"D/MM/YYYY","sma-no":"DD.MM.YYYY","mn-mong-cn":"YYYY/M/D","gd-gb":"DD/MM/YYYY","en-my":"D/M/YYYY","prs-af":"DD/MM/YY","bn-bd":"DD-MM-YY","wo-sn":"DD/MM/YYYY","rw-rw":"M/D/YYYY","qut-gt":"DD/MM/YYYY","sah-ru":"MM.DD.YYYY","gsw-fr":"DD/MM/YYYY","co-fr":"DD/MM/YYYY","oc-fr":"DD/MM/YYYY","mi-nz":"DD/MM/YYYY","ga-ie":"DD/MM/YYYY","se-se":"YYYY-MM-DD","br-fr":"DD/MM/YYYY","smn-fi":"D.M.YYYY","moh-ca":"M/D/YYYY","arn-cl":"DD-MM-YYYY","ii-cn":"YYYY/M/D","dsb-de":"D. M. YYYY","ig-ng":"D/M/YYYY","kl-gl":"DD-MM-YYYY","lb-lu":"DD/MM/YYYY","ba-ru":"DD.MM.YY","nso-za":"YYYY/MM/DD","quz-bo":"DD/MM/YYYY","yo-ng":"D/M/YYYY","ha-latn-ng":"D/M/YYYY","fil-ph":"M/D/YYYY","ps-af":"DD/MM/YY","fy-nl":"D-M-YYYY","ne-np":"M/D/YYYY","se-no":"DD.MM.YYYY","iu-cans-ca":"D/M/YYYY","sr-latn-rs":"D.M.YYYY","si-lk":"YYYY-MM-DD","sr-cyrl-rs":"D.M.YYYY","lo-la":"DD/MM/YYYY","km-kh":"YYYY-MM-DD","cy-gb":"DD/MM/YYYY","bo-cn":"YYYY/M/D","sms-fi":"D.M.YYYY","as-in":"DD-MM-YYYY","ml-in":"DD-MM-YY","en-in":"DD-MM-YYYY","or-in":"DD-MM-YY","bn-in":"DD-MM-YY","tk-tm":"DD.MM.YY","bs-latn-ba":"D.M.YYYY","mt-mt":"DD/MM/YYYY","sr-cyrl-me":"D.M.YYYY","se-fi":"D.M.YYYY","zu-za":"YYYY/MM/DD","xh-za":"YYYY/MM/DD","tn-za":"YYYY/MM/DD","hsb-de":"D. M. YYYY","bs-cyrl-ba":"D.M.YYYY","tg-cyrl-tj":"DD.MM.yy","sr-latn-ba":"D.M.YYYY","smj-no":"DD.MM.YYYY","rm-ch":"DD/MM/YYYY","smj-se":"YYYY-MM-DD","quz-ec":"DD/MM/YYYY","quz-pe":"DD/MM/YYYY","hr-ba":"D.M.YYYY.","sr-latn-me":"D.M.YYYY","sma-se":"YYYY-MM-DD","en-sg":"D/M/YYYY","ug-cn":"YYYY-M-D","sr-cyrl-ba":"D.M.YYYY","es-us":"M/D/YYYY"},b=navigator.language.toLowerCase();return a[b]||this.config.defaults.dateFormat}},{key:"getFromLocalStorage",value:function(a){try{return localStorage.getItem(a)}catch(b){return storage[a]}}},{key:"getBugReportURL",value:function(a){var b="https://meta.wikimedia.org/w/index.php?title=Talk:Pageviews_Analysis&action=edit"+("§ion=new&preloadtitle="+this.app.upcase()+" bug report");return a?b+"&preload=Talk:Pageviews_Analysis/Preload&preloadparams[]="+a:b}},{key:"getSiteInfo",value:function(a){var b=this;a=a.replace(/\.org$/,"");var c=$.Deferred(),d="pageviews-siteinfo-"+a;return simpleStorage.hasKey(d)?(this.siteInfo=simpleStorage.get(d),c.resolve(this.siteInfo)):$.ajax({url:"https://"+a+".org/w/api.php",data:{action:"query",meta:"siteinfo",siprop:"general|namespaces",format:"json"},dataType:"jsonp"}).done(function(a){b.siteInfo=a.query,simpleStorage.set(d,b.siteInfo,{TTL:6048e5}),c.resolve(b.siteInfo)}).fail(function(a){c.reject(a)}),c}},{key:"getUserAgent",value:function(){return navigator.userAgent?navigator.userAgent:"Unknown"}},{key:"setLocalStorage",value:function(a,b){try{return localStorage.setItem(a,b)}catch(c){return storage[a]=b}}},{key:"hashCode",value:function(a){return a.split("").reduce(function(a,b){return(a<<5)-a+b.charCodeAt(0)},0)}},{key:"isChartApp",value:function(){return!this.isListApp()}},{key:"isListApp",value:function(){return["langviews","massviews","redirectviews"].includes(this.app)}},{key:"isMultilangProject",value:function(){return new RegExp(".*?\\.("+b.multilangProjects.join("|")+")").test(this.project)}},{key:"mapNormalizedPageNames",value:function(a,b){return b.forEach(function(b){a=a.map(function(a){return b.from===a?b.to:a})}),a}},{key:"n",value:function(a){return new Number(a).toLocaleString()}},{key:"normalizePageNames",value:function(a){var b=this,c=$.Deferred();return $.ajax({url:"https://"+this.project+".org/w/api.php?action=query&prop=info&format=json&titles="+a.join("|"),dataType:"jsonp"}).then(function(d){return d.query.normalized&&(a=b.mapNormalizedPageNames(a,d.query.normalized)),c.resolve(a)})}},{key:"numDaysInRange",value:function(){return this.daterangepicker.endDate.diff(this.daterangepicker.startDate,"days")+1}},{key:"parseQueryString",value:function(a){for(var b=decodeURI(location.search.slice(1)),c=b.split("&"),d={},e=0;e").text(a).html();$("").appendTo(b.config.select2Input)}),$(this.config.select2Input).select2("val",a),$(this.config.select2Input).select2("close"),a}},{key:"setSpecialRange",value:function(a){var b=Object.keys(this.config.specialRanges).indexOf(a),c=void 0,d=void 0;if(a.includes("latest-")){var e=parseInt(a.replace("latest-",""),10)||20,f=this.config.specialRanges.latest(e),g=h(f,2);c=g[0],d=g[1]}else{if(!(b>=0))return;var i="latest"===a?this.config.specialRanges.latest():this.config.specialRanges[a],j=h(i,2);c=j[0],d=j[1],$(".daterangepicker .ranges li").eq(b).trigger("click")}return this.specialRange={range:a,value:c.format(this.dateFormat)+" - "+d.format(this.dateFormat)},this.daterangepicker.startDate=c,this.daterangepicker.setEndDate(d),this.specialRange}},{key:"setupSelect2Colors",value:function(){var a=this;return this.colorsStyleEl&&this.colorsStyleEl.remove(),this.colorsStyleEl=document.createElement("style"),this.colorsStyleEl.appendChild(document.createTextNode("")),document.head.appendChild(this.colorsStyleEl),this.config.colors.forEach(function(b,c){a.colorsStyleEl.sheet.insertRule(".select2-selection__choice:nth-of-type("+(c+1)+") { background: "+b+" !important }",0)}),this.colorsStyleEl.sheet}},{key:"setupListeners",value:function(){var a=this;$("a[href='#']").on("click",function(a){return a.preventDefault()}),$(".lang-link").on("click",function(b){var c=moment().add(a.config.cookieExpiry,"days").toDate().toGMTString();document.cookie="TsIntuition_userlang="+$(b.target).data("lang")+"; expires="+c+"; path=/";var d=Math.floor(Date.now()/1e3)+24*a.config.cookieExpiry*60*60;document.cookie="TsIntuition_expiry="+d+"; expires="+c+"; path=/",location.reload()}),$(".download-csv").on("click",this.exportCSV.bind(this)),$(".download-json").on("click",this.exportJSON.bind(this)),$(this.config.projectInput).on("focusin",function(){this.dataset.value=this.value}),$(this.config.projectInput).on("change",function(b){return a.validateProject(b)})}},{key:"setupSettingsModal",value:function(){this.fillInSettings(),$(".save-settings-btn").on("click",this.saveSettings.bind(this)),$(".cancel-settings-btn").on("click",this.fillInSettings.bind(this))}},{key:"setupDateRangeSelector",value:function(){var a=this,b=$(this.config.dateRangeSelector),c={};Object.keys(this.config.specialRanges).forEach(function(b){"latest"!==b&&(c[$.i18n(b)]=a.config.specialRanges[b])});var d={locale:{format:this.dateFormat,applyLabel:$.i18n("apply"),cancelLabel:$.i18n("cancel"),customRangeLabel:$.i18n("custom-range"),daysOfWeek:[$.i18n("su"),$.i18n("mo"),$.i18n("tu"),$.i18n("we"),$.i18n("th"),$.i18n("fr"),$.i18n("sa")],monthNames:[$.i18n("january"),$.i18n("february"),$.i18n("march"),$.i18n("april"),$.i18n("may"),$.i18n("june"),$.i18n("july"),$.i18n("august"),$.i18n("september"),$.i18n("october"),$.i18n("november"),$.i18n("december")]},startDate:moment().subtract(this.config.daysAgo,"days"),minDate:this.config.minDate,maxDate:this.config.maxDate,ranges:c};this.config.dateLimit&&(d.dateLimit={days:this.config.dateLimit}),b.daterangepicker(d),$(".daterangepicker").append($("
").addClass("daterange-notice").html($.i18n("date-notice",document.title,"stats.grok.se",$.i18n("july")+" 2015"))),$(".daterangepicker .ranges li").on("click",function(b){var c=$(".daterangepicker .ranges li").index(b.target),d=a.daterangepicker.container,e=d.find(".daterangepicker_input input");a.specialRange={range:Object.keys(a.config.specialRanges)[c],value:e[0].value+" - "+e[1].value}}),$(this.config.dateRangeSelector).on("apply.daterangepicker",function(b,c){c.chosenLabel===$.i18n("custom-range")&&(a.specialRange=null,a.daterangepicker.updateElement())})}},{key:"setThrottle",value:function(){this.isRequestCached()||simpleStorage.set("pageviews-throttle",!0,{TTL:9e4})}},{key:"showFatalErrors",value:function(a){var b=this;if(this.clearMessages(),a.forEach(function(a){b.writeMessage(""+$.i18n("fatal-error")+": "+a+"")}),this.debug)throw a[0];a&&a[0]&&a[0].stack&&$.ajax({method:"POST",url:"//tools.wmflabs.org/musikanimal/paste",data:{content:"\ndate: "+moment().utc().format()+("\ntool: "+this.app)+("\nlanguage: "+i18nLang)+("\nchart: "+this.chartType)+("\nurl: "+document.location.href)+("\nuserAgent: "+this.getUserAgent())+("\ntrace: "+a[0].stack),title:"Pageviews Analysis error report: "+a[0]}}).done(function(a){a&&a.result&&a.result.objectName?b.writeMessage($.i18n("error-please-report",b.getBugReportURL(a.result.objectName))):b.writeMessage($.i18n("error-please-report",b.getBugReportURL()))}).fail(function(){b.writeMessage($.i18n("error-please-report",b.getBugReportURL()))})}},{key:"splash",value:function(){var a="background: #eee; color: #555; padding: 4px; font-family:monospace";console.log("%c ___ __ _ _ ",a),console.log("%c | _ \\ __ _ / _` | ___ __ __ (_) ___ __ __ __ ___ ",a),console.log("%c | _/ / _` | \\__, | / -_) \\ V / | | / -_) \\ V V / (_-< ",a),console.log("%c _|_|_ \\__,_| |___/ \\___| _\\_/_ _|_|_ \\___| \\_/\\_/ /__/_ ",a),console.log('%c _| """ |_|"""""|_|"""""|_|"""""|_|"""""|_|"""""|_|"""""|_|"""""|_|"""""| ',a),console.log("%c \"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-' ",a),console.log("%c ___ _ _ _ _ ",a),console.log("%c o O O / \\ _ _ __ _ | || | | | ___ (_) ___ ",a),console.log("%c o | - | | ' \\ / _` | \\_, | | | (_-< | | (_-< ",a),console.log("%c TS__[O] |_|_| |_||_| \\__,_| _|__/ _|_|_ /__/_ _|_|_ /__/_ ",a),console.log('%c {======|_|"""""|_|"""""|_|"""""|_| """"|_|"""""|_|"""""|_|"""""|_|"""""| ',a),console.log("%c ./o--000'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-' ",a),console.log("%c ",a),console.log("%c Copyright © "+(new Date).getFullYear()+" MusikAnimal, Kaldari, Marcel Ruiz Forns ",a)}},{key:"startSpinny",value:function(){var a=this;$(".chart-container").addClass("loading"),clearTimeout(this.timeout),this.timeout=setTimeout(function(b){a.resetView(),a.writeMessage(""+$.i18n("fatal-error")+":\n "+$.i18n("error-timed-out")+"\n "+$.i18n("error-please-report",a.getBugReportURL())+"\n ",!0)},2e4)}},{key:"stopSpinny",value:function(){$(".chart-container").removeClass("loading"),clearTimeout(this.timeout)}},{key:"underscorePageNames",value:function(a){return a.map(function(a){return decodeURIComponent(a).score()})}},{key:"updateInterAppLinks",value:function(){var a=this;$(".interapp-link").each(function(b,c){var d=c.href.split("?")[0];c.classList.contains("interapp-link--siteviews")?c.href=d+"?sites="+a.project.escape()+".org":c.href=d+"?project="+a.project.escape()+".org"})}},{key:"validateParams",value:function(a){var b=this;return this.config.validateParams.forEach(function(c){"project"===c&&a.project&&(a.project=a.project.replace(/^www\./,""));var d=b.config.defaults[c],e=a[c];d&&!b.config.validParams[c].includes(e)&&(e&&b.addInvalidParamNotice(c),a[c]=d)}),a}},{key:"validateProject",value:function(){var a=arguments.length<=0||void 0===arguments[0]?!1:arguments[0],b=$(this.config.projectInput)[0],c=b.value.replace(/^www\./,""),d=!1;return a&&!this.isMultilangProject()?(this.writeMessage($.i18n("invalid-lang-project",""+c.escape()+""),!0),c=b.dataset.value):l.includes(c)?(this.clearMessages(),this.updateInterAppLinks(),d=!0):(this.writeMessage($.i18n("invalid-project",""+c.escape()+""),!0),c=b.dataset.value),b.value=c,d}},{key:"writeMessage",value:function(a,b){return b&&this.clearMessages(),$(".message-container").append("
"+a+"
")}},{key:"dateFormat",get:function(){return"true"===this.localizeDateFormat?this.getLocaleDateString():this.config.defaults.dateFormat}},{key:"daterangepicker",get:function(){return $(this.config.dateRangeSelector).data("daterangepicker")}},{key:"project",get:function(){var a=$(this.config.projectInput).val();return a?a.toLowerCase().replace(/.org$/,""):null}}],[{key:"multilangProjects",get:function(){return["wikipedia","wikibooks","wikinews","wikiquote","wikisource","wikiversity","wikivoyage"]}}]),b}(j);b.exports=m},{"./pv_config":8,"./site_map":9}],8:[function(a,b,c){"use strict";function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var e=function(){function a(a,b){for(var c=0;c1?"line":"bar"},dateFormat:"YYYY-MM-DD",localizeDateFormat:"true",numericalFormatting:"true",bezierCurve:"false",autoLogDetection:"true",beginAtZero:"false",rememberChart:"true",agent:"user",platform:"all-access",project:"en.wikipedia.org"},globalChartOpts:{animation:{duration:500,easing:"easeInOutQuart"},hover:{animationDuration:0},legend:{display:!1}},linearCharts:["line","bar","radar"],linearOpts:{scales:{yAxes:[{ticks:{callback:function(a){return b.formatNumber(a)}}}]},legendCallback:function(a){return b.config.linearLegend(a.data.datasets,c)}},daysAgo:20,minDate:moment("2015-07-01").startOf("day"),maxDate:moment().subtract(1,"days").startOf("day"),specialRanges:{"last-week":[moment().subtract(1,"week").startOf("week"),moment().subtract(1,"week").endOf("week")],"this-month":[moment().startOf("month"),moment().subtract(1,"days").startOf("day")],"last-month":[moment().subtract(1,"month").startOf("month"),moment().subtract(1,"month").endOf("month")],latest:function(){var a=arguments.length<=0||void 0===arguments[0]?c.config.daysAgo:arguments[0];return[moment().subtract(a,"days").startOf("day"),c.config.maxDate]}},timestampFormat:"YYYYMMDD00",validParams:{agent:["all-agents","user","spider","bot"],platform:["all-access","desktop","mobile-app","mobile-web"],project:g}}}return e(a,[{key:"linearTooltips",get:function(){var a=this;return{mode:"label",callbacks:{label:function(b){return Number.isNaN(b.yLabel)?" "+$.i18n("unknown"):" "+a.formatNumber(b.yLabel)}},bodyFontSize:14,bodySpacing:7,caretSize:0,titleFontSize:14}}},{key:"circularTooltips",get:function(){var a=this;return{callbacks:{label:function b(c,d){var e=d.datasets[c.datasetIndex].data[c.index],b=d.labels[c.index];return Number.isNaN(e)?b+": "+$.i18n("unknown"):b+": "+a.formatNumber(e)}},bodyFontSize:14,bodySpacing:7,caretSize:0,titleFontSize:14}}}]),a}();b.exports=h},{"./site_map":9}],9:[function(a,b,c){"use strict";var d={aawiki:"aa.wikipedia.org",aawiktionary:"aa.wiktionary.org",aawikibooks:"aa.wikibooks.org",abwiki:"ab.wikipedia.org",abwiktionary:"ab.wiktionary.org",acewiki:"ace.wikipedia.org",adywiki:"ady.wikipedia.org",afwiki:"af.wikipedia.org",afwiktionary:"af.wiktionary.org",afwikibooks:"af.wikibooks.org",afwikiquote:"af.wikiquote.org",akwiki:"ak.wikipedia.org",akwiktionary:"ak.wiktionary.org",akwikibooks:"ak.wikibooks.org",alswiki:"als.wikipedia.org",alswiktionary:"als.wiktionary.org",alswikibooks:"als.wikibooks.org",alswikiquote:"als.wikiquote.org",amwiki:"am.wikipedia.org",amwiktionary:"am.wiktionary.org",amwikiquote:"am.wikiquote.org",anwiki:"an.wikipedia.org",anwiktionary:"an.wiktionary.org",angwiki:"ang.wikipedia.org",angwiktionary:"ang.wiktionary.org",angwikibooks:"ang.wikibooks.org",angwikiquote:"ang.wikiquote.org",angwikisource:"ang.wikisource.org",arwiki:"ar.wikipedia.org",arwiktionary:"ar.wiktionary.org",arwikibooks:"ar.wikibooks.org",arwikinews:"ar.wikinews.org",arwikiquote:"ar.wikiquote.org",arwikisource:"ar.wikisource.org",arwikiversity:"ar.wikiversity.org",arcwiki:"arc.wikipedia.org",arzwiki:"arz.wikipedia.org",aswiki:"as.wikipedia.org",aswiktionary:"as.wiktionary.org",aswikibooks:"as.wikibooks.org",aswikisource:"as.wikisource.org",astwiki:"ast.wikipedia.org",astwiktionary:"ast.wiktionary.org",astwikibooks:"ast.wikibooks.org",astwikiquote:"ast.wikiquote.org",avwiki:"av.wikipedia.org", +avwiktionary:"av.wiktionary.org",aywiki:"ay.wikipedia.org",aywiktionary:"ay.wiktionary.org",aywikibooks:"ay.wikibooks.org",azwiki:"az.wikipedia.org",azwiktionary:"az.wiktionary.org",azwikibooks:"az.wikibooks.org",azwikiquote:"az.wikiquote.org",azwikisource:"az.wikisource.org",azbwiki:"azb.wikipedia.org",bawiki:"ba.wikipedia.org",bawikibooks:"ba.wikibooks.org",barwiki:"bar.wikipedia.org",bat_smgwiki:"bat-smg.wikipedia.org",bclwiki:"bcl.wikipedia.org",bewiki:"be.wikipedia.org",bewiktionary:"be.wiktionary.org",bewikibooks:"be.wikibooks.org",bewikiquote:"be.wikiquote.org",bewikisource:"be.wikisource.org",be_x_oldwiki:"be-tarask.wikipedia.org",bgwiki:"bg.wikipedia.org",bgwiktionary:"bg.wiktionary.org",bgwikibooks:"bg.wikibooks.org",bgwikinews:"bg.wikinews.org",bgwikiquote:"bg.wikiquote.org",bgwikisource:"bg.wikisource.org",bhwiki:"bh.wikipedia.org",bhwiktionary:"bh.wiktionary.org",biwiki:"bi.wikipedia.org",biwiktionary:"bi.wiktionary.org",biwikibooks:"bi.wikibooks.org",bjnwiki:"bjn.wikipedia.org",bmwiki:"bm.wikipedia.org",bmwiktionary:"bm.wiktionary.org",bmwikibooks:"bm.wikibooks.org",bmwikiquote:"bm.wikiquote.org",bnwiki:"bn.wikipedia.org",bnwiktionary:"bn.wiktionary.org",bnwikibooks:"bn.wikibooks.org",bnwikisource:"bn.wikisource.org",bowiki:"bo.wikipedia.org",bowiktionary:"bo.wiktionary.org",bowikibooks:"bo.wikibooks.org",bpywiki:"bpy.wikipedia.org",brwiki:"br.wikipedia.org",brwiktionary:"br.wiktionary.org",brwikiquote:"br.wikiquote.org",brwikisource:"br.wikisource.org",bswiki:"bs.wikipedia.org",bswiktionary:"bs.wiktionary.org",bswikibooks:"bs.wikibooks.org",bswikinews:"bs.wikinews.org",bswikiquote:"bs.wikiquote.org",bswikisource:"bs.wikisource.org",bugwiki:"bug.wikipedia.org",bxrwiki:"bxr.wikipedia.org",cawiki:"ca.wikipedia.org",cawiktionary:"ca.wiktionary.org",cawikibooks:"ca.wikibooks.org",cawikinews:"ca.wikinews.org",cawikiquote:"ca.wikiquote.org",cawikisource:"ca.wikisource.org",cbk_zamwiki:"cbk-zam.wikipedia.org",cdowiki:"cdo.wikipedia.org",cewiki:"ce.wikipedia.org",cebwiki:"ceb.wikipedia.org",chwiki:"ch.wikipedia.org",chwiktionary:"ch.wiktionary.org",chwikibooks:"ch.wikibooks.org",chowiki:"cho.wikipedia.org",chrwiki:"chr.wikipedia.org",chrwiktionary:"chr.wiktionary.org",chywiki:"chy.wikipedia.org",ckbwiki:"ckb.wikipedia.org",cowiki:"co.wikipedia.org",cowiktionary:"co.wiktionary.org",cowikibooks:"co.wikibooks.org",cowikiquote:"co.wikiquote.org",crwiki:"cr.wikipedia.org",crwiktionary:"cr.wiktionary.org",crwikiquote:"cr.wikiquote.org",crhwiki:"crh.wikipedia.org",cswiki:"cs.wikipedia.org",cswiktionary:"cs.wiktionary.org",cswikibooks:"cs.wikibooks.org",cswikinews:"cs.wikinews.org",cswikiquote:"cs.wikiquote.org",cswikisource:"cs.wikisource.org",cswikiversity:"cs.wikiversity.org",csbwiki:"csb.wikipedia.org",csbwiktionary:"csb.wiktionary.org",cuwiki:"cu.wikipedia.org",cvwiki:"cv.wikipedia.org",cvwikibooks:"cv.wikibooks.org",cywiki:"cy.wikipedia.org",cywiktionary:"cy.wiktionary.org",cywikibooks:"cy.wikibooks.org",cywikiquote:"cy.wikiquote.org",cywikisource:"cy.wikisource.org",dawiki:"da.wikipedia.org",dawiktionary:"da.wiktionary.org",dawikibooks:"da.wikibooks.org",dawikiquote:"da.wikiquote.org",dawikisource:"da.wikisource.org",dewiki:"de.wikipedia.org",dewiktionary:"de.wiktionary.org",dewikibooks:"de.wikibooks.org",dewikinews:"de.wikinews.org",dewikiquote:"de.wikiquote.org",dewikisource:"de.wikisource.org",dewikiversity:"de.wikiversity.org",dewikivoyage:"de.wikivoyage.org",diqwiki:"diq.wikipedia.org",dsbwiki:"dsb.wikipedia.org",dvwiki:"dv.wikipedia.org",dvwiktionary:"dv.wiktionary.org",dzwiki:"dz.wikipedia.org",dzwiktionary:"dz.wiktionary.org",eewiki:"ee.wikipedia.org",elwiki:"el.wikipedia.org",elwiktionary:"el.wiktionary.org",elwikibooks:"el.wikibooks.org",elwikinews:"el.wikinews.org",elwikiquote:"el.wikiquote.org",elwikisource:"el.wikisource.org",elwikiversity:"el.wikiversity.org",elwikivoyage:"el.wikivoyage.org",emlwiki:"eml.wikipedia.org",enwiki:"en.wikipedia.org",enwiktionary:"en.wiktionary.org",enwikibooks:"en.wikibooks.org",enwikinews:"en.wikinews.org",enwikiquote:"en.wikiquote.org",enwikisource:"en.wikisource.org",enwikiversity:"en.wikiversity.org",enwikivoyage:"en.wikivoyage.org",eowiki:"eo.wikipedia.org",eowiktionary:"eo.wiktionary.org",eowikibooks:"eo.wikibooks.org",eowikinews:"eo.wikinews.org",eowikiquote:"eo.wikiquote.org",eowikisource:"eo.wikisource.org",eswiki:"es.wikipedia.org",eswiktionary:"es.wiktionary.org",eswikibooks:"es.wikibooks.org",eswikinews:"es.wikinews.org",eswikiquote:"es.wikiquote.org",eswikisource:"es.wikisource.org",eswikiversity:"es.wikiversity.org",eswikivoyage:"es.wikivoyage.org",etwiki:"et.wikipedia.org",etwiktionary:"et.wiktionary.org",etwikibooks:"et.wikibooks.org",etwikiquote:"et.wikiquote.org",etwikisource:"et.wikisource.org",euwiki:"eu.wikipedia.org",euwiktionary:"eu.wiktionary.org",euwikibooks:"eu.wikibooks.org",euwikiquote:"eu.wikiquote.org",extwiki:"ext.wikipedia.org",fawiki:"fa.wikipedia.org",fawiktionary:"fa.wiktionary.org",fawikibooks:"fa.wikibooks.org",fawikinews:"fa.wikinews.org",fawikiquote:"fa.wikiquote.org",fawikisource:"fa.wikisource.org",fawikivoyage:"fa.wikivoyage.org",ffwiki:"ff.wikipedia.org",fiwiki:"fi.wikipedia.org",fiwiktionary:"fi.wiktionary.org",fiwikibooks:"fi.wikibooks.org",fiwikinews:"fi.wikinews.org",fiwikiquote:"fi.wikiquote.org",fiwikisource:"fi.wikisource.org",fiwikiversity:"fi.wikiversity.org",fiu_vrowiki:"fiu-vro.wikipedia.org",fjwiki:"fj.wikipedia.org",fjwiktionary:"fj.wiktionary.org",fowiki:"fo.wikipedia.org",fowiktionary:"fo.wiktionary.org",fowikisource:"fo.wikisource.org",frwiki:"fr.wikipedia.org",frwiktionary:"fr.wiktionary.org",frwikibooks:"fr.wikibooks.org",frwikinews:"fr.wikinews.org",frwikiquote:"fr.wikiquote.org",frwikisource:"fr.wikisource.org",frwikiversity:"fr.wikiversity.org",frwikivoyage:"fr.wikivoyage.org",frpwiki:"frp.wikipedia.org",frrwiki:"frr.wikipedia.org",furwiki:"fur.wikipedia.org",fywiki:"fy.wikipedia.org",fywiktionary:"fy.wiktionary.org",fywikibooks:"fy.wikibooks.org",gawiki:"ga.wikipedia.org",gawiktionary:"ga.wiktionary.org",gawikibooks:"ga.wikibooks.org",gawikiquote:"ga.wikiquote.org",gagwiki:"gag.wikipedia.org",ganwiki:"gan.wikipedia.org",gdwiki:"gd.wikipedia.org",gdwiktionary:"gd.wiktionary.org",glwiki:"gl.wikipedia.org",glwiktionary:"gl.wiktionary.org",glwikibooks:"gl.wikibooks.org",glwikiquote:"gl.wikiquote.org",glwikisource:"gl.wikisource.org",glkwiki:"glk.wikipedia.org",gnwiki:"gn.wikipedia.org",gnwiktionary:"gn.wiktionary.org",gnwikibooks:"gn.wikibooks.org",gomwiki:"gom.wikipedia.org",gotwiki:"got.wikipedia.org",gotwikibooks:"got.wikibooks.org",guwiki:"gu.wikipedia.org",guwiktionary:"gu.wiktionary.org",guwikibooks:"gu.wikibooks.org",guwikiquote:"gu.wikiquote.org",guwikisource:"gu.wikisource.org",gvwiki:"gv.wikipedia.org",gvwiktionary:"gv.wiktionary.org",hawiki:"ha.wikipedia.org",hawiktionary:"ha.wiktionary.org",hakwiki:"hak.wikipedia.org",hawwiki:"haw.wikipedia.org",hewiki:"he.wikipedia.org",hewiktionary:"he.wiktionary.org",hewikibooks:"he.wikibooks.org",hewikinews:"he.wikinews.org",hewikiquote:"he.wikiquote.org",hewikisource:"he.wikisource.org",hewikivoyage:"he.wikivoyage.org",hiwiki:"hi.wikipedia.org",hiwiktionary:"hi.wiktionary.org",hiwikibooks:"hi.wikibooks.org",hiwikiquote:"hi.wikiquote.org",hifwiki:"hif.wikipedia.org",howiki:"ho.wikipedia.org",hrwiki:"hr.wikipedia.org",hrwiktionary:"hr.wiktionary.org",hrwikibooks:"hr.wikibooks.org",hrwikiquote:"hr.wikiquote.org",hrwikisource:"hr.wikisource.org",hsbwiki:"hsb.wikipedia.org",hsbwiktionary:"hsb.wiktionary.org",htwiki:"ht.wikipedia.org",htwikisource:"ht.wikisource.org",huwiki:"hu.wikipedia.org",huwiktionary:"hu.wiktionary.org",huwikibooks:"hu.wikibooks.org",huwikinews:"hu.wikinews.org",huwikiquote:"hu.wikiquote.org",huwikisource:"hu.wikisource.org",hywiki:"hy.wikipedia.org",hywiktionary:"hy.wiktionary.org",hywikibooks:"hy.wikibooks.org",hywikiquote:"hy.wikiquote.org",hywikisource:"hy.wikisource.org",hzwiki:"hz.wikipedia.org",iawiki:"ia.wikipedia.org",iawiktionary:"ia.wiktionary.org",iawikibooks:"ia.wikibooks.org",idwiki:"id.wikipedia.org",idwiktionary:"id.wiktionary.org",idwikibooks:"id.wikibooks.org",idwikiquote:"id.wikiquote.org",idwikisource:"id.wikisource.org",iewiki:"ie.wikipedia.org",iewiktionary:"ie.wiktionary.org",iewikibooks:"ie.wikibooks.org",igwiki:"ig.wikipedia.org",iiwiki:"ii.wikipedia.org",ikwiki:"ik.wikipedia.org",ikwiktionary:"ik.wiktionary.org",ilowiki:"ilo.wikipedia.org",iowiki:"io.wikipedia.org",iowiktionary:"io.wiktionary.org",iswiki:"is.wikipedia.org",iswiktionary:"is.wiktionary.org",iswikibooks:"is.wikibooks.org",iswikiquote:"is.wikiquote.org",iswikisource:"is.wikisource.org",itwiki:"it.wikipedia.org",itwiktionary:"it.wiktionary.org",itwikibooks:"it.wikibooks.org",itwikinews:"it.wikinews.org",itwikiquote:"it.wikiquote.org",itwikisource:"it.wikisource.org",itwikiversity:"it.wikiversity.org",itwikivoyage:"it.wikivoyage.org",iuwiki:"iu.wikipedia.org",iuwiktionary:"iu.wiktionary.org",jawiki:"ja.wikipedia.org",jawiktionary:"ja.wiktionary.org",jawikibooks:"ja.wikibooks.org",jawikinews:"ja.wikinews.org",jawikiquote:"ja.wikiquote.org",jawikisource:"ja.wikisource.org",jawikiversity:"ja.wikiversity.org",jbowiki:"jbo.wikipedia.org",jbowiktionary:"jbo.wiktionary.org",jvwiki:"jv.wikipedia.org",jvwiktionary:"jv.wiktionary.org",kawiki:"ka.wikipedia.org",kawiktionary:"ka.wiktionary.org",kawikibooks:"ka.wikibooks.org",kawikiquote:"ka.wikiquote.org",kaawiki:"kaa.wikipedia.org",kabwiki:"kab.wikipedia.org",kbdwiki:"kbd.wikipedia.org",kgwiki:"kg.wikipedia.org",kiwiki:"ki.wikipedia.org",kjwiki:"kj.wikipedia.org",kkwiki:"kk.wikipedia.org",kkwiktionary:"kk.wiktionary.org",kkwikibooks:"kk.wikibooks.org",kkwikiquote:"kk.wikiquote.org",klwiki:"kl.wikipedia.org",klwiktionary:"kl.wiktionary.org",kmwiki:"km.wikipedia.org",kmwiktionary:"km.wiktionary.org",kmwikibooks:"km.wikibooks.org",knwiki:"kn.wikipedia.org",knwiktionary:"kn.wiktionary.org",knwikibooks:"kn.wikibooks.org",knwikiquote:"kn.wikiquote.org",knwikisource:"kn.wikisource.org",kowiki:"ko.wikipedia.org",kowiktionary:"ko.wiktionary.org",kowikibooks:"ko.wikibooks.org",kowikinews:"ko.wikinews.org",kowikiquote:"ko.wikiquote.org",kowikisource:"ko.wikisource.org",kowikiversity:"ko.wikiversity.org",koiwiki:"koi.wikipedia.org",krwiki:"kr.wikipedia.org",krwikiquote:"kr.wikiquote.org",krcwiki:"krc.wikipedia.org",kswiki:"ks.wikipedia.org",kswiktionary:"ks.wiktionary.org",kswikibooks:"ks.wikibooks.org",kswikiquote:"ks.wikiquote.org",kshwiki:"ksh.wikipedia.org",kuwiki:"ku.wikipedia.org",kuwiktionary:"ku.wiktionary.org",kuwikibooks:"ku.wikibooks.org",kuwikiquote:"ku.wikiquote.org",kvwiki:"kv.wikipedia.org",kwwiki:"kw.wikipedia.org",kwwiktionary:"kw.wiktionary.org",kwwikiquote:"kw.wikiquote.org",kywiki:"ky.wikipedia.org",kywiktionary:"ky.wiktionary.org",kywikibooks:"ky.wikibooks.org",kywikiquote:"ky.wikiquote.org",lawiki:"la.wikipedia.org",lawiktionary:"la.wiktionary.org",lawikibooks:"la.wikibooks.org",lawikiquote:"la.wikiquote.org",lawikisource:"la.wikisource.org",ladwiki:"lad.wikipedia.org",lbwiki:"lb.wikipedia.org",lbwiktionary:"lb.wiktionary.org",lbwikibooks:"lb.wikibooks.org",lbwikiquote:"lb.wikiquote.org",lbewiki:"lbe.wikipedia.org",lezwiki:"lez.wikipedia.org",lgwiki:"lg.wikipedia.org",liwiki:"li.wikipedia.org",liwiktionary:"li.wiktionary.org",liwikibooks:"li.wikibooks.org",liwikiquote:"li.wikiquote.org",liwikisource:"li.wikisource.org",lijwiki:"lij.wikipedia.org",lmowiki:"lmo.wikipedia.org",lnwiki:"ln.wikipedia.org",lnwiktionary:"ln.wiktionary.org",lnwikibooks:"ln.wikibooks.org",lowiki:"lo.wikipedia.org",lowiktionary:"lo.wiktionary.org",lrcwiki:"lrc.wikipedia.org",ltwiki:"lt.wikipedia.org",ltwiktionary:"lt.wiktionary.org",ltwikibooks:"lt.wikibooks.org",ltwikiquote:"lt.wikiquote.org",ltwikisource:"lt.wikisource.org",ltgwiki:"ltg.wikipedia.org",lvwiki:"lv.wikipedia.org",lvwiktionary:"lv.wiktionary.org",lvwikibooks:"lv.wikibooks.org",maiwiki:"mai.wikipedia.org",map_bmswiki:"map-bms.wikipedia.org",mdfwiki:"mdf.wikipedia.org",mgwiki:"mg.wikipedia.org",mgwiktionary:"mg.wiktionary.org",mgwikibooks:"mg.wikibooks.org",mhwiki:"mh.wikipedia.org",mhwiktionary:"mh.wiktionary.org",mhrwiki:"mhr.wikipedia.org",miwiki:"mi.wikipedia.org",miwiktionary:"mi.wiktionary.org",miwikibooks:"mi.wikibooks.org",minwiki:"min.wikipedia.org",mkwiki:"mk.wikipedia.org",mkwiktionary:"mk.wiktionary.org",mkwikibooks:"mk.wikibooks.org",mkwikisource:"mk.wikisource.org",mlwiki:"ml.wikipedia.org",mlwiktionary:"ml.wiktionary.org",mlwikibooks:"ml.wikibooks.org",mlwikiquote:"ml.wikiquote.org",mlwikisource:"ml.wikisource.org",mnwiki:"mn.wikipedia.org",mnwiktionary:"mn.wiktionary.org",mnwikibooks:"mn.wikibooks.org",mowiki:"mo.wikipedia.org",mowiktionary:"mo.wiktionary.org",mrwiki:"mr.wikipedia.org",mrwiktionary:"mr.wiktionary.org",mrwikibooks:"mr.wikibooks.org",mrwikiquote:"mr.wikiquote.org",mrwikisource:"mr.wikisource.org",mrjwiki:"mrj.wikipedia.org",mswiki:"ms.wikipedia.org",mswiktionary:"ms.wiktionary.org",mswikibooks:"ms.wikibooks.org",mtwiki:"mt.wikipedia.org",mtwiktionary:"mt.wiktionary.org",muswiki:"mus.wikipedia.org",mwlwiki:"mwl.wikipedia.org",mywiki:"my.wikipedia.org",mywiktionary:"my.wiktionary.org",mywikibooks:"my.wikibooks.org",myvwiki:"myv.wikipedia.org",mznwiki:"mzn.wikipedia.org",nawiki:"na.wikipedia.org",nawiktionary:"na.wiktionary.org",nawikibooks:"na.wikibooks.org",nawikiquote:"na.wikiquote.org",nahwiki:"nah.wikipedia.org",nahwiktionary:"nah.wiktionary.org",nahwikibooks:"nah.wikibooks.org",napwiki:"nap.wikipedia.org",ndswiki:"nds.wikipedia.org",ndswiktionary:"nds.wiktionary.org",ndswikibooks:"nds.wikibooks.org",ndswikiquote:"nds.wikiquote.org",nds_nlwiki:"nds-nl.wikipedia.org",newiki:"ne.wikipedia.org",newiktionary:"ne.wiktionary.org",newikibooks:"ne.wikibooks.org",newwiki:"new.wikipedia.org",ngwiki:"ng.wikipedia.org",nlwiki:"nl.wikipedia.org",nlwiktionary:"nl.wiktionary.org",nlwikibooks:"nl.wikibooks.org",nlwikinews:"nl.wikinews.org",nlwikiquote:"nl.wikiquote.org",nlwikisource:"nl.wikisource.org",nlwikivoyage:"nl.wikivoyage.org",nnwiki:"nn.wikipedia.org",nnwiktionary:"nn.wiktionary.org",nnwikiquote:"nn.wikiquote.org",nowiki:"no.wikipedia.org",nowiktionary:"no.wiktionary.org",nowikibooks:"no.wikibooks.org",nowikinews:"no.wikinews.org",nowikiquote:"no.wikiquote.org",nowikisource:"no.wikisource.org",novwiki:"nov.wikipedia.org",nrmwiki:"nrm.wikipedia.org",nsowiki:"nso.wikipedia.org",nvwiki:"nv.wikipedia.org",nywiki:"ny.wikipedia.org",ocwiki:"oc.wikipedia.org",ocwiktionary:"oc.wiktionary.org",ocwikibooks:"oc.wikibooks.org",omwiki:"om.wikipedia.org",omwiktionary:"om.wiktionary.org",orwiki:"or.wikipedia.org",orwiktionary:"or.wiktionary.org",orwikisource:"or.wikisource.org",oswiki:"os.wikipedia.org",pawiki:"pa.wikipedia.org",pawiktionary:"pa.wiktionary.org",pawikibooks:"pa.wikibooks.org",pagwiki:"pag.wikipedia.org",pamwiki:"pam.wikipedia.org",papwiki:"pap.wikipedia.org",pcdwiki:"pcd.wikipedia.org",pdcwiki:"pdc.wikipedia.org",pflwiki:"pfl.wikipedia.org",piwiki:"pi.wikipedia.org",piwiktionary:"pi.wiktionary.org",pihwiki:"pih.wikipedia.org",plwiki:"pl.wikipedia.org",plwiktionary:"pl.wiktionary.org",plwikibooks:"pl.wikibooks.org",plwikinews:"pl.wikinews.org",plwikiquote:"pl.wikiquote.org",plwikisource:"pl.wikisource.org",plwikivoyage:"pl.wikivoyage.org",pmswiki:"pms.wikipedia.org",pnbwiki:"pnb.wikipedia.org",pnbwiktionary:"pnb.wiktionary.org",pntwiki:"pnt.wikipedia.org",pswiki:"ps.wikipedia.org",pswiktionary:"ps.wiktionary.org",pswikibooks:"ps.wikibooks.org",ptwiki:"pt.wikipedia.org",ptwiktionary:"pt.wiktionary.org",ptwikibooks:"pt.wikibooks.org",ptwikinews:"pt.wikinews.org",ptwikiquote:"pt.wikiquote.org",ptwikisource:"pt.wikisource.org",ptwikiversity:"pt.wikiversity.org",ptwikivoyage:"pt.wikivoyage.org",quwiki:"qu.wikipedia.org",quwiktionary:"qu.wiktionary.org",quwikibooks:"qu.wikibooks.org",quwikiquote:"qu.wikiquote.org",rmwiki:"rm.wikipedia.org",rmwiktionary:"rm.wiktionary.org",rmwikibooks:"rm.wikibooks.org",rmywiki:"rmy.wikipedia.org",rnwiki:"rn.wikipedia.org",rnwiktionary:"rn.wiktionary.org",rowiki:"ro.wikipedia.org",rowiktionary:"ro.wiktionary.org",rowikibooks:"ro.wikibooks.org",rowikinews:"ro.wikinews.org",rowikiquote:"ro.wikiquote.org",rowikisource:"ro.wikisource.org",rowikivoyage:"ro.wikivoyage.org",roa_rupwiki:"roa-rup.wikipedia.org",roa_rupwiktionary:"roa-rup.wiktionary.org",roa_tarawiki:"roa-tara.wikipedia.org",ruwiki:"ru.wikipedia.org",ruwiktionary:"ru.wiktionary.org",ruwikibooks:"ru.wikibooks.org",ruwikinews:"ru.wikinews.org",ruwikiquote:"ru.wikiquote.org",ruwikisource:"ru.wikisource.org",ruwikiversity:"ru.wikiversity.org",ruwikivoyage:"ru.wikivoyage.org",ruewiki:"rue.wikipedia.org",rwwiki:"rw.wikipedia.org",rwwiktionary:"rw.wiktionary.org",sawiki:"sa.wikipedia.org",sawiktionary:"sa.wiktionary.org",sawikibooks:"sa.wikibooks.org",sawikiquote:"sa.wikiquote.org",sawikisource:"sa.wikisource.org",sahwiki:"sah.wikipedia.org",sahwikisource:"sah.wikisource.org",scwiki:"sc.wikipedia.org",scwiktionary:"sc.wiktionary.org",scnwiki:"scn.wikipedia.org",scnwiktionary:"scn.wiktionary.org",scowiki:"sco.wikipedia.org",sdwiki:"sd.wikipedia.org",sdwiktionary:"sd.wiktionary.org",sdwikinews:"sd.wikinews.org",sewiki:"se.wikipedia.org",sewikibooks:"se.wikibooks.org",sgwiki:"sg.wikipedia.org",sgwiktionary:"sg.wiktionary.org",shwiki:"sh.wikipedia.org",shwiktionary:"sh.wiktionary.org",siwiki:"si.wikipedia.org",siwiktionary:"si.wiktionary.org",siwikibooks:"si.wikibooks.org",simplewiki:"simple.wikipedia.org",simplewiktionary:"simple.wiktionary.org",simplewikibooks:"simple.wikibooks.org",simplewikiquote:"simple.wikiquote.org",skwiki:"sk.wikipedia.org",skwiktionary:"sk.wiktionary.org",skwikibooks:"sk.wikibooks.org",skwikiquote:"sk.wikiquote.org",skwikisource:"sk.wikisource.org",slwiki:"sl.wikipedia.org",slwiktionary:"sl.wiktionary.org",slwikibooks:"sl.wikibooks.org",slwikiquote:"sl.wikiquote.org",slwikisource:"sl.wikisource.org",slwikiversity:"sl.wikiversity.org",smwiki:"sm.wikipedia.org",smwiktionary:"sm.wiktionary.org",snwiki:"sn.wikipedia.org",snwiktionary:"sn.wiktionary.org",sowiki:"so.wikipedia.org",sowiktionary:"so.wiktionary.org",sqwiki:"sq.wikipedia.org",sqwiktionary:"sq.wiktionary.org",sqwikibooks:"sq.wikibooks.org",sqwikinews:"sq.wikinews.org",sqwikiquote:"sq.wikiquote.org",srwiki:"sr.wikipedia.org",srwiktionary:"sr.wiktionary.org",srwikibooks:"sr.wikibooks.org",srwikinews:"sr.wikinews.org",srwikiquote:"sr.wikiquote.org",srwikisource:"sr.wikisource.org",srnwiki:"srn.wikipedia.org",sswiki:"ss.wikipedia.org",sswiktionary:"ss.wiktionary.org",stwiki:"st.wikipedia.org",stwiktionary:"st.wiktionary.org",stqwiki:"stq.wikipedia.org",suwiki:"su.wikipedia.org",suwiktionary:"su.wiktionary.org",suwikibooks:"su.wikibooks.org",suwikiquote:"su.wikiquote.org",svwiki:"sv.wikipedia.org",svwiktionary:"sv.wiktionary.org",svwikibooks:"sv.wikibooks.org",svwikinews:"sv.wikinews.org",svwikiquote:"sv.wikiquote.org",svwikisource:"sv.wikisource.org",svwikiversity:"sv.wikiversity.org",svwikivoyage:"sv.wikivoyage.org",swwiki:"sw.wikipedia.org",swwiktionary:"sw.wiktionary.org",swwikibooks:"sw.wikibooks.org",szlwiki:"szl.wikipedia.org",tawiki:"ta.wikipedia.org",tawiktionary:"ta.wiktionary.org",tawikibooks:"ta.wikibooks.org",tawikinews:"ta.wikinews.org",tawikiquote:"ta.wikiquote.org",tawikisource:"ta.wikisource.org",tewiki:"te.wikipedia.org",tewiktionary:"te.wiktionary.org",tewikibooks:"te.wikibooks.org",tewikiquote:"te.wikiquote.org",tewikisource:"te.wikisource.org",tetwiki:"tet.wikipedia.org",tgwiki:"tg.wikipedia.org",tgwiktionary:"tg.wiktionary.org",tgwikibooks:"tg.wikibooks.org",thwiki:"th.wikipedia.org",thwiktionary:"th.wiktionary.org",thwikibooks:"th.wikibooks.org",thwikinews:"th.wikinews.org",thwikiquote:"th.wikiquote.org",thwikisource:"th.wikisource.org",tiwiki:"ti.wikipedia.org",tiwiktionary:"ti.wiktionary.org",tkwiki:"tk.wikipedia.org",tkwiktionary:"tk.wiktionary.org",tkwikibooks:"tk.wikibooks.org",tkwikiquote:"tk.wikiquote.org",tlwiki:"tl.wikipedia.org",tlwiktionary:"tl.wiktionary.org",tlwikibooks:"tl.wikibooks.org",tnwiki:"tn.wikipedia.org",tnwiktionary:"tn.wiktionary.org",towiki:"to.wikipedia.org",towiktionary:"to.wiktionary.org",tpiwiki:"tpi.wikipedia.org",tpiwiktionary:"tpi.wiktionary.org",trwiki:"tr.wikipedia.org",trwiktionary:"tr.wiktionary.org",trwikibooks:"tr.wikibooks.org",trwikinews:"tr.wikinews.org",trwikiquote:"tr.wikiquote.org",trwikisource:"tr.wikisource.org",tswiki:"ts.wikipedia.org",tswiktionary:"ts.wiktionary.org",ttwiki:"tt.wikipedia.org",ttwiktionary:"tt.wiktionary.org",ttwikibooks:"tt.wikibooks.org",ttwikiquote:"tt.wikiquote.org",tumwiki:"tum.wikipedia.org",twwiki:"tw.wikipedia.org",twwiktionary:"tw.wiktionary.org",tywiki:"ty.wikipedia.org",tyvwiki:"tyv.wikipedia.org",udmwiki:"udm.wikipedia.org",ugwiki:"ug.wikipedia.org",ugwiktionary:"ug.wiktionary.org",ugwikibooks:"ug.wikibooks.org",ugwikiquote:"ug.wikiquote.org",ukwiki:"uk.wikipedia.org",ukwiktionary:"uk.wiktionary.org",ukwikibooks:"uk.wikibooks.org",ukwikinews:"uk.wikinews.org",ukwikiquote:"uk.wikiquote.org",ukwikisource:"uk.wikisource.org",ukwikivoyage:"uk.wikivoyage.org",urwiki:"ur.wikipedia.org",urwiktionary:"ur.wiktionary.org",urwikibooks:"ur.wikibooks.org",urwikiquote:"ur.wikiquote.org",uzwiki:"uz.wikipedia.org",uzwiktionary:"uz.wiktionary.org",uzwikibooks:"uz.wikibooks.org",uzwikiquote:"uz.wikiquote.org",vewiki:"ve.wikipedia.org",vecwiki:"vec.wikipedia.org",vecwiktionary:"vec.wiktionary.org",vecwikisource:"vec.wikisource.org",vepwiki:"vep.wikipedia.org",viwiki:"vi.wikipedia.org",viwiktionary:"vi.wiktionary.org",viwikibooks:"vi.wikibooks.org",viwikiquote:"vi.wikiquote.org",viwikisource:"vi.wikisource.org",viwikivoyage:"vi.wikivoyage.org",vlswiki:"vls.wikipedia.org",vowiki:"vo.wikipedia.org",vowiktionary:"vo.wiktionary.org",vowikibooks:"vo.wikibooks.org",vowikiquote:"vo.wikiquote.org",wawiki:"wa.wikipedia.org",wawiktionary:"wa.wiktionary.org",wawikibooks:"wa.wikibooks.org",warwiki:"war.wikipedia.org",wowiki:"wo.wikipedia.org",wowiktionary:"wo.wiktionary.org",wowikiquote:"wo.wikiquote.org",wuuwiki:"wuu.wikipedia.org",xalwiki:"xal.wikipedia.org",xhwiki:"xh.wikipedia.org",xhwiktionary:"xh.wiktionary.org",xhwikibooks:"xh.wikibooks.org",xmfwiki:"xmf.wikipedia.org",yiwiki:"yi.wikipedia.org",yiwiktionary:"yi.wiktionary.org",yiwikisource:"yi.wikisource.org",yowiki:"yo.wikipedia.org",yowiktionary:"yo.wiktionary.org",yowikibooks:"yo.wikibooks.org",zawiki:"za.wikipedia.org",zawiktionary:"za.wiktionary.org",zawikibooks:"za.wikibooks.org",zawikiquote:"za.wikiquote.org",zeawiki:"zea.wikipedia.org",zhwiki:"zh.wikipedia.org",zhwiktionary:"zh.wiktionary.org",zhwikibooks:"zh.wikibooks.org",zhwikinews:"zh.wikinews.org",zhwikiquote:"zh.wikiquote.org",zhwikisource:"zh.wikisource.org",zhwikivoyage:"zh.wikivoyage.org",zh_classicalwiki:"zh-classical.wikipedia.org",zh_min_nanwiki:"zh-min-nan.wikipedia.org",zh_min_nanwiktionary:"zh-min-nan.wiktionary.org",zh_min_nanwikibooks:"zh-min-nan.wikibooks.org",zh_min_nanwikiquote:"zh-min-nan.wikiquote.org",zh_min_nanwikisource:"zh-min-nan.wikisource.org",zh_yuewiki:"zh-yue.wikipedia.org",zuwiki:"zu.wikipedia.org",zuwiktionary:"zu.wiktionary.org",zuwikibooks:"zu.wikibooks.org",advisorywiki:"advisory.wikimedia.org",arwikimedia:"ar.wikimedia.org",arbcom_dewiki:"arbcom-de.wikipedia.org",arbcom_enwiki:"arbcom-en.wikipedia.org",arbcom_fiwiki:"arbcom-fi.wikipedia.org",arbcom_nlwiki:"arbcom-nl.wikipedia.org",auditcomwiki:"auditcom.wikimedia.org",bdwikimedia:"bd.wikimedia.org",bewikimedia:"be.wikimedia.org",betawikiversity:"beta.wikiversity.org",boardwiki:"board.wikimedia.org",boardgovcomwiki:"boardgovcom.wikimedia.org",brwikimedia:"br.wikimedia.org",cawikimedia:"ca.wikimedia.org",chairwiki:"chair.wikimedia.org",chapcomwiki:"affcom.wikimedia.org",checkuserwiki:"checkuser.wikimedia.org",cnwikimedia:"cn.wikimedia.org",cowikimedia:"co.wikimedia.org",collabwiki:"collab.wikimedia.org",commonswiki:"commons.wikimedia.org",dkwikimedia:"dk.wikimedia.org",donatewiki:"donate.wikimedia.org",etwikimedia:"ee.wikimedia.org",execwiki:"exec.wikimedia.org",fdcwiki:"fdc.wikimedia.org",fiwikimedia:"fi.wikimedia.org",foundationwiki:"wikimediafoundation.org",grantswiki:"grants.wikimedia.org",iegcomwiki:"iegcom.wikimedia.org",ilwikimedia:"il.wikimedia.org",incubatorwiki:"incubator.wikimedia.org",internalwiki:"internal.wikimedia.org",labswiki:"wikitech.wikimedia.org",labtestwiki:"labtestwikitech.wikimedia.org",legalteamwiki:"legalteam.wikimedia.org",loginwiki:"login.wikimedia.org",mediawikiwiki:"mediawiki.org",metawiki:"meta.wikimedia.org",mkwikimedia:"mk.wikimedia.org",movementroleswiki:"movementroles.wikimedia.org",mxwikimedia:"mx.wikimedia.org",nlwikimedia:"nl.wikimedia.org",nowikimedia:"no.wikimedia.org",noboard_chapterswikimedia:"noboard-chapters.wikimedia.org",nostalgiawiki:"nostalgia.wikipedia.org",nycwikimedia:"nyc.wikimedia.org",nzwikimedia:"nz.wikimedia.org",officewiki:"office.wikimedia.org",ombudsmenwiki:"ombudsmen.wikimedia.org",otrs_wikiwiki:"otrs-wiki.wikimedia.org",outreachwiki:"outreach.wikimedia.org",pa_uswikimedia:"pa-us.wikimedia.org",plwikimedia:"pl.wikimedia.org",qualitywiki:"quality.wikimedia.org",rswikimedia:"rs.wikimedia.org",ruwikimedia:"ru.wikimedia.org",sewikimedia:"se.wikimedia.org",searchcomwiki:"searchcom.wikimedia.org",sourceswiki:"wikisource.org",spcomwiki:"spcom.wikimedia.org",specieswiki:"species.wikimedia.org",stewardwiki:"steward.wikimedia.org",strategywiki:"strategy.wikimedia.org",tenwiki:"ten.wikipedia.org",testwiki:"test.wikipedia.org",test2wiki:"test2.wikipedia.org",testwikidatawiki:"test.wikidata.org",trwikimedia:"tr.wikimedia.org",transitionteamwiki:"transitionteam.wikimedia.org",uawikimedia:"ua.wikimedia.org",ukwikimedia:"uk.wikimedia.org",usabilitywiki:"usability.wikimedia.org",votewiki:"vote.wikimedia.org",wg_enwiki:"wg-en.wikipedia.org",wikidatawiki:"wikidata.org",wikimania2005wiki:"wikimania2005.wikimedia.org",wikimania2006wiki:"wikimania2006.wikimedia.org",wikimania2007wiki:"wikimania2007.wikimedia.org",wikimania2008wiki:"wikimania2008.wikimedia.org",wikimania2009wiki:"wikimania2009.wikimedia.org",wikimania2010wiki:"wikimania2010.wikimedia.org",wikimania2011wiki:"wikimania2011.wikimedia.org",wikimania2012wiki:"wikimania2012.wikimedia.org",wikimania2013wiki:"wikimania2013.wikimedia.org",wikimania2014wiki:"wikimania2014.wikimedia.org",wikimania2015wiki:"wikimania2015.wikimedia.org",wikimania2016wiki:"wikimania2016.wikimedia.org",wikimania2017wiki:"wikimania2017.wikimedia.org",wikimaniateamwiki:"wikimaniateam.wikimedia.org",zerowiki:"zero.wikimedia.org"};b.exports=d},{}]},{},[3,4,5,6,7,8,9,2]); \ No newline at end of file diff --git a/public_html/langviews/langviews.js b/public_html/langviews/langviews.js index bdb8263fc..bb7fb405b 100644 --- a/public_html/langviews/langviews.js +++ b/public_html/langviews/langviews.js @@ -2959,6 +2959,52 @@ var Pv = function (_PvConfig) { } } + /** + * Get general information about a project, such as namespaces, title of the main page, etc. + * Data returned by the api is also stored in this.siteInfo + * @param {String} project - project such as en.wikipedia (with or without .org) + * @returns {Deferred} promise resolving with siteinfo + */ + + }, { + key: 'getSiteInfo', + value: function getSiteInfo(project) { + var _this3 = this; + + project = project.replace(/\.org$/, ''); + var dfd = $.Deferred(), + cacheKey = 'pageviews-siteinfo-' + project; + + // use cached site info if present + if (simpleStorage.hasKey(cacheKey)) { + this.siteInfo = simpleStorage.get(cacheKey); + dfd.resolve(this.siteInfo); + } else { + // otherwise fetch siteinfo and store in cache + $.ajax({ + url: 'https://' + project + '.org/w/api.php', + data: { + action: 'query', + meta: 'siteinfo', + siprop: 'general|namespaces', + format: 'json' + }, + dataType: 'jsonp' + }).done(function (data) { + _this3.siteInfo = data.query; + + // cache for one week (TTL is in milliseconds) + simpleStorage.set(cacheKey, _this3.siteInfo, { TTL: 1000 * 60 * 60 * 24 * 7 }); + + dfd.resolve(_this3.siteInfo); + }).fail(function (data) { + dfd.reject(data); + }); + } + + return dfd; + } + /** * Get user agent, if supported * @returns {string} user-agent @@ -3089,7 +3135,7 @@ var Pv = function (_PvConfig) { }, { key: 'normalizePageNames', value: function normalizePageNames(pages) { - var _this3 = this; + var _this4 = this; var dfd = $.Deferred(); @@ -3098,7 +3144,7 @@ var Pv = function (_PvConfig) { dataType: 'jsonp' }).then(function (data) { if (data.query.normalized) { - pages = _this3.mapNormalizedPageNames(pages, data.query.normalized); + pages = _this4.mapNormalizedPageNames(pages, data.query.normalized); } return dfd.resolve(pages); }); @@ -3286,16 +3332,16 @@ var Pv = function (_PvConfig) { }, { key: 'saveSettings', value: function saveSettings() { - var _this4 = this; + var _this5 = this; /** track if we're changing to no_autocomplete mode */ var wasAutocomplete = this.autocomplete === 'no_autocomplete'; $.each($('#settings-modal input'), function (index, el) { if (el.type === 'checkbox') { - _this4.saveSetting(el.name, el.checked ? 'true' : 'false'); + _this5.saveSetting(el.name, el.checked ? 'true' : 'false'); } else if (el.checked) { - _this4.saveSetting(el.name, el.value); + _this5.saveSetting(el.name, el.value); } }); @@ -3333,11 +3379,11 @@ var Pv = function (_PvConfig) { }, { key: 'setSelect2Defaults', value: function setSelect2Defaults(items) { - var _this5 = this; + var _this6 = this; items.forEach(function (item) { var escapedText = $('
').text(item).html(); - $('').appendTo(_this5.config.select2Input); + $('').appendTo(_this6.config.select2Input); }); $(this.config.select2Input).select2('val', items); $(this.config.select2Input).select2('close'); @@ -3407,7 +3453,7 @@ var Pv = function (_PvConfig) { }, { key: 'setupSelect2Colors', value: function setupSelect2Colors() { - var _this6 = this; + var _this7 = this; /** first delete old stylesheet, if present */ if (this.colorsStyleEl) this.colorsStyleEl.remove(); @@ -3419,7 +3465,7 @@ var Pv = function (_PvConfig) { /** add color rules */ this.config.colors.forEach(function (color, index) { - _this6.colorsStyleEl.sheet.insertRule('.select2-selection__choice:nth-of-type(' + (index + 1) + ') { background: ' + color + ' !important }', 0); + _this7.colorsStyleEl.sheet.insertRule('.select2-selection__choice:nth-of-type(' + (index + 1) + ') { background: ' + color + ' !important }', 0); }); return this.colorsStyleEl.sheet; @@ -3434,7 +3480,7 @@ var Pv = function (_PvConfig) { }, { key: 'setupListeners', value: function setupListeners() { - var _this7 = this; + var _this8 = this; /** prevent browser's default behaviour for any link with href="#" */ $("a[href='#']").on('click', function (e) { @@ -3443,10 +3489,10 @@ var Pv = function (_PvConfig) { /** language selector */ $('.lang-link').on('click', function (e) { - var expiryGMT = moment().add(_this7.config.cookieExpiry, 'days').toDate().toGMTString(); + var expiryGMT = moment().add(_this8.config.cookieExpiry, 'days').toDate().toGMTString(); document.cookie = 'TsIntuition_userlang=' + $(e.target).data('lang') + '; expires=' + expiryGMT + '; path=/'; - var expiryUnix = Math.floor(Date.now() / 1000) + _this7.config.cookieExpiry * 24 * 60 * 60; + var expiryUnix = Math.floor(Date.now() / 1000) + _this8.config.cookieExpiry * 24 * 60 * 60; document.cookie = 'TsIntuition_expiry=' + expiryUnix + '; expires=' + expiryGMT + '; path=/'; location.reload(); }); @@ -3460,7 +3506,7 @@ var Pv = function (_PvConfig) { this.dataset.value = this.value; }); $(this.config.projectInput).on('change', function (e) { - return _this7.validateProject(e); + return _this8.validateProject(e); }); } @@ -3488,7 +3534,7 @@ var Pv = function (_PvConfig) { }, { key: 'setupDateRangeSelector', value: function setupDateRangeSelector() { - var _this8 = this; + var _this9 = this; var dateRangeSelector = $(this.config.dateRangeSelector); @@ -3500,7 +3546,7 @@ var Pv = function (_PvConfig) { var ranges = {}; Object.keys(this.config.specialRanges).forEach(function (key) { if (key === 'latest') return; // this is a function, not meant to be in the list of special ranges - ranges[$.i18n(key)] = _this8.config.specialRanges[key]; + ranges[$.i18n(key)] = _this9.config.specialRanges[key]; }); var datepickerOptions = { @@ -3534,20 +3580,20 @@ var Pv = function (_PvConfig) { */ $('.daterangepicker .ranges li').on('click', function (e) { var index = $('.daterangepicker .ranges li').index(e.target), - container = _this8.daterangepicker.container, + container = _this9.daterangepicker.container, inputs = container.find('.daterangepicker_input input'); - _this8.specialRange = { - range: Object.keys(_this8.config.specialRanges)[index], + _this9.specialRange = { + range: Object.keys(_this9.config.specialRanges)[index], value: inputs[0].value + ' - ' + inputs[1].value }; }); $(this.config.dateRangeSelector).on('apply.daterangepicker', function (e, action) { if (action.chosenLabel === $.i18n('custom-range')) { - _this8.specialRange = null; + _this9.specialRange = null; /** force events to re-fire since apply.daterangepicker occurs before 'change' event */ - _this8.daterangepicker.updateElement(); + _this9.daterangepicker.updateElement(); } }); } @@ -3559,11 +3605,11 @@ var Pv = function (_PvConfig) { }, { key: 'showFatalErrors', value: function showFatalErrors(errors) { - var _this9 = this; + var _this10 = this; this.clearMessages(); errors.forEach(function (error) { - _this9.writeMessage('' + $.i18n('fatal-error') + ': ' + error + ''); + _this10.writeMessage('' + $.i18n('fatal-error') + ': ' + error + ''); }); if (this.debug) { @@ -3579,12 +3625,12 @@ var Pv = function (_PvConfig) { } }).done(function (data) { if (data && data.result && data.result.objectName) { - _this9.writeMessage($.i18n('error-please-report', _this9.getBugReportURL(data.result.objectName))); + _this10.writeMessage($.i18n('error-please-report', _this10.getBugReportURL(data.result.objectName))); } else { - _this9.writeMessage($.i18n('error-please-report', _this9.getBugReportURL())); + _this10.writeMessage($.i18n('error-please-report', _this10.getBugReportURL())); } }).fail(function () { - _this9.writeMessage($.i18n('error-please-report', _this9.getBugReportURL())); + _this10.writeMessage($.i18n('error-please-report', _this10.getBugReportURL())); }); } } @@ -3622,14 +3668,14 @@ var Pv = function (_PvConfig) { }, { key: 'startSpinny', value: function startSpinny() { - var _this10 = this; + var _this11 = this; $('.chart-container').addClass('loading'); clearTimeout(this.timeout); this.timeout = setTimeout(function (err) { - _this10.resetView(); - _this10.writeMessage('' + $.i18n('fatal-error') + ':\n ' + $.i18n('error-timed-out') + '\n ' + $.i18n('error-please-report', _this10.getBugReportURL()) + '\n ', true); + _this11.resetView(); + _this11.writeMessage('' + $.i18n('fatal-error') + ':\n ' + $.i18n('error-timed-out') + '\n ' + $.i18n('error-please-report', _this11.getBugReportURL()) + '\n ', true); }, 20 * 1000); } @@ -3668,15 +3714,15 @@ var Pv = function (_PvConfig) { }, { key: 'updateInterAppLinks', value: function updateInterAppLinks() { - var _this11 = this; + var _this12 = this; $('.interapp-link').each(function (i, link) { var url = link.href.split('?')[0]; if (link.classList.contains('interapp-link--siteviews')) { - link.href = url + '?sites=' + _this11.project.escape() + '.org'; + link.href = url + '?sites=' + _this12.project.escape() + '.org'; } else { - link.href = url + '?project=' + _this11.project.escape() + '.org'; + link.href = url + '?project=' + _this12.project.escape() + '.org'; } }); } @@ -3691,20 +3737,20 @@ var Pv = function (_PvConfig) { }, { key: 'validateParams', value: function validateParams(params) { - var _this12 = this; + var _this13 = this; this.config.validateParams.forEach(function (paramKey) { if (paramKey === 'project' && params.project) { params.project = params.project.replace(/^www\./, ''); } - var defaultValue = _this12.config.defaults[paramKey], + var defaultValue = _this13.config.defaults[paramKey], paramValue = params[paramKey]; - if (defaultValue && !_this12.config.validParams[paramKey].includes(paramValue)) { + if (defaultValue && !_this13.config.validParams[paramKey].includes(paramValue)) { // only throw error if they tried to provide an invalid value if (!!paramValue) { - _this12.addInvalidParamNotice(paramKey); + _this13.addInvalidParamNotice(paramKey); } params[paramKey] = defaultValue; diff --git a/public_html/massviews/application.js b/public_html/massviews/application.js index 0bfb824d8..fd14eabcf 100644 --- a/public_html/massviews/application.js +++ b/public_html/massviews/application.js @@ -9,6 +9,7 @@ if(0==h)return f=255*i,[f,f,f];c=.5>i?i*(1+h):i+h-i*h,b=2*i-c,e=[0,0,0];for(var }},calculatePointY:function(a,b,c,d){var e,f,g,h=this,i=h.chart,j=h.getMeta(),k=h.getScaleForId(j.yAxisID),l=0,m=0;if(k.options.stacked){for(e=0;c>e;e++)f=i.data.datasets[e],g=i.getDatasetMeta(e),"line"===g.type&&i.isDatasetVisible(e)&&(f.data[b]<0?m+=f.data[b]||0:l+=f.data[b]||0);return 0>a?k.getPixelForValue(m+a):k.getPixelForValue(l+a)}return k.getPixelForValue(a)},updateBezierControlPoints:function(){var a,b,d,e,f,g=this.getMeta(),h=(this.chart.chartArea,g.data||[]);for(a=0,b=h.length;b>a;++a)d=h[a],e=d._model,f=c.splineCurve(c.previousItem(h,a)._model,e,c.nextItem(h,a)._model,g.dataset._model.tension),e.controlPointPreviousX=f.previous.x,e.controlPointPreviousY=f.previous.y,e.controlPointNextX=f.next.x,e.controlPointNextY=f.next.y},draw:function(a){var c,d,e=this,f=e.getMeta(),g=f.data||[],h=a||1;for(c=0,d=g.length;d>c;++c)g[c].transition(h);for(b(e.getDataset(),e.chart.options)&&f.dataset.transition(h).draw(),c=0,d=g.length;d>c;++c)g[c].draw()},setHoverStyle:function(a){var b=this.chart.data.datasets[a._datasetIndex],d=a._index,e=a.custom||{},f=a._model;f.radius=e.hoverRadius||c.getValueAtIndexOrDefault(b.pointHoverRadius,d,this.chart.options.elements.point.hoverRadius),f.backgroundColor=e.hoverBackgroundColor||c.getValueAtIndexOrDefault(b.pointHoverBackgroundColor,d,c.getHoverColor(f.backgroundColor)),f.borderColor=e.hoverBorderColor||c.getValueAtIndexOrDefault(b.pointHoverBorderColor,d,c.getHoverColor(f.borderColor)),f.borderWidth=e.hoverBorderWidth||c.getValueAtIndexOrDefault(b.pointHoverBorderWidth,d,f.borderWidth)},removeHoverStyle:function(a){var b=this,d=b.chart.data.datasets[a._datasetIndex],e=a._index,f=a.custom||{},g=a._model;void 0!==d.radius&&void 0===d.pointRadius&&(d.pointRadius=d.radius),g.radius=f.radius||c.getValueAtIndexOrDefault(d.pointRadius,e,b.chart.options.elements.point.radius),g.backgroundColor=b.getPointBackgroundColor(a,e),g.borderColor=b.getPointBorderColor(a,e),g.borderWidth=b.getPointBorderWidth(a,e)}})}},{}],19:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers;a.defaults.polarArea={scale:{type:"radialLinear",lineArc:!0},animation:{animateRotate:!0,animateScale:!0},aspectRatio:1,legendCallback:function(a){var b=[];b.push('
    ');var c=a.data,d=c.datasets,e=c.labels;if(d.length)for(var f=0;f'),e[f]&&b.push(e[f]),b.push("");return b.push("
"),b.join("")},legend:{labels:{generateLabels:function(a){var c=a.data;return c.labels.length&&c.datasets.length?c.labels.map(function(d,e){var f=a.getDatasetMeta(0),g=c.datasets[0],h=f.data[e],i=h.custom||{},j=b.getValueAtIndexOrDefault,k=a.options.elements.arc,l=i.backgroundColor?i.backgroundColor:j(g.backgroundColor,e,k.backgroundColor),m=i.borderColor?i.borderColor:j(g.borderColor,e,k.borderColor),n=i.borderWidth?i.borderWidth:j(g.borderWidth,e,k.borderWidth);return{text:d,fillStyle:l,strokeStyle:m,lineWidth:n,hidden:isNaN(g.data[e])||f.data[e].hidden,index:e}}):[]}},onClick:function(a,b){var c,d,e,f=b.index,g=this.chart;for(c=0,d=(g.data.datasets||[]).length;d>c;++c)e=g.getDatasetMeta(c),e.data[f].hidden=!e.data[f].hidden;g.update()}},tooltips:{callbacks:{title:function(){return""},label:function(a,b){return b.labels[a.index]+": "+a.yLabel}}}},a.controllers.polarArea=a.DatasetController.extend({dataElementType:a.elements.Arc,linkScales:b.noop,update:function(a){var c=this,d=c.chart,e=d.chartArea,f=c.getMeta(),g=d.options,h=g.elements.arc,i=Math.min(e.right-e.left,e.bottom-e.top);d.outerRadius=Math.max((i-h.borderWidth/2)/2,0),d.innerRadius=Math.max(g.cutoutPercentage?d.outerRadius/100*g.cutoutPercentage:1,0),d.radiusLength=(d.outerRadius-d.innerRadius)/d.getVisibleDatasetCount(),c.outerRadius=d.outerRadius-d.radiusLength*c.index,c.innerRadius=c.outerRadius-d.radiusLength,f.count=c.countVisibleElements(),b.each(f.data,function(b,d){c.updateElement(b,d,a)})},updateElement:function(a,c,d){for(var e=this,f=e.chart,g=f.chartArea,h=e.getDataset(),i=f.options,j=i.animation,k=(i.elements.arc,a.custom||{},f.scale),l=b.getValueAtIndexOrDefault,m=f.data.labels,n=e.calculateCircumference(h.data[c]),o=(g.left+g.right)/2,p=(g.top+g.bottom)/2,q=0,r=e.getMeta(),s=0;c>s;++s)isNaN(h.data[s])||r.data[s].hidden||++q;var t=-.5*Math.PI,u=a.hidden?0:k.getDistanceFromCenterForValue(h.data[c]),v=t+n*q,w=v+(a.hidden?0:n),x=j.animateScale?0:k.getDistanceFromCenterForValue(h.data[c]);b.extend(a,{_datasetIndex:e.index,_index:c,_scale:k,_model:{x:o,y:p,innerRadius:0,outerRadius:d?x:u,startAngle:d&&j.animateRotate?t:v,endAngle:d&&j.animateRotate?t:w,label:l(m,c,m[c])}}),e.removeHoverStyle(a),a.pivot()},removeHoverStyle:function(b){a.DatasetController.prototype.removeHoverStyle.call(this,b,this.chart.options.elements.arc)},countVisibleElements:function(){var a=this.getDataset(),c=this.getMeta(),d=0;return b.each(c.data,function(b,c){isNaN(a.data[c])||b.hidden||d++}),d},calculateCircumference:function(a){var b=this.getMeta().count;return b>0&&!isNaN(a)?2*Math.PI/b:0}})}},{}],20:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers;a.defaults.radar={scale:{type:"radialLinear"},elements:{line:{tension:0}}},a.controllers.radar=a.DatasetController.extend({datasetElementType:a.elements.Line,dataElementType:a.elements.Point,linkScales:b.noop,addElementAndReset:function(b){a.DatasetController.prototype.addElementAndReset.call(this,b),this.updateBezierControlPoints()},update:function(a){var c=this,d=c.getMeta(),e=d.dataset,f=d.data,g=e.custom||{},h=c.getDataset(),i=c.chart.options.elements.line,j=c.chart.scale;void 0!==h.tension&&void 0===h.lineTension&&(h.lineTension=h.tension),b.extend(d.dataset,{_datasetIndex:c.index,_children:f,_loop:!0,_model:{tension:g.tension?g.tension:b.getValueOrDefault(h.lineTension,i.tension),backgroundColor:g.backgroundColor?g.backgroundColor:h.backgroundColor||i.backgroundColor,borderWidth:g.borderWidth?g.borderWidth:h.borderWidth||i.borderWidth,borderColor:g.borderColor?g.borderColor:h.borderColor||i.borderColor,fill:g.fill?g.fill:void 0!==h.fill?h.fill:i.fill,borderCapStyle:g.borderCapStyle?g.borderCapStyle:h.borderCapStyle||i.borderCapStyle,borderDash:g.borderDash?g.borderDash:h.borderDash||i.borderDash,borderDashOffset:g.borderDashOffset?g.borderDashOffset:h.borderDashOffset||i.borderDashOffset,borderJoinStyle:g.borderJoinStyle?g.borderJoinStyle:h.borderJoinStyle||i.borderJoinStyle,scaleTop:j.top,scaleBottom:j.bottom,scaleZero:j.getBasePosition()}}),d.dataset.pivot(),b.each(f,function(b,d){c.updateElement(b,d,a)},c),c.updateBezierControlPoints()},updateElement:function(a,c,d){var e=this,f=a.custom||{},g=e.getDataset(),h=e.chart.scale,i=e.chart.options.elements.point,j=h.getPointPositionForValue(c,g.data[c]);b.extend(a,{_datasetIndex:e.index,_index:c,_scale:h,_model:{x:d?h.xCenter:j.x,y:d?h.yCenter:j.y,tension:f.tension?f.tension:b.getValueOrDefault(g.tension,e.chart.options.elements.line.tension),radius:f.radius?f.radius:b.getValueAtIndexOrDefault(g.pointRadius,c,i.radius),backgroundColor:f.backgroundColor?f.backgroundColor:b.getValueAtIndexOrDefault(g.pointBackgroundColor,c,i.backgroundColor),borderColor:f.borderColor?f.borderColor:b.getValueAtIndexOrDefault(g.pointBorderColor,c,i.borderColor),borderWidth:f.borderWidth?f.borderWidth:b.getValueAtIndexOrDefault(g.pointBorderWidth,c,i.borderWidth),pointStyle:f.pointStyle?f.pointStyle:b.getValueAtIndexOrDefault(g.pointStyle,c,i.pointStyle),hitRadius:f.hitRadius?f.hitRadius:b.getValueAtIndexOrDefault(g.hitRadius,c,i.hitRadius)}}),a._model.skip=f.skip?f.skip:isNaN(a._model.x)||isNaN(a._model.y)},updateBezierControlPoints:function(){var a=this.chart.chartArea,c=this.getMeta();b.each(c.data,function(d,e){var f=d._model,g=b.splineCurve(b.previousItem(c.data,e,!0)._model,f,b.nextItem(c.data,e,!0)._model,f.tension);f.controlPointPreviousX=Math.max(Math.min(g.previous.x,a.right),a.left),f.controlPointPreviousY=Math.max(Math.min(g.previous.y,a.bottom),a.top),f.controlPointNextX=Math.max(Math.min(g.next.x,a.right),a.left),f.controlPointNextY=Math.max(Math.min(g.next.y,a.bottom),a.top),d.pivot()})},draw:function(a){var c=this.getMeta(),d=a||1;b.each(c.data,function(a,b){a.transition(d)}),c.dataset.transition(d).draw(),b.each(c.data,function(a){a.draw()})},setHoverStyle:function(a){var c=this.chart.data.datasets[a._datasetIndex],d=a.custom||{},e=a._index,f=a._model;f.radius=d.hoverRadius?d.hoverRadius:b.getValueAtIndexOrDefault(c.pointHoverRadius,e,this.chart.options.elements.point.hoverRadius),f.backgroundColor=d.hoverBackgroundColor?d.hoverBackgroundColor:b.getValueAtIndexOrDefault(c.pointHoverBackgroundColor,e,b.getHoverColor(f.backgroundColor)),f.borderColor=d.hoverBorderColor?d.hoverBorderColor:b.getValueAtIndexOrDefault(c.pointHoverBorderColor,e,b.getHoverColor(f.borderColor)),f.borderWidth=d.hoverBorderWidth?d.hoverBorderWidth:b.getValueAtIndexOrDefault(c.pointHoverBorderWidth,e,f.borderWidth)},removeHoverStyle:function(a){var c=this.chart.data.datasets[a._datasetIndex],d=a.custom||{},e=a._index,f=a._model,g=this.chart.options.elements.point;f.radius=d.radius?d.radius:b.getValueAtIndexOrDefault(c.radius,e,g.radius),f.backgroundColor=d.backgroundColor?d.backgroundColor:b.getValueAtIndexOrDefault(c.pointBackgroundColor,e,g.backgroundColor),f.borderColor=d.borderColor?d.borderColor:b.getValueAtIndexOrDefault(c.pointBorderColor,e,g.borderColor),f.borderWidth=d.borderWidth?d.borderWidth:b.getValueAtIndexOrDefault(c.pointBorderWidth,e,g.borderWidth)}})}},{}],21:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers;a.defaults.global.animation={duration:1e3,easing:"easeOutQuart",onProgress:b.noop,onComplete:b.noop},a.Animation=a.Element.extend({currentStep:null,numSteps:60,easing:"",render:null,onAnimationProgress:null,onAnimationComplete:null}),a.animationService={frameDuration:17,animations:[],dropFrames:0,request:null,addAnimation:function(a,b,c,d){var e=this;d||(a.animating=!0);for(var f=0;f1&&(c=Math.floor(a.dropFrames),a.dropFrames=a.dropFrames%1);for(var d=0;da.animations[d].animationObject.numSteps&&(a.animations[d].animationObject.currentStep=a.animations[d].animationObject.numSteps),a.animations[d].animationObject.render(a.animations[d].chartInstance,a.animations[d].animationObject),a.animations[d].animationObject.onAnimationProgress&&a.animations[d].animationObject.onAnimationProgress.call&&a.animations[d].animationObject.onAnimationProgress.call(a.animations[d].chartInstance,a.animations[d]),a.animations[d].animationObject.currentStep===a.animations[d].animationObject.numSteps?(a.animations[d].animationObject.onAnimationComplete&&a.animations[d].animationObject.onAnimationComplete.call&&a.animations[d].animationObject.onAnimationComplete.call(a.animations[d].chartInstance,a.animations[d]),a.animations[d].chartInstance.animating=!1,a.animations.splice(d,1)):++d;var e=Date.now(),f=(e-b)/a.frameDuration;a.dropFrames+=f,a.animations.length>0&&a.requestAnimationFrame()}}}},{}],22:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers;a.types={},a.instances={},a.controllers={},a.Controller=function(c){return this.chart=c,this.config=c.config,this.options=this.config.options=b.configMerge(a.defaults.global,a.defaults[this.config.type],this.config.options||{}),this.id=b.uid(),Object.defineProperty(this,"data",{get:function(){return this.config.data}}),a.instances[this.id]=this,this.options.responsive&&this.resize(!0),this.initialize(),this},b.extend(a.Controller.prototype,{initialize:function(){var b=this;return a.plugins.notify("beforeInit",[b]),b.bindEvents(),b.ensureScalesHaveIDs(),b.buildOrUpdateControllers(),b.buildScales(),b.updateLayout(),b.resetElements(),b.initToolTip(),b.update(),a.plugins.notify("afterInit",[b]),b},clear:function(){return b.clear(this.chart),this},stop:function(){return a.animationService.cancelAnimation(this),this},resize:function(c){var d=this,e=d.chart,f=e.canvas,g=b.getMaximumWidth(f),h=e.aspectRatio,i=d.options.maintainAspectRatio&&isNaN(h)===!1&&isFinite(h)&&0!==h?g/h:b.getMaximumHeight(f),j=e.width!==g||e.height!==i;if(!j)return d;f.width=e.width=g,f.height=e.height=i,b.retinaScale(e);var k={width:g,height:i};return a.plugins.notify("resize",[d,k]),d.options.onResize&&d.options.onResize(d,k),c||(d.stop(),d.update(d.options.responsiveAnimationDuration)),d},ensureScalesHaveIDs:function(){var a=this.options,c=a.scales||{},d=a.scale;b.each(c.xAxes,function(a,b){a.id=a.id||"x-axis-"+b}),b.each(c.yAxes,function(a,b){a.id=a.id||"y-axis-"+b}),d&&(d.id=d.id||"scale")},buildScales:function(){var c=this,d=c.options,e=c.scales={},f=[];d.scales&&(f=f.concat((d.scales.xAxes||[]).map(function(a){return{options:a,dtype:"category"}}),(d.scales.yAxes||[]).map(function(a){return{options:a,dtype:"linear"}}))),d.scale&&f.push({options:d.scale,dtype:"radialLinear",isDefault:!0}),b.each(f,function(d,f){var g=d.options,h=b.getValueOrDefault(g.type,d.dtype),i=a.scaleService.getScaleConstructor(h);if(i){var j=new i({id:g.id,options:g,ctx:c.chart.ctx,chart:c});e[j.id]=j,d.isDefault&&(c.scale=j)}}),a.scaleService.addScalesToLayout(this)},updateLayout:function(){a.layoutService.update(this,this.chart.width,this.chart.height)},buildOrUpdateControllers:function(){var c=this,d=[],e=[];if(b.each(c.data.datasets,function(b,f){var g=c.getDatasetMeta(f);g.type||(g.type=b.type||c.config.type),d.push(g.type),g.controller?g.controller.updateIndex(f):(g.controller=new a.controllers[g.type](c,f),e.push(g.controller))},c),d.length>1)for(var f=1;fb;++b)d.getDatasetMeta(b).controller.update();a.plugins.notify("afterDatasetsUpdate",[d])}},render:function(c,d){var e=this;a.plugins.notify("beforeRender",[e]);var f=e.options.animation;if(f&&("undefined"!=typeof c&&0!==c||"undefined"==typeof c&&0!==f.duration)){var g=new a.Animation;g.numSteps=(c||f.duration)/16.66,g.easing=f.easing,g.render=function(a,c){var d=b.easingEffects[c.easing],e=c.currentStep/c.numSteps,f=d(e);a.draw(f,e,c.currentStep)},g.onAnimationProgress=f.onProgress,g.onAnimationComplete=f.onComplete,a.animationService.addAnimation(e,g,c,d)}else e.draw(),f&&f.onComplete&&f.onComplete.call&&f.onComplete.call(e);return e},draw:function(c){var d=this,e=c||1;d.clear(),a.plugins.notify("beforeDraw",[d,e]),b.each(d.boxes,function(a){a.draw(d.chartArea)},d),d.scale&&d.scale.draw(),a.plugins.notify("beforeDatasetsDraw",[d,e]),b.each(d.data.datasets,function(a,b){d.isDatasetVisible(b)&&d.getDatasetMeta(b).controller.draw(c)},d,!0),a.plugins.notify("afterDatasetsDraw",[d,e]),d.tooltip.transition(e).draw(),a.plugins.notify("afterDraw",[d,e])},getElementAtEvent:function(a){var c=this,d=b.getRelativePosition(a,c.chart),e=[];return b.each(c.data.datasets,function(a,f){if(c.isDatasetVisible(f)){var g=c.getDatasetMeta(f);b.each(g.data,function(a,b){return a.inRange(d.x,d.y)?(e.push(a),e):void 0})}}),e},getElementsAtEvent:function(a){var c=this,d=b.getRelativePosition(a,c.chart),e=[],f=function(){if(c.data.datasets)for(var a=0;a0&&(b=this.getDatasetMeta(b[0]._datasetIndex).data),b},getDatasetMeta:function(a){var b=this,c=b.data.datasets[a];c._meta||(c._meta={});var d=c._meta[b.id];return d||(d=c._meta[b.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null}),d},getVisibleDatasetCount:function(){for(var a=0,b=0,c=this.data.datasets.length;c>b;++b)this.isDatasetVisible(b)&&a++;return a},isDatasetVisible:function(a){var b=this.getDatasetMeta(a);return"boolean"==typeof b.hidden?!b.hidden:!this.data.datasets[a].hidden},generateLegend:function(){return this.options.legendCallback(this)},destroy:function(){var c=this;c.stop(),c.clear(),b.unbindEvents(c,c.events),b.removeResizeListener(c.chart.canvas.parentNode);var d=c.chart.canvas;d.width=c.chart.width,d.height=c.chart.height,void 0!==c.chart.originalDevicePixelRatio&&c.chart.ctx.scale(1/c.chart.originalDevicePixelRatio,1/c.chart.originalDevicePixelRatio),d.style.width=c.chart.originalCanvasStyleWidth,d.style.height=c.chart.originalCanvasStyleHeight,a.plugins.notify("destroy",[c]),delete a.instances[c.id]},toBase64Image:function(){return this.chart.canvas.toDataURL.apply(this.chart.canvas,arguments)},initToolTip:function(){var b=this;b.tooltip=new a.Tooltip({_chart:b.chart,_chartInstance:b,_data:b.data,_options:b.options.tooltips},b)},bindEvents:function(){var a=this;b.bindEvents(a,a.options.events,function(b){a.eventHandler(b)})},updateHoverStyle:function(a,b,c){var d,e,f,g=c?"setHoverStyle":"removeHoverStyle";switch(b){case"single":a=[a[0]];break;case"label":case"dataset":break;default:return}for(e=0,f=a.length;f>e;++e)d=a[e],d&&this.getDatasetMeta(d._datasetIndex).controller[g](d)},eventHandler:function(a){var c=this,d=c.tooltip,e=c.options||{},f=e.hover,g=e.tooltips;return c.lastActive=c.lastActive||[],c.lastTooltipActive=c.lastTooltipActive||[],"mouseout"===a.type?(c.active=[],c.tooltipActive=[]):(c.active=c.getElementsAtEventForMode(a,f.mode),c.tooltipActive=c.getElementsAtEventForMode(a,g.mode)),f.onHover&&f.onHover.call(c,c.active),("mouseup"===a.type||"click"===a.type)&&(e.onClick&&e.onClick.call(c,a,c.active),c.legend&&c.legend.handleEvent&&c.legend.handleEvent(a)),c.lastActive.length&&c.updateHoverStyle(c.lastActive,f.mode,!1),c.active.length&&f.mode&&c.updateHoverStyle(c.active,f.mode,!0),(g.enabled||g.custom)&&(d.initialize(),d._active=c.tooltipActive,d.update(!0)),d.pivot(),c.animating||b.arrayEquals(c.active,c.lastActive)&&b.arrayEquals(c.tooltipActive,c.lastTooltipActive)||(c.stop(),(g.enabled||g.custom)&&d.update(!0),c.render(f.animationDuration,!0)),c.lastActive=c.active,c.lastTooltipActive=c.tooltipActive,c}})}},{}],23:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers,c=b.noop;a.DatasetController=function(a,b){this.initialize.call(this,a,b)},b.extend(a.DatasetController.prototype,{datasetElementType:null,dataElementType:null,initialize:function(a,b){var c=this;c.chart=a,c.index=b,c.linkScales(),c.addElements()},updateIndex:function(a){this.index=a},linkScales:function(){var a=this,b=a.getMeta(),c=a.getDataset();null===b.xAxisID&&(b.xAxisID=c.xAxisID||a.chart.options.scales.xAxes[0].id),null===b.yAxisID&&(b.yAxisID=c.yAxisID||a.chart.options.scales.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(a){return this.chart.scales[a]},reset:function(){this.update(!0)},createMetaDataset:function(){var a=this,b=a.datasetElementType;return b&&new b({_chart:a.chart.chart,_datasetIndex:a.index})},createMetaData:function(a){var b=this,c=b.dataElementType;return c&&new c({_chart:b.chart.chart,_datasetIndex:b.index,_index:a})},addElements:function(){var a,b,c=this,d=c.getMeta(),e=c.getDataset().data||[],f=d.data;for(a=0,b=e.length;b>a;++a)f[a]=f[a]||c.createMetaData(d,a);d.dataset=d.dataset||c.createMetaDataset()},addElementAndReset:function(a){var b=this,c=b.createMetaData(a);b.getMeta().data.splice(a,0,c),b.updateElement(c,a,!0)},buildOrUpdateElements:function(){var a=this.getMeta(),b=a.data,c=this.getDataset().data.length,d=b.length;if(d>c)b.splice(c,d-c);else if(c>d)for(var e=d;c>e;++e)this.addElementAndReset(e)},update:c,draw:function(a){var c=a||1;b.each(this.getMeta().data,function(a,b){a.transition(c).draw()})},removeHoverStyle:function(a,c){var d=this.chart.data.datasets[a._datasetIndex],e=a._index,f=a.custom||{},g=b.getValueAtIndexOrDefault,h=(b.color,a._model);h.backgroundColor=f.backgroundColor?f.backgroundColor:g(d.backgroundColor,e,c.backgroundColor),h.borderColor=f.borderColor?f.borderColor:g(d.borderColor,e,c.borderColor),h.borderWidth=f.borderWidth?f.borderWidth:g(d.borderWidth,e,c.borderWidth)},setHoverStyle:function(a){var c=this.chart.data.datasets[a._datasetIndex],d=a._index,e=a.custom||{},f=b.getValueAtIndexOrDefault,g=(b.color,b.getHoverColor),h=a._model;h.backgroundColor=e.hoverBackgroundColor?e.hoverBackgroundColor:f(c.hoverBackgroundColor,d,g(h.backgroundColor)),h.borderColor=e.hoverBorderColor?e.hoverBorderColor:f(c.hoverBorderColor,d,g(h.borderColor)),h.borderWidth=e.hoverBorderWidth?e.hoverBorderWidth:f(c.hoverBorderWidth,d,h.borderWidth)}}),a.DatasetController.extend=b.inherits}},{}],24:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers;a.elements={},a.Element=function(a){b.extend(this,a),this.initialize.apply(this,arguments)},b.extend(a.Element.prototype,{initialize:function(){this.hidden=!1},pivot:function(){var a=this;return a._view||(a._view=b.clone(a._model)),a._start=b.clone(a._view),a},transition:function(a){var c=this;return c._view||(c._view=b.clone(c._model)),1===a?(c._view=c._model,c._start=null,c):(c._start||c.pivot(),b.each(c._model,function(d,e){if("_"===e[0]);else if(c._view.hasOwnProperty(e))if(d===c._view[e]);else if("string"==typeof d)try{var f=b.color(c._model[e]).mix(b.color(c._start[e]),a);c._view[e]=f.rgbString()}catch(g){c._view[e]=d}else if("number"==typeof d){var h=void 0!==c._start[e]&&isNaN(c._start[e])===!1?c._start[e]:0;c._view[e]=(c._model[e]-h)*a+h}else c._view[e]=d;else"number"!=typeof d||isNaN(c._view[e])?c._view[e]=d:c._view[e]=d*a},c),c)},tooltipPosition:function(){return{x:this._model.x,y:this._model.y}},hasValue:function(){return b.isNumber(this._model.x)&&b.isNumber(this._model.y)}}),a.Element.extend=b.inherits}},{}],25:[function(a,b,c){"use strict";var d=a(3);b.exports=function(a){function b(a,b,c){var d;return"string"==typeof a?(d=parseInt(a,10),-1!=a.indexOf("%")&&(d=d/100*b.parentNode[c])):d=a,d}function c(a){return void 0!==a&&null!==a&&"none"!==a}function e(a,d,e){var f=document.defaultView,g=a.parentNode,h=f.getComputedStyle(a)[d],i=f.getComputedStyle(g)[d],j=c(h),k=c(i),l=Number.POSITIVE_INFINITY;return j||k?Math.min(j?b(h,a,e):l,k?b(i,g,e):l):"none"}var f=a.helpers={};f.each=function(a,b,c,d){var e,g;if(f.isArray(a))if(g=a.length,d)for(e=g-1;e>=0;e--)b.call(c,a[e],e);else for(e=0;g>e;e++)b.call(c,a[e],e);else if("object"==typeof a){var h=Object.keys(a);for(g=h.length,e=0;g>e;e++)b.call(c,a[h[e]],h[e])}},f.clone=function(a){var b={};return f.each(a,function(a,c){f.isArray(a)?b[c]=a.slice(0):"object"==typeof a&&null!==a?b[c]=f.clone(a):b[c]=a}),b},f.extend=function(a){for(var b=function(b,c){a[c]=b},c=1,d=arguments.length;d>c;c++)f.each(arguments[c],b);return a},f.configMerge=function(b){var c=f.clone(b);return f.each(Array.prototype.slice.call(arguments,1),function(b){f.each(b,function(b,d){if("scales"===d)c[d]=f.scaleMerge(c.hasOwnProperty(d)?c[d]:{},b);else if("scale"===d)c[d]=f.configMerge(c.hasOwnProperty(d)?c[d]:{},a.scaleService.getScaleDefaults(b.type),b);else if(c.hasOwnProperty(d)&&f.isArray(c[d])&&f.isArray(b)){var e=c[d];f.each(b,function(a,b){b=d[c].length||!d[c][e].type?d[c].push(f.configMerge(h,b)):b.type&&b.type!==d[c][e].type?d[c][e]=f.configMerge(d[c][e],h,b):d[c][e]=f.configMerge(d[c][e],b)}):(d[c]=[],f.each(b,function(b){var e=f.getValueOrDefault(b.type,"xAxes"===c?"category":"linear");d[c].push(f.configMerge(a.scaleService.getScaleDefaults(e),b))})):d.hasOwnProperty(c)&&"object"==typeof d[c]&&null!==d[c]&&"object"==typeof b?d[c]=f.configMerge(d[c],b):d[c]=b}),d},f.getValueAtIndexOrDefault=function(a,b,c){return void 0===a||null===a?c:f.isArray(a)?bc;++c)if(a[c]===b)return c;return-1},f.where=function(a,b){if(f.isArray(a)&&Array.prototype.filter)return a.filter(b);var c=[];return f.each(a,function(a){b(a)&&c.push(a)}),c},f.findIndex=Array.prototype.findIndex?function(a,b,c){return a.findIndex(b,c)}:function(a,b,c){c=void 0===c?a:c;for(var d=0,e=a.length;e>d;++d)if(b.call(c,a[d],d,a))return d;return-1},f.findNextWhere=function(a,b,c){(void 0===c||null===c)&&(c=-1);for(var d=c+1;d=0;d--){var e=a[d];if(b(e))return e}},f.inherits=function(a){var b=this,c=a&&a.hasOwnProperty("constructor")?a.constructor:function(){return b.apply(this,arguments)},d=function(){this.constructor=c};return d.prototype=b.prototype,c.prototype=new d,c.extend=f.inherits,a&&f.extend(c.prototype,a),c.__super__=b.prototype,c},f.noop=function(){},f.uid=function(){var a=0;return function(){return a++}}(),f.isNumber=function(a){return!isNaN(parseFloat(a))&&isFinite(a)},f.almostEquals=function(a,b,c){return Math.abs(a-b)0?1:-1},f.log10=Math.log10?function(a){return Math.log10(a)}:function(a){return Math.log(a)/Math.LN10},f.toRadians=function(a){return a*(Math.PI/180)},f.toDegrees=function(a){return a*(180/Math.PI)},f.getAngleFromPoint=function(a,b){var c=b.x-a.x,d=b.y-a.y,e=Math.sqrt(c*c+d*d),f=Math.atan2(d,c);return f<-.5*Math.PI&&(f+=2*Math.PI),{angle:f,distance:e}},f.aliasPixel=function(a){return a%2===0?0:.5},f.splineCurve=function(a,b,c,d){var e=a.skip?b:a,f=b,g=c.skip?b:c,h=Math.sqrt(Math.pow(f.x-e.x,2)+Math.pow(f.y-e.y,2)),i=Math.sqrt(Math.pow(g.x-f.x,2)+Math.pow(g.y-f.y,2)),j=h/(h+i),k=i/(h+i);j=isNaN(j)?0:j,k=isNaN(k)?0:k;var l=d*j,m=d*k;return{previous:{x:f.x-l*(g.x-e.x),y:f.y-l*(g.y-e.y)},next:{x:f.x+m*(g.x-e.x),y:f.y+m*(g.y-e.y)}}},f.nextItem=function(a,b,c){return c?b>=a.length-1?a[0]:a[b+1]:b>=a.length-1?a[a.length-1]:a[b+1]},f.previousItem=function(a,b,c){return c?0>=b?a[a.length-1]:a[b-1]:0>=b?a[0]:a[b-1]},f.niceNum=function(a,b){var c,d=Math.floor(f.log10(a)),e=a/Math.pow(10,d);return c=b?1.5>e?1:3>e?2:7>e?5:10:1>=e?1:2>=e?2:5>=e?5:10,c*Math.pow(10,d)};var g=f.easingEffects={linear:function(a){return a},easeInQuad:function(a){return a*a},easeOutQuad:function(a){return-1*a*(a-2)},easeInOutQuad:function(a){return(a/=.5)<1?.5*a*a:-.5*(--a*(a-2)-1)},easeInCubic:function(a){return a*a*a},easeOutCubic:function(a){return 1*((a=a/1-1)*a*a+1)},easeInOutCubic:function(a){return(a/=.5)<1?.5*a*a*a:.5*((a-=2)*a*a+2)},easeInQuart:function(a){return a*a*a*a},easeOutQuart:function(a){return-1*((a=a/1-1)*a*a*a-1)},easeInOutQuart:function(a){return(a/=.5)<1?.5*a*a*a*a:-.5*((a-=2)*a*a*a-2)},easeInQuint:function(a){return 1*(a/=1)*a*a*a*a},easeOutQuint:function(a){return 1*((a=a/1-1)*a*a*a*a+1)},easeInOutQuint:function(a){return(a/=.5)<1?.5*a*a*a*a*a:.5*((a-=2)*a*a*a*a+2)},easeInSine:function(a){return-1*Math.cos(a/1*(Math.PI/2))+1},easeOutSine:function(a){return 1*Math.sin(a/1*(Math.PI/2))},easeInOutSine:function(a){return-.5*(Math.cos(Math.PI*a/1)-1)},easeInExpo:function(a){return 0===a?1:1*Math.pow(2,10*(a/1-1))},easeOutExpo:function(a){return 1===a?1:1*(-Math.pow(2,-10*a/1)+1)},easeInOutExpo:function(a){return 0===a?0:1===a?1:(a/=.5)<1?.5*Math.pow(2,10*(a-1)):.5*(-Math.pow(2,-10*--a)+2)},easeInCirc:function(a){return a>=1?a:-1*(Math.sqrt(1-(a/=1)*a)-1)},easeOutCirc:function(a){return 1*Math.sqrt(1-(a=a/1-1)*a)},easeInOutCirc:function(a){return(a/=.5)<1?-.5*(Math.sqrt(1-a*a)-1):.5*(Math.sqrt(1-(a-=2)*a)+1)},easeInElastic:function(a){var b=1.70158,c=0,d=1;return 0===a?0:1===(a/=1)?1:(c||(c=.3),da?-.5*(d*Math.pow(2,10*(a-=1))*Math.sin((1*a-b)*(2*Math.PI)/c)):d*Math.pow(2,-10*(a-=1))*Math.sin((1*a-b)*(2*Math.PI)/c)*.5+1)},easeInBack:function(a){var b=1.70158;return 1*(a/=1)*a*((b+1)*a-b)},easeOutBack:function(a){var b=1.70158;return 1*((a=a/1-1)*a*((b+1)*a+b)+1)},easeInOutBack:function(a){var b=1.70158;return(a/=.5)<1?.5*(a*a*(((b*=1.525)+1)*a-b)):.5*((a-=2)*a*(((b*=1.525)+1)*a+b)+2)},easeInBounce:function(a){return 1-g.easeOutBounce(1-a)},easeOutBounce:function(a){return(a/=1)<1/2.75?1*(7.5625*a*a):2/2.75>a?1*(7.5625*(a-=1.5/2.75)*a+.75):2.5/2.75>a?1*(7.5625*(a-=2.25/2.75)*a+.9375):1*(7.5625*(a-=2.625/2.75)*a+.984375)},easeInOutBounce:function(a){return.5>a?.5*g.easeInBounce(2*a):.5*g.easeOutBounce(2*a-1)+.5}};f.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){return window.setTimeout(a,1e3/60)}}(),f.cancelAnimFrame=function(){return window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.oCancelAnimationFrame||window.msCancelAnimationFrame||function(a){return window.clearTimeout(a,1e3/60)}}(),f.getRelativePosition=function(a,b){var c,d,e=a.originalEvent||a,g=a.currentTarget||a.srcElement,h=g.getBoundingClientRect(),i=e.touches;i&&i.length>0?(c=i[0].clientX,d=i[0].clientY):(c=e.clientX,d=e.clientY);var j=parseFloat(f.getStyle(g,"padding-left")),k=parseFloat(f.getStyle(g,"padding-top")),l=parseFloat(f.getStyle(g,"padding-right")),m=parseFloat(f.getStyle(g,"padding-bottom")),n=h.right-h.left-j-l,o=h.bottom-h.top-k-m; return c=Math.round((c-h.left-j)/n*g.width/b.currentDevicePixelRatio),d=Math.round((d-h.top-k)/o*g.height/b.currentDevicePixelRatio),{x:c,y:d}},f.addEvent=function(a,b,c){a.addEventListener?a.addEventListener(b,c):a.attachEvent?a.attachEvent("on"+b,c):a["on"+b]=c},f.removeEvent=function(a,b,c){a.removeEventListener?a.removeEventListener(b,c,!1):a.detachEvent?a.detachEvent("on"+b,c):a["on"+b]=f.noop},f.bindEvents=function(a,b,c){var d=a.events=a.events||{};f.each(b,function(b){d[b]=function(){c.apply(a,arguments)},f.addEvent(a.chart.canvas,b,d[b])})},f.unbindEvents=function(a,b){var c=a.chart.canvas;f.each(b,function(a,b){f.removeEvent(c,b,a)})},f.getConstraintWidth=function(a){return e(a,"max-width","clientWidth")},f.getConstraintHeight=function(a){return e(a,"max-height","clientHeight")},f.getMaximumWidth=function(a){var b=a.parentNode,c=parseInt(f.getStyle(b,"padding-left"))+parseInt(f.getStyle(b,"padding-right")),d=b.clientWidth-c,e=f.getConstraintWidth(a);return isNaN(e)?d:Math.min(d,e)},f.getMaximumHeight=function(a){var b=a.parentNode,c=parseInt(f.getStyle(b,"padding-top"))+parseInt(f.getStyle(b,"padding-bottom")),d=b.clientHeight-c,e=f.getConstraintHeight(a);return isNaN(e)?d:Math.min(d,e)},f.getStyle=function(a,b){return a.currentStyle?a.currentStyle[b]:document.defaultView.getComputedStyle(a,null).getPropertyValue(b)},f.retinaScale=function(a){var b=a.ctx,c=a.canvas,d=c.width,e=c.height,f=a.currentDevicePixelRatio=window.devicePixelRatio||1;1!==f&&(c.height=e*f,c.width=d*f,b.scale(f,f),a.originalDevicePixelRatio=a.originalDevicePixelRatio||f),c.style.width=d+"px",c.style.height=e+"px"},f.clear=function(a){a.ctx.clearRect(0,0,a.width,a.height)},f.fontString=function(a,b,c){return b+" "+a+"px "+c},f.longestText=function(a,b,c,d){d=d||{};var e=d.data=d.data||{},g=d.garbageCollect=d.garbageCollect||[];d.font!==b&&(e=d.data={},g=d.garbageCollect=[],d.font=b),a.font=b;var h=0;f.each(c,function(b){void 0!==b&&null!==b&&f.isArray(b)!==!0?h=f.measureText(a,e,g,h,b):f.isArray(b)&&f.each(b,function(b){void 0===b||null===b||f.isArray(b)||(h=f.measureText(a,e,g,h,b))})});var i=g.length/2;if(i>c.length){for(var j=0;i>j;j++)delete e[g[j]];g.splice(0,i)}return h},f.measureText=function(a,b,c,d,e){var f=b[e];return f||(f=b[e]=a.measureText(e).width,c.push(e)),f>d&&(d=f),d},f.numberOfLabelLines=function(a){var b=1;return f.each(a,function(a){f.isArray(a)&&a.length>b&&(b=a.length)}),b},f.drawRoundedRectangle=function(a,b,c,d,e,f){a.beginPath(),a.moveTo(b+f,c),a.lineTo(b+d-f,c),a.quadraticCurveTo(b+d,c,b+d,c+f),a.lineTo(b+d,c+e-f),a.quadraticCurveTo(b+d,c+e,b+d-f,c+e),a.lineTo(b+f,c+e),a.quadraticCurveTo(b,c+e,b,c+e-f),a.lineTo(b,c+f),a.quadraticCurveTo(b,c,b+f,c),a.closePath()},f.color=function(b){return d?d(b instanceof CanvasGradient?a.defaults.global.defaultColor:b):(console.log("Color.js not found!"),b)},f.addResizeListener=function(a,b){var c=document.createElement("iframe"),d="chartjs-hidden-iframe";c.classlist?c.classlist.add(d):c.setAttribute("class",d);var e=c.style;e.width="100%",e.display="block",e.border=0,e.height=0,e.margin=0,e.position="absolute",e.left=0,e.right=0,e.top=0,e.bottom=0,a.insertBefore(c,a.firstChild),(c.contentWindow||c).onresize=function(){b&&b()}},f.removeResizeListener=function(a){var b=a.querySelector(".chartjs-hidden-iframe");b&&b.parentNode.removeChild(b)},f.isArray=Array.isArray?function(a){return Array.isArray(a)}:function(a){return"[object Array]"===Object.prototype.toString.call(a)},f.arrayEquals=function(a,b){var c,d,e,g;if(!a||!b||a.length!=b.length)return!1;for(c=0,d=a.length;d>c;++c)if(e=a[c],g=b[c],e instanceof Array&&g instanceof Array){if(!f.arrayEquals(e,g))return!1}else if(e!=g)return!1;return!0},f.callCallback=function(a,b,c){a&&"function"==typeof a.call&&a.apply(c,b)},f.getHoverColor=function(a){return a instanceof CanvasPattern?a:f.color(a).saturate(.5).darken(.1).rgbString()}}},{3:3}],26:[function(a,b,c){"use strict";b.exports=function(){var a=function(b,c){var d=this,e=a.helpers;return d.config=c,b.length&&b[0].getContext&&(b=b[0]),b.getContext&&(b=b.getContext("2d")),d.ctx=b,d.canvas=b.canvas,b.canvas.style.display=b.canvas.style.display||"block",d.width=b.canvas.width||parseInt(e.getStyle(b.canvas,"width"),10)||e.getMaximumWidth(b.canvas),d.height=b.canvas.height||parseInt(e.getStyle(b.canvas,"height"),10)||e.getMaximumHeight(b.canvas),d.aspectRatio=d.width/d.height,(isNaN(d.aspectRatio)||isFinite(d.aspectRatio)===!1)&&(d.aspectRatio=void 0!==c.aspectRatio?c.aspectRatio:2),d.originalCanvasStyleWidth=b.canvas.style.width,d.originalCanvasStyleHeight=b.canvas.style.height,e.retinaScale(d),c&&(d.controller=new a.Controller(d)),e.addResizeListener(b.canvas.parentNode,function(){d.controller&&d.controller.config.options.responsive&&d.controller.resize()}),d.controller?d.controller:d};return a.defaults={global:{responsive:!0,responsiveAnimationDuration:0,maintainAspectRatio:!0,events:["mousemove","mouseout","click","touchstart","touchmove"],hover:{onHover:null,mode:"single",animationDuration:400},onClick:null,defaultColor:"rgba(0,0,0,0.1)",defaultFontColor:"#666",defaultFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",defaultFontSize:12,defaultFontStyle:"normal",showLines:!0,elements:{},legendCallback:function(a){var b=[];b.push('
    ');for(var c=0;c'),a.data.datasets[c].label&&b.push(a.data.datasets[c].label),b.push("");return b.push("
"),b.join("")}}},a.Chart=a,a}},{}],27:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers;a.layoutService={defaults:{},addBox:function(a,b){a.boxes||(a.boxes=[]),a.boxes.push(b)},removeBox:function(a,b){a.boxes&&a.boxes.splice(a.boxes.indexOf(b),1)},update:function(a,c,d){function e(a){var b,c=a.isHorizontal();c?(b=a.update(a.options.fullWidth?p:v,u),w-=b.height):(b=a.update(t,s),v-=b.width),x.push({horizontal:c,minSize:b,box:a})}function f(a){var c=b.findNextWhere(x,function(b){return b.box===a});if(c)if(a.isHorizontal()){var d={left:y,right:z,top:0,bottom:0};a.update(a.options.fullWidth?p:v,q/2,d)}else a.update(c.minSize.width,w)}function g(a){var c=b.findNextWhere(x,function(b){return b.box===a}),d={left:0,right:0,top:A,bottom:B};c&&a.update(c.minSize.width,w,d)}function h(a){a.isHorizontal()?(a.left=a.options.fullWidth?i:y,a.right=a.options.fullWidth?c-i:y+v,a.top=F,a.bottom=F+a.height,F=a.bottom):(a.left=E,a.right=E+a.width,a.top=A,a.bottom=A+w,E=a.right)}if(a){var i=0,j=0,k=b.where(a.boxes,function(a){return"left"===a.options.position}),l=b.where(a.boxes,function(a){return"right"===a.options.position}),m=b.where(a.boxes,function(a){return"top"===a.options.position}),n=b.where(a.boxes,function(a){return"bottom"===a.options.position}),o=b.where(a.boxes,function(a){return"chartArea"===a.options.position});m.sort(function(a,b){return(b.options.fullWidth?1:0)-(a.options.fullWidth?1:0)}),n.sort(function(a,b){return(a.options.fullWidth?1:0)-(b.options.fullWidth?1:0)});var p=c-2*i,q=d-2*j,r=p/2,s=q/2,t=(c-r)/(k.length+l.length),u=(d-s)/(m.length+n.length),v=p,w=q,x=[];b.each(k.concat(l,m,n),e);var y=i,z=i,A=j,B=j;b.each(k.concat(l),f),b.each(k,function(a){y+=a.width}),b.each(l,function(a){z+=a.width}),b.each(m.concat(n),f),b.each(m,function(a){A+=a.height}),b.each(n,function(a){B+=a.height}),b.each(k.concat(l),g),y=i,z=i,A=j,B=j,b.each(k,function(a){y+=a.width}),b.each(l,function(a){z+=a.width}),b.each(m,function(a){A+=a.height}),b.each(n,function(a){B+=a.height});var C=d-A-B,D=c-y-z;(D!==v||C!==w)&&(b.each(k,function(a){a.height=C}),b.each(l,function(a){a.height=C}),b.each(m,function(a){a.options.fullWidth||(a.width=D)}),b.each(n,function(a){a.options.fullWidth||(a.width=D)}),w=C,v=D);var E=i,F=j;b.each(k.concat(m),h),E+=v,F+=w,b.each(l,h),b.each(n,h),a.chartArea={left:y,top:A,right:y+v,bottom:A+w},b.each(o,function(b){b.left=a.chartArea.left,b.top=a.chartArea.top,b.right=a.chartArea.right,b.bottom=a.chartArea.bottom,b.update(v,w)})}}}}},{}],28:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers,c=b.noop;a.defaults.global.legend={display:!0,position:"top",fullWidth:!0,reverse:!1,onClick:function(a,b){var c=b.datasetIndex,d=this.chart,e=d.getDatasetMeta(c);e.hidden=null===e.hidden?!d.data.datasets[c].hidden:null,d.update()},labels:{boxWidth:40,padding:10,generateLabels:function(a){var c=a.data;return b.isArray(c.datasets)?c.datasets.map(function(c,d){return{text:c.label,fillStyle:b.isArray(c.backgroundColor)?c.backgroundColor[0]:c.backgroundColor,hidden:!a.isDatasetVisible(d),lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:c.borderWidth,strokeStyle:c.borderColor,datasetIndex:d}},this):[]}}},a.Legend=a.Element.extend({initialize:function(a){b.extend(this,a),this.legendHitBoxes=[],this.doughnutMode=!1},beforeUpdate:c,update:function(a,b,c){var d=this;return d.beforeUpdate(),d.maxWidth=a,d.maxHeight=b,d.margins=c,d.beforeSetDimensions(),d.setDimensions(),d.afterSetDimensions(),d.beforeBuildLabels(),d.buildLabels(),d.afterBuildLabels(),d.beforeFit(),d.fit(),d.afterFit(),d.afterUpdate(),d.minSize},afterUpdate:c,beforeSetDimensions:c,setDimensions:function(){var a=this;a.isHorizontal()?(a.width=a.maxWidth,a.left=0,a.right=a.width):(a.height=a.maxHeight,a.top=0,a.bottom=a.height),a.paddingLeft=0,a.paddingTop=0,a.paddingRight=0,a.paddingBottom=0,a.minSize={width:0,height:0}},afterSetDimensions:c,beforeBuildLabels:c,buildLabels:function(){var a=this;a.legendItems=a.options.labels.generateLabels.call(a,a.chart),a.options.reverse&&a.legendItems.reverse()},afterBuildLabels:c,beforeFit:c,fit:function(){var c=this,d=c.options,e=d.labels,f=d.display,g=c.ctx,h=a.defaults.global,i=b.getValueOrDefault,j=i(e.fontSize,h.defaultFontSize),k=i(e.fontStyle,h.defaultFontStyle),l=i(e.fontFamily,h.defaultFontFamily),m=b.fontString(j,k,l),n=c.legendHitBoxes=[],o=c.minSize,p=c.isHorizontal();if(p?(o.width=c.maxWidth,o.height=f?10:0):(o.width=f?10:0,o.height=c.maxHeight),f)if(g.font=m,p){var q=c.lineWidths=[0],r=c.legendItems.length?j+e.padding:0;g.textAlign="left",g.textBaseline="top",b.each(c.legendItems,function(a,b){var d=e.boxWidth+j/2+g.measureText(a.text).width;q[q.length-1]+d+e.padding>=c.width&&(r+=j+e.padding,q[q.length]=c.left),n[b]={left:0,top:0,width:d,height:j},q[q.length-1]+=d+e.padding}),o.height+=r}else{var s=e.padding,t=c.columnWidths=[],u=e.padding,v=0,w=0,x=j+s;b.each(c.legendItems,function(a,b){var c=e.boxWidth+j/2+g.measureText(a.text).width;w+x>o.height&&(u+=v+e.padding,t.push(v),v=0,w=0),v=Math.max(v,c),w+=x,n[b]={left:0,top:0,width:c,height:j}}),u+=v,t.push(v),o.width+=u}c.width=o.width,c.height=o.height},afterFit:c,isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},draw:function(){var c=this,d=c.options,e=d.labels,f=a.defaults.global,g=f.elements.line,h=c.width,i=(c.height,c.lineWidths);if(d.display){var j,k=c.ctx,l=b.getValueOrDefault,m=l(e.fontColor,f.defaultFontColor),n=l(e.fontSize,f.defaultFontSize),o=l(e.fontStyle,f.defaultFontStyle),p=l(e.fontFamily,f.defaultFontFamily),q=b.fontString(n,o,p);k.textAlign="left",k.textBaseline="top",k.lineWidth=.5,k.strokeStyle=m,k.fillStyle=m,k.font=q;var r=e.boxWidth,s=c.legendHitBoxes,t=function(a,b,c){k.save(),k.fillStyle=l(c.fillStyle,f.defaultColor),k.lineCap=l(c.lineCap,g.borderCapStyle),k.lineDashOffset=l(c.lineDashOffset,g.borderDashOffset),k.lineJoin=l(c.lineJoin,g.borderJoinStyle),k.lineWidth=l(c.lineWidth,g.borderWidth),k.strokeStyle=l(c.strokeStyle,f.defaultColor),k.setLineDash&&k.setLineDash(l(c.lineDash,g.borderDash)),k.strokeRect(a,b,r,n),k.fillRect(a,b,r,n),k.restore()},u=function(a,b,c,d){k.fillText(c.text,r+n/2+a,b),c.hidden&&(k.beginPath(),k.lineWidth=2,k.moveTo(r+n/2+a,b+n/2),k.lineTo(r+n/2+a+d,b+n/2),k.stroke())},v=c.isHorizontal();j=v?{x:c.left+(h-i[0])/2,y:c.top+e.padding,line:0}:{x:c.left+e.padding,y:c.top,line:0};var w=n+e.padding;b.each(c.legendItems,function(a,b){var d=k.measureText(a.text).width,f=r+n/2+d,g=j.x,l=j.y;v?g+f>=h&&(l=j.y+=n+e.padding,j.line++,g=j.x=c.left+(h-i[j.line])/2):l+w>c.bottom&&(g=j.x=g+c.columnWidths[j.line]+e.padding,l=j.y=c.top,j.line++),t(g,l,a),s[b].left=g,s[b].top=l,u(g,l,a,d),v?j.x+=f+e.padding:j.y+=w})}},handleEvent:function(a){var c=this,d=b.getRelativePosition(a,c.chart.chart),e=d.x,f=d.y,g=c.options;if(e>=c.left&&e<=c.right&&f>=c.top&&f<=c.bottom)for(var h=c.legendHitBoxes,i=0;i=j.left&&e<=j.left+j.width&&f>=j.top&&f<=j.top+j.height){g.onClick&&g.onClick.call(c,a,c.legendItems[i]);break}}}}),a.plugins.register({beforeInit:function(b){var c=b.options,d=c.legend;d&&(b.legend=new a.Legend({ctx:b.chart.ctx,options:d,chart:b}),a.layoutService.addBox(b,b.legend))}})}},{}],29:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers.noop;a.plugins={_plugins:[],register:function(a){var b=this._plugins;[].concat(a).forEach(function(a){-1===b.indexOf(a)&&b.push(a)})},unregister:function(a){var b=this._plugins;[].concat(a).forEach(function(a){var c=b.indexOf(a);-1!==c&&b.splice(c,1)})},clear:function(){this._plugins=[]},count:function(){return this._plugins.length},getAll:function(){return this._plugins},notify:function(a,b){var c,d,e=this._plugins,f=e.length;for(c=0;f>c;++c)if(d=e[c],"function"==typeof d[a]&&d[a].apply(d,b||[])===!1)return!1;return!0}},a.PluginBase=a.Element.extend({beforeInit:b,afterInit:b,beforeUpdate:b,afterUpdate:b,beforeDraw:b,afterDraw:b,destroy:b}),a.pluginService=a.plugins}},{}],30:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers;a.defaults.scale={display:!0,position:"left",gridLines:{display:!0,color:"rgba(0, 0, 0, 0.1)",lineWidth:1,drawBorder:!0,drawOnChartArea:!0,drawTicks:!0,tickMarkLength:10,zeroLineWidth:1,zeroLineColor:"rgba(0,0,0,0.25)",offsetGridLines:!1},scaleLabel:{labelString:"",display:!1},ticks:{beginAtZero:!1,minRotation:0,maxRotation:50,mirror:!1,padding:10,reverse:!1,display:!0,autoSkip:!0,autoSkipPadding:0,labelOffset:0,callback:function(a){return b.isArray(a)?a:""+a}}},a.Scale=a.Element.extend({beforeUpdate:function(){b.callCallback(this.options.beforeUpdate,[this])},update:function(a,c,d){var e=this;return e.beforeUpdate(),e.maxWidth=a,e.maxHeight=c,e.margins=b.extend({left:0,right:0,top:0,bottom:0},d),e.beforeSetDimensions(),e.setDimensions(),e.afterSetDimensions(),e.beforeDataLimits(),e.determineDataLimits(),e.afterDataLimits(),e.beforeBuildTicks(),e.buildTicks(),e.afterBuildTicks(),e.beforeTickToLabelConversion(),e.convertTicksToLabels(),e.afterTickToLabelConversion(),e.beforeCalculateTickRotation(),e.calculateTickRotation(),e.afterCalculateTickRotation(),e.beforeFit(),e.fit(),e.afterFit(),e.afterUpdate(),e.minSize},afterUpdate:function(){b.callCallback(this.options.afterUpdate,[this])},beforeSetDimensions:function(){b.callCallback(this.options.beforeSetDimensions,[this])},setDimensions:function(){var a=this;a.isHorizontal()?(a.width=a.maxWidth,a.left=0,a.right=a.width):(a.height=a.maxHeight,a.top=0,a.bottom=a.height),a.paddingLeft=0,a.paddingTop=0,a.paddingRight=0,a.paddingBottom=0},afterSetDimensions:function(){b.callCallback(this.options.afterSetDimensions,[this])},beforeDataLimits:function(){b.callCallback(this.options.beforeDataLimits,[this])},determineDataLimits:b.noop,afterDataLimits:function(){b.callCallback(this.options.afterDataLimits,[this])},beforeBuildTicks:function(){b.callCallback(this.options.beforeBuildTicks,[this])},buildTicks:b.noop,afterBuildTicks:function(){b.callCallback(this.options.afterBuildTicks,[this])},beforeTickToLabelConversion:function(){b.callCallback(this.options.beforeTickToLabelConversion,[this])},convertTicksToLabels:function(){var a=this;a.ticks=a.ticks.map(function(b,c,d){return a.options.ticks.userCallback?a.options.ticks.userCallback(b,c,d):a.options.ticks.callback(b,c,d)},a)},afterTickToLabelConversion:function(){b.callCallback(this.options.afterTickToLabelConversion,[this])},beforeCalculateTickRotation:function(){b.callCallback(this.options.beforeCalculateTickRotation,[this])},calculateTickRotation:function(){var c=this,d=c.ctx,e=a.defaults.global,f=c.options.ticks,g=b.getValueOrDefault(f.fontSize,e.defaultFontSize),h=b.getValueOrDefault(f.fontStyle,e.defaultFontStyle),i=b.getValueOrDefault(f.fontFamily,e.defaultFontFamily),j=b.fontString(g,h,i);d.font=j;var k,l=d.measureText(c.ticks[0]).width,m=d.measureText(c.ticks[c.ticks.length-1]).width;if(c.labelRotation=f.minRotation||0,c.paddingRight=0,c.paddingLeft=0,c.options.display&&c.isHorizontal()){c.paddingRight=m/2+3,c.paddingLeft=l/2+3,c.longestTextCache||(c.longestTextCache={});for(var n,o,p=b.longestText(d,j,c.ticks,c.longestTextCache),q=p,r=c.getPixelForTick(1)-c.getPixelForTick(0)-6;q>r&&c.labelRotationc.yLabelWidth&&(c.paddingLeft=k+g/2),c.paddingRight=g/2,o*p>c.maxHeight){c.labelRotation--;break}c.labelRotation++,q=n*p}}c.margins&&(c.paddingLeft=Math.max(c.paddingLeft-c.margins.left,0),c.paddingRight=Math.max(c.paddingRight-c.margins.right,0))},afterCalculateTickRotation:function(){b.callCallback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){b.callCallback(this.options.beforeFit,[this])},fit:function(){var c=this,d=c.minSize={width:0,height:0},e=c.options,f=a.defaults.global,g=e.ticks,h=e.scaleLabel,i=e.display,j=c.isHorizontal(),k=b.getValueOrDefault(g.fontSize,f.defaultFontSize),l=b.getValueOrDefault(g.fontStyle,f.defaultFontStyle),m=b.getValueOrDefault(g.fontFamily,f.defaultFontFamily),n=b.fontString(k,l,m),o=b.getValueOrDefault(h.fontSize,f.defaultFontSize),p=b.getValueOrDefault(h.fontStyle,f.defaultFontStyle),q=b.getValueOrDefault(h.fontFamily,f.defaultFontFamily),r=(b.fontString(o,p,q),e.gridLines.tickMarkLength);if(j?d.width=c.isFullWidth()?c.maxWidth-c.margins.left-c.margins.right:c.maxWidth:d.width=i?r:0,j?d.height=i?r:0:d.height=c.maxHeight,h.display&&i&&(j?d.height+=1.5*o:d.width+=1.5*o),g.display&&i){c.longestTextCache||(c.longestTextCache={});var s=b.longestText(c.ctx,n,c.ticks,c.longestTextCache),t=b.numberOfLabelLines(c.ticks),u=.5*k;if(j){c.longestLabelWidth=s;var v=Math.sin(b.toRadians(c.labelRotation))*c.longestLabelWidth+k*t+u*t;d.height=Math.min(c.maxHeight,d.height+v),c.ctx.font=n;var w=c.ctx.measureText(c.ticks[0]).width,x=c.ctx.measureText(c.ticks[c.ticks.length-1]).width,y=Math.cos(b.toRadians(c.labelRotation)),z=Math.sin(b.toRadians(c.labelRotation));c.paddingLeft=0!==c.labelRotation?y*w+3:w/2+3,c.paddingRight=0!==c.labelRotation?z*(k/2)+3:x/2+3}else{var A=c.maxWidth-d.width,B=g.mirror;B?s=0:s+=c.options.ticks.padding,A>s?d.width+=s:d.width=c.maxWidth,c.paddingTop=k/2,c.paddingBottom=k/2}}c.margins&&(c.paddingLeft=Math.max(c.paddingLeft-c.margins.left,0),c.paddingTop=Math.max(c.paddingTop-c.margins.top,0),c.paddingRight=Math.max(c.paddingRight-c.margins.right,0),c.paddingBottom=Math.max(c.paddingBottom-c.margins.bottom,0)),c.width=d.width,c.height=d.height},afterFit:function(){b.callCallback(this.options.afterFit,[this])},isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},isFullWidth:function(){return this.options.fullWidth},getRightValue:function c(a){return null===a||"undefined"==typeof a?NaN:"number"==typeof a&&isNaN(a)?NaN:"object"==typeof a?a instanceof Date||a.isValid?a:c(this.isHorizontal()?a.x:a.y):a},getLabelForIndex:b.noop,getPixelForValue:b.noop,getValueForPixel:b.noop,getPixelForTick:function(a,b){var c=this;if(c.isHorizontal()){var d=c.width-(c.paddingLeft+c.paddingRight),e=d/Math.max(c.ticks.length-(c.options.gridLines.offsetGridLines?0:1),1),f=e*a+c.paddingLeft;b&&(f+=e/2);var g=c.left+Math.round(f);return g+=c.isFullWidth()?c.margins.left:0}var h=c.height-(c.paddingTop+c.paddingBottom);return c.top+a*(h/(c.ticks.length-1))},getPixelForDecimal:function(a){var b=this;if(b.isHorizontal()){var c=b.width-(b.paddingLeft+b.paddingRight),d=c*a+b.paddingLeft,e=b.left+Math.round(d);return e+=b.isFullWidth()?b.margins.left:0}return b.top+a*b.height},getBasePixel:function(){var a=this,b=a.min,c=a.max;return a.getPixelForValue(a.beginAtZero?0:0>b&&0>c?c:b>0&&c>0?b:0)},draw:function(c){var d=this,e=d.options;if(e.display){var f,g,h=d.ctx,i=a.defaults.global,j=e.ticks,k=e.gridLines,l=e.scaleLabel,m=0!==d.labelRotation,n=j.autoSkip,o=d.isHorizontal();j.maxTicksLimit&&(g=j.maxTicksLimit);var p=b.getValueOrDefault(j.fontColor,i.defaultFontColor),q=b.getValueOrDefault(j.fontSize,i.defaultFontSize),r=b.getValueOrDefault(j.fontStyle,i.defaultFontStyle),s=b.getValueOrDefault(j.fontFamily,i.defaultFontFamily),t=b.fontString(q,r,s),u=k.tickMarkLength,v=b.getValueOrDefault(l.fontColor,i.defaultFontColor),w=b.getValueOrDefault(l.fontSize,i.defaultFontSize),x=b.getValueOrDefault(l.fontStyle,i.defaultFontStyle),y=b.getValueOrDefault(l.fontFamily,i.defaultFontFamily),z=b.fontString(w,x,y),A=b.toRadians(d.labelRotation),B=Math.cos(A),C=(Math.sin(A),d.longestLabelWidth*B);h.fillStyle=p;var D=[];if(o){if(f=!1,m&&(C/=2),(C+j.autoSkipPadding)*d.ticks.length>d.width-(d.paddingLeft+d.paddingRight)&&(f=1+Math.floor((C+j.autoSkipPadding)*d.ticks.length/(d.width-(d.paddingLeft+d.paddingRight)))),g&&d.ticks.length>g)for(;!f||d.ticks.length/(f||1)>g;)f||(f=1),f+=1;n||(f=!1)}var E="right"===e.position?d.left:d.right-u,F="right"===e.position?d.left+u:d.right,G="bottom"===e.position?d.top:d.bottom-u,H="bottom"===e.position?d.top+u:d.bottom;if(b.each(d.ticks,function(a,g){if(void 0!==a&&null!==a){var h=d.ticks.length===g+1,i=f>1&&g%f>0||g%f===0&&g+f>=d.ticks.length;if((!i||h)&&void 0!==a&&null!==a){var l,n;g===("undefined"!=typeof d.zeroLineIndex?d.zeroLineIndex:0)?(l=k.zeroLineWidth,n=k.zeroLineColor):(l=b.getValueAtIndexOrDefault(k.lineWidth,g),n=b.getValueAtIndexOrDefault(k.color,g));var p,q,r,s,t,v,w,x,y,z,B,C="middle";if(o){m||(C="top"===e.position?"bottom":"top"),B=m?"right":"center";var I=d.getPixelForTick(g)+b.aliasPixel(l);y=d.getPixelForTick(g,k.offsetGridLines)+j.labelOffset,z=m?d.top+12:"top"===e.position?d.bottom-u:d.top+u,p=r=t=w=I,q=G,s=H,v=c.top,x=c.bottom}else{"left"===e.position?j.mirror?(y=d.right+j.padding,B="left"):(y=d.right-j.padding,B="right"):j.mirror?(y=d.left-j.padding,B="right"):(y=d.left+j.padding,B="left");var J=d.getPixelForTick(g);J+=b.aliasPixel(l),z=d.getPixelForTick(g,k.offsetGridLines),p=E,r=F,t=c.left,w=c.right,q=s=v=x=J}D.push({tx1:p,ty1:q,tx2:r,ty2:s,x1:t,y1:v,x2:w,y2:x,labelX:y,labelY:z,glWidth:l,glColor:n,rotation:-1*A,label:a,textBaseline:C,textAlign:B})}}}),b.each(D,function(a){if(k.display&&(h.lineWidth=a.glWidth,h.strokeStyle=a.glColor,h.beginPath(),k.drawTicks&&(h.moveTo(a.tx1,a.ty1),h.lineTo(a.tx2,a.ty2)),k.drawOnChartArea&&(h.moveTo(a.x1,a.y1),h.lineTo(a.x2,a.y2)),h.stroke()),j.display){h.save(),h.translate(a.labelX,a.labelY),h.rotate(a.rotation),h.font=t,h.textBaseline=a.textBaseline,h.textAlign=a.textAlign;var c=a.label;if(b.isArray(c))for(var d=0,e=0;db;++b){var f=a[b];if(f&&f.hasValue()){var g=f.tooltipPosition();d.push(g.x),e.push(g.y)}}var h=0,i=0;for(b=0,c-d.length;c>b;++b)h+=d[b],i+=e[b];return{x:Math.round(h/d.length),y:Math.round(i/d.length)}}function d(a){var b=a._xScale,c=a._yScale||a._scale,d=a._index,e=a._datasetIndex;return{xLabel:b?b.getLabelForIndex(d,e):"",yLabel:c?c.getLabelForIndex(d,e):"",index:d,datasetIndex:e}}var e=a.helpers;a.defaults.global.tooltips={enabled:!0,custom:null,mode:"single",backgroundColor:"rgba(0,0,0,0.8)",titleFontStyle:"bold",titleSpacing:2,titleMarginBottom:6,titleFontColor:"#fff",titleAlign:"left",bodySpacing:2,bodyFontColor:"#fff",bodyAlign:"left",footerFontStyle:"bold",footerSpacing:2,footerMarginTop:6,footerFontColor:"#fff",footerAlign:"left",yPadding:6,xPadding:6,yAlign:"center",xAlign:"center",caretSize:5,cornerRadius:6,multiKeyBackground:"#fff",callbacks:{beforeTitle:e.noop,title:function(a,b){var c="",d=b.labels,e=d?d.length:0;if(a.length>0){var f=a[0];f.xLabel?c=f.xLabel:e>0&&f.indexb;++b)o.push(d(j[b]));h.itemSort&&(o=o.sort(h.itemSort)),j.length>1&&e.each(o,function(a){m.push(h.callbacks.labelColor.call(g,a,l))}),e.extend(i,{title:g.getTitle(o,k),beforeBody:g.getBeforeBody(o,k),body:g.getBody(o,k),afterBody:g.getAfterBody(o,k),footer:g.getFooter(o,k),x:Math.round(n.x),y:Math.round(n.y),caretPadding:e.getValueOrDefault(n.padding,2),labelColors:m});var p=g.getTooltipSize(i);g.determineAlignment(p),e.extend(i,g.getBackgroundPoint(i,p))}else g._model.opacity=0;return a&&h.custom&&h.custom.call(g,i),g},getTooltipSize:function(a){var b=this._chart.ctx,c={height:2*a.yPadding,width:0},d=a.body,f=d.reduce(function(a,b){return a+b.before.length+b.lines.length+b.after.length},0);f+=a.beforeBody.length+a.afterBody.length;var g=a.title.length,h=a.footer.length,i=a.titleFontSize,j=a.bodyFontSize,k=a.footerFontSize;c.height+=g*i,c.height+=(g-1)*a.titleSpacing,c.height+=g?a.titleMarginBottom:0,c.height+=f*j,c.height+=f?(f-1)*a.bodySpacing:0,c.height+=h?a.footerMarginTop:0,c.height+=h*k,c.height+=h?(h-1)*a.footerSpacing:0;var l=0,m=function(a){c.width=Math.max(c.width,b.measureText(a).width+l)};return b.font=e.fontString(i,a._titleFontStyle,a._titleFontFamily),e.each(a.title,m),b.font=e.fontString(j,a._bodyFontStyle,a._bodyFontFamily),e.each(a.beforeBody.concat(a.afterBody),m),l=d.length>1?j+2:0,e.each(d,function(a){e.each(a.before,m),e.each(a.lines,m),e.each(a.after,m)}),l=0,b.font=e.fontString(k,a._footerFontStyle,a._footerFontFamily), e.each(a.footer,m),c.width+=2*a.xPadding,c},determineAlignment:function(a){var b=this,c=b._model,d=b._chart,e=b._chartInstance.chartArea;c.yd.height-a.height&&(c.yAlign="bottom");var f,g,h,i,j,k=(e.left+e.right)/2,l=(e.top+e.bottom)/2;"center"===c.yAlign?(f=function(a){return k>=a},g=function(a){return a>k}):(f=function(b){return b<=a.width/2},g=function(b){return b>=d.width-a.width/2}),h=function(b){return b+a.width>d.width},i=function(b){return b-a.width<0},j=function(a){return l>=a?"top":"bottom"},f(c.x)?(c.xAlign="left",h(c.x)&&(c.xAlign="center",c.yAlign=j(c.y))):g(c.x)&&(c.xAlign="right",i(c.x)&&(c.xAlign="center",c.yAlign=j(c.y)))},getBackgroundPoint:function(a,b){var c={x:a.x,y:a.y},d=a.caretSize,e=a.caretPadding,f=a.cornerRadius,g=a.xAlign,h=a.yAlign,i=d+e,j=f+e;return"right"===g?c.x-=b.width:"center"===g&&(c.x-=b.width/2),"top"===h?c.y+=i:"bottom"===h?c.y-=b.height+i:c.y-=b.height/2,"center"===h?"left"===g?c.x+=i:"right"===g&&(c.x-=i):"left"===g?c.x-=j:"right"===g&&(c.x+=j),c},drawCaret:function(a,b,c,d){var f,g,h,i,j,k,l=this._view,m=this._chart.ctx,n=l.caretSize,o=l.cornerRadius,p=l.xAlign,q=l.yAlign,r=a.x,s=a.y,t=b.width,u=b.height;"center"===q?("left"===p?(f=r,g=f-n,h=f):(f=r+t,g=f+n,h=f),j=s+u/2,i=j-n,k=j+n):("left"===p?(f=r+o,g=f+n,h=g+n):"right"===p?(f=r+t-o,g=f-n,h=g-n):(g=r+t/2,f=g-n,h=g+n),"top"===q?(i=s,j=i-n,k=i):(i=s+u,j=i+n,k=i));var v=e.color(l.backgroundColor);m.fillStyle=v.alpha(c*v.alpha()).rgbString(),m.beginPath(),m.moveTo(f,i),m.lineTo(g,j),m.lineTo(h,k),m.closePath(),m.fill()},drawTitle:function(a,b,c,d){var f=b.title;if(f.length){c.textAlign=b._titleAlign,c.textBaseline="top";var g=b.titleFontSize,h=b.titleSpacing,i=e.color(b.titleFontColor);c.fillStyle=i.alpha(d*i.alpha()).rgbString(),c.font=e.fontString(g,b._titleFontStyle,b._titleFontFamily);var j,k;for(j=0,k=f.length;k>j;++j)c.fillText(f[j],a.x,a.y),a.y+=g+h,j+1===f.length&&(a.y+=b.titleMarginBottom-h)}},drawBody:function(a,b,c,d){var f=b.bodyFontSize,g=b.bodySpacing,h=b.body;c.textAlign=b._bodyAlign,c.textBaseline="top";var i=e.color(b.bodyFontColor),j=i.alpha(d*i.alpha()).rgbString();c.fillStyle=j,c.font=e.fontString(f,b._bodyFontStyle,b._bodyFontFamily);var k=0,l=function(b){c.fillText(b,a.x+k,a.y),a.y+=f+g};e.each(b.beforeBody,l);var m=h.length>1;k=m?f+2:0,e.each(h,function(g,h){e.each(g.before,l),e.each(g.lines,function(g){m&&(c.fillStyle=e.color(b.legendColorBackground).alpha(d).rgbaString(),c.fillRect(a.x,a.y,f,f),c.strokeStyle=e.color(b.labelColors[h].borderColor).alpha(d).rgbaString(),c.strokeRect(a.x,a.y,f,f),c.fillStyle=e.color(b.labelColors[h].backgroundColor).alpha(d).rgbaString(),c.fillRect(a.x+1,a.y+1,f-2,f-2),c.fillStyle=j),l(g)}),e.each(g.after,l)}),k=0,e.each(b.afterBody,l),a.y-=g},drawFooter:function(a,b,c,d){var f=b.footer;if(f.length){a.y+=b.footerMarginTop,c.textAlign=b._footerAlign,c.textBaseline="top";var g=e.color(b.footerFontColor);c.fillStyle=g.alpha(d*g.alpha()).rgbString(),c.font=e.fontString(b.footerFontSize,b._footerFontStyle,b._footerFontFamily),e.each(f,function(d){c.fillText(d,a.x,a.y),a.y+=b.footerFontSize+b.footerSpacing})}},draw:function(){var a=this._chart.ctx,b=this._view;if(0!==b.opacity){var c=this.getTooltipSize(b),d={x:b.x,y:b.y},f=Math.abs(b.opacity<.001)?0:b.opacity;if(this._options.enabled){var g=e.color(b.backgroundColor);a.fillStyle=g.alpha(f*g.alpha()).rgbString(),e.drawRoundedRectangle(a,d.x,d.y,c.width,c.height,b.cornerRadius),a.fill(),this.drawCaret(d,c,f,b.caretPadding),d.x+=b.xPadding,d.y+=b.yPadding,this.drawTitle(d,b,a,f),this.drawBody(d,b,a,f),this.drawFooter(d,b,a,f)}}}})}},{}],34:[function(a,b,c){"use strict";b.exports=function(a,b){var c=a.helpers,d=a.defaults.global;d.elements.arc={backgroundColor:d.defaultColor,borderColor:"#fff",borderWidth:2},a.elements.Arc=a.Element.extend({inLabelRange:function(a){var b=this._view;return b?Math.pow(a-b.x,2)i;)i+=2*Math.PI;for(;f>i;)f-=2*Math.PI;for(;h>f;)f+=2*Math.PI;var j=f>=h&&i>=f,k=g>=d.innerRadius&&g<=d.outerRadius;return j&&k}return!1},tooltipPosition:function(){var a=this._view,b=a.startAngle+(a.endAngle-a.startAngle)/2,c=(a.outerRadius-a.innerRadius)/2+a.innerRadius;return{x:a.x+Math.cos(b)*c,y:a.y+Math.sin(b)*c}},draw:function(){var a=this._chart.ctx,b=this._view,c=b.startAngle,d=b.endAngle;a.beginPath(),a.arc(b.x,b.y,b.outerRadius,c,d),a.arc(b.x,b.y,b.innerRadius,d,c,!0),a.closePath(),a.strokeStyle=b.borderColor,a.lineWidth=b.borderWidth,a.fillStyle=b.backgroundColor,a.fill(),a.lineJoin="bevel",b.borderWidth&&a.stroke()}})}},{}],35:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers,c=a.defaults.global;a.defaults.global.elements.line={tension:.4,backgroundColor:c.defaultColor,borderWidth:3,borderColor:c.defaultColor,borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",fill:!0},a.elements.Line=a.Element.extend({lineToNextPoint:function(a,b,c,d,e){var f=this,g=f._chart.ctx,h=f._view?f._view.spanGaps:!1;b._view.skip&&!h?d.call(f,a,b,c):a._view.skip&&!h?e.call(f,a,b,c):0===b._view.tension?g.lineTo(b._view.x,b._view.y):g.bezierCurveTo(a._view.controlPointNextX,a._view.controlPointNextY,b._view.controlPointPreviousX,b._view.controlPointPreviousY,b._view.x,b._view.y)},draw:function(){function a(a){g._view.skip||h._view.skip?a&&f.lineTo(d._view.scaleZero.x,d._view.scaleZero.y):f.bezierCurveTo(h._view.controlPointNextX,h._view.controlPointNextY,g._view.controlPointPreviousX,g._view.controlPointPreviousY,g._view.x,g._view.y)}var d=this,e=d._view,f=d._chart.ctx,g=d._children[0],h=d._children[d._children.length-1];f.save(),d._children.length>0&&e.fill&&(f.beginPath(),b.each(d._children,function(a,c){var g=b.previousItem(d._children,c),h=b.nextItem(d._children,c);0===c?(d._loop?f.moveTo(e.scaleZero.x,e.scaleZero.y):f.moveTo(a._view.x,e.scaleZero),a._view.skip?d._loop||f.moveTo(h._view.x,d._view.scaleZero):f.lineTo(a._view.x,a._view.y)):d.lineToNextPoint(g,a,h,function(a,b,c){d._loop?f.lineTo(d._view.scaleZero.x,d._view.scaleZero.y):(f.lineTo(a._view.x,d._view.scaleZero),f.moveTo(c._view.x,d._view.scaleZero))},function(a,b){f.lineTo(b._view.x,b._view.y)})},d),d._loop?a(!0):(f.lineTo(d._children[d._children.length-1]._view.x,e.scaleZero),f.lineTo(d._children[0]._view.x,e.scaleZero)),f.fillStyle=e.backgroundColor||c.defaultColor,f.closePath(),f.fill());var i=c.elements.line;f.lineCap=e.borderCapStyle||i.borderCapStyle,f.setLineDash&&f.setLineDash(e.borderDash||i.borderDash),f.lineDashOffset=e.borderDashOffset||i.borderDashOffset,f.lineJoin=e.borderJoinStyle||i.borderJoinStyle,f.lineWidth=e.borderWidth||i.borderWidth,f.strokeStyle=e.borderColor||c.defaultColor,f.beginPath(),b.each(d._children,function(a,c){var e=b.previousItem(d._children,c),g=b.nextItem(d._children,c);0===c?f.moveTo(a._view.x,a._view.y):d.lineToNextPoint(e,a,g,function(a,b,c){f.moveTo(c._view.x,c._view.y)},function(a,b){f.moveTo(b._view.x,b._view.y)})},d),d._loop&&d._children.length>0&&a(),f.stroke(),f.restore()}})}},{}],36:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers,c=a.defaults.global,d=c.defaultColor;c.elements.point={radius:3,pointStyle:"circle",backgroundColor:d,borderWidth:1,borderColor:d,hitRadius:1,hoverRadius:4,hoverBorderWidth:1},a.elements.Point=a.Element.extend({inRange:function(a,b){var c=this._view;return c?Math.pow(a-c.x,2)+Math.pow(b-c.y,2)=m)){switch(k.strokeStyle=j.borderColor||d,k.lineWidth=b.getValueOrDefault(j.borderWidth,c.elements.point.borderWidth),k.fillStyle=j.backgroundColor||d,l){default:k.beginPath(),k.arc(n,o,m,0,2*Math.PI),k.closePath(),k.fill();break;case"triangle":k.beginPath(),e=3*m/Math.sqrt(3),h=e*Math.sqrt(3)/2,k.moveTo(n-e/2,o+h/3),k.lineTo(n+e/2,o+h/3),k.lineTo(n,o-2*h/3),k.closePath(),k.fill();break;case"rect":i=1/Math.SQRT2*m,k.fillRect(n-i,o-i,2*i,2*i),k.strokeRect(n-i,o-i,2*i,2*i);break;case"rectRot":i=1/Math.SQRT2*m,k.beginPath(),k.moveTo(n-i,o),k.lineTo(n,o+i),k.lineTo(n+i,o),k.lineTo(n,o-i),k.closePath(),k.fill();break;case"cross":k.beginPath(),k.moveTo(n,o+m),k.lineTo(n,o-m),k.moveTo(n-m,o),k.lineTo(n+m,o),k.closePath();break;case"crossRot":k.beginPath(),f=Math.cos(Math.PI/4)*m,g=Math.sin(Math.PI/4)*m,k.moveTo(n-f,o-g),k.lineTo(n+f,o+g),k.moveTo(n-f,o+g),k.lineTo(n+f,o-g),k.closePath();break;case"star":k.beginPath(),k.moveTo(n,o+m),k.lineTo(n,o-m),k.moveTo(n-m,o),k.lineTo(n+m,o),f=Math.cos(Math.PI/4)*m,g=Math.sin(Math.PI/4)*m,k.moveTo(n-f,o-g),k.lineTo(n+f,o+g),k.moveTo(n-f,o+g),k.lineTo(n+f,o-g),k.closePath();break;case"line":k.beginPath(),k.moveTo(n-m,o),k.lineTo(n+m,o),k.closePath();break;case"dash":k.beginPath(),k.moveTo(n,o),k.lineTo(n+m,o),k.closePath()}k.stroke()}}}})}},{}],37:[function(a,b,c){"use strict";b.exports=function(a){var b=(a.helpers,a.defaults.global);b.elements.rectangle={backgroundColor:b.defaultColor,borderWidth:0,borderColor:b.defaultColor,borderSkipped:"bottom"},a.elements.Rectangle=a.Element.extend({draw:function(){function a(a){return i[(k+a)%4]}var b=this._chart.ctx,c=this._view,d=c.width/2,e=c.x-d,f=c.x+d,g=c.base-(c.base-c.y),h=c.borderWidth/2;c.borderWidth&&(e+=h,f-=h,g+=h),b.beginPath(),b.fillStyle=c.backgroundColor,b.strokeStyle=c.borderColor,b.lineWidth=c.borderWidth;var i=[[e,c.base],[e,g],[f,g],[f,c.base]],j=["bottom","left","top","right"],k=j.indexOf(c.borderSkipped,0);-1===k&&(k=0),b.moveTo.apply(b,a(0));for(var l=1;4>l;l++)b.lineTo.apply(b,a(l));b.fill(),c.borderWidth&&b.stroke()},height:function(){var a=this._view;return a.base-a.y},inRange:function(a,b){var c=this._view;return c?c.y=c.x-c.width/2&&a<=c.x+c.width/2&&b>=c.y&&b<=c.base:a>=c.x-c.width/2&&a<=c.x+c.width/2&&b>=c.base&&b<=c.y:!1},inLabelRange:function(a){var b=this._view;return b?a>=b.x-b.width/2&&a<=b.x+b.width/2:!1},tooltipPosition:function(){var a=this._view;return{x:a.x,y:a.y}}})}},{}],38:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers,c={position:"bottom"},d=a.Scale.extend({determineDataLimits:function(){var a=this;a.minIndex=0,a.maxIndex=a.chart.data.labels.length-1;var c;void 0!==a.options.ticks.min&&(c=b.indexOf(a.chart.data.labels,a.options.ticks.min),a.minIndex=-1!==c?c:a.minIndex),void 0!==a.options.ticks.max&&(c=b.indexOf(a.chart.data.labels,a.options.ticks.max),a.maxIndex=-1!==c?c:a.maxIndex),a.min=a.chart.data.labels[a.minIndex],a.max=a.chart.data.labels[a.maxIndex]},buildTicks:function(a){var b=this;b.ticks=0===b.minIndex&&b.maxIndex===b.chart.data.labels.length-1?b.chart.data.labels:b.chart.data.labels.slice(b.minIndex,b.maxIndex+1)},getLabelForIndex:function(a,b){return this.ticks[a]},getPixelForValue:function(a,b,c,d){var e=this,f=Math.max(e.maxIndex+1-e.minIndex-(e.options.gridLines.offsetGridLines?0:1),1);if(e.isHorizontal()){var g=e.width-(e.paddingLeft+e.paddingRight),h=g/f,i=h*(b-e.minIndex)+e.paddingLeft;return e.options.gridLines.offsetGridLines&&d&&(i+=h/2),e.left+Math.round(i)}var j=e.height-(e.paddingTop+e.paddingBottom),k=j/f,l=k*(b-e.minIndex)+e.paddingTop;return e.options.gridLines.offsetGridLines&&d&&(l+=k/2),e.top+Math.round(l)},getPixelForTick:function(a,b){return this.getPixelForValue(this.ticks[a],a+this.minIndex,null,b)},getValueForPixel:function(a){var b,c=this,d=Math.max(c.ticks.length-(c.options.gridLines.offsetGridLines?0:1),1),e=c.isHorizontal(),f=e?c.width-(c.paddingLeft+c.paddingRight):c.height-(c.paddingTop+c.paddingBottom),g=f/d;return c.options.gridLines.offsetGridLines&&(a-=g/2),a-=e?c.paddingLeft:c.paddingTop,b=0>=a?0:Math.round(a/g)}});a.scaleService.registerScaleType("category",d,c)}},{}],39:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers,c={position:"left",ticks:{callback:function(a,c,d){var e=d.length>3?d[2]-d[1]:d[1]-d[0];Math.abs(e)>1&&a!==Math.floor(a)&&(e=a-Math.floor(a));var f=b.log10(Math.abs(e)),g="";if(0!==a){var h=-1*Math.floor(f);h=Math.max(Math.min(h,20),0),g=a.toFixed(h)}else g="0";return g}}},d=a.LinearScaleBase.extend({determineDataLimits:function(){function a(a){return h?a.xAxisID===c.id:a.yAxisID===c.id}var c=this,d=c.options,e=(d.ticks,c.chart),f=e.data,g=f.datasets,h=c.isHorizontal();if(c.min=null,c.max=null,d.stacked){var i={},j=!1,k=!1;b.each(g,function(f,g){var h=e.getDatasetMeta(g);void 0===i[h.type]&&(i[h.type]={positiveValues:[],negativeValues:[]});var l=i[h.type].positiveValues,m=i[h.type].negativeValues;e.isDatasetVisible(g)&&a(h)&&b.each(f.data,function(a,b){var e=+c.getRightValue(a);isNaN(e)||h.data[b].hidden||(l[b]=l[b]||0,m[b]=m[b]||0,d.relativePoints?l[b]=100:0>e?(k=!0,m[b]+=e):(j=!0,l[b]+=e))})}),b.each(i,function(a){var d=a.positiveValues.concat(a.negativeValues),e=b.min(d),f=b.max(d);c.min=null===c.min?e:Math.min(c.min,e),c.max=null===c.max?f:Math.max(c.max,f)})}else b.each(g,function(d,f){var g=e.getDatasetMeta(f);e.isDatasetVisible(f)&&a(g)&&b.each(d.data,function(a,b){var d=+c.getRightValue(a);isNaN(d)||g.data[b].hidden||(null===c.min?c.min=d:dc.max&&(c.max=d))})});this.handleTickRangeOptions()},getTickLimit:function(){var c,d=this,e=d.options.ticks;if(d.isHorizontal())c=Math.min(e.maxTicksLimit?e.maxTicksLimit:11,Math.ceil(d.width/50));else{var f=b.getValueOrDefault(e.fontSize,a.defaults.global.defaultFontSize);c=Math.min(e.maxTicksLimit?e.maxTicksLimit:11,Math.ceil(d.height/(2*f)))}return c},handleDirectionalChanges:function(){this.isHorizontal()||this.ticks.reverse()},getLabelForIndex:function(a,b){return+this.getRightValue(this.chart.data.datasets[b].data[a])},getPixelForValue:function(a,b,c,d){var e,f,g=this,h=g.paddingLeft,i=g.paddingBottom,j=g.start,k=+g.getRightValue(a),l=g.end-j;return g.isHorizontal()?(f=g.width-(h+g.paddingRight),e=g.left+f/l*(k-j),Math.round(e+h)):(f=g.height-(g.paddingTop+i),e=g.bottom-i-f/l*(k-j),Math.round(e))},getValueForPixel:function(a){var b=this,c=b.isHorizontal(),d=b.paddingLeft,e=b.paddingBottom,f=c?b.width-(d+b.paddingRight):b.height-(b.paddingTop+e),g=(c?a-b.left-d:b.bottom-e-a)/f;return b.start+(b.end-b.start)*g},getPixelForTick:function(a,b){return this.getPixelForValue(this.ticksAsNumbers[a],null,null,b)}});a.scaleService.registerScaleType("linear",d,c)}},{}],40:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers,c=b.noop;a.LinearScaleBase=a.Scale.extend({handleTickRangeOptions:function(){var a=this,c=a.options,d=c.ticks;if(d.beginAtZero){var e=b.sign(a.min),f=b.sign(a.max);0>e&&0>f?a.max=0:e>0&&f>0&&(a.min=0)}void 0!==d.min?a.min=d.min:void 0!==d.suggestedMin&&(a.min=Math.min(a.min,d.suggestedMin)),void 0!==d.max?a.max=d.max:void 0!==d.suggestedMax&&(a.max=Math.max(a.max,d.suggestedMax)),a.min===a.max&&(a.max++,d.beginAtZero||a.min--)},getTickLimit:c,handleDirectionalChanges:c,buildTicks:function(){var a=this,c=a.options,d=c.ticks,e=b.getValueOrDefault,f=(a.isHorizontal(),a.ticks=[]),g=a.getTickLimit();g=Math.max(2,g);var h,i=d.fixedStepSize&&d.fixedStepSize>0||d.stepSize&&d.stepSize>0;if(i)h=e(d.fixedStepSize,d.stepSize);else{var j=b.niceNum(a.max-a.min,!1);h=b.niceNum(j/(g-1),!0)}var k=Math.floor(a.min/h)*h,l=Math.ceil(a.max/h)*h,m=(l-k)/h;m=b.almostEquals(m,Math.round(m),h/1e3)?Math.round(m):Math.ceil(m),f.push(void 0!==d.min?d.min:k);for(var n=1;m>n;++n)f.push(k+n*h);f.push(void 0!==d.max?d.max:l),a.handleDirectionalChanges(),a.max=b.max(f),a.min=b.min(f),d.reverse?(f.reverse(),a.start=a.max,a.end=a.min):(a.start=a.min,a.end=a.max)},convertTicksToLabels:function(){var b=this;b.ticksAsNumbers=b.ticks.slice(),b.zeroLineIndex=b.ticks.indexOf(0),a.Scale.prototype.convertTicksToLabels.call(b)}})}},{}],41:[function(a,b,c){"use strict";b.exports=function(a){var b=a.helpers,c={position:"left",ticks:{callback:function(a,c,d){var e=a/Math.pow(10,Math.floor(b.log10(a)));return 1===e||2===e||5===e||0===c||c===d.length-1?a.toExponential():""}}},d=a.Scale.extend({determineDataLimits:function(){function a(a){return j?a.xAxisID===c.id:a.yAxisID===c.id}var c=this,d=c.options,e=d.ticks,f=c.chart,g=f.data,h=g.datasets,i=b.getValueOrDefault,j=c.isHorizontal();if(c.min=null,c.max=null,d.stacked){var k={};b.each(h,function(e,g){var h=f.getDatasetMeta(g);f.isDatasetVisible(g)&&a(h)&&(void 0===k[h.type]&&(k[h.type]=[]),b.each(e.data,function(a,b){var e=k[h.type],f=+c.getRightValue(a);isNaN(f)||h.data[b].hidden||(e[b]=e[b]||0,d.relativePoints?e[b]=100:e[b]+=f)}))}),b.each(k,function(a){var d=b.min(a),e=b.max(a);c.min=null===c.min?d:Math.min(c.min,d),c.max=null===c.max?e:Math.max(c.max,e)})}else b.each(h,function(d,e){var g=f.getDatasetMeta(e);f.isDatasetVisible(e)&&a(g)&&b.each(d.data,function(a,b){var d=+c.getRightValue(a);isNaN(d)||g.data[b].hidden||(null===c.min?c.min=d:dc.max&&(c.max=d))})});c.min=i(e.min,c.min),c.max=i(e.max,c.max),c.min===c.max&&(0!==c.min&&null!==c.min?(c.min=Math.pow(10,Math.floor(b.log10(c.min))-1),c.max=Math.pow(10,Math.floor(b.log10(c.max))+1)):(c.min=1,c.max=10))},buildTicks:function(){for(var a=this,c=a.options,d=c.ticks,e=b.getValueOrDefault,f=a.ticks=[],g=e(d.min,Math.pow(10,Math.floor(b.log10(a.min))));ga.max&&(a.max=d))})}}),a.handleTickRangeOptions()},getTickLimit:function(){var a=this.options.ticks,d=b.getValueOrDefault(a.fontSize,c.defaultFontSize);return Math.min(a.maxTicksLimit?a.maxTicksLimit:11,Math.ceil(this.drawingArea/(1.5*d)))},convertTicksToLabels:function(){var b=this;a.LinearScaleBase.prototype.convertTicksToLabels.call(b),b.pointLabels=b.chart.data.labels.map(b.options.pointLabels.callback,b)},getLabelForIndex:function(a,b){return+this.getRightValue(this.chart.data.datasets[b].data[a])},fit:function(){var a,d,e,f,g,h,i,j,k,l,m,n,o=this.options.pointLabels,p=b.getValueOrDefault(o.fontSize,c.defaultFontSize),q=b.getValueOrDefault(o.fontStyle,c.defaultFontStyle),r=b.getValueOrDefault(o.fontFamily,c.defaultFontFamily),s=b.fontString(p,q,r),t=b.min([this.height/2-p-5,this.width/2]),u=this.width,v=0;for(this.ctx.font=s,d=0;du&&(u=a.x+f,g=d),a.x-fu&&(u=a.x+e,g=d):d>this.getValueCount()/2&&a.x-eb&&0>c?c:b>0&&c>0?b:0)},draw:function(){var a=this,d=a.options,e=d.gridLines,f=d.ticks,g=d.angleLines,h=d.pointLabels,i=b.getValueOrDefault;if(d.display){var j=a.ctx,k=i(f.fontSize,c.defaultFontSize),l=i(f.fontStyle,c.defaultFontStyle),m=i(f.fontFamily,c.defaultFontFamily),n=b.fontString(k,l,m);if(b.each(a.ticks,function(g,h){if(h>0||d.reverse){var l=a.getDistanceFromCenterForValue(a.ticksAsNumbers[h]),m=a.yCenter-l;if(e.display&&0!==h)if(j.strokeStyle=b.getValueAtIndexOrDefault(e.color,h-1),j.lineWidth=b.getValueAtIndexOrDefault(e.lineWidth,h-1),d.lineArc)j.beginPath(),j.arc(a.xCenter,a.yCenter,l,0,2*Math.PI),j.closePath(),j.stroke();else{j.beginPath();for(var o=0;o=0;t--){if(g.display){var u=a.getPointPosition(t,o);j.beginPath(),j.moveTo(a.xCenter,a.yCenter),j.lineTo(u.x,u.y),j.stroke(),j.closePath()}var v=a.getPointPosition(t,o+5),w=i(h.fontColor,c.defaultFontColor);j.font=s,j.fillStyle=w;var x=a.pointLabels,y=x.length,z=x.length/2,A=z/2,B=A>t||t>y-A,C=t===A||t===y-A;0===t?j.textAlign="center":t===z?j.textAlign="center":z>t?j.textAlign="left":j.textAlign="right",C?j.textBaseline="middle":B?j.textBaseline="bottom":j.textBaseline="top",j.fillText(x[t]?x[t]:"",v.x,v.y)}}}}});a.scaleService.registerScaleType("radialLinear",e,d)}},{}],43:[function(a,b,c){"use strict";var d=a(1);d="function"==typeof d?d:window.moment,b.exports=function(a){var b=a.helpers,c={units:[{name:"millisecond",steps:[1,2,5,10,20,50,100,250,500]},{name:"second",steps:[1,2,5,10,30]},{name:"minute",steps:[1,2,5,10,30]},{name:"hour",steps:[1,2,3,6,12]},{name:"day",steps:[1,2,5]},{name:"week",maxStep:4},{name:"month",maxStep:3},{name:"quarter",maxStep:4},{name:"year",maxStep:!1}]},e={position:"bottom",time:{parser:!1,format:!1,unit:!1,round:!1,displayFormat:!1,isoWeekday:!1,displayFormats:{millisecond:"h:mm:ss.SSS a",second:"h:mm:ss a",minute:"h:mm:ss a",hour:"MMM D, hA",day:"ll",week:"ll",month:"MMM YYYY",quarter:"[Q]Q - YYYY",year:"YYYY"}},ticks:{autoSkip:!1}},f=a.Scale.extend({initialize:function(){if(!d)throw new Error("Chart.js - Moment.js could not be found! You must include it before Chart.js to use the time scale. Download at https://momentjs.com");a.Scale.prototype.initialize.call(this)},getLabelMoment:function(a,b){return this.labelMoments[a][b]},getMomentStartOf:function(a){var b=this;return"week"===b.options.time.unit&&b.options.time.isoWeekday!==!1?a.clone().startOf("isoWeek").isoWeekday(b.options.time.isoWeekday):a.clone().startOf(b.tickUnit)},determineDataLimits:function(){var a=this;a.labelMoments=[];var c=[];a.chart.data.labels&&a.chart.data.labels.length>0?(b.each(a.chart.data.labels,function(b,d){var e=a.parseTime(b);e.isValid()&&(a.options.time.round&&e.startOf(a.options.time.round),c.push(e))},a),a.firstTick=d.min.call(a,c),a.lastTick=d.max.call(a,c)):(a.firstTick=null,a.lastTick=null),b.each(a.chart.data.datasets,function(e,f){var g=[],h=a.chart.isDatasetVisible(f);"object"==typeof e.data[0]&&null!==e.data[0]?b.each(e.data,function(b,c){var e=a.parseTime(a.getRightValue(b));e.isValid()&&(a.options.time.round&&e.startOf(a.options.time.round),g.push(e),h&&(a.firstTick=null!==a.firstTick?d.min(a.firstTick,e):e,a.lastTick=null!==a.lastTick?d.max(a.lastTick,e):e))},a):g=c,a.labelMoments.push(g)},a),a.options.time.min&&(a.firstTick=a.parseTime(a.options.time.min)),a.options.time.max&&(a.lastTick=a.parseTime(a.options.time.max)),a.firstTick=(a.firstTick||d()).clone(),a.lastTick=(a.lastTick||d()).clone()},buildTicks:function(d){var e=this;e.ctx.save();var f=b.getValueOrDefault(e.options.ticks.fontSize,a.defaults.global.defaultFontSize),g=b.getValueOrDefault(e.options.ticks.fontStyle,a.defaults.global.defaultFontStyle),h=b.getValueOrDefault(e.options.ticks.fontFamily,a.defaults.global.defaultFontFamily),i=b.fontString(f,g,h);if(e.ctx.font=i,e.ticks=[],e.unitScale=1,e.scaleSizeInUnits=0,e.options.time.unit)e.tickUnit=e.options.time.unit||"day",e.displayFormat=e.options.time.displayFormats[e.tickUnit],e.scaleSizeInUnits=e.lastTick.diff(e.firstTick,e.tickUnit,!0),e.unitScale=b.getValueOrDefault(e.options.time.unitStepSize,1);else{var j=e.isHorizontal()?e.width-(e.paddingLeft+e.paddingRight):e.height-(e.paddingTop+e.paddingBottom),k=e.tickFormatFunction(e.firstTick,0,[]),l=e.ctx.measureText(k).width,m=Math.cos(b.toRadians(e.options.ticks.maxRotation)),n=Math.sin(b.toRadians(e.options.ticks.maxRotation));l=l*m+f*n;var o=j/l;e.tickUnit="millisecond",e.scaleSizeInUnits=e.lastTick.diff(e.firstTick,e.tickUnit,!0),e.displayFormat=e.options.time.displayFormats[e.tickUnit];for(var p=0,q=c.units[p];p=Math.ceil(e.scaleSizeInUnits/o)){e.unitScale=b.getValueOrDefault(e.options.time.unitStepSize,q.steps[r]);break}break}if(q.maxStep===!1||Math.ceil(e.scaleSizeInUnits/o)=0)break;w%e.unitScale===0&&e.ticks.push(x)}var y=e.ticks[e.ticks.length-1].diff(e.lastTick,e.tickUnit);(0!==y||0===e.scaleSizeInUnits)&&(e.options.time.max?(e.ticks.push(e.lastTick.clone()),e.scaleSizeInUnits=e.lastTick.diff(e.ticks[0],e.tickUnit,!0)):(e.ticks.push(e.lastTick.clone()),e.scaleSizeInUnits=e.lastTick.diff(e.firstTick,e.tickUnit,!0))),e.ctx.restore()},getLabelForIndex:function(a,b){var c=this,d=c.chart.data.labels&&a"+$.i18n("totals")+": "+b.formatNumber(b.outputData.sum)+"\n ("+b.formatNumber(Math.round(b.outputData.average))+"/"+$.i18n("day")+")"},logarithmicCheckbox:".logarithmic-scale-option",pageLimit:500,sources:{category:{placeholder:"https://en.wikipedia.org/wiki/Category:Folk_musicians_from_New_York",type:"text"},pagepile:{placeholder:"12345",type:"number"},transclusions:{placeholder:"https://en.wikipedia.org/wiki/Template:Infobox_Olympic_games",type:"text"},quarry:{placeholder:"12345",type:"number"}},platformSelector:"#platform_select",sourceButton:"#source_button",sourceInput:"#source_input",formStates:["initial","processing","complete","invalid"],timestampFormat:"YYYYMMDD00",validateParams:["source","subjectpage","platform","agent","direction","sort","view"],validParams:{direction:["-1","1"],sort:["title","views","original"],source:["pagepile","category","transclusions","quarry"],view:["list","chart"],subjectpage:["0","1"]}};b.exports=d},{}],2:[function(a,b,c){"use strict";function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function f(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var g=function(){function a(a,b){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!b||c.length!==b);d=!0);}catch(i){e=!0,f=i}finally{try{!d&&h["return"]&&h["return"]()}finally{if(e)throw f}}return c}return function(b,c){if(Array.isArray(b))return b;if(Symbol.iterator in Object(b))return a(b,c);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),h=function(){function a(a,b){for(var c=0;c"),$(this.config.sourceInput).prop("type",this.config.sources[b].type).prop("placeholder",this.config.sources[b].placeholder).val(""),"category"===b?$(".category-subject-toggle").show():$(".category-subject-toggle").hide(),"quarry"===b?($(".massviews-source-input").addClass("quarry"),$(".quarry-project").prop("disabled",!1)):($(".massviews-source-input").removeClass("quarry"),$(".quarry-project").prop("disabled",!0)),$(this.config.sourceInput).focus()}},{key:"getParams",value:function(){var a=arguments.length<=0||void 0===arguments[0]?!1:arguments[0],b={platform:$(this.config.platformSelector).val(),agent:$(this.config.agentSelector).val(),source:$(this.config.sourceButton).data("value"),target:$(this.config.sourceInput).val().score()};return this.specialRange&&!a?b.range=this.specialRange.range:(b.start=this.daterangepicker.startDate.format("YYYY-MM-DD"),b.end=this.daterangepicker.endDate.format("YYYY-MM-DD")),"category"===b.source?b.subjectpage=$(".category-subject-toggle--input").is(":checked")?"1":"0":"quarry"===b.source&&(b.project=$(".quarry-project").val()),a||(b.sort=this.sort,b.direction=this.direction,b.view=this.view,this.noLogScale&&(b.autolog="false")),b}},{key:"pushParams",value:function(){var a=arguments.length<=0||void 0===arguments[0]?!1:arguments[0];if(window.history&&window.history.replaceState){if(a)return history.replaceState(null,document.title,location.href.split("?")[0]);window.history.replaceState({},document.title,"?"+$.param(this.getParams())),$(".permalink").prop("href","/massviews?"+$.param(this.getPermaLink()))}}},{key:"renderData",value:function(){var a=this;i(Object.getPrototypeOf(b.prototype),"renderData",this).call(this,function(b){$(".output-totals").html(""+$.i18n("totals")+"\n "+$.i18n("num-pages",b.length)+"\n "+a.formatNumber(a.outputData.sum)+"\n "+a.formatNumber(Math.round(a.outputData.average))+" / "+$.i18n("day")+""),$("#output_list").html(""),b.forEach(function(b,c){$("#output_list").append("\n "+(c+1)+'\n '+b.label.descore()+'\n "+a.formatNumber(b.sum)+"\n "+a.formatNumber(Math.round(b.average))+" / "+$.i18n("day")+"\n ")})})}},{key:"getSortProperty",value:function(a,b){switch(b){case"original":return a.index;case"title":return a.label;case"views":return Number(a.sum)}}},{key:"getPageViewsData",value:function(a,b){var c=this,d=this.daterangepicker.startDate.startOf("day"),e=this.daterangepicker.endDate.startOf("day"),f=$.Deferred(),g=[],h=0,i=void 0,j={},k=b.length,l=[],m=[],n=function p(b){var n=encodeURIComponent(b),o="https://wikimedia.org/api/rest_v1/metrics/pageviews/per-article/"+a+("/"+$(c.config.platformSelector).val()+"/"+$(c.config.agentSelector).val()+"/"+n+"/daily")+("/"+d.format(c.config.timestampFormat)+"/"+e.format(c.config.timestampFormat)),q=$.ajax({url:o,dataType:"json"});g.push(q),q.done(function(a){m.push({title:b,items:a.items})}).fail(function(d){var e="Error in Cassandra table storage backend"===d.responseJSON.title;return e&&(j[a]?j[a]++:j[a]=1,j[a]<3)?(k++,c.rateLimit(p,100,c)(b)):(e?l.push(b):c.writeMessage(c.getPageLink(b,a)+": "+$.i18n("api-error","Pageviews API")+" - "+d.responseJSON.title),void(i=!0))}).always(function(){c.updateProgressBar(++h/k*100),h===k&&(f.resolve(m),l.length&&c.writeMessage($.i18n("api-error-timeout","
    "+l.map(function(b){return"
  • "+c.getPageLink(b,a)+"
  • "}).join("")+"
")),i||simpleStorage.set(c.getCacheKey(),!0,{TTL:6e5}))})},o=this.isRequestCached()?n:this.rateLimit(n,100,this);return b.forEach(function(a,b){o(a)}),f}},{key:"buildMotherDataset",value:function(a,b,c){var d=this;this.outputData={labels:this.getDateHeadings(!0),link:b,listData:[]};var e=moment(this.daterangepicker.startDate),f=moment(this.daterangepicker.endDate),h=this.numDaysInRange(),i=new Array(h).fill(0),j=[];c.forEach(function(a,b){var c=a.items.map(function(a){return a.views}),k=c.reduce(function(a,b){return a+b});d.outputData.listData.push({data:c,label:a.title,sum:k,average:k/h,index:b});var l=d.fillInZeros(a.items,e,f),m=g(l,2),n=m[0],o=m[1];o.forEach(function(a){j.includes(a)||j.push(a)}),i=i.map(function(a,b){return a+n[b].views})});var k=i.reduce(function(a,b){return(a||0)+(b||0)});if(Object.assign(this.outputData,{datasets:[{label:a,data:i,sum:k,average:k/h}],datesWithoutData:j,sum:k,average:k/h}),j.length){var l=j.map(function(a){return moment(a).format(d.dateFormat)});this.writeMessage($.i18n("api-incomplete-data",l.sort().join(" · "),l.length))}return this.outputData}},{key:"getPileURL",value:function(a){return"http://tools.wmflabs.org/pagepile/api.php?action=get_data&id="+a}},{key:"getPileLink",value:function(a){return"Page Pile "+a+""}},{key:"getPagePile",value:function(a){var b=this,c=$.Deferred(),d="https://tools.wmflabs.org/pagepile/api.php?id="+a+"&action=get_data&format=json&metadata=1";return $.ajax({url:d,dataType:"jsonp"}).done(function(d){var e=Object.keys(d.pages);return e.length>500&&(b.writeMessage($.i18n("massviews-oversized-set",b.getPileLink(a),b.formatNumber(e.length),b.config.pageLimit)),e=e.slice(0,b.config.pageLimit)),c.resolve({id:d.id,wiki:d.wiki,pages:e})}).fail(function(d){return c.reject(b.getPileLink(a)+": "+$.i18n("api-error-no-data"))}),c}},{key:"getWikiPageFromURL",value:function(a){var b=void 0;return b=a.includes("?")?a.match(/\/\/(.*?)\/w\/.*\?(?:.*\b)?title=(.*?)(?:&|$)/):a.match(/\/\/(.*?)\/wiki\/(.*?)(?:\?|$)/),b?b.slice(1):[null,null]}},{key:"popParams",value:function(){var a=this,b=this.validateParams(this.parseQueryString());this.validateDateRange(b),this.patchUsage(),this.updateSourceInput($(".source-option[data-value="+b.source+"]")[0]),b.target&&$(this.config.sourceInput).val(decodeURIComponent(b.target).descore()),$(".site-notice .alert-danger").length?delete b.target:b.overflow&&"pagepile"===b.source&&b.target&&this.addSiteNotice("info",$.i18n("massviews-redirect",$.i18n("title"),10,this.getPileLink(b.target)),"",!0),$(this.config.platformSelector).val(b.platform),$(this.config.agentSelector).val(b.agent),["sort","direction","view","source","subjectpage"].forEach(function(c){a[c]=b[c]}),"quarry"===b.source&&b.project&&$(".quarry-project").val(b.project),"1"===b.subjectpage&&$(".category-subject-toggle--input").prop("checked",!0),b.target&&this.processInput()}},{key:"setState",value:function(a,b){switch($("main").removeClass(this.config.formStates.join(" ")).addClass(a),a){case"initial":this.clearMessages(),this.assignDefaults(),this.destroyChart(),$("output").removeClass("list-mode").removeClass("chart-mode"),$(".data-links").addClass("invisible"),this.typeahead&&this.typeahead.hide(),$(this.config.sourceInput).val("").focus(),"function"==typeof b&&b.call(this);break;case"processing":this.processStarted(),this.clearMessages(),document.activeElement.blur(),$(".progress-bar").addClass("active");break;case"complete":this.processEnded(),this.updateProgressBar(0),$(".progress-bar").removeClass("active"),$(".data-links").removeClass("invisible");break;case"invalid":}}},{key:"processPagePile",value:function(a){var b=this,c=$(this.config.sourceInput).val();this.getPagePile(c).done(function(d){return d.pages.length?(b.isRequestCached()||simpleStorage.set("pageviews-throttle",!0,{TTL:9e4}),b.sourceProject=k[d.wiki],"en.wikipedia.org"===b.sourceProject&&(d.pages=d.pages.map(function(a){return a.replace(/^Project:Wikipedia:/,"Wikipedia:")})),void b.getPageViewsData(b.sourceProject,d.pages).done(function(c){var e="Page Pile #"+d.id;$(".output-title").text(e).prop("href",b.getPileURL(d.id)),$(".output-params").html("\n "+$(b.config.dateRangeSelector).val()+'\n —\n '+b.sourceProject.replace(/.org$/,"").escape()+"\n "),b.buildMotherDataset(e,b.getPileLink(d.id),c),a()})):b.setState("initial",function(){b.writeMessage($.i18n("massviews-empty-set",b.getPileLink(c)))})}).fail(function(a){b.setState("initial"),"string"==typeof a?b.writeMessage(a):b.writeMessage($.i18n("api-error-unknown","Page Pile"))})}},{key:"processCategory",value:function(a){var b=this,c=this.getWikiPageFromURL($(this.config.sourceInput).val()),d=g(c,2),e=d[0],f=d[1];if(this.validateProject(e)){if(!f)return this.setState("initial",function(){b.writeMessage($.i18n("invalid-category-url"))});var h={action:"query",format:"json",list:"categorymembers",cmlimit:500,cmtitle:decodeURIComponent(f),prop:"categoryinfo",titles:decodeURIComponent(f)};$(".category-subject-toggle--input").is(":checked")&&(h.meta="siteinfo",h.siprop="namespaces");var i=$.ajax({url:"https://"+e+"/w/api.php",jsonp:"callback",dataType:"jsonp",data:h}),j=this.getPageLink(decodeURIComponent(f),e);this.sourceProject=e,i.done(function(c){if(c.error)return b.setState("initial",function(){b.writeMessage($.i18n("api-error","Category API")+": "+c.error.info.escape())});var d=Object.keys(c.query.pages)[0];if("-1"===d)return b.setState("initial",function(){b.writeMessage($.i18n("api-error-no-data"))});var g=c.query.pages[d].categoryinfo.size,h=c.query.namespaces,i=c.query.categorymembers;if(!i.length)return b.setState("initial",function(){b.writeMessage($.i18n("massviews-empty-set",j))});g>b.config.pageLimit&&(b.writeMessage($.i18n("massviews-oversized-set",j,b.formatNumber(g),b.config.pageLimit)),i=i.slice(0,b.config.pageLimit)),g>10&&b.setThrottle();var k=b.mapCategoryPageNames(i,h);b.getPageViewsData(e,k).done(function(c){$(".output-title").html(j),$(".output-params").html($(b.config.dateRangeSelector).val()),b.buildMotherDataset(f,j,c),a()})}).fail(function(a){b.setState("initial"),a&&"string"==typeof a.error?b.writeMessage($.i18n("api-error",j+": "+a.error)):b.writeMessage($.i18n("api-error-unknown",j))})}}},{key:"processTemplate",value:function(a){var b=this,c=this.getWikiPageFromURL($(this.config.sourceInput).val()),d=g(c,2),e=d[0],f=d[1];if(this.validateProject(e)){if(!f)return this.setState("initial",function(){b.writeMessage($.i18n("invalid-template-url"))});var h=$.ajax({url:"https://"+e+"/w/api.php",jsonp:"callback",dataType:"jsonp",data:{action:"query",format:"json",tilimit:500,titles:decodeURIComponent(f),prop:"transcludedin"}}),i=this.getPageLink(decodeURIComponent(f),e);this.sourceProject=e,h.done(function(c){if(c.error)return b.setState("initial",function(){b.writeMessage($.i18n("api-error","Transclusion API")+": "+c.error.info.escape())});var d=Object.keys(c.query.pages)[0];if("-1"===d)return b.setState("initial",function(){b.writeMessage($.i18n("api-error-no-data"))});var g=c.query.pages[d].transcludedin.map(function(a){return a.title});return g.length?(c["continue"]&&b.writeMessage($.i18n("massviews-oversized-set-unknown",i,500)),g.length>10&&b.setThrottle(),void b.getPageViewsData(e,g).done(function(c){$(".output-title").html(i),$(".output-params").html($(b.config.dateRangeSelector).val()),b.buildMotherDataset(f,i,c),a()})):b.setState("initial",function(){b.writeMessage($.i18n("massviews-empty-set",i))})}).fail(function(a){b.setState("initial"),a&&"string"==typeof a.error?b.writeMessage($.i18n("api-error",i+": "+a.error)):b.writeMessage($.i18n("api-error-unknown",i))})}}},{key:"processQuarry",value:function(a){var b=this,c=$(".quarry-project").val(),d=$(this.config.sourceInput).val();if(this.validateProject(c)){var e="https://quarry.wmflabs.org/query/"+d+"/result/latest/0/json",f="Quarry "+d+"";$.getJSON(e).done(function(e){var g=e.headers.indexOf("page_title");if(-1===g)return b.setState("initial"),b.writeMessage($.i18n("invalid-quarry-dataset","page_title"));var h=e.rows.map(function(a){return a[g]});h.length>500&&(b.writeMessage($.i18n("massviews-oversized-set",f,b.formatNumber(h.length),b.config.pageLimit)),h=h.slice(0,b.config.pageLimit)),h.length>10&&b.setThrottle(),b.getPageViewsData(c,h).done(function(c){$(".output-title").html(f),$(".output-params").html($(b.config.dateRangeSelector).val()),b.buildMotherDataset(d,f,c),a()})}).error(function(a){return b.setState("initial"),b.writeMessage($.i18n("api-error-unknown","Quarry API"),!0)})}}},{key:"validateProject",value:function(a){return a?(a=a.replace(/^www\./,""),l.includes(a)?!0:(this.setState("initial"),this.writeMessage($.i18n("invalid-project",""+a.escape()+""),!0),!1)):!0}},{key:"mapCategoryPageNames",value:function(a,b){var c=[];return a.forEach(function(a){if(b&&a.ns%2===1){var d=b[a.ns].canonical,e=b[a.ns-1].canonical||"";c.push(a.title.replace(d,e).replace(/^\:/,""))}else c.push(a.title)}),c}},{key:"processInput",value:function(){var a=this;if(!this.isRequestCached()&&simpleStorage.hasKey("pageviews-throttle")){var b=Math.round(simpleStorage.getTTL("pageviews-throttle")/1e3);if(b>0)return this.writeMessage($.i18n("api-throttle-wait",""+b+"",'phab:T124314'),!0)}this.setState("processing");var c=function(){a.updateProgressBar(100),a.setInitialChartType(),a.renderData()};switch($("#source_button").data("value")){case"pagepile":this.processPagePile(c);break;case"category":this.processCategory(c);break;case"transclusions":this.processTemplate(c);break;case"quarry":this.processQuarry(c)}}},{key:"exportCSV",value:function(){var a="data:text/csv;charset=utf-8,Title,"+this.getDateHeadings(!1).join(",")+"\n";this.outputData.listData.forEach(function(b){var c='"'+b.label.descore().replace(/"/g,'""')+'"';a+=[c].concat(b.data).join(",")+"\n"}),this.downloadData(a,"csv")}},{key:"baseProject",get:function(){return this.project.split(".")[1]}}]),b}(mix(m)["with"](n,o));$(document).ready(function(){return document.location.hash&&!document.location.search?document.location.href=document.location.href.replace("#","?"):document.location.hash?document.location.href=document.location.href.replace(/\#.*/,""):void new p})},{"../shared/chart_helpers":3,"../shared/list_helpers":5,"../shared/pv":7,"../shared/site_map":9,"./config":1}],3:[function(a,b,c){"use strict";function d(a){if(Array.isArray(a)){for(var b=0,c=Array(a.length);b=g;g.add(1,"d"))if(f[g])a.items.push(f[g]);else{var h=g.isSame(this.config.maxDate)||g.isSame(moment(this.config.maxDate).subtract(1,"days"));a.items.push(e({timestamp:g.format(this.config.timestampFormat)},this.isPageviews()?"views":"devices",h?null:0))}return a}},{key:"getCircularData",value:function(a,b,c){var d=this,e=a.items.map(function(a){return d.isPageviews()?a.views:a.devices}),f=this.config.colors[c],g=e.reduce(function(a,b){return a+b}),h=Math.round(g/e.length);return Object.assign({label:b.descore(),value:g,average:h},this.config.chartConfig[this.chartType].dataset(f))}},{key:"getLinearData",value:function(a,b,c){var e=this,f=a.items.map(function(a){return e.isPageviews()?a.views:a.devices}),g=f.reduce(function(a,b){return a+b}),h=Math.round(g/f.length),i=Math.max.apply(Math,d(f)),j=Math.min.apply(Math,d(f)),k=this.config.colors[c%10];return Object.assign({label:b.descore(),data:f,sum:g,average:h,max:i,min:j,color:k},this.config.chartConfig[this.chartType].dataset(k))}},{key:"getApiUrl",value:function(a,b,c){var d=encodeURIComponent(a);return"siteviews"===this.app?this.isPageviews()?"https://wikimedia.org/api/rest_v1/metrics/pageviews/aggregate/"+d+("/"+$(this.config.platformSelector).val()+"/"+$(this.config.agentSelector).val()+"/daily")+("/"+b.format(this.config.timestampFormat)+"/"+c.format(this.config.timestampFormat)):"https://wikimedia.org/api/rest_v1/metrics/unique-devices/"+d+"/"+$(this.config.platformSelector).val()+"/daily"+("/"+b.format(this.config.timestampFormat)+"/"+c.format(this.config.timestampFormat)):"https://wikimedia.org/api/rest_v1/metrics/pageviews/per-article/"+this.project+("/"+$(this.config.platformSelector).val()+"/"+$(this.config.agentSelector).val()+"/"+d+"/daily")+("/"+b.format(this.config.timestampFormat)+"/"+c.format(this.config.timestampFormat))}},{key:"getPageViewsData",value:function(a){var b=this,c=$.Deferred(),d=0,e={},f=a.length,g=[],h={entities:a,labels:[],datasets:[],errors:[],fatalErrors:[],promises:[]},i=function j(a,i){var k=b.daterangepicker.startDate.startOf("day"),l=b.daterangepicker.endDate.startOf("day"),m=b.getApiUrl(a,k,l),n=$.ajax({url:m,dataType:"json"});h.promises.push(n),n.done(function(c){try{c=b.fillInZeros(c,k,l),b.config.linearCharts.includes(b.chartType)?h.datasets.push(b.getLinearData(c,a,i)):h.datasets.push(b.getCircularData(c,a,i)),c.items&&!h.labels.length&&(h.labels=c.items.map(function(a){return moment(a.timestamp,b.config.timestampFormat).format(b.dateFormat)}))}catch(d){return h.fatalErrors.push(d)}}).fail(function(c){var d="Error in Cassandra table storage backend"===c.responseJSON.title;if(d&&(e[b.project]?e[b.project]++:e[b.project]=1,e[b.project]<3))return f++,b.rateLimit(j,100,b)(a,i);if(h.entities=h.entities.filter(function(b){return b!==a}),d)g.push(a);else{var k="siteviews"===b.app?b.getSiteLink(a):b.getPageLink(a,b.project);h.errors.push(k+": "+$.i18n("api-error","Pageviews API")+" - "+c.responseJSON.title)}}).always(function(){++d===f&&(c.resolve(h),g.length&&b.writeMessage($.i18n("api-error-timeout","
    "+g.map(function(a){return"
  • "+b.getPageLink(a,b.project.escape())+"
  • "}).join("")+"
")))})};return a.forEach(function(a,b){return i(a,b)}),c}},{key:"getPermaLink",value:function(){var a=this.getParams(!1);return delete a.range,a}},{key:"isLogarithmic",value:function(){return $(this.config.logarithmicCheckbox).is(":checked")&&this.isLogarithmicCapable()}},{key:"isLogarithmicCapable",value:function(){return["line","bar"].includes(this.chartType)}},{key:"isPageviews",value:function(){return"pageviews"===this.app||"pageviews"===$(this.config.dataSourceSelector).val()}},{key:"isUniqueDevices",value:function(){return!this.isPageviews()}},{key:"printChart",value:function(){var a=window.open();a.document.write(''),a.print(),a.close()}},{key:"resetView",value:function(){var a=arguments.length<=0||void 0===arguments[0]?!1:arguments[0];try{this.destroyChart(),a&&this.resetSelect2()}catch(b){}finally{this.stopSpinny(),$(".data-links").addClass("invisible"),$(this.config.chart).hide(),this.clearMessages()}}},{key:"setChartPointDetectionRadius",value:function(){"line"===this.chartType&&(this.numDaysInRange()>50?Chart.defaults.global.elements.point.hitRadius=3:this.numDaysInRange()>30?Chart.defaults.global.elements.point.hitRadius=5:this.numDaysInRange()>20?Chart.defaults.global.elements.point.hitRadius=10:Chart.defaults.global.elements.point.hitRadius=30)}},{key:"shouldBeLogarithmic",value:function(a){var b;if(!this.isLogarithmicCapable()||this.noLogScale)return!1;var c=[];a.forEach(function(a){c.push(a.map(function(a){return a||0}))});var e=Math.max.apply(Math,d((b=[]).concat.apply(b,c)));if(10>=e)return!1;var f=!1;return c.forEach(function(a){a.push(e);var b=a.reduce(function(a,b){return a+b}),c=b/a.length,d=0;return a.forEach(function(a){return d+=a?a*Math.log(a/c):0}),d/b>.5?f=!0:void 0}),f}},{key:"setupDateRangeSelector",value:function(){var a=this;if(j(Object.getPrototypeOf(b.prototype),"setupDateRangeSelector",this).call(this),this.isChartApp()){var c=$(this.config.dateRangeSelector);$(".date-latest a").on("click",function(b){a.setSpecialRange("latest-"+$(b.target).data("value"))}),c.on("change",function(b){a.setChartPointDetectionRadius(),a.processInput(),a.specialRange&&a.specialRange.value!==b.target.value&&(a.specialRange=null)})}}},{key:"updateChart",value:function(a){var b=this;if($("#chart-legend").html(""),!this.showErrors(a)){if(!a.entities.length)return this.stopSpinny();if(1===a.entities.length?$(".multi-page-chart-node").hide():$(".multi-page-chart-node").show(),"true"===this.autoLogDetection){var c=this.shouldBeLogarithmic(a.datasets.map(function(a){return a.data}));$(this.config.logarithmicCheckbox).prop("checked",c),$(".begin-at-zero").toggleClass("disabled",c)}var d=new Array(a.entities.length);a.datasets.forEach(function(c){b.isLogarithmic()&&(c.data=c.data.map(function(a){return a||null})),d[a.entities.indexOf(c.label.score())]=c});var e=Object.assign({scales:{}},this.config.chartConfig[this.chartType].opts,this.config.globalChartOpts);this.isLogarithmic()&&(e.scales=Object.assign({},e.scales,{yAxes:[{type:"logarithmic",ticks:{callback:function(a,c,d){var e=a/Math.pow(10,Math.floor(Chart.helpers.log10(a)));return 1===e||2===e||5===e||0===c||c===d.length-1?b.formatNumber(a):""}}}]})),this.stopSpinny();try{$(".chart-container").html("").append(""),this.setChartPointDetectionRadius();var f=$(this.config.chart)[0].getContext("2d");if(this.config.linearCharts.includes(this.chartType)){var g={labels:a.labels,datasets:d};"radar"===this.chartType?e.scale.ticks.beginAtZero=$(".begin-at-zero-option").is(":checked"):e.scales.yAxes[0].ticks.beginAtZero=$(".begin-at-zero-option").is(":checked"),this.chartObj=new Chart(f,{type:this.chartType,data:g,options:e})}else this.chartObj=new Chart(f,{type:this.chartType,data:{labels:d.map(function(a){return a.label}),datasets:[{data:d.map(function(a){return a.value}),backgroundColor:d.map(function(a){return a.backgroundColor}),hoverBackgroundColor:d.map(function(a){return a.hoverBackgroundColor}),averages:d.map(function(a){return a.average})}]},options:e})}catch(h){return this.showErrors({errors:[],fatalErrors:[h]})}$("#chart-legend").html(this.chartObj.generateLegend()),$(".data-links").removeClass("invisible")}}},{key:"showErrors",value:function(a){var b=this;if(a.fatalErrors.length){this.resetView(!0);var c=a.fatalErrors.unique();return this.showFatalErrors(c),!0}return a.errors.length&&(!a.entities||a.errors.length!==a.entities.length&&a.entities.length||this.resetView(),a.errors.unique().forEach(function(a){return b.writeMessage(a)})),!1}}]),b}(a)};b.exports=k},{}],4:[function(a,b,c){"use strict";function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var e=function(){function a(a,b){for(var c=0;c":">",'"':""","'":"'","/":"/"};return this.replace(/[&<>"'\/]/g,function(b){return a[b]})},Array.prototype.unique=function(){return this.filter(function(a,b,c){return c.indexOf(a)===b})},window.mix=function(a){return new f(a)};var f=function(){function a(b){d(this,a),this.superclass=b}return e(a,[{key:"with",value:function(){for(var a=arguments.length,b=Array(a),c=0;a>c;c++)b[c]=arguments[c];return b.reduce(function(a,b){return b(a)},this.superclass)}}]),a}();"undefined"!=typeof Chart&&(Chart.Controller.prototype.getElementsAtEvent=function(a){var b=Chart.helpers,c=b.getRelativePosition(a,this.chart),d=[],e=function(){if(this.data.datasets)for(var a=0;a=h;h.add(1,"d"))if(e[h])f.push(e[h]);else{var i=h.isSame(this.config.maxDate)||h.isSame(moment(this.config.maxDate).subtract(1,"days"));f.push({timestamp:h.format(this.config.timestampFormat),views:i?null:0}),i&&g.push(h.format())}return[f,g]}},{key:"getCacheKey",value:function(){return"lv-cache-"+this.hashCode(JSON.stringify(this.getParams(!0)))}},{key:"getPageviewsURL",value:function(a,b){var c=moment(this.daterangepicker.startDate),d=moment(this.daterangepicker.endDate),e=$(this.config.platformSelector).val();return 0===d.diff(c,"days")&&(c.subtract(3,"days"),d.add(3,"days")),"/pageviews?start="+c.format("YYYY-MM-DD")+("&end="+d.format("YYYY-MM-DD")+"&project="+a+"&platform="+e+"&pages="+b)}},{key:"getPermaLink",value:function(){var a=this.getParams(!0);return a.sort=this.sort,a.direction=this.direction,a}},{key:"getState",value:function(){var a=$("main")[0].classList;return this.config.formStates.filter(function(b){return a.contains(b)})[0]}},{key:"isRequestCached",value:function(){return simpleStorage.hasKey(this.getCacheKey())}},{key:"renderData",value:function(a){var b=this,c=this.outputData.listData,d=c.sort(function(a,c){var d=b.getSortProperty(a,b.sort),e=b.getSortProperty(c,b.sort);return e>d?b.direction:d>e?-b.direction:0});$(".sort-link span").removeClass("glyphicon-sort-by-alphabet-alt glyphicon-sort-by-alphabet").addClass("glyphicon-sort");var e=1===parseInt(this.direction,10)?"glyphicon-sort-by-alphabet-alt":"glyphicon-sort-by-alphabet";$(".sort-link--"+this.sort+" span").addClass(e).removeClass("glyphicon-sort");try{a(d)}catch(f){this.setState("complete"),this.showFatalErrors([f])}finally{this.pushParams()}this.toggleView(this.view),"complete"!==this.getState()&&this.setState("complete")}},{key:"toggleView",value:function(a){var b=this;if($(".view-btn").removeClass("active"),$(".view-btn--"+a).addClass("active"),$("output").removeClass("list-mode").removeClass("chart-mode").addClass(a+"-mode"),"chart"===a){this.destroyChart(),this.config.circularCharts.includes(this.chartType)&&(this.chartType="bar");var c=Object.assign({},this.config.chartConfig[this.chartType].opts,this.config.globalChartOpts);if(this.assignOutputDataChartOpts(),this.setChartPointDetectionRadius(),"true"===this.autoLogDetection){var d=this.shouldBeLogarithmic([this.outputData.datasets[0].data]);$(this.config.logarithmicCheckbox).prop("checked",d)}this.isLogarithmic()&&(c.scales=Object.assign({},c.scales,{yAxes:[{type:"logarithmic",ticks:{callback:function(a,c,d){var e=a/Math.pow(10,Math.floor(Chart.helpers.log10(a)));return 1===e||2===e||5===e||0===c||c===d.length-1?b.formatNumber(a):""}}}]})),"radar"===this.chartType?c.scale.ticks.beginAtZero=$(".begin-at-zero-option").is(":checked"):c.scales.yAxes[0].ticks.beginAtZero=$(".begin-at-zero-option").is(":checked");var e=$(this.config.chart)[0].getContext("2d");this.chartObj=new Chart(e,{type:this.chartType,data:this.outputData,options:c}),$(".chart-specific").show(),$("#chart-legend").html(this.chartObj.generateLegend())}else $(".chart-specific").hide();this.pushParams()}},{key:"updateProgressBar",value:function(a){$(".progress-bar").css("width",a.toFixed(2)+"%")}}]),b}(a)};b.exports=h},{}],6:[function(a,b,c){"use strict";Array.prototype.includes||(Array.prototype.includes=function(a){return-1!==this.indexOf(a)}),String.prototype.includes||(String.prototype.includes=function(a,b){return"number"!=typeof b&&(b=0),b+a.length>this.length?!1:-1!==this.indexOf(a,b)}),"function"!=typeof Object.assign&&!function(){Object.assign=function(a){if(void 0===a||null===a)throw new TypeError("Cannot convert undefined or null to object");for(var b=Object(a),c=1;c>>0,d=arguments[1],e=void 0,f=0;c>f;f++)if(e=b[f],a.call(d,e,f,b))return e}),Array.prototype.fill||(Array.prototype.fill=function(a){if(null===this)throw new TypeError("this is null or not defined");for(var b=Object(this),c=b.length>>>0,d=arguments[1],e=d>>0,f=0>e?Math.max(c+e,0):Math.min(e,c),g=arguments[2],h=void 0===g?c:g>>0,i=0>h?Math.max(c+h,0):Math.min(h,c);i>f;)b[f]=a,f++;return b})},{}],7:[function(a,b,c){"use strict";function d(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function e(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function g(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var h=function(){function a(a,b){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!b||c.length!==b);d=!0);}catch(i){e=!0,f=i}finally{try{!d&&h["return"]&&h["return"]()}finally{if(e)throw f}}return c}return function(b,c){if(Array.isArray(b))return b;if(Symbol.iterator in Object(b))return a(b,c);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),i=function(){function a(a,b){for(var c=0;c"+location.hostname+i+"")}var j=d({},i18nLang,"/pageviews/messages/"+i18nLang+".json");return"en"!==i18nLang&&(j.en="/pageviews/messages/en.json"),$.i18n({locale:i18nLang}).load(j).then(c.initialize.bind(c)),c}return g(b,a),i(b,[{key:"addSiteNotice",value:function(a,b,c,d){c=c?""+c+" ":"";var e=c+b;d?(d=" alert-dismissable",e='\n '+e):d="",$(".site-notice").append("
"+e+"
")}},{key:"addInvalidParamNotice",value:function(a){this.addSiteNotice("danger",$.i18n("param-error-3",a,"/"+this.app+"/url_structure"),$.i18n("invalid-params"),!0)}},{key:"validateDateRange",value:function(a){if(a.range)this.setSpecialRange(a.range)||(this.addInvalidParamNotice("range"),this.setSpecialRange(this.config.defaults.dateRange));else if(a.start){var b=/\d{4}-\d{2}-\d{2}$/,c=void 0,d=void 0;if(!a.start||!b.test(a.start))return this.addInvalidParamNotice("start"),!1;if(c=moment(a.start),!a.end||!b.test(a.end))return this.addInvalidParamNotice("end"),!1;if(d=moment(a.end),cd)return this.addSiteNotice("danger",$.i18n("param-error-2"),$.i18n("invalid-params"),!0),!1;this.daterangepicker.startDate=c,this.daterangepicker.setEndDate(d)}else this.setSpecialRange(this.config.defaults.dateRange);return!0}},{key:"clearSiteNotices",value:function(){$(".site-notice").html("")}},{key:"clearMessages",value:function(){$(".message-container").html("")}},{key:"downloadData",value:function(a,b){var c=encodeURI(a),d=document.createElement("a");if("string"==typeof d.download){document.body.appendChild(d);var e=this.getExportFilename()+"."+b;d.download=e,d.href=c,d.click(),document.body.removeChild(d)}else window.open(c)}},{key:"fillInSettings",value:function(){var a=this;$.each($("#settings-modal input"),function(b,c){"checkbox"===c.type?c.checked="true"===a[c.name]:c.checked=a[c.name]===c.value})}},{key:"focusSelect2",value:function(){$(".select2-selection").trigger("click"),$(".select2-search__field").focus()}},{key:"formatNumber",value:function(a){var b=this.getFromLocalStorage("pageviews-settings-numericalFormatting")||this.config.defaults.numericalFormatting;return"true"===b?this.n(a):a}},{key:"formatYAxisNumber",value:function(a){return a%1===0?this.formatNumber(a):null}},{key:"getDateHeadings",value:function(a){for(var b=[],c=moment(this.daterangepicker.endDate).add(1,"d"),d=moment(this.daterangepicker.startDate);d.isBefore(c);d.add(1,"d"))a?b.push(d.format(this.dateFormat)):b.push(d.format("YYYY-MM-DD"));return b}},{key:"getExpandedPageURL",value:function(a){return"//"+this.project+".org/w/index.php?title="+encodeURIComponent(a.score()).replace(/'/,escape)}},{key:"getExportFilename",value:function(){var a=this.daterangepicker.startDate.startOf("day").format("YYYYMMDD"),b=this.daterangepicker.endDate.startOf("day").format("YYYYMMDD");return this.app+"-"+a+"-"+b}},{key:"getPageLink",value:function(a,b){return''+a.descore().escape()+""}},{key:"getPageURL",value:function(a){var b=arguments.length<=1||void 0===arguments[1]?this.project:arguments[1];return"//"+b.replace(/\.org$/,"").escape()+".org/wiki/"+encodeURIComponent(a.score()).replace(/'/,escape)}},{key:"getSiteLink",value:function(a){return''+a+""}},{key:"getLocaleDateString",value:function(){if(!navigator.language)return this.config.defaults.dateFormat;var a={"ar-sa":"DD/MM/YY","bg-bg":"DD.M.YYYY","ca-es":"DD/MM/YYYY","zh-tw":"YYYY/M/D","cs-cz":"D.M.YYYY","da-dk":"DD-MM-YYYY","de-de":"DD.MM.YYYY","el-gr":"D/M/YYYY","en-us":"M/D/YYYY","fi-fi":"D.M.YYYY","fr-fr":"DD/MM/YYYY","he-il":"DD/MM/YYYY","hu-hu":"YYYY. MM. DD.","is-is":"D.M.YYYY","it-it":"DD/MM/YYYY","ja-jp":"YYYY/MM/DD","ko-kr":"YYYY-MM-DD","nl-nl":"D-M-YYYY","nb-no":"DD.MM.YYYY","pl-pl":"YYYY-MM-DD","pt-br":"D/M/YYYY","ro-ro":"DD.MM.YYYY","ru-ru":"DD.MM.YYYY","hr-hr":"D.M.YYYY","sk-sk":"D. M. YYYY","sq-al":"YYYY-MM-DD","sv-se":"YYYY-MM-DD","th-th":"D/M/YYYY","tr-tr":"DD.MM.YYYY","ur-pk":"DD/MM/YYYY","id-id":"DD/MM/YYYY","uk-ua":"DD.MM.YYYY","be-by":"DD.MM.YYYY","sl-si":"D.M.YYYY","et-ee":"D.MM.YYYY","lv-lv":"YYYY.MM.DD.","lt-lt":"YYYY.MM.DD","fa-ir":"MM/DD/YYYY","vi-vn":"DD/MM/YYYY","hy-am":"DD.MM.YYYY","az-latn-az":"DD.MM.YYYY","eu-es":"YYYY/MM/DD","mk-mk":"DD.MM.YYYY","af-za":"YYYY/MM/DD","ka-ge":"DD.MM.YYYY","fo-fo":"DD-MM-YYYY","hi-in":"DD-MM-YYYY","ms-my":"DD/MM/YYYY","kk-kz":"DD.MM.YYYY","ky-kg":"DD.MM.YY","sw-ke":"M/d/YYYY","uz-latn-uz":"DD/MM YYYY","tt-ru":"DD.MM.YYYY","pa-in":"DD-MM-YY","gu-in":"DD-MM-YY","ta-in":"DD-MM-YYYY","te-in":"DD-MM-YY","kn-in":"DD-MM-YY","mr-in":"DD-MM-YYYY","sa-in":"DD-MM-YYYY","mn-mn":"YY.MM.DD","gl-es":"DD/MM/YY","kok-in":"DD-MM-YYYY","syr-sy":"DD/MM/YYYY","dv-mv":"DD/MM/YY","ar-iq":"DD/MM/YYYY","zh-cn":"YYYY/M/D","de-ch":"DD.MM.YYYY","en-gb":"DD/MM/YYYY","es-mx":"DD/MM/YYYY","fr-be":"D/MM/YYYY","it-ch":"DD.MM.YYYY","nl-be":"D/MM/YYYY","nn-no":"DD.MM.YYYY","pt-pt":"DD-MM-YYYY","sr-latn-cs":"D.M.YYYY","sv-fi":"D.M.YYYY","az-cyrl-az":"DD.MM.YYYY","ms-bn":"DD/MM/YYYY","uz-cyrl-uz":"DD.MM.YYYY","ar-eg":"DD/MM/YYYY","zh-hk":"D/M/YYYY","de-at":"DD.MM.YYYY","en-au":"D/MM/YYYY","es-es":"DD/MM/YYYY","fr-ca":"YYYY-MM-DD","sr-cyrl-cs":"D.M.YYYY","ar-ly":"DD/MM/YYYY","zh-sg":"D/M/YYYY","de-lu":"DD.MM.YYYY","en-ca":"DD/MM/YYYY","es-gt":"DD/MM/YYYY","fr-ch":"DD.MM.YYYY","ar-dz":"DD-MM-YYYY","zh-mo":"D/M/YYYY","de-li":"DD.MM.YYYY","en-nz":"D/MM/YYYY","es-cr":"DD/MM/YYYY","fr-lu":"DD/MM/YYYY","ar-ma":"DD-MM-YYYY","en-ie":"DD/MM/YYYY","es-pa":"MM/DD/YYYY","fr-mc":"DD/MM/YYYY","ar-tn":"DD-MM-YYYY","en-za":"YYYY/MM/DD","es-do":"DD/MM/YYYY","ar-om":"DD/MM/YYYY","en-jm":"DD/MM/YYYY","es-ve":"DD/MM/YYYY","ar-ye":"DD/MM/YYYY","en-029":"MM/DD/YYYY","es-co":"DD/MM/YYYY","ar-sy":"DD/MM/YYYY","en-bz":"DD/MM/YYYY","es-pe":"DD/MM/YYYY","ar-jo":"DD/MM/YYYY","en-tt":"DD/MM/YYYY","es-ar":"DD/MM/YYYY","ar-lb":"DD/MM/YYYY","en-zw":"M/D/YYYY","es-ec":"DD/MM/YYYY","ar-kw":"DD/MM/YYYY","en-ph":"M/D/YYYY","es-cl":"DD-MM-YYYY","ar-ae":"DD/MM/YYYY","es-uy":"DD/MM/YYYY","ar-bh":"DD/MM/YYYY","es-py":"DD/MM/YYYY","ar-qa":"DD/MM/YYYY","es-bo":"DD/MM/YYYY","es-sv":"DD/MM/YYYY","es-hn":"DD/MM/YYYY","es-ni":"DD/MM/YYYY","es-pr":"DD/MM/YYYY","am-et":"D/M/YYYY","tzm-latn-dz":"DD-MM-YYYY","iu-latn-ca":"D/MM/YYYY","sma-no":"DD.MM.YYYY","mn-mong-cn":"YYYY/M/D","gd-gb":"DD/MM/YYYY","en-my":"D/M/YYYY","prs-af":"DD/MM/YY","bn-bd":"DD-MM-YY","wo-sn":"DD/MM/YYYY","rw-rw":"M/D/YYYY","qut-gt":"DD/MM/YYYY","sah-ru":"MM.DD.YYYY","gsw-fr":"DD/MM/YYYY","co-fr":"DD/MM/YYYY","oc-fr":"DD/MM/YYYY","mi-nz":"DD/MM/YYYY","ga-ie":"DD/MM/YYYY","se-se":"YYYY-MM-DD","br-fr":"DD/MM/YYYY","smn-fi":"D.M.YYYY","moh-ca":"M/D/YYYY","arn-cl":"DD-MM-YYYY","ii-cn":"YYYY/M/D","dsb-de":"D. M. YYYY","ig-ng":"D/M/YYYY","kl-gl":"DD-MM-YYYY","lb-lu":"DD/MM/YYYY","ba-ru":"DD.MM.YY","nso-za":"YYYY/MM/DD","quz-bo":"DD/MM/YYYY","yo-ng":"D/M/YYYY","ha-latn-ng":"D/M/YYYY","fil-ph":"M/D/YYYY","ps-af":"DD/MM/YY","fy-nl":"D-M-YYYY","ne-np":"M/D/YYYY","se-no":"DD.MM.YYYY","iu-cans-ca":"D/M/YYYY","sr-latn-rs":"D.M.YYYY","si-lk":"YYYY-MM-DD","sr-cyrl-rs":"D.M.YYYY","lo-la":"DD/MM/YYYY","km-kh":"YYYY-MM-DD","cy-gb":"DD/MM/YYYY","bo-cn":"YYYY/M/D","sms-fi":"D.M.YYYY","as-in":"DD-MM-YYYY","ml-in":"DD-MM-YY","en-in":"DD-MM-YYYY","or-in":"DD-MM-YY","bn-in":"DD-MM-YY","tk-tm":"DD.MM.YY","bs-latn-ba":"D.M.YYYY","mt-mt":"DD/MM/YYYY","sr-cyrl-me":"D.M.YYYY","se-fi":"D.M.YYYY","zu-za":"YYYY/MM/DD","xh-za":"YYYY/MM/DD","tn-za":"YYYY/MM/DD","hsb-de":"D. M. YYYY","bs-cyrl-ba":"D.M.YYYY","tg-cyrl-tj":"DD.MM.yy","sr-latn-ba":"D.M.YYYY","smj-no":"DD.MM.YYYY","rm-ch":"DD/MM/YYYY","smj-se":"YYYY-MM-DD","quz-ec":"DD/MM/YYYY","quz-pe":"DD/MM/YYYY","hr-ba":"D.M.YYYY.","sr-latn-me":"D.M.YYYY","sma-se":"YYYY-MM-DD","en-sg":"D/M/YYYY","ug-cn":"YYYY-M-D","sr-cyrl-ba":"D.M.YYYY","es-us":"M/D/YYYY"},b=navigator.language.toLowerCase();return a[b]||this.config.defaults.dateFormat}},{key:"getFromLocalStorage",value:function(a){try{return localStorage.getItem(a)}catch(b){return storage[a]}}},{key:"getBugReportURL",value:function(a){var b="https://meta.wikimedia.org/w/index.php?title=Talk:Pageviews_Analysis&action=edit"+("§ion=new&preloadtitle="+this.app.upcase()+" bug report");return a?b+"&preload=Talk:Pageviews_Analysis/Preload&preloadparams[]="+a:b}},{key:"getUserAgent",value:function(){return navigator.userAgent?navigator.userAgent:"Unknown"}},{key:"setLocalStorage",value:function(a,b){try{return localStorage.setItem(a,b)}catch(c){return storage[a]=b}}},{key:"hashCode",value:function(a){return a.split("").reduce(function(a,b){return(a<<5)-a+b.charCodeAt(0)},0)}},{key:"isChartApp",value:function(){return!this.isListApp()}},{key:"isListApp",value:function(){return["langviews","massviews","redirectviews"].includes(this.app)}},{key:"isMultilangProject",value:function(){return new RegExp(".*?\\.("+b.multilangProjects.join("|")+")").test(this.project)}},{key:"mapNormalizedPageNames",value:function(a,b){return b.forEach(function(b){a=a.map(function(a){return b.from===a?b.to:a})}),a}},{key:"n",value:function(a){return new Number(a).toLocaleString()}},{key:"normalizePageNames",value:function(a){var b=this,c=$.Deferred();return $.ajax({url:"https://"+this.project+".org/w/api.php?action=query&prop=info&format=json&titles="+a.join("|"),dataType:"jsonp"}).then(function(d){return d.query.normalized&&(a=b.mapNormalizedPageNames(a,d.query.normalized)),c.resolve(a)})}},{key:"numDaysInRange",value:function(){return this.daterangepicker.endDate.diff(this.daterangepicker.startDate,"days")+1}},{key:"parseQueryString",value:function(a){for(var b=decodeURI(location.search.slice(1)),c=b.split("&"),d={},e=0;e").text(a).html();$("").appendTo(b.config.select2Input)}),$(this.config.select2Input).select2("val",a),$(this.config.select2Input).select2("close"),a}},{key:"setSpecialRange",value:function(a){var b=Object.keys(this.config.specialRanges).indexOf(a),c=void 0,d=void 0;if(a.includes("latest-")){var e=parseInt(a.replace("latest-",""),10)||20,f=this.config.specialRanges.latest(e),g=h(f,2);c=g[0],d=g[1]}else{if(!(b>=0))return;var i="latest"===a?this.config.specialRanges.latest():this.config.specialRanges[a],j=h(i,2);c=j[0],d=j[1],$(".daterangepicker .ranges li").eq(b).trigger("click")}return this.specialRange={range:a,value:c.format(this.dateFormat)+" - "+d.format(this.dateFormat)},this.daterangepicker.startDate=c,this.daterangepicker.setEndDate(d),this.specialRange}},{key:"setupSelect2Colors",value:function(){var a=this;return this.colorsStyleEl&&this.colorsStyleEl.remove(),this.colorsStyleEl=document.createElement("style"),this.colorsStyleEl.appendChild(document.createTextNode("")),document.head.appendChild(this.colorsStyleEl),this.config.colors.forEach(function(b,c){a.colorsStyleEl.sheet.insertRule(".select2-selection__choice:nth-of-type("+(c+1)+") { background: "+b+" !important }",0)}),this.colorsStyleEl.sheet}},{key:"setupListeners",value:function(){var a=this;$("a[href='#']").on("click",function(a){return a.preventDefault()}),$(".lang-link").on("click",function(b){var c=moment().add(a.config.cookieExpiry,"days").toDate().toGMTString();document.cookie="TsIntuition_userlang="+$(b.target).data("lang")+"; expires="+c+"; path=/";var d=Math.floor(Date.now()/1e3)+24*a.config.cookieExpiry*60*60;document.cookie="TsIntuition_expiry="+d+"; expires="+c+"; path=/",location.reload()}),$(".download-csv").on("click",this.exportCSV.bind(this)),$(".download-json").on("click",this.exportJSON.bind(this)),$(this.config.projectInput).on("focusin",function(){this.dataset.value=this.value}),$(this.config.projectInput).on("change",function(b){return a.validateProject(b)})}},{key:"setupSettingsModal",value:function(){this.fillInSettings(),$(".save-settings-btn").on("click",this.saveSettings.bind(this)),$(".cancel-settings-btn").on("click",this.fillInSettings.bind(this))}},{key:"setupDateRangeSelector",value:function(){var a=this,b=$(this.config.dateRangeSelector),c={};Object.keys(this.config.specialRanges).forEach(function(b){"latest"!==b&&(c[$.i18n(b)]=a.config.specialRanges[b])});var d={locale:{format:this.dateFormat,applyLabel:$.i18n("apply"),cancelLabel:$.i18n("cancel"),customRangeLabel:$.i18n("custom-range"),daysOfWeek:[$.i18n("su"),$.i18n("mo"),$.i18n("tu"),$.i18n("we"),$.i18n("th"),$.i18n("fr"),$.i18n("sa")],monthNames:[$.i18n("january"),$.i18n("february"),$.i18n("march"),$.i18n("april"),$.i18n("may"),$.i18n("june"),$.i18n("july"),$.i18n("august"),$.i18n("september"),$.i18n("october"),$.i18n("november"),$.i18n("december")]},startDate:moment().subtract(this.config.daysAgo,"days"),minDate:this.config.minDate,maxDate:this.config.maxDate,ranges:c};this.config.dateLimit&&(d.dateLimit={days:this.config.dateLimit}),b.daterangepicker(d),$(".daterangepicker").append($("
").addClass("daterange-notice").html($.i18n("date-notice",document.title,"stats.grok.se",$.i18n("july")+" 2015"))),$(".daterangepicker .ranges li").on("click",function(b){var c=$(".daterangepicker .ranges li").index(b.target),d=a.daterangepicker.container,e=d.find(".daterangepicker_input input");a.specialRange={range:Object.keys(a.config.specialRanges)[c],value:e[0].value+" - "+e[1].value}}),$(this.config.dateRangeSelector).on("apply.daterangepicker",function(b,c){c.chosenLabel===$.i18n("custom-range")&&(a.specialRange=null,a.daterangepicker.updateElement())})}},{key:"setThrottle",value:function(){this.isRequestCached()||simpleStorage.set("pageviews-throttle",!0,{TTL:9e4})}},{key:"showFatalErrors",value:function(a){var b=this;if(this.clearMessages(),a.forEach(function(a){b.writeMessage(""+$.i18n("fatal-error")+": "+a+"")}),this.debug)throw a[0];a&&a[0]&&a[0].stack&&$.ajax({method:"POST",url:"//tools.wmflabs.org/musikanimal/paste",data:{content:"\ndate: "+moment().utc().format()+("\ntool: "+this.app)+("\nlanguage: "+i18nLang)+("\nchart: "+this.chartType)+("\nurl: "+document.location.href)+("\nuserAgent: "+this.getUserAgent())+("\ntrace: "+a[0].stack),title:"Pageviews Analysis error report: "+a[0]}}).done(function(a){a&&a.result&&a.result.objectName?b.writeMessage($.i18n("error-please-report",b.getBugReportURL(a.result.objectName))):b.writeMessage($.i18n("error-please-report",b.getBugReportURL()))}).fail(function(){b.writeMessage($.i18n("error-please-report",b.getBugReportURL()))})}},{key:"splash",value:function(){var a="background: #eee; color: #555; padding: 4px; font-family:monospace";console.log("%c ___ __ _ _ ",a),console.log("%c | _ \\ __ _ / _` | ___ __ __ (_) ___ __ __ __ ___ ",a),console.log("%c | _/ / _` | \\__, | / -_) \\ V / | | / -_) \\ V V / (_-< ",a),console.log("%c _|_|_ \\__,_| |___/ \\___| _\\_/_ _|_|_ \\___| \\_/\\_/ /__/_ ",a),console.log('%c _| """ |_|"""""|_|"""""|_|"""""|_|"""""|_|"""""|_|"""""|_|"""""|_|"""""| ',a),console.log("%c \"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-' ",a),console.log("%c ___ _ _ _ _ ",a),console.log("%c o O O / \\ _ _ __ _ | || | | | ___ (_) ___ ",a),console.log("%c o | - | | ' \\ / _` | \\_, | | | (_-< | | (_-< ",a),console.log("%c TS__[O] |_|_| |_||_| \\__,_| _|__/ _|_|_ /__/_ _|_|_ /__/_ ",a),console.log('%c {======|_|"""""|_|"""""|_|"""""|_| """"|_|"""""|_|"""""|_|"""""|_|"""""| ',a),console.log("%c ./o--000'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-' ",a),console.log("%c ",a),console.log("%c Copyright © "+(new Date).getFullYear()+" MusikAnimal, Kaldari, Marcel Ruiz Forns ",a)}},{key:"startSpinny",value:function(){var a=this;$(".chart-container").addClass("loading"),clearTimeout(this.timeout),this.timeout=setTimeout(function(b){a.resetView(),a.writeMessage(""+$.i18n("fatal-error")+":\n "+$.i18n("error-timed-out")+"\n "+$.i18n("error-please-report",a.getBugReportURL())+"\n ",!0)},2e4)}},{key:"stopSpinny",value:function(){$(".chart-container").removeClass("loading"),clearTimeout(this.timeout)}},{key:"underscorePageNames",value:function(a){return a.map(function(a){return decodeURIComponent(a).score()})}},{key:"updateInterAppLinks",value:function(){var a=this;$(".interapp-link").each(function(b,c){var d=c.href.split("?")[0];c.classList.contains("interapp-link--siteviews")?c.href=d+"?sites="+a.project.escape()+".org":c.href=d+"?project="+a.project.escape()+".org"})}},{key:"validateParams",value:function(a){var b=this;return this.config.validateParams.forEach(function(c){"project"===c&&a.project&&(a.project=a.project.replace(/^www\./,""));var d=b.config.defaults[c],e=a[c];d&&!b.config.validParams[c].includes(e)&&(e&&b.addInvalidParamNotice(c),a[c]=d)}),a}},{key:"validateProject",value:function(){var a=arguments.length<=0||void 0===arguments[0]?!1:arguments[0],b=$(this.config.projectInput)[0],c=b.value.replace(/^www\./,""),d=!1;return a&&!this.isMultilangProject()?(this.writeMessage($.i18n("invalid-lang-project",""+c.escape()+""),!0),c=b.dataset.value):l.includes(c)?(this.clearMessages(),this.updateInterAppLinks(),d=!0):(this.writeMessage($.i18n("invalid-project",""+c.escape()+""),!0),c=b.dataset.value),b.value=c,d}},{key:"writeMessage",value:function(a,b){return b&&this.clearMessages(),$(".message-container").append("
"+a+"
")}},{key:"dateFormat",get:function(){return"true"===this.localizeDateFormat?this.getLocaleDateString():this.config.defaults.dateFormat}},{key:"daterangepicker",get:function(){return $(this.config.dateRangeSelector).data("daterangepicker")}},{key:"project",get:function(){var a=$(this.config.projectInput).val();return a?a.toLowerCase().replace(/.org$/,""):null}}],[{key:"multilangProjects",get:function(){return["wikipedia","wikibooks","wikinews","wikiquote","wikisource","wikiversity","wikivoyage"]}}]),b}(j);b.exports=m},{"./pv_config":8,"./site_map":9}],8:[function(a,b,c){"use strict";function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var e=function(){function a(a,b){for(var c=0;c1?"line":"bar"},dateFormat:"YYYY-MM-DD",localizeDateFormat:"true",numericalFormatting:"true",bezierCurve:"false",autoLogDetection:"true",beginAtZero:"false",rememberChart:"true",agent:"user",platform:"all-access",project:"en.wikipedia.org"},globalChartOpts:{animation:{duration:500,easing:"easeInOutQuart"},hover:{animationDuration:0},legend:{display:!1}},linearCharts:["line","bar","radar"],linearOpts:{scales:{yAxes:[{ticks:{callback:function(a){return b.formatNumber(a)}}}]},legendCallback:function(a){return b.config.linearLegend(a.data.datasets,c)}},daysAgo:20,minDate:moment("2015-07-01").startOf("day"),maxDate:moment().subtract(1,"days").startOf("day"),specialRanges:{"last-week":[moment().subtract(1,"week").startOf("week"),moment().subtract(1,"week").endOf("week")],"this-month":[moment().startOf("month"),moment().subtract(1,"days").startOf("day")],"last-month":[moment().subtract(1,"month").startOf("month"),moment().subtract(1,"month").endOf("month")],latest:function(){var a=arguments.length<=0||void 0===arguments[0]?c.config.daysAgo:arguments[0];return[moment().subtract(a,"days").startOf("day"),c.config.maxDate]}},timestampFormat:"YYYYMMDD00",validParams:{agent:["all-agents","user","spider","bot"],platform:["all-access","desktop","mobile-app","mobile-web"],project:g}}}return e(a,[{key:"linearTooltips",get:function(){var a=this;return{mode:"label",callbacks:{label:function(b){return Number.isNaN(b.yLabel)?" "+$.i18n("unknown"):" "+a.formatNumber(b.yLabel)}},bodyFontSize:14,bodySpacing:7,caretSize:0,titleFontSize:14}}},{key:"circularTooltips",get:function(){var a=this;return{callbacks:{label:function b(c,d){var e=d.datasets[c.datasetIndex].data[c.index],b=d.labels[c.index];return Number.isNaN(e)?b+": "+$.i18n("unknown"):b+": "+a.formatNumber(e)}},bodyFontSize:14,bodySpacing:7,caretSize:0,titleFontSize:14}}}]),a}();b.exports=h},{"./site_map":9}],9:[function(a,b,c){"use strict";var d={aawiki:"aa.wikipedia.org",aawiktionary:"aa.wiktionary.org",aawikibooks:"aa.wikibooks.org",abwiki:"ab.wikipedia.org",abwiktionary:"ab.wiktionary.org",acewiki:"ace.wikipedia.org",adywiki:"ady.wikipedia.org",afwiki:"af.wikipedia.org",afwiktionary:"af.wiktionary.org",afwikibooks:"af.wikibooks.org",afwikiquote:"af.wikiquote.org",akwiki:"ak.wikipedia.org",akwiktionary:"ak.wiktionary.org",akwikibooks:"ak.wikibooks.org",alswiki:"als.wikipedia.org",alswiktionary:"als.wiktionary.org",alswikibooks:"als.wikibooks.org",alswikiquote:"als.wikiquote.org",amwiki:"am.wikipedia.org",amwiktionary:"am.wiktionary.org",amwikiquote:"am.wikiquote.org",anwiki:"an.wikipedia.org",anwiktionary:"an.wiktionary.org",angwiki:"ang.wikipedia.org",angwiktionary:"ang.wiktionary.org",angwikibooks:"ang.wikibooks.org",angwikiquote:"ang.wikiquote.org",angwikisource:"ang.wikisource.org",arwiki:"ar.wikipedia.org",arwiktionary:"ar.wiktionary.org",arwikibooks:"ar.wikibooks.org",arwikinews:"ar.wikinews.org",arwikiquote:"ar.wikiquote.org",arwikisource:"ar.wikisource.org",arwikiversity:"ar.wikiversity.org",arcwiki:"arc.wikipedia.org",arzwiki:"arz.wikipedia.org",aswiki:"as.wikipedia.org",aswiktionary:"as.wiktionary.org",aswikibooks:"as.wikibooks.org",aswikisource:"as.wikisource.org",astwiki:"ast.wikipedia.org",astwiktionary:"ast.wiktionary.org",astwikibooks:"ast.wikibooks.org",astwikiquote:"ast.wikiquote.org",avwiki:"av.wikipedia.org",avwiktionary:"av.wiktionary.org",aywiki:"ay.wikipedia.org",aywiktionary:"ay.wiktionary.org",aywikibooks:"ay.wikibooks.org",azwiki:"az.wikipedia.org",azwiktionary:"az.wiktionary.org",azwikibooks:"az.wikibooks.org",azwikiquote:"az.wikiquote.org",azwikisource:"az.wikisource.org",azbwiki:"azb.wikipedia.org",bawiki:"ba.wikipedia.org",bawikibooks:"ba.wikibooks.org",barwiki:"bar.wikipedia.org",bat_smgwiki:"bat-smg.wikipedia.org",bclwiki:"bcl.wikipedia.org",bewiki:"be.wikipedia.org",bewiktionary:"be.wiktionary.org",bewikibooks:"be.wikibooks.org",bewikiquote:"be.wikiquote.org",bewikisource:"be.wikisource.org",be_x_oldwiki:"be-tarask.wikipedia.org",bgwiki:"bg.wikipedia.org",bgwiktionary:"bg.wiktionary.org",bgwikibooks:"bg.wikibooks.org",bgwikinews:"bg.wikinews.org",bgwikiquote:"bg.wikiquote.org",bgwikisource:"bg.wikisource.org",bhwiki:"bh.wikipedia.org",bhwiktionary:"bh.wiktionary.org",biwiki:"bi.wikipedia.org",biwiktionary:"bi.wiktionary.org",biwikibooks:"bi.wikibooks.org",bjnwiki:"bjn.wikipedia.org",bmwiki:"bm.wikipedia.org",bmwiktionary:"bm.wiktionary.org",bmwikibooks:"bm.wikibooks.org",bmwikiquote:"bm.wikiquote.org",bnwiki:"bn.wikipedia.org",bnwiktionary:"bn.wiktionary.org",bnwikibooks:"bn.wikibooks.org",bnwikisource:"bn.wikisource.org",bowiki:"bo.wikipedia.org",bowiktionary:"bo.wiktionary.org",bowikibooks:"bo.wikibooks.org",bpywiki:"bpy.wikipedia.org",brwiki:"br.wikipedia.org",brwiktionary:"br.wiktionary.org",brwikiquote:"br.wikiquote.org",brwikisource:"br.wikisource.org",bswiki:"bs.wikipedia.org",bswiktionary:"bs.wiktionary.org",bswikibooks:"bs.wikibooks.org",bswikinews:"bs.wikinews.org",bswikiquote:"bs.wikiquote.org",bswikisource:"bs.wikisource.org",bugwiki:"bug.wikipedia.org",bxrwiki:"bxr.wikipedia.org",cawiki:"ca.wikipedia.org",cawiktionary:"ca.wiktionary.org",cawikibooks:"ca.wikibooks.org",cawikinews:"ca.wikinews.org",cawikiquote:"ca.wikiquote.org",cawikisource:"ca.wikisource.org",cbk_zamwiki:"cbk-zam.wikipedia.org",cdowiki:"cdo.wikipedia.org",cewiki:"ce.wikipedia.org",cebwiki:"ceb.wikipedia.org",chwiki:"ch.wikipedia.org",chwiktionary:"ch.wiktionary.org",chwikibooks:"ch.wikibooks.org",chowiki:"cho.wikipedia.org",chrwiki:"chr.wikipedia.org",chrwiktionary:"chr.wiktionary.org",chywiki:"chy.wikipedia.org",ckbwiki:"ckb.wikipedia.org",cowiki:"co.wikipedia.org",cowiktionary:"co.wiktionary.org",cowikibooks:"co.wikibooks.org",cowikiquote:"co.wikiquote.org",crwiki:"cr.wikipedia.org",crwiktionary:"cr.wiktionary.org",crwikiquote:"cr.wikiquote.org",crhwiki:"crh.wikipedia.org",cswiki:"cs.wikipedia.org",cswiktionary:"cs.wiktionary.org",cswikibooks:"cs.wikibooks.org",cswikinews:"cs.wikinews.org",cswikiquote:"cs.wikiquote.org",cswikisource:"cs.wikisource.org",cswikiversity:"cs.wikiversity.org",csbwiki:"csb.wikipedia.org",csbwiktionary:"csb.wiktionary.org",cuwiki:"cu.wikipedia.org",cvwiki:"cv.wikipedia.org",cvwikibooks:"cv.wikibooks.org",cywiki:"cy.wikipedia.org",cywiktionary:"cy.wiktionary.org",cywikibooks:"cy.wikibooks.org",cywikiquote:"cy.wikiquote.org",cywikisource:"cy.wikisource.org",dawiki:"da.wikipedia.org",dawiktionary:"da.wiktionary.org",dawikibooks:"da.wikibooks.org",dawikiquote:"da.wikiquote.org",dawikisource:"da.wikisource.org",dewiki:"de.wikipedia.org",dewiktionary:"de.wiktionary.org",dewikibooks:"de.wikibooks.org",dewikinews:"de.wikinews.org",dewikiquote:"de.wikiquote.org",dewikisource:"de.wikisource.org",dewikiversity:"de.wikiversity.org",dewikivoyage:"de.wikivoyage.org",diqwiki:"diq.wikipedia.org",dsbwiki:"dsb.wikipedia.org",dvwiki:"dv.wikipedia.org",dvwiktionary:"dv.wiktionary.org",dzwiki:"dz.wikipedia.org",dzwiktionary:"dz.wiktionary.org",eewiki:"ee.wikipedia.org",elwiki:"el.wikipedia.org",elwiktionary:"el.wiktionary.org",elwikibooks:"el.wikibooks.org",elwikinews:"el.wikinews.org",elwikiquote:"el.wikiquote.org",elwikisource:"el.wikisource.org",elwikiversity:"el.wikiversity.org",elwikivoyage:"el.wikivoyage.org",emlwiki:"eml.wikipedia.org",enwiki:"en.wikipedia.org",enwiktionary:"en.wiktionary.org",enwikibooks:"en.wikibooks.org",enwikinews:"en.wikinews.org",enwikiquote:"en.wikiquote.org",enwikisource:"en.wikisource.org",enwikiversity:"en.wikiversity.org",enwikivoyage:"en.wikivoyage.org",eowiki:"eo.wikipedia.org",eowiktionary:"eo.wiktionary.org",eowikibooks:"eo.wikibooks.org",eowikinews:"eo.wikinews.org",eowikiquote:"eo.wikiquote.org",eowikisource:"eo.wikisource.org",eswiki:"es.wikipedia.org",eswiktionary:"es.wiktionary.org",eswikibooks:"es.wikibooks.org",eswikinews:"es.wikinews.org",eswikiquote:"es.wikiquote.org",eswikisource:"es.wikisource.org",eswikiversity:"es.wikiversity.org",eswikivoyage:"es.wikivoyage.org",etwiki:"et.wikipedia.org",etwiktionary:"et.wiktionary.org",etwikibooks:"et.wikibooks.org",etwikiquote:"et.wikiquote.org",etwikisource:"et.wikisource.org",euwiki:"eu.wikipedia.org",euwiktionary:"eu.wiktionary.org",euwikibooks:"eu.wikibooks.org",euwikiquote:"eu.wikiquote.org",extwiki:"ext.wikipedia.org",fawiki:"fa.wikipedia.org",fawiktionary:"fa.wiktionary.org",fawikibooks:"fa.wikibooks.org",fawikinews:"fa.wikinews.org",fawikiquote:"fa.wikiquote.org",fawikisource:"fa.wikisource.org",fawikivoyage:"fa.wikivoyage.org",ffwiki:"ff.wikipedia.org",fiwiki:"fi.wikipedia.org",fiwiktionary:"fi.wiktionary.org",fiwikibooks:"fi.wikibooks.org",fiwikinews:"fi.wikinews.org",fiwikiquote:"fi.wikiquote.org",fiwikisource:"fi.wikisource.org",fiwikiversity:"fi.wikiversity.org",fiu_vrowiki:"fiu-vro.wikipedia.org",fjwiki:"fj.wikipedia.org",fjwiktionary:"fj.wiktionary.org",fowiki:"fo.wikipedia.org",fowiktionary:"fo.wiktionary.org",fowikisource:"fo.wikisource.org",frwiki:"fr.wikipedia.org",frwiktionary:"fr.wiktionary.org",frwikibooks:"fr.wikibooks.org",frwikinews:"fr.wikinews.org",frwikiquote:"fr.wikiquote.org",frwikisource:"fr.wikisource.org",frwikiversity:"fr.wikiversity.org",frwikivoyage:"fr.wikivoyage.org",frpwiki:"frp.wikipedia.org",frrwiki:"frr.wikipedia.org",furwiki:"fur.wikipedia.org",fywiki:"fy.wikipedia.org",fywiktionary:"fy.wiktionary.org",fywikibooks:"fy.wikibooks.org",gawiki:"ga.wikipedia.org",gawiktionary:"ga.wiktionary.org",gawikibooks:"ga.wikibooks.org",gawikiquote:"ga.wikiquote.org",gagwiki:"gag.wikipedia.org",ganwiki:"gan.wikipedia.org",gdwiki:"gd.wikipedia.org",gdwiktionary:"gd.wiktionary.org",glwiki:"gl.wikipedia.org",glwiktionary:"gl.wiktionary.org",glwikibooks:"gl.wikibooks.org",glwikiquote:"gl.wikiquote.org",glwikisource:"gl.wikisource.org",glkwiki:"glk.wikipedia.org",gnwiki:"gn.wikipedia.org",gnwiktionary:"gn.wiktionary.org",gnwikibooks:"gn.wikibooks.org",gomwiki:"gom.wikipedia.org",gotwiki:"got.wikipedia.org",gotwikibooks:"got.wikibooks.org",guwiki:"gu.wikipedia.org",guwiktionary:"gu.wiktionary.org",guwikibooks:"gu.wikibooks.org",guwikiquote:"gu.wikiquote.org",guwikisource:"gu.wikisource.org",gvwiki:"gv.wikipedia.org",gvwiktionary:"gv.wiktionary.org",hawiki:"ha.wikipedia.org",hawiktionary:"ha.wiktionary.org",hakwiki:"hak.wikipedia.org",hawwiki:"haw.wikipedia.org",hewiki:"he.wikipedia.org",hewiktionary:"he.wiktionary.org",hewikibooks:"he.wikibooks.org",hewikinews:"he.wikinews.org",hewikiquote:"he.wikiquote.org",hewikisource:"he.wikisource.org",hewikivoyage:"he.wikivoyage.org",hiwiki:"hi.wikipedia.org",hiwiktionary:"hi.wiktionary.org",hiwikibooks:"hi.wikibooks.org",hiwikiquote:"hi.wikiquote.org",hifwiki:"hif.wikipedia.org",howiki:"ho.wikipedia.org",hrwiki:"hr.wikipedia.org",hrwiktionary:"hr.wiktionary.org",hrwikibooks:"hr.wikibooks.org",hrwikiquote:"hr.wikiquote.org",hrwikisource:"hr.wikisource.org",hsbwiki:"hsb.wikipedia.org",hsbwiktionary:"hsb.wiktionary.org",htwiki:"ht.wikipedia.org",htwikisource:"ht.wikisource.org",huwiki:"hu.wikipedia.org",huwiktionary:"hu.wiktionary.org",huwikibooks:"hu.wikibooks.org",huwikinews:"hu.wikinews.org",huwikiquote:"hu.wikiquote.org",huwikisource:"hu.wikisource.org",hywiki:"hy.wikipedia.org",hywiktionary:"hy.wiktionary.org",hywikibooks:"hy.wikibooks.org",hywikiquote:"hy.wikiquote.org",hywikisource:"hy.wikisource.org",hzwiki:"hz.wikipedia.org",iawiki:"ia.wikipedia.org",iawiktionary:"ia.wiktionary.org",iawikibooks:"ia.wikibooks.org",idwiki:"id.wikipedia.org",idwiktionary:"id.wiktionary.org",idwikibooks:"id.wikibooks.org",idwikiquote:"id.wikiquote.org",idwikisource:"id.wikisource.org",iewiki:"ie.wikipedia.org",iewiktionary:"ie.wiktionary.org",iewikibooks:"ie.wikibooks.org",igwiki:"ig.wikipedia.org",iiwiki:"ii.wikipedia.org",ikwiki:"ik.wikipedia.org",ikwiktionary:"ik.wiktionary.org",ilowiki:"ilo.wikipedia.org",iowiki:"io.wikipedia.org",iowiktionary:"io.wiktionary.org",iswiki:"is.wikipedia.org",iswiktionary:"is.wiktionary.org",iswikibooks:"is.wikibooks.org",iswikiquote:"is.wikiquote.org",iswikisource:"is.wikisource.org",itwiki:"it.wikipedia.org",itwiktionary:"it.wiktionary.org",itwikibooks:"it.wikibooks.org",itwikinews:"it.wikinews.org",itwikiquote:"it.wikiquote.org",itwikisource:"it.wikisource.org",itwikiversity:"it.wikiversity.org",itwikivoyage:"it.wikivoyage.org",iuwiki:"iu.wikipedia.org",iuwiktionary:"iu.wiktionary.org",jawiki:"ja.wikipedia.org",jawiktionary:"ja.wiktionary.org",jawikibooks:"ja.wikibooks.org",jawikinews:"ja.wikinews.org",jawikiquote:"ja.wikiquote.org",jawikisource:"ja.wikisource.org",jawikiversity:"ja.wikiversity.org",jbowiki:"jbo.wikipedia.org",jbowiktionary:"jbo.wiktionary.org",jvwiki:"jv.wikipedia.org",jvwiktionary:"jv.wiktionary.org",kawiki:"ka.wikipedia.org",kawiktionary:"ka.wiktionary.org",kawikibooks:"ka.wikibooks.org",kawikiquote:"ka.wikiquote.org",kaawiki:"kaa.wikipedia.org",kabwiki:"kab.wikipedia.org",kbdwiki:"kbd.wikipedia.org",kgwiki:"kg.wikipedia.org",kiwiki:"ki.wikipedia.org",kjwiki:"kj.wikipedia.org",kkwiki:"kk.wikipedia.org",kkwiktionary:"kk.wiktionary.org",kkwikibooks:"kk.wikibooks.org",kkwikiquote:"kk.wikiquote.org",klwiki:"kl.wikipedia.org",klwiktionary:"kl.wiktionary.org",kmwiki:"km.wikipedia.org",kmwiktionary:"km.wiktionary.org",kmwikibooks:"km.wikibooks.org",knwiki:"kn.wikipedia.org",knwiktionary:"kn.wiktionary.org",knwikibooks:"kn.wikibooks.org",knwikiquote:"kn.wikiquote.org",knwikisource:"kn.wikisource.org",kowiki:"ko.wikipedia.org",kowiktionary:"ko.wiktionary.org",kowikibooks:"ko.wikibooks.org",kowikinews:"ko.wikinews.org",kowikiquote:"ko.wikiquote.org",kowikisource:"ko.wikisource.org",kowikiversity:"ko.wikiversity.org",koiwiki:"koi.wikipedia.org",krwiki:"kr.wikipedia.org",krwikiquote:"kr.wikiquote.org",krcwiki:"krc.wikipedia.org",kswiki:"ks.wikipedia.org",kswiktionary:"ks.wiktionary.org",kswikibooks:"ks.wikibooks.org",kswikiquote:"ks.wikiquote.org",kshwiki:"ksh.wikipedia.org",kuwiki:"ku.wikipedia.org",kuwiktionary:"ku.wiktionary.org",kuwikibooks:"ku.wikibooks.org",kuwikiquote:"ku.wikiquote.org",kvwiki:"kv.wikipedia.org",kwwiki:"kw.wikipedia.org",kwwiktionary:"kw.wiktionary.org",kwwikiquote:"kw.wikiquote.org",kywiki:"ky.wikipedia.org",kywiktionary:"ky.wiktionary.org",kywikibooks:"ky.wikibooks.org",kywikiquote:"ky.wikiquote.org",lawiki:"la.wikipedia.org",lawiktionary:"la.wiktionary.org",lawikibooks:"la.wikibooks.org",lawikiquote:"la.wikiquote.org",lawikisource:"la.wikisource.org",ladwiki:"lad.wikipedia.org",lbwiki:"lb.wikipedia.org",lbwiktionary:"lb.wiktionary.org",lbwikibooks:"lb.wikibooks.org",lbwikiquote:"lb.wikiquote.org",lbewiki:"lbe.wikipedia.org",lezwiki:"lez.wikipedia.org",lgwiki:"lg.wikipedia.org",liwiki:"li.wikipedia.org",liwiktionary:"li.wiktionary.org",liwikibooks:"li.wikibooks.org",liwikiquote:"li.wikiquote.org",liwikisource:"li.wikisource.org",lijwiki:"lij.wikipedia.org",lmowiki:"lmo.wikipedia.org",lnwiki:"ln.wikipedia.org",lnwiktionary:"ln.wiktionary.org",lnwikibooks:"ln.wikibooks.org",lowiki:"lo.wikipedia.org",lowiktionary:"lo.wiktionary.org",lrcwiki:"lrc.wikipedia.org",ltwiki:"lt.wikipedia.org",ltwiktionary:"lt.wiktionary.org",ltwikibooks:"lt.wikibooks.org",ltwikiquote:"lt.wikiquote.org",ltwikisource:"lt.wikisource.org",ltgwiki:"ltg.wikipedia.org",lvwiki:"lv.wikipedia.org",lvwiktionary:"lv.wiktionary.org",lvwikibooks:"lv.wikibooks.org",maiwiki:"mai.wikipedia.org",map_bmswiki:"map-bms.wikipedia.org",mdfwiki:"mdf.wikipedia.org",mgwiki:"mg.wikipedia.org",mgwiktionary:"mg.wiktionary.org",mgwikibooks:"mg.wikibooks.org",mhwiki:"mh.wikipedia.org",mhwiktionary:"mh.wiktionary.org",mhrwiki:"mhr.wikipedia.org",miwiki:"mi.wikipedia.org",miwiktionary:"mi.wiktionary.org",miwikibooks:"mi.wikibooks.org",minwiki:"min.wikipedia.org",mkwiki:"mk.wikipedia.org",mkwiktionary:"mk.wiktionary.org",mkwikibooks:"mk.wikibooks.org",mkwikisource:"mk.wikisource.org",mlwiki:"ml.wikipedia.org",mlwiktionary:"ml.wiktionary.org",mlwikibooks:"ml.wikibooks.org",mlwikiquote:"ml.wikiquote.org",mlwikisource:"ml.wikisource.org",mnwiki:"mn.wikipedia.org",mnwiktionary:"mn.wiktionary.org",mnwikibooks:"mn.wikibooks.org",mowiki:"mo.wikipedia.org",mowiktionary:"mo.wiktionary.org",mrwiki:"mr.wikipedia.org",mrwiktionary:"mr.wiktionary.org",mrwikibooks:"mr.wikibooks.org",mrwikiquote:"mr.wikiquote.org",mrwikisource:"mr.wikisource.org",mrjwiki:"mrj.wikipedia.org",mswiki:"ms.wikipedia.org",mswiktionary:"ms.wiktionary.org",mswikibooks:"ms.wikibooks.org",mtwiki:"mt.wikipedia.org",mtwiktionary:"mt.wiktionary.org",muswiki:"mus.wikipedia.org",mwlwiki:"mwl.wikipedia.org",mywiki:"my.wikipedia.org",mywiktionary:"my.wiktionary.org",mywikibooks:"my.wikibooks.org",myvwiki:"myv.wikipedia.org",mznwiki:"mzn.wikipedia.org",nawiki:"na.wikipedia.org",nawiktionary:"na.wiktionary.org",nawikibooks:"na.wikibooks.org",nawikiquote:"na.wikiquote.org",nahwiki:"nah.wikipedia.org",nahwiktionary:"nah.wiktionary.org",nahwikibooks:"nah.wikibooks.org",napwiki:"nap.wikipedia.org",ndswiki:"nds.wikipedia.org",ndswiktionary:"nds.wiktionary.org",ndswikibooks:"nds.wikibooks.org",ndswikiquote:"nds.wikiquote.org",nds_nlwiki:"nds-nl.wikipedia.org",newiki:"ne.wikipedia.org",newiktionary:"ne.wiktionary.org",newikibooks:"ne.wikibooks.org",newwiki:"new.wikipedia.org",ngwiki:"ng.wikipedia.org",nlwiki:"nl.wikipedia.org",nlwiktionary:"nl.wiktionary.org",nlwikibooks:"nl.wikibooks.org",nlwikinews:"nl.wikinews.org",nlwikiquote:"nl.wikiquote.org",nlwikisource:"nl.wikisource.org",nlwikivoyage:"nl.wikivoyage.org",nnwiki:"nn.wikipedia.org",nnwiktionary:"nn.wiktionary.org",nnwikiquote:"nn.wikiquote.org",nowiki:"no.wikipedia.org",nowiktionary:"no.wiktionary.org",nowikibooks:"no.wikibooks.org",nowikinews:"no.wikinews.org",nowikiquote:"no.wikiquote.org",nowikisource:"no.wikisource.org",novwiki:"nov.wikipedia.org",nrmwiki:"nrm.wikipedia.org",nsowiki:"nso.wikipedia.org",nvwiki:"nv.wikipedia.org",nywiki:"ny.wikipedia.org",ocwiki:"oc.wikipedia.org",ocwiktionary:"oc.wiktionary.org",ocwikibooks:"oc.wikibooks.org",omwiki:"om.wikipedia.org",omwiktionary:"om.wiktionary.org",orwiki:"or.wikipedia.org",orwiktionary:"or.wiktionary.org",orwikisource:"or.wikisource.org",oswiki:"os.wikipedia.org",pawiki:"pa.wikipedia.org",pawiktionary:"pa.wiktionary.org",pawikibooks:"pa.wikibooks.org",pagwiki:"pag.wikipedia.org",pamwiki:"pam.wikipedia.org",papwiki:"pap.wikipedia.org",pcdwiki:"pcd.wikipedia.org",pdcwiki:"pdc.wikipedia.org",pflwiki:"pfl.wikipedia.org",piwiki:"pi.wikipedia.org",piwiktionary:"pi.wiktionary.org",pihwiki:"pih.wikipedia.org",plwiki:"pl.wikipedia.org",plwiktionary:"pl.wiktionary.org",plwikibooks:"pl.wikibooks.org",plwikinews:"pl.wikinews.org",plwikiquote:"pl.wikiquote.org",plwikisource:"pl.wikisource.org",plwikivoyage:"pl.wikivoyage.org",pmswiki:"pms.wikipedia.org",pnbwiki:"pnb.wikipedia.org",pnbwiktionary:"pnb.wiktionary.org",pntwiki:"pnt.wikipedia.org",pswiki:"ps.wikipedia.org",pswiktionary:"ps.wiktionary.org",pswikibooks:"ps.wikibooks.org",ptwiki:"pt.wikipedia.org",ptwiktionary:"pt.wiktionary.org",ptwikibooks:"pt.wikibooks.org",ptwikinews:"pt.wikinews.org",ptwikiquote:"pt.wikiquote.org",ptwikisource:"pt.wikisource.org",ptwikiversity:"pt.wikiversity.org",ptwikivoyage:"pt.wikivoyage.org",quwiki:"qu.wikipedia.org",quwiktionary:"qu.wiktionary.org",quwikibooks:"qu.wikibooks.org",quwikiquote:"qu.wikiquote.org",rmwiki:"rm.wikipedia.org",rmwiktionary:"rm.wiktionary.org",rmwikibooks:"rm.wikibooks.org",rmywiki:"rmy.wikipedia.org",rnwiki:"rn.wikipedia.org",rnwiktionary:"rn.wiktionary.org",rowiki:"ro.wikipedia.org",rowiktionary:"ro.wiktionary.org",rowikibooks:"ro.wikibooks.org",rowikinews:"ro.wikinews.org",rowikiquote:"ro.wikiquote.org",rowikisource:"ro.wikisource.org",rowikivoyage:"ro.wikivoyage.org",roa_rupwiki:"roa-rup.wikipedia.org",roa_rupwiktionary:"roa-rup.wiktionary.org",roa_tarawiki:"roa-tara.wikipedia.org",ruwiki:"ru.wikipedia.org",ruwiktionary:"ru.wiktionary.org",ruwikibooks:"ru.wikibooks.org",ruwikinews:"ru.wikinews.org",ruwikiquote:"ru.wikiquote.org",ruwikisource:"ru.wikisource.org",ruwikiversity:"ru.wikiversity.org",ruwikivoyage:"ru.wikivoyage.org",ruewiki:"rue.wikipedia.org",rwwiki:"rw.wikipedia.org",rwwiktionary:"rw.wiktionary.org",sawiki:"sa.wikipedia.org",sawiktionary:"sa.wiktionary.org",sawikibooks:"sa.wikibooks.org",sawikiquote:"sa.wikiquote.org",sawikisource:"sa.wikisource.org",sahwiki:"sah.wikipedia.org",sahwikisource:"sah.wikisource.org",scwiki:"sc.wikipedia.org",scwiktionary:"sc.wiktionary.org",scnwiki:"scn.wikipedia.org",scnwiktionary:"scn.wiktionary.org",scowiki:"sco.wikipedia.org",sdwiki:"sd.wikipedia.org",sdwiktionary:"sd.wiktionary.org",sdwikinews:"sd.wikinews.org",sewiki:"se.wikipedia.org",sewikibooks:"se.wikibooks.org",sgwiki:"sg.wikipedia.org",sgwiktionary:"sg.wiktionary.org",shwiki:"sh.wikipedia.org",shwiktionary:"sh.wiktionary.org",siwiki:"si.wikipedia.org",siwiktionary:"si.wiktionary.org",siwikibooks:"si.wikibooks.org",simplewiki:"simple.wikipedia.org",simplewiktionary:"simple.wiktionary.org",simplewikibooks:"simple.wikibooks.org",simplewikiquote:"simple.wikiquote.org",skwiki:"sk.wikipedia.org",skwiktionary:"sk.wiktionary.org",skwikibooks:"sk.wikibooks.org",skwikiquote:"sk.wikiquote.org",skwikisource:"sk.wikisource.org",slwiki:"sl.wikipedia.org",slwiktionary:"sl.wiktionary.org",slwikibooks:"sl.wikibooks.org",slwikiquote:"sl.wikiquote.org",slwikisource:"sl.wikisource.org",slwikiversity:"sl.wikiversity.org",smwiki:"sm.wikipedia.org",smwiktionary:"sm.wiktionary.org",snwiki:"sn.wikipedia.org",snwiktionary:"sn.wiktionary.org",sowiki:"so.wikipedia.org",sowiktionary:"so.wiktionary.org",sqwiki:"sq.wikipedia.org",sqwiktionary:"sq.wiktionary.org",sqwikibooks:"sq.wikibooks.org",sqwikinews:"sq.wikinews.org",sqwikiquote:"sq.wikiquote.org",srwiki:"sr.wikipedia.org",srwiktionary:"sr.wiktionary.org",srwikibooks:"sr.wikibooks.org",srwikinews:"sr.wikinews.org",srwikiquote:"sr.wikiquote.org",srwikisource:"sr.wikisource.org",srnwiki:"srn.wikipedia.org",sswiki:"ss.wikipedia.org",sswiktionary:"ss.wiktionary.org",stwiki:"st.wikipedia.org",stwiktionary:"st.wiktionary.org",stqwiki:"stq.wikipedia.org",suwiki:"su.wikipedia.org",suwiktionary:"su.wiktionary.org",suwikibooks:"su.wikibooks.org",suwikiquote:"su.wikiquote.org",svwiki:"sv.wikipedia.org",svwiktionary:"sv.wiktionary.org",svwikibooks:"sv.wikibooks.org",svwikinews:"sv.wikinews.org",svwikiquote:"sv.wikiquote.org",svwikisource:"sv.wikisource.org",svwikiversity:"sv.wikiversity.org",svwikivoyage:"sv.wikivoyage.org",swwiki:"sw.wikipedia.org",swwiktionary:"sw.wiktionary.org",swwikibooks:"sw.wikibooks.org",szlwiki:"szl.wikipedia.org",tawiki:"ta.wikipedia.org",tawiktionary:"ta.wiktionary.org",tawikibooks:"ta.wikibooks.org",tawikinews:"ta.wikinews.org",tawikiquote:"ta.wikiquote.org",tawikisource:"ta.wikisource.org",tewiki:"te.wikipedia.org",tewiktionary:"te.wiktionary.org",tewikibooks:"te.wikibooks.org",tewikiquote:"te.wikiquote.org",tewikisource:"te.wikisource.org",tetwiki:"tet.wikipedia.org",tgwiki:"tg.wikipedia.org",tgwiktionary:"tg.wiktionary.org",tgwikibooks:"tg.wikibooks.org",thwiki:"th.wikipedia.org",thwiktionary:"th.wiktionary.org",thwikibooks:"th.wikibooks.org",thwikinews:"th.wikinews.org",thwikiquote:"th.wikiquote.org",thwikisource:"th.wikisource.org",tiwiki:"ti.wikipedia.org",tiwiktionary:"ti.wiktionary.org",tkwiki:"tk.wikipedia.org",tkwiktionary:"tk.wiktionary.org",tkwikibooks:"tk.wikibooks.org",tkwikiquote:"tk.wikiquote.org",tlwiki:"tl.wikipedia.org",tlwiktionary:"tl.wiktionary.org",tlwikibooks:"tl.wikibooks.org",tnwiki:"tn.wikipedia.org",tnwiktionary:"tn.wiktionary.org",towiki:"to.wikipedia.org",towiktionary:"to.wiktionary.org",tpiwiki:"tpi.wikipedia.org",tpiwiktionary:"tpi.wiktionary.org",trwiki:"tr.wikipedia.org",trwiktionary:"tr.wiktionary.org",trwikibooks:"tr.wikibooks.org",trwikinews:"tr.wikinews.org",trwikiquote:"tr.wikiquote.org",trwikisource:"tr.wikisource.org",tswiki:"ts.wikipedia.org",tswiktionary:"ts.wiktionary.org",ttwiki:"tt.wikipedia.org",ttwiktionary:"tt.wiktionary.org",ttwikibooks:"tt.wikibooks.org",ttwikiquote:"tt.wikiquote.org",tumwiki:"tum.wikipedia.org",twwiki:"tw.wikipedia.org",twwiktionary:"tw.wiktionary.org",tywiki:"ty.wikipedia.org",tyvwiki:"tyv.wikipedia.org",udmwiki:"udm.wikipedia.org",ugwiki:"ug.wikipedia.org",ugwiktionary:"ug.wiktionary.org",ugwikibooks:"ug.wikibooks.org",ugwikiquote:"ug.wikiquote.org",ukwiki:"uk.wikipedia.org",ukwiktionary:"uk.wiktionary.org",ukwikibooks:"uk.wikibooks.org",ukwikinews:"uk.wikinews.org",ukwikiquote:"uk.wikiquote.org",ukwikisource:"uk.wikisource.org",ukwikivoyage:"uk.wikivoyage.org",urwiki:"ur.wikipedia.org",urwiktionary:"ur.wiktionary.org",urwikibooks:"ur.wikibooks.org",urwikiquote:"ur.wikiquote.org",uzwiki:"uz.wikipedia.org",uzwiktionary:"uz.wiktionary.org",uzwikibooks:"uz.wikibooks.org",uzwikiquote:"uz.wikiquote.org",vewiki:"ve.wikipedia.org",vecwiki:"vec.wikipedia.org",vecwiktionary:"vec.wiktionary.org",vecwikisource:"vec.wikisource.org",vepwiki:"vep.wikipedia.org",viwiki:"vi.wikipedia.org",viwiktionary:"vi.wiktionary.org",viwikibooks:"vi.wikibooks.org",viwikiquote:"vi.wikiquote.org",viwikisource:"vi.wikisource.org",viwikivoyage:"vi.wikivoyage.org",vlswiki:"vls.wikipedia.org",vowiki:"vo.wikipedia.org",vowiktionary:"vo.wiktionary.org",vowikibooks:"vo.wikibooks.org",vowikiquote:"vo.wikiquote.org",wawiki:"wa.wikipedia.org",wawiktionary:"wa.wiktionary.org",wawikibooks:"wa.wikibooks.org",warwiki:"war.wikipedia.org",wowiki:"wo.wikipedia.org",wowiktionary:"wo.wiktionary.org",wowikiquote:"wo.wikiquote.org",wuuwiki:"wuu.wikipedia.org",xalwiki:"xal.wikipedia.org",xhwiki:"xh.wikipedia.org",xhwiktionary:"xh.wiktionary.org",xhwikibooks:"xh.wikibooks.org",xmfwiki:"xmf.wikipedia.org",yiwiki:"yi.wikipedia.org",yiwiktionary:"yi.wiktionary.org",yiwikisource:"yi.wikisource.org",yowiki:"yo.wikipedia.org",yowiktionary:"yo.wiktionary.org",yowikibooks:"yo.wikibooks.org",zawiki:"za.wikipedia.org",zawiktionary:"za.wiktionary.org",zawikibooks:"za.wikibooks.org",zawikiquote:"za.wikiquote.org",zeawiki:"zea.wikipedia.org",zhwiki:"zh.wikipedia.org",zhwiktionary:"zh.wiktionary.org",zhwikibooks:"zh.wikibooks.org",zhwikinews:"zh.wikinews.org",zhwikiquote:"zh.wikiquote.org",zhwikisource:"zh.wikisource.org",zhwikivoyage:"zh.wikivoyage.org",zh_classicalwiki:"zh-classical.wikipedia.org",zh_min_nanwiki:"zh-min-nan.wikipedia.org",zh_min_nanwiktionary:"zh-min-nan.wiktionary.org",zh_min_nanwikibooks:"zh-min-nan.wikibooks.org",zh_min_nanwikiquote:"zh-min-nan.wikiquote.org",zh_min_nanwikisource:"zh-min-nan.wikisource.org",zh_yuewiki:"zh-yue.wikipedia.org",zuwiki:"zu.wikipedia.org",zuwiktionary:"zu.wiktionary.org",zuwikibooks:"zu.wikibooks.org",advisorywiki:"advisory.wikimedia.org",arwikimedia:"ar.wikimedia.org",arbcom_dewiki:"arbcom-de.wikipedia.org",arbcom_enwiki:"arbcom-en.wikipedia.org",arbcom_fiwiki:"arbcom-fi.wikipedia.org",arbcom_nlwiki:"arbcom-nl.wikipedia.org",auditcomwiki:"auditcom.wikimedia.org",bdwikimedia:"bd.wikimedia.org",bewikimedia:"be.wikimedia.org",betawikiversity:"beta.wikiversity.org",boardwiki:"board.wikimedia.org",boardgovcomwiki:"boardgovcom.wikimedia.org",brwikimedia:"br.wikimedia.org",cawikimedia:"ca.wikimedia.org",chairwiki:"chair.wikimedia.org",chapcomwiki:"affcom.wikimedia.org",checkuserwiki:"checkuser.wikimedia.org",cnwikimedia:"cn.wikimedia.org",cowikimedia:"co.wikimedia.org",collabwiki:"collab.wikimedia.org",commonswiki:"commons.wikimedia.org",dkwikimedia:"dk.wikimedia.org",donatewiki:"donate.wikimedia.org",etwikimedia:"ee.wikimedia.org",execwiki:"exec.wikimedia.org",fdcwiki:"fdc.wikimedia.org",fiwikimedia:"fi.wikimedia.org",foundationwiki:"wikimediafoundation.org",grantswiki:"grants.wikimedia.org",iegcomwiki:"iegcom.wikimedia.org",ilwikimedia:"il.wikimedia.org",incubatorwiki:"incubator.wikimedia.org",internalwiki:"internal.wikimedia.org",labswiki:"wikitech.wikimedia.org",labtestwiki:"labtestwikitech.wikimedia.org",legalteamwiki:"legalteam.wikimedia.org",loginwiki:"login.wikimedia.org",mediawikiwiki:"mediawiki.org",metawiki:"meta.wikimedia.org",mkwikimedia:"mk.wikimedia.org",movementroleswiki:"movementroles.wikimedia.org",mxwikimedia:"mx.wikimedia.org",nlwikimedia:"nl.wikimedia.org",nowikimedia:"no.wikimedia.org",noboard_chapterswikimedia:"noboard-chapters.wikimedia.org",nostalgiawiki:"nostalgia.wikipedia.org",nycwikimedia:"nyc.wikimedia.org",nzwikimedia:"nz.wikimedia.org",officewiki:"office.wikimedia.org",ombudsmenwiki:"ombudsmen.wikimedia.org",otrs_wikiwiki:"otrs-wiki.wikimedia.org",outreachwiki:"outreach.wikimedia.org",pa_uswikimedia:"pa-us.wikimedia.org",plwikimedia:"pl.wikimedia.org",qualitywiki:"quality.wikimedia.org",rswikimedia:"rs.wikimedia.org",ruwikimedia:"ru.wikimedia.org",sewikimedia:"se.wikimedia.org",searchcomwiki:"searchcom.wikimedia.org",sourceswiki:"wikisource.org",spcomwiki:"spcom.wikimedia.org",specieswiki:"species.wikimedia.org",stewardwiki:"steward.wikimedia.org",strategywiki:"strategy.wikimedia.org",tenwiki:"ten.wikipedia.org",testwiki:"test.wikipedia.org",test2wiki:"test2.wikipedia.org",testwikidatawiki:"test.wikidata.org",trwikimedia:"tr.wikimedia.org",transitionteamwiki:"transitionteam.wikimedia.org",uawikimedia:"ua.wikimedia.org",ukwikimedia:"uk.wikimedia.org",usabilitywiki:"usability.wikimedia.org",votewiki:"vote.wikimedia.org",wg_enwiki:"wg-en.wikipedia.org",wikidatawiki:"wikidata.org",wikimania2005wiki:"wikimania2005.wikimedia.org",wikimania2006wiki:"wikimania2006.wikimedia.org",wikimania2007wiki:"wikimania2007.wikimedia.org",wikimania2008wiki:"wikimania2008.wikimedia.org",wikimania2009wiki:"wikimania2009.wikimedia.org",wikimania2010wiki:"wikimania2010.wikimedia.org",wikimania2011wiki:"wikimania2011.wikimedia.org",wikimania2012wiki:"wikimania2012.wikimedia.org",wikimania2013wiki:"wikimania2013.wikimedia.org",wikimania2014wiki:"wikimania2014.wikimedia.org",wikimania2015wiki:"wikimania2015.wikimedia.org",wikimania2016wiki:"wikimania2016.wikimedia.org",wikimania2017wiki:"wikimania2017.wikimedia.org",wikimaniateamwiki:"wikimaniateam.wikimedia.org",zerowiki:"zero.wikimedia.org"};b.exports=d},{}]},{},[3,4,5,6,7,8,9,2]); \ No newline at end of file +source:"category",sourceProject:"",direction:1,outputData:[],total:0,view:"list",subjectpage:0},linearLegend:function(a,b){return""+$.i18n("totals")+": "+b.formatNumber(b.outputData.sum)+"\n ("+b.formatNumber(Math.round(b.outputData.average))+"/"+$.i18n("day")+")"},logarithmicCheckbox:".logarithmic-scale-option",pageLimit:500,sources:{category:{placeholder:"https://en.wikipedia.org/wiki/Category:Folk_musicians_from_New_York",type:"text"},wikilinks:{placeholder:"https://en.wikipedia.org/wiki/Book:New_York_City",type:"text"},pagepile:{placeholder:"12345",type:"number"},subpages:{placeholder:"https://en.wikipedia.org/wiki/User:Example",type:"text"},transclusions:{placeholder:"https://en.wikipedia.org/wiki/Template:Infobox_Olympic_games",type:"text"},quarry:{placeholder:"12345",type:"number"}},platformSelector:"#platform_select",sourceButton:"#source_button",sourceInput:"#source_input",formStates:["initial","processing","complete","invalid"],timestampFormat:"YYYYMMDD00",validateParams:["source","subjectpage","platform","agent","direction","sort","view"],validParams:{direction:["-1","1"],sort:["title","views","original"],source:["pagepile","category","subpages","transclusions","quarry"],view:["list","chart"],subjectpage:["0","1"]}};b.exports=d},{}],2:[function(a,b,c){"use strict";function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function f(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var g=function(){function a(a,b){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!b||c.length!==b);d=!0);}catch(i){e=!0,f=i}finally{try{!d&&h["return"]&&h["return"]()}finally{if(e)throw f}}return c}return function(b,c){if(Array.isArray(b))return b;if(Symbol.iterator in Object(b))return a(b,c);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),h=function(){function a(a,b){for(var c=0;c"),$(this.config.sourceInput).prop("type",this.config.sources[b].type).prop("placeholder",this.config.sources[b].placeholder).val(""),"category"===b?$(".category-subject-toggle").show():$(".category-subject-toggle").hide(),"quarry"===b?($(".massviews-source-input").addClass("quarry"),$(".quarry-project").prop("disabled",!1)):($(".massviews-source-input").removeClass("quarry"),$(".quarry-project").prop("disabled",!0)),$(this.config.sourceInput).focus()}},{key:"getParams",value:function(){var a=arguments.length<=0||void 0===arguments[0]?!1:arguments[0],b={platform:$(this.config.platformSelector).val(),agent:$(this.config.agentSelector).val(),source:$(this.config.sourceButton).data("value"),target:$(this.config.sourceInput).val().score()};return this.specialRange&&!a?b.range=this.specialRange.range:(b.start=this.daterangepicker.startDate.format("YYYY-MM-DD"),b.end=this.daterangepicker.endDate.format("YYYY-MM-DD")),"category"===b.source?b.subjectpage=$(".category-subject-toggle--input").is(":checked")?"1":"0":"quarry"===b.source&&(b.project=$(".quarry-project").val()),a||(b.sort=this.sort,b.direction=this.direction,b.view=this.view,this.noLogScale&&(b.autolog="false")),b}},{key:"pushParams",value:function(){var a=arguments.length<=0||void 0===arguments[0]?!1:arguments[0];if(window.history&&window.history.replaceState){if(a)return history.replaceState(null,document.title,location.href.split("?")[0]);window.history.replaceState({},document.title,"?"+$.param(this.getParams())),$(".permalink").prop("href","/massviews?"+$.param(this.getPermaLink()))}}},{key:"renderData",value:function(){var a=this;i(Object.getPrototypeOf(b.prototype),"renderData",this).call(this,function(b){$(".output-totals").html(""+$.i18n("totals")+"\n "+$.i18n("num-pages",b.length)+"\n "+a.formatNumber(a.outputData.sum)+"\n "+a.formatNumber(Math.round(a.outputData.average))+" / "+$.i18n("day")+""),$("#output_list").html(""),b.forEach(function(b,c){$("#output_list").append("\n "+(c+1)+'\n '+b.label.descore()+'\n "+a.formatNumber(b.sum)+"\n "+a.formatNumber(Math.round(b.average))+" / "+$.i18n("day")+"\n ")})})}},{key:"getSortProperty",value:function(a,b){switch(b){case"original":return a.index;case"title":return a.label;case"views":return Number(a.sum)}}},{key:"getPageViewsData",value:function(a,b){var c=this,d=this.daterangepicker.startDate.startOf("day"),e=this.daterangepicker.endDate.startOf("day"),f=$.Deferred(),g=[],h=0,i=void 0,j={},k=b.length,l=[],m=[],n=function p(b){var n=encodeURIComponent(b),o="https://wikimedia.org/api/rest_v1/metrics/pageviews/per-article/"+a+("/"+$(c.config.platformSelector).val()+"/"+$(c.config.agentSelector).val()+"/"+n+"/daily")+("/"+d.format(c.config.timestampFormat)+"/"+e.format(c.config.timestampFormat)),q=$.ajax({url:o,dataType:"json"});g.push(q),q.done(function(a){m.push({title:b,items:a.items})}).fail(function(d){var e="Error in Cassandra table storage backend"===d.responseJSON.title;return e&&(j[a]?j[a]++:j[a]=1,j[a]<3)?(k++,c.rateLimit(p,100,c)(b)):(e?l.push(b):c.writeMessage(c.getPageLink(b,a)+": "+$.i18n("api-error","Pageviews API")+" - "+d.responseJSON.title),void(i=!0))}).always(function(){c.updateProgressBar(++h/k*100),h===k&&(f.resolve(m),l.length&&c.writeMessage($.i18n("api-error-timeout","
    "+l.map(function(b){return"
  • "+c.getPageLink(b,a)+"
  • "}).join("")+"
")),i||simpleStorage.set(c.getCacheKey(),!0,{TTL:6e5}))})},o=this.isRequestCached()?n:this.rateLimit(n,100,this);return b.forEach(function(a,b){o(a)}),f}},{key:"buildMotherDataset",value:function(a,b,c){var d=this;this.outputData={labels:this.getDateHeadings(!0),link:b,listData:[]};var e=moment(this.daterangepicker.startDate),f=moment(this.daterangepicker.endDate),h=this.numDaysInRange(),i=new Array(h).fill(0),j=[];c.forEach(function(a,b){var c=a.items.map(function(a){return a.views}),k=c.reduce(function(a,b){return a+b});d.outputData.listData.push({data:c,label:a.title,sum:k,average:k/h,index:b});var l=d.fillInZeros(a.items,e,f),m=g(l,2),n=m[0],o=m[1];o.forEach(function(a){j.includes(a)||j.push(a)}),i=i.map(function(a,b){return a+n[b].views})});var k=i.reduce(function(a,b){return(a||0)+(b||0)});if(Object.assign(this.outputData,{datasets:[{label:a,data:i,sum:k,average:k/h}],datesWithoutData:j,sum:k,average:k/h}),j.length){var l=j.map(function(a){return moment(a).format(d.dateFormat)});this.writeMessage($.i18n("api-incomplete-data",l.sort().join(" · "),l.length))}return this.outputData}},{key:"getPileURL",value:function(a){return"http://tools.wmflabs.org/pagepile/api.php?action=get_data&id="+a}},{key:"getPileLink",value:function(a){return"Page Pile "+a+""}},{key:"getPagePile",value:function(a){var b=this,c=$.Deferred(),d="https://tools.wmflabs.org/pagepile/api.php?id="+a+"&action=get_data&format=json&metadata=1";return $.ajax({url:d,dataType:"jsonp"}).done(function(d){var e=Object.keys(d.pages);return e.length>500&&(b.writeMessage($.i18n("massviews-oversized-set",b.getPileLink(a),b.formatNumber(e.length),b.config.pageLimit)),e=e.slice(0,b.config.pageLimit)),c.resolve({id:d.id,wiki:d.wiki,pages:e})}).fail(function(d){return c.reject(b.getPileLink(a)+": "+$.i18n("api-error-no-data"))}),c}},{key:"getWikiPageFromURL",value:function(a){var b=void 0;return b=a.includes("?")?a.match(/\/\/(.*?)\/w\/.*\?(?:.*\b)?title=(.*?)(?:&|$)/):a.match(/\/\/(.*?)\/wiki\/(.*?)(?:\?|$)/),b?b.slice(1):[null,null]}},{key:"popParams",value:function(){var a=this,b=this.validateParams(this.parseQueryString());this.validateDateRange(b),this.patchUsage(),this.updateSourceInput($(".source-option[data-value="+b.source+"]")[0]),b.target&&$(this.config.sourceInput).val(decodeURIComponent(b.target).descore()),$(".site-notice .alert-danger").length?delete b.target:b.overflow&&"pagepile"===b.source&&b.target&&this.addSiteNotice("info",$.i18n("massviews-redirect",$.i18n("title"),10,this.getPileLink(b.target)),"",!0),$(this.config.platformSelector).val(b.platform),$(this.config.agentSelector).val(b.agent),["sort","direction","view","source","subjectpage"].forEach(function(c){a[c]=b[c]}),"quarry"===b.source&&b.project&&$(".quarry-project").val(b.project),"1"===b.subjectpage&&$(".category-subject-toggle--input").prop("checked",!0),b.target&&this.processInput()}},{key:"setState",value:function(a,b){switch($("main").removeClass(this.config.formStates.join(" ")).addClass(a),a){case"initial":this.clearMessages(),this.assignDefaults(),this.destroyChart(),$("output").removeClass("list-mode").removeClass("chart-mode"),$(".data-links").addClass("invisible"),this.typeahead&&this.typeahead.hide(),$(this.config.sourceInput).val("").focus(),"function"==typeof b&&b.call(this);break;case"processing":this.processStarted(),this.clearMessages(),document.activeElement.blur(),$(".progress-bar").addClass("active");break;case"complete":this.processEnded(),this.updateProgressBar(0),$(".progress-bar").removeClass("active"),$(".data-links").removeClass("invisible");break;case"invalid":}}},{key:"processPagePile",value:function(a){var b=this,c=$(this.config.sourceInput).val();this.getPagePile(c).done(function(d){return d.pages.length?(b.isRequestCached()||simpleStorage.set("pageviews-throttle",!0,{TTL:9e4}),b.sourceProject=k[d.wiki],"en.wikipedia.org"===b.sourceProject&&(d.pages=d.pages.map(function(a){return a.replace(/^Project:Wikipedia:/,"Wikipedia:")})),void b.getPageViewsData(b.sourceProject,d.pages).done(function(c){var e="Page Pile #"+d.id;$(".output-title").text(e).prop("href",b.getPileURL(d.id)),$(".output-params").html("\n "+$(b.config.dateRangeSelector).val()+'\n —\n '+b.sourceProject.replace(/.org$/,"").escape()+"\n "),b.buildMotherDataset(e,b.getPileLink(d.id),c),a()})):b.setState("initial",function(){b.writeMessage($.i18n("massviews-empty-set",b.getPileLink(c)))})}).fail(function(a){b.setState("initial"),"string"==typeof a?b.writeMessage(a):b.writeMessage($.i18n("api-error-unknown","Page Pile"))})}},{key:"processCategory",value:function(a,b,c){var d=this;if(!b)return this.setState("initial",function(){d.writeMessage($.i18n("invalid-category-url"))});var e={action:"query",format:"json",list:"categorymembers",cmlimit:500,cmtitle:decodeURIComponent(b),prop:"categoryinfo",titles:decodeURIComponent(b)},f=$.ajax({url:"https://"+a+"/w/api.php",jsonp:"callback",dataType:"jsonp",data:e}),g=this.getPageLink(decodeURIComponent(b),a);this.sourceProject=a,f.done(function(e){if(e.error)return d.setState("initial",function(){d.writeMessage($.i18n("api-error","Category API")+": "+e.error.info.escape())});var f=Object.keys(e.query.pages)[0];if("-1"===f)return d.setState("initial",function(){d.writeMessage($.i18n("api-error-no-data"))});var h=e.query.pages[f].categoryinfo.size,i=d.siteInfo?d.siteInfo.namespaces:void 0,j=e.query.categorymembers;if(!j.length)return d.setState("initial",function(){d.writeMessage($.i18n("massviews-empty-set",g))});h>d.config.pageLimit&&(d.writeMessage($.i18n("massviews-oversized-set",g,d.formatNumber(h),d.config.pageLimit)),j=j.slice(0,d.config.pageLimit)),h>10&&d.setThrottle();var k=d.mapCategoryPageNames(j,i);d.getPageViewsData(a,k).done(function(a){$(".output-title").html(g),$(".output-params").html($(d.config.dateRangeSelector).val()),d.buildMotherDataset(b,g,a),c()})}).fail(function(a){d.setState("initial"),a&&"string"==typeof a.error?d.writeMessage($.i18n("api-error",g+": "+a.error)):d.writeMessage($.i18n("api-error-unknown",g))})}},{key:"processSubpages",value:function(a,b,c){var d,e=this;if(!b)return this.setState("initial",function(){e.writeMessage($.i18n("invalid-page-url"))});this.sourceProject=a;var f=b.descore(),g=0,h=void 0;for(var i in this.siteInfo.namespaces)if("0"!==i){var j=this.siteInfo.namespaces[i]["*"]+":";f.startsWith(j)&&(g=this.siteInfo.namespaces[i].id,h=b.substring(j.length))}var k=g%2===0?g+1:g-1,l=[];[g,k].forEach(function(b){l.push($.ajax({url:"https://"+a+"/w/api.php",jsonp:"callback",dataType:"jsonp",data:{action:"query",format:"json",list:"allpages",aplimit:500,apnamespace:b,apprefix:decodeURIComponent(h)+"/"}}))});var m=this.getPageLink(decodeURIComponent(b),a);(d=$).when.apply(d,l).done(function(d,f){var g=[d,f].filter(function(a){return!!a[0].error});if(g.length)return g.forEach(function(a){e.setState("initial",function(){e.writeMessage($.i18n("api-error","Allpages API")+": "+a[0].error.info.escape())})}),!1;var h=d[0].query.allpages.concat(f[0].query.allpages),i=h.length;if(0===i)return e.setState("initial",function(){e.writeMessage($.i18n("api-error-no-data"))});i>e.config.pageLimit&&(e.writeMessage($.i18n("massviews-oversized-set",m,e.formatNumber(i),e.config.pageLimit)),h=h.slice(0,e.config.pageLimit)),i>10&&e.setThrottle();var j=h.map(function(a){return a.title}).concat([b]);e.getPageViewsData(a,j).done(function(a){$(".output-title").html(m),$(".output-params").html($(e.config.dateRangeSelector).val()),e.buildMotherDataset(b,m,a),c()})}).fail(function(a){e.setState("initial"),a&&"string"==typeof a.error?e.writeMessage($.i18n("api-error",m+": "+a.error)):e.writeMessage($.i18n("api-error-unknown",m))})}},{key:"processTemplate",value:function(a){var b=this,c=this.getWikiPageFromURL($(this.config.sourceInput).val()),d=g(c,2),e=d[0],f=d[1];if(this.validateProject(e)){if(!f)return this.setState("initial",function(){b.writeMessage($.i18n("invalid-template-url"))});var h=$.ajax({url:"https://"+e+"/w/api.php",jsonp:"callback",dataType:"jsonp",data:{action:"query",format:"json",tilimit:500,titles:decodeURIComponent(f),prop:"transcludedin"}}),i=this.getPageLink(decodeURIComponent(f),e);this.sourceProject=e,h.done(function(c){if(c.error)return b.setState("initial",function(){b.writeMessage($.i18n("api-error","Transclusion API")+": "+c.error.info.escape())});var d=Object.keys(c.query.pages)[0];if("-1"===d)return b.setState("initial",function(){b.writeMessage($.i18n("api-error-no-data"))});var g=c.query.pages[d].transcludedin.map(function(a){return a.title});return g.length?(c["continue"]&&b.writeMessage($.i18n("massviews-oversized-set-unknown",i,500)),g.length>10&&b.setThrottle(),void b.getPageViewsData(e,g).done(function(c){$(".output-title").html(i),$(".output-params").html($(b.config.dateRangeSelector).val()),b.buildMotherDataset(f,i,c),a()})):b.setState("initial",function(){b.writeMessage($.i18n("massviews-empty-set",i))})}).fail(function(a){b.setState("initial"),a&&"string"==typeof a.error?b.writeMessage($.i18n("api-error",i+": "+a.error)):b.writeMessage($.i18n("api-error-unknown",i))})}}},{key:"processWikiPage",value:function(a){var b=this,c=this.getWikiPageFromURL($(this.config.sourceInput).val()),d=g(c,2),e=d[0],f=d[1];if(this.validateProject(e)){if(!f)return this.setState("initial",function(){b.writeMessage($.i18n("invalid-page-url"))});var h=$.ajax({url:"https://"+e+"/w/api.php",jsonp:"callback",dataType:"jsonp",data:{action:"query",format:"json",pllimit:500,titles:decodeURIComponent(f),prop:"links"}}),i=this.getPageLink(decodeURIComponent(f),e);this.sourceProject=e,h.done(function(c){if(c.error)return b.setState("initial",function(){b.writeMessage($.i18n("api-error","Links API")+": "+c.error.info.escape())});var d=Object.keys(c.query.pages)[0];if("-1"===d||!c.query.pages[d].links)return b.setState("initial",function(){b.writeMessage($.i18n("api-error-no-data"))});var g=c.query.pages[d].links.map(function(a){return a.title});return g.length?(c["continue"]&&b.writeMessage($.i18n("massviews-oversized-set-unknown",i,500)),g.length>10&&b.setThrottle(),void b.getPageViewsData(e,g).done(function(c){$(".output-title").html(i),$(".output-params").html($(b.config.dateRangeSelector).val()),b.buildMotherDataset(f,i,c),a()})):b.setState("initial",function(){b.writeMessage($.i18n("massviews-empty-set",i))})}).fail(function(a){b.setState("initial"),a&&"string"==typeof a.error?b.writeMessage($.i18n("api-error",i+": "+a.error)):b.writeMessage($.i18n("api-error-unknown",i))})}}},{key:"processQuarry",value:function(a){var b=this,c=$(".quarry-project").val(),d=$(this.config.sourceInput).val();if(this.validateProject(c)){var e="https://quarry.wmflabs.org/query/"+d+"/result/latest/0/json",f="Quarry "+d+"";$.getJSON(e).done(function(e){var g=e.headers.indexOf("page_title");if(-1===g)return b.setState("initial"),b.writeMessage($.i18n("invalid-quarry-dataset","page_title"));var h=e.rows.map(function(a){return a[g]});h.length>500&&(b.writeMessage($.i18n("massviews-oversized-set",f,b.formatNumber(h.length),b.config.pageLimit)),h=h.slice(0,b.config.pageLimit)),h.length>10&&b.setThrottle(),b.getPageViewsData(c,h).done(function(c){$(".output-title").html(f),$(".output-params").html($(b.config.dateRangeSelector).val()),b.buildMotherDataset(d,f,c),a()})}).error(function(a){return b.setState("initial"),b.writeMessage($.i18n("api-error-unknown","Quarry API"),!0)})}}},{key:"validateProject",value:function(a){return a?(a=a.replace(/^www\./,""),l.includes(a)?!0:(this.setState("initial"),this.writeMessage($.i18n("invalid-project",""+a.escape()+""),!0),!1)):!0}},{key:"mapCategoryPageNames",value:function(a,b){var c=[];return a.forEach(function(a){if(b&&a.ns%2===1){var d=b[a.ns].canonical,e=b[a.ns-1].canonical||"";c.push(a.title.replace(d,e).replace(/^\:/,""))}else c.push(a.title)}),c}},{key:"processInput",value:function(){var a=this;if(!this.isRequestCached()&&simpleStorage.hasKey("pageviews-throttle")){var b=Math.round(simpleStorage.getTTL("pageviews-throttle")/1e3);if(b>0)return this.writeMessage($.i18n("api-throttle-wait",""+b+"",'phab:T124314'),!0)}this.setState("processing");var c=function(){a.updateProgressBar(100),a.setInitialChartType(),a.renderData()},d=void 0,e=void 0;switch($("#source_button").data("value")){case"pagepile":this.processPagePile(c);break;case"category":var f=this.getWikiPageFromURL($(this.config.sourceInput).val()),h=g(f,2);if(d=h[0],e=h[1],!this.validateProject(d))return;$(".category-subject-toggle--input").is(":checked")?this.getSiteInfo(d).then(function(){a.processCategory(d,e,c)}):this.processCategory(d,e,c);break;case"subpages":var i=this.getWikiPageFromURL($(this.config.sourceInput).val()),j=g(i,2);if(d=j[0],e=j[1],!this.validateProject(d))return;this.getSiteInfo(d).then(function(){return a.processSubpages(d,e,c)});break;case"wikilinks":this.processWikiPage(c);break;case"transclusions":this.processTemplate(c);break;case"quarry":this.processQuarry(c)}}},{key:"exportCSV",value:function(){var a="data:text/csv;charset=utf-8,Title,"+this.getDateHeadings(!1).join(",")+"\n";this.outputData.listData.forEach(function(b){var c='"'+b.label.descore().replace(/"/g,'""')+'"';a+=[c].concat(b.data).join(",")+"\n"}),this.downloadData(a,"csv")}},{key:"baseProject",get:function(){return this.project.split(".")[1]}}]),b}(mix(m)["with"](n,o));$(document).ready(function(){return document.location.hash&&!document.location.search?document.location.href=document.location.href.replace("#","?"):document.location.hash?document.location.href=document.location.href.replace(/\#.*/,""):void new p})},{"../shared/chart_helpers":3,"../shared/list_helpers":5,"../shared/pv":7,"../shared/site_map":9,"./config":1}],3:[function(a,b,c){"use strict";function d(a){if(Array.isArray(a)){for(var b=0,c=Array(a.length);b=g;g.add(1,"d"))if(f[g])a.items.push(f[g]);else{var h=g.isSame(this.config.maxDate)||g.isSame(moment(this.config.maxDate).subtract(1,"days"));a.items.push(e({timestamp:g.format(this.config.timestampFormat)},this.isPageviews()?"views":"devices",h?null:0))}return a}},{key:"getCircularData",value:function(a,b,c){var d=this,e=a.items.map(function(a){return d.isPageviews()?a.views:a.devices}),f=this.config.colors[c],g=e.reduce(function(a,b){return a+b}),h=Math.round(g/e.length);return Object.assign({label:b.descore(),value:g,average:h},this.config.chartConfig[this.chartType].dataset(f))}},{key:"getLinearData",value:function(a,b,c){var e=this,f=a.items.map(function(a){return e.isPageviews()?a.views:a.devices}),g=f.reduce(function(a,b){return a+b}),h=Math.round(g/f.length),i=Math.max.apply(Math,d(f)),j=Math.min.apply(Math,d(f)),k=this.config.colors[c%10];return Object.assign({label:b.descore(),data:f,sum:g,average:h,max:i,min:j,color:k},this.config.chartConfig[this.chartType].dataset(k))}},{key:"getApiUrl",value:function(a,b,c){var d=encodeURIComponent(a);return"siteviews"===this.app?this.isPageviews()?"https://wikimedia.org/api/rest_v1/metrics/pageviews/aggregate/"+d+("/"+$(this.config.platformSelector).val()+"/"+$(this.config.agentSelector).val()+"/daily")+("/"+b.format(this.config.timestampFormat)+"/"+c.format(this.config.timestampFormat)):"https://wikimedia.org/api/rest_v1/metrics/unique-devices/"+d+"/"+$(this.config.platformSelector).val()+"/daily"+("/"+b.format(this.config.timestampFormat)+"/"+c.format(this.config.timestampFormat)):"https://wikimedia.org/api/rest_v1/metrics/pageviews/per-article/"+this.project+("/"+$(this.config.platformSelector).val()+"/"+$(this.config.agentSelector).val()+"/"+d+"/daily")+("/"+b.format(this.config.timestampFormat)+"/"+c.format(this.config.timestampFormat))}},{key:"getPageViewsData",value:function(a){var b=this,c=$.Deferred(),d=0,e={},f=a.length,g=[],h={entities:a,labels:[],datasets:[],errors:[],fatalErrors:[],promises:[]},i=function j(a,i){var k=b.daterangepicker.startDate.startOf("day"),l=b.daterangepicker.endDate.startOf("day"),m=b.getApiUrl(a,k,l),n=$.ajax({url:m,dataType:"json"});h.promises.push(n),n.done(function(c){try{c=b.fillInZeros(c,k,l),b.config.linearCharts.includes(b.chartType)?h.datasets.push(b.getLinearData(c,a,i)):h.datasets.push(b.getCircularData(c,a,i)),c.items&&!h.labels.length&&(h.labels=c.items.map(function(a){return moment(a.timestamp,b.config.timestampFormat).format(b.dateFormat)}))}catch(d){return h.fatalErrors.push(d)}}).fail(function(c){var d="Error in Cassandra table storage backend"===c.responseJSON.title;if(d&&(e[b.project]?e[b.project]++:e[b.project]=1,e[b.project]<3))return f++,b.rateLimit(j,100,b)(a,i);if(h.entities=h.entities.filter(function(b){return b!==a}),d)g.push(a);else{var k="siteviews"===b.app?b.getSiteLink(a):b.getPageLink(a,b.project);h.errors.push(k+": "+$.i18n("api-error","Pageviews API")+" - "+c.responseJSON.title)}}).always(function(){++d===f&&(c.resolve(h),g.length&&b.writeMessage($.i18n("api-error-timeout","
    "+g.map(function(a){return"
  • "+b.getPageLink(a,b.project.escape())+"
  • "}).join("")+"
")))})};return a.forEach(function(a,b){return i(a,b)}),c}},{key:"getPermaLink",value:function(){var a=this.getParams(!1);return delete a.range,a}},{key:"isLogarithmic",value:function(){return $(this.config.logarithmicCheckbox).is(":checked")&&this.isLogarithmicCapable()}},{key:"isLogarithmicCapable",value:function(){return["line","bar"].includes(this.chartType)}},{key:"isPageviews",value:function(){return"pageviews"===this.app||"pageviews"===$(this.config.dataSourceSelector).val()}},{key:"isUniqueDevices",value:function(){return!this.isPageviews()}},{key:"printChart",value:function(){var a=window.open();a.document.write(''),a.print(),a.close()}},{key:"resetView",value:function(){var a=arguments.length<=0||void 0===arguments[0]?!1:arguments[0];try{this.destroyChart(),a&&this.resetSelect2()}catch(b){}finally{this.stopSpinny(),$(".data-links").addClass("invisible"),$(this.config.chart).hide(),this.clearMessages()}}},{key:"setChartPointDetectionRadius",value:function(){"line"===this.chartType&&(this.numDaysInRange()>50?Chart.defaults.global.elements.point.hitRadius=3:this.numDaysInRange()>30?Chart.defaults.global.elements.point.hitRadius=5:this.numDaysInRange()>20?Chart.defaults.global.elements.point.hitRadius=10:Chart.defaults.global.elements.point.hitRadius=30)}},{key:"shouldBeLogarithmic",value:function(a){var b;if(!this.isLogarithmicCapable()||this.noLogScale)return!1;var c=[];a.forEach(function(a){c.push(a.map(function(a){return a||0}))});var e=Math.max.apply(Math,d((b=[]).concat.apply(b,c)));if(10>=e)return!1;var f=!1;return c.forEach(function(a){a.push(e);var b=a.reduce(function(a,b){return a+b}),c=b/a.length,d=0;return a.forEach(function(a){return d+=a?a*Math.log(a/c):0}),d/b>.5?f=!0:void 0}),f}},{key:"setupDateRangeSelector",value:function(){var a=this;if(j(Object.getPrototypeOf(b.prototype),"setupDateRangeSelector",this).call(this),this.isChartApp()){var c=$(this.config.dateRangeSelector);$(".date-latest a").on("click",function(b){a.setSpecialRange("latest-"+$(b.target).data("value"))}),c.on("change",function(b){a.setChartPointDetectionRadius(),a.processInput(),a.specialRange&&a.specialRange.value!==b.target.value&&(a.specialRange=null)})}}},{key:"updateChart",value:function(a){var b=this;if($("#chart-legend").html(""),!this.showErrors(a)){if(!a.entities.length)return this.stopSpinny();if(1===a.entities.length?$(".multi-page-chart-node").hide():$(".multi-page-chart-node").show(),"true"===this.autoLogDetection){ +var c=this.shouldBeLogarithmic(a.datasets.map(function(a){return a.data}));$(this.config.logarithmicCheckbox).prop("checked",c),$(".begin-at-zero").toggleClass("disabled",c)}var d=new Array(a.entities.length);a.datasets.forEach(function(c){b.isLogarithmic()&&(c.data=c.data.map(function(a){return a||null})),d[a.entities.indexOf(c.label.score())]=c});var e=Object.assign({scales:{}},this.config.chartConfig[this.chartType].opts,this.config.globalChartOpts);this.isLogarithmic()&&(e.scales=Object.assign({},e.scales,{yAxes:[{type:"logarithmic",ticks:{callback:function(a,c,d){var e=a/Math.pow(10,Math.floor(Chart.helpers.log10(a)));return 1===e||2===e||5===e||0===c||c===d.length-1?b.formatNumber(a):""}}}]})),this.stopSpinny();try{$(".chart-container").html("").append(""),this.setChartPointDetectionRadius();var f=$(this.config.chart)[0].getContext("2d");if(this.config.linearCharts.includes(this.chartType)){var g={labels:a.labels,datasets:d};"radar"===this.chartType?e.scale.ticks.beginAtZero=$(".begin-at-zero-option").is(":checked"):e.scales.yAxes[0].ticks.beginAtZero=$(".begin-at-zero-option").is(":checked"),this.chartObj=new Chart(f,{type:this.chartType,data:g,options:e})}else this.chartObj=new Chart(f,{type:this.chartType,data:{labels:d.map(function(a){return a.label}),datasets:[{data:d.map(function(a){return a.value}),backgroundColor:d.map(function(a){return a.backgroundColor}),hoverBackgroundColor:d.map(function(a){return a.hoverBackgroundColor}),averages:d.map(function(a){return a.average})}]},options:e})}catch(h){return this.showErrors({errors:[],fatalErrors:[h]})}$("#chart-legend").html(this.chartObj.generateLegend()),$(".data-links").removeClass("invisible")}}},{key:"showErrors",value:function(a){var b=this;if(a.fatalErrors.length){this.resetView(!0);var c=a.fatalErrors.unique();return this.showFatalErrors(c),!0}return a.errors.length&&(!a.entities||a.errors.length!==a.entities.length&&a.entities.length||this.resetView(),a.errors.unique().forEach(function(a){return b.writeMessage(a)})),!1}}]),b}(a)};b.exports=k},{}],4:[function(a,b,c){"use strict";function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var e=function(){function a(a,b){for(var c=0;c":">",'"':""","'":"'","/":"/"};return this.replace(/[&<>"'\/]/g,function(b){return a[b]})},Array.prototype.unique=function(){return this.filter(function(a,b,c){return c.indexOf(a)===b})},window.mix=function(a){return new f(a)};var f=function(){function a(b){d(this,a),this.superclass=b}return e(a,[{key:"with",value:function(){for(var a=arguments.length,b=Array(a),c=0;a>c;c++)b[c]=arguments[c];return b.reduce(function(a,b){return b(a)},this.superclass)}}]),a}();"undefined"!=typeof Chart&&(Chart.Controller.prototype.getElementsAtEvent=function(a){var b=Chart.helpers,c=b.getRelativePosition(a,this.chart),d=[],e=function(){if(this.data.datasets)for(var a=0;a=h;h.add(1,"d"))if(e[h])f.push(e[h]);else{var i=h.isSame(this.config.maxDate)||h.isSame(moment(this.config.maxDate).subtract(1,"days"));f.push({timestamp:h.format(this.config.timestampFormat),views:i?null:0}),i&&g.push(h.format())}return[f,g]}},{key:"getCacheKey",value:function(){return"lv-cache-"+this.hashCode(JSON.stringify(this.getParams(!0)))}},{key:"getPageviewsURL",value:function(a,b){var c=moment(this.daterangepicker.startDate),d=moment(this.daterangepicker.endDate),e=$(this.config.platformSelector).val();return 0===d.diff(c,"days")&&(c.subtract(3,"days"),d.add(3,"days")),"/pageviews?start="+c.format("YYYY-MM-DD")+("&end="+d.format("YYYY-MM-DD")+"&project="+a+"&platform="+e+"&pages="+b)}},{key:"getPermaLink",value:function(){var a=this.getParams(!0);return a.sort=this.sort,a.direction=this.direction,a}},{key:"getState",value:function(){var a=$("main")[0].classList;return this.config.formStates.filter(function(b){return a.contains(b)})[0]}},{key:"isRequestCached",value:function(){return simpleStorage.hasKey(this.getCacheKey())}},{key:"renderData",value:function(a){var b=this,c=this.outputData.listData,d=c.sort(function(a,c){var d=b.getSortProperty(a,b.sort),e=b.getSortProperty(c,b.sort);return e>d?b.direction:d>e?-b.direction:0});$(".sort-link span").removeClass("glyphicon-sort-by-alphabet-alt glyphicon-sort-by-alphabet").addClass("glyphicon-sort");var e=1===parseInt(this.direction,10)?"glyphicon-sort-by-alphabet-alt":"glyphicon-sort-by-alphabet";$(".sort-link--"+this.sort+" span").addClass(e).removeClass("glyphicon-sort");try{a(d)}catch(f){this.setState("complete"),this.showFatalErrors([f])}finally{this.pushParams()}this.toggleView(this.view),"complete"!==this.getState()&&this.setState("complete")}},{key:"toggleView",value:function(a){var b=this;if($(".view-btn").removeClass("active"),$(".view-btn--"+a).addClass("active"),$("output").removeClass("list-mode").removeClass("chart-mode").addClass(a+"-mode"),"chart"===a){this.destroyChart(),this.config.circularCharts.includes(this.chartType)&&(this.chartType="bar");var c=Object.assign({},this.config.chartConfig[this.chartType].opts,this.config.globalChartOpts);if(this.assignOutputDataChartOpts(),this.setChartPointDetectionRadius(),"true"===this.autoLogDetection){var d=this.shouldBeLogarithmic([this.outputData.datasets[0].data]);$(this.config.logarithmicCheckbox).prop("checked",d)}this.isLogarithmic()&&(c.scales=Object.assign({},c.scales,{yAxes:[{type:"logarithmic",ticks:{callback:function(a,c,d){var e=a/Math.pow(10,Math.floor(Chart.helpers.log10(a)));return 1===e||2===e||5===e||0===c||c===d.length-1?b.formatNumber(a):""}}}]})),"radar"===this.chartType?c.scale.ticks.beginAtZero=$(".begin-at-zero-option").is(":checked"):c.scales.yAxes[0].ticks.beginAtZero=$(".begin-at-zero-option").is(":checked");var e=$(this.config.chart)[0].getContext("2d");this.chartObj=new Chart(e,{type:this.chartType,data:this.outputData,options:c}),$(".chart-specific").show(),$("#chart-legend").html(this.chartObj.generateLegend())}else $(".chart-specific").hide();this.pushParams()}},{key:"updateProgressBar",value:function(a){$(".progress-bar").css("width",a.toFixed(2)+"%")}}]),b}(a)};b.exports=h},{}],6:[function(a,b,c){"use strict";Array.prototype.includes||(Array.prototype.includes=function(a){return-1!==this.indexOf(a)}),String.prototype.includes||(String.prototype.includes=function(a,b){return"number"!=typeof b&&(b=0),b+a.length>this.length?!1:-1!==this.indexOf(a,b)}),"function"!=typeof Object.assign&&!function(){Object.assign=function(a){if(void 0===a||null===a)throw new TypeError("Cannot convert undefined or null to object");for(var b=Object(a),c=1;c>>0,d=arguments[1],e=void 0,f=0;c>f;f++)if(e=b[f],a.call(d,e,f,b))return e}),Array.prototype.fill||(Array.prototype.fill=function(a){if(null===this)throw new TypeError("this is null or not defined");for(var b=Object(this),c=b.length>>>0,d=arguments[1],e=d>>0,f=0>e?Math.max(c+e,0):Math.min(e,c),g=arguments[2],h=void 0===g?c:g>>0,i=0>h?Math.max(c+h,0):Math.min(h,c);i>f;)b[f]=a,f++;return b})},{}],7:[function(a,b,c){"use strict";function d(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function e(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function g(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var h=function(){function a(a,b){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!b||c.length!==b);d=!0);}catch(i){e=!0,f=i}finally{try{!d&&h["return"]&&h["return"]()}finally{if(e)throw f}}return c}return function(b,c){if(Array.isArray(b))return b;if(Symbol.iterator in Object(b))return a(b,c);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),i=function(){function a(a,b){for(var c=0;c"+location.hostname+i+"")}var j=d({},i18nLang,"/pageviews/messages/"+i18nLang+".json");return"en"!==i18nLang&&(j.en="/pageviews/messages/en.json"),$.i18n({locale:i18nLang}).load(j).then(c.initialize.bind(c)),c}return g(b,a),i(b,[{key:"addSiteNotice",value:function(a,b,c,d){c=c?""+c+" ":"";var e=c+b;d?(d=" alert-dismissable",e='\n '+e):d="",$(".site-notice").append("
"+e+"
")}},{key:"addInvalidParamNotice",value:function(a){this.addSiteNotice("danger",$.i18n("param-error-3",a,"/"+this.app+"/url_structure"),$.i18n("invalid-params"),!0)}},{key:"validateDateRange",value:function(a){if(a.range)this.setSpecialRange(a.range)||(this.addInvalidParamNotice("range"),this.setSpecialRange(this.config.defaults.dateRange));else if(a.start){var b=/\d{4}-\d{2}-\d{2}$/,c=void 0,d=void 0;if(!a.start||!b.test(a.start))return this.addInvalidParamNotice("start"),!1;if(c=moment(a.start),!a.end||!b.test(a.end))return this.addInvalidParamNotice("end"),!1;if(d=moment(a.end),cd)return this.addSiteNotice("danger",$.i18n("param-error-2"),$.i18n("invalid-params"),!0),!1;this.daterangepicker.startDate=c,this.daterangepicker.setEndDate(d)}else this.setSpecialRange(this.config.defaults.dateRange);return!0}},{key:"clearSiteNotices",value:function(){$(".site-notice").html("")}},{key:"clearMessages",value:function(){$(".message-container").html("")}},{key:"downloadData",value:function(a,b){var c=encodeURI(a),d=document.createElement("a");if("string"==typeof d.download){document.body.appendChild(d);var e=this.getExportFilename()+"."+b;d.download=e,d.href=c,d.click(),document.body.removeChild(d)}else window.open(c)}},{key:"fillInSettings",value:function(){var a=this;$.each($("#settings-modal input"),function(b,c){"checkbox"===c.type?c.checked="true"===a[c.name]:c.checked=a[c.name]===c.value})}},{key:"focusSelect2",value:function(){$(".select2-selection").trigger("click"),$(".select2-search__field").focus()}},{key:"formatNumber",value:function(a){var b=this.getFromLocalStorage("pageviews-settings-numericalFormatting")||this.config.defaults.numericalFormatting;return"true"===b?this.n(a):a}},{key:"formatYAxisNumber",value:function(a){return a%1===0?this.formatNumber(a):null}},{key:"getDateHeadings",value:function(a){for(var b=[],c=moment(this.daterangepicker.endDate).add(1,"d"),d=moment(this.daterangepicker.startDate);d.isBefore(c);d.add(1,"d"))a?b.push(d.format(this.dateFormat)):b.push(d.format("YYYY-MM-DD"));return b}},{key:"getExpandedPageURL",value:function(a){return"//"+this.project+".org/w/index.php?title="+encodeURIComponent(a.score()).replace(/'/,escape)}},{key:"getExportFilename",value:function(){var a=this.daterangepicker.startDate.startOf("day").format("YYYYMMDD"),b=this.daterangepicker.endDate.startOf("day").format("YYYYMMDD");return this.app+"-"+a+"-"+b}},{key:"getPageLink",value:function(a,b){return''+a.descore().escape()+""}},{key:"getPageURL",value:function(a){var b=arguments.length<=1||void 0===arguments[1]?this.project:arguments[1];return"//"+b.replace(/\.org$/,"").escape()+".org/wiki/"+encodeURIComponent(a.score()).replace(/'/,escape)}},{key:"getSiteLink",value:function(a){return''+a+""}},{key:"getLocaleDateString",value:function(){if(!navigator.language)return this.config.defaults.dateFormat;var a={"ar-sa":"DD/MM/YY","bg-bg":"DD.M.YYYY","ca-es":"DD/MM/YYYY","zh-tw":"YYYY/M/D","cs-cz":"D.M.YYYY","da-dk":"DD-MM-YYYY","de-de":"DD.MM.YYYY","el-gr":"D/M/YYYY","en-us":"M/D/YYYY","fi-fi":"D.M.YYYY","fr-fr":"DD/MM/YYYY","he-il":"DD/MM/YYYY","hu-hu":"YYYY. MM. DD.","is-is":"D.M.YYYY","it-it":"DD/MM/YYYY","ja-jp":"YYYY/MM/DD","ko-kr":"YYYY-MM-DD","nl-nl":"D-M-YYYY","nb-no":"DD.MM.YYYY","pl-pl":"YYYY-MM-DD","pt-br":"D/M/YYYY","ro-ro":"DD.MM.YYYY","ru-ru":"DD.MM.YYYY","hr-hr":"D.M.YYYY","sk-sk":"D. M. YYYY","sq-al":"YYYY-MM-DD","sv-se":"YYYY-MM-DD","th-th":"D/M/YYYY","tr-tr":"DD.MM.YYYY","ur-pk":"DD/MM/YYYY","id-id":"DD/MM/YYYY","uk-ua":"DD.MM.YYYY","be-by":"DD.MM.YYYY","sl-si":"D.M.YYYY","et-ee":"D.MM.YYYY","lv-lv":"YYYY.MM.DD.","lt-lt":"YYYY.MM.DD","fa-ir":"MM/DD/YYYY","vi-vn":"DD/MM/YYYY","hy-am":"DD.MM.YYYY","az-latn-az":"DD.MM.YYYY","eu-es":"YYYY/MM/DD","mk-mk":"DD.MM.YYYY","af-za":"YYYY/MM/DD","ka-ge":"DD.MM.YYYY","fo-fo":"DD-MM-YYYY","hi-in":"DD-MM-YYYY","ms-my":"DD/MM/YYYY","kk-kz":"DD.MM.YYYY","ky-kg":"DD.MM.YY","sw-ke":"M/d/YYYY","uz-latn-uz":"DD/MM YYYY","tt-ru":"DD.MM.YYYY","pa-in":"DD-MM-YY","gu-in":"DD-MM-YY","ta-in":"DD-MM-YYYY","te-in":"DD-MM-YY","kn-in":"DD-MM-YY","mr-in":"DD-MM-YYYY","sa-in":"DD-MM-YYYY","mn-mn":"YY.MM.DD","gl-es":"DD/MM/YY","kok-in":"DD-MM-YYYY","syr-sy":"DD/MM/YYYY","dv-mv":"DD/MM/YY","ar-iq":"DD/MM/YYYY","zh-cn":"YYYY/M/D","de-ch":"DD.MM.YYYY","en-gb":"DD/MM/YYYY","es-mx":"DD/MM/YYYY","fr-be":"D/MM/YYYY","it-ch":"DD.MM.YYYY","nl-be":"D/MM/YYYY","nn-no":"DD.MM.YYYY","pt-pt":"DD-MM-YYYY","sr-latn-cs":"D.M.YYYY","sv-fi":"D.M.YYYY","az-cyrl-az":"DD.MM.YYYY","ms-bn":"DD/MM/YYYY","uz-cyrl-uz":"DD.MM.YYYY","ar-eg":"DD/MM/YYYY","zh-hk":"D/M/YYYY","de-at":"DD.MM.YYYY","en-au":"D/MM/YYYY","es-es":"DD/MM/YYYY","fr-ca":"YYYY-MM-DD","sr-cyrl-cs":"D.M.YYYY","ar-ly":"DD/MM/YYYY","zh-sg":"D/M/YYYY","de-lu":"DD.MM.YYYY","en-ca":"DD/MM/YYYY","es-gt":"DD/MM/YYYY","fr-ch":"DD.MM.YYYY","ar-dz":"DD-MM-YYYY","zh-mo":"D/M/YYYY","de-li":"DD.MM.YYYY","en-nz":"D/MM/YYYY","es-cr":"DD/MM/YYYY","fr-lu":"DD/MM/YYYY","ar-ma":"DD-MM-YYYY","en-ie":"DD/MM/YYYY","es-pa":"MM/DD/YYYY","fr-mc":"DD/MM/YYYY","ar-tn":"DD-MM-YYYY","en-za":"YYYY/MM/DD","es-do":"DD/MM/YYYY","ar-om":"DD/MM/YYYY","en-jm":"DD/MM/YYYY","es-ve":"DD/MM/YYYY","ar-ye":"DD/MM/YYYY","en-029":"MM/DD/YYYY","es-co":"DD/MM/YYYY","ar-sy":"DD/MM/YYYY","en-bz":"DD/MM/YYYY","es-pe":"DD/MM/YYYY","ar-jo":"DD/MM/YYYY","en-tt":"DD/MM/YYYY","es-ar":"DD/MM/YYYY","ar-lb":"DD/MM/YYYY","en-zw":"M/D/YYYY","es-ec":"DD/MM/YYYY","ar-kw":"DD/MM/YYYY","en-ph":"M/D/YYYY","es-cl":"DD-MM-YYYY","ar-ae":"DD/MM/YYYY","es-uy":"DD/MM/YYYY","ar-bh":"DD/MM/YYYY","es-py":"DD/MM/YYYY","ar-qa":"DD/MM/YYYY","es-bo":"DD/MM/YYYY","es-sv":"DD/MM/YYYY","es-hn":"DD/MM/YYYY","es-ni":"DD/MM/YYYY","es-pr":"DD/MM/YYYY","am-et":"D/M/YYYY","tzm-latn-dz":"DD-MM-YYYY","iu-latn-ca":"D/MM/YYYY","sma-no":"DD.MM.YYYY","mn-mong-cn":"YYYY/M/D","gd-gb":"DD/MM/YYYY","en-my":"D/M/YYYY","prs-af":"DD/MM/YY","bn-bd":"DD-MM-YY","wo-sn":"DD/MM/YYYY","rw-rw":"M/D/YYYY","qut-gt":"DD/MM/YYYY","sah-ru":"MM.DD.YYYY","gsw-fr":"DD/MM/YYYY","co-fr":"DD/MM/YYYY","oc-fr":"DD/MM/YYYY","mi-nz":"DD/MM/YYYY","ga-ie":"DD/MM/YYYY","se-se":"YYYY-MM-DD","br-fr":"DD/MM/YYYY","smn-fi":"D.M.YYYY","moh-ca":"M/D/YYYY","arn-cl":"DD-MM-YYYY","ii-cn":"YYYY/M/D","dsb-de":"D. M. YYYY","ig-ng":"D/M/YYYY","kl-gl":"DD-MM-YYYY","lb-lu":"DD/MM/YYYY","ba-ru":"DD.MM.YY","nso-za":"YYYY/MM/DD","quz-bo":"DD/MM/YYYY","yo-ng":"D/M/YYYY","ha-latn-ng":"D/M/YYYY","fil-ph":"M/D/YYYY","ps-af":"DD/MM/YY","fy-nl":"D-M-YYYY","ne-np":"M/D/YYYY","se-no":"DD.MM.YYYY","iu-cans-ca":"D/M/YYYY","sr-latn-rs":"D.M.YYYY","si-lk":"YYYY-MM-DD","sr-cyrl-rs":"D.M.YYYY","lo-la":"DD/MM/YYYY","km-kh":"YYYY-MM-DD","cy-gb":"DD/MM/YYYY","bo-cn":"YYYY/M/D","sms-fi":"D.M.YYYY","as-in":"DD-MM-YYYY","ml-in":"DD-MM-YY","en-in":"DD-MM-YYYY","or-in":"DD-MM-YY","bn-in":"DD-MM-YY","tk-tm":"DD.MM.YY","bs-latn-ba":"D.M.YYYY","mt-mt":"DD/MM/YYYY","sr-cyrl-me":"D.M.YYYY","se-fi":"D.M.YYYY","zu-za":"YYYY/MM/DD","xh-za":"YYYY/MM/DD","tn-za":"YYYY/MM/DD","hsb-de":"D. M. YYYY","bs-cyrl-ba":"D.M.YYYY","tg-cyrl-tj":"DD.MM.yy","sr-latn-ba":"D.M.YYYY","smj-no":"DD.MM.YYYY","rm-ch":"DD/MM/YYYY","smj-se":"YYYY-MM-DD","quz-ec":"DD/MM/YYYY","quz-pe":"DD/MM/YYYY","hr-ba":"D.M.YYYY.","sr-latn-me":"D.M.YYYY","sma-se":"YYYY-MM-DD","en-sg":"D/M/YYYY","ug-cn":"YYYY-M-D","sr-cyrl-ba":"D.M.YYYY","es-us":"M/D/YYYY"},b=navigator.language.toLowerCase();return a[b]||this.config.defaults.dateFormat}},{key:"getFromLocalStorage",value:function(a){try{return localStorage.getItem(a)}catch(b){return storage[a]}}},{key:"getBugReportURL",value:function(a){var b="https://meta.wikimedia.org/w/index.php?title=Talk:Pageviews_Analysis&action=edit"+("§ion=new&preloadtitle="+this.app.upcase()+" bug report");return a?b+"&preload=Talk:Pageviews_Analysis/Preload&preloadparams[]="+a:b}},{key:"getSiteInfo",value:function(a){var b=this;a=a.replace(/\.org$/,"");var c=$.Deferred(),d="pageviews-siteinfo-"+a;return simpleStorage.hasKey(d)?(this.siteInfo=simpleStorage.get(d),c.resolve(this.siteInfo)):$.ajax({url:"https://"+a+".org/w/api.php",data:{action:"query",meta:"siteinfo",siprop:"general|namespaces",format:"json"},dataType:"jsonp"}).done(function(a){b.siteInfo=a.query,simpleStorage.set(d,b.siteInfo,{TTL:6048e5}),c.resolve(b.siteInfo)}).fail(function(a){c.reject(a)}),c}},{key:"getUserAgent",value:function(){return navigator.userAgent?navigator.userAgent:"Unknown"}},{key:"setLocalStorage",value:function(a,b){try{return localStorage.setItem(a,b)}catch(c){return storage[a]=b}}},{key:"hashCode",value:function(a){return a.split("").reduce(function(a,b){return(a<<5)-a+b.charCodeAt(0)},0)}},{key:"isChartApp",value:function(){return!this.isListApp()}},{key:"isListApp",value:function(){return["langviews","massviews","redirectviews"].includes(this.app)}},{key:"isMultilangProject",value:function(){return new RegExp(".*?\\.("+b.multilangProjects.join("|")+")").test(this.project)}},{key:"mapNormalizedPageNames",value:function(a,b){return b.forEach(function(b){a=a.map(function(a){return b.from===a?b.to:a})}),a}},{key:"n",value:function(a){return new Number(a).toLocaleString()}},{key:"normalizePageNames",value:function(a){var b=this,c=$.Deferred();return $.ajax({url:"https://"+this.project+".org/w/api.php?action=query&prop=info&format=json&titles="+a.join("|"),dataType:"jsonp"}).then(function(d){return d.query.normalized&&(a=b.mapNormalizedPageNames(a,d.query.normalized)),c.resolve(a)})}},{key:"numDaysInRange",value:function(){return this.daterangepicker.endDate.diff(this.daterangepicker.startDate,"days")+1}},{key:"parseQueryString",value:function(a){for(var b=decodeURI(location.search.slice(1)),c=b.split("&"),d={},e=0;e").text(a).html();$("").appendTo(b.config.select2Input)}),$(this.config.select2Input).select2("val",a),$(this.config.select2Input).select2("close"),a}},{key:"setSpecialRange",value:function(a){var b=Object.keys(this.config.specialRanges).indexOf(a),c=void 0,d=void 0;if(a.includes("latest-")){var e=parseInt(a.replace("latest-",""),10)||20,f=this.config.specialRanges.latest(e),g=h(f,2);c=g[0],d=g[1]}else{if(!(b>=0))return;var i="latest"===a?this.config.specialRanges.latest():this.config.specialRanges[a],j=h(i,2);c=j[0],d=j[1],$(".daterangepicker .ranges li").eq(b).trigger("click")}return this.specialRange={range:a,value:c.format(this.dateFormat)+" - "+d.format(this.dateFormat)},this.daterangepicker.startDate=c,this.daterangepicker.setEndDate(d),this.specialRange}},{key:"setupSelect2Colors",value:function(){var a=this;return this.colorsStyleEl&&this.colorsStyleEl.remove(),this.colorsStyleEl=document.createElement("style"),this.colorsStyleEl.appendChild(document.createTextNode("")),document.head.appendChild(this.colorsStyleEl),this.config.colors.forEach(function(b,c){a.colorsStyleEl.sheet.insertRule(".select2-selection__choice:nth-of-type("+(c+1)+") { background: "+b+" !important }",0)}),this.colorsStyleEl.sheet}},{key:"setupListeners",value:function(){var a=this;$("a[href='#']").on("click",function(a){return a.preventDefault()}),$(".lang-link").on("click",function(b){var c=moment().add(a.config.cookieExpiry,"days").toDate().toGMTString();document.cookie="TsIntuition_userlang="+$(b.target).data("lang")+"; expires="+c+"; path=/";var d=Math.floor(Date.now()/1e3)+24*a.config.cookieExpiry*60*60;document.cookie="TsIntuition_expiry="+d+"; expires="+c+"; path=/",location.reload()}),$(".download-csv").on("click",this.exportCSV.bind(this)),$(".download-json").on("click",this.exportJSON.bind(this)),$(this.config.projectInput).on("focusin",function(){this.dataset.value=this.value}),$(this.config.projectInput).on("change",function(b){return a.validateProject(b)})}},{key:"setupSettingsModal",value:function(){this.fillInSettings(),$(".save-settings-btn").on("click",this.saveSettings.bind(this)),$(".cancel-settings-btn").on("click",this.fillInSettings.bind(this))}},{key:"setupDateRangeSelector",value:function(){var a=this,b=$(this.config.dateRangeSelector),c={};Object.keys(this.config.specialRanges).forEach(function(b){"latest"!==b&&(c[$.i18n(b)]=a.config.specialRanges[b])});var d={locale:{format:this.dateFormat,applyLabel:$.i18n("apply"),cancelLabel:$.i18n("cancel"),customRangeLabel:$.i18n("custom-range"),daysOfWeek:[$.i18n("su"),$.i18n("mo"),$.i18n("tu"),$.i18n("we"),$.i18n("th"),$.i18n("fr"),$.i18n("sa")],monthNames:[$.i18n("january"),$.i18n("february"),$.i18n("march"),$.i18n("april"),$.i18n("may"),$.i18n("june"),$.i18n("july"),$.i18n("august"),$.i18n("september"),$.i18n("october"),$.i18n("november"),$.i18n("december")]},startDate:moment().subtract(this.config.daysAgo,"days"),minDate:this.config.minDate,maxDate:this.config.maxDate,ranges:c};this.config.dateLimit&&(d.dateLimit={days:this.config.dateLimit}),b.daterangepicker(d),$(".daterangepicker").append($("
").addClass("daterange-notice").html($.i18n("date-notice",document.title,"stats.grok.se",$.i18n("july")+" 2015"))),$(".daterangepicker .ranges li").on("click",function(b){var c=$(".daterangepicker .ranges li").index(b.target),d=a.daterangepicker.container,e=d.find(".daterangepicker_input input");a.specialRange={range:Object.keys(a.config.specialRanges)[c],value:e[0].value+" - "+e[1].value}}),$(this.config.dateRangeSelector).on("apply.daterangepicker",function(b,c){c.chosenLabel===$.i18n("custom-range")&&(a.specialRange=null,a.daterangepicker.updateElement())})}},{key:"setThrottle",value:function(){this.isRequestCached()||simpleStorage.set("pageviews-throttle",!0,{TTL:9e4})}},{key:"showFatalErrors",value:function(a){var b=this;if(this.clearMessages(),a.forEach(function(a){b.writeMessage(""+$.i18n("fatal-error")+": "+a+"")}),this.debug)throw a[0];a&&a[0]&&a[0].stack&&$.ajax({method:"POST",url:"//tools.wmflabs.org/musikanimal/paste",data:{content:"\ndate: "+moment().utc().format()+("\ntool: "+this.app)+("\nlanguage: "+i18nLang)+("\nchart: "+this.chartType)+("\nurl: "+document.location.href)+("\nuserAgent: "+this.getUserAgent())+("\ntrace: "+a[0].stack),title:"Pageviews Analysis error report: "+a[0]}}).done(function(a){a&&a.result&&a.result.objectName?b.writeMessage($.i18n("error-please-report",b.getBugReportURL(a.result.objectName))):b.writeMessage($.i18n("error-please-report",b.getBugReportURL()))}).fail(function(){b.writeMessage($.i18n("error-please-report",b.getBugReportURL()))})}},{key:"splash",value:function(){var a="background: #eee; color: #555; padding: 4px; font-family:monospace";console.log("%c ___ __ _ _ ",a),console.log("%c | _ \\ __ _ / _` | ___ __ __ (_) ___ __ __ __ ___ ",a),console.log("%c | _/ / _` | \\__, | / -_) \\ V / | | / -_) \\ V V / (_-< ",a),console.log("%c _|_|_ \\__,_| |___/ \\___| _\\_/_ _|_|_ \\___| \\_/\\_/ /__/_ ",a),console.log('%c _| """ |_|"""""|_|"""""|_|"""""|_|"""""|_|"""""|_|"""""|_|"""""|_|"""""| ',a),console.log("%c \"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-' ",a),console.log("%c ___ _ _ _ _ ",a),console.log("%c o O O / \\ _ _ __ _ | || | | | ___ (_) ___ ",a),console.log("%c o | - | | ' \\ / _` | \\_, | | | (_-< | | (_-< ",a),console.log("%c TS__[O] |_|_| |_||_| \\__,_| _|__/ _|_|_ /__/_ _|_|_ /__/_ ",a),console.log('%c {======|_|"""""|_|"""""|_|"""""|_| """"|_|"""""|_|"""""|_|"""""|_|"""""| ',a),console.log("%c ./o--000'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-' ",a),console.log("%c ",a),console.log("%c Copyright © "+(new Date).getFullYear()+" MusikAnimal, Kaldari, Marcel Ruiz Forns ",a)}},{key:"startSpinny",value:function(){var a=this;$(".chart-container").addClass("loading"),clearTimeout(this.timeout),this.timeout=setTimeout(function(b){a.resetView(),a.writeMessage(""+$.i18n("fatal-error")+":\n "+$.i18n("error-timed-out")+"\n "+$.i18n("error-please-report",a.getBugReportURL())+"\n ",!0)},2e4)}},{key:"stopSpinny",value:function(){$(".chart-container").removeClass("loading"),clearTimeout(this.timeout)}},{key:"underscorePageNames",value:function(a){return a.map(function(a){return decodeURIComponent(a).score()})}},{key:"updateInterAppLinks",value:function(){var a=this;$(".interapp-link").each(function(b,c){var d=c.href.split("?")[0];c.classList.contains("interapp-link--siteviews")?c.href=d+"?sites="+a.project.escape()+".org":c.href=d+"?project="+a.project.escape()+".org"; +})}},{key:"validateParams",value:function(a){var b=this;return this.config.validateParams.forEach(function(c){"project"===c&&a.project&&(a.project=a.project.replace(/^www\./,""));var d=b.config.defaults[c],e=a[c];d&&!b.config.validParams[c].includes(e)&&(e&&b.addInvalidParamNotice(c),a[c]=d)}),a}},{key:"validateProject",value:function(){var a=arguments.length<=0||void 0===arguments[0]?!1:arguments[0],b=$(this.config.projectInput)[0],c=b.value.replace(/^www\./,""),d=!1;return a&&!this.isMultilangProject()?(this.writeMessage($.i18n("invalid-lang-project",""+c.escape()+""),!0),c=b.dataset.value):l.includes(c)?(this.clearMessages(),this.updateInterAppLinks(),d=!0):(this.writeMessage($.i18n("invalid-project",""+c.escape()+""),!0),c=b.dataset.value),b.value=c,d}},{key:"writeMessage",value:function(a,b){return b&&this.clearMessages(),$(".message-container").append("
"+a+"
")}},{key:"dateFormat",get:function(){return"true"===this.localizeDateFormat?this.getLocaleDateString():this.config.defaults.dateFormat}},{key:"daterangepicker",get:function(){return $(this.config.dateRangeSelector).data("daterangepicker")}},{key:"project",get:function(){var a=$(this.config.projectInput).val();return a?a.toLowerCase().replace(/.org$/,""):null}}],[{key:"multilangProjects",get:function(){return["wikipedia","wikibooks","wikinews","wikiquote","wikisource","wikiversity","wikivoyage"]}}]),b}(j);b.exports=m},{"./pv_config":8,"./site_map":9}],8:[function(a,b,c){"use strict";function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var e=function(){function a(a,b){for(var c=0;c1?"line":"bar"},dateFormat:"YYYY-MM-DD",localizeDateFormat:"true",numericalFormatting:"true",bezierCurve:"false",autoLogDetection:"true",beginAtZero:"false",rememberChart:"true",agent:"user",platform:"all-access",project:"en.wikipedia.org"},globalChartOpts:{animation:{duration:500,easing:"easeInOutQuart"},hover:{animationDuration:0},legend:{display:!1}},linearCharts:["line","bar","radar"],linearOpts:{scales:{yAxes:[{ticks:{callback:function(a){return b.formatNumber(a)}}}]},legendCallback:function(a){return b.config.linearLegend(a.data.datasets,c)}},daysAgo:20,minDate:moment("2015-07-01").startOf("day"),maxDate:moment().subtract(1,"days").startOf("day"),specialRanges:{"last-week":[moment().subtract(1,"week").startOf("week"),moment().subtract(1,"week").endOf("week")],"this-month":[moment().startOf("month"),moment().subtract(1,"days").startOf("day")],"last-month":[moment().subtract(1,"month").startOf("month"),moment().subtract(1,"month").endOf("month")],latest:function(){var a=arguments.length<=0||void 0===arguments[0]?c.config.daysAgo:arguments[0];return[moment().subtract(a,"days").startOf("day"),c.config.maxDate]}},timestampFormat:"YYYYMMDD00",validParams:{agent:["all-agents","user","spider","bot"],platform:["all-access","desktop","mobile-app","mobile-web"],project:g}}}return e(a,[{key:"linearTooltips",get:function(){var a=this;return{mode:"label",callbacks:{label:function(b){return Number.isNaN(b.yLabel)?" "+$.i18n("unknown"):" "+a.formatNumber(b.yLabel)}},bodyFontSize:14,bodySpacing:7,caretSize:0,titleFontSize:14}}},{key:"circularTooltips",get:function(){var a=this;return{callbacks:{label:function b(c,d){var e=d.datasets[c.datasetIndex].data[c.index],b=d.labels[c.index];return Number.isNaN(e)?b+": "+$.i18n("unknown"):b+": "+a.formatNumber(e)}},bodyFontSize:14,bodySpacing:7,caretSize:0,titleFontSize:14}}}]),a}();b.exports=h},{"./site_map":9}],9:[function(a,b,c){"use strict";var d={aawiki:"aa.wikipedia.org",aawiktionary:"aa.wiktionary.org",aawikibooks:"aa.wikibooks.org",abwiki:"ab.wikipedia.org",abwiktionary:"ab.wiktionary.org",acewiki:"ace.wikipedia.org",adywiki:"ady.wikipedia.org",afwiki:"af.wikipedia.org",afwiktionary:"af.wiktionary.org",afwikibooks:"af.wikibooks.org",afwikiquote:"af.wikiquote.org",akwiki:"ak.wikipedia.org",akwiktionary:"ak.wiktionary.org",akwikibooks:"ak.wikibooks.org",alswiki:"als.wikipedia.org",alswiktionary:"als.wiktionary.org",alswikibooks:"als.wikibooks.org",alswikiquote:"als.wikiquote.org",amwiki:"am.wikipedia.org",amwiktionary:"am.wiktionary.org",amwikiquote:"am.wikiquote.org",anwiki:"an.wikipedia.org",anwiktionary:"an.wiktionary.org",angwiki:"ang.wikipedia.org",angwiktionary:"ang.wiktionary.org",angwikibooks:"ang.wikibooks.org",angwikiquote:"ang.wikiquote.org",angwikisource:"ang.wikisource.org",arwiki:"ar.wikipedia.org",arwiktionary:"ar.wiktionary.org",arwikibooks:"ar.wikibooks.org",arwikinews:"ar.wikinews.org",arwikiquote:"ar.wikiquote.org",arwikisource:"ar.wikisource.org",arwikiversity:"ar.wikiversity.org",arcwiki:"arc.wikipedia.org",arzwiki:"arz.wikipedia.org",aswiki:"as.wikipedia.org",aswiktionary:"as.wiktionary.org",aswikibooks:"as.wikibooks.org",aswikisource:"as.wikisource.org",astwiki:"ast.wikipedia.org",astwiktionary:"ast.wiktionary.org",astwikibooks:"ast.wikibooks.org",astwikiquote:"ast.wikiquote.org",avwiki:"av.wikipedia.org",avwiktionary:"av.wiktionary.org",aywiki:"ay.wikipedia.org",aywiktionary:"ay.wiktionary.org",aywikibooks:"ay.wikibooks.org",azwiki:"az.wikipedia.org",azwiktionary:"az.wiktionary.org",azwikibooks:"az.wikibooks.org",azwikiquote:"az.wikiquote.org",azwikisource:"az.wikisource.org",azbwiki:"azb.wikipedia.org",bawiki:"ba.wikipedia.org",bawikibooks:"ba.wikibooks.org",barwiki:"bar.wikipedia.org",bat_smgwiki:"bat-smg.wikipedia.org",bclwiki:"bcl.wikipedia.org",bewiki:"be.wikipedia.org",bewiktionary:"be.wiktionary.org",bewikibooks:"be.wikibooks.org",bewikiquote:"be.wikiquote.org",bewikisource:"be.wikisource.org",be_x_oldwiki:"be-tarask.wikipedia.org",bgwiki:"bg.wikipedia.org",bgwiktionary:"bg.wiktionary.org",bgwikibooks:"bg.wikibooks.org",bgwikinews:"bg.wikinews.org",bgwikiquote:"bg.wikiquote.org",bgwikisource:"bg.wikisource.org",bhwiki:"bh.wikipedia.org",bhwiktionary:"bh.wiktionary.org",biwiki:"bi.wikipedia.org",biwiktionary:"bi.wiktionary.org",biwikibooks:"bi.wikibooks.org",bjnwiki:"bjn.wikipedia.org",bmwiki:"bm.wikipedia.org",bmwiktionary:"bm.wiktionary.org",bmwikibooks:"bm.wikibooks.org",bmwikiquote:"bm.wikiquote.org",bnwiki:"bn.wikipedia.org",bnwiktionary:"bn.wiktionary.org",bnwikibooks:"bn.wikibooks.org",bnwikisource:"bn.wikisource.org",bowiki:"bo.wikipedia.org",bowiktionary:"bo.wiktionary.org",bowikibooks:"bo.wikibooks.org",bpywiki:"bpy.wikipedia.org",brwiki:"br.wikipedia.org",brwiktionary:"br.wiktionary.org",brwikiquote:"br.wikiquote.org",brwikisource:"br.wikisource.org",bswiki:"bs.wikipedia.org",bswiktionary:"bs.wiktionary.org",bswikibooks:"bs.wikibooks.org",bswikinews:"bs.wikinews.org",bswikiquote:"bs.wikiquote.org",bswikisource:"bs.wikisource.org",bugwiki:"bug.wikipedia.org",bxrwiki:"bxr.wikipedia.org",cawiki:"ca.wikipedia.org",cawiktionary:"ca.wiktionary.org",cawikibooks:"ca.wikibooks.org",cawikinews:"ca.wikinews.org",cawikiquote:"ca.wikiquote.org",cawikisource:"ca.wikisource.org",cbk_zamwiki:"cbk-zam.wikipedia.org",cdowiki:"cdo.wikipedia.org",cewiki:"ce.wikipedia.org",cebwiki:"ceb.wikipedia.org",chwiki:"ch.wikipedia.org",chwiktionary:"ch.wiktionary.org",chwikibooks:"ch.wikibooks.org",chowiki:"cho.wikipedia.org",chrwiki:"chr.wikipedia.org",chrwiktionary:"chr.wiktionary.org",chywiki:"chy.wikipedia.org",ckbwiki:"ckb.wikipedia.org",cowiki:"co.wikipedia.org",cowiktionary:"co.wiktionary.org",cowikibooks:"co.wikibooks.org",cowikiquote:"co.wikiquote.org",crwiki:"cr.wikipedia.org",crwiktionary:"cr.wiktionary.org",crwikiquote:"cr.wikiquote.org",crhwiki:"crh.wikipedia.org",cswiki:"cs.wikipedia.org",cswiktionary:"cs.wiktionary.org",cswikibooks:"cs.wikibooks.org",cswikinews:"cs.wikinews.org",cswikiquote:"cs.wikiquote.org",cswikisource:"cs.wikisource.org",cswikiversity:"cs.wikiversity.org",csbwiki:"csb.wikipedia.org",csbwiktionary:"csb.wiktionary.org",cuwiki:"cu.wikipedia.org",cvwiki:"cv.wikipedia.org",cvwikibooks:"cv.wikibooks.org",cywiki:"cy.wikipedia.org",cywiktionary:"cy.wiktionary.org",cywikibooks:"cy.wikibooks.org",cywikiquote:"cy.wikiquote.org",cywikisource:"cy.wikisource.org",dawiki:"da.wikipedia.org",dawiktionary:"da.wiktionary.org",dawikibooks:"da.wikibooks.org",dawikiquote:"da.wikiquote.org",dawikisource:"da.wikisource.org",dewiki:"de.wikipedia.org",dewiktionary:"de.wiktionary.org",dewikibooks:"de.wikibooks.org",dewikinews:"de.wikinews.org",dewikiquote:"de.wikiquote.org",dewikisource:"de.wikisource.org",dewikiversity:"de.wikiversity.org",dewikivoyage:"de.wikivoyage.org",diqwiki:"diq.wikipedia.org",dsbwiki:"dsb.wikipedia.org",dvwiki:"dv.wikipedia.org",dvwiktionary:"dv.wiktionary.org",dzwiki:"dz.wikipedia.org",dzwiktionary:"dz.wiktionary.org",eewiki:"ee.wikipedia.org",elwiki:"el.wikipedia.org",elwiktionary:"el.wiktionary.org",elwikibooks:"el.wikibooks.org",elwikinews:"el.wikinews.org",elwikiquote:"el.wikiquote.org",elwikisource:"el.wikisource.org",elwikiversity:"el.wikiversity.org",elwikivoyage:"el.wikivoyage.org",emlwiki:"eml.wikipedia.org",enwiki:"en.wikipedia.org",enwiktionary:"en.wiktionary.org",enwikibooks:"en.wikibooks.org",enwikinews:"en.wikinews.org",enwikiquote:"en.wikiquote.org",enwikisource:"en.wikisource.org",enwikiversity:"en.wikiversity.org",enwikivoyage:"en.wikivoyage.org",eowiki:"eo.wikipedia.org",eowiktionary:"eo.wiktionary.org",eowikibooks:"eo.wikibooks.org",eowikinews:"eo.wikinews.org",eowikiquote:"eo.wikiquote.org",eowikisource:"eo.wikisource.org",eswiki:"es.wikipedia.org",eswiktionary:"es.wiktionary.org",eswikibooks:"es.wikibooks.org",eswikinews:"es.wikinews.org",eswikiquote:"es.wikiquote.org",eswikisource:"es.wikisource.org",eswikiversity:"es.wikiversity.org",eswikivoyage:"es.wikivoyage.org",etwiki:"et.wikipedia.org",etwiktionary:"et.wiktionary.org",etwikibooks:"et.wikibooks.org",etwikiquote:"et.wikiquote.org",etwikisource:"et.wikisource.org",euwiki:"eu.wikipedia.org",euwiktionary:"eu.wiktionary.org",euwikibooks:"eu.wikibooks.org",euwikiquote:"eu.wikiquote.org",extwiki:"ext.wikipedia.org",fawiki:"fa.wikipedia.org",fawiktionary:"fa.wiktionary.org",fawikibooks:"fa.wikibooks.org",fawikinews:"fa.wikinews.org",fawikiquote:"fa.wikiquote.org",fawikisource:"fa.wikisource.org",fawikivoyage:"fa.wikivoyage.org",ffwiki:"ff.wikipedia.org",fiwiki:"fi.wikipedia.org",fiwiktionary:"fi.wiktionary.org",fiwikibooks:"fi.wikibooks.org",fiwikinews:"fi.wikinews.org",fiwikiquote:"fi.wikiquote.org",fiwikisource:"fi.wikisource.org",fiwikiversity:"fi.wikiversity.org",fiu_vrowiki:"fiu-vro.wikipedia.org",fjwiki:"fj.wikipedia.org",fjwiktionary:"fj.wiktionary.org",fowiki:"fo.wikipedia.org",fowiktionary:"fo.wiktionary.org",fowikisource:"fo.wikisource.org",frwiki:"fr.wikipedia.org",frwiktionary:"fr.wiktionary.org",frwikibooks:"fr.wikibooks.org",frwikinews:"fr.wikinews.org",frwikiquote:"fr.wikiquote.org",frwikisource:"fr.wikisource.org",frwikiversity:"fr.wikiversity.org",frwikivoyage:"fr.wikivoyage.org",frpwiki:"frp.wikipedia.org",frrwiki:"frr.wikipedia.org",furwiki:"fur.wikipedia.org",fywiki:"fy.wikipedia.org",fywiktionary:"fy.wiktionary.org",fywikibooks:"fy.wikibooks.org",gawiki:"ga.wikipedia.org",gawiktionary:"ga.wiktionary.org",gawikibooks:"ga.wikibooks.org",gawikiquote:"ga.wikiquote.org",gagwiki:"gag.wikipedia.org",ganwiki:"gan.wikipedia.org",gdwiki:"gd.wikipedia.org",gdwiktionary:"gd.wiktionary.org",glwiki:"gl.wikipedia.org",glwiktionary:"gl.wiktionary.org",glwikibooks:"gl.wikibooks.org",glwikiquote:"gl.wikiquote.org",glwikisource:"gl.wikisource.org",glkwiki:"glk.wikipedia.org",gnwiki:"gn.wikipedia.org",gnwiktionary:"gn.wiktionary.org",gnwikibooks:"gn.wikibooks.org",gomwiki:"gom.wikipedia.org",gotwiki:"got.wikipedia.org",gotwikibooks:"got.wikibooks.org",guwiki:"gu.wikipedia.org",guwiktionary:"gu.wiktionary.org",guwikibooks:"gu.wikibooks.org",guwikiquote:"gu.wikiquote.org",guwikisource:"gu.wikisource.org",gvwiki:"gv.wikipedia.org",gvwiktionary:"gv.wiktionary.org",hawiki:"ha.wikipedia.org",hawiktionary:"ha.wiktionary.org",hakwiki:"hak.wikipedia.org",hawwiki:"haw.wikipedia.org",hewiki:"he.wikipedia.org",hewiktionary:"he.wiktionary.org",hewikibooks:"he.wikibooks.org",hewikinews:"he.wikinews.org",hewikiquote:"he.wikiquote.org",hewikisource:"he.wikisource.org",hewikivoyage:"he.wikivoyage.org",hiwiki:"hi.wikipedia.org",hiwiktionary:"hi.wiktionary.org",hiwikibooks:"hi.wikibooks.org",hiwikiquote:"hi.wikiquote.org",hifwiki:"hif.wikipedia.org",howiki:"ho.wikipedia.org",hrwiki:"hr.wikipedia.org",hrwiktionary:"hr.wiktionary.org",hrwikibooks:"hr.wikibooks.org",hrwikiquote:"hr.wikiquote.org",hrwikisource:"hr.wikisource.org",hsbwiki:"hsb.wikipedia.org",hsbwiktionary:"hsb.wiktionary.org",htwiki:"ht.wikipedia.org",htwikisource:"ht.wikisource.org",huwiki:"hu.wikipedia.org",huwiktionary:"hu.wiktionary.org",huwikibooks:"hu.wikibooks.org",huwikinews:"hu.wikinews.org",huwikiquote:"hu.wikiquote.org",huwikisource:"hu.wikisource.org",hywiki:"hy.wikipedia.org",hywiktionary:"hy.wiktionary.org",hywikibooks:"hy.wikibooks.org",hywikiquote:"hy.wikiquote.org",hywikisource:"hy.wikisource.org",hzwiki:"hz.wikipedia.org",iawiki:"ia.wikipedia.org",iawiktionary:"ia.wiktionary.org",iawikibooks:"ia.wikibooks.org",idwiki:"id.wikipedia.org",idwiktionary:"id.wiktionary.org",idwikibooks:"id.wikibooks.org",idwikiquote:"id.wikiquote.org",idwikisource:"id.wikisource.org",iewiki:"ie.wikipedia.org",iewiktionary:"ie.wiktionary.org",iewikibooks:"ie.wikibooks.org",igwiki:"ig.wikipedia.org",iiwiki:"ii.wikipedia.org",ikwiki:"ik.wikipedia.org",ikwiktionary:"ik.wiktionary.org",ilowiki:"ilo.wikipedia.org",iowiki:"io.wikipedia.org",iowiktionary:"io.wiktionary.org",iswiki:"is.wikipedia.org",iswiktionary:"is.wiktionary.org",iswikibooks:"is.wikibooks.org",iswikiquote:"is.wikiquote.org",iswikisource:"is.wikisource.org",itwiki:"it.wikipedia.org",itwiktionary:"it.wiktionary.org",itwikibooks:"it.wikibooks.org",itwikinews:"it.wikinews.org",itwikiquote:"it.wikiquote.org",itwikisource:"it.wikisource.org",itwikiversity:"it.wikiversity.org",itwikivoyage:"it.wikivoyage.org",iuwiki:"iu.wikipedia.org",iuwiktionary:"iu.wiktionary.org",jawiki:"ja.wikipedia.org",jawiktionary:"ja.wiktionary.org",jawikibooks:"ja.wikibooks.org",jawikinews:"ja.wikinews.org",jawikiquote:"ja.wikiquote.org",jawikisource:"ja.wikisource.org",jawikiversity:"ja.wikiversity.org",jbowiki:"jbo.wikipedia.org",jbowiktionary:"jbo.wiktionary.org",jvwiki:"jv.wikipedia.org",jvwiktionary:"jv.wiktionary.org",kawiki:"ka.wikipedia.org",kawiktionary:"ka.wiktionary.org",kawikibooks:"ka.wikibooks.org",kawikiquote:"ka.wikiquote.org",kaawiki:"kaa.wikipedia.org",kabwiki:"kab.wikipedia.org",kbdwiki:"kbd.wikipedia.org",kgwiki:"kg.wikipedia.org",kiwiki:"ki.wikipedia.org",kjwiki:"kj.wikipedia.org",kkwiki:"kk.wikipedia.org",kkwiktionary:"kk.wiktionary.org",kkwikibooks:"kk.wikibooks.org",kkwikiquote:"kk.wikiquote.org",klwiki:"kl.wikipedia.org",klwiktionary:"kl.wiktionary.org",kmwiki:"km.wikipedia.org",kmwiktionary:"km.wiktionary.org",kmwikibooks:"km.wikibooks.org",knwiki:"kn.wikipedia.org",knwiktionary:"kn.wiktionary.org",knwikibooks:"kn.wikibooks.org",knwikiquote:"kn.wikiquote.org",knwikisource:"kn.wikisource.org",kowiki:"ko.wikipedia.org",kowiktionary:"ko.wiktionary.org",kowikibooks:"ko.wikibooks.org",kowikinews:"ko.wikinews.org",kowikiquote:"ko.wikiquote.org",kowikisource:"ko.wikisource.org",kowikiversity:"ko.wikiversity.org",koiwiki:"koi.wikipedia.org",krwiki:"kr.wikipedia.org",krwikiquote:"kr.wikiquote.org",krcwiki:"krc.wikipedia.org",kswiki:"ks.wikipedia.org",kswiktionary:"ks.wiktionary.org",kswikibooks:"ks.wikibooks.org",kswikiquote:"ks.wikiquote.org",kshwiki:"ksh.wikipedia.org",kuwiki:"ku.wikipedia.org",kuwiktionary:"ku.wiktionary.org",kuwikibooks:"ku.wikibooks.org",kuwikiquote:"ku.wikiquote.org",kvwiki:"kv.wikipedia.org",kwwiki:"kw.wikipedia.org",kwwiktionary:"kw.wiktionary.org",kwwikiquote:"kw.wikiquote.org",kywiki:"ky.wikipedia.org",kywiktionary:"ky.wiktionary.org",kywikibooks:"ky.wikibooks.org",kywikiquote:"ky.wikiquote.org",lawiki:"la.wikipedia.org",lawiktionary:"la.wiktionary.org",lawikibooks:"la.wikibooks.org",lawikiquote:"la.wikiquote.org",lawikisource:"la.wikisource.org",ladwiki:"lad.wikipedia.org",lbwiki:"lb.wikipedia.org",lbwiktionary:"lb.wiktionary.org",lbwikibooks:"lb.wikibooks.org",lbwikiquote:"lb.wikiquote.org",lbewiki:"lbe.wikipedia.org",lezwiki:"lez.wikipedia.org",lgwiki:"lg.wikipedia.org",liwiki:"li.wikipedia.org",liwiktionary:"li.wiktionary.org",liwikibooks:"li.wikibooks.org",liwikiquote:"li.wikiquote.org",liwikisource:"li.wikisource.org",lijwiki:"lij.wikipedia.org",lmowiki:"lmo.wikipedia.org",lnwiki:"ln.wikipedia.org",lnwiktionary:"ln.wiktionary.org",lnwikibooks:"ln.wikibooks.org",lowiki:"lo.wikipedia.org",lowiktionary:"lo.wiktionary.org",lrcwiki:"lrc.wikipedia.org",ltwiki:"lt.wikipedia.org",ltwiktionary:"lt.wiktionary.org",ltwikibooks:"lt.wikibooks.org",ltwikiquote:"lt.wikiquote.org",ltwikisource:"lt.wikisource.org",ltgwiki:"ltg.wikipedia.org",lvwiki:"lv.wikipedia.org",lvwiktionary:"lv.wiktionary.org",lvwikibooks:"lv.wikibooks.org",maiwiki:"mai.wikipedia.org",map_bmswiki:"map-bms.wikipedia.org",mdfwiki:"mdf.wikipedia.org",mgwiki:"mg.wikipedia.org",mgwiktionary:"mg.wiktionary.org",mgwikibooks:"mg.wikibooks.org",mhwiki:"mh.wikipedia.org",mhwiktionary:"mh.wiktionary.org",mhrwiki:"mhr.wikipedia.org",miwiki:"mi.wikipedia.org",miwiktionary:"mi.wiktionary.org",miwikibooks:"mi.wikibooks.org",minwiki:"min.wikipedia.org",mkwiki:"mk.wikipedia.org",mkwiktionary:"mk.wiktionary.org",mkwikibooks:"mk.wikibooks.org",mkwikisource:"mk.wikisource.org",mlwiki:"ml.wikipedia.org",mlwiktionary:"ml.wiktionary.org",mlwikibooks:"ml.wikibooks.org",mlwikiquote:"ml.wikiquote.org",mlwikisource:"ml.wikisource.org",mnwiki:"mn.wikipedia.org",mnwiktionary:"mn.wiktionary.org",mnwikibooks:"mn.wikibooks.org",mowiki:"mo.wikipedia.org",mowiktionary:"mo.wiktionary.org",mrwiki:"mr.wikipedia.org",mrwiktionary:"mr.wiktionary.org",mrwikibooks:"mr.wikibooks.org",mrwikiquote:"mr.wikiquote.org",mrwikisource:"mr.wikisource.org",mrjwiki:"mrj.wikipedia.org",mswiki:"ms.wikipedia.org",mswiktionary:"ms.wiktionary.org",mswikibooks:"ms.wikibooks.org",mtwiki:"mt.wikipedia.org",mtwiktionary:"mt.wiktionary.org",muswiki:"mus.wikipedia.org",mwlwiki:"mwl.wikipedia.org",mywiki:"my.wikipedia.org",mywiktionary:"my.wiktionary.org",mywikibooks:"my.wikibooks.org",myvwiki:"myv.wikipedia.org",mznwiki:"mzn.wikipedia.org",nawiki:"na.wikipedia.org",nawiktionary:"na.wiktionary.org",nawikibooks:"na.wikibooks.org",nawikiquote:"na.wikiquote.org",nahwiki:"nah.wikipedia.org",nahwiktionary:"nah.wiktionary.org",nahwikibooks:"nah.wikibooks.org",napwiki:"nap.wikipedia.org",ndswiki:"nds.wikipedia.org",ndswiktionary:"nds.wiktionary.org",ndswikibooks:"nds.wikibooks.org",ndswikiquote:"nds.wikiquote.org",nds_nlwiki:"nds-nl.wikipedia.org",newiki:"ne.wikipedia.org",newiktionary:"ne.wiktionary.org",newikibooks:"ne.wikibooks.org",newwiki:"new.wikipedia.org",ngwiki:"ng.wikipedia.org",nlwiki:"nl.wikipedia.org",nlwiktionary:"nl.wiktionary.org",nlwikibooks:"nl.wikibooks.org",nlwikinews:"nl.wikinews.org",nlwikiquote:"nl.wikiquote.org",nlwikisource:"nl.wikisource.org",nlwikivoyage:"nl.wikivoyage.org",nnwiki:"nn.wikipedia.org",nnwiktionary:"nn.wiktionary.org",nnwikiquote:"nn.wikiquote.org",nowiki:"no.wikipedia.org",nowiktionary:"no.wiktionary.org",nowikibooks:"no.wikibooks.org",nowikinews:"no.wikinews.org",nowikiquote:"no.wikiquote.org",nowikisource:"no.wikisource.org",novwiki:"nov.wikipedia.org",nrmwiki:"nrm.wikipedia.org",nsowiki:"nso.wikipedia.org",nvwiki:"nv.wikipedia.org",nywiki:"ny.wikipedia.org",ocwiki:"oc.wikipedia.org",ocwiktionary:"oc.wiktionary.org",ocwikibooks:"oc.wikibooks.org",omwiki:"om.wikipedia.org",omwiktionary:"om.wiktionary.org",orwiki:"or.wikipedia.org",orwiktionary:"or.wiktionary.org",orwikisource:"or.wikisource.org",oswiki:"os.wikipedia.org",pawiki:"pa.wikipedia.org",pawiktionary:"pa.wiktionary.org",pawikibooks:"pa.wikibooks.org",pagwiki:"pag.wikipedia.org",pamwiki:"pam.wikipedia.org",papwiki:"pap.wikipedia.org",pcdwiki:"pcd.wikipedia.org",pdcwiki:"pdc.wikipedia.org",pflwiki:"pfl.wikipedia.org",piwiki:"pi.wikipedia.org",piwiktionary:"pi.wiktionary.org",pihwiki:"pih.wikipedia.org",plwiki:"pl.wikipedia.org",plwiktionary:"pl.wiktionary.org",plwikibooks:"pl.wikibooks.org",plwikinews:"pl.wikinews.org",plwikiquote:"pl.wikiquote.org",plwikisource:"pl.wikisource.org",plwikivoyage:"pl.wikivoyage.org",pmswiki:"pms.wikipedia.org",pnbwiki:"pnb.wikipedia.org",pnbwiktionary:"pnb.wiktionary.org",pntwiki:"pnt.wikipedia.org",pswiki:"ps.wikipedia.org",pswiktionary:"ps.wiktionary.org",pswikibooks:"ps.wikibooks.org",ptwiki:"pt.wikipedia.org",ptwiktionary:"pt.wiktionary.org",ptwikibooks:"pt.wikibooks.org",ptwikinews:"pt.wikinews.org",ptwikiquote:"pt.wikiquote.org",ptwikisource:"pt.wikisource.org",ptwikiversity:"pt.wikiversity.org",ptwikivoyage:"pt.wikivoyage.org",quwiki:"qu.wikipedia.org",quwiktionary:"qu.wiktionary.org",quwikibooks:"qu.wikibooks.org",quwikiquote:"qu.wikiquote.org",rmwiki:"rm.wikipedia.org",rmwiktionary:"rm.wiktionary.org",rmwikibooks:"rm.wikibooks.org",rmywiki:"rmy.wikipedia.org",rnwiki:"rn.wikipedia.org",rnwiktionary:"rn.wiktionary.org",rowiki:"ro.wikipedia.org",rowiktionary:"ro.wiktionary.org",rowikibooks:"ro.wikibooks.org",rowikinews:"ro.wikinews.org",rowikiquote:"ro.wikiquote.org",rowikisource:"ro.wikisource.org",rowikivoyage:"ro.wikivoyage.org",roa_rupwiki:"roa-rup.wikipedia.org",roa_rupwiktionary:"roa-rup.wiktionary.org",roa_tarawiki:"roa-tara.wikipedia.org",ruwiki:"ru.wikipedia.org",ruwiktionary:"ru.wiktionary.org",ruwikibooks:"ru.wikibooks.org",ruwikinews:"ru.wikinews.org",ruwikiquote:"ru.wikiquote.org",ruwikisource:"ru.wikisource.org",ruwikiversity:"ru.wikiversity.org",ruwikivoyage:"ru.wikivoyage.org",ruewiki:"rue.wikipedia.org",rwwiki:"rw.wikipedia.org",rwwiktionary:"rw.wiktionary.org",sawiki:"sa.wikipedia.org",sawiktionary:"sa.wiktionary.org",sawikibooks:"sa.wikibooks.org",sawikiquote:"sa.wikiquote.org",sawikisource:"sa.wikisource.org",sahwiki:"sah.wikipedia.org",sahwikisource:"sah.wikisource.org",scwiki:"sc.wikipedia.org",scwiktionary:"sc.wiktionary.org",scnwiki:"scn.wikipedia.org",scnwiktionary:"scn.wiktionary.org",scowiki:"sco.wikipedia.org",sdwiki:"sd.wikipedia.org",sdwiktionary:"sd.wiktionary.org",sdwikinews:"sd.wikinews.org",sewiki:"se.wikipedia.org",sewikibooks:"se.wikibooks.org",sgwiki:"sg.wikipedia.org",sgwiktionary:"sg.wiktionary.org",shwiki:"sh.wikipedia.org",shwiktionary:"sh.wiktionary.org",siwiki:"si.wikipedia.org",siwiktionary:"si.wiktionary.org",siwikibooks:"si.wikibooks.org",simplewiki:"simple.wikipedia.org",simplewiktionary:"simple.wiktionary.org",simplewikibooks:"simple.wikibooks.org",simplewikiquote:"simple.wikiquote.org",skwiki:"sk.wikipedia.org",skwiktionary:"sk.wiktionary.org",skwikibooks:"sk.wikibooks.org",skwikiquote:"sk.wikiquote.org",skwikisource:"sk.wikisource.org",slwiki:"sl.wikipedia.org",slwiktionary:"sl.wiktionary.org",slwikibooks:"sl.wikibooks.org",slwikiquote:"sl.wikiquote.org",slwikisource:"sl.wikisource.org",slwikiversity:"sl.wikiversity.org",smwiki:"sm.wikipedia.org",smwiktionary:"sm.wiktionary.org",snwiki:"sn.wikipedia.org",snwiktionary:"sn.wiktionary.org",sowiki:"so.wikipedia.org",sowiktionary:"so.wiktionary.org",sqwiki:"sq.wikipedia.org",sqwiktionary:"sq.wiktionary.org",sqwikibooks:"sq.wikibooks.org",sqwikinews:"sq.wikinews.org",sqwikiquote:"sq.wikiquote.org",srwiki:"sr.wikipedia.org",srwiktionary:"sr.wiktionary.org",srwikibooks:"sr.wikibooks.org",srwikinews:"sr.wikinews.org",srwikiquote:"sr.wikiquote.org",srwikisource:"sr.wikisource.org",srnwiki:"srn.wikipedia.org",sswiki:"ss.wikipedia.org",sswiktionary:"ss.wiktionary.org",stwiki:"st.wikipedia.org",stwiktionary:"st.wiktionary.org",stqwiki:"stq.wikipedia.org",suwiki:"su.wikipedia.org",suwiktionary:"su.wiktionary.org",suwikibooks:"su.wikibooks.org",suwikiquote:"su.wikiquote.org",svwiki:"sv.wikipedia.org",svwiktionary:"sv.wiktionary.org",svwikibooks:"sv.wikibooks.org",svwikinews:"sv.wikinews.org",svwikiquote:"sv.wikiquote.org",svwikisource:"sv.wikisource.org",svwikiversity:"sv.wikiversity.org",svwikivoyage:"sv.wikivoyage.org",swwiki:"sw.wikipedia.org",swwiktionary:"sw.wiktionary.org",swwikibooks:"sw.wikibooks.org",szlwiki:"szl.wikipedia.org",tawiki:"ta.wikipedia.org",tawiktionary:"ta.wiktionary.org",tawikibooks:"ta.wikibooks.org",tawikinews:"ta.wikinews.org",tawikiquote:"ta.wikiquote.org",tawikisource:"ta.wikisource.org",tewiki:"te.wikipedia.org",tewiktionary:"te.wiktionary.org",tewikibooks:"te.wikibooks.org",tewikiquote:"te.wikiquote.org",tewikisource:"te.wikisource.org",tetwiki:"tet.wikipedia.org",tgwiki:"tg.wikipedia.org",tgwiktionary:"tg.wiktionary.org",tgwikibooks:"tg.wikibooks.org",thwiki:"th.wikipedia.org",thwiktionary:"th.wiktionary.org",thwikibooks:"th.wikibooks.org",thwikinews:"th.wikinews.org",thwikiquote:"th.wikiquote.org",thwikisource:"th.wikisource.org",tiwiki:"ti.wikipedia.org",tiwiktionary:"ti.wiktionary.org",tkwiki:"tk.wikipedia.org",tkwiktionary:"tk.wiktionary.org",tkwikibooks:"tk.wikibooks.org",tkwikiquote:"tk.wikiquote.org",tlwiki:"tl.wikipedia.org",tlwiktionary:"tl.wiktionary.org",tlwikibooks:"tl.wikibooks.org",tnwiki:"tn.wikipedia.org",tnwiktionary:"tn.wiktionary.org",towiki:"to.wikipedia.org",towiktionary:"to.wiktionary.org",tpiwiki:"tpi.wikipedia.org",tpiwiktionary:"tpi.wiktionary.org",trwiki:"tr.wikipedia.org",trwiktionary:"tr.wiktionary.org",trwikibooks:"tr.wikibooks.org",trwikinews:"tr.wikinews.org",trwikiquote:"tr.wikiquote.org",trwikisource:"tr.wikisource.org",tswiki:"ts.wikipedia.org",tswiktionary:"ts.wiktionary.org",ttwiki:"tt.wikipedia.org",ttwiktionary:"tt.wiktionary.org",ttwikibooks:"tt.wikibooks.org",ttwikiquote:"tt.wikiquote.org",tumwiki:"tum.wikipedia.org",twwiki:"tw.wikipedia.org",twwiktionary:"tw.wiktionary.org",tywiki:"ty.wikipedia.org",tyvwiki:"tyv.wikipedia.org",udmwiki:"udm.wikipedia.org",ugwiki:"ug.wikipedia.org",ugwiktionary:"ug.wiktionary.org",ugwikibooks:"ug.wikibooks.org",ugwikiquote:"ug.wikiquote.org",ukwiki:"uk.wikipedia.org",ukwiktionary:"uk.wiktionary.org",ukwikibooks:"uk.wikibooks.org",ukwikinews:"uk.wikinews.org",ukwikiquote:"uk.wikiquote.org",ukwikisource:"uk.wikisource.org",ukwikivoyage:"uk.wikivoyage.org",urwiki:"ur.wikipedia.org",urwiktionary:"ur.wiktionary.org",urwikibooks:"ur.wikibooks.org",urwikiquote:"ur.wikiquote.org",uzwiki:"uz.wikipedia.org",uzwiktionary:"uz.wiktionary.org",uzwikibooks:"uz.wikibooks.org",uzwikiquote:"uz.wikiquote.org",vewiki:"ve.wikipedia.org",vecwiki:"vec.wikipedia.org",vecwiktionary:"vec.wiktionary.org",vecwikisource:"vec.wikisource.org",vepwiki:"vep.wikipedia.org",viwiki:"vi.wikipedia.org",viwiktionary:"vi.wiktionary.org",viwikibooks:"vi.wikibooks.org",viwikiquote:"vi.wikiquote.org",viwikisource:"vi.wikisource.org",viwikivoyage:"vi.wikivoyage.org",vlswiki:"vls.wikipedia.org",vowiki:"vo.wikipedia.org",vowiktionary:"vo.wiktionary.org",vowikibooks:"vo.wikibooks.org",vowikiquote:"vo.wikiquote.org",wawiki:"wa.wikipedia.org",wawiktionary:"wa.wiktionary.org",wawikibooks:"wa.wikibooks.org",warwiki:"war.wikipedia.org",wowiki:"wo.wikipedia.org",wowiktionary:"wo.wiktionary.org",wowikiquote:"wo.wikiquote.org",wuuwiki:"wuu.wikipedia.org",xalwiki:"xal.wikipedia.org",xhwiki:"xh.wikipedia.org",xhwiktionary:"xh.wiktionary.org",xhwikibooks:"xh.wikibooks.org",xmfwiki:"xmf.wikipedia.org",yiwiki:"yi.wikipedia.org",yiwiktionary:"yi.wiktionary.org",yiwikisource:"yi.wikisource.org",yowiki:"yo.wikipedia.org",yowiktionary:"yo.wiktionary.org",yowikibooks:"yo.wikibooks.org",zawiki:"za.wikipedia.org",zawiktionary:"za.wiktionary.org",zawikibooks:"za.wikibooks.org",zawikiquote:"za.wikiquote.org",zeawiki:"zea.wikipedia.org",zhwiki:"zh.wikipedia.org",zhwiktionary:"zh.wiktionary.org",zhwikibooks:"zh.wikibooks.org",zhwikinews:"zh.wikinews.org",zhwikiquote:"zh.wikiquote.org",zhwikisource:"zh.wikisource.org",zhwikivoyage:"zh.wikivoyage.org",zh_classicalwiki:"zh-classical.wikipedia.org",zh_min_nanwiki:"zh-min-nan.wikipedia.org",zh_min_nanwiktionary:"zh-min-nan.wiktionary.org",zh_min_nanwikibooks:"zh-min-nan.wikibooks.org",zh_min_nanwikiquote:"zh-min-nan.wikiquote.org",zh_min_nanwikisource:"zh-min-nan.wikisource.org",zh_yuewiki:"zh-yue.wikipedia.org",zuwiki:"zu.wikipedia.org",zuwiktionary:"zu.wiktionary.org",zuwikibooks:"zu.wikibooks.org",advisorywiki:"advisory.wikimedia.org",arwikimedia:"ar.wikimedia.org",arbcom_dewiki:"arbcom-de.wikipedia.org",arbcom_enwiki:"arbcom-en.wikipedia.org",arbcom_fiwiki:"arbcom-fi.wikipedia.org",arbcom_nlwiki:"arbcom-nl.wikipedia.org",auditcomwiki:"auditcom.wikimedia.org",bdwikimedia:"bd.wikimedia.org",bewikimedia:"be.wikimedia.org",betawikiversity:"beta.wikiversity.org",boardwiki:"board.wikimedia.org",boardgovcomwiki:"boardgovcom.wikimedia.org",brwikimedia:"br.wikimedia.org",cawikimedia:"ca.wikimedia.org",chairwiki:"chair.wikimedia.org",chapcomwiki:"affcom.wikimedia.org",checkuserwiki:"checkuser.wikimedia.org",cnwikimedia:"cn.wikimedia.org",cowikimedia:"co.wikimedia.org",collabwiki:"collab.wikimedia.org",commonswiki:"commons.wikimedia.org",dkwikimedia:"dk.wikimedia.org",donatewiki:"donate.wikimedia.org",etwikimedia:"ee.wikimedia.org",execwiki:"exec.wikimedia.org",fdcwiki:"fdc.wikimedia.org",fiwikimedia:"fi.wikimedia.org",foundationwiki:"wikimediafoundation.org",grantswiki:"grants.wikimedia.org",iegcomwiki:"iegcom.wikimedia.org",ilwikimedia:"il.wikimedia.org",incubatorwiki:"incubator.wikimedia.org", +internalwiki:"internal.wikimedia.org",labswiki:"wikitech.wikimedia.org",labtestwiki:"labtestwikitech.wikimedia.org",legalteamwiki:"legalteam.wikimedia.org",loginwiki:"login.wikimedia.org",mediawikiwiki:"mediawiki.org",metawiki:"meta.wikimedia.org",mkwikimedia:"mk.wikimedia.org",movementroleswiki:"movementroles.wikimedia.org",mxwikimedia:"mx.wikimedia.org",nlwikimedia:"nl.wikimedia.org",nowikimedia:"no.wikimedia.org",noboard_chapterswikimedia:"noboard-chapters.wikimedia.org",nostalgiawiki:"nostalgia.wikipedia.org",nycwikimedia:"nyc.wikimedia.org",nzwikimedia:"nz.wikimedia.org",officewiki:"office.wikimedia.org",ombudsmenwiki:"ombudsmen.wikimedia.org",otrs_wikiwiki:"otrs-wiki.wikimedia.org",outreachwiki:"outreach.wikimedia.org",pa_uswikimedia:"pa-us.wikimedia.org",plwikimedia:"pl.wikimedia.org",qualitywiki:"quality.wikimedia.org",rswikimedia:"rs.wikimedia.org",ruwikimedia:"ru.wikimedia.org",sewikimedia:"se.wikimedia.org",searchcomwiki:"searchcom.wikimedia.org",sourceswiki:"wikisource.org",spcomwiki:"spcom.wikimedia.org",specieswiki:"species.wikimedia.org",stewardwiki:"steward.wikimedia.org",strategywiki:"strategy.wikimedia.org",tenwiki:"ten.wikipedia.org",testwiki:"test.wikipedia.org",test2wiki:"test2.wikipedia.org",testwikidatawiki:"test.wikidata.org",trwikimedia:"tr.wikimedia.org",transitionteamwiki:"transitionteam.wikimedia.org",uawikimedia:"ua.wikimedia.org",ukwikimedia:"uk.wikimedia.org",usabilitywiki:"usability.wikimedia.org",votewiki:"vote.wikimedia.org",wg_enwiki:"wg-en.wikipedia.org",wikidatawiki:"wikidata.org",wikimania2005wiki:"wikimania2005.wikimedia.org",wikimania2006wiki:"wikimania2006.wikimedia.org",wikimania2007wiki:"wikimania2007.wikimedia.org",wikimania2008wiki:"wikimania2008.wikimedia.org",wikimania2009wiki:"wikimania2009.wikimedia.org",wikimania2010wiki:"wikimania2010.wikimedia.org",wikimania2011wiki:"wikimania2011.wikimedia.org",wikimania2012wiki:"wikimania2012.wikimedia.org",wikimania2013wiki:"wikimania2013.wikimedia.org",wikimania2014wiki:"wikimania2014.wikimedia.org",wikimania2015wiki:"wikimania2015.wikimedia.org",wikimania2016wiki:"wikimania2016.wikimedia.org",wikimania2017wiki:"wikimania2017.wikimedia.org",wikimaniateamwiki:"wikimaniateam.wikimedia.org",zerowiki:"zero.wikimedia.org"};b.exports=d},{}]},{},[3,4,5,6,7,8,9,2]); \ No newline at end of file diff --git a/public_html/massviews/faq/index.php b/public_html/massviews/faq/index.php index c36faf7df..3f9ccd048 100644 --- a/public_html/massviews/faq/index.php +++ b/public_html/massviews/faq/index.php @@ -27,23 +27,38 @@

  • - msg( 'page-pile-id' ); ?> + https://en.wikipedia.org/wiki/Category:Folk_musicians_from_New_York"; ?> + msg( 'category' ); ?> + — + msg( 'faq-massviews-sources-category', array( 'variables' => array( $categoryLink ) ) ); ?> +
  • +
  • + https://en.wikipedia.org/wiki/Book:New_York_City"; ?> + msg( 'wikilinks' ); ?> + — + msg( 'faq-massviews-sources-wikilinks', array( 'variables' => array( $wikilinksLink ) ) ); ?> +
  • +
  • Page Pile"; ?> - + Page Pile + — msg( 'faq-massviews-sources-pagepile', array( 'variables' => array( $pagePileLink ) ) ); ?>
  • - https://en.wikipedia.org/wiki/Category:Folk_musicians_from_New_York"; ?> - msg( 'category-url' ); ?> - msg( 'faq-massviews-sources-category-url', array( 'variables' => array( $categoryLink ) ) ); ?> + https://en.wikipedia.org/wiki/Template:Infobox_Olympic_games"; ?> + msg( 'transclusions' ); ?> + — + msg( 'faq-massviews-sources-template', array( 'variables' => array( $templateLink ) ) ); ?>
  • - https://en.wikipedia.org/wiki/Template:Infobox_Olympic_games"; ?> - msg( 'template-url' ); ?> - msg( 'faq-massviews-sources-template-url', array( 'variables' => array( $templateLink ) ) ); ?> + https://en.wikipedia.org/wiki/User:Example"; ?> + msg( 'subpages' ); ?> + — + msg( 'faq-massviews-sources-subpages', array( 'variables' => array( $subpagesLink ) ) ); ?>
  • Quarry + — msg( 'faq-massviews-sources-quarry', array( 'variables' => array( 'Quarry', 'page_title' ) ) ); ?>
diff --git a/public_html/massviews/index.php b/public_html/massviews/index.php index e94407b32..0292ce8d9 100644 --- a/public_html/massviews/index.php +++ b/public_html/massviews/index.php @@ -106,17 +106,27 @@