{"version":3,"file":"runestone.e00ad9c8384ced97.bundle.js","mappings":"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","sources":["webpack://WebComponents/./runestone/common/js/bookfuncs.js","webpack://WebComponents/./runestone/common/js/jquery.idle-timer.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.emitter.bidi.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.emitter.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.fallbacks.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.language.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.messagestore.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.parser.js","webpack://WebComponents/./runestone/common/js/presenter_mode.js","webpack://WebComponents/./runestone/common/js/runestonebase.js","webpack://WebComponents/./runestone/common/project_template/_templates/plugin_layouts/sphinx_bootstrap/static/bootstrap-sphinx.js","webpack://WebComponents/./runestone/common/js/user-highlights.js","webpack://WebComponents/./runestone/common/js/pretext.js","webpack://WebComponents/./webpack.index.js","webpack://WebComponents/./runestone/common/js/theme.js","webpack://WebComponents/external var \"jQuery\""],"sourcesContent":["/**\n *\n * User: bmiller\n * Original: 2011-04-20\n * Date: 2019-06-14\n * Time: 2:01 PM\n * This change marks the beginning of version 4.0 of the runestone components\n * Login/logout is no longer handled through javascript but rather server side.\n * Many of the components depend on the runestone:login event so we will keep that\n * for now to keep the churn fairly minimal.\n */\n\n/*\n\n Copyright (C) 2011 Brad Miller bonelake@gmail.com\n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see
load('path/to/all_localizations.json');
\n\t\t *\n\t\t * To load a localization file for a locale:\n\t\t * \n\t\t * load('path/to/de-messages.json', 'de' );\n\t\t *
\n\t\t *\n\t\t * To load a localization file from a directory:\n\t\t * \n\t\t * load('path/to/i18n/directory', 'de' );\n\t\t *
\n\t\t * The above method has the advantage of fallback resolution.\n\t\t * ie, it will automatically load the fallback locales for de.\n\t\t * For most usecases, this is the recommended method.\n\t\t * It is optional to have trailing slash at end.\n\t\t *\n\t\t * A data object containing message key- message translation mappings\n\t\t * can also be passed. Example:\n\t\t * \n\t\t * load( { 'hello' : 'Hello' }, optionalLocale );\n\t\t *
\n\t\t *\n\t\t * A source map containing key-value pair of languagename and locations\n\t\t * can also be passed. Example:\n\t\t * \n\t\t * load( {\n\t\t * bn: 'i18n/bn.json',\n\t\t * he: 'i18n/he.json',\n\t\t * en: 'i18n/en.json'\n\t\t * } )\n\t\t *
\n\t\t *\n\t\t * If the data argument is null/undefined/false,\n\t\t * all cached messages for the i18n instance will get reset.\n\t\t *\n\t\t * @param {string|Object} source\n\t\t * @param {string} locale Language tag\n\t\t * @return {jQuery.Promise}\n\t\t */\n\t\tload: function ( source, locale ) {\n\t\t\tvar fallbackLocales, locIndex, fallbackLocale, sourceMap = {};\n\t\t\tif ( !source && !locale ) {\n\t\t\t\tsource = 'i18n/' + $.i18n().locale + '.json';\n\t\t\t\tlocale = $.i18n().locale;\n\t\t\t}\n\t\t\tif ( typeof source === 'string' &&\n\t\t\t\t// source extension should be json, but can have query params after that.\n\t\t\t\tsource.split( '?' )[ 0 ].split( '.' ).pop() !== 'json'\n\t\t\t) {\n\t\t\t\t// Load specified locale then check for fallbacks when directory is\n\t\t\t\t// specified in load()\n\t\t\t\tsourceMap[ locale ] = source + '/' + locale + '.json';\n\t\t\t\tfallbackLocales = ( $.i18n.fallbacks[ locale ] || [] )\n\t\t\t\t\t.concat( this.options.fallbackLocale );\n\t\t\t\tfor ( locIndex = 0; locIndex < fallbackLocales.length; locIndex++ ) {\n\t\t\t\t\tfallbackLocale = fallbackLocales[ locIndex ];\n\t\t\t\t\tsourceMap[ fallbackLocale ] = source + '/' + fallbackLocale + '.json';\n\t\t\t\t}\n\t\t\t\treturn this.load( sourceMap );\n\t\t\t} else {\n\t\t\t\treturn this.messageStore.load( source, locale );\n\t\t\t}\n\n\t\t},\n\n\t\t/**\n\t\t * Does parameter and magic word substitution.\n\t\t *\n\t\t * @param {string} key Message key\n\t\t * @param {Array} parameters Message parameters\n\t\t * @return {string}\n\t\t */\n\t\tparse: function ( key, parameters ) {\n\t\t\tvar message = this.localize( key );\n\t\t\t// FIXME: This changes the state of the I18N object,\n\t\t\t// should probably not change the 'this.parser' but just\n\t\t\t// pass it to the parser.\n\t\t\tthis.parser.language = $.i18n.languages[ $.i18n().locale ] || $.i18n.languages[ 'default' ];\n\t\t\tif ( message === '' ) {\n\t\t\t\tmessage = key;\n\t\t\t}\n\t\t\treturn this.parser.parse( message, parameters );\n\t\t}\n\t};\n\n\t/**\n\t * Process a message from the $.I18N instance\n\t * for the current document, stored in jQuery.data(document).\n\t *\n\t * @param {string} key Key of the message.\n\t * @param {string} param1 [param...] Variadic list of parameters for {key}.\n\t * @return {string|$.I18N} Parsed message, or if no key was given\n\t * the instance of $.I18N is returned.\n\t */\n\t$.i18n = function ( key, param1 ) {\n\t\tvar parameters,\n\t\t\ti18n = $.data( document, 'i18n' ),\n\t\t\toptions = typeof key === 'object' && key;\n\n\t\t// If the locale option for this call is different then the setup so far,\n\t\t// update it automatically. This doesn't just change the context for this\n\t\t// call but for all future call as well.\n\t\t// If there is no i18n setup yet, don't do this. It will be taken care of\n\t\t// by the `new I18N` construction below.\n\t\t// NOTE: It should only change language for this one call.\n\t\t// Then cache instances of I18N somewhere.\n\t\tif ( options && options.locale && i18n && i18n.locale !== options.locale ) {\n\t\t\ti18n.locale = options.locale;\n\t\t}\n\n\t\tif ( !i18n ) {\n\t\t\ti18n = new I18N( options );\n\t\t\t$.data( document, 'i18n', i18n );\n\t\t}\n\n\t\tif ( typeof key === 'string' ) {\n\t\t\tif ( param1 !== undefined ) {\n\t\t\t\tparameters = slice.call( arguments, 1 );\n\t\t\t} else {\n\t\t\t\tparameters = [];\n\t\t\t}\n\n\t\t\treturn i18n.parse( key, parameters );\n\t\t} else {\n\t\t\t// FIXME: remove this feature/bug.\n\t\t\treturn i18n;\n\t\t}\n\t};\n\n\t$.fn.i18n = function () {\n\t\tvar i18n = $.data( document, 'i18n' );\n\n\t\tif ( !i18n ) {\n\t\t\ti18n = new I18N();\n\t\t\t$.data( document, 'i18n', i18n );\n\t\t}\n\n\t\treturn this.each( function () {\n\t\t\tvar $this = $( this ),\n\t\t\t\tmessageKey = $this.data( 'i18n' ),\n\t\t\t\tlBracket, rBracket, type, key;\n\n\t\t\tif ( messageKey ) {\n\t\t\t\tlBracket = messageKey.indexOf( '[' );\n\t\t\t\trBracket = messageKey.indexOf( ']' );\n\t\t\t\tif ( lBracket !== -1 && rBracket !== -1 && lBracket < rBracket ) {\n\t\t\t\t\ttype = messageKey.slice( lBracket + 1, rBracket );\n\t\t\t\t\tkey = messageKey.slice( rBracket + 1 );\n\t\t\t\t\tif ( type === 'html' ) {\n\t\t\t\t\t\t$this.html( i18n.parse( key ) );\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$this.attr( type, i18n.parse( key ) );\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t$this.text( i18n.parse( messageKey ) );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t$this.find( '[data-i18n]' ).i18n();\n\t\t\t}\n\t\t} );\n\t};\n\n\tfunction getDefaultLocale() {\n\t\tvar nav, locale = $( 'html' ).attr( 'lang' );\n\n\t\tif ( !locale ) {\n\t\t\tif ( typeof window.navigator !== undefined ) {\n\t\t\t\tnav = window.navigator;\n\t\t\t\tlocale = nav.language || nav.userLanguage || '';\n\t\t\t} else {\n\t\t\t\tlocale = '';\n\t\t\t}\n\t\t}\n\t\treturn locale;\n\t}\n\n\t$.i18n.languages = {};\n\t$.i18n.messageStore = $.i18n.messageStore || {};\n\t$.i18n.parser = {\n\t\t// The default parser only handles variable substitution\n\t\tparse: function ( message, parameters ) {\n\t\t\treturn message.replace( /\\$(\\d+)/g, function ( str, match ) {\n\t\t\t\tvar index = parseInt( match, 10 ) - 1;\n\t\t\t\treturn parameters[ index ] !== undefined ? parameters[ index ] : '$' + match;\n\t\t\t} );\n\t\t},\n\t\temitter: {}\n\t};\n\t$.i18n.fallbacks = {};\n\t$.i18n.debug = false;\n\t$.i18n.log = function ( /* arguments */ ) {\n\t\tif ( window.console && $.i18n.debug ) {\n\t\t\twindow.console.log.apply( window.console, arguments );\n\t\t}\n\t};\n\t/* Static members */\n\tI18N.defaults = {\n\t\tlocale: getDefaultLocale(),\n\t\tfallbackLocale: 'en',\n\t\tparser: $.i18n.parser,\n\t\tmessageStore: $.i18n.messageStore\n\t};\n\n\t// Expose constructor\n\t$.i18n.constructor = I18N;\n}( jQuery ) );","/* global pluralRuleParser */\n( function ( $ ) {\n\t'use strict';\n\n\t// jscs:disable\n\tvar language = {\n\t\t// CLDR plural rules generated using\n\t\t// libs/CLDRPluralRuleParser/tools/PluralXML2JSON.html\n\t\tpluralRules: {\n\t\t\tak: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tam: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\tar: {\n\t\t\t\tzero: 'n = 0',\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2',\n\t\t\t\tfew: 'n % 100 = 3..10',\n\t\t\t\tmany: 'n % 100 = 11..99'\n\t\t\t},\n\t\t\tars: {\n\t\t\t\tzero: 'n = 0',\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2',\n\t\t\t\tfew: 'n % 100 = 3..10',\n\t\t\t\tmany: 'n % 100 = 11..99'\n\t\t\t},\n\t\t\tas: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\tbe: {\n\t\t\t\tone: 'n % 10 = 1 and n % 100 != 11',\n\t\t\t\tfew: 'n % 10 = 2..4 and n % 100 != 12..14',\n\t\t\t\tmany: 'n % 10 = 0 or n % 10 = 5..9 or n % 100 = 11..14'\n\t\t\t},\n\t\t\tbh: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tbn: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\tbr: {\n\t\t\t\tone: 'n % 10 = 1 and n % 100 != 11,71,91',\n\t\t\t\ttwo: 'n % 10 = 2 and n % 100 != 12,72,92',\n\t\t\t\tfew: 'n % 10 = 3..4,9 and n % 100 != 10..19,70..79,90..99',\n\t\t\t\tmany: 'n != 0 and n % 1000000 = 0'\n\t\t\t},\n\t\t\tbs: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11',\n\t\t\t\tfew: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14'\n\t\t\t},\n\t\t\tcs: {\n\t\t\t\tone: 'i = 1 and v = 0',\n\t\t\t\tfew: 'i = 2..4 and v = 0',\n\t\t\t\tmany: 'v != 0'\n\t\t\t},\n\t\t\tcy: {\n\t\t\t\tzero: 'n = 0',\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2',\n\t\t\t\tfew: 'n = 3',\n\t\t\t\tmany: 'n = 6'\n\t\t\t},\n\t\t\tda: {\n\t\t\t\tone: 'n = 1 or t != 0 and i = 0,1'\n\t\t\t},\n\t\t\tdsb: {\n\t\t\t\tone: 'v = 0 and i % 100 = 1 or f % 100 = 1',\n\t\t\t\ttwo: 'v = 0 and i % 100 = 2 or f % 100 = 2',\n\t\t\t\tfew: 'v = 0 and i % 100 = 3..4 or f % 100 = 3..4'\n\t\t\t},\n\t\t\tfa: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\tff: {\n\t\t\t\tone: 'i = 0,1'\n\t\t\t},\n\t\t\tfil: {\n\t\t\t\tone: 'v = 0 and i = 1,2,3 or v = 0 and i % 10 != 4,6,9 or v != 0 and f % 10 != 4,6,9'\n\t\t\t},\n\t\t\tfr: {\n\t\t\t\tone: 'i = 0,1'\n\t\t\t},\n\t\t\tga: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2',\n\t\t\t\tfew: 'n = 3..6',\n\t\t\t\tmany: 'n = 7..10'\n\t\t\t},\n\t\t\tgd: {\n\t\t\t\tone: 'n = 1,11',\n\t\t\t\ttwo: 'n = 2,12',\n\t\t\t\tfew: 'n = 3..10,13..19'\n\t\t\t},\n\t\t\tgu: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\tguw: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tgv: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1',\n\t\t\t\ttwo: 'v = 0 and i % 10 = 2',\n\t\t\t\tfew: 'v = 0 and i % 100 = 0,20,40,60,80',\n\t\t\t\tmany: 'v != 0'\n\t\t\t},\n\t\t\the: {\n\t\t\t\tone: 'i = 1 and v = 0',\n\t\t\t\ttwo: 'i = 2 and v = 0',\n\t\t\t\tmany: 'v = 0 and n != 0..10 and n % 10 = 0'\n\t\t\t},\n\t\t\thi: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\thr: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11',\n\t\t\t\tfew: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14'\n\t\t\t},\n\t\t\thsb: {\n\t\t\t\tone: 'v = 0 and i % 100 = 1 or f % 100 = 1',\n\t\t\t\ttwo: 'v = 0 and i % 100 = 2 or f % 100 = 2',\n\t\t\t\tfew: 'v = 0 and i % 100 = 3..4 or f % 100 = 3..4'\n\t\t\t},\n\t\t\thy: {\n\t\t\t\tone: 'i = 0,1'\n\t\t\t},\n\t\t\tis: {\n\t\t\t\tone: 't = 0 and i % 10 = 1 and i % 100 != 11 or t != 0'\n\t\t\t},\n\t\t\tiu: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tiw: {\n\t\t\t\tone: 'i = 1 and v = 0',\n\t\t\t\ttwo: 'i = 2 and v = 0',\n\t\t\t\tmany: 'v = 0 and n != 0..10 and n % 10 = 0'\n\t\t\t},\n\t\t\tkab: {\n\t\t\t\tone: 'i = 0,1'\n\t\t\t},\n\t\t\tkn: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\tkw: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tlag: {\n\t\t\t\tzero: 'n = 0',\n\t\t\t\tone: 'i = 0,1 and n != 0'\n\t\t\t},\n\t\t\tln: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tlt: {\n\t\t\t\tone: 'n % 10 = 1 and n % 100 != 11..19',\n\t\t\t\tfew: 'n % 10 = 2..9 and n % 100 != 11..19',\n\t\t\t\tmany: 'f != 0'\n\t\t\t},\n\t\t\tlv: {\n\t\t\t\tzero: 'n % 10 = 0 or n % 100 = 11..19 or v = 2 and f % 100 = 11..19',\n\t\t\t\tone: 'n % 10 = 1 and n % 100 != 11 or v = 2 and f % 10 = 1 and f % 100 != 11 or v != 2 and f % 10 = 1'\n\t\t\t},\n\t\t\tmg: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tmk: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1 or f % 10 = 1'\n\t\t\t},\n\t\t\tmo: {\n\t\t\t\tone: 'i = 1 and v = 0',\n\t\t\t\tfew: 'v != 0 or n = 0 or n != 1 and n % 100 = 1..19'\n\t\t\t},\n\t\t\tmr: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\tmt: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\tfew: 'n = 0 or n % 100 = 2..10',\n\t\t\t\tmany: 'n % 100 = 11..19'\n\t\t\t},\n\t\t\tnaq: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tnso: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tpa: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tpl: {\n\t\t\t\tone: 'i = 1 and v = 0',\n\t\t\t\tfew: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14',\n\t\t\t\tmany: 'v = 0 and i != 1 and i % 10 = 0..1 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 12..14'\n\t\t\t},\n\t\t\tprg: {\n\t\t\t\tzero: 'n % 10 = 0 or n % 100 = 11..19 or v = 2 and f % 100 = 11..19',\n\t\t\t\tone: 'n % 10 = 1 and n % 100 != 11 or v = 2 and f % 10 = 1 and f % 100 != 11 or v != 2 and f % 10 = 1'\n\t\t\t},\n\t\t\tpt: {\n\t\t\t\tone: 'i = 0..1'\n\t\t\t},\n\t\t\tro: {\n\t\t\t\tone: 'i = 1 and v = 0',\n\t\t\t\tfew: 'v != 0 or n = 0 or n != 1 and n % 100 = 1..19'\n\t\t\t},\n\t\t\tru: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1 and i % 100 != 11',\n\t\t\t\tfew: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14',\n\t\t\t\tmany: 'v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 11..14'\n\t\t\t},\n\t\t\tse: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tsh: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11',\n\t\t\t\tfew: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14'\n\t\t\t},\n\t\t\tshi: {\n\t\t\t\tone: 'i = 0 or n = 1',\n\t\t\t\tfew: 'n = 2..10'\n\t\t\t},\n\t\t\tsi: {\n\t\t\t\tone: 'n = 0,1 or i = 0 and f = 1'\n\t\t\t},\n\t\t\tsk: {\n\t\t\t\tone: 'i = 1 and v = 0',\n\t\t\t\tfew: 'i = 2..4 and v = 0',\n\t\t\t\tmany: 'v != 0'\n\t\t\t},\n\t\t\tsl: {\n\t\t\t\tone: 'v = 0 and i % 100 = 1',\n\t\t\t\ttwo: 'v = 0 and i % 100 = 2',\n\t\t\t\tfew: 'v = 0 and i % 100 = 3..4 or v != 0'\n\t\t\t},\n\t\t\tsma: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tsmi: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tsmj: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tsmn: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tsms: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tsr: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11',\n\t\t\t\tfew: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14'\n\t\t\t},\n\t\t\tti: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\ttl: {\n\t\t\t\tone: 'v = 0 and i = 1,2,3 or v = 0 and i % 10 != 4,6,9 or v != 0 and f % 10 != 4,6,9'\n\t\t\t},\n\t\t\ttzm: {\n\t\t\t\tone: 'n = 0..1 or n = 11..99'\n\t\t\t},\n\t\t\tuk: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1 and i % 100 != 11',\n\t\t\t\tfew: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14',\n\t\t\t\tmany: 'v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 11..14'\n\t\t\t},\n\t\t\twa: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tzu: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t}\n\t\t},\n\t\t// jscs:enable\n\n\t\t/**\n\t\t * Plural form transformations, needed for some languages.\n\t\t *\n\t\t * @param {integer} count\n\t\t * Non-localized quantifier\n\t\t * @param {Array} forms\n\t\t * List of plural forms\n\t\t * @return {string} Correct form for quantifier in this language\n\t\t */\n\t\tconvertPlural: function ( count, forms ) {\n\t\t\tvar pluralRules,\n\t\t\t\tpluralFormIndex,\n\t\t\t\tindex,\n\t\t\t\texplicitPluralPattern = new RegExp( '\\\\d+=', 'i' ),\n\t\t\t\tformCount,\n\t\t\t\tform;\n\n\t\t\tif ( !forms || forms.length === 0 ) {\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\t// Handle for Explicit 0= & 1= values\n\t\t\tfor ( index = 0; index < forms.length; index++ ) {\n\t\t\t\tform = forms[ index ];\n\t\t\t\tif ( explicitPluralPattern.test( form ) ) {\n\t\t\t\t\tformCount = parseInt( form.slice( 0, form.indexOf( '=' ) ), 10 );\n\t\t\t\t\tif ( formCount === count ) {\n\t\t\t\t\t\treturn ( form.slice( form.indexOf( '=' ) + 1 ) );\n\t\t\t\t\t}\n\t\t\t\t\tforms[ index ] = undefined;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tforms = $.map( forms, function ( form ) {\n\t\t\t\tif ( form !== undefined ) {\n\t\t\t\t\treturn form;\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tpluralRules = this.pluralRules[ $.i18n().locale ];\n\n\t\t\tif ( !pluralRules ) {\n\t\t\t\t// default fallback.\n\t\t\t\treturn ( count === 1 ) ? forms[ 0 ] : forms[ 1 ];\n\t\t\t}\n\n\t\t\tpluralFormIndex = this.getPluralForm( count, pluralRules );\n\t\t\tpluralFormIndex = Math.min( pluralFormIndex, forms.length - 1 );\n\n\t\t\treturn forms[ pluralFormIndex ];\n\t\t},\n\n\t\t/**\n\t\t * For the number, get the plural for index\n\t\t *\n\t\t * @param {integer} number\n\t\t * @param {Object} pluralRules\n\t\t * @return {integer} plural form index\n\t\t */\n\t\tgetPluralForm: function ( number, pluralRules ) {\n\t\t\tvar i,\n\t\t\t\tpluralForms = [ 'zero', 'one', 'two', 'few', 'many', 'other' ],\n\t\t\t\tpluralFormIndex = 0;\n\n\t\t\tfor ( i = 0; i < pluralForms.length; i++ ) {\n\t\t\t\tif ( pluralRules[ pluralForms[ i ] ] ) {\n\t\t\t\t\tif ( pluralRuleParser( pluralRules[ pluralForms[ i ] ], number ) ) {\n\t\t\t\t\t\treturn pluralFormIndex;\n\t\t\t\t\t}\n\n\t\t\t\t\tpluralFormIndex++;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn pluralFormIndex;\n\t\t},\n\n\t\t/**\n\t\t * Converts a number using digitTransformTable.\n\t\t *\n\t\t * @param {number} num Value to be converted\n\t\t * @param {boolean} integer Convert the return value to an integer\n\t\t * @return {string} The number converted into a String.\n\t\t */\n\t\tconvertNumber: function ( num, integer ) {\n\t\t\tvar tmp, item, i,\n\t\t\t\ttransformTable, numberString, convertedNumber;\n\n\t\t\t// Set the target Transform table:\n\t\t\ttransformTable = this.digitTransformTable( $.i18n().locale );\n\t\t\tnumberString = String( num );\n\t\t\tconvertedNumber = '';\n\n\t\t\tif ( !transformTable ) {\n\t\t\t\treturn num;\n\t\t\t}\n\n\t\t\t// Check if the restore to Latin number flag is set:\n\t\t\tif ( integer ) {\n\t\t\t\tif ( parseFloat( num, 10 ) === num ) {\n\t\t\t\t\treturn num;\n\t\t\t\t}\n\n\t\t\t\ttmp = [];\n\n\t\t\t\tfor ( item in transformTable ) {\n\t\t\t\t\ttmp[ transformTable[ item ] ] = item;\n\t\t\t\t}\n\n\t\t\t\ttransformTable = tmp;\n\t\t\t}\n\n\t\t\tfor ( i = 0; i < numberString.length; i++ ) {\n\t\t\t\tif ( transformTable[ numberString[ i ] ] ) {\n\t\t\t\t\tconvertedNumber += transformTable[ numberString[ i ] ];\n\t\t\t\t} else {\n\t\t\t\t\tconvertedNumber += numberString[ i ];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn integer ? parseFloat( convertedNumber, 10 ) : convertedNumber;\n\t\t},\n\n\t\t/**\n\t\t * Grammatical transformations, needed for inflected languages.\n\t\t * Invoked by putting {{grammar:form|word}} in a message.\n\t\t * Override this method for languages that need special grammar rules\n\t\t * applied dynamically.\n\t\t *\n\t\t * @param {string} word\n\t\t * @param {string} form\n\t\t * @return {string}\n\t\t */\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tconvertGrammar: function ( word, form ) {\n\t\t\treturn word;\n\t\t},\n\n\t\t/**\n\t\t * Provides an alternative text depending on specified gender. Usage\n\t\t * {{gender:[gender|user object]|masculine|feminine|neutral}}. If second\n\t\t * or third parameter are not specified, masculine is used.\n\t\t *\n\t\t * These details may be overriden per language.\n\t\t *\n\t\t * @param {string} gender\n\t\t * male, female, or anything else for neutral.\n\t\t * @param {Array} forms\n\t\t * List of gender forms\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tgender: function ( gender, forms ) {\n\t\t\tif ( !forms || forms.length === 0 ) {\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\twhile ( forms.length < 2 ) {\n\t\t\t\tforms.push( forms[ forms.length - 1 ] );\n\t\t\t}\n\n\t\t\tif ( gender === 'male' ) {\n\t\t\t\treturn forms[ 0 ];\n\t\t\t}\n\n\t\t\tif ( gender === 'female' ) {\n\t\t\t\treturn forms[ 1 ];\n\t\t\t}\n\n\t\t\treturn ( forms.length === 3 ) ? forms[ 2 ] : forms[ 0 ];\n\t\t},\n\n\t\t/**\n\t\t * Get the digit transform table for the given language\n\t\t * See http://cldr.unicode.org/translation/numbering-systems\n\t\t *\n\t\t * @param {string} language\n\t\t * @return {Array|boolean} List of digits in the passed language or false\n\t\t * representation, or boolean false if there is no information.\n\t\t */\n\t\tdigitTransformTable: function ( language ) {\n\t\t\tvar tables = {\n\t\t\t\tar: '٠١٢٣٤٥٦٧٨٩',\n\t\t\t\tfa: '۰۱۲۳۴۵۶۷۸۹',\n\t\t\t\tml: '൦൧൨൩൪൫൬൭൮൯',\n\t\t\t\tkn: '೦೧೨೩೪೫೬೭೮೯',\n\t\t\t\tlo: '໐໑໒໓໔໕໖໗໘໙',\n\t\t\t\tor: '୦୧୨୩୪୫୬୭୮୯',\n\t\t\t\tkh: '០១២៣៤៥៦៧៨៩',\n\t\t\t\tpa: '੦੧੨੩੪੫੬੭੮੯',\n\t\t\t\tgu: '૦૧૨૩૪૫૬૭૮૯',\n\t\t\t\thi: '०१२३४५६७८९',\n\t\t\t\tmy: '၀၁၂၃၄၅၆၇၈၉',\n\t\t\t\tta: '௦௧௨௩௪௫௬௭௮௯',\n\t\t\t\tte: '౦౧౨౩౪౫౬౭౮౯',\n\t\t\t\tth: '๐๑๒๓๔๕๖๗๘๙', // FIXME use iso 639 codes\n\t\t\t\tbo: '༠༡༢༣༤༥༦༧༨༩' // FIXME use iso 639 codes\n\t\t\t};\n\n\t\t\tif ( !tables[ language ] ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn tables[ language ].split( '' );\n\t\t}\n\t};\n\n\t$.extend( $.i18n.languages, {\n\t\t'default': language\n\t} );\n}( jQuery ) );\n","/*!\n * jQuery Internationalization library - Message Store\n *\n * Copyright (C) 2012 Santhosh Thottingal\n *\n * jquery.i18n is dual licensed GPLv2 or later and MIT. You don't have to do anything special to\n * choose one license or the other and you don't have to notify anyone which license you are using.\n * You are free to use UniversalLanguageSelector in commercial projects as long as the copyright\n * header is left intact. See files GPL-LICENSE and MIT-LICENSE for details.\n *\n * @licence GNU General Public Licence 2.0 or later\n * @licence MIT License\n */\n\n( function ( $ ) {\n\t'use strict';\n\n\tvar MessageStore = function () {\n\t\tthis.messages = {};\n\t\tthis.sources = {};\n\t};\n\n\tfunction jsonMessageLoader( url ) {\n\t\tvar deferred = $.Deferred();\n\n\t\t$.getJSON( url )\n\t\t\t.done( deferred.resolve )\n\t\t\t.fail( function ( jqxhr, settings, exception ) {\n\t\t\t\t$.i18n.log( 'Error in loading messages from ' + url + ' Exception: ' + exception );\n\t\t\t\t// Ignore 404 exception, because we are handling fallabacks explicitly\n\t\t\t\tdeferred.resolve();\n\t\t\t} );\n\n\t\treturn deferred.promise();\n\t}\n\n\t/**\n\t * See https://github.com/wikimedia/jquery.i18n/wiki/Specification#wiki-Message_File_Loading\n\t */\n\tMessageStore.prototype = {\n\n\t\t/**\n\t\t * General message loading API This can take a URL string for\n\t\t * the json formatted messages.\n\t\t * load('path/to/all_localizations.json');
\n\t\t *\n\t\t * This can also load a localization file for a locale \n\t\t * load( 'path/to/de-messages.json', 'de' );\n\t\t *
\n\t\t * A data object containing message key- message translation mappings\n\t\t * can also be passed Eg:\n\t\t * \n\t\t * load( { 'hello' : 'Hello' }, optionalLocale );\n\t\t *
If the data argument is\n\t\t * null/undefined/false,\n\t\t * all cached messages for the i18n instance will get reset.\n\t\t *\n\t\t * @param {string|Object} source\n\t\t * @param {string} locale Language tag\n\t\t * @return {jQuery.Promise}\n\t\t */\n\t\tload: function ( source, locale ) {\n\t\t\tvar key = null,\n\t\t\t\tdeferred = null,\n\t\t\t\tdeferreds = [],\n\t\t\t\tmessageStore = this;\n\n\t\t\tif ( typeof source === 'string' ) {\n\t\t\t\t// This is a URL to the messages file.\n\t\t\t\t$.i18n.log( 'Loading messages from: ' + source );\n\t\t\t\tdeferred = jsonMessageLoader( source )\n\t\t\t\t\t.done( function ( localization ) {\n\t\t\t\t\t\tmessageStore.set( locale, localization );\n\t\t\t\t\t} );\n\n\t\t\t\treturn deferred.promise();\n\t\t\t}\n\n\t\t\tif ( locale ) {\n\t\t\t\t// source is an key-value pair of messages for given locale\n\t\t\t\tmessageStore.set( locale, source );\n\n\t\t\t\treturn $.Deferred().resolve();\n\t\t\t} else {\n\t\t\t\t// source is a key-value pair of locales and their source\n\t\t\t\tfor ( key in source ) {\n\t\t\t\t\tif ( Object.prototype.hasOwnProperty.call( source, key ) ) {\n\t\t\t\t\t\tlocale = key;\n\t\t\t\t\t\t// No {locale} given, assume data is a group of languages,\n\t\t\t\t\t\t// call this function again for each language.\n\t\t\t\t\t\tdeferreds.push( messageStore.load( source[ key ], locale ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn $.when.apply( $, deferreds );\n\t\t\t}\n\n\t\t},\n\n\t\t/**\n\t\t * Set messages to the given locale.\n\t\t * If locale exists, add messages to the locale.\n\t\t *\n\t\t * @param {string} locale\n\t\t * @param {Object} messages\n\t\t */\n\t\tset: function ( locale, messages ) {\n\t\t\tif ( !this.messages[ locale ] ) {\n\t\t\t\tthis.messages[ locale ] = messages;\n\t\t\t} else {\n\t\t\t\tthis.messages[ locale ] = $.extend( this.messages[ locale ], messages );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t *\n\t\t * @param {string} locale\n\t\t * @param {string} messageKey\n\t\t * @return {boolean}\n\t\t */\n\t\tget: function ( locale, messageKey ) {\n\t\t\treturn this.messages[ locale ] && this.messages[ locale ][ messageKey ];\n\t\t}\n\t};\n\n\t$.extend( $.i18n.messageStore, new MessageStore() );\n}( jQuery ) );\n","/*!\n * jQuery Internationalization library\n *\n * Copyright (C) 2011-2013 Santhosh Thottingal, Neil Kandalgaonkar\n *\n * jquery.i18n is dual licensed GPLv2 or later and MIT. You don't have to do\n * anything special to choose one license or the other and you don't have to\n * notify anyone which license you are using. You are free to use\n * UniversalLanguageSelector in commercial projects as long as the copyright\n * header is left intact. See files GPL-LICENSE and MIT-LICENSE for details.\n *\n * @licence GNU General Public Licence 2.0 or later\n * @licence MIT License\n */\n\n( function ( $ ) {\n\t'use strict';\n\n\tvar MessageParser = function ( options ) {\n\t\tthis.options = $.extend( {}, $.i18n.parser.defaults, options );\n\t\tthis.language = $.i18n.languages[ String.locale ] || $.i18n.languages[ 'default' ];\n\t\tthis.emitter = $.i18n.parser.emitter;\n\t};\n\n\tMessageParser.prototype = {\n\n\t\tconstructor: MessageParser,\n\n\t\tsimpleParse: function ( message, parameters ) {\n\t\t\treturn message.replace( /\\$(\\d+)/g, function ( str, match ) {\n\t\t\t\tvar index = parseInt( match, 10 ) - 1;\n\n\t\t\t\treturn parameters[ index ] !== undefined ? parameters[ index ] : '$' + match;\n\t\t\t} );\n\t\t},\n\n\t\tparse: function ( message, replacements ) {\n\t\t\tif ( message.indexOf( '{{' ) < 0 ) {\n\t\t\t\treturn this.simpleParse( message, replacements );\n\t\t\t}\n\n\t\t\tthis.emitter.language = $.i18n.languages[ $.i18n().locale ] ||\n\t\t\t\t$.i18n.languages[ 'default' ];\n\n\t\t\treturn this.emitter.emit( this.ast( message ), replacements );\n\t\t},\n\n\t\tast: function ( message ) {\n\t\t\tvar pipe, colon, backslash, anyCharacter, dollar, digits, regularLiteral,\n\t\t\t\tregularLiteralWithoutBar, regularLiteralWithoutSpace, escapedOrLiteralWithoutBar,\n\t\t\t\tescapedOrRegularLiteral, templateContents, templateName, openTemplate,\n\t\t\t\tcloseTemplate, expression, paramExpression, result,\n\t\t\t\tpos = 0;\n\n\t\t\t// Try parsers until one works, if none work return null\n\t\t\tfunction choice( parserSyntax ) {\n\t\t\t\treturn function () {\n\t\t\t\t\tvar i, result;\n\n\t\t\t\t\tfor ( i = 0; i < parserSyntax.length; i++ ) {\n\t\t\t\t\t\tresult = parserSyntax[ i ]();\n\n\t\t\t\t\t\tif ( result !== null ) {\n\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn null;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Try several parserSyntax-es in a row.\n\t\t\t// All must succeed; otherwise, return null.\n\t\t\t// This is the only eager one.\n\t\t\tfunction sequence( parserSyntax ) {\n\t\t\t\tvar i, res,\n\t\t\t\t\toriginalPos = pos,\n\t\t\t\t\tresult = [];\n\n\t\t\t\tfor ( i = 0; i < parserSyntax.length; i++ ) {\n\t\t\t\t\tres = parserSyntax[ i ]();\n\n\t\t\t\t\tif ( res === null ) {\n\t\t\t\t\t\tpos = originalPos;\n\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\tresult.push( res );\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\t// Run the same parser over and over until it fails.\n\t\t\t// Must succeed a minimum of n times; otherwise, return null.\n\t\t\tfunction nOrMore( n, p ) {\n\t\t\t\treturn function () {\n\t\t\t\t\tvar originalPos = pos,\n\t\t\t\t\t\tresult = [],\n\t\t\t\t\t\tparsed = p();\n\n\t\t\t\t\twhile ( parsed !== null ) {\n\t\t\t\t\t\tresult.push( parsed );\n\t\t\t\t\t\tparsed = p();\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( result.length < n ) {\n\t\t\t\t\t\tpos = originalPos;\n\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn result;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Helpers -- just make parserSyntax out of simpler JS builtin types\n\n\t\t\tfunction makeStringParser( s ) {\n\t\t\t\tvar len = s.length;\n\n\t\t\t\treturn function () {\n\t\t\t\t\tvar result = null;\n\n\t\t\t\t\tif ( message.slice( pos, pos + len ) === s ) {\n\t\t\t\t\t\tresult = s;\n\t\t\t\t\t\tpos += len;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn result;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tfunction makeRegexParser( regex ) {\n\t\t\t\treturn function () {\n\t\t\t\t\tvar matches = message.slice( pos ).match( regex );\n\n\t\t\t\t\tif ( matches === null ) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\tpos += matches[ 0 ].length;\n\n\t\t\t\t\treturn matches[ 0 ];\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tpipe = makeStringParser( '|' );\n\t\t\tcolon = makeStringParser( ':' );\n\t\t\tbackslash = makeStringParser( '\\\\' );\n\t\t\tanyCharacter = makeRegexParser( /^./ );\n\t\t\tdollar = makeStringParser( '$' );\n\t\t\tdigits = makeRegexParser( /^\\d+/ );\n\t\t\tregularLiteral = makeRegexParser( /^[^{}[\\]$\\\\]/ );\n\t\t\tregularLiteralWithoutBar = makeRegexParser( /^[^{}[\\]$\\\\|]/ );\n\t\t\tregularLiteralWithoutSpace = makeRegexParser( /^[^{}[\\]$\\s]/ );\n\n\t\t\t// There is a general pattern:\n\t\t\t// parse a thing;\n\t\t\t// if it worked, apply transform,\n\t\t\t// otherwise return null.\n\t\t\t// But using this as a combinator seems to cause problems\n\t\t\t// when combined with nOrMore().\n\t\t\t// May be some scoping issue.\n\t\t\tfunction transform( p, fn ) {\n\t\t\t\treturn function () {\n\t\t\t\t\tvar result = p();\n\n\t\t\t\t\treturn result === null ? null : fn( result );\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Used to define \"literals\" within template parameters. The pipe\n\t\t\t// character is the parameter delimeter, so by default\n\t\t\t// it is not a literal in the parameter\n\t\t\tfunction literalWithoutBar() {\n\t\t\t\tvar result = nOrMore( 1, escapedOrLiteralWithoutBar )();\n\n\t\t\t\treturn result === null ? null : result.join( '' );\n\t\t\t}\n\n\t\t\tfunction literal() {\n\t\t\t\tvar result = nOrMore( 1, escapedOrRegularLiteral )();\n\n\t\t\t\treturn result === null ? null : result.join( '' );\n\t\t\t}\n\n\t\t\tfunction escapedLiteral() {\n\t\t\t\tvar result = sequence( [ backslash, anyCharacter ] );\n\n\t\t\t\treturn result === null ? null : result[ 1 ];\n\t\t\t}\n\n\t\t\tchoice( [ escapedLiteral, regularLiteralWithoutSpace ] );\n\t\t\tescapedOrLiteralWithoutBar = choice( [ escapedLiteral, regularLiteralWithoutBar ] );\n\t\t\tescapedOrRegularLiteral = choice( [ escapedLiteral, regularLiteral ] );\n\n\t\t\tfunction replacement() {\n\t\t\t\tvar result = sequence( [ dollar, digits ] );\n\n\t\t\t\tif ( result === null ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn [ 'REPLACE', parseInt( result[ 1 ], 10 ) - 1 ];\n\t\t\t}\n\n\t\t\ttemplateName = transform(\n\t\t\t\t// see $wgLegalTitleChars\n\t\t\t\t// not allowing : due to the need to catch \"PLURAL:$1\"\n\t\t\t\tmakeRegexParser( /^[ !\"$&'()*,./0-9;=?@A-Z^_`a-z~\\x80-\\xFF+-]+/ ),\n\n\t\t\t\tfunction ( result ) {\n\t\t\t\t\treturn result.toString();\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tfunction templateParam() {\n\t\t\t\tvar expr,\n\t\t\t\t\tresult = sequence( [ pipe, nOrMore( 0, paramExpression ) ] );\n\n\t\t\t\tif ( result === null ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\texpr = result[ 1 ];\n\n\t\t\t\t// use a \"CONCAT\" operator if there are multiple nodes,\n\t\t\t\t// otherwise return the first node, raw.\n\t\t\t\treturn expr.length > 1 ? [ 'CONCAT' ].concat( expr ) : expr[ 0 ];\n\t\t\t}\n\n\t\t\tfunction templateWithReplacement() {\n\t\t\t\tvar result = sequence( [ templateName, colon, replacement ] );\n\n\t\t\t\treturn result === null ? null : [ result[ 0 ], result[ 2 ] ];\n\t\t\t}\n\n\t\t\tfunction templateWithOutReplacement() {\n\t\t\t\tvar result = sequence( [ templateName, colon, paramExpression ] );\n\n\t\t\t\treturn result === null ? null : [ result[ 0 ], result[ 2 ] ];\n\t\t\t}\n\n\t\t\ttemplateContents = choice( [\n\t\t\t\tfunction () {\n\t\t\t\t\tvar res = sequence( [\n\t\t\t\t\t\t// templates can have placeholders for dynamic\n\t\t\t\t\t\t// replacement eg: {{PLURAL:$1|one car|$1 cars}}\n\t\t\t\t\t\t// or no placeholders eg:\n\t\t\t\t\t\t// {{GRAMMAR:genitive|{{SITENAME}}}\n\t\t\t\t\t\tchoice( [ templateWithReplacement, templateWithOutReplacement ] ),\n\t\t\t\t\t\tnOrMore( 0, templateParam )\n\t\t\t\t\t] );\n\n\t\t\t\t\treturn res === null ? null : res[ 0 ].concat( res[ 1 ] );\n\t\t\t\t},\n\t\t\t\tfunction () {\n\t\t\t\t\tvar res = sequence( [ templateName, nOrMore( 0, templateParam ) ] );\n\n\t\t\t\t\tif ( res === null ) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn [ res[ 0 ] ].concat( res[ 1 ] );\n\t\t\t\t}\n\t\t\t] );\n\n\t\t\topenTemplate = makeStringParser( '{{' );\n\t\t\tcloseTemplate = makeStringParser( '}}' );\n\n\t\t\tfunction template() {\n\t\t\t\tvar result = sequence( [ openTemplate, templateContents, closeTemplate ] );\n\n\t\t\t\treturn result === null ? null : result[ 1 ];\n\t\t\t}\n\n\t\t\texpression = choice( [ template, replacement, literal ] );\n\t\t\tparamExpression = choice( [ template, replacement, literalWithoutBar ] );\n\n\t\t\tfunction start() {\n\t\t\t\tvar result = nOrMore( 0, expression )();\n\n\t\t\t\tif ( result === null ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn [ 'CONCAT' ].concat( result );\n\t\t\t}\n\n\t\t\tresult = start();\n\n\t\t\t/*\n\t\t\t * For success, the pos must have gotten to the end of the input\n\t\t\t * and returned a non-null.\n\t\t\t * n.b. This is part of language infrastructure, so we do not throw an\n\t\t\t * internationalizable message.\n\t\t\t */\n\t\t\tif ( result === null || pos !== message.length ) {\n\t\t\t\tthrow new Error( 'Parse error at position ' + pos.toString() + ' in input: ' + message );\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}\n\n\t};\n\n\t$.extend( $.i18n.parser, new MessageParser() );\n}( jQuery ) );","var codeExercises;\nvar presenterCssLink;\nvar presentModeInitialized = false;\n\nfunction presentToggle() {\n if (!presentModeInitialized) {\n presentModeSetup();\n presentModeInitialized = true;\n }\n let bod = $(\"body\");\n let presentClass = \"present\";\n let fullHeightClass = \"full-height\";\n let bottomClass = \"bottom\";\n if (bod.hasClass(presentClass)) {\n $(\".section *\")\n .not(\n \"h1, .presentation-title, .btn-presenter, .runestone, .runestone *, .section, .pre, code\"\n )\n .removeClass(\"hidden\"); //show everything\n $(\"#completionButton\").removeClass(\"hidden\");\n bod.removeClass(presentClass);\n $(\".\" + fullHeightClass).removeClass(fullHeightClass);\n $(\".\" + bottomClass).removeClass(bottomClass);\n localStorage.setItem(\"presentMode\", \"text\");\n codeExercises.removeClass(\"hidden\");\n presenterCssLink.disabled = true; // disable present_mode.css\n } else {\n $(\".section *\")\n .not(\n \"h1, .presentation-title, .btn-presenter, .runestone, .runestone *, .section, .pre, code\"\n )\n .addClass(\"hidden\"); // hide extraneous stuff\n $(\"#completionButton\").addClass(\"hidden\");\n bod.addClass(presentClass);\n bod.addClass(fullHeightClass);\n $(\"html\").addClass(fullHeightClass);\n $(\".section .runestone\").addClass(fullHeightClass);\n $(\".ac-caption\").addClass(bottomClass);\n localStorage.setItem(\"presentMode\", presentClass);\n loadPresenterCss(); // present_mode.css should only apply when in presenter mode.\n activateExercise();\n }\n}\n\nfunction loadPresenterCss() {\n presenterCssLink = document.createElement(\"link\");\n presenterCssLink.type = \"text/css\";\n presenterCssLink.href = \"../_static/presenter_mode.css\";\n presenterCssLink.rel = \"stylesheet\";\n document.getElementsByTagName(\"head\")[0].appendChild(presenterCssLink);\n}\n\nfunction presentModeSetup() {\n // moved this out of configure\n let dataComponent = $(\"[data-childcomponent]\");\n\n // this still leaves some things semi-messed up when you exit presenter mode.\n // but instructors will probably just learn to refresh the page.\n dataComponent.addClass(\"runestone\");\n dataComponent.parent().closest(\"div\").not(\".section\").addClass(\"runestone\");\n dataComponent.parent().closest(\"div\").css(\"max-width\", \"none\");\n\n dataComponent.each(function (index) {\n let me = $(this);\n $(this)\n .find(\".ac_code_div, .ac_output\")\n .wrapAll(\"\");\n });\n\n codelensListener(500);\n $(\".section img\").wrap('
\").text($(this).text());\n });\n }});\n });\n}(window.jQuery));\n","/*global variable declarations*/\n\n\"use strict\";\n\nimport \"../css/user-highlights.css\";\n\nfunction getCompletions() {\n // Get the completion status\n if (\n window.location.href.match(\n /(index.html|toctree.html|genindex.html|navhelp.html|toc.html|assignments.html|Exercises.html)/\n )\n ) {\n return;\n }\n\n var currentPathname = window.location.pathname;\n if (currentPathname.indexOf(\"?\") !== -1) {\n currentPathname = currentPathname.substring(\n 0,\n currentPathname.lastIndexOf(\"?\")\n );\n }\n var data = { lastPageUrl: currentPathname };\n jQuery\n .ajax({\n url: `${eBookConfig.new_server_prefix}/logger/getCompletionStatus`,\n data: data,\n async: false,\n })\n .done(function (data) {\n if (data != \"None\") {\n var completionData = data.detail;\n var completionClass, completionMsg;\n if (completionData[0].completionStatus == 1) {\n completionClass = \"buttonConfirmCompletion\";\n completionMsg =\n \" Completed. Well Done!\";\n } else {\n completionClass = \"buttonAskCompletion\";\n completionMsg = \"Mark as Completed\";\n }\n $(\"#main-content\").append(\n '\"\n );\n }\n });\n}\n\nfunction showLastPositionBanner() {\n var lastPositionVal = $.getUrlVar(\"lastPosition\");\n if (typeof lastPositionVal !== \"undefined\") {\n $(\"body\").append(\n '